Merge branch 'master' of ssh://192.168.1.149:29418/高精2.0

This commit is contained in:
liushuai
2018-11-30 13:41:07 +08:00
42 changed files with 3350 additions and 341 deletions

View File

@@ -13,14 +13,14 @@ export function searchExchangePart(pageCurrent, pageSize) {
}) })
} }
// 通过交换件 // 通过交换件
export function approvalExchangepart(data1, data2, data3, data4, data5, data6) { export function approvalExchangepart(data1, data2, data22, data3, data33, data4, data5, data55, data6) {
return request({ return request({
url: '', url: '',
method: 'post', method: 'post',
data: { data: {
type: '2', type: '2',
name: '库存管理_交换件_交换件审批通过', name: '库存管理_交换件_交换件审批通过',
param: '交换单流水号=' + data1 + '&交换件物料流水号=' + data2 + '&交换件组件零件流水号=' + data3 + '&交换件采购合同明细流水号=' + data4 + '&货位流水号=' + data5 + '&交换数量=' + data6 param: '交换单流水号=' + data1 + '&交换件物料流水号=' + data2 + '&被交换件物料流水号=' + data22 + '&交换件组件零件流水号=' + data3 + '&被交换件组件零件流水号=' + data33 + '&交换件采购合同明细流水号=' + data4 + '&货位流水号=' + data5 + '&被货位流水号=' + data55 + '&交换数量=' + data6
} }
}) })
} }

View File

@@ -73,14 +73,14 @@ export function searchExchangePart(pageCurrent, pageSize) {
}) })
} }
// 增加交换件 // 增加交换件
export function addExchangepart(data1, data2, data3, data4, data5, data6, data7, data8, data9, data10, data11) { export function addExchangepart(data1, data2, data3, data4, data5, data6, data7, data8, data88, data9, data10, data11, data12, data13) {
return request({ return request({
url: '', url: '',
method: 'post', method: 'post',
data: { data: {
type: '2', type: '2',
name: '库存管理_交换件_交换件增加', name: '库存管理_交换件_交换件增加',
param: '交换单编号=' + data1 + '&交换件组件零件流水号=' + data2 + '&交换件物料流水号=' + data3 + '&交换件采购合同明细流水号=' + data4 + '&被交换件组件零件流水号=' + data5 + '&交换件名称=' + data6 + '&被交换件名称=' + data7 + '&货位流水号=' + data8 + '&交换数量=' + data9 + '&申请人=' + data10 + '&备注=' + data11 param: '交换单编号=' + data1 + '&交换件组件零件流水号=' + data2 + '&交换件物料流水号=' + data3 + '&交换件采购合同明细流水号=' + data4 + '&被交换件组件零件流水号=' + data5 + '&交换件名称=' + data6 + '&被交换件名称=' + data7 + '&货位流水号=' + data8 + '&被交换货位流水号=' + data88 + '&交换数量=' + data9 + '&申请人=' + data10 + '&备注=' + data11 + '&领料单流水号=' + data12 + '&被交换件物料流水号=' + data13
} }
}) })
} }
@@ -108,3 +108,15 @@ export function editExchangeList(data1, data2, data3, data4) {
} }
}) })
} }
// 领料单查询
export function searchList1(listNumber_check, listNumber) {
return request({
url: '',
method: 'post',
data: {
type: '1',
name: '车间装配管理_领料单_领料单查询',
param: '领料单编号_check=' + 0 + '&领料单编号=' + listNumber
}
})
}

View File

@@ -7,7 +7,7 @@ export function searchTable(partnumber) {
data: { data: {
type: '1', type: '1',
name: 'MES_机加工MES_库存管理_入库模块_零件基础信息查询_根据零件图号', name: 'MES_机加工MES_库存管理_入库模块_零件基础信息查询_根据零件图号',
param: '零件图号=' + partnumber + '=string' param: '工艺计划流水号=' + partnumber + '=string'
} }
}) })
} }

View File

@@ -79,7 +79,7 @@ export function alterLocate(num, num0, num1, num2, num3, num4) {
data: { data: {
type: '2', type: '2',
name: '库存管理_货位主文件_修改数据', name: '库存管理_货位主文件_修改数据',
param: '货位流水号=' + num + '货位名称=' + num0 + '&工作中心=' + num1 + '&仓库流水号=' + num2 + '&永久=' + num3 + '&不可用量=' + num4 param: '货位流水号=' + num + '&货位名称=' + num0 + '&工作中心=' + num1 + '&仓库流水号=' + num2 + '&永久=' + num3 + '&不可用量=' + num4
} }
}) })
} }

View File

@@ -1,13 +1,13 @@
import request from '@/utils/request' import request from '@/utils/request'
// 替换单查询 // 替换单查询
export function searchSubstitutedCard(...params) { export function searchSubstitutedCard(data1, data2, data3, data4) {
return request({ return request({
url: '', url: '',
method: 'post', method: 'post',
data: { data: {
type: '1', type: '1',
name: '库存管理_替换件_替换单查询', name: '库存管理_替换件_替换单查询',
param: `替换单编号_check=${params[0]}&替换单编号=${params[1]}&替换件名称_check=${params[2]}&替换件名称=${params[3]}` param: '替换单编号_check=' + data1 + '&替换单编号=' + data2 + '&替换件名称_check=' + data3 + '&替换件名称=' + data4
} }
}) })
} }

View File

