This commit is contained in:
bb_pan 2025-10-23 17:22:03 +08:00
parent 4fead746ce
commit 1b3fab221a
7 changed files with 214 additions and 35 deletions

View File

@ -347,8 +347,8 @@
<!-- 验收单弹窗 --> <!-- 验收单弹窗 -->
<el-dialog :title="title" :visible.sync="openPrint" width="70%" append-to-body> <el-dialog :title="title" :visible.sync="openPrint" width="70%" append-to-body>
<div style="height: 600px; 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="'checkId1'">
<div id="checkId"> <div id="checkId1">
<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>
@ -429,14 +429,14 @@
<div> <div>
<span>检验单位</span> <span>检验单位</span>
</div> </div>
<div> <div v-if="openPrint">
<canvas <canvas
id="canvas" id="canvas"
width="165" width="165"
height="165" height="165"
style=" style="
position: absolute; position: absolute;
top: 50%; top: 180%;
left: 90%; left: 90%;
transform: translate(-100%, -50%); transform: translate(-100%, -50%);
z-index: 9999; z-index: 9999;
@ -1317,13 +1317,25 @@ export default {
// //
printCheck() { printCheck() {
this.$refs.remarksPrintRefCheck.print() // this.$refs.remarksPrintRefCheck.print()
// printJS({ // printJS({
// printable: 'checkId', // printable: 'checkId1',
// type: 'html', // type: 'html',
// targetStyles: ['*'] // targetStyles: ['*']
// // // //
// }) // })
this.$nextTick(() => {
printJS({
printable: 'checkId1',
type: 'html',
style: `
@page { size: A4; margin: 0; }
body { margin: 0.5cm; font-family: SimSun; }
#passId { font-size: 18px; padding: 0 20px; }
`,
scanStyles: false
})
})
}, },
// //

View File

@ -604,7 +604,11 @@ export default {
this.getList() this.getList()
this.getSignList() this.getSignList()
this.$refs.multipleTable.clearSelection() this.$refs.multipleTable.clearSelection()
this.jumpList() // this.jumpList()
//
this.$router.push({ name: 'GoodsAccept', params: { isReset: 'true' }}).then(res => {
this.$tab.closePage({ path: '/purchase/goodsAcceptDetail'})
})
} }
}) })
}, },

View File

