领料申请领料单,出库单修改

This commit is contained in:
hongchao 2024-12-27 16:58:09 +08:00
parent 25061d4532
commit 50eb7c20ab
2 changed files with 217 additions and 157 deletions

View File

@ -267,148 +267,101 @@
@pagination="getList" @pagination="getList"
/> />
<!-- 验收单弹窗 --> <!-- 验收单弹窗 -->
<el-dialog <el-dialog
:title="title" :title="title"
:visible.sync="openPrint" :visible.sync="openPrint"
width="1100px" width="1100px"
append-to-body append-to-body
> >
<div style="height: 500px; overflow-y: scroll"> <div style="height: 600px; overflow-y: scroll;padding: 0 20px">
<vue-easy-print tableShow ref="remarksPrintRef" class="print"> <!-- <vue-easy-print tableShow ref="remarksPrintRefCheck" class="print" :printable="'checkId'"> -->
<div <div id="checkId">
class="title" <div
style="text-align: center; font-weight: 600; font-size: 16px" class="title"
> style="text-align: center; font-weight: 600; font-size: 16px"
机具设备到货验收单 >
</div> 施工机具设备出库检验记录表
<div </div>
class="info" <div
style="margin-top: 10px; display: flex; flex-wrap: wrap" class="info"
> style="margin-top: 10px; display: flex; flex-wrap: wrap"
<div >
class="item" <div
style=" class="item"
width: 100%; style="
flex-shrink: 0; width: 50%;
margin-bottom: 5px; flex-shrink: 0;
font-size: 14px; margin-bottom: 5px;
" font-size: 14px;
> "
<span>单据编号</span> >
</div> <span>领用工程</span>
<div {{ checkDataInfo.leaseProject }}
class="item" </div>
style="
width: 50%;
flex-shrink: 0;
margin-bottom: 5px;
font-size: 14px;
"
>
<span>生产厂家供应商</span>
</div>
<div <div
class="item" class="item"
style=" style="
width: 50%; width: 50%;
flex-shrink: 0; flex-shrink: 0;
margin-bottom: 5px; margin-bottom: 5px;
font-size: 14px; font-size: 14px;
" "
> >
<span>到货日期</span> <span>使用单位</span>
</div> {{ checkDataInfo.leaseUnit }}
</div> </div>
<el-table </div>
:data="printTableData" <el-table
class="table" :data="printTableData"
style="margin-top: 20px; width: 1000px; padding-bottom: 1px" class="table"
border style="margin-top: 20px;width: 1000px; padding-bottom: 1px"
> border
<!-- <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" prop="typeName"/>
<el-table-column <el-table-column label="规格型号" align="center" prop="typeModelName" />
label="物资名称" <el-table-column label="单位" align="center" prop="unit" width="40px"/>
align="center" <el-table-column label="数量" align="center" prop="num" width="40px"/>
prop="machineTypeName" <el-table-column label="设备编码" align="center" prop="maCode"/>
/> <el-table-column label="额定载荷KN" align="center" prop="ratedLoad" width="80px"/>
<el-table-column <el-table-column label="试验载荷KN" align="center" prop="testLoad" width="80px"/>
label="规格型号" <el-table-column label="持荷时间min" align="center" prop="holdingTime" width="80px"/>
align="center" <el-table-column label="试验日期" align="center" prop="testTime" />
prop="specificationType" <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="unitName" /> <el-table-column label="备注" align="center" prop="remark"/>
<el-table-column label="配送信息" align="center"> </el-table>
<el-table-column
label="到货数量"
align="center"
prop="purchaseNum"
/>
<el-table-column
label="验收结论"
align="center"
prop="purchaseNum"
/>
<el-table-column label="质保质量" align="center">
<el-table-column
label="实收份数"
align="center"
prop="purchaseNum"
/>
<el-table-column
label="符合要求"
align="center"
prop="purchaseNum"
/>
</el-table-column>
</el-table-column>
<el-table-column label="备注" align="center" prop="unitName" />
<!-- <el-table-column--> <div
<!-- label="合格证及技术资料"--> class="fillIn"
<!-- align="center"--> style="
<!-- prop=""--> margin-top: 20px;
<!-- />--> display: flex;
<!-- <el-table-column label="包装" align="center" prop="" />--> align-items: center;
</el-table> 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>
class="fillIn" </div>
style=" <!-- </vue-easy-print> -->
margin-top: 20px; </div>
display: flex;
justify-content: space-between;
"
>
<div class="item" style="width: 33%">
<div>
<span>供应科</span>
</div>
</div>
<div class="item" style="width: 33%">
<div>
<span>生产技术科</span>
</div>
</div>
<div class="item" style="width: 33%">
<div>
<span>库管班</span>
</div>
</div>
</div>
</vue-easy-print>
</div>
<div slot="footer" class="dialog-footer" style="text-align: center">
<el-button type="primary" @click="print"> </el-button>
<el-button @click="openPrint = false"> </el-button>
</div>
</el-dialog>
<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 :visible.sync="open" width="800px" :title="title" append-to-body> <el-dialog :visible.sync="open" width="800px" :title="title" append-to-body>
<div style="height: 500px; overflow-y: scroll; padding: 0 20px"> <div style="height: 500px; overflow-y: scroll; padding: 0 20px">
@ -618,9 +571,11 @@ import {
applyRemove, applyRemove,
applySend, applySend,
applySendAll, applySendAll,
getCheckInfo
} from "@/api/lease/apply"; } from "@/api/lease/apply";
import vueEasyPrint from "vue-easy-print"; import vueEasyPrint from "vue-easy-print";
import printJS from 'print-js';
export default { export default {
name: "Home", name: "Home",
@ -682,6 +637,7 @@ export default {
open: false, open: false,
printData: {}, printData: {},
printTableData: [], printTableData: [],
checkDataInfo: {},
// //
supplierStr: "", supplierStr: "",
@ -809,11 +765,26 @@ export default {
}); });
}, },
// //
handlePrint(row) { async handlePrint(row) {
// this.query.taskId = row.taskId const res = await getCheckInfo({id:row.id});
// this.getPrintTable(row.taskId) this.idTemp = row.id;
this.checkDataInfo = res.data.leaseApplyInfo;
this.printTableData = res.data.leaseOutVoList;
setTimeout(() => {
this.chapter('检验专用章', '机具设备分公司')
}, 200);
this.openPrint = true; this.openPrint = true;
this.title = "机具设备到货验收单"; this.title = "出库检验单";
},
/** 导出按钮操作 */
handleExportCheck() {
this.download(
"/material/lease_apply_info/exportInfo",
{ id:this.idTemp },
`出库检验单_${new Date().getTime()}.xlsx`
);
}, },
// //
@ -822,10 +793,23 @@ export default {
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);
this.leaseApplyDetails = res.data.leaseApplyDetailsList; this.leaseApplyDetails = res.data.leaseApplyDetailsList;
this.leaseApplyData = res.data.leaseApplyInfo; this.leaseApplyData = res.data.leaseApplyInfo;
console.log(this.leaseApplyData); },
//
printCheck() {
printJS({
printable: 'checkId',
type: 'html',
targetStyles: ['*'],
//
});
},
//
closeDialogAndRefresh() {
this.openPrint = false;
}, },
codeInfo(row) { codeInfo(row) {
@ -902,6 +886,82 @@ export default {
}); });
} }
}, },
chapter(text, companyName) {
let canvas = document.getElementById("canvas");
let context = canvas.getContext("2d");
canvas.width = canvas.width;
context.height = canvas.height;
// //
// context.clearRect(0, 0, canvas.width, canvas.height);
//let text = "XXX";
//let companyName = "XXX";
//
let width = canvas.width / 2;
let height = canvas.height / 2;
context.lineWidth = 3;
context.strokeStyle = "#f00";
context.beginPath();
context.arc(width, height, 80, 0, Math.PI * 2); //
context.stroke();
//
this.create5star(context, width, height, 20, "#f00", 0);
//
context.font = "18px 宋体";
context.textBaseline = "middle"; //
context.textAlign = "center"; //
context.lineWidth = 1;
context.strokeStyle = "#ff2f2f";
context.strokeText(text, width, height + 50);
//
context.translate(width, height); // ,
context.font = "16px 宋体";
let count = companyName.length; //
let angle = (4 * Math.PI) / (3 * (count - 1)); //
let chars = companyName.split("");
let c;
for (let i = 0; i < count; i++) {
c = chars[i]; //
if (i == 0) {
context.rotate((5 * Math.PI) / 6);
} else {
context.rotate(angle);
}
context.save();
context.translate(65, 0); // ,x
context.rotate(Math.PI / 2); // 90,x
context.strokeStyle = "#ff5050"; //
context.strokeText(c, 0, 0); //
context.restore();
}
},
//
create5star(context, sx, sy, radius, color, rotato) {
context.save();
context.fillStyle = color;
context.translate(sx, sy); //
context.rotate(Math.PI + rotato); //
context.beginPath(); //
// let x = Math.sin(0);
// let y = Math.cos(0);
let dig = (Math.PI / 5) * 4;
for (let i = 0; i < 5; i++) {
//
let x = Math.sin(i * dig);
let y = Math.cos(i * dig);
context.lineTo(x * radius, y * radius);
}
context.closePath();
context.stroke();
context.fill();
context.restore();
}
}, },
watch: { watch: {

View File

@ -486,10 +486,10 @@
<el-dialog <el-dialog
:title="title" :title="title"
:visible.sync="openPrint" :visible.sync="openPrint"
width="800px" width="1100px"
append-to-body append-to-body
> >
<div style="height: 500px; overflow-y: scroll;padding: 0 20px"> <div style="height: 600px; overflow-y: scroll;padding: 0 20px">
<!-- <vue-easy-print tableShow ref="remarksPrintRefCheck" class="print" :printable="'checkId'"> --> <!-- <vue-easy-print tableShow ref="remarksPrintRefCheck" class="print" :printable="'checkId'"> -->
<div id="checkId"> <div id="checkId">
<div <div
@ -531,20 +531,20 @@
<el-table <el-table
:data="printTableData" :data="printTableData"
class="table" class="table"
style="margin-top: 20px; padding-bottom: 1px" style="margin-top: 20px;width: 1000px; padding-bottom: 1px"
border border
> >
<el-table-column label="机具名称" align="center" prop="typeName" width="60px"/> <el-table-column label="机具名称" align="center" prop="typeName"/>
<el-table-column label="规格型号" align="center" prop="typeModelName" width="60px"/> <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="unit" width="40px"/>
<el-table-column label="数量" align="center" prop="num" width="40px"/> <el-table-column label="数量" align="center" prop="num" width="40px"/>
<el-table-column label="设备编码" align="center" prop="maCode" width="60px"/> <el-table-column label="设备编码" align="center" prop="maCode"/>
<el-table-column label="额定载荷KN" align="center" prop="ratedLoad" width="60px"/> <el-table-column label="额定载荷KN" align="center" prop="ratedLoad" width="80px"/>
<el-table-column label="试验载荷KN" align="center" prop="testLoad" width="60px"/> <el-table-column label="试验载荷KN" align="center" prop="testLoad" width="80px"/>
<el-table-column label="持荷时间min" align="center" prop="holdingTime" width="60px"/> <el-table-column label="持荷时间min" align="center" prop="holdingTime" width="80px"/>
<el-table-column label="试验日期" align="center" prop="testTime" width="50px"/> <el-table-column label="试验日期" align="center" prop="testTime" />
<el-table-column label="下次试验日期" align="center" prop="nextTestTime" width="60px"/> <el-table-column label="下次试验日期" align="center" prop="nextTestTime" width="120px"/>
<el-table-column label="检验结论" align="center" prop="checkResult" width="50px"/> <el-table-column label="检验结论" align="center" prop="checkResult" />
<el-table-column label="备注" align="center" prop="remark"/> <el-table-column label="备注" align="center" prop="remark"/>
</el-table> </el-table>
@ -1333,7 +1333,7 @@ export default {
context.strokeText(c, 0, 0); // context.strokeText(c, 0, 0); //
context.restore(); context.restore();
} }
}, },
// //
create5star(context, sx, sy, radius, color, rotato) { create5star(context, sx, sy, radius, color, rotato) {