采购订单采购验货导入功能
This commit is contained in:
parent
699852ecbe
commit
149ba8b0e8
|
|
@ -628,7 +628,7 @@ export default {
|
|||
systemAreaTreeApi({}).then((response) => {
|
||||
this.treeAreaOptions = response.data;
|
||||
if(this.treeAreaOptions.length>0){
|
||||
this.baseInfo.areaId = this.getFirstChild(this.treeAreaOptions[0]).id;
|
||||
this.$set(this.baseInfo,"areaId",this.getFirstChild(this.treeAreaOptions[0]).id)
|
||||
this.handleAreaChange()
|
||||
}
|
||||
});
|
||||
|
|
@ -648,7 +648,7 @@ export default {
|
|||
getCanteenByAreaApi(param).then((response) => {
|
||||
this.canteenOptions=response.rows||[]
|
||||
if(this.canteenOptions.length>0){
|
||||
this.baseInfo.canteenId = this.canteenOptions[0].canteenId;
|
||||
this.$set(this.baseInfo,"canteenId",this.canteenOptions[0].canteenId)
|
||||
this.handleCanteenChange()
|
||||
}
|
||||
});
|
||||
|
|
@ -661,7 +661,7 @@ export default {
|
|||
getStallByCanteenApi(param).then((response) => {
|
||||
this.stallOptions=response.rows||[]
|
||||
if(this.stallOptions.length>0){
|
||||
this.baseInfo.stallId = this.stallOptions[0].stallId;
|
||||
this.$set(this.baseInfo,"stallId",this.stallOptions[0].stallId)
|
||||
}
|
||||
});
|
||||
},
|
||||
|
|
|
|||
|
|
@ -558,6 +558,13 @@ export default {
|
|||
param.contractAmount = 0;
|
||||
param.commitStatus=2
|
||||
param.purchaseContractDetailList = []
|
||||
param.contractAttachment = ""
|
||||
if(this.attachmentList.length>0){
|
||||
console.log(this.attachmentList)
|
||||
let arr = this.attachmentList.map(item=>item.url)
|
||||
param.contractAttachment = arr.join(',')
|
||||
console.log(param)
|
||||
}
|
||||
this.noMaterial = false;
|
||||
if(this.contractMaterialList.length>0){
|
||||
this.contractMaterialList.forEach(item=>{
|
||||
|
|
|
|||
|
|
@ -61,6 +61,24 @@
|
|||
<el-form-item label="备注" prop="remark">
|
||||
<el-input v-model="baseInfo.remark" placeholder="请输入备注" maxlength="30" clearable style="width: 240px"/>
|
||||
</el-form-item>
|
||||
<!-- <el-form-item label="查验附件" prop="purchaseAttachmentList">
|
||||
<el-upload
|
||||
ref="upload"
|
||||
:http-request="fileUpLoad"
|
||||
action="#" :limit="5"
|
||||
accept=".xlsx, .xls, .png, .jpg, .jpeg, .docx, .doc"
|
||||
:show-file-list="true"
|
||||
:file-list="attachmentList"
|
||||
:on-remove="handleRemoveFile"
|
||||
>
|
||||
<el-button
|
||||
:disabled="attachmentList.length==5"
|
||||
type="primary"
|
||||
size="mini"
|
||||
>上传附件
|
||||
</el-button>
|
||||
</el-upload>
|
||||
</el-form-item> -->
|
||||
</el-form>
|
||||
</div>
|
||||
<div style="width: 100%;height: 450px;padding: 10px;border-radius: 10px;margin-bottom: 10px;background: #FFF;">
|
||||
|
|
@ -70,6 +88,7 @@
|
|||
</div>
|
||||
<div style="display: flex;align-items: center;">
|
||||
<el-button type="primary" plain @click="addMaterial">添加货品</el-button>
|
||||
<el-button type="primary" plain @click="importPurchaseOrder">导入采购订单</el-button>
|
||||
<el-button type="danger" plain @click="delMaterial">删除</el-button>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -190,6 +209,57 @@
|
|||
<el-button @click="openDialog=false">取 消</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
|
||||
<!-- 导入 -->
|
||||
<el-dialog title="导入采购订单" :visible.sync="openImportDialog" width="60%" append-to-body >
|
||||
<div style="width: 100%;height:600px;">
|
||||
<el-form :model="queryParams2" ref="queryForm2" size="small" :inline="true" label-width="100px">
|
||||
<el-form-item label="采购单号" prop="orderGoodsCode">
|
||||
<el-input v-model="queryParams2.orderGoodsCode" placeholder="请输入采购单号" maxlength="20" clearable style="width: 240px"/>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery2">搜索</el-button>
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery2">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<!-- :row-key="(row)=>{return row.fetchMaterialId}" @selection-change="handleSelectionChange3" -->
|
||||
<el-table v-loading="loading2" :data="tableListData2" ref="multipleTable2" height="500">
|
||||
<!-- <el-table-column type="selection" width="50" align="center" :reserve-selection="true" /> -->
|
||||
<el-table-column label="序号" align="center" width="80" type="index">
|
||||
<template slot-scope="scope">
|
||||
<span>{{(queryParams2.pageNum - 1) * queryParams2.pageSize + scope.$index + 1}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="采购单号" align="center" prop="orderGoodsCode" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="采购订单标题" align="center" prop="orderGoodsCode" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="采购总金额(元" align="center" prop="orderAmount" :show-overflow-tooltip="true" width="120">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ (scope.row.orderAmount/100).toFixed(2) }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="供应商" align="center" prop="supplierName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="创建人" align="center" prop="createBy" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||
<template slot-scope="scope">
|
||||
<el-button size="mini" type="text"
|
||||
@click="confirmImport(scope.row)" v-if="scope.row.orderStatus==2"
|
||||
>导入</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<pagination
|
||||
v-show="total2>0"
|
||||
:total="total2"
|
||||
:page.sync="queryParams2.pageNum"
|
||||
:limit.sync="queryParams2.pageSize"
|
||||
@pagination="getList2"
|
||||
/>
|
||||
</div>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="openImportDialog=false">确 定</el-button>
|
||||
<el-button @click="openImportDialog=false">取 消</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
|
@ -198,6 +268,7 @@ import { imgUpLoadTwo } from '@/api/system/upload'
|
|||
import { systemAreaTreeApi,getCanteenByAreaApi,getStallByCanteenApi } from "@/api/base/stall";
|
||||
import { systemMaterialTreeApi,getMaterialListApi,supplierPageApi,drpWareHousePageApi } from "@/api/foodManage/purchaseManage";
|
||||
import { getPurchaseInspectInfoApi,addPurchaseInspectApi,editPurchaseInspectApi } from "@/api/foodManage/purchaseManage";
|
||||
import { purchaseOrderPageApi,getPurchaseOrderInfoApi } from "@/api/foodManage/purchaseManage";
|
||||
|
||||
export default {
|
||||
name: "InspectionEdit",
|
||||
|
|
@ -211,6 +282,7 @@ export default {
|
|||
contractTitle:undefined,
|
||||
contractType:undefined,
|
||||
areaId:undefined,
|
||||
contractAttachmentList:[],
|
||||
},
|
||||
// 表单校验
|
||||
baseRules: {
|
||||
|
|
@ -246,7 +318,10 @@ export default {
|
|||
],
|
||||
inspector: [
|
||||
{ required: true, message: "验货人不能为空", trigger: "blur" }
|
||||
]
|
||||
],
|
||||
contractAttachmentList: [
|
||||
{ required: true, message: "合同附件不能为空", trigger: "change" }
|
||||
],
|
||||
},
|
||||
treeAreaOptions:[],
|
||||
canteenOptions:[],
|
||||
|
|
@ -271,12 +346,25 @@ export default {
|
|||
tableListData: [],//货品弹窗-货品表格数据
|
||||
batchChosenMaterial:[],//货品弹窗-货品表格-选中的货品数组
|
||||
noMaterial:false,
|
||||
//导入功能
|
||||
openImportDialog:false,
|
||||
queryParams2: { // 货品弹窗-货品表格-查询参数
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
orderGoodsCode:null
|
||||
},
|
||||
loading2:false,
|
||||
total2: 0, // 总条数
|
||||
tableListData2: [],//导入弹窗-表格数据
|
||||
importRow:{},//导入弹窗-表格数据-选中数据
|
||||
materialDetailsData: [],//导入弹窗-明细数据
|
||||
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.getAreaTreeData()
|
||||
this.getMaterialTree()
|
||||
this.attachmentList=[]
|
||||
if(this.$route.query.purchaseInspectionRowData){
|
||||
this.purchaseInspectionRowData = JSON.parse(this.$route.query.purchaseInspectionRowData)
|
||||
this.getContractInfo()
|
||||
|
|
@ -290,6 +378,7 @@ export default {
|
|||
}else{
|
||||
this.baseInfo={}
|
||||
this.materialList=[]
|
||||
this.attachmentList=[]
|
||||
}
|
||||
},
|
||||
},
|
||||
|
|
@ -312,6 +401,11 @@ export default {
|
|||
this.materialList.forEach(item=>{
|
||||
this.$set(item,"unitPrice",Number(item.unitPrice)/100)
|
||||
})
|
||||
if(this.baseInfo.contractAttachmentList.length>0){
|
||||
this.baseInfo.contractAttachmentList.forEach(item=>{
|
||||
this.attachmentList.push({name:item,url:item})
|
||||
})
|
||||
}
|
||||
supplierPageApi({ isPaging:1,areaIdList:[this.baseInfo.areaId] }).then((response) => {
|
||||
this.supplierOptions = response.rows||[];
|
||||
this.$set(this.baseInfo,'deliverySupplierId',this.baseInfo.deliverySupplierId)
|
||||
|
|
@ -326,6 +420,10 @@ export default {
|
|||
getAreaTreeData() {
|
||||
systemAreaTreeApi({}).then((response) => {
|
||||
this.treeAreaOptions = response.data;
|
||||
if(this.treeAreaOptions.length>0){
|
||||
this.$set(this.baseInfo,"areaId",this.getFirstChild(this.treeAreaOptions[0]).id)
|
||||
this.handleAreaChange()
|
||||
}
|
||||
});
|
||||
},
|
||||
getFirstChild(node) {
|
||||
|
|
@ -344,14 +442,18 @@ export default {
|
|||
getSupplierData() {
|
||||
supplierPageApi({ isPaging:1,areaIdList:[this.baseInfo.areaId] }).then((response) => {
|
||||
this.supplierOptions = response.rows||[];
|
||||
this.$set(this.baseInfo,"deliverySupplierId",null)
|
||||
if(this.supplierOptions.length>0){
|
||||
this.$set(this.baseInfo,"deliverySupplierId",this.supplierOptions[0].supplierId)
|
||||
}
|
||||
});
|
||||
},
|
||||
/** 查询供应商下拉结构 */
|
||||
getWareHouseData() {
|
||||
drpWareHousePageApi({ areaId:this.baseInfo.areaId }).then((response) => {
|
||||
this.wareHouseOptions = response.rows||[];
|
||||
this.$set(this.baseInfo,'deliveryWarehouseId',null)
|
||||
if(this.wareHouseOptions.length>0){
|
||||
this.$set(this.baseInfo,"deliveryWarehouseId",this.wareHouseOptions[0].warehouseId)
|
||||
}
|
||||
});
|
||||
},
|
||||
/** 查询货品类别下拉树结构 */
|
||||
|
|
@ -452,11 +554,10 @@ export default {
|
|||
param.inspectQualifiedNum = 0;//验货合格总数量
|
||||
param.status=1
|
||||
param.inspectGoodsDetails = []
|
||||
param.contractAttachment = ""
|
||||
param.purchaseAttachmentList = ""
|
||||
if(this.attachmentList.length>0){
|
||||
console.log(this.attachmentList)
|
||||
let arr = this.attachmentList.map(item=>item.url)
|
||||
param.contractAttachment = arr.join(',')
|
||||
param.purchaseAttachmentList = arr.join(',')
|
||||
console.log(param)
|
||||
}
|
||||
this.noMaterial = false;
|
||||
|
|
@ -519,11 +620,10 @@ export default {
|
|||
param.inspectQualifiedNum = 0;//验货合格总数量
|
||||
param.status=2
|
||||
param.inspectGoodsDetails = []
|
||||
param.contractAttachment = ""
|
||||
param.purchaseAttachmentList = ""
|
||||
if(this.attachmentList.length>0){
|
||||
console.log(this.attachmentList)
|
||||
let arr = this.attachmentList.map(item=>item.url)
|
||||
param.contractAttachment = arr.join(',')
|
||||
param.purchaseAttachmentList = arr.join(',')
|
||||
console.log(param)
|
||||
}
|
||||
this.noMaterial = false;
|
||||
|
|
@ -576,13 +676,79 @@ export default {
|
|||
}
|
||||
});
|
||||
},
|
||||
|
||||
//导入
|
||||
importPurchaseOrder(){
|
||||
if(this.baseInfo.areaId!=undefined||this.baseInfo.deliveryWarehouseId!=undefined||this.baseInfo.deliverySupplierId!=undefined){
|
||||
this.openImportDialog=true
|
||||
this.resetQuery2()
|
||||
// setTimeout(()=>{
|
||||
// this.$refs.multipleTable2.clearSelection()
|
||||
// },300)
|
||||
}else{
|
||||
this.$modal.msgError("请先选择区域,仓库,供应商");
|
||||
}
|
||||
},
|
||||
/** 搜索按钮操作 */
|
||||
handleQuery2() {
|
||||
this.queryParams2.pageNum = 1;
|
||||
this.getList2();
|
||||
},
|
||||
/** 重置按钮操作 */
|
||||
resetQuery2() {
|
||||
this.resetForm("queryForm2");
|
||||
this.handleQuery2();
|
||||
},
|
||||
/** 查询列表 */
|
||||
getList2() {
|
||||
this.loading2 = true;
|
||||
let param = {
|
||||
"pageSize": this.queryParams2.pageSize,
|
||||
"pageNum": this.queryParams2.pageNum,
|
||||
"orderGoodsCode": this.queryParams2.orderGoodsCode,
|
||||
"orderStatus":2,
|
||||
"areaId": this.baseInfo.areaId,
|
||||
"warehouseId": this.baseInfo.deliveryWarehouseId,
|
||||
"supplierId": this.baseInfo.deliverySupplierId,
|
||||
}
|
||||
purchaseOrderPageApi(param).then(response => {
|
||||
this.tableListData2 = response.rows;
|
||||
this.total2 = Number(response.total);
|
||||
this.loading2 = false;
|
||||
});
|
||||
},
|
||||
confirmImport(row){
|
||||
console.log(row)
|
||||
this.importRow = row;
|
||||
let param = {
|
||||
orderGoodsId:this.importRow.orderGoodsId
|
||||
}
|
||||
getPurchaseOrderInfoApi(param).then((response) => {
|
||||
this.materialDetailsData = response.data.orderGoodsDetailList||[];
|
||||
this.$modal.confirm('是否确认导入采购订单?').then(()=>{
|
||||
if(this.materialDetailsData.length>0){
|
||||
this.materialList = this.materialDetailsData;
|
||||
this.materialList.forEach(item=>{
|
||||
this.$set(item,"unitPrice",Number(item.singlePrice)/100)
|
||||
this.$set(item,"orderNum",item.orderNum)
|
||||
})
|
||||
this.baseInfo.relateOrderGoodsId = this.importRow.orderGoodsCode;
|
||||
this.$set(this.baseInfo,"remark","导入采购订单")
|
||||
setTimeout(()=>{
|
||||
this.openImportDialog=false
|
||||
},500)
|
||||
}else{
|
||||
this.$modal.msgError("采购订单明细无货品!");
|
||||
}
|
||||
}).catch(() => {});
|
||||
});
|
||||
},
|
||||
//附件上传
|
||||
fileUpLoad(param){
|
||||
param.type = 'canteen'
|
||||
imgUpLoadTwo(param).then((res) => {
|
||||
if (res.code == 200) {
|
||||
this.attachmentList.push(res.data)
|
||||
this.baseInfo.purchaseAttachmentList.push(res.data.url)
|
||||
} else {
|
||||
this.$modal.msgError(res.msg);
|
||||
}
|
||||
|
|
@ -591,7 +757,6 @@ export default {
|
|||
})
|
||||
},
|
||||
handleRemoveFile(file, fileList){
|
||||
console.log(this.attachmentList)
|
||||
let sum = 0
|
||||
this.attachmentList.forEach((item, index) => {
|
||||
if (item.url == file.url) {
|
||||
|
|
@ -599,6 +764,7 @@ export default {
|
|||
}
|
||||
})
|
||||
this.attachmentList.splice(sum, 1)
|
||||
this.baseInfo.purchaseAttachmentList.splice(sum, 1)
|
||||
},
|
||||
//日期
|
||||
formatDate(date) {
|
||||
|
|
|
|||
|
|
@ -16,7 +16,6 @@
|
|||
:picker-options="pickerOptions" @change="baseInfo.requestArrivalTime=formatDate(baseInfo.requestArrivalTime)">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="所属区域" prop="areaId">
|
||||
<el-cascader v-model="baseInfo.areaId"
|
||||
:options="treeAreaOptions" :filterable="true" style="width: 240px" :show-all-levels="false"
|
||||
|
|
@ -27,15 +26,6 @@
|
|||
}" @change="handleAreaChange">
|
||||
</el-cascader>
|
||||
</el-form-item>
|
||||
<el-form-item label="供应商" prop="supplierId">
|
||||
<el-select v-model="baseInfo.supplierId" placeholder="请选择供应商" style="width: 240px;">
|
||||
<el-option v-for="item in supplierOptions"
|
||||
:key="item.supplierId"
|
||||
:label="item.supplierName"
|
||||
:value="item.supplierId"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="所属食堂" prop="canteenId">
|
||||
<el-select v-model="baseInfo.canteenId" placeholder="请选择所属食堂" style="width: 240px;" @change="handleCanteenChange">
|
||||
<el-option v-for="item in canteenOptions"
|
||||
|
|
@ -54,6 +44,15 @@
|
|||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="供应商" prop="supplierId">
|
||||
<el-select v-model="baseInfo.supplierId" placeholder="请选择供应商" style="width: 240px;">
|
||||
<el-option v-for="item in supplierOptions"
|
||||
:key="item.supplierId"
|
||||
:label="item.supplierName"
|
||||
:value="item.supplierId"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="送货仓库" prop="warehouseId">
|
||||
<el-select v-model="baseInfo.warehouseId" clearable placeholder="请选择送货仓库" style="width: 100%;">
|
||||
<el-option v-for="item in wareHouseOptions"
|
||||
|
|
@ -113,6 +112,7 @@
|
|||
</div>
|
||||
<div style="display: flex;align-items: center;">
|
||||
<el-button type="primary" plain @click="addMaterial">添加货品</el-button>
|
||||
<el-button type="primary" plain @click="importPurchasePlan">导入采购计划</el-button>
|
||||
<el-button type="danger" plain @click="delMaterial">删除</el-button>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -223,6 +223,73 @@
|
|||
<el-button @click="openDialog=false">取 消</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
|
||||
<!-- 导入 -->
|
||||
<el-dialog title="导入采购计划" :visible.sync="openImportDialog" width="60%" append-to-body >
|
||||
<div style="width: 100%;height:650px;">
|
||||
<el-form :model="queryParams2" ref="queryForm2" size="small" :inline="true" label-width="100px">
|
||||
<el-form-item label="计划日期">
|
||||
<el-date-picker
|
||||
v-model="dateRange"
|
||||
type="datetimerange"
|
||||
align="right"
|
||||
unlink-panels
|
||||
range-separator="至"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
format="yyyy-MM-dd HH:mm:ss" style="width: 400px"
|
||||
:default-time="['00:00:00', '23:59:59']"
|
||||
:picker-options="pickerOptions2" >
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item label="采购计划单号" prop="planCode">
|
||||
<el-input v-model="queryParams2.planCode" placeholder="请输入采购单号" maxlength="20" clearable style="width: 240px"/>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery2">搜索</el-button>
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery2">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<!-- :row-key="(row)=>{return row.fetchMaterialId}" @selection-change="handleSelectionChange3" -->
|
||||
<el-table v-loading="loading2" :data="tableListData2" ref="multipleTable2" highlight-current-row @current-change="handleCurrentChange" height="300">
|
||||
<!-- <el-table-column type="selection" width="50" align="center" :reserve-selection="true" /> -->
|
||||
<el-table-column label="序号" align="center" width="80" type="index">
|
||||
<template slot-scope="scope">
|
||||
<span>{{(queryParams2.pageNum - 1) * queryParams2.pageSize + scope.$index + 1}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="采购计划单号" align="center" prop="planCode" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="采购计划时间" align="center" prop="purchaseDate" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="所属食堂" align="center" prop="canteenName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="所属档口" align="center" prop="stallName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="创建人" align="center" prop="createBy" :show-overflow-tooltip="true" />
|
||||
</el-table>
|
||||
<pagination
|
||||
v-show="total2>0"
|
||||
:total="total2"
|
||||
:page.sync="queryParams2.pageNum"
|
||||
:limit.sync="queryParams2.pageSize"
|
||||
@pagination="getList2"
|
||||
/>
|
||||
<div>
|
||||
<div>采购计划明细</div>
|
||||
<el-table :data="materialDetailsData" height="250">
|
||||
<el-table-column label="货品编码" align="center" prop="materialCode" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="货品名称" align="center" prop="materialName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="货品类别" align="center" prop="materialTypeName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="计量单位" align="center" prop="unitName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="计划采购数量" align="center" prop="purchaseNum" :show-overflow-tooltip="true" />
|
||||
</el-table>
|
||||
</div>
|
||||
</div>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="confirmImport">确 定</el-button>
|
||||
<el-button @click="openImportDialog=false">取 消</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
|
@ -231,6 +298,7 @@ import { imgUpLoadTwo } from '@/api/system/upload'
|
|||
import { systemAreaTreeApi,getCanteenByAreaApi,getStallByCanteenApi } from "@/api/base/stall";
|
||||
import { systemMaterialTreeApi,getMaterialListApi,supplierPageApi,drpWareHousePageApi,purchaseContractPageApi } from "@/api/foodManage/purchaseManage";
|
||||
import { getPurchaseOrderInfoApi,addPurchaseOrderApi,editPurchaseOrderApi } from "@/api/foodManage/purchaseManage";
|
||||
import { purchasePlanPageApi,getPurchasePlanInfoApi } from "@/api/foodManage/purchaseManage";
|
||||
export default {
|
||||
name: "orderEdit",
|
||||
dicts: [],
|
||||
|
|
@ -296,7 +364,46 @@ export default {
|
|||
tableListData: [],//货品弹窗-货品表格数据
|
||||
batchChosenMaterial:[],//货品弹窗-货品表格-选中的货品数组
|
||||
noMaterial:false,
|
||||
|
||||
//导入功能
|
||||
openImportDialog:false,
|
||||
queryParams2: { // 货品弹窗-货品表格-查询参数
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
planCode:null
|
||||
},
|
||||
loading2:false,
|
||||
total2: 0, // 总条数
|
||||
tableListData2: [],//导入弹窗-表格数据
|
||||
importRow:{},//导入弹窗-表格数据-选中数据
|
||||
materialDetailsData: [],//导入弹窗-明细数据
|
||||
dateRange:this.defaultDateRange(),//区域树
|
||||
pickerOptions2: {
|
||||
shortcuts: [{
|
||||
text: '最近一周',
|
||||
onClick(picker) {
|
||||
const start = new Date();
|
||||
const end = new Date();
|
||||
start.setTime(start.getTime() - 3600 * 1000 * 24 * 6);
|
||||
picker.$emit('pick', [start, end]);
|
||||
}
|
||||
},{
|
||||
text: '最近一个月',
|
||||
onClick(picker) {
|
||||
const start = new Date();
|
||||
const end = new Date();
|
||||
start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
|
||||
picker.$emit('pick', [start, end]);
|
||||
}
|
||||
},{
|
||||
text: '最近三个月',
|
||||
onClick(picker) {
|
||||
const start = new Date();
|
||||
const end = new Date();
|
||||
start.setTime(start.getTime() - 3600 * 1000 * 24 * 91);
|
||||
picker.$emit('pick', [start, end]);
|
||||
}
|
||||
}]
|
||||
},
|
||||
};
|
||||
},
|
||||
created() {
|
||||
|
|
@ -359,6 +466,10 @@ export default {
|
|||
getAreaTreeData() {
|
||||
systemAreaTreeApi({}).then((response) => {
|
||||
this.treeAreaOptions = response.data;
|
||||
if(this.treeAreaOptions.length>0){
|
||||
this.$set(this.baseInfo,"areaId",this.getFirstChild(this.treeAreaOptions[0]).id)
|
||||
this.handleAreaChange()
|
||||
}
|
||||
});
|
||||
},
|
||||
getFirstChild(node) {
|
||||
|
|
@ -381,7 +492,10 @@ export default {
|
|||
}
|
||||
getCanteenByAreaApi(param).then((response) => {
|
||||
this.canteenOptions=response.rows||[];
|
||||
this.$set(this.baseInfo,"canteenId",null)
|
||||
if(this.canteenOptions.length>0){
|
||||
this.$set(this.baseInfo,"canteenId",this.canteenOptions[0].canteenId)
|
||||
this.handleCanteenChange()
|
||||
}
|
||||
});
|
||||
},
|
||||
/** 查询供应商下拉结构 */
|
||||
|
|
@ -409,7 +523,9 @@ export default {
|
|||
}
|
||||
getStallByCanteenApi(param).then((response) => {
|
||||
this.stallOptions=response.rows||[]
|
||||
this.$set(this.baseInfo,"stallId",null)
|
||||
if(this.stallOptions.length>0){
|
||||
this.$set(this.baseInfo,"stallId",this.stallOptions[0].stallId)
|
||||
}
|
||||
});
|
||||
},
|
||||
/** 查询货品类别下拉树结构 */
|
||||
|
|
@ -641,6 +757,91 @@ export default {
|
|||
});
|
||||
},
|
||||
|
||||
//导入
|
||||
importPurchasePlan(){
|
||||
if(this.baseInfo.areaId!=undefined||this.baseInfo.canteenId!=undefined||this.baseInfo.stallId!=undefined){
|
||||
this.openImportDialog=true
|
||||
this.resetQuery2()
|
||||
// setTimeout(()=>{
|
||||
// this.$refs.multipleTable2.clearSelection()
|
||||
// },300)
|
||||
}else{
|
||||
this.$modal.msgError("请先选择区域,食堂,档口");
|
||||
}
|
||||
},
|
||||
/** 搜索按钮操作 */
|
||||
handleQuery2() {
|
||||
this.queryParams2.pageNum = 1;
|
||||
this.getList2();
|
||||
},
|
||||
/** 重置按钮操作 */
|
||||
resetQuery2() {
|
||||
this.dateRange = this.defaultDateRange()
|
||||
this.resetForm("queryForm2");
|
||||
this.handleQuery2();
|
||||
},
|
||||
/** 查询列表 */
|
||||
getList2() {
|
||||
this.loading2 = true;
|
||||
let param = {
|
||||
"pageSize": this.queryParams2.pageSize,
|
||||
"pageNum": this.queryParams2.pageNum,
|
||||
"planCode": this.queryParams2.planCode,
|
||||
"status":2,
|
||||
"areaId": this.baseInfo.areaId,
|
||||
"canteenId": this.baseInfo.canteenId,
|
||||
"stallId": this.baseInfo.stallId
|
||||
}
|
||||
if(this.dateRange&&this.dateRange.length>0){
|
||||
param.startDateTime=this.formatDateTime(this.dateRange[0])
|
||||
param.endDateTime=this.formatDateTime(this.dateRange[1])
|
||||
}else{
|
||||
param.startDateTime=undefined;
|
||||
param.endDateTime=undefined;
|
||||
}
|
||||
purchasePlanPageApi(param).then(response => {
|
||||
this.tableListData2 = response.rows;
|
||||
this.total2 = Number(response.total);
|
||||
this.loading2 = false;
|
||||
});
|
||||
},
|
||||
//选中
|
||||
handleCurrentChange(row){
|
||||
console.log(row)
|
||||
this.importRow = row;
|
||||
let param = {
|
||||
planId:this.importRow.planId
|
||||
}
|
||||
getPurchasePlanInfoApi(param).then((response) => {
|
||||
this.materialDetailsData = response.data.purchasePlanDetailList||[];
|
||||
});
|
||||
},
|
||||
confirmImport(){
|
||||
if(this.materialDetailsData.length>0){
|
||||
this.$modal.confirm('是否确认覆盖货品明细?').then(() => {
|
||||
this.materialList = this.materialDetailsData;
|
||||
this.materialList.forEach(item=>{
|
||||
this.$set(item,"orderNum",item.purchaseNum)
|
||||
})
|
||||
this.baseInfo.purchasePlanCode = this.importRow.planCode;
|
||||
this.$set(this.baseInfo,"remark","导入采购计划")
|
||||
setTimeout(()=>{
|
||||
this.openImportDialog=false
|
||||
},500)
|
||||
}).catch(() => {});
|
||||
}else{
|
||||
this.$modal.msgError("采购计划明细无货品");
|
||||
}
|
||||
},
|
||||
defaultDateRange() {
|
||||
const end = new Date(new Date().toLocaleDateString());
|
||||
end.setTime(end.getTime() + 24 * 60 * 60 * 1000 -1);
|
||||
const start = new Date((new Date().toLocaleDateString()));
|
||||
start.setTime(start.getTime() - 30 * 24 * 60 * 60 * 1000);
|
||||
this.start = parseInt(start.getTime() / 1000)
|
||||
this.end = parseInt(end.getTime() / 1000)
|
||||
return [start, end]
|
||||
},
|
||||
//日期
|
||||
formatDate(date) {
|
||||
// 格式化为 YYYY-MM-DD
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="90px">
|
||||
<el-form-item label="采购单编号" prop="orderGoodsCode">
|
||||
<el-form-item label="采购订单号" prop="orderGoodsCode">
|
||||
<el-input v-model="queryParams.orderGoodsCode" placeholder="请输入采购单编号" maxlength="20" clearable style="width: 240px"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="采购日期">
|
||||
|
|
@ -41,13 +41,13 @@
|
|||
<el-option label="审批拒绝" :value="4"></el-option>
|
||||
</el-select>
|
||||
</el-form-item> -->
|
||||
<el-form-item label="确认状态" prop="supplierConfirmStatus">
|
||||
<!-- <el-form-item label="确认状态" prop="supplierConfirmStatus">
|
||||
<el-select v-model="queryParams.supplierConfirmStatus" placeholder="请选择确认状态" style="width: 240px;">
|
||||
<el-option label="待确认" :value="1"></el-option>
|
||||
<el-option label="确认通过" :value="2"></el-option>
|
||||
<el-option label="已拒绝" :value="3"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-form-item> -->
|
||||
<el-form-item label="所属区域" prop="areaId">
|
||||
<el-cascader v-model="queryParams.areaId"
|
||||
:options="treeAreaOptions" :filterable="true" style="width: 100%;" :show-all-levels="false"
|
||||
|
|
@ -342,8 +342,9 @@ export default {
|
|||
"areaId": this.queryParams.areaId,
|
||||
"canteenId": this.queryParams.canteenId,
|
||||
"stallId": this.queryParams.stallId,
|
||||
"supplierId": this.queryParams.supplierId,
|
||||
"orderStatus": this.queryParams.orderStatus,
|
||||
"supplierConfirmStatus": this.queryParams.supplierConfirmStatus,
|
||||
// "supplierConfirmStatus": this.queryParams.supplierConfirmStatus,
|
||||
// "approveStatus": this.queryParams.approveStatus
|
||||
}
|
||||
if(this.dateRange&&this.dateRange.length>0){
|
||||
|
|
|
|||
|
|
@ -155,8 +155,8 @@
|
|||
<el-input v-model="queryParams2.title" placeholder="请输入领料单标题" maxlength="20" clearable style="width: 240px"/>
|
||||
</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-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery2">搜索</el-button>
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery2">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-table v-loading="loading2" :data="tableListData2" ref="multipleTable2" height="520" :row-key="(row)=>{return row.fetchMaterialId}" @selection-change="handleSelectionChange3">
|
||||
|
|
|
|||
Loading…
Reference in New Issue