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>
<div style="height: 600px; overflow-y: scroll; padding: 0 20px">
<vue-easy-print tableShow ref="remarksPrintRefCheck" class="print" :printable="'checkId'">
<div id="checkId">
<vue-easy-print tableShow ref="remarksPrintRefCheck" class="print" :printable="'checkId1'">
<div id="checkId1">
<div class="title" style="text-align: center; font-weight: 600; font-size: 16px">
施工机具设备出库检验记录表
</div>
@ -429,14 +429,14 @@
<div>
<span>检验单位</span>
</div>
<div>
<div v-if="openPrint">
<canvas
id="canvas"
width="165"
height="165"
style="
position: absolute;
top: 50%;
top: 180%;
left: 90%;
transform: translate(-100%, -50%);
z-index: 9999;
@ -1317,13 +1317,25 @@ export default {
//
printCheck() {
this.$refs.remarksPrintRefCheck.print()
// this.$refs.remarksPrintRefCheck.print()
// printJS({
// printable: 'checkId',
// printable: 'checkId1',
// type: 'html',
// 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.getSignList()
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 => {
if (response.code == 200) {
this.$modal.msgSuccess('编辑成功')
this.$emit('addToolsSuccess')
}
this.loading = false
//
this.$tab.closePage()
this.$router.push({ name: 'GoodsAccept', params: { isReset: 'true' }}).then(res => {
this.$tab.closePage({ path: '/purchase/editTools'})
})
})
})
.catch(() => {

View File

@ -301,6 +301,11 @@
}
};
},
activated() {
if (this.$route.params.isReset) {
this.resetQuery()
}
},
created() {
//
if (this.taskStatusList.length > 0) {
@ -360,7 +365,11 @@
handleView(row){
console.log(row)
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',
query,
})

View File

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

View File

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

View File

@ -96,7 +96,8 @@
</div>
<div class="item" style="width: 60%;flex-shrink: 0;margin-bottom: 5px;font-size: 14px;">
<span>承修单位</span>
{{ repairTicketlLevelOne.backUnit }}
<!-- {{ repairTicketlLevelOne.backUnit }} -->
<span>机具物流分公司</span>
</div>
<!-- <div class="item" style="width: 50%;flex-shrink: 0;margin-bottom: 5px;font-size: 14px;">
<span>制单</span>
@ -114,9 +115,7 @@
<span>验收人</span>
</div> -->
</div>
<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 :data="repairTicketDevice" class="table" style="margin-top: 20px; width: 1000px; " border>
<el-table-column label="名称" align="center" prop="typeName" />
<el-table-column label="型号" align="center" prop="type"/>
<el-table-column label="编号" align="center" prop="code" >
@ -148,13 +147,87 @@
<div class="columnAll">{{ repairNum3 }}</div>
<div class="columnAll">{{ "¥"+" "+repairNum4 }}</div>
<div class="columnAll"></div>
</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>
</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="item" style="text-align: center;width: 100% ;font-weight: 600; font-size: 14px" >
<div><span>维修内容</span></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" >
<template slot-scope="scope">
<div>{{ scope.row.maTypeName }}-{{ scope.row.typeName }}</div>
@ -177,7 +250,67 @@
<div class="tabelAll">
<div class="columnAllNumTwo">合计</div>
<div class="columnAllNumThree">{{ "¥"+" "+acountAll }}</div>
</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>
</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="item" style="width: 50%">
<div>