装箱单修改

This commit is contained in:
hedekun
2018-11-27 13:57:32 +08:00
parent 08683fbe0c
commit cc3424a2f2
7 changed files with 143 additions and 95 deletions

View File

@@ -174,7 +174,7 @@ export function initPerson() {
data: {
type: '1',
name: '人事档案管理_人员_部门与人员_查询数据_根据部门编号',
param: '考核部门编号=10=int'
param: '考核部门编号=17=int'
}
})
}

View File

@@ -148,7 +148,7 @@ export function deleteFileData(num) {
data: {
type: '2',
name: 'PDM_装箱单_随机技术文件_删除数据',
param: `号=${num}`
param: `文件编号=${num}`
}
})
}
@@ -160,7 +160,7 @@ export function editFileData(name, number, remark, num) {
data: {
type: '2',
name: 'PDM_装箱单_随机技术文件_修改数据',
param: `名称=${name}&数量=${number}&备注=${remark}&号=${num}`
param: `名称=${name}&数量=${number}&备注=${remark}&文件编号=${num}`
}
})
}
@@ -196,24 +196,24 @@ export function deleteSpareData(num) {
data: {
type: '2',
name: 'PDM_装箱单_备件_删除数据',
param: `号=${num}`
param: `备件编号=${num}`
}
})
}
export function editSpareData(name, specification, number, unit, remark, num) {
export function editSpareData(name, specification, unit, number, remark, num) {
return request({
url: '',
method: 'post',
data: {
type: '2',
name: 'PDM_装箱单_备件_修改数据',
param: `名称=${name}&规格=${specification}&数量=${number}&单位=${unit}&备注=${remark}&号=${num}`
param: `名称=${name}&规格=${specification}&数量=${number}&单位=${unit}&备注=${remark}&备件编号=${num}`
}
})
}
export function addSpareData(name, specification, number, unit, remark, num) {
export function addSpareData(name, specification, unit, number, remark, num) {
return request({
url: '',
method: 'post',

View File

@@ -172,6 +172,7 @@ export default {
// 4) 回调函数,必须
Vue.prototype.addTable = function(requestData, param, form, callback) {
if (type(callback) === 'function' && type(requestData) === 'function' && type(form) === 'string') {
console.log(this.$refs[form])
this.$refs[form].validate((valid) => {
if (valid) {
requestData(...param).then(response => {

View File

@@ -10,7 +10,7 @@
:value="item.value"/>
</el-select>
<span style="margin-left: 10px">销售经理</span>
<el-input v-model="MarketingManagerValue" clearable size="small" style="width:200px" placeholder="请选择营销经理" readonly @dblclick.native="dialogFormVisiblePeople = true" @clear="clear()"/>
<el-input v-model="MarketingManagerValue" clearable size="small" style="width:200px" readonly placeholder="请选择营销经理" @dblclick.native="dialogFormVisiblePeople = true" @clear="clear()"/>
<el-button type="success" icon="el-icon-search" size="small" style="margin-left: 10px" @click="pageSize = 10;PageCurrent = 1;tableData2=[];getTableData()">查询收款计划</el-button>
<el-button type="primary" icon="el-icon-circle-plus-outline" size="small" style="margin-left: 10px" @click="ADD()">新增收款计划</el-button>
<el-badge :value="value" :max="99" class="item">
@@ -484,8 +484,12 @@
</template>
<script>
import elInput from 'element-ui/packages/input'
import { SelectContractFunds, AccountsReceivable, editDay, TransPlanning, selectBatch, editList, delMoney, editTime, selectMax, editFukuan, fukuan, selectProvince, SelectMarketingManager, searchTable1, searchTable2, editBatchCapitalChar, deletechar, searchProjectNumber, searchProjectName, addList, PaymentPhase, dellist, selectMachine, selectBatchFundingDetails } from '@/api//MarketingCenter/ContractCapitalManagement'
export default {
components: {
elInput
},
data() {
const validateValue = (rule, value, callback) => {
if (value === 0) {

View File

@@ -260,7 +260,7 @@
<template slot-scope="scope">
<el-button
size="mini"
type="danger"
type="primary"
icon="el-icon-edit"
@click="editFile(scope.row)">编辑</el-button>
<el-button
@@ -274,7 +274,7 @@
</el-card>
<el-dialog :title="receiptTitle" :visible.sync="receiptVisible" center style="min-height: 200px" width="800px">
<el-form ref="receiptForm" :rules="rules" :model="receiptForm" label-position="left" label-width="110px" class="demo-ruleForm">
<el-form ref="receiptForm" :rules="receiptRules" :model="receiptForm" label-position="left" label-width="110px" class="demo-ruleForm">
<el-row>
<el-col :span="12">
<el-form-item label="装箱单号" prop="装箱单号">
@@ -321,10 +321,10 @@
</el-dialog>
<el-dialog :visible.sync="machineVisible" :title="machineTitle" center style="min-height: 200px" width="400px">
<el-form ref="machineForm" :rules="rules" :model="machineForm" label-position="left" label-width="110px" class="demo-ruleForm">
<el-form ref="machineForm" :rules="machineRules" :model="machineForm" label-position="left" label-width="110px" class="demo-ruleForm">
<el-row>
<el-col v-if="machineTitle==='添加主机'" :span="24">
<el-form-item label="机床号" prop="装箱单号">
<el-form-item label="机床号" prop="机床号">
<el-select v-model="machineValue" placeholder="请选择机床图号" filterable size="small">
<el-option
v-for="item in machine"
@@ -354,7 +354,7 @@
</el-dialog>
<el-dialog :visible.sync="fileVisible" :title="fileTitle" center style="min-height: 200px" width="400px">
<el-form ref="machineForm" :rules="rules" :model="fileForm" label-position="left" label-width="110px" class="demo-ruleForm">
<el-form ref="fileForm" :rules="filerules" :model="fileForm" label-position="left" label-width="110px" class="demo-ruleForm">
<el-row>
<el-col :span="24">
<el-form-item label="名称" prop="名称">
@@ -381,7 +381,7 @@
</el-dialog>
<el-dialog :visible.sync="spareVisible" :title="spareTitle" center style="min-height: 200px" width="400px">
<el-form ref="machineForm" :rules="rules" :model="spareForm" label-position="left" label-width="110px" class="demo-ruleForm">
<el-form ref="spareForm" :rules="spareRule" :model="spareForm" label-position="left" label-width="110px" class="demo-ruleForm">
<el-row>
<el-col :span="24">
<el-form-item label="名称" prop="名称">
@@ -439,13 +439,17 @@ export default {
spareVisible: false,
spareTitle: '',
spareForm: {
: '',
备件编: '',
名称: '',
规格: '',
单位: '',
备注: '',
数量: ''
},
spareRule: {
名称: [{ required: true, message: '请输入名称', trigger: 'blur' }],
数量: [{ required: true, message: '请输入数量', trigger: 'blur' }]
},
spareData: [],
receiptForm: {
装箱单号: '',
@@ -455,12 +459,21 @@ export default {
联系人: '',
联系方式: ''
},
receiptRules: {
装箱单号: [{ required: true, message: '请输入装箱单号', trigger: 'blur' }],
名称: [{ required: true, message: '请输入名称', trigger: 'blur' }],
发货节点: [{ required: true, message: '请输入发货节点', trigger: 'blur' }]
},
machineForm: {
序号: '',
机床号: '',
备注: '',
数量: ''
},
machineRules: {
机床号: [{ required: true, message: '请选择机床号', trigger: 'change' }],
数量: [{ required: true, message: '请输入数量', trigger: 'blur' }]
},
rules: {
},
machineTableData: [],
@@ -469,10 +482,14 @@ export default {
fileVisible: false,
fileTitle: '',
fileForm: {
: '',
文件编: '',
名称: '',
数量: '',
备注: ''
},
filerules: {
名称: [{ required: true, message: '请输入名称', trigger: 'blur' }],
数量: [{ required: true, message: '请输入数量', trigger: 'blur' }]
}
}
},
@@ -495,6 +512,10 @@ export default {
}
},
projectValue(val) {
this.machineTableData = []
this.receiptData = []
this.spareData = []
this.fileData = []
if (val) {
this.getMachineSelect(val)
}
@@ -570,8 +591,11 @@ export default {
cancel() {
this.receiptVisible = false
this.machineVisible = false
this.fileVisible = false
this.spareVisible = false
},
async getMachineData() {
this.machineTableData = []
const response = await getMachineData(this.receiptNum)
const data = response.data
for (let i = 0; i < data.length; i++) {
@@ -598,11 +622,15 @@ export default {
})
},
async submitAddMachine() {
const response = await addMachineData(this.projectName, this.machineValue, this.machineForm.备注, this.machineForm.数量, this.receiptNum)
if (response.data[0].result === '1') {
this.addTable(addMachineData, [this.projectName, this.machineValue, this.machineForm.备注, this.machineForm.数量, this.receiptNum], 'machineForm', function() {
this.machineVisible = false
this.getMachineData()
}
})
// const response = await addMachineData(this.projectName, this.machineValue, this.machineForm.备注, this.machineForm.数量, this.receiptNum)
// if (response.data[0].result === '1') {
// this.machineVisible = false
// this.getMachineData()
// }
},
editMachine(row) {
this.editForm(row, 'machineForm', function() {
@@ -611,11 +639,15 @@ export default {
})
},
async submitEditMachine() {
const response = await updateMachineData(this.machineForm.序号, this.machineForm.数量, this.machineForm.备注)
if (response.data[0].result === '1') {
this.editTable(updateMachineData, [this.machineForm.序号, this.machineForm.数量, this.machineForm.备注], 'machineForm', function() {
this.machineVisible = false
this.getMachineData()
}
})
// const response = await updateMachineData(this.machineForm.序号, this.machineForm.数量, this.machineForm.备注)
// if (response.data[0].result === '1') {
// this.machineVisible = false
// this.getMachineData()
// }
},
deleteMachine(row) {
this.deleteRow(deleteMachineData, row.序号, function() {
@@ -625,20 +657,18 @@ export default {
async getFileData() {
const response = await getFileData(this.receiptNum)
this.fileData = response.data
console.log(this.fileData)
},
addFile() {
this.addForm('machineForm', function() {
this.addForm('fileForm', function() {
this.fileTitle = `添加文件`
this.fileVisible = true
})
},
async submitAddFile() {
const response = await addFileData(this.fileForm.名称, this.fileForm.数量, this.fileForm.备注, this.receiptNum)
if (response.data[0].result === '1') {
this.addTable(addFileData, [this.fileForm.名称, this.fileForm.数量, this.fileForm.备注, this.receiptNum], 'fileForm', function() {
this.fileVisible = false
this.getFileData()
}
})
},
editFile(row) {
this.editForm(row, 'fileForm', function() {
@@ -647,14 +677,13 @@ export default {
})
},
async submitEditFile() {
const response = await editFileData(this.fileForm.名称, this.fileForm.数量, this.fileForm.备注, this.fileForm.序号)
if (response.data[0].result === '1') {
this.editTable(editFileData, [this.fileForm.名称, this.fileForm.数量, this.fileForm.备注, this.fileForm.文件编号], 'fileForm', function() {
this.fileVisible = false
this.getFileData()
}
})
},
deleteFile(row) {
this.deleteRow(deleteFileData, row., function() {
this.deleteRow(deleteFileData, row.文件编, function() {
this.getFileData()
})
},
@@ -669,11 +698,15 @@ export default {
})
},
async submitAddSpare() {
const response = await addSpareData(this.spareForm.名称, this.spareForm.规格, this.spareForm.单位, this.spareForm.数量, this.spareForm.备注, this.receiptNum)
if (response.data[0].result === '1') {
this.addTable(addSpareData, [this.spareForm.名称, this.spareForm.规格, this.spareForm.单位, this.spareForm.数量, this.spareForm.备注, this.receiptNum], 'spareForm', function() {
this.spareVisible = false
this.getSpareData()
}
})
// const response = await addSpareData(this.spareForm.名称, this.spareForm.规格, this.spareForm.单位, this.spareForm.数量, this.spareForm.备注, this.receiptNum)
// if (response.data[0].result === '1') {
// this.spareVisible = false
// this.getSpareData()
// }
},
editSpare(row) {
this.editForm(row, 'spareForm', function() {
@@ -682,14 +715,18 @@ export default {
})
},
async submitEditSpare() {
const response = await editSpareData(this.spareForm.名称, this.spareForm.规格, this.spareForm.单位, this.spareForm.数量, this.spareForm.备注, this.fileForm.序号)
if (response.data[0].result === '1') {
this.editTable(editSpareData, [this.spareForm.名称, this.spareForm.规格, this.spareForm.单位, this.spareForm.数量, this.spareForm.备注, this.spareForm.备件编号], 'spareForm', function() {
this.spareVisible = false
this.getSpareData()
}
})
// const response = await editSpareData(this.spareForm.名称, this.spareForm.规格, this.spareForm.单位, this.spareForm.数量, this.spareForm.备注, this.spareForm.备件编号)
// if (response.data[0].result === '1') {
// this.spareVisible = false
// this.getSpareData()
// }
},
deleteSpare(row) {
this.deleteRow(deleteSpareData, row., function() {
this.deleteRow(deleteSpareData, row.备件编, function() {
this.getSpareData()
})
}

View File

@@ -22,25 +22,24 @@
<el-upload :on-remove="handleRemove" :file-list="itemFile" action=""/>
</div>
<div v-if="worksheet.length !== 0" style="float: right;margin: 20px 0">
<el-button icon="el-icon-upload2" type="primary" size="small" @click="basicPartsToSQL">导入到数据库</el-button>
<el-button :disabled="disabled" icon="el-icon-upload2" type="primary" size="small" @click="basicPartsToSQL">导入到数据库</el-button>
</div>
</div>
</el-card>
<specification-data ref="specificationData" :groups-names="groupsNames" :machine-names="machineNames" :project-name="projectName" @machineChange="machineChange"/>
<el-upload
class="upload-demo"
drag
action="http://localhost:8410/submit/uploadImg.ashx?InvoiceNum=1"
multiple>
<i class="el-icon-upload"/>
<div class="el-upload__text">将文件拖到此处<em>点击上传</em></div>
<div slot="tip" class="el-upload__tip">只能上传jpg/png文件且不超过500kb</div>
</el-upload>
<!--<el-upload-->
<!--class="upload-demo"-->
<!--drag-->
<!--action="http://localhost:8410/submit/uploadImg.ashx?InvoiceNum=1"-->
<!--multiple>-->
<!--<i class="el-icon-upload"/>-->
<!--<div class="el-upload__text">将文件拖到此处<em>点击上传</em></div>-->
<!--<div slot="tip" class="el-upload__tip">只能上传jpg/png文件且不超过500kb</div>-->
<!--</el-upload>-->
</div>
</template>
<script>
/* eslint-disable */
import UploadExcelComponent from './UploadExcel/index.vue'
import specificationData from './specificationData'
import { sleep } from '../../../utils/tool'
@@ -58,7 +57,8 @@ export default {
loading: false,
groupsNames: [],
machineNames: [],
err: 0
err: 0,
disabled: false
}
},
computed: {
@@ -88,6 +88,10 @@ export default {
this.fetchData()
},
methods: {
async test() {
await sleep(10000)
console.log(1)
},
fetchData() {
this.getSelect(initProject, ['项目名称', '项目流水号'], 'project')
},
@@ -112,7 +116,7 @@ export default {
})
}
},
selected(data) { // 选择需要导入的文件
async selected(data) { // 选择需要导入的文件
this.worksheet = data.worksheet // 获取每个多选文件的表格坐标及值
this.itemFile = data.itemFile
},
@@ -131,6 +135,7 @@ export default {
async basicPartsToSQL() {
try {
this.loading = true
this.dispatch = true
this.err = 0
for (let j = this.worksheet.length - 1; j >= 0; j--) {
let establishment,
@@ -154,48 +159,51 @@ export default {
manufacturer,
remarks,
classificationCode
const response = await isExit(this.projectValue, this.worksheet[j].F2.v)
const res = response.data
if (res[0].Column1 === 0) {
this.$notify.error(`${this.worksheet[j].F2.v}机床不存在,请确认文件是否正确`)
this.loading = false
return
const response = await isExit(this.projectValue, this.worksheet[j].F2.v)
const res = response.data
if (res[0].Column1 === 0) {
this.$notify.error(`${this.worksheet[j].F2.v}机床不存在,请确认文件是否正确`)
this.loading = false
this.disabled = false
return
} else {
this.worksheet[j].G1 ? establishment = this.worksheet[j].G1.v : establishment = ''
this.worksheet[j].I1 ? proofread = this.worksheet[j].I1.v : proofread = ''
this.worksheet[j].L1 ? review = this.worksheet[j].L1.v : review = ''
this.worksheet[j].P1 ? date = this.worksheet[j].P1.v : date = ''
this.worksheet[j].Q1 ? pageNum = parseInt(this.worksheet[j].Q1.v.replace(/[^0-9]/ig, '')) : pageNum = ''
this.worksheet[j].C2 ? machineName = this.worksheet[j].C2.v : machineName = ''
this.worksheet[j].F2 ? machineNum = this.worksheet[j].F2.v : machineNum = ''
this.worksheet[j].J2 ? componentName = this.worksheet[j].J2.v : componentName = ''
this.worksheet[j].P2 ? componentNum = this.worksheet[j].P2.v : componentNum = ''
this.worksheet[j].Q2 ? totalNum = parseInt(this.worksheet[j].Q2.v.replace(/[^0-9]/ig, '')) : totalNum = ''
this.worksheet[j].R2 ? contractNum = this.worksheet[j].R2.v : contractNum = ''
this.worksheet[j].M2 ? groupNum = this.worksheet[j].M2.v : groupNum = ''
const len = parseInt(this.worksheet[j]['!ref'].split(':')[1].substring(1)) - 3
for (let i = 0; i < len; i++) {
const attr = i + 4
drawingNum = this.worksheet[j][`B${attr}`] ? this.worksheet[j][`B${attr}`].v : ''
name = this.worksheet[j][`D${attr}`] ? this.worksheet[j][`D${attr}`].v : ''
type = this.worksheet[j][`F${attr}`] ? this.worksheet[j][`F${attr}`].v : ''
material = this.worksheet[j][`J${attr}`] ? this.worksheet[j][`J${attr}`].v : ''
spareNum = this.worksheet[j][`L${attr}`] ? this.worksheet[j][`L${attr}`].v : ''
useNum = this.worksheet[j][`M${attr}`] ? this.worksheet[j][`M${attr}`].v : ''
manufacturer = this.worksheet[j][`O${attr}`] ? this.worksheet[j][`O${attr}`].v : ''
remarks = this.worksheet[j][`Q${attr}`] ? this.worksheet[j][`Q${attr}`].v : ''
classificationCode = this.worksheet[j][`R${attr}`] ? this.worksheet[j][`R${attr}`].v : ''
if (!drawingNum && !name && !type && !material && !spareNum && !useNum && !manufacturer && !remarks && !classificationCode) { // 当图号、名称、规格、材料、备件数量、装机数量、制造商、备注、分类码都为空时,循环终止,防止向数据库中插入多余且无用的数据
break
} else {
this.worksheet[j].G1 ? establishment = this.worksheet[j].G1.v : establishment = ''
this.worksheet[j].I1 ? proofread = this.worksheet[j].I1.v : proofread = ''
this.worksheet[j].L1 ? review = this.worksheet[j].L1.v : review = ''
this.worksheet[j].P1 ? date = this.worksheet[j].P1.v : date = ''
this.worksheet[j].Q1 ? pageNum = parseInt(this.worksheet[j].Q1.v.replace(/[^0-9]/ig, '')) : pageNum = ''
this.worksheet[j].C2 ? machineName = this.worksheet[j].C2.v : machineName = ''
this.worksheet[j].F2 ? machineNum = this.worksheet[j].F2.v : machineNum = ''
this.worksheet[j].J2 ? componentName = this.worksheet[j].J2.v : componentName = ''
this.worksheet[j].P2 ? componentNum = this.worksheet[j].P2.v : componentNum = ''
this.worksheet[j].Q2 ? totalNum = parseInt(this.worksheet[j].Q2.v.replace(/[^0-9]/ig, '')) : totalNum = ''
this.worksheet[j].R2 ? contractNum = this.worksheet[j].R2.v : contractNum = ''
this.worksheet[j].M2 ? groupNum = this.worksheet[j].M2.v : groupNum = ''
const len = parseInt(this.worksheet[j]['!ref'].split(':')[1].substring(1)) - 3
for (let i = 0; i < len; i++) {
const attr = i + 4
drawingNum = this.worksheet[j][`B${attr}`] ? this.worksheet[j][`B${attr}`].v : ''
name = this.worksheet[j][`D${attr}`] ? this.worksheet[j][`D${attr}`].v : ''
type = this.worksheet[j][`F${attr}`] ? this.worksheet[j][`F${attr}`].v : ''
material = this.worksheet[j][`J${attr}`] ? this.worksheet[j][`J${attr}`].v : ''
spareNum = this.worksheet[j][`L${attr}`] ? this.worksheet[j][`L${attr}`].v : ''
useNum = this.worksheet[j][`M${attr}`] ? this.worksheet[j][`M${attr}`].v : ''
manufacturer = this.worksheet[j][`O${attr}`] ? this.worksheet[j][`O${attr}`].v : ''
remarks = this.worksheet[j][`Q${attr}`] ? this.worksheet[j][`Q${attr}`].v : ''
classificationCode = this.worksheet[j][`R${attr}`] ? this.worksheet[j][`R${attr}`].v : ''
if (!drawingNum && !name && !type && !material && !spareNum && !useNum && !manufacturer && !remarks && !classificationCode) { // 当图号、名称、规格、材料、备件数量、装机数量、制造商、备注、分类码都为空时,循环终止,防止向数据库中插入多余且无用的数据
break
if (machineNum && groupNum) {
await sleep(50)
await this.insertToSQL(establishment, proofread, review, date, machineName, machineNum, componentName, componentNum, groupNum, contractNum, pageNum, totalNum, drawingNum, name, type, material, spareNum, useNum, manufacturer, remarks, classificationCode)
} else {
if (machineNum && groupNum) {
await this.insertToSQL(establishment, proofread, review, date, machineName, machineNum, componentName, componentNum, groupNum, contractNum, pageNum, totalNum, drawingNum, name, type, material, spareNum, useNum, manufacturer, remarks, classificationCode)
} else {
this.loading = false
this.$notify.error(`请确认导入文件是否正确`)
return
}
this.loading = false
this.disabled = false
this.$notify.error(`请确认导入文件是否正确`)
return
}
}
}
}
this.itemFile.splice(j, 1)
@@ -213,14 +221,12 @@ export default {
async insertToSQL(establishment, proofread, review, date, machineName, machineNum, componentName, componentNum, groupNum, contractNum, pageNum, totalNum, drawingNum, name, type, material, spareNum, useNum, manufacturer, remarks, classificationCode) {
try {
if (groupNum.indexOf('MX') > -1) {
await sleep(10)
const response = await importBasics(establishment, proofread, review, date, this.projectName, machineNum, machineName, componentName, componentNum, groupNum, contractNum, totalNum, pageNum, drawingNum, name, type, material, spareNum, useNum, manufacturer, remarks, classificationCode)
const res = response.data
if (res[0].result === '0') {
this.$notify.error(`${drawingNum}导入失败`)
}
} else {
await sleep(10)
const response = await importPurcharse(establishment, proofread, review, date, this.projectName, machineNum, machineName, componentName, componentNum, groupNum, contractNum, totalNum, pageNum, drawingNum, name, type, material, spareNum, useNum, manufacturer, remarks, classificationCode)
const res = response.data
if (res[0].result === '0') {

View File

@@ -133,7 +133,7 @@
</el-table-column>
<el-table-column align="center" label="零件类型">
<template slot-scope="scope">
{{ scope.row.标准件类型 }}
{{ scope.row.件类型 }}
</template>
</el-table-column>
<el-table-column align="center" label="供货商">
@@ -273,14 +273,14 @@ export default {
})
} else {
const type = this.groupName.indexOf('WG') > -1 ? 2 : 1
console.log(type)
this.loadingWB = true
purchasePartsData(this.groupValue, type, this.pageCurrentWB, this.pageSizeWB).then(response => {
this.loadingWB = false
const data = response.data
this.totalWB = data.total
this.tableDataWB = data.rows.map(item => {
item.标准件类型 = item.标准件类型 === '1' ? '外购件' : '标准件'
console.log(item)
item.零件类型 = item.零件类型 === '2' ? '外购件' : '标准件'
return item
})
})