领料出库

This commit is contained in:
jjLv 2024-11-14 08:49:14 +08:00
parent e193a6cfe4
commit 882b72ad1b
5 changed files with 311 additions and 117 deletions

View File

@ -71,10 +71,20 @@ export function applyRemove(ids) {
} }
// 领料申请-发布 // 领料申请-发布
export function applySend(ids) { export function applySend(data) {
return request({ return request({
url: '/material/lease_apply_info/' + ids, url: '/material/lease_apply_info/publish',
method: 'delete', method: 'post',
data: data,
})
}
// 领料申请-批量发布
export function applySendAll(data) {
return request({
url: '/material/lease_apply_info/publishBatch',
method: 'post',
data: data,
}) })
} }

127
src/api/lease/out.js Normal file
View File

@ -0,0 +1,127 @@
import request from '@/utils/request'
//领料出库-列表
export function getListLeaseOut(query) {
return request({
url: '/material/lease_out_details/list',
method: 'get',
params: query,
})
}
// 领料出库-新增
export function addApplyInfo(data) {
return request({
url: '/material/lease_apply_info',
method: 'post',
data: data,
})
}
// 领料出库-编辑
export function updateApplyInfo(data) {
return request({
url: '/material/lease_apply_info',
method: 'put',
data: data,
})
}
// 领料出库-详情信息
export function getLeaseOutInfo(id) {
return request({
url: '/material/lease_apply_info/' + id,
method: 'get'
})
}
// 领料申请租赁单位下拉框
export function getListUnite(data) {
return request({
url: '/material/select/getUnitList',
method: 'post',
data: data,
})
}
// 领料申请租赁工程下拉框
export function getListProject(data) {
return request({
url: '/material/select/getProjectList',
method: 'post',
data: data,
})
}
// 领料申请获取协议单id
export function getAgreement(data) {
return request({
url: '/material/select/getAgreementInfoById',
method: 'post',
data: data,
})
}
// 领料出库-删除
export function applyRemove(ids) {
return request({
url: '/material/lease_apply_info/' + ids,
method: 'delete',
})
}
// 领料出库-发布
export function applySend(ids) {
return request({
url: '/material/lease_apply_info/' + ids,
method: 'delete',
})
}
//新购到货-二级列表详情
export function getPurchaseCheckInfo(query) {
return request({
url: '/material/purchase_check_info/getInfo',
method: 'get',
params: query,
})
}
// 新购到货-新增
export function addPurchaseCheckInfo(data) {
return request({
url: '/material/purchase_check_info',
method: 'post',
data: data,
})
}
// 新购到货-编辑
export function updatePurchaseCheckInfo(data) {
return request({
url: '/material/purchase_check_info',
method: 'put',
data: data,
})
}
// 新购到货--删除
export function purchaseCheckInfoRemove(ids) {
return request({
url: '/material/purchase_check_info/' + ids,
method: 'delete',
})
}
// 上传报告附件
export function uploadPurchaseFile(data) {
return request({
url: '/material/bm_file_info',
method: 'post',
data: data
})
}

View File

