Merge remote-tracking branch 'origin/master'

master
Yangwl 8 months ago
commit 7f81b590c4

@ -51,3 +51,14 @@ export function delWhiteOrder(id) {
method: 'delete'
});
}
// 同步SAP订单
export function syncSAPbp() {
const data = {
}
return request({
url: '/plan/whiteOrder/syncSAPbp',
method: 'post',
data: data
});
}

@ -186,8 +186,8 @@ export function getPutInOrder(query) {
method: 'get',
params: query
});
}
}
// 查询入库订单列表
export function getProductWorkOrder(query) {
@ -223,4 +223,24 @@ export function togetherTask(recordId,factoryCode) {
method: 'post',
data: data
});
}
//应用最新检验方案
export function changeTaskDetail(recordId) {
const data = {
recordId
}
return request({
url: '/quality/qcIncome/changeTaskDetail',
method: 'post',
data: data
});
}
export function getWarehouseList(query) {
return request({
url: '/quality/qcIncome/getWarehouseList',
method: 'get',
params: query
});
}

@ -0,0 +1,44 @@
import request from '@/utils/request'
// 查询白坯原材料采购单列表
export function listBpprocure(query) {
return request({
url: '/wms/bpprocure/list',
method: 'get',
params: query
})
}
// 查询白坯原材料采购单详细
export function getBpprocure(ID) {
return request({
url: '/wms/bpprocure/' + ID,
method: 'get'
})
}
// 新增白坯原材料采购单
export function addBpprocure(data) {
return request({
url: '/wms/bpprocure',
method: 'post',
data: data
})
}
// 修改白坯原材料采购单
export function updateBpprocure(data) {
return request({
url: '/wms/bpprocure',
method: 'put',
data: data
})
}
// 删除白坯原材料采购单
export function delBpprocure(ID) {
return request({
url: '/wms/bpprocure/' + ID,
method: 'delete'
})
}

@ -134,7 +134,7 @@
<el-table-column label="标准效率(PC/小时)" align="center" prop="hourEfficiency" width="120"/>
<el-table-column label="标准工时" align="center" prop="attr1" width="100"/>
<!--<el-table-column label="产品列表" align="left" prop="productList" :formatter="formatProductNames" :show-overflow-tooltip="true"/>-->
<el-table-column width="120"
<el-table-column
label="操作"
align="center"
class-name="small-padding fixed-width"