@ -886,11 +886,12 @@ export default {
}).then(response => { }).then(response => {
if (response.code == 200) { if (response.code == 200) {
this.$modal.msgSuccess('编辑成功') this.$modal.msgSuccess('编辑成功')
this.$emit('addToolsSuccess')
} }
this.loading = false this.loading = false
// //
this.$tab.closePage() this.$router.push({ name: 'GoodsAccept', params: { isReset: 'true' }}).then(res => {
this.$tab.closePage({ path: '/purchase/editTools'})
})
}) })
}) })
.catch(() => { .catch(() => {

View File

@ -301,6 +301,11 @@
} }
}; };
}, },
activated() {
if (this.$route.params.isReset) {
this.resetQuery()
}
},
created() { created() {
// //
if (this.taskStatusList.length > 0) { if (this.taskStatusList.length > 0) {
@ -360,7 +365,11 @@
handleView(row){ handleView(row){
console.log(row) console.log(row)
let query = { Id:row.id,taskId: row.taskId,isView:"true" } let query = { Id:row.id,taskId: row.taskId,isView:"true" }
this.$tab.closeOpenPage({ // this.$tab.closeOpenPage({
// path: '/purchase/goodsAcceptDetail',
// query,
// })
this.$router.push({
path: '/purchase/goodsAcceptDetail', path: '/purchase/goodsAcceptDetail',
query, query,
}) })

View File

@ -6,7 +6,10 @@
:pageContent="pageContent" :pageContent="pageContent"
@goBack="goBack" @goBack="goBack"
/> />
<!-- 缓存 -->
<keep-alive include="Home">
<component <component
ref="componentRef"
:is="isShowComponent" :is="isShowComponent"
:isEdit="isEdit" :isEdit="isEdit"
:editTaskId="editTaskId" :editTaskId="editTaskId"
@ -20,6 +23,7 @@
@addToolsSuccess="addToolsSuccess" @addToolsSuccess="addToolsSuccess"
@queryTools="queryTools" @queryTools="queryTools"
/> />
</keep-alive>
</div> </div>
</template> </template>
@ -62,6 +66,9 @@ export default {
/* 新增成功 */ /* 新增成功 */
addToolsSuccess() { addToolsSuccess() {
this.isShowComponent = 'Home' this.isShowComponent = 'Home'
this.$nextTick(() => {
this.$refs.componentRef.resetQuery()
})
}, },
/* 编辑工机具 */ /* 编辑工机具 */
editTools(taskId,id) { editTools(taskId,id) {

View File

@ -289,6 +289,11 @@ export default {
printTableData: [] printTableData: []
} }
}, },
activated() {
if (this.$route.params.isReset) {
this.resetQuery()
}
},
created() { created() {
if (this.$route.query.code) { if (this.$route.query.code) {
this.queryParams.keyWord = this.$route.query.code this.queryParams.keyWord = this.$route.query.code
@ -337,8 +342,12 @@ export default {
}, },
handleUpdate(row) { handleUpdate(row) {
console.log(row) console.log(row)
let query = { Id: row.id, taskId: row.taskId, isView: 'false' } let query = { Id: row.id, taskId: row.taskId, isView: 'false', path: 'goodsEntry' }
this.$tab.closeOpenPage({ // this.$tab.closeOpenPage({
// path: '/purchase/goodsEntryDetail',
// query
// })
this.$router.push({
path: '/purchase/goodsEntryDetail', path: '/purchase/goodsEntryDetail',
query query
}) })
@ -346,8 +355,12 @@ export default {
// //
handleView(row) { handleView(row) {
console.log(row) console.log(row)
let query = { Id: row.id, taskId: row.taskId, isView: 'true' } let query = { Id: row.id, taskId: row.taskId, isView: 'true', path: 'goodsEntry' }
this.$tab.closeOpenPage({ // this.$tab.closeOpenPage({
// path: '/purchase/goodsEntryDetail',
// query
// })
this.$router.push({
path: '/purchase/goodsEntryDetail', path: '/purchase/goodsEntryDetail',
query query
}) })

View File

@ -96,7 +96,8 @@
</div> </div>
<div class="item" style="width: 60%;flex-shrink: 0;margin-bottom: 5px;font-size: 14px;"> <div class="item" style="width: 60%;flex-shrink: 0;margin-bottom: 5px;font-size: 14px;">
<span>承修单位</span> <span>承修单位</span>
{{ repairTicketlLevelOne.backUnit }} <!-- {{ repairTicketlLevelOne.backUnit }} -->
<span>机具物流分公司</span>
</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>
@ -114,9 +115,7 @@
<span>验收人</span> <span>验收人</span>
</div> --> </div> -->
</div> </div>
<el-table :data="repairTicketDevice" class="table" style="margin-top: 20px; width: 1000px; " border> <!-- <el-table :data="repairTicketDevice" class="table" style="margin-top: 20px; width: 1000px; " 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 label="名称" align="center" prop="typeName" />
<el-table-column label="型号" align="center" prop="type"/> <el-table-column label="型号" align="center" prop="type"/>
<el-table-column label="编号" align="center" prop="code" > <el-table-column label="编号" align="center" prop="code" >
@ -148,13 +147,87 @@
<div class="columnAll">{{ repairNum3 }}</div> <div class="columnAll">{{ repairNum3 }}</div>
<div class="columnAll">{{ "¥"+" "+repairNum4 }}</div> <div class="columnAll">{{ "¥"+" "+repairNum4 }}</div>
<div class="columnAll"></div> <div class="columnAll"></div>
</div> -->
<table
class="table"
style="
margin-top: 20px;
width: 1000px;
border: 1px solid #333;
border-collapse: collapse;
text-align: center;
"
>
<thead>
<tr style="background-color: #f5f7fa;">
<th style="border: 1px solid #333; padding: 8px;">名称</th>
<th style="border: 1px solid #333; padding: 8px;">型号</th>
<th style="border: 1px solid #333; padding: 8px;">编号</th>
<th style="border: 1px solid #333; padding: 8px;">单位</th>
<th style="border: 1px solid #333; padding: 8px;">报修数量</th>
<th style="border: 1px solid #333; padding: 8px;">修复数量</th>
<th style="border: 1px solid #333; padding: 8px;">报废数量</th>
<th style="border: 1px solid #333; padding: 8px;">维修费小计</th>
<th style="border: 1px solid #333; padding: 8px;">报废图片</th>
</tr>
</thead>
<tbody>
<tr v-for="(row, index) in repairTicketDevice" :key="index">
<td style="border: 1px solid #333; padding: 8px;">{{ row.typeName }}</td>
<td style="border: 1px solid #333; padding: 8px;">{{ row.type }}</td>
<td style="border: 1px solid #333; padding: 8px;">
<div v-if="row.manageType == 1">计数</div>
<div
v-else-if="row.manageType == 0"
style="color: blue; cursor: pointer;"
@click="handleView(row)"
>
详见附件
</div> </div>
</td>
<td style="border: 1px solid #333; padding: 8px;">{{ row.unitName }}</td>
<td style="border: 1px solid #333; padding: 8px;">{{ row.typeRepairNum }}</td>
<td style="border: 1px solid #333; padding: 8px;">{{ row.typeRepairedNum }}</td>
<td style="border: 1px solid #333; padding: 8px;">{{ row.typeScrapNum }}</td>
<td style="border: 1px solid #333; padding: 8px;">
¥ {{ Number(row.typeCost) }}
</td>
<td style="border: 1px solid #333; padding: 8px;">
<div v-if="!row.fileList || row.fileList.length === 0"></div>
<div
v-else
style="color: blue; cursor: pointer;"
@click="picturesPreview(row)"
>
{{ row.fileList.length }}
</div>
</td>
</tr>
<!-- 总计行内嵌在表格中 -->
<tr style="font-weight: bold; background-color: #f5f5f5;">
<td style="border: 1px solid #333; padding: 8px;" colspan="4">总计</td>
<td style="border: 1px solid #333; padding: 8px;">{{ repairNum1 }}</td>
<td style="border: 1px solid #333; padding: 8px;">{{ repairNum2 }}</td>
<td style="border: 1px solid #333; padding: 8px;">{{ repairNum3 }}</td>
<td style="border: 1px solid #333; padding: 8px;">¥ {{ repairNum4 }}</td>
<td style="border: 1px solid #333; padding: 8px;"></td>
</tr>
</tbody>
</table>
<div class="fillIn" style="margin-top: 20px;display: flex;justify-content: space-between;"> <div class="fillIn" style="margin-top: 20px;display: flex;justify-content: space-between;">
<div class="item" style="text-align: center;width: 100% ;font-weight: 600; font-size: 14px" > <div class="item" style="text-align: center;width: 100% ;font-weight: 600; font-size: 14px" >
<div><span>维修内容</span></div> <div><span>维修内容</span></div>
</div> </div>
</div> </div>
<el-table :data="repairTicketPart" class="table" style="margin-top: 20px; width: 1000px; " border> <!-- <el-table :data="repairTicketPart" class="table" style="margin-top: 20px; width: 1000px; " border>
<el-table-column label="修理项目" align="center" prop="repairName" > <el-table-column label="修理项目" align="center" prop="repairName" >
<template slot-scope="scope"> <template slot-scope="scope">
<div>{{ scope.row.maTypeName }}-{{ scope.row.typeName }}</div> <div>{{ scope.row.maTypeName }}-{{ scope.row.typeName }}</div>
@ -177,7 +250,67 @@
<div class="tabelAll"> <div class="tabelAll">
<div class="columnAllNumTwo">合计</div> <div class="columnAllNumTwo">合计</div>
<div class="columnAllNumThree">{{ "¥"+" "+acountAll }}</div> <div class="columnAllNumThree">{{ "¥"+" "+acountAll }}</div>
</div> -->
<table
class="table"
style="
margin-top: 20px;
width: 1000px;
border: 1px solid #333;
border-collapse: collapse;
text-align: center;
"
>
<thead>
<tr style="background-color: #f5f7fa;">
<th style="border: 1px solid #333; padding: 8px;">修理项目</th>
<th style="border: 1px solid #333; padding: 8px;">
配件名称 * 数量 / 单价
<span style="margin-left: 20px;">总价</span>
</th>
</tr>
</thead>
<tbody>
<tr v-for="(row, index) in repairTicketPart" :key="index">
<!-- 修理项目 -->
<td style="border: 1px solid #333; padding: 8px;">
{{ row.maTypeName }} - {{ row.typeName }}
</td>
<!-- 配件详情 -->
<td
style="border: 1px solid #333; padding: 8px; text-align: left;"
>
<div>
{{ row.partName }}
×
{{ row.partNum }}
/
<span v-if="row.partPrice !== 0">¥ {{ row.partPrice }}</span>
<span v-else></span>
<span style="float: right;">¥ {{ row.partCost }}</span>
</div> </div>
</td>
</tr>
<!-- 合计行 -->
<tr style="font-weight: bold; background-color: #f5f5f5;">
<td
style="border: 1px solid #333; padding: 8px; text-align: center;"
>
合计
</td>
<td
style="border: 1px solid #333; padding: 8px; text-align: center;"
>
¥ {{ acountAll }}
</td>
</tr>
</tbody>
</table>
<div class="fillIn" style=" margin-top: 20px; display: flex; justify-content: space-between;"> <div class="fillIn" style=" margin-top: 20px; display: flex; justify-content: space-between;">
<div class="item" style="width: 50%"> <div class="item" style="width: 50%">
<div> <div>