@ -325,10 +325,11 @@ export default {
this.taskId = this.editTaskId; this.taskId = this.editTaskId;
this.id = this.editId; this.id = this.editId;
this.getTaskInfo(); this.getTaskInfo();
this.equipmentType();
} else {
this.projectInfoList();
this.equipmentType();
} }
this.projectInfoList();
this.equipmentType();
}, },
methods: { methods: {
uniteChange(val) { uniteChange(val) {
@ -345,9 +346,19 @@ export default {
}, },
/** 租赁单位和工程-下拉选 */ /** 租赁单位和工程-下拉选 */
projectInfoList() { projectInfoList() {
getListUnite({ id: null }).then((response) => { if (!this.isEdit) {
this.uniteList = response.data; getListUnite({ id: null }).then((response) => {
}); this.uniteList = response.data;
});
} else {
getListUnite({ id: null }).then((response) => {
this.uniteList = response.data;
});
console.log("maForm", this.maForm.leaseUnitId);
getListProject({ unitId: this.maForm.leaseUnitId }).then((response) => {
this.projectList = response.data;
});
}
// getListProject({ id: null }).then((response) => { // getListProject({ id: null }).then((response) => {
// this.projectList = response.data; // this.projectList = response.data;
// }); // });
@ -432,14 +443,15 @@ export default {
} }
}, },
//--- //---
getTaskInfo() { async getTaskInfo() {
// this.loading = true; // this.loading = true;
getApplyInfo(this.id).then((response) => { await getApplyInfo(this.id).then((response) => {
this.maForm = response.data.leaseApplyInfo; this.maForm = response.data.leaseApplyInfo;
console.log("this.maForm", this.maForm); console.log("this.maForm", this.maForm);
this.equipmentList = response.data.leaseApplyDetailsList; this.equipmentList = response.data.leaseApplyDetailsList;
// this.loading = false; // this.loading = false;
}); });
await this.projectInfoList();
}, },
// //
handleSelectionChange(selection) { handleSelectionChange(selection) {

View File

@ -55,13 +55,11 @@
icon="el-icon-search" icon="el-icon-search"
size="mini" size="mini"
@click="handleQuery" @click="handleQuery"
>搜索 >搜索
</el-button </el-button>
>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery" <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
>重置 >重置
</el-button </el-button>
>
</el-form-item> </el-form-item>
</el-form> </el-form>
@ -73,9 +71,8 @@
icon="el-icon-plus" icon="el-icon-plus"
size="mini" size="mini"
@click="handleAdd" @click="handleAdd"
>领料申请 >领料申请
</el-button </el-button>
>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button <el-button
@ -84,9 +81,8 @@
icon="el-icon-plus" icon="el-icon-plus"
size="mini" size="mini"
@click="handleSendAll" @click="handleSendAll"
>发布 >发布
</el-button </el-button>
>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button <el-button
@ -95,9 +91,8 @@
icon="el-icon-download" icon="el-icon-download"
size="mini" size="mini"
@click="handleExport" @click="handleExport"
>导出 >导出
</el-button </el-button>
>
</el-col> </el-col>
<right-toolbar <right-toolbar
:showSearch.sync="showSearch" :showSearch.sync="showSearch"
@ -112,8 +107,13 @@
@selection-change="handleSelectionChange" @selection-change="handleSelectionChange"
border border
> >
<el-table-column type="selection" width="55" align="center"/> <el-table-column
<el-table-column width="60" align="center" label="序号" type="index"/> type="selection"
width="55"
align="center"
:selectable="selectable"
/>
<el-table-column width="60" align="center" label="序号" type="index" />
<el-table-column <el-table-column
align="center" align="center"
width="160" width="160"
@ -212,9 +212,8 @@
style="margin-bottom: 10px" style="margin-bottom: 10px"
type="normal" type="normal"
@click="handleView(scope.row)" @click="handleView(scope.row)"
>查看 >查看
</el-button </el-button>
>
<el-button <el-button
size="mini" size="mini"
style="margin-bottom: 10px" style="margin-bottom: 10px"
@ -222,9 +221,8 @@
@click="handleUpdate(scope.row)" @click="handleUpdate(scope.row)"
v-if="scope.row.status != '2'" v-if="scope.row.status != '2'"
v-hasPermi="['purchase:info:edit']" v-hasPermi="['purchase:info:edit']"
>编辑 >编辑
</el-button </el-button>
>
<el-button <el-button
size="mini" size="mini"
@ -233,17 +231,14 @@
@click="handleSend(scope.row)" @click="handleSend(scope.row)"
v-if="scope.row.status == '0'" v-if="scope.row.status == '0'"
v-hasPermi="['purchase:person:notice']" v-hasPermi="['purchase:person:notice']"
>发布 >发布
</el-button </el-button>
>
<el-button size="mini" type="warning" @click="handleLld(scope.row)" <el-button size="mini" type="warning" @click="handleLld(scope.row)"
>领料单 >领料单
</el-button </el-button>
>
<el-button size="mini" type="warning" @click="handlePrint(scope.row)" <el-button size="mini" type="warning" @click="handlePrint(scope.row)"
>出库检验单 >出库检验单
</el-button </el-button>
>
<el-button <el-button
size="mini" size="mini"
@ -251,9 +246,8 @@
@click="handleDeletePurchase(scope.row)" @click="handleDeletePurchase(scope.row)"
v-if="scope.row.status == '0'" v-if="scope.row.status == '0'"
v-hasPermi="['purchase:info:remove']" v-hasPermi="['purchase:info:remove']"
>删除 >删除
</el-button </el-button>
>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -327,7 +321,7 @@
border border
> >
<!-- <el-table-column type="selection" width="55" align="center" />--> <!-- <el-table-column type="selection" width="55" align="center" />-->
<el-table-column label="序号" align="center" type="index" row="2"/> <el-table-column label="序号" align="center" type="index" row="2" />
<el-table-column <el-table-column
label="物资名称" label="物资名称"
align="center" align="center"
@ -338,7 +332,7 @@
align="center" align="center"
prop="specificationType" prop="specificationType"
/> />
<el-table-column label="单位" align="center" prop="unitName"/> <el-table-column label="单位" align="center" prop="unitName" />
<el-table-column label="配送信息" align="center"> <el-table-column label="配送信息" align="center">
<el-table-column <el-table-column
label="到货数量" label="到货数量"
@ -363,7 +357,7 @@
/> />
</el-table-column> </el-table-column>
</el-table-column> </el-table-column>
<el-table-column label="备注" align="center" prop="unitName"/> <el-table-column label="备注" align="center" prop="unitName" />
<!-- <el-table-column--> <!-- <el-table-column-->
<!-- label="合格证及技术资料"--> <!-- label="合格证及技术资料"-->
@ -408,34 +402,78 @@
</div> </div>
</el-dialog> </el-dialog>
<!-- 领料单弹窗 --> <!-- 领料单弹窗 -->
<el-dialog :visible.sync="open" width="800px" append-to-body> <el-dialog :visible.sync="open" width="800px" append-to-body>
<div style="height: 500px; overflow-y: scroll; padding: 0 20px"> <div style="height: 500px; overflow-y: scroll; padding: 0 20px">
<vue-easy-print tableShow ref="remarksPrintRef" class="print"> <vue-easy-print tableShow ref="remarksPrintRef" class="print">
<div class="title" style="text-align: center;font-weight: 600;font-size: 16px;">领料单</div> <div
<div class="info" style="margin-top: 10px; display: flex; flex-wrap: wrap"> class="title"
<div class="item" style="width: 50%;flex-shrink: 0;margin-bottom: 5px;font-size: 14px;"> style="text-align: center; font-weight: 600; font-size: 16px"
>
领料单
</div>
<div
class="info"
style="margin-top: 10px; display: flex; flex-wrap: wrap"
>
<div
class="item"
style="
width: 50%;
flex-shrink: 0;
margin-bottom: 5px;
font-size: 14px;
"
>
<span>领料单位</span> <span>领料单位</span>
{{ leaseApplyData.leaseUnit }} {{ leaseApplyData.leaseUnit }}
</div> </div>
<div class="item" style="width: 50%;flex-shrink: 0;margin-bottom: 5px;font-size: 14px;"> <div
class="item"
style="
width: 50%;
flex-shrink: 0;
margin-bottom: 5px;
font-size: 14px;
"
>
<span>工程名称</span> <span>工程名称</span>
{{ leaseApplyData.leaseProject }} {{ leaseApplyData.leaseProject }}
</div> </div>
<div class="item" style="width: 50%;flex-shrink: 0;margin-bottom: 5px;font-size: 14px;"> <div
class="item"
style="
width: 50%;
flex-shrink: 0;
margin-bottom: 5px;
font-size: 14px;
"
>
<span>时间</span> <span>时间</span>
{{ leaseApplyData.createTime }} {{ leaseApplyData.createTime }}
</div> </div>
<div class="item" style="width: 50%;flex-shrink: 0;margin-bottom: 5px;font-size: 14px;"> <div
class="item"
style="
width: 50%;
flex-shrink: 0;
margin-bottom: 5px;
font-size: 14px;
"
>
<span>编号</span> <span>编号</span>
{{ leaseApplyData.code }} {{ leaseApplyData.code }}
</div> </div>
</div> </div>
<el-table :data="leaseApplyDetails" class="table" border style="margin-top: 20px; padding: 1px"> <el-table
<el-table-column label="序号" align="center" type="index"/> :data="leaseApplyDetails"
<el-table-column label="类型名称" align="center" prop="typeName"/> class="table"
<!-- <el-table-column type="expand"> border
style="margin-top: 20px; padding: 1px"
>
<el-table-column label="序号" align="center" type="index" />
<el-table-column label="类型名称" align="center" prop="typeName" />
<!-- <el-table-column type="expand">
<template slot-scope="scope"> <template slot-scope="scope">
<div class="nested-table-container"> <div class="nested-table-container">
<el-table :data="scope.row.maTypeDetails" style="width: 100%"> <el-table :data="scope.row.maTypeDetails" style="width: 100%">
@ -464,41 +502,37 @@
</div> </div>
</template> </template>
</el-table-column>--> </el-table-column>-->
<el-table-column label="规格型号" align="center" prop="typeName" />
<el-table-column label="计量单位" align="center" prop="unitName" />
<el-table-column label="预领数量" align="center" prop="preNum" />
<el-table-column label="备注" align="center" prop="remark" />
<el-table-column <el-table-column
label="规格型号" label="出库方式"
align="center" align="center"
prop="typeName" prop="manageTypeName"
/> >
<el-table-column
label="计量单位"
align="center"
prop="unitName"
/>
<el-table-column
label="预领数量"
align="center"
prop="preNum"
/>
<el-table-column
label="备注"
align="center"
prop="remark"
/>
<el-table-column label="出库方式" align="center" prop="manageTypeName">
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag :options="dict.type.ma_type_manage_type" :value="scope.row.manageType"/> <dict-tag
:options="dict.type.ma_type_manage_type"
:value="scope.row.manageType"
/>
</template> </template>
</el-table-column> </el-table-column>
<!-- <el-table-column--> <!-- <el-table-column-->
<!-- label="出库方式"--> <!-- label="出库方式"-->
<!-- align="center"--> <!-- align="center"-->
<!-- prop="manageTypeName"--> <!-- prop="manageTypeName"-->
<!-- />--> <!-- />-->
</el-table> </el-table>
<div class="fillIn" style="margin-top: 30px;display: flex;justify-content: space-between;"> <div
class="fillIn"
style="
margin-top: 30px;
display: flex;
justify-content: space-between;
"
>
<div class="item" style="width: 25%"> <div class="item" style="width: 25%">
<span>审核</span> <span>审核</span>
</div> </div>
@ -519,7 +553,6 @@
<el-button @click="open = false"> </el-button> <el-button @click="open = false"> </el-button>
</div> </div>
</el-dialog> </el-dialog>
</div> </div>
</template> </template>
@ -532,13 +565,15 @@ import {
queryStatusDataApi, queryStatusDataApi,
getApplyInfo, getApplyInfo,
applyRemove, applyRemove,
applySend,
applySendAll,
} from "@/api/lease/apply"; } from "@/api/lease/apply";
import vueEasyPrint from 'vue-easy-print' import vueEasyPrint from "vue-easy-print";
export default { export default {
name: "Home", name: "Home",
dicts: ["lease_apply_status","ma_type_manage_type"], dicts: ["lease_apply_status", "ma_type_manage_type"],
// components: { vueEasyPrint }, // components: { vueEasyPrint },
data() { data() {
return { return {
@ -590,7 +625,7 @@ export default {
// //
rules: { rules: {
remark: [ remark: [
{required: true, message: "通知内容不能为空", trigger: "blur"}, { required: true, message: "通知内容不能为空", trigger: "blur" },
], ],
}, },
openPrint: false, openPrint: false,
@ -604,6 +639,7 @@ export default {
leaseApplyDetails: [], leaseApplyDetails: [],
// //
leaseApplyData: {}, leaseApplyData: {},
sendTemp: [],
}; };
}, },
created() { created() {
@ -624,11 +660,23 @@ export default {
// //
handleSelectionChange(selection) { handleSelectionChange(selection) {
this.sendTemp = [];
this.ids = selection.map((item) => item.id); this.ids = selection.map((item) => item.id);
selection.forEach((item) => {
this.sendTemp.push({ id: item.id, taskId: item.taskId });
});
this.single = selection.length != 1; this.single = selection.length != 1;
this.multiple = !selection.length; this.multiple = !selection.length;
}, },
//
selectable(row) {
if (row.status == "1") {
return false;
} else {
return true;
}
},
getList() { getList() {
this.loading = true; this.loading = true;
const params = { const params = {
@ -690,7 +738,7 @@ export default {
// //
getPrintTable(taskId) { getPrintTable(taskId) {
getAcceptanceForm({taskId: taskId}).then((response) => { getAcceptanceForm({ taskId: taskId }).then((response) => {
this.printData = response.data; this.printData = response.data;
this.printTableData = response.data.checkDetailsList; this.printTableData = response.data.checkDetailsList;
@ -715,13 +763,13 @@ export default {
// //
async handleLld(row) { async handleLld(row) {
this.open = true this.open = true;
var ids = row.id var ids = row.id;
const res = await getApplyInfo(ids) const res = await getApplyInfo(ids);
console.log(res) console.log(res);
this.leaseApplyDetails = res.data.leaseApplyDetailsList this.leaseApplyDetails = res.data.leaseApplyDetailsList;
this.leaseApplyData = res.data.leaseApplyInfo this.leaseApplyData = res.data.leaseApplyInfo;
console.log(this.leaseApplyData) console.log(this.leaseApplyData);
}, },
// //
@ -744,27 +792,25 @@ export default {
this.getList(); this.getList();
this.$modal.msgSuccess("删除成功"); this.$modal.msgSuccess("删除成功");
}) })
.catch(() => { .catch(() => {});
});
}, },
/** 导出按钮操作 */ /** 导出按钮操作 */
handleExport() { handleExport() {
this.download( this.download(
"/material/lease_apply_info/export", "/material/lease_apply_info/export",
{...this.queryParams}, { ...this.queryParams },
`领料申请_${new Date().getTime()}.xlsx` `领料申请_${new Date().getTime()}.xlsx`
); );
}, },
// //
handleSend(row) { handleSend(row) {
let ids = []; const param = { id: row.id, taskId: row.taskId };
ids.push(row.id);
this.$modal this.$modal
.confirm("是否确认发布所选择的数据项?") .confirm("是否确认发布所选择的数据项?")
.then(function () { .then(function () {
return applySend(ids); return applySend(param);
}) })
.then(() => { .then(() => {
this.getList(); this.getList();
@ -781,16 +827,12 @@ export default {
}); });
return; return;
} else { } else {
this.$modal applySendAll(this.sendTemp).then((response) => {
.confirm("是否确认发布所选择的数据项?") if (response.code == 200) {
.then(function () {
return applySend(this.ids);
})
.then(() => {
this.getList();
this.$modal.msgSuccess("发布成功"); this.$modal.msgSuccess("发布成功");
}) }
.catch(() => {}); this.getList();
});
} }
}, },
}, },

View File

@ -159,6 +159,7 @@
append-to-body append-to-body
title="编码绑定" title="编码绑定"
:visible.sync="bindCodeVisible" :visible.sync="bindCodeVisible"
@close="closeCancel"
> >
<el-form <el-form
size="small" size="small"
@ -166,7 +167,6 @@
ref="queryFormBindRef" ref="queryFormBindRef"
:model="queryBindForm" :model="queryBindForm"
:rules="queryBindFormRules" :rules="queryBindFormRules"
@close="closeCancel"
> >
<el-form-item label="前缀" prop="codePrefix"> <el-form-item label="前缀" prop="codePrefix">
<el-input <el-input
@ -419,7 +419,10 @@ export default {
}, },
methods: { methods: {
// //
closeCancel() {}, closeCancel() {
this.bindCodeVisible = false;
this.resetForm("queryFormBindRef");
},
codeBind(row) { codeBind(row) {
this.bindCodeVisible = true; this.bindCodeVisible = true;
this.waitBindNum = row.unitName; this.waitBindNum = row.unitName;