@ -275,7 +275,7 @@
<el-table-column prop="routeCode" width="75" label="实发"></el-table-column>
<el-table-column prop="routeCode" width="75" label="数量2"></el-table-column>
</el-table>
<!-- 底部 -->
<el-row class="my-print-foot0">
@ -313,7 +313,7 @@ export default {
data() {
return {
fenyeNumber:5,
fenyeNumberTwo:7,
fenyeNumberTwo:5,
shengchan:true,
newWorkerLoading: false,
refreshNewWorkerTable:true,
@ -511,7 +511,7 @@ export default {
// this.printData.workTable
for (let i = 0; i < this.printData.workTable.length; i += (i==0?this.fenyeNumber:this.fenyeNumberTwo)) {
// 使slicei1010
let chunk = this.printData.workTable.slice(i, i + (i==0?this.fenyeNumber:this.fenyeNumberTwo));
// chunkedArray
@ -595,12 +595,20 @@ export default {
this.resetForm("queryForm");
this.handleQuery();
},
/**单选**/
handleCurrentChange(selection) {
this.ids = selection.prepareId
this.single = selection==null
this.selectPrepare = []
this.selectPrepare.push(selection)
},
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item.prepareId)
this.single = selection.length!==1
this.multiple = !selection.length
this.selectPrepare = selection
this.selectPrepare = selection
},
/** 新增按钮操作 */
handleAdd() {
@ -659,16 +667,16 @@ export default {
</script>
<style>
.my-print-table .el-table {
border-collapse: collapse;
border-spacing: 0;
border-collapse: collapse;
border-spacing: 0;
}
.my-print-table .el-table__header-wrapper th {
border: 1px solid black !important;
border: 1px solid black !important;
}
.my-print-table .el-table__body-wrapper td {
border: 1px solid black !important;
border: 1px solid black !important;
}
.my-print-head {

@ -448,6 +448,7 @@
@change="handleEdit(scope.$index, scope.row)"></el-input>
</template>
</el-table-column>
<el-table-column label="单位" width="50" align="center" prop="unit" />
<el-table-column label="反冲标识" align="center" prop="recoil" />
<el-table-column label="sap项目编码" align="center" prop="rspos" />
@ -461,6 +462,8 @@
</el-select>
</template>
</el-table-column>
<el-table-column label="订单数量" width="110" align="left" prop="quantitySplit" />
<el-table-column label="Bom用量" width="110" align="left" prop="quantitySplitBom" />
<el-table-column label="报工单编号" align="center" prop="reportCode" width="90" :show-overflow-tooltip="true"/>
<el-table-column label="创建时间" align="center" prop="createTime" width="130" :show-overflow-tooltip="true"/>
<el-table-column label="工单编码" width="80" align="left" prop="workorderCode"

@ -370,7 +370,7 @@
</el-dialog>
<!-- 拆分模块 -->
<el-dialog :title="title" :visible.sync="splitOpen" width="1000px">
<el-dialog :title="title" :visible.sync="splitOpen" width="1000px" :before-close="handleCloseS">
<!-- 拆分头pro -->
<el-table
border
@ -1657,6 +1657,11 @@ export default {
},
handleClose() {
this.cancel();
},
handleCloseS(done){
this.$confirm('确认关闭?').then(_=>{
done();
}).catch(_=>{});
},
shiftFormat(row,column){
let array = this.workShift;

@ -72,6 +72,16 @@
>新增
</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleSyncSAP"
v-hasPermi="['plan:whiteOrder:add']"
>SAP白坯订单同步</el-button>
</el-col>
<!--
<el-col :span="1.5">
<el-button
@ -360,7 +370,7 @@
</el-dialog>
<!-- 拆分模块 -->
<el-dialog title="拆分" :visible.sync="splitOpen" width="1000px" append-to-body>
<el-dialog title="拆分" :visible.sync="splitOpen" width="1000px" append-to-body :before-close="handleCloseS">
<!-- 拆分头pro -->
<el-table
border
@ -598,7 +608,7 @@ import {
getWhiteOrder,
delWhiteOrder,
addWhiteOrder,
updateWhiteOrder
updateWhiteOrder,syncSAPbp
} from "@/api/plan/whiteOrder";
import {getToken} from "@/utils/auth"
import Treeselect from "@riophae/vue-treeselect";
@ -752,6 +762,9 @@ export default {
pageSize: 10,
},
materielBP: [],
countdownTime: 0,//
isButtonDisabled: false, //
countdownInterval: null, //
};
},
created() {
@ -1540,6 +1553,53 @@ export default {
this.innerBPVisible = false;
},
handleCloseS(done){
this.$confirm('确认关闭?').then(_=>{
done();
}).catch(_=>{});
},
// -SAP
handleSyncSAP() {
if (this.countdownTime > 0) return; //
this.isButtonDisabled = true; //
this.countdownTime = 30; // 10
// 使setInterval
this.countdownInterval = setInterval(() => {
if (this.countdownTime > 0) {
this.countdownTime--;
} else {
clearInterval(this.countdownInterval); //
this.isButtonDisabled = false; //
this.countdownTime = 0; //
}
}, 1000); //
this.loading = true;
let _this = this;
this.$modal.confirm('是否确认SAP同步操作步骤执行后需要稍后查看同步结果').then(function () {
_this.loading = false;
syncSAPbp()
}).then(() => {
//this.getList()
_this.loading = false;
this.$modal.msgSuccess('同步成功')
}).catch(
function (e) {
if (e == 'cancel') {
_this.loading = false;
} else if(e == 'close') {
_this.loading = false;
}
}
)
},
}
};
</script>

@ -31,7 +31,7 @@
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['system:class:add']"
>新增
</el-button>
</el-col>
@ -43,7 +43,7 @@
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['system:class:edit']"
>修改
</el-button>
</el-col>
@ -55,7 +55,7 @@
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['system:class:remove']"
>删除
</el-button>
</el-col>
@ -74,7 +74,6 @@
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['system:class:edit']"
>修改
</el-button>
<el-button
@ -82,7 +81,6 @@
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['system:class:remove']"
>删除
</el-button>
</template>

@ -145,26 +145,37 @@
v-hasPermi="['quality:qcIncome:edit']"
>合并任务</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="single"
@click="handleChangeTaskDetail"
v-hasPermi="['quality:qcIncome:edit']"
>应用最新检验方案</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="incomeList" @selection-change="handleSelectionChange">
<el-table v-loading="loading" :data="incomeList" @selection-change="handleSelectionChange" height="500px">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="recordId" align="center" prop="recordId" v-if="false"/>
<el-table-column label="checkType" align="center" prop="checkType" v-if="false"/>
<el-table-column label="检验任务编号" align="center" prop="checkNo" width="120">
<el-table-column label="检验任务编号" align="center" prop="checkNo" width="120" fixed>
<template slot-scope="scope">
<el-button type="text" @click="handleView(scope.row)">{{
scope.row.checkNo
}}</el-button>
</template>
</el-table-column>
<el-table-column label="来料批次号" align="center" prop="incomeBatchNo" width="120"/>
<el-table-column label="订单号" align="center" prop="orderNo" width="120"/>
<el-table-column label="来料批次号" align="center" prop="incomeBatchNo" width="120" fixed/>
<el-table-column label="订单号" align="center" prop="orderNo" width="120" fixed/>
<el-table-column label="物料号" align="center" prop="materialCode" width="170"
:formatter="productCodeFormate"
:formatter="productCodeFormate" fixed
/>
<el-table-column label="物料名称" align="center" prop="materialName" width="150" :show-overflow-tooltip="true"/>
<el-table-column label="物料名称" align="center" prop="materialName" width="150" :show-overflow-tooltip="true" fixed/>
<el-table-column label="收货数量" align="center" prop="quality" />
<el-table-column label="单位" align="center" prop="unit" />
<el-table-column label="样本量编码" align="center" prop="sampleCode" width="120"/>
@ -401,8 +412,8 @@
</template>
<script>
import { listIncome, getIncome, delIncome, addIncome,
updateIncome ,changeIncomeStatus,togetherTask
import { listIncome, getIncome, delIncome, addIncome,
updateIncome ,changeIncomeStatus,togetherTask,changeTaskDetail
} from "@/api/quality/income";
import { getCheckTypes } from "@/api/quality/qcProduce";
import ItemSelectWorkOrder from "./selectLLWorkOrder.vue";
@ -763,7 +774,17 @@ export default {
getDefectTypeListByDefectType(defectType).then(response => {
this.defectTypeList = response.rows;
});
}
},
/** 合并按钮操作 */
handleChangeTaskDetail(row) {
const recordIds = row.recordId || this.ids;
this.$modal.confirm('是否确认应用最新检验方案重新生产检验任务(无法撤销)?').then(function() {
return changeTaskDetail(recordIds[0]);
}).then(() => {
this.getList();
this.$modal.msgSuccess("应用成功");
}).catch(() => {});
},
}
};
</script>

@ -9,7 +9,7 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="任务创建时间" prop="checkTimeArray" label-width="120px">
<el-date-picker
v-model="queryParams.checkTimeArray"
@ -101,6 +101,17 @@
v-hasPermi="['quality:qcInventory:export']"
>导出</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="single"
@click="handleChangeTaskDetail"
v-hasPermi="['quality:qcIncome:edit']"
>应用最新检验方案</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
@ -192,7 +203,7 @@
<el-button slot="append" @click="handleSelectWorkOrder" icon="el-icon-search"></el-button>
</el-input>
</el-form-item>
</el-col>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
@ -268,6 +279,7 @@
<script>
import { listQcInventory, getQcInventory, addQcInventory, updateQcInventory, delQcInventory } from "@/api/quality/qcInventory.js";
import { changeTaskDetail} from "@/api/quality/income";
import { getCheckTypes } from "@/api/quality/qcProduce";
import ItemPutInOrder from "./selectPutInOrder.vue";
import ItemSelectUser from "../qcIncome/selectUser.vue";
@ -357,9 +369,6 @@ export default {
incomeTime: [
{ required: true, message: "来料时间不能为空", trigger: "blur" }
],
//checkManName: [
// { required: true, message: "", trigger: "blur" }
//],
checkLoc: [
{ required: true, message: "检测地点不能为空", trigger: "blur" }
],
@ -533,9 +542,9 @@ export default {
},
/** 导出按钮操作 */
handleExport() {
this.download('quality/qcIncome/export', {
this.download('quality/qcInventory/export', {
...this.queryParams
}, `income_${new Date().getTime()}.xlsx`)
}, `inventory${new Date().getTime()}.xlsx`)
},
//
@ -611,6 +620,16 @@ export default {
this.$refs.itemSelectProject.showFlag = true;
this.$refs.itemSelectProject.init(row,'inventory');
},
/** 应用最新版本按钮操作 */
handleChangeTaskDetail(row) {
const recordIds = row.recordId || this.ids;
this.$modal.confirm('是否确认应用最新检验方案重新生产检验任务(无法撤销)?').then(function() {
return changeTaskDetail(recordIds[0]);
}).then(() => {
this.getList();
this.$modal.msgSuccess("应用成功");
}).catch(() => {});
},
}
};
</script>

@ -29,13 +29,21 @@
</el-form-item>
<el-form-item label="订单号">
<el-input
v-model="queryParams.orderNo"
v-model="queryParams.workorderCodeSap"
placeholder="订单号"
clearable
style="width: 150px"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="仓库名称">
<el-select v-model="queryParams.supplierCode" placeholder="请选择仓库" width="50%" clearable>
<el-option v-for="work in cwarehouseList"
:key="work.supplierCode"
:label="work.supplierName"
:value="work.supplierCode"></el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"></el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"></el-button>
@ -43,8 +51,8 @@
</el-form>
<el-table v-loading="loading" :data="itemList" @selection-change="handleBomSelectionChange" ref="myTable" >
<el-table-column width="50" align="center" type="selection"/>
<el-table-column label="单号" align="left" prop="orderNo" width="120"/>
<!--<el-table-column label="单号" align="left" prop="workorderCodeSap" width="100"/>-->
<el-table-column label="唯一单号" align="left" prop="orderNo" width="130"/>
<el-table-column label="物料编码" align="left" prop="materialCode" width="180" />
<el-table-column label="物料名称" align="left" prop="materialName" width="180"/>
<el-table-column label="数量" align="left" prop="quality" width="100" />
@ -75,7 +83,7 @@
</template>
<script>
import { getPutInOrder } from "@/api/quality/income";
import { getPutInOrder,getWarehouseList } from "@/api/quality/income";
export default {
name: "itemPutInOrder",
data() {
@ -106,11 +114,13 @@ export default {
pageSize: 10,
workorderCode: ''
},
selectionRow:{}
selectionRow:{},
cwarehouseList: [],
};
},
created() {
this.getList();
this.getWarehouseList();
},
methods: {
@ -137,8 +147,13 @@ export default {
this.resetForm("queryForm");
this.handleQuery();
},
//
getWarehouseList() {
getWarehouseList({}).then((data) => {
this.cwarehouseList = data;
});
},
//
handleBomSelectionChange(selection) {

@ -156,7 +156,7 @@
v-hasPermi="['quality:qcProduce:edit']"
>修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
@ -178,6 +178,17 @@
v-hasPermi="['quality:qcProduce:export']"
>导出</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="single"
@click="handleChangeTaskDetail"
v-hasPermi="['quality:qcIncome:edit']"
>应用最新检验方案</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
@ -247,7 +258,7 @@
@click="handleCheckProject(scope.row)"
v-hasPermi="['quality:qcProduce:edit']"
>检验</el-button>
<el-button
size="mini"
type="text"
@ -470,6 +481,7 @@
import { listQcProduce, getQcProduce, delQcProduce, addQcProduce, updateQcProduce,
getCheckTypes,changeProduceStatus,getBatchList
} from "@/api/quality/qcProduce";
import { changeTaskDetail} from "@/api/quality/income";
import moment from 'moment';
import ItemSelectWorkOrder from "./selectWorkOrder.vue";
import ItemSelectWorkCenter from "./selectWorkCenter";
@ -836,12 +848,23 @@ export default {
saveCheck(){
this.getList();
},
/** 应用最新版本按钮操作 */
handleChangeTaskDetail(row) {
const recordIds = row.recordId || this.ids;
this.$modal.confirm('是否确认应用最新检验方案重新生产检验任务(无法撤销)?').then(function() {
return changeTaskDetail(recordIds[0]);
}).then(() => {
this.getList();
this.$modal.msgSuccess("应用成功");
}).catch(() => {});
},
handleDefectType() {
const defectType = "produce"
getDefectTypeListByDefectType(defectType).then(response => {
this.defectTypeList = response.rows;
});
}
},
}
};
</script>

@ -1,9 +1,9 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="100px" class="edit-el-form">
<el-form-item label="订单编码" prop="orderNo">
<el-form-item label="订单编码" prop="workorderCodeSap">
<el-input
v-model="queryParams.orderNo"
v-model="queryParams.workorderCodeSap"
placeholder="请输入订单编码"
clearable
@keyup.enter.native="handleQuery"
@ -126,7 +126,7 @@
import { getXJCheckTableList,getXJCheckTableDetail } from "@/api/quality/qcTable";
import moment from "moment/moment";
export default {
name: "Prepare",
name: "QcTableXJ",
// components: {Detail},
data() {
return {

@ -30,7 +30,7 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="订单号" prop="workorderCodeSap">
<el-input
v-model="queryParams.workorderCodeSap"
@ -172,6 +172,17 @@
v-hasPermi="['quality:qcWarehousing:export']"
>导出</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="single"
@click="handleChangeTaskDetail"
v-hasPermi="['quality:qcIncome:edit']"
>应用最新检验方案</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
@ -431,7 +442,7 @@
import { listWarehousing, getWarehousing, delWarehousing, addWarehousing, updateWarehousing } from "@/api/quality/warehousing";
import { getBatchList} from "@/api/quality/qcProduce";
import { getCheckTypes } from "@/api/quality/qcProduce";
//import ItemSelectWorkOrder from "./selectProductWorkOrder.vue";
import { changeTaskDetail} from "@/api/quality/income";
import ItemSelectWorkOrder from "../qcProduce/selectWorkOrder.vue";
import ItemSelectWorkCenter from "../qcProduce/selectWorkCenter";
import ItemSelectMaterial from "../qcIncome/selectMaterial.vue";
@ -794,6 +805,16 @@ export default {
saveCheck(){
this.getList();
},
/** 应用最新版本按钮操作 */
handleChangeTaskDetail(row) {
const recordIds = row.recordId || this.ids;
this.$modal.confirm('是否确认应用最新检验方案重新生产检验任务(无法撤销)?').then(function() {
return changeTaskDetail(recordIds[0]);
}).then(() => {
this.getList();
this.$modal.msgSuccess("应用成功");
}).catch(() => {});
},
handleDefectType() {
const defectType = "product";
getDefectTypeListByDefectType(defectType).then(response => {

@ -0,0 +1,417 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="采购单号" prop="procureCode">
<el-input
v-model="queryParams.procureCode"
placeholder="请输入采购单号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="物料编码" prop="materialCode">
<el-input
v-model="queryParams.materialCode"
placeholder="请输入物料编码"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="物料名称" prop="materialName">
<el-input
v-model="queryParams.materialName"
placeholder="请输入物料名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"></el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"></el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['wms:bpprocure:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['wms:bpprocure:edit']"
>修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['wms:bpprocure:remove']"
>删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="info" icon="el-icon-print" size="mini" @click="handlePrint" :disabled="!ids.length">打印</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['wms:bpprocure:export']"
>导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="bpprocureList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="采购单号" align="center" prop="procureCode" />
<el-table-column label="物料编码" align="center" prop="materialCode" />
<el-table-column label="物料名称" align="center" prop="materialName" />
<el-table-column label="供应商" align="center" prop="supplyName" />
<el-table-column label="计划数量" align="center" prop="planNumber" />
<el-table-column label="已入库数量" align="center" prop="realityNumber" />
<el-table-column label="单位" align="center" prop="unit" />
<el-table-column label="价格" align="center" prop="price" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['wms:bpprocure:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['wms:bpprocure:remove']"
>删除</el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改白坯原材料采购单对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="采购单号" prop="procureCode">
<el-input v-model="form.procureCode" placeholder="请输入采购单号" />
</el-form-item>
<!-- <el-form-item label="物料编码" prop="materialCode">-->
<!-- <el-input v-model="form.materialCode" placeholder="请输入物料编码" />-->
<!-- </el-form-item>-->
<el-form-item label="物料名称" prop="materialName" :rules="[{ required: true, message: '请选择物料名称', trigger: 'change' }]">
<el-select v-model="form.materialName" placeholder="请选择物料" clearable>
<el-option
v-for="dict in dict.type.bp_raw"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="供应商" prop="supplyName">
<el-input v-model="form.supplyName" placeholder="请输入供应商" />
</el-form-item>
<el-form-item label="计划数量" prop="planNumber">
<el-input v-model="form.planNumber" placeholder="请输入计划数量" />
</el-form-item>
<!-- <el-form-item label="已入库数量" prop="realityNumber">-->
<!-- <el-input v-model="form.realityNumber" placeholder="请输入已入库数量" />-->
<!-- </el-form-item>-->
<el-form-item label="单位" prop="unit">
<el-input v-model="form.unit" placeholder="请输入单位" />
</el-form-item>
<el-form-item label="价格" prop="price">
<el-input v-model="form.price" placeholder="请输入价格" />
</el-form-item>
<!-- <el-form-item label="用户自定义1" prop="attr1">-->
<!-- <el-input v-model="form.attr1" placeholder="请输入用户自定义1" />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="用户自定义2" prop="attr2">-->
<!-- <el-input v-model="form.attr2" placeholder="请输入用户自定义2" />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="用户自定义3" prop="attr3">-->
<!-- <el-input v-model="form.attr3" placeholder="请输入用户自定义3" />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="用户自定义4" prop="attr4">-->
<!-- <el-input v-model="form.attr4" placeholder="请输入用户自定义4" />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="用户自定义5" prop="attr5">-->
<!-- <el-input v-model="form.attr5" placeholder="请输入用户自定义5" />-->
<!-- </el-form-item>-->
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listBpprocure, getBpprocure, delBpprocure, addBpprocure, updateBpprocure } from "@/api/wms/bpprocure";
export default {
name: "Bpprocure",
dicts: ['bp_raw'],
data() {
return {
//
loading: true,
//
ids: [],
//
single: true,
//
multiple: true,
//
showSearch: true,
//
total: 0,
//
bpprocureList: [],
//
title: "",
//
open: false,
//
queryParams: {
pageNum: 1,
pageSize: 10,
procureCode: null,
materialCode: null,
materialName: null,
supplyName: null,
planNumber: null,
realityNumber: null,
unit: null,
price: null,
attr1: null,
attr2: null,
attr3: null,
attr4: null,
attr5: null
},
//
form: {},
//
rules: {
}
};
},
created() {
this.getList();
},
methods: {
/** 查询白坯原材料采购单列表 */
getList() {
this.loading = true;
listBpprocure(this.queryParams).then(response => {
this.bpprocureList = response.rows;
this.total = response.total;
this.loading = false;
});
},
//
cancel() {
this.open = false;
this.reset();
},
//
reset() {
this.form = {
ID: null,
procureCode: null,
materialCode: null,
materialName: null,
supplyName: null,
planNumber: null,
realityNumber: null,
unit: null,
price: null,
attr1: null,
attr2: null,
attr3: null,
attr4: null,
attr5: null
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item.ID)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加白坯原材料采购单";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const ID = row.ID || this.ids
getBpprocure(ID).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改白坯原材料采购单";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.ID != null) {
updateBpprocure(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addBpprocure(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
handlePrint() {
//
const selectedData = this.bpprocureList.filter(item => this.ids.includes(item.ID));
if (selectedData.length === 0) {
this.$message.warning("请先选择要打印的记录");
return;
}
//
this.printData = {
printDate: new Date().toLocaleString(),
workTable: selectedData.map(item => ({
procureCode: item.procureCode,
materialCode: item.materialCode,
materialDesc: item.materialName,
unit: item.unit,
supplyName: item.supplyName,
planNumber: item.planNumber,
realityNumber: item.realityNumber|| '',
}))
};
//
let printContent = `
<div style="text-align: center;">
<h3>采购单</h3>
</div>
<div style="display: flex; justify-content: space-between; padding: 10px;">
<div>打印日期: ${this.printData.printDate}</div>
</div>
<table border="1" style="width: 100%; border-collapse: collapse;margin: 0 auto;">
<thead>
<tr>
<th style="text-align: center;">采购单</th>
<th style="text-align: center;">物料编码</th>
<th style="text-align: center;">物料描述</th>
<th style="text-align: center;">供应商</th>
<th style="text-align: center;">单位</th>
<th style="text-align: center;">计划数量</th>
<th style="text-align: center;">已入库数量</th>
</tr>
</thead>
<tbody>`;
this.printData.workTable.forEach(item => {
printContent += `
<tr>
<td style="text-align: center;">${item.procureCode}</td>
<td style="text-align: center;">${item.materialCode}</td>
<td style="text-align: center;">${item.materialDesc}</td>
<td style="text-align: center;">${item.supplyName}</td>
<td style="text-align: center;">${item.unit}</td>
<td style="text-align: center;">${item.planNumber}</td>
<td style="text-align: center;">${item.realityNumber}</td>
</tr>`;
});
printContent += `
</tbody>
</table>
`;
const printWindow = window.open('', '_blank');
printWindow.document.write('<html><head><title>打印</title></head><body>');
printWindow.document.write(printContent);
printWindow.document.write('</body></html>');
printWindow.document.close();
printWindow.print();
printWindow.close();
},
// handleQuery, resetQuery, etc.
/** 删除按钮操作 */
handleDelete(row) {
const IDs = row.ID || this.ids;
this.$modal.confirm('是否确认删除白坯原材料采购单编号为"' + IDs + '"的数据项?').then(function() {
return delBpprocure(IDs);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
this.download('wms/bpprocure/export', {
...this.queryParams
}, `bpprocure_${new Date().getTime()}.xlsx`)
}
}
};
</script>

@ -73,14 +73,14 @@
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="备用" prop="userDefined1">-->
<!-- <el-input-->
<!-- v-model="queryParams.userDefined1"-->
<!-- placeholder="请输入备用"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<el-form-item label="采购单号" prop="userDefined1">
<el-input
v-model="queryParams.userDefined1"
placeholder="请输入采购单号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<!-- <el-form-item label="备用" prop="userDefined2">-->
<!-- <el-input-->
<!-- v-model="queryParams.userDefined2"-->
@ -196,13 +196,14 @@
<el-table-column label="仓库" align="center" prop="waCode" />
<!-- <el-table-column label="库区" align="center" prop="wlCode" />-->
<!-- <el-table-column label="物料编码" align="center" prop="materialCode" />-->
<el-table-column label="采购单号" align="center" prop="userDefined1" />
<el-table-column label="物料名称" align="center" prop="materialName" />
<el-table-column label="收货数量" align="center" prop="amountReal" />
<el-table-column label="单位" align="center" prop="unit" />
<el-table-column label="供应商" align="center" prop="supplyName" />
<!-- <el-table-column label="计划数量" align="center" prop="amnountPlan" />-->
<!-- <el-table-column label="备用" align="center" prop="userDefined1" />-->
<!-- <el-table-column label="备用" align="center" prop="userDefined2" />-->
<!-- <el-table-column label="备用" align="center" prop="userDefined3" />-->
<!-- <el-table-column label="备用" align="center" prop="userDefined4" />-->
@ -267,6 +268,9 @@
<!-- <el-form-item label="物料名称" prop="materialName">-->
<!-- <el-input v-model="form.materialName" placeholder="请输入物料名称" />-->
<!-- </el-form-item>-->
<el-form-item label="采购单号" prop="userDefined1">
<el-input v-model="form.userDefined1" placeholder="请输入采购单号" />
</el-form-item>
<el-form-item label="物料名称" prop="materialName" :rules="[{ required: true, message: '请选择物料名称', trigger: 'change' }]">
@ -294,9 +298,7 @@
<el-form-item label="入库数量" prop="amountReal" :rules="[{ required: true, message: '请输入入库数量', trigger: 'blur' }]">
<el-input v-model="form.amountReal" placeholder="请输入入库数量" />
</el-form-item>
<!-- <el-form-item label="备用" prop="userDefined1">-->
<!-- <el-input v-model="form.userDefined1" placeholder="请输入备用" />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="备用" prop="userDefined2">-->
<!-- <el-input v-model="form.userDefined2" placeholder="请输入备用" />-->
<!-- </el-form-item>-->

Loading…
Cancel
Save