初始化仓库
This commit is contained in:
@@ -0,0 +1,921 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-card class="topCard">
|
||||
<div class="topDiv">
|
||||
<span style="margin-left: 10px">工位号:</span>
|
||||
<el-select v-model="stationNumberValue" placeholder="工位号" clearable size="small" style="width: 200px">
|
||||
<el-option
|
||||
v-for="item in stationNumber"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
size="mini"/>
|
||||
</el-select>
|
||||
<span style="margin-left: 10px">产品图号:</span>
|
||||
<el-select v-model="engineTypeValue" placeholder="请选择产品图号" size="small" style="width: 250px" @change="searchOrder()">
|
||||
<el-option
|
||||
v-for="item in engineType"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
size="mini"/>
|
||||
</el-select>
|
||||
<el-button type="primary" plain size="small" icon="el-icon-search" style="margin-left: 10px" @click="searchOrder()">查询物料</el-button>
|
||||
<el-button type="distribution" size="small" icon="el-icon-circle-plus" @click="creatOrder('form')">创建物料</el-button>
|
||||
<!-- <el-button type="success" size="small" plain icon="el-icon-document-copy" @click="copyOrder('form4')">复制物料</el-button>-->
|
||||
<!-- <el-button type="info" plain size="small" icon="el-icon-upload2" @click="importOrder('form')">物料导入</el-button>-->
|
||||
<!-- <el-button type="info" plain size="small" icon="el-icon-download" @click="exportExcel()">物料导出</el-button>-->
|
||||
</div>
|
||||
<el-table
|
||||
v-loading="loading"
|
||||
ref="multipleTable"
|
||||
:data="tableData"
|
||||
:header-cell-style="{background:'#eef1f6',color:'#606266'}"
|
||||
height="600px"
|
||||
class="main"
|
||||
tooltip-effect="dark"
|
||||
style="width: 80%"
|
||||
border
|
||||
size="mini">
|
||||
<el-table-column type="index" width="60" label="序号" align="center"/>
|
||||
<!-- <el-table-column align="center" label="物料号">-->
|
||||
<!-- <template slot-scope="scope">-->
|
||||
<!-- {{ scope.row.物料号 }}-->
|
||||
<!-- </template>-->
|
||||
<!-- </el-table-column>-->
|
||||
<el-table-column align="center" label="工位号">
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.工位号 }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="产品图号">
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.发动机型号 }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="物料号">
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.物料号 }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="零件名称" min-width="120px">
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.零件名称 }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<!-- <el-table-column align="center" label="零件数量">-->
|
||||
<!-- <template slot-scope="scope">-->
|
||||
<!-- {{ scope.row.零件数量 }}-->
|
||||
<!-- </template>-->
|
||||
<!-- </el-table-column>-->
|
||||
<el-table-column align="center" label="是否验证">
|
||||
<template slot-scope="scope">
|
||||
<el-tag v-if="Number(scope.row.是否验证) === 1" size="mini" type="success">是</el-tag>
|
||||
<el-tag v-if="Number(scope.row.是否验证) === 0" size="mini" type="warning">否</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<!-- <el-table-column align="center" label="是否主物料">-->
|
||||
<!-- <template slot-scope="scope">-->
|
||||
<!-- <span v-if="Number(scope.row.是否主物料) === 1">是</span>-->
|
||||
<!-- <span v-if="Number(scope.row.是否主物料) === 0">否</span>-->
|
||||
<!-- </template>-->
|
||||
<!-- </el-table-column>-->
|
||||
<el-table-column align="center" label="操作" width="150">
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-edit"
|
||||
@click="handleEdit(scope.row)">修改</el-button>
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-delete"
|
||||
style="color:#ff0000;"
|
||||
@click="deleteOrder(scope.row)">删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</el-card>
|
||||
<el-dialog :visible.sync="dialogFormVisible" title="创建物料" center style="min-height: 200px;" width="400px">
|
||||
<el-form ref="form" :model="form" :rules="rules" label-position="right" label-width="110px">
|
||||
<el-form-item label="工位号" prop="stationNumberValue" style="display: inline-block">
|
||||
<el-select v-model="form.stationNumberValue" size="small" placeholder="请选择工位号">
|
||||
<el-option
|
||||
v-for="item in stationNumber"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="产品型号" prop="engineTypeValue" style="display: inline-block">
|
||||
<el-select v-model="form.engineTypeValue" size="small" placeholder="请选择产品型号">
|
||||
<el-option
|
||||
v-for="item in engineType"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<!-- <el-form-item label="物料号" prop="orderNumber" style="display: inline-block">-->
|
||||
<!-- <el-input-->
|
||||
<!-- v-model="form.orderNumber"-->
|
||||
<!-- clearable-->
|
||||
<!-- size="small"-->
|
||||
<!-- placeholder="请输入物料号"/>-->
|
||||
<!-- </el-form-item>-->
|
||||
<el-form-item label="零件图号" prop="partDrawing" style="display: inline-block">
|
||||
<el-input
|
||||
v-model="form.partDrawing"
|
||||
clearable
|
||||
size="small"
|
||||
placeholder="请输入零件图号"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="零件名称" prop="partName" style="display: inline-block">
|
||||
<el-input
|
||||
v-model="form.partName"
|
||||
clearable
|
||||
size="small"
|
||||
placeholder="零件名称"/>
|
||||
</el-form-item>
|
||||
<!-- <el-form-item label="数量" prop="number" style="display: inline-block">-->
|
||||
<!-- <el-input-->
|
||||
<!-- v-model="form.number"-->
|
||||
<!-- clearable-->
|
||||
<!-- size="small"-->
|
||||
<!-- placeholder="请输入数量"/>-->
|
||||
<!-- </el-form-item>-->
|
||||
<!-- <el-form-item label="生产厂家" prop="manufactor" style="display: inline-block">-->
|
||||
<!-- <el-input-->
|
||||
<!-- v-model="form.manufactor"-->
|
||||
<!-- clearable-->
|
||||
<!-- size="small"-->
|
||||
<!-- placeholder="请输入生产厂家"/>-->
|
||||
<!-- </el-form-item>-->
|
||||
<!--<el-form-item label="是否验证" prop="verificationValue" style="display: inline-block">-->
|
||||
<!-- <el-select v-model="form.verificationValue" size="small" placeholder="请选择产品型号">-->
|
||||
<!-- <el-option-->
|
||||
<!-- v-for="item in verification"-->
|
||||
<!-- :key="item.value"-->
|
||||
<!-- :label="item.label"-->
|
||||
<!-- :value="item.value"/>-->
|
||||
<!-- </el-select>-->
|
||||
<!--</el-form-item>-->;
|
||||
<!-- <el-form-item label="是否主物料" prop="mainMaterialValue" style="display: inline-block">-->
|
||||
<!-- <el-select v-model="form.mainMaterialValue" size="small" placeholder="请选择产品型号">-->
|
||||
<!-- <el-option-->
|
||||
<!-- v-for="item in mainMaterial"-->
|
||||
<!-- :key="item.value"-->
|
||||
<!-- :label="item.label"-->
|
||||
<!-- :value="item.value"/>-->
|
||||
<!-- </el-select>-->
|
||||
<!-- </el-form-item>-->
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button size="small" @click="callOff('form')">取消</el-button>
|
||||
<el-button type="primary" size="small" @click="submitAdd('form')">确定</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
<el-dialog :visible.sync="dialogFormVisible1" title="编辑物料" center style="min-height: 200px" width="400px">
|
||||
<el-form ref="form1" :model="form1" :rules="rules1" label-position="right" label-width="110px">
|
||||
<el-form-item label="工位号" prop="stationNumberValue" style="display: inline-block">
|
||||
<el-input
|
||||
v-model="form1.stationNumberValue"
|
||||
readonly
|
||||
size="small"
|
||||
placeholder="工位号"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="零件图号" prop="partDrawing" style="display: inline-block">
|
||||
<el-input
|
||||
v-model="form1.partDrawing"
|
||||
readonly
|
||||
size="small"
|
||||
placeholder="请输入零件图号"/>
|
||||
</el-form-item>
|
||||
<!-- <el-form-item label="物料号" prop="orderNumber" style="display: inline-block">-->
|
||||
<!-- <el-input-->
|
||||
<!-- v-model="form1.orderNumber"-->
|
||||
<!-- clearable-->
|
||||
<!-- size="small"-->
|
||||
<!-- placeholder="请输入物料号"/>-->
|
||||
<!-- </el-form-item>-->
|
||||
<el-form-item label="零件名称" prop="partName" style="display: inline-block">
|
||||
<el-input
|
||||
v-model="form1.partName"
|
||||
clearable
|
||||
size="small"
|
||||
placeholder="零件名称"/>
|
||||
</el-form-item>
|
||||
<!-- <el-form-item label="数量" prop="number" style="display: inline-block">-->
|
||||
<!-- <el-input-->
|
||||
<!-- v-model="form1.number"-->
|
||||
<!-- clearable-->
|
||||
<!-- size="small"-->
|
||||
<!-- placeholder="请输入数量"/>-->
|
||||
<!-- </el-form-item>-->
|
||||
<!-- <el-form-item label="生产厂家" prop="manufactor" style="display: inline-block">-->
|
||||
<!-- <el-input-->
|
||||
<!-- v-model="form1.manufactor"-->
|
||||
<!-- clearable-->
|
||||
<!-- size="small"-->
|
||||
<!-- placeholder="请输入生产厂家"/>-->
|
||||
<!-- </el-form-item>-->
|
||||
<el-form-item label="是否验证" prop="verificationValue" style="display: inline-block">
|
||||
<el-select v-model="form1.verificationValue" size="small" placeholder="请选择产品型号">
|
||||
<el-option
|
||||
v-for="item in verification"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<!-- <el-form-item label="是否主物料" prop="mainMaterialValue" style="display: inline-block">-->
|
||||
<!-- <el-select v-model="form1.mainMaterialValue" size="small" placeholder="请选择产品型号">-->
|
||||
<!-- <el-option-->
|
||||
<!-- v-for="item in mainMaterial"-->
|
||||
<!-- :key="item.value"-->
|
||||
<!-- :label="item.label"-->
|
||||
<!-- :value="item.value"/>-->
|
||||
<!-- </el-select>-->
|
||||
<!-- </el-form-item>-->
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button size="small" @click="callOff1()">取消</el-button>
|
||||
<el-button type="primary" size="small" @click="submitAdd1()">确定</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
<el-dialog :visible.sync="dialogFormVisible3" title="物料导入" center style="min-height: 200px" width="900px">
|
||||
<div class="app-container">
|
||||
<upload-excel-component style="margin-left: 15%" @on-selected-file="selected"/>
|
||||
<div style="margin-left: 395px">
|
||||
<span v-show="worksheet.length > 1" style="cursor: pointer;width: 50px;" @click="removeAll"><i class="el-icon-close"/></span>
|
||||
<el-upload :on-remove="handleRemove" :file-list="itemFile" style="width: 220px" action=""/>
|
||||
</div>
|
||||
<div v-if="worksheet.length !== 0" style="margin: 3px 0 0 395px">
|
||||
<el-button icon="el-icon-upload2" type="primary" size="small" @click="basicPartsToSQL">导入到数据库</el-button>
|
||||
</div>
|
||||
</div>
|
||||
</el-dialog>
|
||||
<el-dialog :visible.sync="dialogFormVisible4" title="数据复制" center style="min-height: 200px" width="400px">
|
||||
<el-form ref="form1" :model="form4" :rules="rules4" label-position="right" label-width="110px">
|
||||
<el-form-item label="产品型号" prop="engineTypeValue" style="display: inline-block">
|
||||
<el-select v-model="form4.engineTypeValue" placeholder="请选择产品型号" size="small">
|
||||
<el-option
|
||||
v-for="item in engineType"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
size="mini"/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button size="small" @click="callOff4()">取消</el-button>
|
||||
<el-button type="primary" size="small" @click="submitAdd4()">确定</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import UploadExcelComponent from './UploadExcel.vue'
|
||||
import { sleep } from '../../../utils/tool'
|
||||
|
||||
export default {
|
||||
name: 'UploadExcel',
|
||||
components: { UploadExcelComponent },
|
||||
data() {
|
||||
return {
|
||||
stationNumber: [],
|
||||
stationNumberValue: '',
|
||||
stationName: '',
|
||||
worksheet: [],
|
||||
itemFile: [],
|
||||
unSpecification: [],
|
||||
method1: '', // 机床1加工方式
|
||||
method2: '', // 机床2加工方式
|
||||
method1Explain: '', // 机床1加工方式说明
|
||||
method2Explain: '', // 机床2加工方式说明
|
||||
stockQuantity: '', // 库存数量
|
||||
stockNum: '', // 库位号
|
||||
dialogFormVisible4: false,
|
||||
explain: false,
|
||||
orderNumber: [],
|
||||
orderNumberValue: '',
|
||||
engineTypeValue: '',
|
||||
engineType: [],
|
||||
OKWarehouseValue: '',
|
||||
OKWarehouse: [],
|
||||
NGWarehouseValue: '',
|
||||
NGWarehouse: [],
|
||||
verification: [
|
||||
{
|
||||
label: '否',
|
||||
value: 0
|
||||
}, {
|
||||
label: '是',
|
||||
value: 1
|
||||
}
|
||||
],
|
||||
mainMaterial: [
|
||||
{
|
||||
label: '否',
|
||||
value: 0
|
||||
}, {
|
||||
label: '是',
|
||||
value: 1
|
||||
}
|
||||
],
|
||||
form: { // 创建订单
|
||||
partName: '',
|
||||
stationNumberValue: '',
|
||||
orderNumber: '',
|
||||
engineTypeValue: '',
|
||||
partDrawing: '',
|
||||
number: '',
|
||||
manufactor: '',
|
||||
verificationValue: 0,
|
||||
mainMaterialValue: 0
|
||||
},
|
||||
rules: { // 创建订单验证
|
||||
partName: [{ required: true, message: '请输入零件名称', trigger: 'blur' }],
|
||||
stationNumberValue: [{ required: true, message: '请选择工位号', trigger: 'change' }],
|
||||
// orderNumber: [{ required: true, message: '请输入物料号', trigger: 'blur' }],
|
||||
engineTypeValue: [{ required: true, message: '请选择机型', trigger: 'blur' }],
|
||||
partDrawing: [{ required: true, message: '请输入零件图号', trigger: 'blur' }],
|
||||
// number: [{ required: true, message: '请输入数量', trigger: 'blur' }],
|
||||
// manufactor: [{ required: true, message: '请输入生产厂家', trigger: 'blur' }],
|
||||
verificationValue: [{ required: true, message: '请选择是否验证', trigger: 'change' }]
|
||||
// mainMaterialValue: [{ required: true, message: '请选择是否主物料', trigger: 'change' }]
|
||||
},
|
||||
form1: { // 修改订单
|
||||
partName: '',
|
||||
stationNumberValue: '',
|
||||
orderNumber: '',
|
||||
partDrawing: '',
|
||||
number: '',
|
||||
manufactor: '',
|
||||
verificationValue: 0,
|
||||
mainMaterialValue: 0,
|
||||
ID: ''
|
||||
},
|
||||
rules1: { // 修改订单验证
|
||||
partName: [{ required: true, message: '请输入零件名称', trigger: 'blur' }],
|
||||
// orderNumber: [{ required: true, message: '请输入物料号', trigger: 'blur' }],
|
||||
// partDrawing: [{ required: true, message: '请输入零件图号', trigger: 'blur' }],
|
||||
// number: [{ required: true, message: '请输入数量', trigger: 'blur' }],
|
||||
// manufactor: [{ required: true, message: '请输入生产厂家', trigger: 'blur' }],
|
||||
verificationValue: [{ required: true, message: '请选择是否验证', trigger: 'change' }]
|
||||
// stationNumberValue: [{ required: true, message: '请选择工位号', trigger: 'change' }]
|
||||
// mainMaterialValue: [{ required: true, message: '请选择是否主物料', trigger: 'change' }]
|
||||
},
|
||||
form2: { // 订单下发
|
||||
planQuantity: '',
|
||||
orderNumber: '',
|
||||
engineTypeValue: '',
|
||||
MID: '',
|
||||
IssuedQuantity: 1
|
||||
},
|
||||
form4: {
|
||||
engineTypeValue: ''
|
||||
},
|
||||
rules4: { // 订单下发验证
|
||||
engineTypeValue: [{ required: true, message: '请选择机型', trigger: 'blur' }]
|
||||
},
|
||||
// planTime: [new Date(new Date().getTime() - 3600 * 1000 * 24 * 3000), new Date(new Date().getTime())],
|
||||
planTime: [],
|
||||
tableData: [],
|
||||
importData: [],
|
||||
dialogFormVisible: false, // 创建订单
|
||||
dialogFormVisible1: false, // 修改订单
|
||||
dialogFormVisible3: false, // 订单导入
|
||||
states: '', // 当前库存状态
|
||||
MIDGroup: [],
|
||||
total: 0, // 总条数
|
||||
pageList: 30, // 每页显示条数
|
||||
pageSize: 30, // 每页显示条数
|
||||
pageCurrent: 1, // 后台获取页
|
||||
loading: false
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
},
|
||||
created() {
|
||||
this.getStationNumber()
|
||||
this.getEndStation()
|
||||
},
|
||||
methods: {
|
||||
removeAll() {
|
||||
this.worksheet = []
|
||||
this.itemFile = []
|
||||
},
|
||||
async selected(data) { // 选择需要导入的文件
|
||||
console.log(data, 1111)
|
||||
this.worksheet = data.worksheet // 获取每个多选文件的表格坐标及值
|
||||
this.itemFile = data.itemFile
|
||||
},
|
||||
handleRemove(file) { // 移除文件
|
||||
for (let i = 0; i < this.itemFile.length; i++) {
|
||||
if (this.itemFile[i].name === file.name) {
|
||||
this.worksheet.splice(i, 1)
|
||||
this.itemFile.splice(i, 1)
|
||||
}
|
||||
}
|
||||
},
|
||||
/* 验证内容是否英文数字以及下划线*/
|
||||
// isPassword(rule, value, callback) {
|
||||
// const reg = /^[_a-zA-Z0-9]+$/
|
||||
// if (value === '' || value === undefined || value == null) {
|
||||
// callback()
|
||||
// } else {
|
||||
// if (!reg.test(value) || value.length !== 7) {
|
||||
// callback(new Error('订单仅由数字和字母组成,且只能位7位'))
|
||||
// } else {
|
||||
// callback()
|
||||
// }
|
||||
// }
|
||||
// },
|
||||
// 初始化获取产品型号
|
||||
getEndStation() {
|
||||
this.engineType = []
|
||||
var param = []
|
||||
var Data = this.CreateData('11', 'MES_基本变量_机型代码_查询', param)
|
||||
this.ExecDatabase(Data).then(response => {
|
||||
for (let i = 0; i < response.data.length; i++) {
|
||||
if (response.data.length) this.engineTypeValue = response.data[0].发动机机型标志
|
||||
this.engineType.push({
|
||||
label: response.data[i].发动机型号 + '-' + response.data[i].标识字符,
|
||||
value: response.data[i].发动机机型标志
|
||||
})
|
||||
}
|
||||
}).then(() => {
|
||||
this.searchOrder()
|
||||
})
|
||||
},
|
||||
// 初始化获取订单号
|
||||
getStationNumber() {
|
||||
this.stationNumber = []
|
||||
var param = []
|
||||
var Data = this.CreateData('11', 'MES_计划BOM_工位与名称_查询', param)
|
||||
this.ExecDatabase(Data).then(response => {
|
||||
for (let i = 0; i < response.data.length; i++) {
|
||||
this.stationNumber.push({
|
||||
label: `【${response.data[i].工位号}】${response.data[i].工位名称}`,
|
||||
value: response.data[i].工位号
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
// 查询订单
|
||||
searchOrder() {
|
||||
this.tableData = []
|
||||
var param = []
|
||||
param[0] = ['工位号', this.stationNumberValue]
|
||||
param[1] = ['产品型号代码', this.engineTypeValue]
|
||||
var Data = this.CreateData('11', '电子看板_装配零件_查询', param)
|
||||
this.ExecDatabase(Data).then(response => {
|
||||
if (response.data.length !== 0) {
|
||||
this.tableData = response.data
|
||||
}
|
||||
})
|
||||
},
|
||||
// 创建订单
|
||||
creatOrder(formName) {
|
||||
if (this.$refs[formName] !== undefined) {
|
||||
this.$refs[formName].resetFields()
|
||||
}
|
||||
this.form.partName = ''
|
||||
this.form.stationNumberValue = ''
|
||||
this.form.orderNumber = ''
|
||||
this.form.engineTypeValue = ''
|
||||
this.form.partDrawing = ''
|
||||
this.form.number = ''
|
||||
this.form.manufactor = ''
|
||||
this.form.verificationValue = 0
|
||||
this.form.mainMaterialValue = 0
|
||||
this.dialogFormVisible = true
|
||||
},
|
||||
// 提交新增订单
|
||||
submitAdd(formName) {
|
||||
this.$refs[formName].validate((valid) => {
|
||||
if (valid) {
|
||||
var param = []
|
||||
param[0] = ['工位号', this.form.stationNumberValue]
|
||||
param[1] = ['发动机型号', this.form.engineTypeValue]
|
||||
param[2] = ['物料号', this.form.partDrawing]
|
||||
param[3] = ['零件名称', this.form.partName]
|
||||
param[4] = ['零件图号', this.form.partDrawing]
|
||||
param[5] = ['生产厂家', this.form.manufactor]
|
||||
param[6] = ['是否验证', this.form.verificationValue]
|
||||
param[7] = ['是否主物料', this.form.mainMaterialValue]
|
||||
param[8] = ['零件数量', this.form.number]
|
||||
var Data = this.CreateData('11', '电子看板_装配零件_SPC_增加', param)
|
||||
this.ExecDatabase(Data).then(response => {
|
||||
if (response.data[0]['result'] === '1') {
|
||||
this.$message({
|
||||
message: response.data[0]['msg'],
|
||||
type: 'success'
|
||||
})
|
||||
this.searchOrder()
|
||||
} else {
|
||||
this.$message.error(response.data[0]['msg'])
|
||||
}
|
||||
})
|
||||
} else {
|
||||
return false
|
||||
}
|
||||
})
|
||||
},
|
||||
// 取消新增订单
|
||||
callOff(formName) {
|
||||
this.dialogFormVisible = false
|
||||
this.$refs[formName].resetFields()
|
||||
},
|
||||
copyOrder(formName) {
|
||||
if (this.tableData.length) {
|
||||
if (this.$refs[formName] !== undefined) {
|
||||
this.$refs[formName].resetFields()
|
||||
}
|
||||
this.dialogFormVisible4 = true
|
||||
} else {
|
||||
this.$message({
|
||||
message: '暂无可复制的数据!',
|
||||
type: 'error'
|
||||
})
|
||||
}
|
||||
},
|
||||
callOff4() {
|
||||
this.dialogFormVisible4 = false
|
||||
},
|
||||
async submitAdd4() {
|
||||
let stationNumberValue, orderNumber, partName, partDrawing, manufactor, verificationValue, mainMaterialValue, number
|
||||
for (let i = 0; i < this.tableData.length; i++) {
|
||||
stationNumberValue = this.tableData[i].工位号
|
||||
orderNumber = this.tableData[i].物料号
|
||||
partName = this.tableData[i].零件名称
|
||||
partDrawing = this.tableData[i].零件图号
|
||||
manufactor = this.tableData[i].生产厂家
|
||||
verificationValue = this.tableData[i].是否验证
|
||||
mainMaterialValue = this.tableData[i].是否主物料
|
||||
number = this.tableData[i].零件数量
|
||||
await this.submitAdd5(stationNumberValue, orderNumber, partName, partDrawing, manufactor, verificationValue, mainMaterialValue, number)
|
||||
}
|
||||
this.$message({
|
||||
message: '增加成功',
|
||||
type: 'success'
|
||||
})
|
||||
this.dialogFormVisible4 = false
|
||||
this.engineTypeValue = this.form4.engineTypeValue
|
||||
this.searchOrder()
|
||||
},
|
||||
async submitAdd5(stationNumberValue, orderNumber, partName, partDrawing, manufactor, verificationValue, mainMaterialValue, number) {
|
||||
var param = []
|
||||
param[0] = ['工位号', stationNumberValue]
|
||||
param[1] = ['发动机型号', this.form4.engineTypeValue]
|
||||
param[2] = ['物料号', orderNumber]
|
||||
param[3] = ['零件名称', partName]
|
||||
param[4] = ['零件图号', partDrawing]
|
||||
param[5] = ['生产厂家', manufactor]
|
||||
param[6] = ['是否验证', verificationValue]
|
||||
param[7] = ['是否主物料', mainMaterialValue]
|
||||
param[8] = ['零件数量', number]
|
||||
var Data = this.CreateData('12', '电子看板_装配零件_SPC_增加', param)
|
||||
return new Promise((resolve, reject) => {
|
||||
this.ExecDatabase(Data).then(response => {
|
||||
if (response.data[0].result === '1') {
|
||||
console.log('1')
|
||||
resolve(1)
|
||||
} else {
|
||||
console.log('0')
|
||||
reject(2)
|
||||
}
|
||||
})
|
||||
})
|
||||
},
|
||||
// 导入订单
|
||||
importOrder() {
|
||||
this.dialogFormVisible3 = true
|
||||
},
|
||||
// 删除订单
|
||||
deleteOrder(row) {
|
||||
this.$confirm('此操作将永久删除该行, 是否继续?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
var param = []
|
||||
param[0] = ['ID', row.id]
|
||||
var Data = this.CreateData('12', '电子看板_装配零件_SPC_删除', param)
|
||||
this.ExecDatabase(Data).then(response => {
|
||||
if (response.data[0].result === '1') {
|
||||
this.$message.success('删除成功')
|
||||
this.searchOrder()
|
||||
} else {
|
||||
this.$message.error('删除失败')
|
||||
}
|
||||
})
|
||||
}).catch(() => {
|
||||
this.$message({
|
||||
type: 'info',
|
||||
message: '已取消删除'
|
||||
})
|
||||
})
|
||||
},
|
||||
// 修改订单
|
||||
handleEdit(row) {
|
||||
if (this.$refs['form1'] !== undefined) {
|
||||
this.$refs['form1'].resetFields()
|
||||
}
|
||||
this.form1.partName = row.零件名称
|
||||
this.form1.stationNumberValue = row.工位号
|
||||
// this.form1.orderNumber = row.物料号
|
||||
this.form1.partDrawing = row.物料号
|
||||
// this.form1.number = row.零件数量
|
||||
// this.form1.manufactor = row.生产厂家
|
||||
this.form1.verificationValue = Number(row.是否验证)
|
||||
// this.form1.mainMaterialValue = Number(row.是否主物料)
|
||||
this.form1.ID = row.ID
|
||||
this.dialogFormVisible1 = true
|
||||
},
|
||||
// 提交修改订单
|
||||
submitAdd1() {
|
||||
this.$refs['form1'].validate((valid) => {
|
||||
if (valid) {
|
||||
var param = []
|
||||
param[0] = ['ID', this.form1.ID]
|
||||
param[1] = ['零件名称', this.form1.partName]
|
||||
param[2] = ['是否验证', this.form1.verificationValue]
|
||||
var Data = this.CreateData('12', '电子看板_装配零件_修改', param)
|
||||
this.ExecDatabase(Data).then(response => {
|
||||
if (response.data[0].result === '1') {
|
||||
this.$message({
|
||||
message: '修改成功',
|
||||
type: 'success'
|
||||
})
|
||||
this.searchOrder()
|
||||
} else {
|
||||
this.$message.error('修改失败!')
|
||||
}
|
||||
})
|
||||
this.dialogFormVisible1 = false
|
||||
} else {
|
||||
return false
|
||||
}
|
||||
})
|
||||
},
|
||||
// 取消修改订单
|
||||
callOff1() {
|
||||
this.dialogFormVisible1 = false
|
||||
this.$refs['form1'].resetFields()
|
||||
},
|
||||
// 多选
|
||||
handleSelectionChange(val) {
|
||||
this.MIDGroup = []
|
||||
for (let i = 0; i < val.length; i++) {
|
||||
this.MIDGroup.push(val[i].MID)
|
||||
}
|
||||
},
|
||||
handleAdd() {
|
||||
if (this.tableData.length === 0) {
|
||||
this.$message.error('内容为空')
|
||||
} else {
|
||||
var param = []
|
||||
var Data = this.CreateData('11', '确认导入物料字典_新增', param)
|
||||
this.ExecDatabase(Data).then(response => {
|
||||
if (response.data.length > 0) {
|
||||
this.notes = ''
|
||||
for (var i = 0; i < response.data.length; i++) {
|
||||
this.notes = response.data[i].导入结果 + '、 ' + this.notes
|
||||
}
|
||||
this.$message({
|
||||
message: '物料字典信息更新成功',
|
||||
type: 'warning'
|
||||
})
|
||||
this.isShow = true
|
||||
this.tableData = []
|
||||
} else {
|
||||
this.tableData = []
|
||||
this.$message({
|
||||
message: '物料字典信息更新成功',
|
||||
type: 'success'
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
// 查询
|
||||
searchTable() {
|
||||
var param = []
|
||||
var Data = this.CreateData('11', '生产计划导入_确认导入前临时表_查询', param, this.pageSize, this.pageList)
|
||||
this.ExecDatabase(Data).then(response => {
|
||||
console.log(response.data)
|
||||
this.tableData = response.data.rows
|
||||
this.total = response.data.total
|
||||
this.loading = false
|
||||
})
|
||||
},
|
||||
// 表格颜色变化
|
||||
tableRowClassName({ row, rowIndex }) {
|
||||
// console.log(row, rowIndex)
|
||||
if (rowIndex % 2 === 0) {
|
||||
return 'black'
|
||||
} else {
|
||||
return 'red'
|
||||
}
|
||||
},
|
||||
async basicPartsToSQL() {
|
||||
try {
|
||||
this.loading = true
|
||||
this.err = 0
|
||||
for (let j = this.worksheet.length - 1; j >= 0; j--) {
|
||||
let partName,
|
||||
stationNumberValue,
|
||||
orderNumber,
|
||||
engineTypeValue,
|
||||
engineTypeNumber,
|
||||
partDrawing,
|
||||
partBatchNumber,
|
||||
number,
|
||||
manufactor,
|
||||
verificationValue,
|
||||
mainMaterialValue,
|
||||
isPreservation
|
||||
// var param = []
|
||||
// param[0] = ['物料号', this.worksheet[j].L2.v]
|
||||
// console.log('物料号', this.worksheet[j].L2.v)
|
||||
// var Data = this.CreateData('11', '电子看板_装配零件_总物料表_导入校验', param)
|
||||
// const response = await this.ExecDatabase(Data)
|
||||
// const res = response.data
|
||||
// if (res[0].Column1 !== 0) {
|
||||
// this.$notify.error(`${this.worksheet[j].L2.v}已经存在,请确认文件是否正确`)
|
||||
// this.loading = false
|
||||
// this.disabled = false
|
||||
// return
|
||||
// }
|
||||
for (let i = 0; i < 999; i++) {
|
||||
const attr = i + 2
|
||||
stationNumberValue = this.worksheet[j][`A${attr}`] ? this.worksheet[j][`A${attr}`].v : ''
|
||||
engineTypeNumber = this.worksheet[j][`B${attr}`] ? this.worksheet[j][`B${attr}`].v : ''
|
||||
partDrawing = this.worksheet[j][`C${attr}`] ? this.worksheet[j][`C${attr}`].v : ''
|
||||
partName = this.worksheet[j][`D${attr}`] ? this.worksheet[j][`D${attr}`].v : ''
|
||||
number = this.worksheet[j][`E${attr}`] ? this.worksheet[j][`E${attr}`].v : ''
|
||||
partBatchNumber = this.worksheet[j][`F${attr}`] ? this.worksheet[j][`F${attr}`].v : ''
|
||||
manufactor = this.worksheet[j][`G${attr}`] ? this.worksheet[j][`G${attr}`].v : ''
|
||||
engineTypeValue = this.worksheet[j][`H${attr}`] ? this.worksheet[j][`H${attr}`].v : ''
|
||||
verificationValue = this.worksheet[j][`I${attr}`] ? this.worksheet[j][`I${attr}`].v : ''
|
||||
mainMaterialValue = this.worksheet[j][`J${attr}`] ? this.worksheet[j][`J${attr}`].v : ''
|
||||
isPreservation = this.worksheet[j][`K${attr}`] ? this.worksheet[j][`K${attr}`].v : ''
|
||||
orderNumber = this.worksheet[j][`L${attr}`] ? this.worksheet[j][`L${attr}`].v : ''
|
||||
if (!stationNumberValue && !engineTypeNumber &&
|
||||
!partDrawing && !partName && !number && !partBatchNumber &&
|
||||
!manufactor && !engineTypeValue && !verificationValue && !mainMaterialValue && !isPreservation && !orderNumber) {
|
||||
break
|
||||
} else if (!orderNumber) { // 名称不能为空
|
||||
this.$notify.error(`物料号不能为空`)
|
||||
break
|
||||
} else if (Number(partDrawing) <= 0) { // 数量不能为0
|
||||
this.$notify.error(`零件图号不能为空`)
|
||||
break
|
||||
} else {
|
||||
if (orderNumber) {
|
||||
await sleep(50)
|
||||
await this.insertToSQL(stationNumberValue,
|
||||
engineTypeNumber,
|
||||
partDrawing,
|
||||
partName,
|
||||
number,
|
||||
partBatchNumber,
|
||||
manufactor,
|
||||
engineTypeValue,
|
||||
verificationValue,
|
||||
mainMaterialValue,
|
||||
isPreservation,
|
||||
orderNumber)
|
||||
} else {
|
||||
this.loading = false
|
||||
this.disabled = false
|
||||
this.$notify.error(`请确认导入文件是否正确`)
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
this.itemFile.splice(j, 1)
|
||||
this.worksheet.splice(j, 1)
|
||||
this.err === 0 ? this.$message.success(`导入完成`) : this.$message.error(`导入失败物料个数为${this.err},请检查文件是否正确`)
|
||||
}
|
||||
this.loading = false
|
||||
this.searchOrder()
|
||||
} catch (e) {
|
||||
this.err++
|
||||
this.loading = false
|
||||
this.$notify.error(`导入数据错误,请检查导入文件是否正确`)
|
||||
console.log(`导入数据错误${e}`)
|
||||
}
|
||||
},
|
||||
async insertToSQL(stationNumberValue,
|
||||
engineTypeNumber,
|
||||
partDrawing,
|
||||
partName,
|
||||
number,
|
||||
partBatchNumber,
|
||||
manufactor,
|
||||
engineTypeValue,
|
||||
verificationValue,
|
||||
mainMaterialValue,
|
||||
isPreservation,
|
||||
orderNumber) {
|
||||
try {
|
||||
var param = []
|
||||
param[0] = ['工位号', stationNumberValue]
|
||||
param[1] = ['产品型号代码', engineTypeNumber]
|
||||
param[2] = ['零件图号', partDrawing]
|
||||
param[3] = ['零件名称', partName]
|
||||
param[4] = ['零件数量', number]
|
||||
param[5] = ['零件批号', partBatchNumber]
|
||||
param[6] = ['生产厂家', manufactor]
|
||||
param[7] = ['发动机型号', engineTypeValue]
|
||||
param[8] = ['是否验证', verificationValue]
|
||||
param[9] = ['是否主物料', mainMaterialValue]
|
||||
param[10] = ['是否保存', isPreservation]
|
||||
param[11] = ['物料号', orderNumber]
|
||||
var Data = this.CreateData('12', '物料数据_导入Excel', param)
|
||||
const response = await this.ExecDatabase(Data)
|
||||
const res = response.data
|
||||
if (res[0].result === '0') {
|
||||
this.$notify.error(`${orderNumber}导入失败`)
|
||||
} else {
|
||||
this.$notify.error(`${orderNumber}导入成功`)
|
||||
}
|
||||
} catch (e) {
|
||||
this.err++
|
||||
this.$message.error(`导入数据错误`)
|
||||
console.log(`导入数据错误${e}`)
|
||||
}
|
||||
},
|
||||
exportExcel() {
|
||||
if (this.tableData.length !== 0) {
|
||||
var param = []
|
||||
param[0] = ['发动机型号', this.engineTypeValue]
|
||||
param[1] = ['工位号', this.stationNumberValue]
|
||||
var Data = this.CreateData('2001', '电子看板_装配零件_总物料表_导出新', param)
|
||||
this.exportExcel_NPOI(Data)
|
||||
} else {
|
||||
this.$message.warning('暂无数据')
|
||||
}
|
||||
},
|
||||
// 分页
|
||||
handleSizeChange(val) {
|
||||
this.pageCurrent = 1
|
||||
this.pageSize = val
|
||||
this.searchOrder()
|
||||
},
|
||||
handleCurrentChange(val) {
|
||||
this.pageCurrent = val
|
||||
this.searchOrder()
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.topCard{
|
||||
margin: 5px;
|
||||
}
|
||||
.topDiv{
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.el-select{
|
||||
width:200px
|
||||
}
|
||||
.el-input{
|
||||
width:200px
|
||||
}
|
||||
.text {
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.item {
|
||||
padding: 18px 0;
|
||||
}
|
||||
|
||||
.box-card {
|
||||
position: absolute;
|
||||
right: 6px;
|
||||
top: 80px;
|
||||
width: 300px;
|
||||
}
|
||||
.el-table .warning-row {
|
||||
background: oldlace;
|
||||
}
|
||||
|
||||
.el-table .success-row {
|
||||
background: #f0f9eb;
|
||||
}
|
||||
|
||||
::v-deep.el-input.is-disabled .el-input__inner{
|
||||
color: #606266!important;
|
||||
}
|
||||
::v-deep.el-input.is-disabled .el-input__inner{
|
||||
background-color: white!important;
|
||||
}
|
||||
</style>
|
||||
Reference in New Issue
Block a user