@@ -12,7 +12,7 @@ export function getEntryNameValue() {
} }
}) })
} }
// 项目名称 // 机床名称
export function getToolNum(num) { export function getToolNum(num) {
return request({ return request({
url: '', url: '',

View File

@@ -0,0 +1,147 @@
import request from '@/utils/request'
export function getNames() {
return request({
url: '',
method: 'post',
data: {
type: '1',
name: '车间生产管理工艺_传递后_项目名称_查询数据_加工进度修改'
}
})
}
export function getMachines(gongyi) {
return request({
url: '',
method: 'post',
data: {
type: '1',
name: '车间生产管理工艺_传递后_机床名称_查询数据_查询所有机床',
param: '项目流水号=' + gongyi + '=int'
}
})
}
export function getGroups(stepNumber) {
return request({
url: '',
method: 'post',
data: {
type: '1',
name: '车间生产管理工艺_传递后_组件名称_查询数据_查询所有组',
param: '机床流水号=' + stepNumber + '=int'
}
})
}
export function getTable(stepNumber, a, b, c, d, e, f, g, pageCurrent, pageSize) {
return request({
url: '',
method: 'post',
data: {
type: '1',
name: '车间生产管理工艺_零件工序_查询数据_已编制工序的全部零件及工序_加工进度修改专用',
param: '项目流水号_check=' + stepNumber + '=string&项目流水号=' + a + '=string&机床流水号_check=' + b + '=string&机床流水号=' + c + '=string&组件流水号_check=' + d + '=string&组件流水号=' + e + '=string&零件图号_check=' + f + '=string&零件图号=' + g + '=string&是否查询全部数据=1=string&单件是否外协=0',
Pagination: pageCurrent + '&' + pageSize
}
})
}
export function getTable2(stepNumber, a, b, c, d, e, g) {
return request({
url: '',
method: 'post',
data: {
type: '1',
name: '车间生产管理工艺_零件工序_查询数据_已编制工序的全部零件及工序_加工进度修改',
param: '项目流水号_check=' + stepNumber + '=string&项目流水号=' + a + '=string&机床流水号_check=' + b + '=string&机床流水号=' + c + '=string&组件流水号_check=' + d + '=string&组件流水号=' + e + '=string&零件图号_check=1=string&零件图号=' + g + '=string&是否查询全部数据=1=string&单件是否外协=0'
}
})
}
export function handlechange(Number, code) {
return request({
url: '',
method: 'post',
data: {
type: '2',
name: '车间生产管理工艺_零件工序_修改数据_修改实际完成时间',
param: '工序流水号=' + Number + '&实际完成时间=' + code
}
})
}
export function handlechange2(Number, code) {
return request({
url: '',
method: 'post',
data: {
type: '2',
name: '车间生产管理工艺_零件工序_修改数据_工作者',
param: '工序流水号=' + Number + '&工作者考勤编号=' + code
}
})
}
export function handlechange3(Number, code) {
return request({
url: '',
method: 'post',
data: {
type: '2',
name: '车间生产管理工艺_零件工序_修改数据_工作者_MESWORK',
param: '工序流水号=' + Number + '&工作者考勤编号=' + code
}
})
}
export function dialogtablevisible() {
return request({
url: '',
method: 'post',
data: {
type: '1',
name: '人事档案管理_部门关系_查询节点',
param: '子节点=0'
}
})
}
// 初始化人员信息 弹出框
export function getTree() {
return request({
url: '',
method: 'post',
data: {
type: 1,
name: '人事档案管理_部门关系_查询节点',
param: '子节点=0=int'
}
})
}
export function fn(data, pid) {
const result = []
let temp
for (let i = 0; i < data.length; i++) {
if (data[i].父节点 === pid) {
const obj = { label: data[i].节点名称, id: data[i].子节点 }
temp = fn(data, data[i].子节点)
if (temp.length > 0) {
obj.children = temp
}
result.push(obj)
}
}
return result
}
export function getTable8(code) {
return request({
url: '',
method: 'post',
data: {
type: 1,
name: '人事档案管理_人员_部门与人员_查询数据_根据部门编号',
param: '考核部门编号=' + code + '=int'
}
})
}

View File

@@ -1,27 +1,47 @@
import request from '@/utils/request' import request from '@/utils/request'
// 查询(未编制) export function machine() {
export function searchPartNum1(num1, start, end, pageCurrent, pageSize) {
return request({ return request({
url: '', url: '',
method: 'post', method: 'post',
data: { data: {
type: '1', type: '1',
name: '车间生产管理工艺_零件工艺计划_查询序间外协零件_价格预算', name: '车间生产管理工艺_序间外协_项目查询'
param: '定额人员编号=0&零件图号=' + num1 + '&开始时间=' + start + '&结束时间=' + end + '&预算状态=0',
Pagination: pageCurrent + '&' + pageSize
} }
}) })
} }
// 查询零件号(已编制) export function getToolNum(num) {
export function searchPartNum2(num, start, end, pageCurrent, pageSize) {
return request({ return request({
url: '', url: '',
method: 'post', method: 'post',
data: { data: {
type: '1', type: '1',
name: '车间生产管理工艺_零件工艺计划_查询序间外协零件_价格预算', name: '车间生产管理工艺_传递后_机床名称_查询数据_查询所有机床',
param: '定额人员编号=0&零件图号=' + num + '&开始时间=' + start + '&结束时间=' + end + '&预算状态=1', param: '项目流水号=' + num
}
})
}
// 组号
export function getNum(num) {
return request({
url: '',
method: 'post',
data: {
type: '1',
name: '车间生产管理工艺_传递后_组件名称_查询数据_查询所有组',
param: '机床流水号=' + num
}
})
}
// 查询(未编制)
export function searchPartNum1(num1, num2, num3, num4, num5, num6, num7, num8, num9, pageCurrent, pageSize) {
return request({
url: '',
method: 'post',
data: {
type: '1',
name: '车间生产管理工艺_零件工艺计划_查询序间外协零件_价格预算_new',
param: '项目流水号_check=' + num1 + '&项目流水号=' + num2 + '&机床流水号_check=' + num3 + '&机床流水号=' + num4 + '&组件流水号_check=' + num5 + '&组件流水号=' + num6 + '&零件图号_check=' + num7 + '&零件图号=' + num8 + '&预算状态=' + num9,
Pagination: pageCurrent + '&' + pageSize Pagination: pageCurrent + '&' + pageSize
} }
}) })

View File

@@ -0,0 +1,206 @@
import request from '@/utils/request'
// 单据状态: 1 未成交 2 成交 3 作废
export function shouhuo(num) {
return request({
url: '',
method: 'post',
data: {
type: '2',
name: '车间生产管理_外协加工任务单_修改数据_作废',
param: '外协加工任务单流水号=' + num + '&单据状态=3'
}
})
}
// 初始化获取已生成的外协加工任务单初始化获取已生成的外协加工任务单
export function getTable(checked, contractNumber, checked1, manufacturers, checked2, time1, time2, num, pageCurrent, pageSize) {
return request({
url: '',
method: 'post',
data: {
type: '1',
name: '车间生产管理_外协加工任务单_查询数据_查询页',
param: '外协加工任务单_check=0&外协加工任务单流水号=null&表单号_check=' + checked + '&表单号=' + contractNumber + '&外协厂家_check=' + checked1 + '&外协厂家=' + manufacturers + '&任务下达日期_时间段=' + checked2 + '&开始时间=' + time1 + '&结束时间=' + time2 + '&单据状态_check=0&单据状态=1&外协员编号_check=0&外协员编号=' + num,
Pagination: pageCurrent + '&' + pageSize
}
})
}
// 初始化获取外协厂家数据
export function getData1() {
return request({
url: '',
method: 'post',
data: {
type: '1',
name: '车间生产管理工艺_基础表_外协厂家_查询数据'
}
})
}
// 初始化获取已预算价格,未选入到外协加工任务单的零件
export function getTable1(check, partNumber) {
return request({
url: '',
method: 'post',
data: {
type: '1',
name: '车间生产管理工艺_零件工艺计划_查询数据_外协_新',
param: '零件图号_check=' + check + '=int&零件图号=' + partNumber + '=string'
}
})
}
// 获取零件工序信息(零件号表中)
export function getprocedure(processPlan, single) {
return request({
url: '',
method: 'post',
data: {
type: '1',
name: '车间生产管理工艺_零件工序_查询数据_根据工艺计划流水号_工艺名称简称_新',
param: '工艺计划流水号=' + processPlan + '=int&单件是否外协=' + single + '=int'
}
})
}
// 外协厂家查询
export function searchManufactor(name) {
return request({
url: '',
method: 'post',
data: {
type: '1',
name: '车间生产管理工艺_基础表_外协厂家_查询数据_ 根据条件',
param: '序号_check=0=bit&序号=' + ' ' + '=string&外协厂家名称_check=1=bit&外协厂家名称=' + name + '=string&外协厂家简称_check=0=bit&外协厂家简称=' + ' ' + '=string&地址_check=0=bit&地址=' + ' ' + '=string&联系人_check=0=bit&联系人=' + ' ' + '=string&电话_check=0=bit&电话=' + ' ' + '=string&传真_check=0=bit&传真=' + ' ' + '=string&备注_check=0=bit&备注=' + ' ' + '=string&类别_check=0=bit&类别=' + ' ' + '=string&关注_check=0=bit&关注=' + ' ' + '=string&设备情况_check=0=bit&设备情况=' + ' ' + '=string'
}
})
}
// 确定价格
export function spareParts(processNum, single) {
return request({
url: '',
method: 'post',
data: {
type: '1',
name: '车间生产管理工艺_零件工序_查询数据_根据工艺计划流水号_全部_新',
param: '工艺计划流水号=' + processNum + '=int&工序数量=21=int&单件是否外协=' + single + '=int'
}
})
}
// 暂未启用
export function spareParts1(processNum, single) {
return request({
url: '',
method: 'post',
data: {
type: '1',
name: '车间生产管理工艺_零件工序_查询数据_根据工艺计划流水号_全部_新',
param: '工艺计划流水号=' + processNum + '=int&工序数量=31=int&单件是否外协=' + single + '=int'
}
})
}
// 新建外协加工任务单
export function addTable(contractNumber, personNum, manufacturers, time, freight) {
return request({
url: '',
method: 'post',
data: {
type: '2',
name: '车间生产管理_外协加工任务单_增加数据',
param: '表单号=' + contractNumber + '=string&外协计划员编号=' + personNum + '&外协厂家=' + manufacturers + '=int&任务下达日期=' + time + '=string&运费=' + freight + '=int'
}
})
}
// 外协加工任务单修改
export function editData(Number, manufacturers, freight, documentStatus, sign, Explain) {
return request({
url: '',
method: 'post',
data: {
type: '2',
name: '车间生产管理_外协加工任务单_修改数据',
param: '外协加工任务单流水号=' + Number + '=int&外协厂家=' + manufacturers + '=int&运费=' + freight + '=int&单据状态=' + documentStatus + '=int&入库标志=' + sign + '=int&扣款说明=' + Explain
}
})
}
// 成交
export function editData1(Number, manufacturers, freight, documentStatus, sign, Explain) {
return request({
url: '',
method: 'post',
data: {
type: '2',
name: '车间生产管理_外协加工任务单_修改数据',
param: '外协加工任务单流水号=' + Number + '=int&外协厂家=' + manufacturers + '=int&运费=' + freight + '=int&单据状态=' + documentStatus + '=int&入库标志=' + sign + '=int&扣款说明=' + Explain + '&扣款_质量=0&扣款_计划=0&扣款_其他=0'
}
})
}
// 删除外协加工任务单
export function deleteData(Number) {
return request({
url: '',
method: 'post',
data: {
type: '2',
name: '车间生产管理_外协加工任务单_删除数据',
param: '外协加工任务单流水号=' + Number + '=int'
}
})
}
// 移除零件
export function deleteData1(Number) {
return request({
url: '',
method: 'post',
data: {
type: '2',
name: '车间生产管理_外协加工任务单_修改数据_作废',
param: '外协加工任务单明细流水号=' + Number + '&单据状态=4'
}
})
}
// 选入零件
export function insertParts(processNum, Number) {
return request({
url: '',
method: 'post',
data: {
type: '2',
name: '车间生产管理_外协加工任务单明细_增加数据',
param: '外协加工任务单流水号=' + Number + '=int&工艺计划流水号=' + processNum + '=int'
}
})
}
// 查询任务单明细
export function getParts(Number) {
return request({
url: '',
method: 'post',
data: {
type: '1',
name: '车间生产管理_外协加工任务单明细_查询数据',
param: '外协加工任务单流水号=' + Number + '=int'
}
})
}
// 数据库生产表单号
export function getNumber(time) {
return request({
url: '',
method: 'post',
data: {
type: '1',
name: '车间生产管理_外协加工任务单_查询数据_单据编号',
param: '任务下达日期=' + time + '=string&表单号=1=string=output'
}
})
}
// 计算价格
export function getPrice(Number, money, money1, money2, money3) {
return request({
url: '',
method: 'post',
data: {
type: '2',
name: '车间生产管理_外协加工任务单明细_修改数据',
param: '外协加工任务单明细流水号=' + Number + '=int&加工价格_预算=' + money + '&加工价格_成交=' + money1 + '&材料价格_价格=' + money2 + '&其他价格=' + money3 + '&入库标志=1=int&交检数量=0=int&合格数量=0=int&回用数量=0=int&废品数量=0=int'
}
})
}

View File

@@ -1,14 +1,47 @@
import request from '@/utils/request' import request from '@/utils/request'
export function machine() {
return request({
url: '',
method: 'post',
data: {
type: '1',
name: '车间生产管理工艺_序间外协_项目查询'
}
})
}
export function getToolNum(num) {
return request({
url: '',
method: 'post',
data: {
type: '1',
name: '车间生产管理工艺_传递后_机床名称_查询数据_查询所有机床',
param: '项目流水号=' + num
}
})
}
// 组号
export function getNum(num) {
return request({
url: '',
method: 'post',
data: {
type: '1',
name: '车间生产管理工艺_传递后_组件名称_查询数据_查询所有组',
param: '机床流水号=' + num
}
})
}
// 查询表1 // 查询表1
export function searchTable(check, num1, pageCurrent, pageSize) { export function searchTable(num1, num2, num3, num4, num5, num6, check, num7, pageCurrent, pageSize) {
return request({ return request({
url: '', url: '',
method: 'post', method: 'post',
data: { data: {
type: '1', type: '1',
name: '车间生产管理工艺_零件工艺计划_查询数据_状态_新', name: '车间生产管理工艺_零件工艺计划_查询数据_状态_新',
param: '项目流水号_check=0&项目流水号=0&机床流水号_check=0&机床流水号=0&组件流水号_check=0&组件流水号=0&零件图号_check=' + check + '&零件图号=' + num1 + '&考核状态_check=0&考核状态=0&单件是否外协_check=1&单件是否外协=1&时间=0&机加工开始时间=0&机加工结束时间=0&零件类型=0', param: '项目流水号_check=' + num1 + '&项目流水号=' + num2 + '&机床流水号_check=' + num3 + '&机床流水号=' + num4 + '&组件流水号_check=' + num5 + '&组件流水号=' + num6 + '&零件图号_check=' + check + '&零件图号=' + num7 + '&考核状态_check=0&考核状态=0&单件是否外协_check=1&单件是否外协=1&时间=0&机加工开始时间=0&机加工结束时间=0&零件类型=0',
Pagination: pageCurrent + '&' + pageSize Pagination: pageCurrent + '&' + pageSize
} }
}) })

View File

@@ -12,15 +12,14 @@ export function initProject() {
}) })
} }
// 初始化项目金额统计表 // 初始化项目金额统计表
export function searchReceiveCheck(pageCurrent, pageSize, check, num) { export function searchReceiveCheck(check, num) {
return request({ return request({
url: '', url: '',
method: 'post', method: 'post',
data: { data: {
type: '1', type: '1',
name: '采购管理_领用核算_查询数据', name: '采购管理_领用核算_查询数据',
param: `项目流水号_check=${check}&项目流水号=${num}`, param: `项目流水号_check=${check}&项目流水号=${num}`
Pagination: pageCurrent + '&' + pageSize
} }
}) })
} }

View File

@@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1543312395670" class="icon" style="" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1739" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M237.477297 786.433252h487.224794v-61.285629H237.477297v61.285629zM724.702091 573.429266H237.477297v60.301674h487.224794V573.429266z" p-id="1740"></path><path d="M846.702242 938.800126H146.261877V115.955362h491.157175l60.922667-60.943309H85.33577v944.755464h822.263336V252.709684l-60.895144 66.769632V938.800126h-0.00172z" p-id="1741"></path><path d="M481.329662 481.699506l111.469076-0.092891 201.09847-200.475757-108.642784-112.778149-203.833591 203.217758-0.091171 110.129039zM907.599106 167.773001L799.049212 55.012053l-63.963983 63.212255 109.088317 113.104988 63.42556-63.556295z" p-id="1742"></path></svg>

After

Width:  |  Height:  |  Size: 998 B

View File

@@ -3,7 +3,7 @@ import axios from 'axios'
// import store from '../store' // import store from '../store'
// import { getToken } from '@/utils/auth' // import { getToken } from '@/utils/auth'
export const wsuri = `ws://192.168.1.128:61101//WebMoudule//websocket` export const wsuri = `ws://192.168.1.149:61101//WebMoudule//websocket`
export const name = `OP8888` export const name = `OP8888`
// 创建axios实例 // 创建axios实例
@@ -12,11 +12,11 @@ export const download = `http://123.56.95.229:8411/submit/downloadFile.ashx`
const service = axios.create({ const service = axios.create({
// baseURL: `http://192.168.1.149:8411/submit/MESCommonBase.ashx`, // baseURL: `http://192.168.1.149:8411/submit/MESCommonBase.ashx`,
// baseURL: `http://192.168.1.149:8411/submit/MESCommonBase.ashx`,
// baseURL: `http://localhost:8411/submit/MESCommonBase.ashx`,
// baseURL: `http://localhost:8411/submit/MESCommonBase.ashx`,
baseURL: `http://192.168.1.149:8411/submit/MESCommonBase.ashx`, baseURL: `http://192.168.1.149:8411/submit/MESCommonBase.ashx`,
// baseURL: `http://localhost:8411/submit/MESCommonBase.ashx`, // baseURL: `http://192.168.1.112:8411/submit/MESCommonBase.ashx`,
// baseURL: `http://localhost:8411/submit/MESCommonBase.ashx`,
// baseURL: `http://192.168.1.149:8411/submit/MESCommonBase.ashx`,git
// baseURL: `http://localhost:8411/submit/MESCommonBase.ashx`,
timeout: 1500000 // 请求超时时间 timeout: 1500000 // 请求超时时间
}) })

206
src/vendor/Export2Excelcjn.js vendored Normal file
View File

@@ -0,0 +1,206 @@
/* eslint-disable */
require('script-loader!file-saver');
import XLSX from 'xlsx'
function generateArray(table) {
var out = [];
var rows = table.querySelectorAll('tr');
var ranges = [];
for (var R = 0; R < rows.length; ++R) {
var outRow = [];
var row = rows[R];
var columns = row.querySelectorAll('td');
for (var C = 0; C < columns.length; ++C) {
var cell = columns[C];
var colspan = cell.getAttribute('colspan');
var rowspan = cell.getAttribute('rowspan');
var cellValue = cell.innerText;
if (cellValue !== "" && cellValue == +cellValue) cellValue = +cellValue;
//Skip ranges
ranges.forEach(function (range) {
if (R >= range.s.r && R <= range.e.r && outRow.length >= range.s.c && outRow.length <= range.e.c) {
for (var i = 0; i <= range.e.c - range.s.c; ++i) outRow.push(null);
}
});
//Handle Row Span
if (rowspan || colspan) {
rowspan = rowspan || 1;
colspan = colspan || 1;
ranges.push({
s: {
r: R,
c: outRow.length
},
e: {
r: R + rowspan - 1,
c: outRow.length + colspan - 1
}
});
};
//Handle Value
outRow.push(cellValue !== "" ? cellValue : null);
//Handle Colspan
if (colspan)
for (var k = 0; k < colspan - 1; ++k) outRow.push(null);
}
out.push(outRow);
}
return [out, ranges];
};
function datenum(v, date1904) {
if (date1904) v += 1462;
var epoch = Date.parse(v);
return (epoch - new Date(Date.UTC(1899, 11, 30))) / (24 * 60 * 60 * 1000);
}
function sheet_from_array_of_arrays(data, opts) {
var ws = {};
var range = {
s: {
c: 10000000,
r: 10000000
},
e: {
c: 0,
r: 0
}
};
for (var R = 0; R != data.length; ++R) {
for (var C = 0; C != data[R].length; ++C) {
if (range.s.r > R) range.s.r = R;
if (range.s.c > C) range.s.c = C;
if (range.e.r < R) range.e.r = R;
if (range.e.c < C) range.e.c = C;
var cell = {
v: data[R][C]
};
if (cell.v == null) continue;
var cell_ref = XLSX.utils.encode_cell({
c: C,
r: R
});
if (typeof cell.v === 'number') cell.t = 'n';
else if (typeof cell.v === 'boolean') cell.t = 'b';
else if (cell.v instanceof Date) {
cell.t = 'n';
cell.z = XLSX.SSF._table[14];
cell.v = datenum(cell.v);
} else cell.t = 's';
ws[cell_ref] = cell;
}
}
if (range.s.c < 10000000) ws['!ref'] = XLSX.utils.encode_range(range);
return ws;
}
function Workbook() {
if (!(this instanceof Workbook)) return new Workbook();
this.SheetNames = [];
this.Sheets = {};
}
function s2ab(s) {
var buf = new ArrayBuffer(s.length);
var view = new Uint8Array(buf);
for (var i = 0; i != s.length; ++i) view[i] = s.charCodeAt(i) & 0xFF;
return buf;
}
export function export_table_to_excel(id) {
var theTable = document.getElementById(id);
var oo = generateArray(theTable);
var ranges = oo[1];
/* original data */
var data = oo[0];
var ws_name = "SheetJS";
var wb = new Workbook(),
ws = sheet_from_array_of_arrays(data);
/* add ranges to worksheet */
// ws['!cols'] = ['apple', 'banan'];
ws['!merges'] = ranges;
/* add worksheet to workbook */
wb.SheetNames.push(ws_name);
wb.Sheets[ws_name] = ws;
var wbout = XLSX.write(wb, {
bookType: 'xlsx',
bookSST: false,
type: 'binary'
});
saveAs(new Blob([s2ab(wbout)], {
type: "application/octet-stream"
}), "test.xlsx")
}
export function export_json_to_excel({
header,
data,
filename,
autoWidth = true,
bookType= 'xlsx'
} = {}) {
/* original data */
filename = filename || 'excel-list'
data = [...data]
data.unshift(header);
var ws_name = filename || 'excel-list';
var wb = new Workbook(),
ws = sheet_from_array_of_arrays(data);
if (autoWidth) {
/*设置worksheet每列的最大宽度*/
const colWidth = data.map(row => row.map(val => {
/*先判断是否为null/undefined*/
if (val == null) {
return {
'wch': 10
};
}
/*再判断是否为中文*/
else if (val.toString().charCodeAt(0) > 255) {
return {
'wch': val.toString().length * 2
};
} else {
return {
'wch': val.toString().length
};
}
}))
/*以第一行为初始值*/
let result = colWidth[0];
for (let i = 1; i < colWidth.length; i++) {
for (let j = 0; j < colWidth[i].length; j++) {
if (result[j]['wch'] < colWidth[i][j]['wch']) {
result[j]['wch'] = colWidth[i][j]['wch'];
}
}
}
ws['!cols'] = result;
}
/* add worksheet to workbook */
wb.SheetNames.push(ws_name);
wb.Sheets[ws_name] = ws;
var wbout = XLSX.write(wb, {
bookType: bookType,
bookSST: false,
type: 'binary'
});
saveAs(new Blob([s2ab(wbout)], {
type: "application/octet-stream"
}), `${filename}.${bookType}`);
}

View File

@@ -3,7 +3,7 @@
<el-row> <el-row>
<el-col :span="6"> <el-col :span="6">
<el-card> <el-card>
<el-button type="primary" icon="el-icon-circle-plus-outline" size="small" @click="handleAdd()">新增</el-button> <el-button type="primary" icon="el-icon-circle-plus-outline" size="small" @click="handleAdd('department_Form')">新增</el-button>
<el-button type="warning" icon="el-icon-edit" size="small" @click="handleEdit()">编辑</el-button> <el-button type="warning" icon="el-icon-edit" size="small" @click="handleEdit()">编辑</el-button>
<el-button type="danger" icon="el-icon-delete" size="small" @click="deleteTable()">删除</el-button> <el-button type="danger" icon="el-icon-delete" size="small" @click="deleteTable()">删除</el-button>
</el-card> </el-card>
@@ -187,8 +187,8 @@
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button @click="cancel">取消</el-button> <el-button @click="cancel">取消</el-button>
<el-button v-if="department_Title==='新增部门'" type="primary" @click="submitAdd">确定</el-button> <el-button v-if="department_Title==='新增部门'" type="primary" @click="submitAdd('department_Form')">确定</el-button>
<el-button v-else-if="department_Title==='编辑部门'" type="primary" @click="submitEdit">确定</el-button> <el-button v-else-if="department_Title==='编辑部门'" type="primary" @click="submitEdit('department_Form')">确定</el-button>
</div> </div>
</el-dialog> </el-dialog>
@@ -353,7 +353,8 @@ export default {
Title: [{ required: true, message: '请输入', trigger: 'change' }], Title: [{ required: true, message: '请输入', trigger: 'change' }],
PositionStatus: [{ required: true, message: '请输入', trigger: 'change' }], PositionStatus: [{ required: true, message: '请输入', trigger: 'change' }],
Education: [{ required: true, message: '请输入', trigger: 'change' }], Education: [{ required: true, message: '请输入', trigger: 'change' }],
Post: [{ required: true, message: '请输入', trigger: 'change' }] Post: [{ required: true, message: '请输入', trigger: 'change' }],
DepartmentName: [{ required: true, message: '请输入', trigger: 'blur' }]
}, },
SexData: [{ SexData: [{
value: 1, value: 1,
@@ -365,7 +366,9 @@ export default {
EducationDate: [], EducationDate: [],
PostData: [], PostData: [],
multipleSelection: [], multipleSelection: [],
nodeName1: [] nodeName1: [],
count1: 0,
count2: 0
} }
}, },
created() { created() {
@@ -418,10 +421,14 @@ export default {
} }
} }
}, },
handleAdd() { handleAdd(formName) {
this.department_Title = '新增部门' this.department_Title = '新增部门'
this.department_DFV = true this.department_DFV = true
this.addForm('department_Form') this.department_Form.DepartmentName = ''
this.count1 = this.count1 + 1
if (this.count1 !== 1) {
this.$refs[formName].resetFields()
}
}, },
handleEdit() { handleEdit() {
this.addForm('department_Form') this.addForm('department_Form')
@@ -433,11 +440,12 @@ export default {
this.$message.warning(`请选择要修改的部门`) this.$message.warning(`请选择要修改的部门`)
} }
}, },
submitAdd() { submitAdd(formName) {
this.$refs[formName].validate((valid) => {
if (valid) {
this.department_DFV = false this.department_DFV = false
if (this.id) { if (this.id) {
addDepartmentName(this.id, this.department_Form.DepartmentName, 0).then(response => { addDepartmentName(this.id, this.department_Form.DepartmentName, 0).then(response => {
console.log(response.data[0].result === '1')
if (response.data[0].result === '1') { if (response.data[0].result === '1') {
this.getTreeData() this.getTreeData()
this.$message.success('添加成功') this.$message.success('添加成功')
@@ -455,8 +463,14 @@ export default {
} }
}) })
} }
} else {
return false
}
})
}, },
submitEdit() { submitEdit(formName) {
this.$refs[formName].validate((valid) => {
if (valid) {
this.department_DFV = false this.department_DFV = false
editList(this.id, this.department_Form.DepartmentName).then(response => { editList(this.id, this.department_Form.DepartmentName).then(response => {
if (response.data[0].result === '1') { if (response.data[0].result === '1') {
@@ -466,11 +480,35 @@ export default {
this.$message.error('编辑失败') this.$message.error('编辑失败')
} }
}) })
} else {
return false
}
})
}, },
deleteTable() { deleteTable() {
if (this.id) { if (this.id) {
this.deleteRow(delList, this.id, function() { this.getTreeData() }) this.$confirm('此操作将永久删除该数据, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
delList(this.id).then(response => {
if (response.data[0].result === '1') {
this.getTreeData()
this.i = 1 this.i = 1
this.id = ''
this.$message({
message: '已被成功删除',
type: 'success'
})
}
})
}).catch(() => {
this.$message({
type: 'info',
message: '已取消删除'
})
})
} else { } else {
this.$message.warning(`请选择部门`) this.$message.warning(`请选择部门`)
} }
@@ -508,6 +546,7 @@ export default {
if (this.id) { if (this.id) {
addPeople(this.id, this.people_form.Sex, this.people_form.Education, this.people_form.Address, this.people_form.Nation, this.people_form.Post, this.people_form.AccountNumber, this.people_form.Password, this.people_form.Name, this.people_form.IDcard, this.people_form.TimeOfEntry, this.people_form.Birthday, this.people_form.ContactInformation).then(response => { addPeople(this.id, this.people_form.Sex, this.people_form.Education, this.people_form.Address, this.people_form.Nation, this.people_form.Post, this.people_form.AccountNumber, this.people_form.Password, this.people_form.Name, this.people_form.IDcard, this.people_form.TimeOfEntry, this.people_form.Birthday, this.people_form.ContactInformation).then(response => {
if (response.data[0].result === '1') { if (response.data[0].result === '1') {
this.i = 1
this.handleNodeClick() this.handleNodeClick()
this.$message.success('添加成功') this.$message.success('添加成功')
} else { } else {

View File

@@ -129,7 +129,7 @@ export default {
cancelButtonText: '取消', cancelButtonText: '取消',
type: 'warning' type: 'warning'
}).then(() => { }).then(() => {
approvalExchangepart(row.交换单流水号, row.交换件物料流水号, row.交换件组件零件流水号, row.交换件采购合同明细流水号, row.货位流水号, row.交换数量).then(response => { approvalExchangepart(row.交换单流水号, row.交换件物料流水号, row.被交换件物料流水号, row.交换件组件零件流水号, row.交换件组件零件流水号, row.交换件采购合同明细流水号, row.货位流水号, row.被交换货位流水号, row.交换数量).then(response => {
if (response.data[0].result === '1') { if (response.data[0].result === '1') {
this.$message.success('执行成功') this.$message.success('执行成功')
this.searchTable1() this.searchTable1()

View File

@@ -71,8 +71,8 @@
</el-table-column> </el-table-column>
<el-table-column label="操作" align="center" min-width="120"> <el-table-column label="操作" align="center" min-width="120">
<template slot-scope="scope" align="center"> <template slot-scope="scope" align="center">
<el-button size="small" type="warning" icon="el-icon-sort-up" style="margin: 0 0 0 0px" @click="selecting(scope.row)">交换</el-button> <el-button :disabled="scope.row.是否禁用" size="small" type="warning" icon="el-icon-sort-up" style="margin: 0 0 0 0px" @click="selecting(scope.row)">交换</el-button>
<el-button size="small" type="primary" icon="el-icon-sort-down" style="margin: 0 0 0 0px" @click="selected(scope.row)">被交换</el-button> <el-button :disabled="scope.row.是否禁用" size="small" type="primary" icon="el-icon-sort-down" style="margin: 0 0 0 0px" @click="selected(scope.row)">被交换</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@@ -166,7 +166,7 @@
</div> </div>
</el-col> </el-col>
</el-row> </el-row>
<!--新增交换件对话框--> <!--交换件表格-->
</el-card> </el-card>
<el-card> <el-card>
<el-table <el-table
@@ -246,6 +246,15 @@
<el-form-item label="交换数量" prop="ExchangeNumberx" label-width="100px"> <el-form-item label="交换数量" prop="ExchangeNumberx" label-width="100px">
<el-input v-model="form.ExchangeNumberx" size="small" placeholder="请输入交换数量" style="width: 200px"/> <el-input v-model="form.ExchangeNumberx" size="small" placeholder="请输入交换数量" style="width: 200px"/>
</el-form-item> </el-form-item>
<el-form-item label="领料单" prop="ExchangeNumberx" label-width="100px">
<el-select v-model="PickingListNumber" filterable clearable size="small" placeholder="领料单号" style="width: 200px;margin-right:10px" @change="searchGroupList()">
<el-option
v-for="item in PickingList"
:key="item.value"
:label="item.label"
:value="item.value"/>
</el-select>
</el-form-item>
<el-form-item label="备注" prop="ExchangeNote" label-width="100px"> <el-form-item label="备注" prop="ExchangeNote" label-width="100px">
<el-input v-model="form.ExchangeNote" size="small" placeholder="请输入备注" style="width: 200px"/> <el-input v-model="form.ExchangeNote" size="small" placeholder="请输入备注" style="width: 200px"/>
</el-form-item> </el-form-item>
@@ -260,7 +269,7 @@
</template> </template>
<script> <script>
import { initProject, searchmachine, searchTeam, searchPurchasePart, addExchangepart, searchExchangePart, dropExchangeList, editExchangeList } from '@/api/Inventory/ExchangePart' import { initProject, searchmachine, searchTeam, searchPurchasePart, addExchangepart, searchExchangePart, dropExchangeList, editExchangeList, searchList1 } from '@/api/Inventory/ExchangePart'
import { mapGetters } from 'vuex' import { mapGetters } from 'vuex'
export default { export default {
data() { data() {
@@ -316,7 +325,9 @@ export default {
listLoading1: '', listLoading1: '',
exchangeListNumber: '', exchangeListNumber: '',
eTeamPartNumber: '', eTeamPartNumber: '',
title: '' title: '',
PickingListNumber: '',
PickingList: []
} }
}, },
computed: { computed: {
@@ -328,6 +339,7 @@ export default {
this.fetchData() this.fetchData()
this.getpeopleid() this.getpeopleid()
this.getExchangeTable() this.getExchangeTable()
this.searchPickingList()
}, },
methods: { methods: {
fetchData() { fetchData() {
@@ -368,6 +380,16 @@ export default {
} }
}) })
}, },
searchPickingList() {
searchList1().then(response => {
for (let i = 0; i < response.data.length; i++) {
this.PickingList.push({
label: response.data[i].领料单编号,
value: response.data[i].领料单流水号
})
}
})
},
searchPartinfo() { searchPartinfo() {
this.tableDataPurchase = [] this.tableDataPurchase = []
this.tableDataBasic = [] this.tableDataBasic = []
@@ -382,8 +404,13 @@ export default {
} }
this.listLoading = true this.listLoading = true
searchPurchasePart(this.PageCurrent, this.PageSize, this.ProjectValue_check, this.ProjectValue, this.MachineValue_check, this.MachineValue, this.GroupNumValue_check, this.GroupNumValue).then(response => { searchPurchasePart(this.PageCurrent, this.PageSize, this.ProjectValue_check, this.ProjectValue, this.MachineValue_check, this.MachineValue, this.GroupNumValue_check, this.GroupNumValue).then(response => {
this.tableDataPurchase = response.data.rows
this.total = response.data.total this.total = response.data.total
const data = response.data.rows
console.log(data)
for (let i = 0; i < data.length; i++) {
data[i].是否交换 === '1' || data[i].是否交换 === '2' ? data[i].是否禁用 = true : data[i].是否禁用 = false
}
this.tableDataPurchase = data
}) })
this.listLoading = false this.listLoading = false
}, },
@@ -403,7 +430,7 @@ export default {
const data = response.data.rows const data = response.data.rows
console.log(data) console.log(data)
for (let i = 0; i < data.length; i++) { for (let i = 0; i < data.length; i++) {
data[i].审批通过 === '1' ? data[i].是否禁用 = true : data[i].是否禁用 = false data[i].审批通过 === '1' || data[i].审批通过 === '2' ? data[i].是否禁用 = true : data[i].是否禁用 = false
} }
this.tableDataExchange = data this.tableDataExchange = data
this.total1 = response.data.total this.total1 = response.data.total
@@ -428,7 +455,7 @@ export default {
addListDetailinfor(form) { addListDetailinfor(form) {
this.$refs[form].validate((valid) => { this.$refs[form].validate((valid) => {
if (valid) { if (valid) {
addExchangepart(this.form.ExchangeNumber, this.tableData1[0].组件零件流水号, this.tableData1[0].物料流水号, this.tableData1[0].采购合同明细流水号, this.tableData2[0].组件零件流水号, this.tableData1[0].物料名称, this.tableData2[0].物料名称, this.tableData2[0].货位流水号, this.form.ExchangeNumberx, this.picikingPeople, this.form.ExchangeNote).then(response => { addExchangepart(this.form.ExchangeNumber, this.tableData1[0].组件零件流水号, this.tableData1[0].物料流水号, this.tableData1[1].物料流水号, this.tableData1[0].采购合同明细流水号, this.tableData2[0].组件零件流水号, this.tableData1[0].物料名称, this.tableData2[0].物料名称, this.tableData1[0].货位流水号, this.tableData2[0].货位流水号, this.form.ExchangeNumberx, this.picikingPeople, this.form.ExchangeNote, this.PickingListNumber).then(response => {
if (response.data[0].result === '1') { if (response.data[0].result === '1') {
this.$message.success('增加成功') this.$message.success('增加成功')
} else { this.$message.error('增加失败') } } else { this.$message.error('增加失败') }
@@ -436,6 +463,7 @@ export default {
this.dialogFormVisible = false this.dialogFormVisible = false
this.PageCurrent1 = 1 this.PageCurrent1 = 1
this.getExchangeTable() this.getExchangeTable()
this.searchPartinfo()
}) })
} }
}) })

View File

@@ -76,6 +76,7 @@
<template slot-scope="scope"> <template slot-scope="scope">
<el-button type="primary" size="mini" class="el-icon-success" @click="Innumber">入库</el-button> <el-button type="primary" size="mini" class="el-icon-success" @click="Innumber">入库</el-button>
<el-button <el-button
:disabled="scope.row.是否禁用"
size="mini" size="mini"
type="danger" type="danger"
class="el-icon-delete" class="el-icon-delete"
@@ -90,7 +91,7 @@
</template> </template>
<script> <script>
import { searchTable, insertOne, getinventory, getlocate } from '@/api/Inventory/GenneralPart' import { searchTable, insertOne, getinventory, getlocate } from '@/api/Inventory/Inboundscanning'
import { mapGetters } from 'vuex' import { mapGetters } from 'vuex'
import { wsuri, name } from '@/utils/request' import { wsuri, name } from '@/utils/request'
import print from '@/vendor/print' import print from '@/vendor/print'
@@ -178,6 +179,8 @@ export default {
if (response.data.length === 0) { if (response.data.length === 0) {
this.listLoading = false this.listLoading = false
this.$message.warning('无此零件') this.$message.warning('无此零件')
} else if (response.data[0].剩余数量 === 0) {
this.$message.warning('该零件已入库完毕')
} else { } else {
for (let i = 0; i < this.tableData.length; i++) { for (let i = 0; i < this.tableData.length; i++) {
if (response.data[0].工艺计划流水号 === this.tableData[i].工艺计划流水号) { if (response.data[0].工艺计划流水号 === this.tableData[i].工艺计划流水号) {
@@ -212,7 +215,13 @@ export default {
cancelButtonText: '取消', cancelButtonText: '取消',
type: 'warning' type: 'warning'
}).then(() => { }).then(() => {
if (this.locateNumber === '') {
this.$message.error('请选择货位')
} else {
for (let i = 0; i < this.tableData.length; i++) { for (let i = 0; i < this.tableData.length; i++) {
if (this.tableData[i].innumber === '0') {
this.$message.error('请输入正确数量')
} else {
if (this.tableData[i].innumber > this.tableData[i].plannumber) { if (this.tableData[i].innumber > this.tableData[i].plannumber) {
this.tableData[i].innumber = this.tableData[i].plannumber this.tableData[i].innumber = this.tableData[i].plannumber
} }
@@ -225,6 +234,8 @@ export default {
this.Empty() this.Empty()
}) })
} }
}
}
}).catch(() => { }).catch(() => {
this.$message({ this.$message({
type: 'info', type: 'info',

View File

@@ -161,7 +161,9 @@ export default {
}, },
websocketonmessage(msg) { // 数据接收 websocketonmessage(msg) { // 数据接收
this.partNumber = msg.data.split('|')[3] this.partNumber = msg.data.split('|')[3]
this.getscantable() this.partNumber = this.partNumber.slice(1)
console.log()
this.getscantable(this.partNumber, 3333)
}, },
websocketclose() { // 关闭 websocketclose() { // 关闭
console.log('WebSocket关闭') console.log('WebSocket关闭')
@@ -219,6 +221,9 @@ export default {
this.$message.error('请选择货位') this.$message.error('请选择货位')
} else { } else {
for (let i = 0; i < this.tableData.length; i++) { for (let i = 0; i < this.tableData.length; i++) {
if (this.tableData[i].innumber === '0') {
this.$message.error('请输入正确数量')
} else {
if (this.tableData[i].innumber > this.tableData[i].plannumber) { if (this.tableData[i].innumber > this.tableData[i].plannumber) {
this.tableData[i].innumber = this.tableData[i].plannumber this.tableData[i].innumber = this.tableData[i].plannumber
} }
@@ -232,6 +237,7 @@ export default {
}) })
} }
} }
}
}).catch(() => { }).catch(() => {
this.$message({ this.$message({
type: 'info', type: 'info',

View File

@@ -310,7 +310,7 @@
</el-table> </el-table>
</el-card> </el-card>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="采购采购" name="second"> <el-tab-pane label="采购" name="second">
<el-card v-show="purchaseshow"> <el-card v-show="purchaseshow">
<el-radio-group <el-radio-group
v-model="radio" v-model="radio"
@@ -380,7 +380,7 @@
</el-table-column> </el-table-column>
<el-table-column label="零件数量" align="center" min-width="80"> <el-table-column label="零件数量" align="center" min-width="80">
<template slot-scope="scope"> <template slot-scope="scope">
{{ scope.row.入库累计数 }} {{ scope.row.货位存 }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="零件类型" align="center" min-width="80"> <el-table-column label="零件类型" align="center" min-width="80">
@@ -539,6 +539,11 @@
{{ scope.row.类型名称 }} {{ scope.row.类型名称 }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="安全库存" align="center" min-width="80">
<template slot-scope="scope">
{{ scope.row.安全库存量 }}
</template>
</el-table-column>
<el-table-column label="操作" align="center" width="200px"> <el-table-column label="操作" align="center" width="200px">
<template slot-scope="scope" align="center"> <template slot-scope="scope" align="center">
<el-button size="mini" type="warning" icon="el-icon-tickets" style="margin: 0 0 0 0px" @click="standardselecting(scope.row)" >选择</el-button> <el-button size="mini" type="warning" icon="el-icon-tickets" style="margin: 0 0 0 0px" @click="standardselecting(scope.row)" >选择</el-button>
@@ -664,7 +669,7 @@
</el-card> </el-card>
<el-card v-show="housebasicshow"> <el-card v-show="housebasicshow">
<el-table <el-table
v-loading="listLoadingx" v-loading="listLoadingx1"
:data="HouseDataBasic" :data="HouseDataBasic"
border border
style="width: 100%;" style="width: 100%;"
@@ -674,19 +679,14 @@
align="center" align="center"
type="index" type="index"
width="50"/> width="50"/>
<el-table-column label="物料名称" align="center" min-width="80"> <el-table-column label="零件名称" align="center" min-width="80">
<template slot-scope="scope"> <template slot-scope="scope">
{{ scope.row.物料名称 }} {{ scope.row.物料名称 }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="物料规格" align="center" min-width="80"> <el-table-column label="零件图号" align="center" min-width="80">
<template slot-scope="scope"> <template slot-scope="scope">
{{ scope.row.物料规格 }} {{ scope.row.零件图号 }}
</template>
</el-table-column>
<el-table-column label="物料型号" align="center" min-width="80">
<template slot-scope="scope">
{{ scope.row.物料型号 }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="项目名称" align="center" min-width="80"> <el-table-column label="项目名称" align="center" min-width="80">
@@ -824,7 +824,7 @@
</el-card> </el-card>
<el-card v-show="housepurchaseshow"> <el-card v-show="housepurchaseshow">
<el-table <el-table
v-loading="listLoadingx" v-loading="listLoadingx2"
:data="HouseDataPurchase" :data="HouseDataPurchase"
border border
style="width: 100%;" style="width: 100%;"
@@ -1273,6 +1273,7 @@ export default {
changesafeAmount(row) { changesafeAmount(row) {
this.dialogFormVisible2 = true this.dialogFormVisible2 = true
this.teamPartNumber = row.组件零件流水号 this.teamPartNumber = row.组件零件流水号
this.form.safeNumber = row.安全库存量
}, },
// 修改安全库存量 // 修改安全库存量
edeitsafeAmount() { edeitsafeAmount() {
@@ -1280,6 +1281,7 @@ export default {
this.dialogFormVisible2 = false this.dialogFormVisible2 = false
if (response.data[0].result === '1') { if (response.data[0].result === '1') {
this.$message.success('添加成功') this.$message.success('添加成功')
this.searchStandardPartinfo()
} else { } else {
this.$message.error('添加失败') this.$message.error('添加失败')
} }

View File

@@ -40,12 +40,6 @@
{{ scope.row.备注 }} {{ scope.row.备注 }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="budget" label="领用人" width="100" align="center">
<template slot-scope="scope">
{{ scope.row.领用人 }}
</template>
</el-table-column>
<el-table-column label="操作" min-width="100" align="center" fixed="right"> <el-table-column label="操作" min-width="100" align="center" fixed="right">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
@@ -97,12 +91,12 @@
{{ scope.row.仓库名称 }} {{ scope.row.仓库名称 }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column align="center" label="追溯码" width="150"> <el-table-column align="center" label="二维码" width="150">
<template slot-scope="scope"> <template slot-scope="scope">
<canvas :id="canvas[scope.$index]"/> <canvas :id="canvas[scope.$index]" class="code"/>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作" min-width="100" align="center" fixed="right"> <el-table-column label="操作" width="200px" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
size="mini" size="mini"
@@ -221,10 +215,13 @@
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="是否永久" prop="永久"> <el-form-item label="是否永久" prop="永久">
<el-input <el-select v-model="form2.永久" clearable filterable placeholder="请选择" style="width: 200px;margin-right:10px">
v-model="form2.永久" <el-option
size="small" v-for="item in options"
style="width:200px"/> :key="item.value"
:label="item.label"
:value="item.value"/>
</el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@@ -292,7 +289,15 @@ export default {
LocateNumber: '', LocateNumber: '',
listLoading: '', listLoading: '',
PeopleValue: '', PeopleValue: '',
People: [] People: [],
canvas: [],
options: [{
value: '1',
label: '是'
}, {
value: '0',
label: '否'
}]
} }
}, },
created() { created() {
@@ -338,7 +343,9 @@ export default {
getLocate() { getLocate() {
this.tableData2 = [] this.tableData2 = []
searchLocate(this.wareHouse).then(response => { searchLocate(this.wareHouse).then(response => {
for (let i = 0; i < response.data.length; i++) { const data = response.data
for (let i = 0; i < data.length; i++) {
this.canvas.push(response.data[i].货位流水号.toString())
this.tableData2.push({ this.tableData2.push({
货位流水号: response.data[i].货位流水号, 货位流水号: response.data[i].货位流水号,
货位名称: response.data[i].货位名称, 货位名称: response.data[i].货位名称,
@@ -347,12 +354,21 @@ export default {
不可用量: response.data[i].不可用量, 不可用量: response.data[i].不可用量,
仓库名称: response.data[i].仓库名称 仓库名称: response.data[i].仓库名称
}) })
this.useqrcode()
} }
return data
}).then(res => {
for (let i = 0; i < res.length; i++) {
QRCode.toCanvas(document.getElementById(this.canvas[i]), res[i].货位流水号.toString(), function(error) {
if (error) console.error(error)
console.log('success!')
})
}
this.tableData2 = res
}) })
}, },
// 点击增加仓库 // 点击增加仓库
ADD() { ADD() {
this.form = []
if (this.$refs['form'] !== undefined) { if (this.$refs['form'] !== undefined) {
this.$refs['form'].resetFields() this.$refs['form'].resetFields()
} }
@@ -400,11 +416,6 @@ export default {
}, },
// 编辑 // 编辑
handleEdit(index, row, formName) { handleEdit(index, row, formName) {
console.log(row)
this.count2 = this.count2 + 1
if (this.count2 !== 1) {
this.$refs[formName].resetFields()
}
this.temp = 2 this.temp = 2
this.dialogFormVisible = true this.dialogFormVisible = true
this.form.WarehouseNumber = row.仓库编号 this.form.WarehouseNumber = row.仓库编号
@@ -456,6 +467,7 @@ export default {
}, },
// 点击增加货位 // 点击增加货位
ADDLocate() { ADDLocate() {
this.form2 = []
if (this.$refs['form2'] !== undefined) { if (this.$refs['form2'] !== undefined) {
this.$refs['form2'].resetFields() this.$refs['form2'].resetFields()
} }
@@ -511,6 +523,7 @@ export default {
}, },
// 执行修改货位 // 执行修改货位
LocateEdit() { LocateEdit() {
console.log(this.LocateNumber, this.form2.货位名称, this.form2.工作中心, this.form2.仓库流水号, this.form2.永久, this.form2.不可用量)
alterLocate(this.LocateNumber, this.form2.货位名称, this.form2.工作中心, this.form2.仓库流水号, this.form2.永久, this.form2.不可用量).then(response => { alterLocate(this.LocateNumber, this.form2.货位名称, this.form2.工作中心, this.form2.仓库流水号, this.form2.永久, this.form2.不可用量).then(response => {
this.dialogFormVisible2 = false this.dialogFormVisible2 = false
if (response.data[0].result === '1') { if (response.data[0].result === '1') {
@@ -568,5 +581,8 @@ export default {
</script> </script>
<style scoped> <style scoped>
.code{
width:120px!important;
height: auto!important;
}
</style> </style>

View File

@@ -102,7 +102,7 @@
:data="tableDataOut" :data="tableDataOut"
border border
style="width: 100%;" style="width: 100%;"
height="200"> height="350">
<el-table-column <el-table-column
label="序号" label="序号"
align="center" align="center"

View File

@@ -9,7 +9,7 @@
:data="tableData1" :data="tableData1"
border border
style="width: 100%;" style="width: 100%;"
height="200"> height="300">
<el-table-column <el-table-column
label="序号" label="序号"
align="center" align="center"
@@ -41,7 +41,7 @@
:data="tableDataPicking" :data="tableDataPicking"
border border
style="width: 100%;" style="width: 100%;"
height="200"> height="400">
<el-table-column <el-table-column
label="序号" label="序号"
align="center" align="center"
@@ -184,6 +184,7 @@ export default {
if (response.data[0].result === '1') { if (response.data[0].result === '1') {
ListDetailOut(row.领料单明细流水号) ListDetailOut(row.领料单明细流水号)
this.$message.success('出库成功') this.$message.success('出库成功')
this.searchListDetailt()
} else { this.$message.error('出库失败') } } else { this.$message.error('出库失败') }
}) })
} else if (row.零件类型 === 1 || row.零件类型 === 2) { } else if (row.零件类型 === 1 || row.零件类型 === 2) {
@@ -191,6 +192,7 @@ export default {
if (response.data[0].result === '1') { if (response.data[0].result === '1') {
ListDetailOut(row.领料单明细流水号) ListDetailOut(row.领料单明细流水号)
this.$message.success('出库成功') this.$message.success('出库成功')
this.searchListDetailt()
} else { this.$message.error('出库失败') } } else { this.$message.error('出库失败') }
}) })
} else { } else {
@@ -198,10 +200,10 @@ export default {
if (response.data[0].result === '1') { if (response.data[0].result === '1') {
this.$message.success('出库成功') this.$message.success('出库成功')
ListDetailOut(row.领料单明细流水号) ListDetailOut(row.领料单明细流水号)
this.searchListDetailt()
} else { this.$message.error('增加失败') } } else { this.$message.error('增加失败') }
}) })
} }
this.searchListDetailt()
} }
} }
} }

View File

@@ -787,6 +787,7 @@ export default {
this.materialType = row.零件类型名称 this.materialType = row.零件类型名称
this.materialNumber = row.零件图号 this.materialNumber = row.零件图号
this.enableOut = row.可出库数量 this.enableOut = row.可出库数量
this.purchaseDetailNum = row.采购合同明细流水号
}, },
addBasicListDetail(formName) { addBasicListDetail(formName) {
if (this.pickingListNumberx === '') { if (this.pickingListNumberx === '') {
@@ -796,9 +797,10 @@ export default {
} else { } else {
this.$refs[formName].validate((valid) => { this.$refs[formName].validate((valid) => {
if (valid) { if (valid) {
addListDetail(this.pickingListNumberx, this.partProjectNumber, this.partMachineNumber, this.partGroupNumber, this.partProjectName, this.partMachineName, this.partGroupName, this.materialName, this.materialType, this.materialNumber, this.form.OutNumber, this.partType, this.form.outNote, this.craftplannumber, this.receive, this.teamPart, this.locatenumber, 0, this.materialLocate).then(response => { addListDetail(this.pickingListNumberx, this.partProjectNumber, this.partMachineNumber, this.partGroupNumber, this.partProjectName, this.partMachineName, this.partGroupName, this.materialName, this.materialNumber, this.materialType, this.form.OutNumber, this.partType, this.form.outNote, this.craftplannumber, this.receive, this.teamPart, this.purchaseDetailNum, this.locatenumber, 0, this.materialLocate).then(response => {
if (response.data[0].result === '1') { if (response.data[0].result === '1') {
this.$message.success('增加成功') this.$message.success('增加成功')
this.searchPartinfo()
} else { } else {
this.$message.error('增加失败') this.$message.error('增加失败')
} }
@@ -829,12 +831,13 @@ export default {
this.dialogFormVisible = true this.dialogFormVisible = true
this.purchaseDetailNum = row.采购合同明细流水号 this.purchaseDetailNum = row.采购合同明细流水号
this.materialLocate = row.物料与货位对照流水号 this.materialLocate = row.物料与货位对照流水号
this.enableOut = row.货位存量 this.enableOut = row.货位存量 - row.待出库数量
}, },
execaddListDetail(formName) { execaddListDetail(formName) {
if (this.pickingListNumberx === '') { if (this.pickingListNumberx === '') {
this.$message.error('请选择领料单') this.$message.error('请选择领料单')
} else if (this.form2.OutNumber === '' || this.form2.OutNumber > this.enableOut) { } else if (this.form2.OutNumber === '' || this.form2.OutNumber > this.enableOut) {
console.log(this.enableOut)
this.$message.error('请正确输入领用数量') this.$message.error('请正确输入领用数量')
} else { } else {
this.$refs[formName].validate((valid) => { this.$refs[formName].validate((valid) => {
@@ -842,6 +845,7 @@ export default {
addListDetail(this.pickingListNumberx, this.partProjectNumber, this.partMachineNumber, this.partGroupNumber, this.partProjectName, this.partMachineName, this.partGroupName, this.materialName, this.materialType, this.materialNumber, this.form2.OutNumber, this.partType, this.form2.outNote, this.craftplannumber, this.receive, this.teamPart, this.purchaseDetailNum, this.locatenumber, 0, this.materialLocate).then(response => { addListDetail(this.pickingListNumberx, this.partProjectNumber, this.partMachineNumber, this.partGroupNumber, this.partProjectName, this.partMachineName, this.partGroupName, this.materialName, this.materialType, this.materialNumber, this.form2.OutNumber, this.partType, this.form2.outNote, this.craftplannumber, this.receive, this.teamPart, this.purchaseDetailNum, this.locatenumber, 0, this.materialLocate).then(response => {
if (response.data[0].result === '1') { if (response.data[0].result === '1') {
this.$message.success('增加成功') this.$message.success('增加成功')
this.searchPartinfo()
} else { } else {
this.$message.error('增加失败') this.$message.error('增加失败')
} }
@@ -884,6 +888,7 @@ export default {
addListDetail(this.pickingListNumberx, this.partProjectNumber, this.partMachineNumber, this.partGroupNumber, this.partProjectName, this.partMachineName, this.partGroupName, this.materialName, this.materialType, this.materialNumber, this.form3.OutNumber, this.partType, this.form3.outNote, this.craftplannumber, this.receive, this.teamPart, this.purchaseDetailNum, this.locatenumber, 1, this.materialLocate).then(response => { addListDetail(this.pickingListNumberx, this.partProjectNumber, this.partMachineNumber, this.partGroupNumber, this.partProjectName, this.partMachineName, this.partGroupName, this.materialName, this.materialType, this.materialNumber, this.form3.OutNumber, this.partType, this.form3.outNote, this.craftplannumber, this.receive, this.teamPart, this.purchaseDetailNum, this.locatenumber, 1, this.materialLocate).then(response => {
if (response.data[0].result === '1') { if (response.data[0].result === '1') {
this.$message.success('增加成功') this.$message.success('增加成功')
this.searchPartinfo()
} else { } else {
this.$message.error('增加失败') this.$message.error('增加失败')
} }

View File

@@ -99,12 +99,12 @@
</el-table-column> </el-table-column>
<el-table-column label="机床名称" align="center" min-width="80"> <el-table-column label="机床名称" align="center" min-width="80">
<template slot-scope="scope"> <template slot-scope="scope">
{{ scope.row.机床名称 }} {{ scope.row.机床图号 }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="组件名称" align="center" min-width="80"> <el-table-column label="组件名称" align="center" min-width="80">
<template slot-scope="scope"> <template slot-scope="scope">
{{ scope.row.件名称 }} {{ scope.row. }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="物料名称" align="center" min-width="80"> <el-table-column label="物料名称" align="center" min-width="80">
@@ -349,10 +349,13 @@ export default {
this.picikingPeople = this.id this.picikingPeople = this.id
console.log(this.picikingPeople) console.log(this.picikingPeople)
}, },
searchMachine() { // 查询机床 searchMachine() {
if (this.ProjectValue === '') { this.MachineValue = ''
this.ProjectValue_check = 0 this.Machine = []
} this.GroupNumValue = ''
this.GroupNum = []
if (this.ProjectValue !== '') {
this.ProjectValue_check = 1
searchmachine(this.ProjectValue_check, this.ProjectValue).then(response => { searchmachine(this.ProjectValue_check, this.ProjectValue).then(response => {
for (let i = 0; i < response.data.length; i++) { for (let i = 0; i < response.data.length; i++) {
this.Machine.push({ this.Machine.push({
@@ -361,6 +364,9 @@ export default {
}) })
} }
}) })
} else {
this.ProjectValue_check = 0
}
}, },
searchGroupList() { // 查询组号 searchGroupList() { // 查询组号
searchTeam(this.MachineValue).then(response => { searchTeam(this.MachineValue).then(response => {

View File

@@ -167,16 +167,16 @@
<!--</el-input>--> <!--</el-input>-->
<!--</template>--> <!--</template>-->
<!--</el-table-column>--> <!--</el-table-column>-->
<el-table-column label="操作" width="300px" fixed="right" align="center"> <el-table-column label="操作" width="200px" fixed="right" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
size="mini" size="mini"
type="primary" type="primary"
@click="handleEdit(scope.$index, scope.row, 'form')">分批投产</el-button> @click="handleEdit(scope.$index, scope.row, 'form')">分批投产</el-button>
<el-button <!--<el-button-->
size="mini" <!--size="mini"-->
type="primary" <!--type="primary"-->
@click="handleDele(scope.$index, scope.row, 'form1')">打回</el-button> <!--@click="handleDele(scope.$index, scope.row, 'form1')">打回</el-button>-->
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@@ -409,7 +409,7 @@ export default {
toolNumValue: '', toolNumValue: '',
toolNum: [], // 机床号 toolNum: [], // 机床号
NumValue: '', NumValue: '',
Num: [], // 机床后什么号 Num: [], // 分组
liushuihao: '', liushuihao: '',
gongyijihua: '', gongyijihua: '',
radio: 0, // 第一组 radio: 0, // 第一组

View File

@@ -29,7 +29,7 @@
</el-table-column> </el-table-column>
<el-table-column label="零件投产数量" align="center"> <el-table-column label="零件投产数量" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
{{ scope.row.已投产数量 }} {{ scope.row.批次数量 }}
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@@ -588,7 +588,7 @@ export default {
total: 0, total: 0,
tableData: [], tableData: [],
loading: false, loading: false,
PrNum: '027W191482-0001', PrNum: '',
tableData2: [], tableData2: [],
tableData3: [], tableData3: [],
机床号: '', 机床号: '',
@@ -617,6 +617,7 @@ export default {
searchData() { searchData() {
this.loading = true this.loading = true
search(this.pageCurrent, this.pageSize, this.PrNum).then(response => { search(this.pageCurrent, this.pageSize, this.PrNum).then(response => {
console.log(response.data)
this.tableData = response.data.rows this.tableData = response.data.rows
this.total = response.data.total this.total = response.data.total
this.loading = false this.loading = false

View File

@@ -0,0 +1,733 @@
<template>
<div class="app-container">
<el-card>
<el-row>
<span>项目名称:</span>
<el-select v-model="project" size="small" filterable clearable placeholder="项目名称" @change="getMachine">
<el-option
v-for="item in projects"
:key="item.value"
:label="item.label"
:value="item.value"/>
</el-select>
<span>机床号:</span>
<el-select v-model="Machine" size="small" clearable placeholder="机床号" @change="getGroup">
<el-option
v-for="item in Machines"
:key="item.value"
:label="item.label"
:value="item.value"/>
</el-select>
<span>组号:</span>
<el-select v-model="Group" size="small" clearable placeholder="组号">
<el-option
v-for="item in Groups"
:key="item.value"
:label="item.label"
:value="item.value"/>
</el-select>
<span>零件号:</span>
<el-input v-model="number" placeholder="零件号" clearable size="small" style="width: 200px;"/>
<el-button type="success" class="el-icon-search" size="small" style="margin: 10px 0 0 10px" @click="pageCurrent=1;pageSize=10;total = 0;getTableData();">查询</el-button>
</el-row>
</el-card>
<el-card>
<el-table
v-loading="listLoading1"
:data="tableData1"
class="table"
border
height="650">
<el-table-column
label="序号"
align="center"
width="50"
type="index"/>
<el-table-column
align="center"
label="零件图号"
width="200px">
<template slot-scope="scope">{{ 零件图号[scope.$index] }}</template>
</el-table-column>
<el-table-column
align="center"
label="零件名称"
width="120px">
<template slot-scope="scope"> {{ 零件名称[scope.$index] }}</template>
</el-table-column>
<el-table-column
align="center"
prop="address"
label="数量">
<template slot-scope="scope">{{ 投产数量[scope.$index] }}</template>
</el-table-column>
<el-table-column label="零件加工计划进度(工艺名称,计划完成时间,实际完成时间,员工名称)" >
<el-table-column label="[1]" align="center" width="120px">
<template slot-scope="scope">
<div :class="colorCode[scope.$index][0]" @click="handleChange1(scope.$index, scope.row, 'form', 0)">
<h4>{{ process[scope.$index][0] }}</h4><h4>{{ planDate[scope.$index][0] }} </h4><h4> {{ realDate[scope.$index][0] }}</h4><h4> {{ worker[scope.$index][0] }}</h4>
</div>
</template>
</el-table-column>
<el-table-column label="[2]" align="center" width="120px">
<template slot-scope="scope">
<div :class="colorCode[scope.$index][1]" @click="handleChange1(scope.$index, scope.row, 'form', 1)">
<h4>{{ process[scope.$index][1] }}</h4><h4>{{ planDate[scope.$index][1] }} </h4><h4> {{ realDate[scope.$index][1] }}</h4><h4> {{ worker[scope.$index][1] }}</h4>
</div>
</template>
</el-table-column>
<el-table-column label="[3]" align="center" width="120px">
<template slot-scope="scope">
<div :class="colorCode[scope.$index][2]" @click="handleChange1(scope.$index, scope.row, 'form', 2)">
<h4>{{ process[scope.$index][2] }}</h4><h4>{{ planDate[scope.$index][2] }} </h4><h4> {{ realDate[scope.$index][2] }}</h4><h4> {{ worker[scope.$index][2] }}</h4>
</div>
</template>
</el-table-column>
<el-table-column label="[4]" align="center" width="120px">
<template slot-scope="scope">
<div :class="colorCode[scope.$index][3]" @click="handleChange1(scope.$index, scope.row, 'form', 3)">
<h4>{{ process[scope.$index][3] }}</h4><h4>{{ planDate[scope.$index][3] }} </h4><h4> {{ realDate[scope.$index][3] }}</h4><h4> {{ worker[scope.$index][3] }}</h4>
</div>
</template>
</el-table-column>
<el-table-column label="[5]" align="center" width="120px">
<template slot-scope="scope">
<div :class="colorCode[scope.$index][4]" @click="handleChange1(scope.$index, scope.row, 'form', 4)">
<h4>{{ process[scope.$index][4] }}</h4><h4>{{ planDate[scope.$index][4] }} </h4><h4> {{ realDate[scope.$index][4] }}</h4><h4> {{ worker[scope.$index][4] }}</h4>
</div>
</template>
</el-table-column>
<el-table-column label="[6]" align="center" width="120px">
<template slot-scope="scope">
<div :class="colorCode[scope.$index][5]" @click="handleChange1(scope.$index, scope.row, 'form', 5)">
<h4>{{ process[scope.$index][5] }}</h4><h4>{{ planDate[scope.$index][5] }} </h4><h4> {{ realDate[scope.$index][5] }}</h4><h4> {{ worker[scope.$index][5] }}</h4>
</div>
</template>
</el-table-column>
<el-table-column label="[7]" align="center" width="120px">
<template slot-scope="scope">
<div :class="colorCode[scope.$index][6]" @click="handleChange1(scope.$index, scope.row, 'form', 6)">
<h4>{{ process[scope.$index][6] }}</h4><h4>{{ planDate[scope.$index][6] }} </h4><h4> {{ realDate[scope.$index][6] }}</h4><h4> {{ worker[scope.$index][6] }}</h4>
</div>
</template>
</el-table-column>
<el-table-column label="[8]" align="center" width="120px">
<template slot-scope="scope">
<div :class="colorCode[scope.$index][7]" @click="handleChange1(scope.$index, scope.row, 'form', 7)">
<h4>{{ process[scope.$index][7] }}</h4><h4>{{ planDate[scope.$index][7] }} </h4><h4> {{ realDate[scope.$index][7] }}</h4><h4> {{ worker[scope.$index][7] }}</h4>
</div>
</template>
</el-table-column>
<el-table-column label="[9]" align="center" width="120px">
<template slot-scope="scope">
<div :class="colorCode[scope.$index][8]" @click="handleChange1(scope.$index, scope.row, 'form', 8)">
<h4>{{ process[scope.$index][8] }}</h4><h4>{{ planDate[scope.$index][8] }} </h4><h4> {{ realDate[scope.$index][8] }}</h4><h4> {{ worker[scope.$index][8] }}</h4>
</div>
</template>
</el-table-column>
<el-table-column label="[10]" align="center" width="120px">
<template slot-scope="scope">
<div :class="colorCode[scope.$index][9]" @click="handleChange1(scope.$index, scope.row, 'form', 9)">
<h4>{{ process[scope.$index][9] }}</h4><h4>{{ planDate[scope.$index][9] }} </h4><h4> {{ realDate[scope.$index][9] }}</h4><h4> {{ worker[scope.$index][9] }}</h4>
</div>
</template>
</el-table-column>
<el-table-column label="[11]" align="center" width="120px">
<template slot-scope="scope">
<div :class="colorCode[scope.$index][10]" @click="handleChange1(scope.$index, scope.row, 'form', 10)">
<h4>{{ process[scope.$index][10] }}</h4><h4>{{ planDate[scope.$index][10] }} </h4><h4> {{ realDate[scope.$index][10] }}</h4><h4> {{ worker[scope.$index][10] }}</h4>
</div>
</template>
</el-table-column>
<el-table-column label="[12]" align="center" width="120px">
<template slot-scope="scope">
<div :class="colorCode[scope.$index][11]" @click="handleChange1(scope.$index, scope.row, 'form', 11)">
<h4>{{ process[scope.$index][11] }}</h4><h4>{{ planDate[scope.$index][11] }} </h4><h4> {{ realDate[scope.$index][11] }}</h4><h4> {{ worker[scope.$index][11] }}</h4>
</div>
</template>
</el-table-column>
<el-table-column label="[13]" align="center" width="120px">
<template slot-scope="scope">
<div :class="colorCode[scope.$index][12]" @click="handleChange1(scope.$index, scope.row, 'form', 12)">
<h4>{{ process[scope.$index][12] }}</h4><h4>{{ planDate[scope.$index][12] }} </h4><h4> {{ realDate[scope.$index][12] }}</h4><h4> {{ worker[scope.$index][12] }}</h4>
</div>
</template>
</el-table-column>
<el-table-column label="[14]" align="center" width="120px">
<template slot-scope="scope">
<div :class="colorCode[scope.$index][13]" @click="handleChange1(scope.$index, scope.row, 'form', 13)">
<h4>{{ process[scope.$index][13] }}</h4><h4>{{ planDate[scope.$index][13] }} </h4><h4> {{ realDate[scope.$index][13] }}</h4><h4> {{ worker[scope.$index][13] }}</h4>
</div>
</template>
</el-table-column>
<el-table-column label="[15]" align="center" width="120px">
<template slot-scope="scope">
<div :class="colorCode[scope.$index][14]" @click="handleChange1(scope.$index, scope.row, 'form', 14)">
<h4>{{ process[scope.$index][14] }}</h4><h4>{{ planDate[scope.$index][14] }} </h4><h4> {{ realDate[scope.$index][14] }}</h4><h4> {{ worker[scope.$index][14] }}</h4>
</div>
</template>
</el-table-column>
<el-table-column label="[16]" align="center" width="120px">
<template slot-scope="scope">
<div :class="colorCode[scope.$index][15]" @click="handleChange1(scope.$index, scope.row, 'form', 15)">
<h4>{{ process[scope.$index][15] }}</h4><h4>{{ planDate[scope.$index][15] }} </h4><h4> {{ realDate[scope.$index][15] }}</h4><h4> {{ worker[scope.$index][15] }}</h4>
</div>
</template>
</el-table-column>
<el-table-column label="[17]" align="center" width="120px">
<template slot-scope="scope">
<div :class="colorCode[scope.$index][16]" @click="handleChange1(scope.$index, scope.row, 'form', 16)">
<h4>{{ process[scope.$index][16] }}</h4><h4>{{ planDate[scope.$index][16] }} </h4><h4> {{ realDate[scope.$index][16] }}</h4><h4> {{ worker[scope.$index][16] }}</h4>
</div>
</template>
</el-table-column>
<el-table-column label="[18]" align="center" width="120px">
<template slot-scope="scope">
<div :class="colorCode[scope.$index][17]" @click="handleChange1(scope.$index, scope.row, 'form', 17)">
<h4>{{ process[scope.$index][17] }}</h4><h4>{{ planDate[scope.$index][17] }} </h4><h4> {{ realDate[scope.$index][17] }}</h4><h4> {{ worker[scope.$index][17] }}</h4>
</div>
</template>
</el-table-column>
<el-table-column label="[19]" align="center" width="120px">
<template slot-scope="scope">
<div :class="colorCode[scope.$index][18]" @click="handleChange1(scope.$index, scope.row, 'form', 18)">
<h4>{{ process[scope.$index][18] }}</h4><h4>{{ planDate[scope.$index][18] }} </h4><h4> {{ realDate[scope.$index][18] }}</h4><h4> {{ worker[scope.$index][18] }}</h4>
</div>
</template>
</el-table-column>
<el-table-column label="[20]" align="center" width="120px">
<template slot-scope="scope">
<div :class="colorCode[scope.$index][19]" @click="handleChange1(scope.$index, scope.row, 'form', 19)">
<h4>{{ process[scope.$index][19] }}</h4><h4>{{ planDate[scope.$index][19] }} </h4><h4> {{ realDate[scope.$index][19] }}</h4><h4> {{ worker[scope.$index][19] }}</h4>
</div>
</template>
</el-table-column>
<el-table-column label="[21]" align="center" width="120px">
<template slot-scope="scope">
<div :class="colorCode[scope.$index][20]" @click="handleChange1(scope.$index, scope.row, 'form', 20)">
<h4>{{ process[scope.$index][20] }}</h4><h4>{{ planDate[scope.$index][20] }} </h4><h4> {{ realDate[scope.$index][20] }}</h4><h4> {{ worker[scope.$index][20] }}</h4>
</div>
</template>
</el-table-column>
<el-table-column label="[22]" align="center" width="120px">
<template slot-scope="scope">
<div :class="colorCode[scope.$index][21]" @click="handleChange1(scope.$index, scope.row, 'form', 21)">
<h4>{{ process[scope.$index][21] }}</h4><h4>{{ planDate[scope.$index][21] }} </h4><h4> {{ realDate[scope.$index][21] }}</h4><h4> {{ worker[scope.$index][21] }}</h4>
</div>
</template>
</el-table-column>
<el-table-column label="[23]" align="center" width="120px">
<template slot-scope="scope">
<div :class="colorCode[scope.$index][22]" @click="handleChange1(scope.$index, scope.row, 'form', 22)">
<h4>{{ process[scope.$index][22] }}</h4><h4>{{ planDate[scope.$index][22] }} </h4><h4> {{ realDate[scope.$index][22] }}</h4><h4> {{ worker[scope.$index][22] }}</h4>
</div>
</template>
</el-table-column>
<el-table-column label="[24]" align="center" width="120px">
<template slot-scope="scope">
<div :class="colorCode[scope.$index][23]" @click="handleChange1(scope.$index, scope.row, 'form', 23)">
<h4>{{ process[scope.$index][23] }}</h4><h4>{{ planDate[scope.$index][23] }} </h4><h4> {{ realDate[scope.$index][23] }}</h4><h4> {{ worker[scope.$index][23] }}</h4>
</div>
</template>
</el-table-column>
<el-table-column label="[25]" align="center" width="120px">
<template slot-scope="scope">
<div :class="colorCode[scope.$index][24]" @click="handleChange1(scope.$index, scope.row, 'form', 24)">
<h4>{{ process[scope.$index][24] }}</h4><h4>{{ planDate[scope.$index][24] }} </h4><h4> {{ realDate[scope.$index][24] }}</h4><h4> {{ worker[scope.$index][24] }}</h4>
</div>
</template>
</el-table-column>
<el-table-column label="[26]" align="center" width="120px">
<template slot-scope="scope">
<div :class="colorCode[scope.$index][25]" @click="handleChange1(scope.$index, scope.row, 'form', 25)">
<h4>{{ process[scope.$index][25] }}</h4><h4>{{ planDate[scope.$index][25] }} </h4><h4> {{ realDate[scope.$index][25] }}</h4><h4> {{ worker[scope.$index][25] }}</h4>
</div>
</template>
</el-table-column>
<el-table-column label="[27]" align="center" width="120px">
<template slot-scope="scope">
<div :class="colorCode[scope.$index][26]" @click="handleChange1(scope.$index, scope.row, 'form', 26)">
<h4>{{ process[scope.$index][26] }}</h4><h4>{{ planDate[scope.$index][26] }} </h4><h4> {{ realDate[scope.$index][26] }}</h4><h4> {{ worker[scope.$index][26] }}</h4>
</div>
</template>
</el-table-column>
<el-table-column label="[28]" align="center" width="120px">
<template slot-scope="scope">
<div :class="colorCode[scope.$index][27]" @click="handleChange1(scope.$index, scope.row, 'form', 27)">
<h4>{{ process[scope.$index][27] }}</h4><h4>{{ planDate[scope.$index][27] }} </h4><h4> {{ realDate[scope.$index][27] }}</h4><h4> {{ worker[scope.$index][27] }}</h4>
</div>
</template>
</el-table-column>
<el-table-column label="[29]" align="center" width="120px">
<template slot-scope="scope">
<div :class="colorCode[scope.$index][28]" @click="handleChange1(scope.$index, scope.row, 'form', 28)">
<h4>{{ process[scope.$index][28] }}</h4><h4>{{ planDate[scope.$index][28] }} </h4><h4> {{ realDate[scope.$index][28] }}</h4><h4> {{ worker[scope.$index][28] }}</h4>
</div>
</template>
</el-table-column>
<el-table-column label="[30]" align="center" width="120px">
<template slot-scope="scope">
<div :class="colorCode[scope.$index][29]" @click="handleChange1(scope.$index, scope.row, 'form', 29)">
<h4>{{ process[scope.$index][29] }}</h4><h4>{{ planDate[scope.$index][29] }} </h4><h4> {{ realDate[scope.$index][29] }}</h4><h4> {{ worker[scope.$index][29] }}</h4>
</div>
</template>
</el-table-column>
</el-table-column>
</el-table>
<div class="block" style="margin-top: 10px;">
<el-pagination
:current-page="pageCurrent"
:page-sizes="[10, 20, 30, 40]"
:page-size="pageSize"
:total="total"
layout="total, sizes, prev, pager, next, jumper"
@size-change="handleSizeChange"
@current-change="handleCurrentChange"/>
</div>
</el-card>
<el-dialog :title="title" :visible.sync="dialogFormVisible" center style="min-height: 300px" width="400px">
<el-form ref="form" :model="form" :rules="rules" label-position="left" label-width="90px" class="demo-ruleForm">
<el-row width="200px">
<el-form-item label="操作员" prop="人员" >
<el-input v-model="form.人员" placeholder="操作员" readonly size="small" style="width: 80%" @focus="dialogTableVisible" />
</el-form-item>
<el-form-item label="考勤编号" prop="考勤编号" >
<el-input v-model="form.考勤编号" placeholder="考勤编号" disabled size="small" style="width: 80%" />
</el-form-item>
<el-form-item label="完成日期" prop="完成时间">
<el-date-picker
v-model="form.完成时间"
style="width: 80%"
size="small"
type="date"
value-format="yyyy-MM-dd"
format="yyyy-MM-dd"
placeholder="选择日期"/>
</el-form-item>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="callOff('form')">取消</el-button>
<el-button type="primary" @click="submit('form')" >确定</el-button>
</div>
</el-dialog>
<el-dialog :visible.sync="dialogFormVisible1" title="人员信息" center width="750px">
<div style="height: 500px">
<div style="float: left;margin-top: 10px;margin-left: 20px;overflow-y: scroll;height: 400px">
<el-tree
:data="data2"
node-key="id"
style="width: 150px;float: left"
height="400"
accordion
@node-click="handleNodeClick"
/>
</div>
<el-table :data="List1" highlight-current-row height="400" style="width: 400px;float: left;margin-left: 30px" @row-click="handleCurrentChange2">
<el-table-column label="考勤编号" align="center" >
<template slot-scope="scope">
{{ scope.row.考勤编号 }}
</template>
</el-table-column>
<el-table-column label="姓名" align="center" >
<template slot-scope="scope">
{{ scope.row.姓名 }}
</template>
</el-table-column>
<el-table-column label="性别" align="center">
<template slot-scope="scope">
{{ scope.row.性别 }}
</template>
</el-table-column>
<el-table-column label="工作岗位" align="center">
<template slot-scope="scope">
{{ scope.row.岗位名称 }}
</template>
</el-table-column>
</el-table>
</div>
<el-button style="margin-left: 260px" @click="dialogFormVisible1 = false">取消</el-button>
<el-button type="primary" style="margin-top: 20px" @click="getName">确认</el-button>
</el-dialog>
</div>
</template>
<script>
import { handlechange3, getTable8, getTree, fn, dialogtablevisible, getNames, getMachines, getGroups, getTable, getTable2, handlechange, handlechange2 } from '@/api/ManufacturingCenter/ProcessingStatusEdit'
export default {
data() {
return {
midd: 0,
ssks: '',
cjscgy: '',
List1: [],
data2: [],
dialogFormVisible1: false,
Name: '',
person: '',
title: '',
Num: '',
form: {
人员: '',
考勤编号: '',
完成时间: ''
},
rules: {
人员: [{ required: true, message: '请选择操作员', trigger: 'change' }],
考勤编号: [{ required: true, message: '考勤编号', trigger: 'change' }],
完成时间: [{ required: true, message: '请选择实际完成时间', trigger: 'change' }]
},
Number1: '',
dialogFormVisible: false,
count1: 0,
liushuihao: '',
radioList: '0',
length: 0,
listLoading1: false,
tableData1: [],
project: '',
projects: [],
Machine: '',
Machines: [],
Group: '',
Groups: [],
Speed: '',
Speeds: [{
value: 5,
label: '全部'
}, {
value: 1,
label: '拖期'
}, {
value: 2,
label: '即将拖期'
}, {
value: 3,
label: '如期'
}, {
value: 4,
label: '工序外协'
}],
number: '',
checkbox_project: false,
checkbox_Machine: false,
checkbox_Group: false,
checkbox_number: false,
零件图号: [],
零件名称: [],
投产数量: [],
result: [],
kaoqinbianhao: [[]],
gongxuliushuihao: [[]],
process: [[]],
planDate: [[]],
worker: [[]],
colorCode: [[]],
realDate: [[]],
total: 0, // 总条数
pageSize: 10,
pageCurrent: 1
}
},
created() {
this.fetchData()
this.fetchData3()
},
methods: {
handleCurrentChange2(row) { // 获取当前行人员信息
this.ssks = row.节点名称
this.Number1 = row.考勤编号
this.Name = row.姓名
},
getName() { // 提交人员
this.dialogFormVisible1 = false
this.form.人员 = this.Name
this.form.考勤编号 = this.Number1
},
handleNodeClick(data) { // 树节点点击
this.ssks = data.label
getTable8(data.id).then(response => {
this.List1 = response.data
})
},
fetchData3() {
getTree().then(response => { // 获取人员信息树
const data = response.data
this.data2 = fn(data, 0)
})
},
dialogTableVisible() {
this.dialogFormVisible1 = true
dialogtablevisible()
},
// 查询供应商名称
fetchData() {
this.projects = []
getNames().then(response => {
for (let i = 0; i < response.data.length; i++) {
this.projects.push({
label: response.data[i].项目名称,
value: response.data[i].项目流水号
})
}
})
},
getMachine() {
this.Machine = ''
this.Machines = []
this.Group = ''
this.Groups = []
if (this.project !== '') {
getMachines(this.project).then(response => {
for (let i = 0; i < response.data.length; i++) {
this.Machines.push({
label: response.data[i].机床图号,
value: response.data[i].机床流水号
})
}
})
}
},
getGroup() {
this.Group = ''
this.Groups = []
getGroups(this.Machine).then(response => {
for (let i = 0; i < response.data.length; i++) {
this.Groups.push({
label: response.data[i].组号,
value: response.data[i].组件流水号
})
}
})
},
// 按条件查询
// CASE WHEN datediff(day , 计划日期 , 完成日期) <= 2 THEN 'lightgreen'
// WHEN datediff(day , 计划日期 , 完成日期) > 2 THEN 'red'
// WHEN datediff(day , 计划日期 , isnull(完成日期 , getdate())) > 1 THEN 'yellow' END
getTableData() {
this.listLoading1 = true
if (this.project === '') {
this.checkbox_project = false
} else {
this.checkbox_project = true
}
if (this.Machine === '') {
this.checkbox_Machine = false
} else {
this.checkbox_Machine = true
}
if (this.Group === '') {
this.checkbox_Group = false
} else {
this.checkbox_Group = true
}
if (this.number === '') {
this.checkbox_number = false
} else {
this.checkbox_number = true
}
this.tableData1 = []
this.零件图号 = []
this.零件名称 = []
this.投产数量 = []
this.result = []
this.kaoqinbianhao = [[]]
this.gongxuliushuihao = [[]]
this.process = [[]]
this.planDate = [[]]
this.worker = [[]]
this.colorCode = [[]]
this.realDate = [[]]
this.length = 0
getTable(this.checkbox_project, this.project, this.checkbox_Machine, this.Machine, this.checkbox_Group, this.Group, this.checkbox_number, this.number, this.pageCurrent, this.pageSize).then(response => {
if (response.data.rows.length === 0) {
this.listLoading1 = false
} else {
this.length = parseInt(response.data.total)
for (let i = 0; i < response.data.rows.length; i++) { // 声明二维数组
this.零件图号.push(response.data.rows[i].零件图号)
this.零件名称.push(response.data.rows[i].零件名称)
this.投产数量.push(response.data.rows[i].投产数量)
this.kaoqinbianhao[i] = []
this.gongxuliushuihao[i] = []
this.process[i] = []
this.planDate[i] = []
this.worker[i] = []
this.colorCode[i] = []
this.realDate[i] = []
this.result.push(response.data.rows[i])
}
if (this.零件图号.length !== 0) {
for (let i = 0; i < this.零件图号.length; i++) {
getTable2(this.checkbox_project, this.project, this.checkbox_Machine, this.Machine, this.checkbox_Group, this.Group, this.零件图号[i]).then(response => {
this.liushuihao = response.data[0].工艺计划流水号
for (let k = 0; k < response.data.length; k++) {
if (response.data[k].工艺计划流水号 === this.liushuihao) {
this.kaoqinbianhao[i][k] = response.data[k].工作者考勤编号
this.gongxuliushuihao[i][k] = response.data[k].工序流水号
this.process[i][k] = response.data[k].工艺名称简称
this.planDate[i][k] = response.data[k].计划日期_短
this.worker[i][k] = response.data[k].员工姓名
this.realDate[i][k] = response.data[k].完成日期_短
if (response.data[k].工序状态 === 5) { // 灰色:停产,不允许修改,重新投产
this.colorCode[i][k] = 'grey'
} else {
this.colorCode[i][k] = response.data[k].进度颜色
}
if (response.data[k].工序间是否外协 === 2) {
this.colorCode[i][k] = 'lightblue'
}
}
}
}).then(() => {
this.tableData1.push(this.result[i])
this.listLoading1 = false
this.total = this.length
})
}
} else {
this.tableData1 = []
this.listLoading1 = false
this.total = 0
}
}
})
},
// 编辑打开
handleChange1(index, row, formName, a) {
if (this.process[index][a] !== '' && this.process[index][a] !== null && this.process[index][a] !== undefined && this.colorCode[index][a] !== 'grey') {
this.count1 = this.count1 + 1
if (this.count1 !== 1) {
this.$refs[formName].resetFields()
}
this.midd = 0
this.form.完成时间 = ''
this.form.人员 = ''
this.form.考勤编号 = ''
if (this.worker[index][a] !== '请选择') {
this.midd = 1
this.form.人员 = this.worker[index][a]
}
if (this.kaoqinbianhao[index][a] !== 0) {
this.form.考勤编号 = this.kaoqinbianhao[index][a]
}
this.title = this.process[index][a]
this.Num = this.gongxuliushuihao[index][a]
this.dialogFormVisible = true
}
},
// 编辑确定
handleChange() {
if (this.midd === 0) {
handlechange2(this.Num, this.form.考勤编号).then(response => {
if (response.data[0].result === '1') {
handlechange(this.Num, this.form.完成时间).then(response => {
if (response.data[0].result === '1') {
this.$message.success('信息编辑成功')
} else {
this.$message.error('信息编辑失败')
}
})
} else {
this.$message.error('信息编辑失败')
}
})
this.getTableData()
} else {
handlechange3(this.Num, this.form.考勤编号).then(response => {
if (response.data[0].result === '1') {
handlechange(this.Num, this.form.完成时间).then(response => {
if (response.data[0].result === '1') {
this.$message.success('信息编辑成功')
this.getTableData()
} else {
this.$message.error('信息编辑失败')
}
})
} else {
this.$message.error('信息编辑失败')
}
})
}
this.dialogFormVisible = false
},
// 提交添加或者修改
submit(formName) {
this.$refs[formName].validate((valid) => {
if (valid) {
this.handleChange()
} else {
return false
}
})
},
// 重置表单
callOff(formName) {
this.dialogFormVisible = false
this.$refs[formName].resetFields()
},
handleSizeChange(val) {
this.pageSize = val
this.getTableData()
},
handleCurrentChange(val) {
this.pageCurrent = val
this.getTableData()
}
}
}
</script>
<style>
.white{
background-color: ghostwhite;
border: 1px solid #1f2d3d;
}
.grey{
background-color: grey;
border: 1px solid #1f2d3d;
}
.red{
background-color: orangered;
border: 1px solid #1f2d3d;
}
.lightblue{
background-color: deepskyblue;
border: 1px solid #1f2d3d;
}
.yellow{
background-color: yellow;
border: 1px solid #1f2d3d;
}
.blank{
background-color: transparent;
border: 0px solid white;
}
.lightgreen{
background-color: lightgreen;
border: 1px solid #1f2d3d;
}
</style>
<style scoped>
.el-form-item{
margin-bottom: 22px;
}
.el-card{
margin-bottom: 15px;
}
span{
margin: 10px 0 10px 10px;
}
.table h4{
border: 1px solid transparent;
margin: 0;
font-weight: normal;
width: 100px;
height: 24px;
}
</style>

View File

@@ -1206,6 +1206,7 @@ export default {
if (this.零件图号.length !== 0) { if (this.零件图号.length !== 0) {
for (let i = 0; i < this.零件图号.length; i++) { for (let i = 0; i < this.零件图号.length; i++) {
selection2(this.工艺计划流水号[i]).then(response => { selection2(this.工艺计划流水号[i]).then(response => {
console.log(response.data, 2)
for (let k = 0; k < response.data.length; k++) { for (let k = 0; k < response.data.length; k++) {
this.process[i][k] = response.data[k].工艺名称简称 this.process[i][k] = response.data[k].工艺名称简称
this.planDate[i][k] = response.data[k].计划日期_短 this.planDate[i][k] = response.data[k].计划日期_短
@@ -1224,7 +1225,6 @@ export default {
} }
}).then(() => { }).then(() => {
this.tableData1.push(this.result[i]) this.tableData1.push(this.result[i])
console.log(this.tableData1)
selection2(this.工艺计划流水号[this.indexAdjust]).then(response => { // 刷新对话框显示和颜色 selection2(this.工艺计划流水号[this.indexAdjust]).then(response => { // 刷新对话框显示和颜色
for (let i = 0; i < response.data.length; i++) { for (let i = 0; i < response.data.length; i++) {
this.partType = response.data[i].零件类型 this.partType = response.data[i].零件类型
@@ -1473,7 +1473,6 @@ export default {
}).then(() => { }).then(() => {
plan(this.tableData1[i].工艺计划流水号).then(response => { plan(this.tableData1[i].工艺计划流水号).then(response => {
if (this.tableData1[i].平衡次数 !== 0 || this.tableData1[i].是否焊接 !== 1) { if (this.tableData1[i].平衡次数 !== 0 || this.tableData1[i].是否焊接 !== 1) {
console.log(this.tableData1[i].平衡次数, 111)
this.result1 += parseInt(response.data[0].result) this.result1 += parseInt(response.data[0].result)
if (this.result1 === this.length) { if (this.result1 === this.length) {
this.$message.success('零件计划制定成功') this.$message.success('零件计划制定成功')

View File

@@ -12,7 +12,7 @@
<span style="margin-left: 10px">销售经理</span> <span style="margin-left: 10px">销售经理</span>
<el-input v-model="MarketingManagerValue" readonly clearable size="small" style="width:200px" placeholder="请双击选择营销经理" @dblclick.native="dialogFormVisiblePeople = true" @clear="clear()"/> <el-input v-model="MarketingManagerValue" readonly clearable size="small" style="width:200px" 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="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-button type="primary" icon="el-icon-circle-plus-outline" size="small" style="margin-left: 10px" @click="ADD('form2')">新增收款计划</el-button>
<el-badge :value="value" :max="99" class="item"> <el-badge :value="value" :max="99" class="item">
<el-button size="small" type="text" @click="AccountsReceivable">查看收款信息</el-button> <el-button size="small" type="text" @click="AccountsReceivable">查看收款信息</el-button>
</el-badge> </el-badge>
@@ -490,6 +490,7 @@ export default {
} }
return { return {
entryName2: [], entryName2: [],
count1: 0,
type: '', type: '',
a: 1, a: 1,
b: 1, b: 1,
@@ -576,7 +577,7 @@ export default {
rules: { // 表单验证规则 rules: { // 表单验证规则
ContractNumberValue: [{ required: true, message: '请输入合同编号', trigger: 'blur' }], ContractNumberValue: [{ required: true, message: '请输入合同编号', trigger: 'blur' }],
TotalContractAmount: [{ required: true, message: '请输入合同总金额', trigger: 'blur' }], TotalContractAmount: [{ required: true, message: '请输入合同总金额', trigger: 'blur' }],
entryNameValue: [{ required: true, message: '请输入项目名称', trigger: 'change' }] entryNameValue: [{ required: true, message: '请选择项目名称', trigger: 'change' }]
}, },
rules1: { // 表单验证规则 rules1: { // 表单验证规则
ThisPayment: [ ThisPayment: [
@@ -819,9 +820,11 @@ export default {
this.peoplename = '' this.peoplename = ''
}, },
searchProjectName() { searchProjectName() {
if (this.form2.entryNameValue !== '' && this.form2.entryNameValue !== null) {
searchProjectName(this.form2.entryNameValue).then(response => { searchProjectName(this.form2.entryNameValue).then(response => {
this.form2.ContractNumberValue = response.data[0].合同编号 this.form2.ContractNumberValue = response.data[0].合同编号
}) })
}
}, },
handleEdit(row) { handleEdit(row) {
this.contractTotal = parseFloat(row.合同总金额) this.contractTotal = parseFloat(row.合同总金额)
@@ -1025,8 +1028,14 @@ export default {
}) })
}) })
}, },
ADD() { ADD(formName) {
this.addForm('form2') this.form2.entryNameValue = ''
this.form2.ContractNumberValue = ''
this.form2.TotalContractAmount = ''
this.count1 = this.count1 + 1
if (this.count1 !== 1) {
this.$refs[formName].resetFields()
}
this.dialogFormVisible2 = true this.dialogFormVisible2 = true
this.temp = 1 this.temp = 1
}, },

View File

@@ -7,28 +7,33 @@
<el-radio :label="1">未编制</el-radio> <el-radio :label="1">未编制</el-radio>
<el-radio :label="2">已编制</el-radio> <el-radio :label="2">已编制</el-radio>
</el-radio-group> </el-radio-group>
<span>项目名称:</span>
<el-select v-model="entryNameValue" clearable filterable size="small" style="margin-bottom:10px" placeholder="项目名称" @change="typeChange()">
<el-option
v-for="item in entryName"
:key="item.value"
:label="item.label"
:value="item.value"/>
</el-select>
<span>机床名称:</span>
<el-select v-model="toolNumValue" clearable filterable size="small" placeholder="机床号" style="margin-bottom:10px" @change="typeChange1()">
<el-option
v-for="item in toolNum"
:key="item.value"
:label="item.label"
:value="item.value"/>
</el-select>
<span>分组:</span>
<el-select v-model="NumValue" clearable filterable size="small" style="margin-bottom:10px" placeholder="机床组号">
<el-option
v-for="item in Num"
:key="item.value"
:label="item.label"
:value="item.value"/>
</el-select>
<span>零件图号:</span> <span>零件图号:</span>
<el-input v-model="partName" placeholder="零件图号" size="small" clearable style="width:200px"/> <el-input v-model="partName" placeholder="零件图号" size="small" clearable style="width:200px"/>
<span>开始时间:</span>
<el-date-picker
v-model="date01"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
type="date"
size="small"
placeholder="选择开始日期"/>
<span>结束时间:</span>
<el-date-picker
v-model="date02"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
type="date"
size="small"
placeholder="选择结束日期"/>
<el-button size="small" icon="el-icon-search" type="success" style="margin-left: 10px" @click="pageSize2=10; pageCurrent2=1;searchPartNum()">查询</el-button> <el-button size="small" icon="el-icon-search" type="success" style="margin-left: 10px" @click="pageSize2=10; pageCurrent2=1;searchPartNum()">查询</el-button>
</el-row> </el-row>
@@ -71,30 +76,30 @@
{{ scope.row.原材料规格 }} {{ scope.row.原材料规格 }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="面积" width="110" align="center"> <!--<el-table-column label="面积" width="110" align="center">-->
<template slot-scope="scope"> <!--<template slot-scope="scope">-->
{{ scope.row.面积 }} <!--{{ scope.row.面积 }}-->
</template> <!--</template>-->
</el-table-column> <!--</el-table-column>-->
<el-table-column label="重量" width="110" align="center"> <!--<el-table-column label="重量" width="110" align="center">-->
<template slot-scope="scope"> <!--<template slot-scope="scope">-->
{{ scope.row.重量 }} <!--{{ scope.row.重量 }}-->
</template> <!--</template>-->
</el-table-column> <!--</el-table-column>-->
<el-table-column label="材料费" width="110" align="center"> <!--<el-table-column label="材料费" width="110" align="center">-->
<template slot-scope="scope"> <!--<template slot-scope="scope">-->
{{ scope.row.材料费 }} <!--{{ scope.row.材料费 }}-->
</template> <!--</template>-->
</el-table-column> <!--</el-table-column>-->
<el-table-column label="操作" align="center" width="150px" fixed="right"> <!--<el-table-column label="操作" align="center" width="150px" fixed="right">-->
<template slot-scope="scope"> <!--<template slot-scope="scope">-->
<el-button <!--<el-button-->
size="mini" <!--size="mini"-->
type="primary" <!--type="primary"-->
class="el-icon-edit" <!--class="el-icon-edit"-->
@click="edit(scope.$index, scope.row, 'form')">编辑</el-button> <!--@click="edit(scope.$index, scope.row, 'form')">编辑</el-button>-->
</template> <!--</template>-->
</el-table-column> <!--</el-table-column>-->
</el-table> </el-table>
<div class="block"> <div class="block">
<el-pagination <el-pagination
@@ -134,7 +139,7 @@
</el-table-column> </el-table-column>
<el-table-column label="外协预算价格" width="110" align="center"> <el-table-column label="外协预算价格" width="110" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<el-input v-model="tableData[scope.$index].外协预算价格_系数" size="mini" /> <el-input v-model="tableData[scope.$index].外协预算价格_计算" size="mini" />
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@@ -165,10 +170,16 @@
</template> </template>
<script> <script>
import { searchPartNum1, searchPartNum2, searchTable, saveWeightArea, saveMaterialPrice, saveRowPrice } from '@/api/Outsourcing/InterBudgetaryBudgets' import { machine, getToolNum, getNum, searchPartNum1, searchTable, saveWeightArea, saveMaterialPrice, saveRowPrice } from '@/api/Outsourcing/InterBudgetaryBudgets'
export default { export default {
data() { data() {
return { return {
entryNameValue: '',
entryName: [], // 项目名称
toolNumValue: '',
toolNum: [], // 机床号
NumValue: '',
Num: [], // 分组
lingjianhao: '', lingjianhao: '',
dialogFormVisible: false, dialogFormVisible: false,
form: { form: {
@@ -183,8 +194,6 @@ export default {
result2: [], result2: [],
radio: 1, radio: 1,
partName: '', // 零件名称 partName: '', // 零件名称
date01: '', // 开始时间
date02: '', // 结束时间
loading0: false, loading0: false,
tableData: [], tableData: [],
loading2: false, loading2: false,
@@ -194,33 +203,91 @@ export default {
pageCurrent2: 1 // 后台获取页 pageCurrent2: 1 // 后台获取页
} }
}, },
created() {
this.fetchData()
},
methods: { methods: {
radioChange() { radioChange() {
this.tableData2 = [] this.tableData2 = []
this.entryNameValue = ''
this.toolNumValue = ''
this.NumValue = ''
},
fetchData() {
this.entryNameValue = ''
this.entryName = []
machine().then(response => {
for (let i = 0; i < response.data.length; i++) {
this.entryName.push({
label: response.data[i].项目名称,
value: response.data[i].项目流水号
})
}
})
},
typeChange() {
this.toolNumValue = ''
this.toolNum = []
this.NumValue = ''
this.Num = []
getToolNum(this.entryNameValue).then(response => {
for (let i = 0; i < response.data.length; i++) {
this.toolNum.push({
label: response.data[i].机床图号,
value: response.data[i].机床流水号
})
}
})
},
typeChange1() {
this.NumValue = ''
this.Num = []
getNum(this.toolNumValue).then(response => {
for (let i = 0; i < response.data.length; i++) {
this.Num.push({
label: response.data[i].组号,
value: response.data[i].组件流水号
})
}
})
}, },
// 查零件号 // 查零件号
searchPartNum() { searchPartNum() {
if (this.partName === null) { if (this.partName === null) {
this.partName = '' this.partName = ''
} }
if (this.date01 === '') { if (this.entryNameValue !== null && this.entryNameValue !== '') {
this.date01 = null this.check_entryNameValue = 1
} else {
this.check_entryNameValue = 0
} }
if (this.date02 === '') { if (this.toolNumValue !== null && this.toolNumValue !== '') {
this.date02 = null this.check_toolNumValue = 1
} else {
this.check_toolNumValue = 0
}
if (this.NumValue !== null && this.NumValue !== '') {
this.check_NumValue = 1
} else {
this.check_NumValue = 0
}
if (this.partName !== null && this.partName !== '') {
this.check_partName = 1
} else {
this.check_partName = 0
} }
this.loading2 = true this.loading2 = true
this.tableData2 = [] this.tableData2 = []
this.tableData = [] this.tableData = []
if (this.radio === 1) { if (this.radio === 1) {
searchPartNum1(this.partName, this.date01, this.date02, this.pageCurrent2, this.pageSize2).then(response => { searchPartNum1(this.check_entryNameValue, this.entryNameValue, this.check_toolNumValue, this.toolNumValue, this.check_NumValue, this.NumValue, this.check_partName, this.partName, 0, this.pageCurrent2, this.pageSize2).then(response => {
this.tableData2 = response.data.rows this.tableData2 = response.data.rows
this.total2 = response.data.total this.total2 = response.data.total
}).then(() => { }).then(() => {
this.loading2 = false this.loading2 = false
}) })
} else { } else {
searchPartNum2(this.partName, this.date01, this.date02, this.pageCurrent2, this.pageSize2).then(response => { searchPartNum1(this.check_entryNameValue, this.entryNameValue, this.check_toolNumValue, this.toolNumValue, this.check_NumValue, this.NumValue, this.check_partName, this.partName, 1, this.pageCurrent2, this.pageSize2).then(response => {
this.tableData2 = response.data.rows this.tableData2 = response.data.rows
this.total2 = response.data.total this.total2 = response.data.total
}).then(() => { }).then(() => {
@@ -238,7 +305,7 @@ export default {
return return
} else if (index === 5) { } else if (index === 5) {
for (let i = 0; i < data.length; i++) { for (let i = 0; i < data.length; i++) {
sums[5] += parseFloat(data[i].外协预算价格_系数) sums[5] += parseFloat(data[i].外协预算价格_计算)
} }
sums[5] = parseInt(sums[5] * 100) / 100 sums[5] = parseInt(sums[5] * 100) / 100
} }
@@ -250,8 +317,8 @@ export default {
this.tableData = [] this.tableData = []
searchTable(row.工艺计划流水号, 1).then(response => { searchTable(row.工艺计划流水号, 1).then(response => {
for (let i = 0; i < response.data.length; i++) { for (let i = 0; i < response.data.length; i++) {
if (response.data[i].外协预算价格_系数 !== 0) { if (response.data[i].外协预算价格_计算 !== 0) {
response.data[i].外协预算价格_系数 = response.data[i].外协预算价格_系数.toFixed(2) response.data[i].外协预算价格_计算 = response.data[i].外协预算价格_计算.toFixed(2)
} }
} }
this.cailiaofei = row.材料费 this.cailiaofei = row.材料费
@@ -305,7 +372,7 @@ export default {
this.$message.error('请选择零件') this.$message.error('请选择零件')
} else { } else {
for (let i = 0; i < this.tableData.length; i++) { for (let i = 0; i < this.tableData.length; i++) {
saveRowPrice(this.tableData[i].工序流水号, parseFloat(this.tableData[i].外协预算价格_系数), this.tableData[i].工艺计划流水号, this.cailiaofei).then(response => { saveRowPrice(this.tableData[i].工序流水号, parseFloat(this.tableData[i].外协预算价格_计算), this.tableData[i].工艺计划流水号, this.cailiaofei).then(response => {
}) })
} }
this.$message.success('保存成功') this.$message.success('保存成功')

View File

@@ -53,8 +53,8 @@
</el-table-column> </el-table-column>
<el-table-column label="操作" align="center" min-width="200px"> <el-table-column label="操作" align="center" min-width="200px">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button type="primary" size="mini" icon="el-icon-edit" style="margin-left:10px" @click="handleEdit(scope.row)">编辑</el-button> <el-button :disabled="scope.row.单据状态==='成交'" type="primary" size="mini" icon="el-icon-edit" style="margin-left:10px" @click="handleEdit(scope.row)">编辑</el-button>
<el-button type="danger" size="mini" icon="el-icon-delete" @click="handleDelete(scope.row)">删除</el-button> <el-button :disabled="scope.row.单据状态==='成交'" type="danger" size="mini" icon="el-icon-delete" @click="handleDelete(scope.row)">删除</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@@ -433,12 +433,14 @@
placeholder="下达任务日期" placeholder="下达任务日期"
value-format="yyyy-MM-dd"/> value-format="yyyy-MM-dd"/>
</el-form-item> </el-form-item>
<el-form-item label="外协厂家" prop="外协厂家" style="margin-left: 200px">
<el-input v-model="form.外协厂家" readonly placeholder="外协厂家" size="small" style="width:200px" clearable>
<el-button slot="append" icon="el-icon-search" @click="onFocus1();param=1"/>
</el-input>
</el-form-item>
<el-form-item label="运费" prop="运费" style="margin-left: 200px"> <el-form-item label="运费" prop="运费" style="margin-left: 200px">
<el-input v-model="form.运费" placeholder="运费" size="small" style="width:200px" clearable/> <el-input v-model="form.运费" placeholder="运费" size="small" style="width:200px" clearable/>
</el-form-item> </el-form-item>
<el-form-item label="外协厂家" prop="外协厂家" style="margin-left: 200px">
<el-input v-model="form.外协厂家" readonly placeholder="外协厂家" size="small" style="width:200px" clearable @dblclick.native="onFocus1();param=1"/>
</el-form-item>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button @click="callOff('form')">取消</el-button> <el-button @click="callOff('form')">取消</el-button>

File diff suppressed because it is too large Load Diff

View File

@@ -2,6 +2,30 @@
<div> <div>
<el-card> <el-card>
<el-row> <el-row>
<span>项目名称:</span>
<el-select v-model="entryNameValue" clearable filterable size="small" style="margin-bottom:10px" placeholder="项目名称" @change="typeChange()">
<el-option
v-for="item in entryName"
:key="item.value"
:label="item.label"
:value="item.value"/>
</el-select>
<span>机床名称:</span>
<el-select v-model="toolNumValue" clearable filterable size="small" placeholder="机床号" style="margin-bottom:10px" @change="typeChange1()">
<el-option
v-for="item in toolNum"
:key="item.value"
:label="item.label"
:value="item.value"/>
</el-select>
<span>分组:</span>
<el-select v-model="NumValue" clearable filterable size="small" style="margin-bottom:10px" placeholder="机床组号">
<el-option
v-for="item in Num"
:key="item.value"
:label="item.label"
:value="item.value"/>
</el-select>
<span>零件图号:</span> <span>零件图号:</span>
<el-input v-model="partName" placeholder="零件图号" size="small" clearable style="width:200px"/> <el-input v-model="partName" placeholder="零件图号" size="small" clearable style="width:200px"/>
<el-button size="small" icon="el-icon-search" type="success" style="margin-left: 10px" @click="pageSize1=10; pageCurrent1=1;searchTable()">查询</el-button> <el-button size="small" icon="el-icon-search" type="success" style="margin-left: 10px" @click="pageSize1=10; pageCurrent1=1;searchTable()">查询</el-button>
@@ -108,10 +132,16 @@
</template> </template>
<script> <script>
import { searchTable, searchTable2, edit, edit2 } from '@/api/Outsourcing/PreorderAssociation' import { machine, getToolNum, getNum, searchTable, searchTable2, edit, edit2 } from '@/api/Outsourcing/PreorderAssociation'
export default { export default {
data() { data() {
return { return {
entryNameValue: '',
entryName: [], // 项目名称
toolNumValue: '',
toolNum: [], // 机床号
NumValue: '',
Num: [], // 分组
count: 0, // 计数器 (表二是否有外协工序) count: 0, // 计数器 (表二是否有外协工序)
InOut: 1, // 工序间是否外协变量 1自家 2外协 InOut: 1, // 工序间是否外协变量 1自家 2外协
num1: '', num1: '',
@@ -127,17 +157,73 @@ export default {
pageCurrent1: 1 pageCurrent1: 1
} }
}, },
created() {
this.fetchData()
},
methods: { methods: {
fetchData() {
this.entryNameValue = ''
this.entryName = []
machine().then(response => {
for (let i = 0; i < response.data.length; i++) {
this.entryName.push({
label: response.data[i].项目名称,
value: response.data[i].项目流水号
})
}
})
},
typeChange() {
this.toolNumValue = ''
this.toolNum = []
this.NumValue = ''
this.Num = []
getToolNum(this.entryNameValue).then(response => {
for (let i = 0; i < response.data.length; i++) {
this.toolNum.push({
label: response.data[i].机床图号,
value: response.data[i].机床流水号
})
}
})
},
typeChange1() {
this.NumValue = ''
this.Num = []
getNum(this.toolNumValue).then(response => {
for (let i = 0; i < response.data.length; i++) {
this.Num.push({
label: response.data[i].组号,
value: response.data[i].组件流水号
})
}
})
},
searchTable() { searchTable() {
this.loading1 = true this.loading1 = true
this.tableData1 = [] this.tableData1 = []
this.tableData2 = [] this.tableData2 = []
if (this.partName !== null && this.partName !== '') { if (this.entryNameValue !== null && this.entryNameValue !== '') {
this.check_partName = true this.check_entryNameValue = 1
} else { } else {
this.check_partName = false this.check_entryNameValue = 0
} }
searchTable(this.check_partName, this.partName, this.pageCurrent1, this.pageSize1).then(response => { if (this.toolNumValue !== null && this.toolNumValue !== '') {
this.check_toolNumValue = 1
} else {
this.check_toolNumValue = 0
}
if (this.NumValue !== null && this.NumValue !== '') {
this.check_NumValue = 1
} else {
this.check_NumValue = 0
}
if (this.partName !== null && this.partName !== '') {
this.check_partName = 1
} else {
this.check_partName = 0
}
searchTable(this.check_entryNameValue, this.entryNameValue, this.check_toolNumValue, this.toolNumValue, this.check_NumValue, this.NumValue, this.check_partName, this.partName, this.pageCurrent1, this.pageSize1).then(response => {
this.tableData1 = response.data.rows this.tableData1 = response.data.rows
this.total1 = response.data.total this.total1 = response.data.total
}).then(() => { }).then(() => {

View File

@@ -39,7 +39,7 @@
<template slot-scope="scope"> <template slot-scope="scope">
<el-tag v-if="parseInt(scope.row.询价状态编号)===1" type="warning" size="small">未询价</el-tag> <el-tag v-if="parseInt(scope.row.询价状态编号)===1" type="warning" size="small">未询价</el-tag>
<el-tag v-if="parseInt(scope.row.询价状态编号)===3&&parseInt(scope.row.采购状态编号)!==3" type="success" size="small">已询价</el-tag> <el-tag v-if="parseInt(scope.row.询价状态编号)===3&&parseInt(scope.row.采购状态编号)!==3" type="success" size="small">已询价</el-tag>
<el-tag v-if="parseInt(scope.row.采购状态编号)===3" type="info" size="small">已采购</el-tag> <el-tag v-if="parseInt(scope.row.询价状态编号)!==1&&parseInt(scope.row.采购状态编号)===3" type="info" size="small">已采购</el-tag>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="项目名称" align="center" min-width="150"> <el-table-column label="项目名称" align="center" min-width="150">
@@ -628,7 +628,30 @@ export default {
}) })
}, },
exportInquirySheet(row) { // 导出询价单 exportInquirySheet(row) { // 导出询价单
alert('do not done') this.$confirm('确认导出询价单' + row.询价单编号 + '?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
import('@/vendor/Export2Excelcjn').then(excel => {
const tHeader = ['询价单编号', '供应商名称', '物料名称', '物料规格', '物料型号', '数量', '单价', '备注'] // 表头内容
const filterVal = ['询价单编号', '供应商名称', '物料名称', '物料规格', '物料型号', '零件数量'] // tableData3里的属性名
const list = this.tableData3
const data = list.map(v => filterVal.map(j => v[j]))
excel.export_json_to_excel({
header: tHeader,
data,
filename: row.询价单编号 + '_' + row.供应商名称,
autoWidth: true,
bookType: 'xlsx'
})
})
}).catch(() => {
this.$message({
type: 'info',
message: '已取消操作'
})
})
}, },
handleSelectionChange(val) { // 表1多选 handleSelectionChange(val) { // 表1多选
console.log(val) console.log(val)

View File

@@ -95,7 +95,7 @@
</el-table> </el-table>
<el-button slot="reference" type="success" size="mini" icon="el-icon-search" style="margin-left: 10px" @click="searchTable02(scope.row)">查看详情</el-button> <el-button slot="reference" type="success" size="mini" icon="el-icon-search" style="margin-left: 10px" @click="searchTable02(scope.row)">查看详情</el-button>
</el-popover> </el-popover>
<el-button :disabled="parseInt(scope.row.审核情况流水号)!==3&&parseInt(scope.row.审批情况流水号)!==3&&parseInt(scope.row.付款情况流水号)!==3" type="danger" size="mini" icon="el-icon-delete" style="margin-left: 10px" @click="cancelRequestFund(scope.row)">取消请款</el-button> <el-button :disabled="parseInt(scope.row.审核情况流水号)===1" type="danger" size="mini" icon="el-icon-delete" style="margin-left: 10px" @click="cancelRequestFund(scope.row)">取消请款</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>

View File

@@ -18,7 +18,8 @@
</el-card> </el-card>
<el-card> <el-card>
<el-table v-loading="" :data="tableData1" show-summary border style="width: 100%;max-height: 500px;" height="500px" size="mini"> <el-table v-loading="" :data="tableData1" show-summary stripe border style="width: 100%;max-height: 500px;" height="500px" size="mini">
<el-table-column label="序号" align="center" width="80" type="index"/>
<el-table-column label="项目名称" align="center" min-width="100"> <el-table-column label="项目名称" align="center" min-width="100">
<template slot-scope="scope"> <template slot-scope="scope">
{{ scope.row.项目名称 }} {{ scope.row.项目名称 }}
@@ -29,16 +30,16 @@
{{ scope.row.物料名称 }} {{ scope.row.物料名称 }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="物料规格" align="center" min-width="100">
<template slot-scope="scope">
{{ scope.row.物料规格 }}
</template>
</el-table-column>
<el-table-column label="物料型号" align="center" min-width="100"> <el-table-column label="物料型号" align="center" min-width="100">
<template slot-scope="scope"> <template slot-scope="scope">
{{ scope.row.物料型号 }} {{ scope.row.物料型号 }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="物料规格" align="center" min-width="100">
<template slot-scope="scope">
{{ scope.row.物料规格 }}
</template>
</el-table-column>
<el-table-column label="数量" align="center" min-width="100"> <el-table-column label="数量" align="center" min-width="100">
<template slot-scope="scope"> <template slot-scope="scope">
{{ scope.row.数量 }} {{ scope.row.数量 }}

View File

@@ -99,8 +99,7 @@
</div> </div>
</el-card> </el-card>
<el-card> <div style="width:900px;margin: 0 auto">
<div style="width:900px;margin-left: 350px">
<el-card> <el-card>
<table id="1" cellspacing="0px" align="center" border width="100%" style=""> <table id="1" cellspacing="0px" align="center" border width="100%" style="">
<tr style="height: 40px"> <tr style="height: 40px">
@@ -147,12 +146,11 @@
<div id="23"/> <div id="23"/>
</el-card> </el-card>
</div> </div>
</el-card>
<el-dialog :visible.sync="dialogVisible3" title="审批" center style="min-height: 300px;" width="20%"> <el-dialog :visible.sync="dialogVisible3" title="审批" center style="min-height: 300px;" width="370px">
<el-form ref="form2" :model="form2" :rules="rules2" label-position="left" label-width="110px" class="demo-ruleForm"> <el-form ref="form2" :model="form2" :rules="rules2" label-position="left" label-width="110px" class="demo-ruleForm">
<el-form-item label="审批是否通过" prop="审批是否通过" center> <el-form-item label="审批是否通过" prop="审批是否通过" center>
<el-select v-model="form2.审批是否通过" size="small" @change="selectChange"> <el-select v-model="form2.审批是否通过" size="small">
<el-option <el-option
v-for="item in approval" v-for="item in approval"
:key="item.value" :key="item.value"
@@ -161,7 +159,7 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="未通过原因" prop="未通过原因"> <el-form-item label="未通过原因" prop="未通过原因">
<el-input v-model="form2.未通过原因" :disabled="disabled" size="small"/> <el-input v-model="form2.未通过原因" :disabled="form2.审批是否通过!==2" size="small"/>
</el-form-item> </el-form-item>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
@@ -213,7 +211,6 @@ export default {
label: '否' label: '否'
} }
], ],
disabled: true,
form2: { form2: {
审批是否通过: 1, 审批是否通过: 1,
未通过原因: '' 未通过原因: ''
@@ -277,11 +274,6 @@ export default {
this.dialogVisible3 = true this.dialogVisible3 = true
this.ProcurementContractNum = row.采购合同流水号 this.ProcurementContractNum = row.采购合同流水号
}, },
selectChange() {
if (this.form2.审批是否通过 === 2) {
this.disabled = false
}
},
submitApproval(formName) { submitApproval(formName) {
this.$refs[formName].validate((valid) => { this.$refs[formName].validate((valid) => {
if (valid) { if (valid) {

View File

@@ -0,0 +1,19 @@
// 导出Excel方法表格id不加扩展名的文件名sheet名
export function exportExcelMethod(tableId, fileName, sheetName) {
tableToExcel(tableId, fileName, sheetName)
}
const tableToExcel = (function() {
const uri = 'data:application/vnd.ms-excel;base64,'
// 设置导出表格的单元格默认高度/宽度/边框样式/字体颜色/背景颜色/居中网页显示表格宽度建议1240tr/td视情况而定
const template = `<html xmlns:x="urn:schemas-microsoft-com:office:excel"><head><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:Name>{worksheet}</x:Name><x:WorksheetOptions><x:DisplayGridlines/></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook></xml><meta charset="UTF-8"><style type="text/css">table td {border: 2px solid #000000;width:100px;text-align: center;color: #000000;}</style></head><body><table>{table}</table></body></html>`
const base64 = function(s) { return window.btoa(unescape(encodeURIComponent(s))) }
const format = function(s, c) { return s.replace(/{(\w+)}/g, function(m, p) { return c[p] }) }
return function(table, filename, sheetname) {
if (!table.nodeType) table = document.getElementById(table)
const ctx = { worksheet: sheetname || 'Worksheet', table: table.innerHTML }
const aTag = document.createElement('a')
aTag.href = uri + base64(format(template, ctx))
aTag.download = filename
aTag.click()
}
})()

View File

@@ -46,6 +46,11 @@
icon="el-icon-search" icon="el-icon-search"
style="margin-left:10px" style="margin-left:10px"
@click="total1=0;pageCurrent1=1;pageSize1=10;searchTable1()">查询</el-button> @click="total1=0;pageCurrent1=1;pageSize1=10;searchTable1()">查询</el-button>
<el-button
type="warning"
size="small"
icon="el-icon-download"
@click="download()">导出</el-button>
</el-card> </el-card>
<el-card> <el-card>
@@ -120,27 +125,28 @@
</div> </div>
</el-card> </el-card>
<el-card> <div style="margin:5px;float: left">
<div style="float: left">
<b>二维码</b><br> <b>二维码</b><br>
<img id="img"> <img id="img">
</div> </div>
<div style="width:900px;margin-left: 350px"> <div style="width:900px;margin: 0 auto">
<el-card> <el-card>
<table id="1" cellspacing="0px" align="center" border width="100%" style=""> <div id="print" style="width:860px;">
<table id="1" cellspacing="0px" align="center" border width="100%">
<tr style="height: 40px"> <tr style="height: 40px">
<td colspan="1" align="center" style="font-weight: bold">GAOJING</td> <td colspan="1" align="center" style="font-weight: bold">GAOJING</td>
<td colspan="3" align="center" style="font-weight: bold">产品销售合同</td> <td colspan="4" align="center" style="font-weight: bold">产品销售合同</td>
<td colspan="2" rowspan="3" align="center" style="width: 100px"/>
</tr> </tr>
<tr style="height: 40px"> <tr style="height: 40px">
<td colspan="1" align="center">需方</td> <td colspan="1" align="center">需方</td>
<td colspan="1" align="center">江苏高精机电装备有限公司</td> <td colspan="2" align="center">江苏高精机电装备有限公司</td>
<td colspan="1" align="center">合同编号</td> <td colspan="1" align="center">合同编号</td>
<td colspan="1" align="center">{{ contract }}</td> <td colspan="1" align="center">{{ contract }}</td>
</tr> </tr>
<tr style="height: 40px"> <tr style="height: 40px">
<td colspan="1" align="center">供方</td> <td colspan="1" align="center">供方</td>
<td colspan="1" align="center">{{ supplier }}</td> <td colspan="2" align="center">{{ supplier }}</td>
<td colspan="1" align="center">签订地点</td> <td colspan="1" align="center">签订地点</td>
<td colspan="1" align="center">江苏盐城</td> <td colspan="1" align="center">江苏盐城</td>
</tr> </tr>
@@ -149,10 +155,9 @@
<table id="2" cellspacing="0px" align="center" border width="100%" style=""> <table id="2" cellspacing="0px" align="center" border width="100%" style="">
<tbody id="4"> <tbody id="4">
<tr id="tableHead" style="height: 40px"> <tr id="tableHead" style="height: 40px">
<td colspan="1" align="center">物料名称</td> <td colspan="2" align="center">物料名称</td>
<td colspan="1" align="center">物料规格</td> <td colspan="1" align="center">物料规格</td>
<td colspan="1" align="center">物料型号</td> <td colspan="1" align="center">物料型号</td>
<td colspan="1" align="center">发货天数</td>
<td colspan="1" align="center">数量</td> <td colspan="1" align="center">数量</td>
<td colspan="1" align="center">单价</td> <td colspan="1" align="center">单价</td>
<td colspan="1" align="center">总价</td> <td colspan="1" align="center">总价</td>
@@ -170,9 +175,9 @@
</tfoot> </tfoot>
</table> </table>
<div id="23"/> <div id="23"/>
</el-card>
</div> </div>
</el-card> </el-card>
</div>
<el-card v-show="searchView"> <el-card v-show="searchView">
<!--将新一般处理页添加至通讯服务器--> <!--将新一般处理页添加至通讯服务器-->
@@ -186,6 +191,7 @@
import { initContract, initBuyer, searchTable1, searchTable2 } from '@/api/PurchasingCenter/PurchaseContractSearch' import { initContract, initBuyer, searchTable1, searchTable2 } from '@/api/PurchasingCenter/PurchaseContractSearch'
import { searchFile } from '@/api/PurchasingCenter/CreateContract' import { searchFile } from '@/api/PurchasingCenter/CreateContract'
import QRCode from 'qrcode' import QRCode from 'qrcode'
import { exportExcelMethod } from './exportExcel'
export default { export default {
data() { data() {
@@ -240,6 +246,13 @@ export default {
this.fetchData() this.fetchData()
}, },
methods: { methods: {
download() {
if (this.contract) {
exportExcelMethod('print', '采购合同', '采购合同sheet1')
} else {
this.$message.error('请选择合同')
}
},
useqrcode(contractNum) { useqrcode(contractNum) {
const opts = { const opts = {
errorCorrectionLevel: 'H', errorCorrectionLevel: 'H',
@@ -248,7 +261,9 @@ export default {
quality: 0.3 quality: 0.3
} }
} }
const str = 'http://192.168.1.111:8022/searchContract.html?contractNum=' + contractNum // const str = 'http://192.168.1.111:8022/searchContract.html?contractNum=' + contractNum
// const str = 'http://192.168.1.111:8080/#/ContractInquiry/index?id=' + contractNum
const str = contractNum
QRCode.toDataURL(str, opts, function(err, url) { QRCode.toDataURL(str, opts, function(err, url) {
if (err) throw err if (err) throw err
const img = document.getElementById('img') const img = document.getElementById('img')
@@ -355,7 +370,7 @@ export default {
for (let i = 0; i < this.returns.length; i++) { for (let i = 0; i < this.returns.length; i++) {
tr[i] = document.createElement('tr') tr[i] = document.createElement('tr')
tr[i].setAttribute('class', 'tableData') tr[i].setAttribute('class', 'tableData')
tr[i].innerHTML = '<td colspan="1" align="center"></td>' + '<td colspan="1" align="center"></td>' + '<td colspan="1" align="center"></td>' + '<td colspan="1" align="center"></td>' + tr[i].innerHTML = '<td colspan="2" align="center"></td>' + '<td colspan="1" align="center"></td>' + '<td colspan="1" align="center"></td>' +
'<td colspan="1" align="center"></td>' + '<td colspan="1" align="center"></td>' + '<td colspan="1" align="center"></td>' '<td colspan="1" align="center"></td>' + '<td colspan="1" align="center"></td>' + '<td colspan="1" align="center"></td>'
document.getElementById('tableHead').after(tr[i]) document.getElementById('tableHead').after(tr[i])
} }
@@ -363,10 +378,9 @@ export default {
document.getElementsByClassName('tableData')[j].children[0].innerHTML = response.data[j].物料名称 document.getElementsByClassName('tableData')[j].children[0].innerHTML = response.data[j].物料名称
document.getElementsByClassName('tableData')[j].children[1].innerHTML = response.data[j].物料规格 document.getElementsByClassName('tableData')[j].children[1].innerHTML = response.data[j].物料规格
document.getElementsByClassName('tableData')[j].children[2].innerHTML = response.data[j].物料型号 document.getElementsByClassName('tableData')[j].children[2].innerHTML = response.data[j].物料型号
document.getElementsByClassName('tableData')[j].children[3].innerHTML = response.data[j].发货天 document.getElementsByClassName('tableData')[j].children[3].innerHTML = response.data[j].
document.getElementsByClassName('tableData')[j].children[4].innerHTML = response.data[j].数量 document.getElementsByClassName('tableData')[j].children[4].innerHTML = response.data[j].单价
document.getElementsByClassName('tableData')[j].children[5].innerHTML = response.data[j].单价 document.getElementsByClassName('tableData')[j].children[5].innerHTML = response.data[j].金额
document.getElementsByClassName('tableData')[j].children[6].innerHTML = response.data[j].金额
} }
}) })
} }

View File

@@ -19,8 +19,9 @@
height="440" height="440"
size="mini" size="mini"
show-summary show-summary
highlight-current-row stripe
border> border>
<el-table-column align="center" label="序号" type="index"/>
<el-table-column align="center" label="项目名称"> <el-table-column align="center" label="项目名称">
<template slot-scope="scope"> <template slot-scope="scope">
{{ scope.row.项目名称 }} {{ scope.row.项目名称 }}
@@ -62,16 +63,6 @@
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<div class="block" style="margin-top: 10px;">
<el-pagination
:current-page="pageCurrent"
:page-sizes="[10, 20, 30, 40, 50]"
:page-size="pageSize"
:total="total"
layout="total, sizes, prev, pager, next, jumper"
@size-change="handleSizeChange"
@current-change="handleCurrentChange"/>
</div>
</el-card> </el-card>
</div> </div>
</template> </template>
@@ -111,20 +102,10 @@ export default {
if (!this.projectValue) { if (!this.projectValue) {
this.$message.error('请选择项目') this.$message.error('请选择项目')
} else { } else {
searchReceiveCheck(this.pageCurrent, this.pageSize, 1, this.projectValue).then(response => { searchReceiveCheck(1, this.projectValue).then(response => {
this.tableData1 = response.data.rows this.tableData1 = response.data
this.total = response.data.total
}) })
} }
},
handleSizeChange(val) {
this.pageSize = val
this.pageCurrent = 1
this.searchProject()
},
handleCurrentChange(val) {
this.pageCurrent = val
this.searchProject()
} }
} }
} }

View File

@@ -196,6 +196,9 @@ export default {
} else { } else {
if (machineNum && groupNum) { if (machineNum && groupNum) {
await sleep(50) await sleep(50)
if (classificationCode) {
drawingNum += '-' + classificationCode
}
await this.insertToSQL(establishment, proofread, review, date, machineName, machineNum, componentName, componentNum, groupNum, contractNum, pageNum, totalNum, drawingNum, name, type, material, spareNum, useNum, manufacturer, remarks, classificationCode) 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 { } else {
this.loading = false this.loading = false