领料模块领料单优化

This commit is contained in:
zzyuan 2025-01-08 14:40:33 +08:00
parent 6a2a644b1c
commit 6d92114f41
4 changed files with 151 additions and 411 deletions

BIN
src/assets/signTemp.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

View File

@ -197,12 +197,12 @@
<el-input
v-model.number="scope.row.preNum"
controls-position="right" type="number"
style="width: 100%"
style="width: 100%" :disabled="scope.row.alNum&&scope.row.alNum!=0"
:min="0" @input="(v)=>(scope.row.unitValue==1?scope.row.preNum=Number(v.replace(/[^\d.]/g,'')) : scope.row.preNum=Number(v.replace(/[^\d]/g,'')))"
></el-input>
</template>
</el-table-column>
<el-table-column label="已出库数量" align="center" prop="alNum" v-if="maForm.taskId" :show-overflow-tooltip="true"/>
<!-- <el-table-column align="center" label="出库数量" prop="alNum" /> -->
<el-table-column
label="备注"
@ -225,7 +225,7 @@
size="mini"
type="text"
icon="el-icon-delete"
style="color: red"
style="color: red" v-if="!scope.row.alNum||scope.row.alNum==0"
@click="handleDelete(scope.row)"
>删除</el-button
>
@ -655,6 +655,10 @@ export default {
this.$message.error(`${i + 1} 行的 ${'预领数量必须大于0'} `);
return
}
if(this.equipmentList[i].preNum>this.equipmentList[i].storageNum){
this.$message.error(`${i + 1} 行的 ${'预领数量不可大于库存量'} `);
return
}
}
console.log("projectId", this.projectTemp);

View File

@ -1,13 +1,6 @@
<template>
<div>
<el-form
:model="queryParams"
ref="queryForm"
size="small"
:inline="true"
v-show="showSearch"
label-width="100px"
>
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="100px">
<el-form-item label="日期">
<el-date-picker
v-model="queryParams.time"
@ -100,175 +93,50 @@
></right-toolbar>
</el-row>
<el-table
v-loading="loading"
:data="typeList"
row-key="id"
@selection-change="handleSelectionChange"
border
>
<el-table-column
type="selection"
width="55"
align="center"
:selectable="selectable"
/>
<el-table v-loading="loading" :data="typeList" row-key="id" @selection-change="handleSelectionChange" border>
<el-table-column type="selection" width="55" align="center" :selectable="selectable"/>
<el-table-column width="60" align="center" label="序号" type="index" >
<template slot-scope="scope">
<span>{{ (queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1 }}</span>
</template>
</el-table-column>
<el-table-column
align="center"
width="100"
label="申请时间"
prop="createTime"
/>
<el-table-column
label="申请人"
width="100"
align="center"
prop="createBy"
:show-overflow-tooltip="true"
/>
<el-table-column
label="实施单位"
align="center"
prop="impUnitName"
width="150px"
:show-overflow-tooltip="true"
/>
<el-table-column
label="合同主体"
align="center"
prop="contractPart"
width="150px"
:show-overflow-tooltip="true"
/>
<el-table-column
label="租赁单位"
align="center"
prop="leaseUnit"
width="150px"
:show-overflow-tooltip="true"
/>
<el-table-column
label="租赁工程"
align="center"
prop="leaseProject"
width="150px"
:show-overflow-tooltip="true"
/>
<!-- <el-table-column
label="领料物资类型"
align="center"
prop="maTypeNames"
width="110px"
:show-overflow-tooltip="true"
/> -->
<el-table-column
label="协议号"
align="center"
prop="agreementCode"
width="140"
:show-overflow-tooltip="true"
/>
<el-table-column
label="租赁申请单号"
align="center"
prop="code"
width="140px"
:show-overflow-tooltip="true"
>
</el-table-column>
<el-table-column
label="领料人"
align="center"
prop="leasePerson"
:show-overflow-tooltip="true"
/>
<!-- <el-table-column
label="领料人电话"
align="center"
prop="phone"
width="120px"
:show-overflow-tooltip="true"
/> -->
<el-table-column
label="状态"
align="center"
prop="taskStatus"
:show-overflow-tooltip="true"
>
<el-table-column label="申请时间" align="center" prop="createTime" width="160" :show-overflow-tooltip="true"/>
<el-table-column label="申请人" align="center" prop="createBy" width="100" :show-overflow-tooltip="true"/>
<el-table-column label="实施单位" align="center" prop="impUnitName" width="120px" :show-overflow-tooltip="true"/>
<el-table-column label="合同主体" align="center" prop="contractPart" width="120px" :show-overflow-tooltip="true"/>
<el-table-column label="租赁单位" align="center" prop="leaseUnit" width="150px" :show-overflow-tooltip="true"/>
<el-table-column label="租赁工程" align="center" prop="leaseProject" width="150px" :show-overflow-tooltip="true"/>
<!-- <el-table-column label="领料物资类型" align="center" prop="maTypeNames" width="110px" :show-overflow-tooltip="true"/> -->
<el-table-column label="协议号" align="center" prop="agreementCode" width="140" :show-overflow-tooltip="true"/>
<el-table-column label="租赁申请单号" align="center" prop="code" width="140px" :show-overflow-tooltip="true"></el-table-column>
<el-table-column label="领料人" align="center" prop="leasePerson" :show-overflow-tooltip="true"/>
<!-- <el-table-column label="领料人电话" align="center" prop="phone" width="120px" :show-overflow-tooltip="true"/> -->
<el-table-column label="状态" align="center" prop="taskStatus" :show-overflow-tooltip="true" width="150">
<template slot-scope="scope">
<dict-tag
:options="dict.type.lease_task_status"
:value="scope.row.taskStatus"
/>
<dict-tag :options="dict.type.lease_task_status" :value="scope.row.taskStatus"/>
</template>
</el-table-column>
<el-table-column
label="备注"
align="center"
width="100"
prop="remark"
:show-overflow-tooltip="true"
/>
<el-table-column label="备注" align="center" width="100" prop="remark" :show-overflow-tooltip="true"/>
<el-table-column label="操作" align="center" width="300" fixed="right">
<template slot-scope="scope">
<el-button
size="mini"
style="margin-bottom: 10px"
type="normal"
<el-button size="mini" style="margin-bottom: 10px" type="normal"
@click="handleView(scope.row)"
>查看
</el-button>
<el-button
size="mini"
style="margin-bottom: 10px"
type="primary"
@click="handleUpdate(scope.row)"
v-if="scope.row.taskStatus != 4"
v-hasPermi="['purchase:info:edit']"
>编辑
</el-button>
<el-button
size="mini"
style="margin-bottom: 10px"
type="success"
@click="handleSend(scope.row)"
v-if="scope.row.taskStatus == 1"
v-hasPermi="['purchase:person:notice']"
>发布
</el-button>
<el-button
size="mini"
type="warning"
v-if="scope.row.taskStatus != 1"
@click="handleLld(scope.row)"
>领料单
</el-button>
<el-button
size="mini"
type="warning"
@click="handlePrint(scope.row)"
v-if="scope.row.taskStatus == 4"
>出库检验单
</el-button>
<el-button
size="mini"
type="danger"
@click="handleDeletePurchase(scope.row)"
v-if="scope.row.taskStatus == 1"
v-hasPermi="['purchase:info:remove']"
>删除
</el-button>
>查看</el-button>
<el-button size="mini" style="margin-bottom: 10px" type="primary"
@click="handleUpdate(scope.row)" v-if="scope.row.taskStatus != 4" v-hasPermi="['purchase:info:edit']"
>编辑</el-button>
<el-button size="mini" style="margin-bottom: 10px" type="success"
@click="handleSend(scope.row)" v-if="scope.row.taskStatus == 1" v-hasPermi="['purchase:person:notice']"
>发布</el-button>
<el-button size="mini" type="warning"
v-if="scope.row.taskStatus != 1" @click="handleLld(scope.row)"
>领料单</el-button>
<el-button size="mini" type="warning"
@click="handlePrint(scope.row)" v-if="scope.row.taskStatus == 4"
>出库检验单</el-button>
<el-button size="mini" type="danger"
@click="handleDeletePurchase(scope.row)" v-if="scope.row.taskStatus == 1" v-hasPermi="['purchase:info:remove']"
>删除</el-button>
</template>
</el-table-column>
</el-table>
@ -281,136 +149,74 @@
@pagination="getList"
/>
<!-- 验收单弹窗 -->
<el-dialog
:title="title"
:visible.sync="openPrint"
width="1100px"
append-to-body
>
<div style="height: 600px; overflow-y: scroll;padding: 0 20px">
<!-- <vue-easy-print tableShow ref="remarksPrintRefCheck" class="print" :printable="'checkId'"> -->
<div id="checkId">
<div
class="title"
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>
{{ checkDataInfo.leaseProject }}
</div>
<!-- 出库检验单弹窗 -->
<el-dialog :title="title" :visible.sync="openPrint" width="1100px" append-to-body>
<div style="height: 600px; overflow-y: scroll;padding: 0 20px">
<!-- <vue-easy-print tableShow ref="remarksPrintRefCheck" class="print" :printable="'checkId'"> -->
<div id="checkId">
<div class="title" style="text-align: center; font-weight: 600; font-size: 16px">
施工机具设备出库检验记录表
</div>
<div class="info" style="margin-top: 10px; display: flex; align-items: center;">
<div class="item"
style="width: 50%;flex-shrink: 0;margin-bottom: 5px;font-size: 14px;">
<span>领用工程</span>
{{ checkDataInfo.leaseProject }}
</div>
<div class="item" style="width: 50%;flex-shrink: 0;margin-bottom: 5px;font-size: 14px;">
<span>使用单位</span>
{{ checkDataInfo.leaseUnit }}
</div>
</div>
<el-table :data="printTableData" class="table" style="margin-top: 20px;width: 1000px; padding: 2px" border>
<el-table-column label="机具名称" align="center" prop="typeName"/>
<el-table-column label="规格型号" align="center" prop="typeModelName" />
<el-table-column label="单位" align="center" prop="unit" width="40px"/>
<el-table-column label="数量" align="center" prop="num" width="40px"/>
<el-table-column label="设备编码" align="center" prop="maCode"/>
<el-table-column label="额定载荷KN" align="center" prop="ratedLoad" width="80px"/>
<el-table-column label="试验载荷KN" align="center" prop="testLoad" width="80px"/>
<el-table-column label="持荷时间min" align="center" prop="holdingTime" width="80px"/>
<el-table-column label="试验日期" align="center" prop="testTime" />
<el-table-column label="下次试验日期" align="center" prop="nextTestTime" width="120px"/>
<el-table-column label="检验结论" align="center" prop="checkResult" />
<el-table-column label="备注" align="center" prop="remark"/>
</el-table>
<div
class="item"
style="
width: 50%;
flex-shrink: 0;
margin-bottom: 5px;
font-size: 14px;
"
>
<span>使用单位</span>
{{ checkDataInfo.leaseUnit }}
</div>
</div>
<el-table
:data="printTableData"
class="table"
style="margin-top: 20px;width: 1000px; padding-bottom: 1px"
border
>
<el-table-column label="机具名称" align="center" prop="typeName"/>
<el-table-column label="规格型号" align="center" prop="typeModelName" />
<el-table-column label="单位" align="center" prop="unit" width="40px"/>
<el-table-column label="数量" align="center" prop="num" width="40px"/>
<el-table-column label="设备编码" align="center" prop="maCode"/>
<el-table-column label="额定载荷KN" align="center" prop="ratedLoad" width="80px"/>
<el-table-column label="试验载荷KN" align="center" prop="testLoad" width="80px"/>
<el-table-column label="持荷时间min" align="center" prop="holdingTime" width="80px"/>
<el-table-column label="试验日期" align="center" prop="testTime" />
<el-table-column label="下次试验日期" align="center" prop="nextTestTime" width="120px"/>
<el-table-column label="检验结论" align="center" prop="checkResult" />
<el-table-column label="备注" align="center" prop="remark"/>
</el-table>
<div
class="fillIn"
style="
margin-top: 20px;
display: flex;
align-items: center;
justify-content: right;
"
>
<div class="item" style="width: 30%; align-items: center;position: relative;">
<div>
<span>检验单位</span>
</div>
<div >
<canvas id="canvas" width="165" height="165" style="position: absolute; top: 50%; left: 90%; transform: translate(-100%, -50%);"></canvas>
</div>
</div>
</div>
</div>
<div class="fillIn" style="margin-top: 20px;display: flex;align-items: center;justify-content: right;">
<div class="item" style="width: 30%; align-items: center;position: relative;">
<div>
<span>检验单位</span>
</div>
<div>
<canvas id="canvas" width="165" height="165" style="position: absolute; top: 50%; left: 90%; transform: translate(-100%, -50%);"></canvas>
</div>
</div>
</div>
</div>
<!-- </vue-easy-print> -->
</div>
</div>
<div slot="footer" class="dialog-footer" style="text-align: center">
<el-button type="primary" @click="handleExportCheck">导出</el-button>
<el-button type="primary" @click="printCheck"> </el-button>
<el-button @click="closeDialogAndRefresh"> </el-button>
</div>
</el-dialog>
</el-dialog>
<!-- 领料单弹窗 -->
<el-dialog :visible.sync="open" width="800px" :title="title" append-to-body>
<div style="height: 500px; overflow-y: scroll; padding: 0 20px">
<vue-easy-print tableShow ref="remarksPrintRef" class="print">
<div
class="title"
style="text-align: center; font-weight: 600; font-size: 16px"
>
<div class="title" 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;
"
>
<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>
{{ leaseApplyData.leaseUnit }}
</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>
{{ leaseApplyData.leaseProject }}
</div>
@ -418,97 +224,48 @@
<span>时间</span>
<span v-if="leaseApplyData.createTime">{{ leaseApplyData.createTime.split(" ")[0] }}</span>
</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>
{{ leaseApplyData.code }}
</div>
</div>
<el-table
:data="leaseApplyDetails"
class="table"
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">
<div class="nested-table-container">
<el-table :data="scope.row.maTypeDetails" style="width: 100%">
&lt;!&ndash; 子表格的列 &ndash;&gt;
<el-table-column label="序号" align="center" type="index"/>
<el-table-column label="类型名称" align="center" prop="typeName" :show-overflow-tooltip="true"/>
<el-table-column
label="规格型号"
align="center"
prop="typeName"
:show-overflow-tooltip="true"
/>
<el-table-column
label="单位"
align="center"
prop="unitName"
:show-overflow-tooltip="true"
/>
<el-table-column
label="预领数量"
align="center"
prop="preNum"
:show-overflow-tooltip="true"
/>
</el-table>
</div>
</template>
</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
label="出库方式"
align="center"
prop="manageType"
>
<template slot-scope="scope">
<span v-if="scope.row.manageType == 0" style="color: blue;" @click="codeInfo(scope.row)">编码出库</span>
<span v-if="scope.row.manageType == 1">数量出库</span>
</template>
</el-table-column>
<!-- <el-table-column-->
<!-- label="出库方式"-->
<!-- align="center"-->
<!-- prop="manageTypeName"-->
<!-- />-->
</el-table>
<div
class="fillIn"
style="
margin-top: 30px;
display: flex;
justify-content: space-between;
"
>
<div class="item" style="width: 25%">
<div style="width: 100%;margin-top: 20px;">
<el-table :data="leaseApplyDetails" class="table" border style="padding: 2px;">
<el-table-column label="序号" align="center" type="index" />
<el-table-column label="类型名称" align="center" prop="typeName" />
<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 label="出库方式" align="center" prop="manageType">
<template slot-scope="scope">
<span v-if="scope.row.manageType == 0" style="color: blue;" @click="codeInfo(scope.row)">编码出库</span>
<span v-if="scope.row.manageType == 1">数量出库</span>
</template>
</el-table-column>
</el-table>
</div>
<div class="fillIn" style="margin-top: 30px;display: flex;justify-content: space-between;">
<div class="item" style="width: 24%;display: flex;align-items: center;flex-wrap: wrap;">
<span>审核</span>
<img src="../../../../../assets/signTemp.png" style="width: 80px;height: 30px;" alt="">
</div>
<div class="item" style="width: 25%">
<div class="item" style="width: 24%;display: flex;align-items: center;flex-wrap: wrap;">
<span>领料</span>
</div>
<div class="item" style="width: 25%">
<span>仓库</span>
</div>
<div class="item" style="width: 25%">
<div class="item" style="width: 24%;display: flex;align-items: center;flex-wrap: wrap;">
<span>制单</span>
</div>
<div class="item" style="width: 28%;display: flex;align-items: center;">
<div style="width: 25%;">库管</div>
<div style="width: 75%;display: flex;align-items: center;flex-wrap: wrap;">
<img src="../../../../../assets/signTemp.png" style="width: 45%;height: 30px;" alt="">
<img src="../../../../../assets/signTemp.png" style="width: 45%;height: 30px;" alt="">
<img src="../../../../../assets/signTemp.png" style="width: 45%;height: 30px;" alt="">
<img src="../../../../../assets/signTemp.png" style="width: 45%;height: 30px;" alt="">
</div>
</div>
</div>
</vue-easy-print>
</div>
@ -518,48 +275,25 @@
</div>
</el-dialog>
<!-- 编码管理查看弹窗 -->
<el-dialog
:title="titleView"
:visible.sync="showView"
width="800px"
append-to-body
>
<div style="overflow-y: scroll">
<vue-easy-print tableShow ref="remarksPrintRefView" class="print">
<div
class="title"
style="text-align: center; font-weight: 600; font-size: 16px; margin-bottom:20px"
>
领料单编号明细
</div>
<el-table :data="getListViewInfo" width="600px" height="450">
<el-table-column align="center" label="序号" type="index" width="55" />
<el-table-column
label="类型名称"
align="center"
prop="materialName"
:show-overflow-tooltip="true"
/>
<el-table-column
label="规格型号"
align="center"
prop="typeName"
:show-overflow-tooltip="true"
/>
<el-table-column
label="设备编码"
align="center"
prop="maCode"
:show-overflow-tooltip="true"
/>
</el-table>
</vue-easy-print>
<!-- 编码管理查看弹窗 -->
<el-dialog :title="titleView" :visible.sync="showView" width="800px" append-to-body>
<div style="overflow-y: scroll">
<vue-easy-print tableShow ref="remarksPrintRefView" class="print">
<div class="title" style="text-align: center; font-weight: 600; font-size: 16px; margin-bottom:20px">
领料单编号明细
</div>
<el-table :data="getListViewInfo" style="padding: 1px;">
<el-table-column align="center" label="序号" type="index" width="55" />
<el-table-column label="类型名称" align="center" prop="materialName" :show-overflow-tooltip="true"/>
<el-table-column label="规格型号" align="center" prop="typeName" :show-overflow-tooltip="true"/>
<el-table-column label="设备编码" align="center" prop="maCode" :show-overflow-tooltip="true"/>
</el-table>
</vue-easy-print>
</div>
<div slot="footer" class="dialog-footer" style="text-align: center">
<el-button type="primary" @click="printView"> </el-button>
<el-button @click="showView = false"> </el-button>
</div>
<div slot="footer" class="dialog-footer" style="text-align: center">
<el-button type="primary" @click="printView"> </el-button>
<el-button @click="showView = false"> </el-button>
</div>
</el-dialog>
@ -779,7 +513,7 @@ export default {
this.printTableData = res.data.leaseOutVoList;
setTimeout(() => {
this.chapter('检验专用章', '机具设备分公司')
}, 200);
}, 500);
this.openPrint = true;
this.title = "出库检验单";
},
@ -809,6 +543,7 @@ export default {
printable: 'checkId',
type: 'html',
targetStyles: ['*'],
maxWidth:'1200'
//
});
},
@ -988,4 +723,5 @@ export default {
width: 70px !important;
margin-bottom: 10px;
}
</style>

View File

@ -728,10 +728,10 @@
<span>领料</span>
</div>
<div class="item" style="width: 25%">
<span>仓库</span>
<span>制单</span>
</div>
<div class="item" style="width: 25%">
<span>制单</span>
<span>库管</span>
</div>
</div>
</vue-easy-print>