领退管理-优化

This commit is contained in:
bb_pan 2025-03-20 13:14:39 +08:00
parent d1d6451260
commit 3167c09255
5 changed files with 235 additions and 279 deletions

View File

@ -1,55 +1,43 @@
<template>
<el-dialog
v-dialogDrag
v-loading.fullscreen.lock="fullscreenLoading"
:before-close="cancel"
:title="dialogTitle"
:visible.sync="dialogShowFlag"
append-to-body
width="800px"
>
<div
id="printcontent"
style="height: 500px; overflow-y: scroll; padding: 0 20px"
>
<vue-easy-print tableShow ref="printRef">
<div style="text-align: center; font-weight: 800;font-size: 18px;margin-bottom: 20px;">{{ billTitle }}</div>
<div class="order_box">
<div class="order_box_one">
<div>
<span>工程名称</span>
<span>{{ rowObj.lotName }}</span>
</div>
<div>
<span>退料时间</span>
<span>{{ rowObj.backTime }}</span>
</div>
</div>
<div class="order_box_one">
<div>
<span>退料单位</span>
<span>{{ rowObj.unitName }}</span>
</div>
<div>
<span>编号</span>
<span>{{ rowObj.code }}</span>
</div>
</div>
</div>
<el-table
:data="tableData"
border
style="width: 100%; margin-bottom: 10px; padding: 2px"
>
<el-table-column label="编号" align="center" type="index" />
<el-table-column
label="机具名称"
align="center"
prop="typeName"
:show-overflow-tooltip="true"
class-name="small-padding fixed-width"
/>
<!-- <el-table-column type="expand">
<el-dialog
v-dialogDrag
v-loading.fullscreen.lock="fullscreenLoading"
:before-close="cancel"
:title="dialogTitle"
:visible.sync="dialogShowFlag"
append-to-body
width="1136px"
>
<div id="printcontent" style="height: 500px; overflow-y: scroll; padding: 0 20px">
<vue-easy-print tableShow ref="printRef">
<div style="text-align: center; font-weight: 800; font-size: 26px; margin-bottom: 20px">{{ billTitle }}</div>
<div class="order_box">
<div class="order_box_one">
<div style="width: 50%">
<span>领用单位</span>
<span>{{ rowObj.unitName }}</span>
</div>
<div style="width: 50%">
<span>回库时间</span>
<span>{{ rowObj.backTime }}</span>
</div>
</div>
<div class="order_box_one">
<div>
<span>工程名称</span>
<span>{{ rowObj.lotName }}</span>
</div>
<!-- <div>
<span>编号</span>
<span>{{ rowObj.code }}</span>
</div> -->
</div>
</div>
<el-table :data="tableData" border style="width: 100%; margin-bottom: 10px; padding: 2px">
<el-table-column label="序号" align="center" type="index" />
<el-table-column label="机具名称" align="center" prop="typeName" :show-overflow-tooltip="true" />
<!-- <el-table-column type="expand">
<template slot-scope="scope">
<div class="nested-table-container">
<el-table :data="scope.row.maTypeDetails" style="width: 100%">
@ -83,33 +71,13 @@
</div>
</template>
</el-table-column> -->
<el-table-column
label="规格型号"
align="center"
prop="typeCode"
:show-overflow-tooltip="true"
class-name="small-padding fixed-width"
/>
<el-table-column
label="退料数量"
align="center"
class-name="small-padding fixed-width"
width="200"
prop="num"
></el-table-column>
<el-table-column
label="状态"
align="center"
class-name="small-padding fixed-width"
prop="backStatus"
></el-table-column>
<el-table-column
label="备注"
align="center"
class-name="small-padding fixed-width"
prop="remark"
></el-table-column>
<!-- <el-table-column prop="remarks" label="备注" align="center">
<el-table-column label="规格型号" align="center" prop="typeCode" :show-overflow-tooltip="true" />
<el-table-column label="单位" align="center" prop="unitNames" width="90px" show-overflow-tooltip />
<el-table-column label="回库数量" align="center" prop="num"></el-table-column>
<el-table-column label="状态" align="center" prop="backStatus"></el-table-column>
<el-table-column label="设备编号" align="center" prop="maCode" :show-overflow-tooltip="true" />
<el-table-column label="备注" align="center" prop="remark"></el-table-column>
<!-- <el-table-column prop="remarks" label="备注" align="center">
<template slot-scope="scope">
<span
@click="remarksClick"
@ -118,201 +86,170 @@
>
</template>
</el-table-column>-->
</el-table>
<div class="order_footer">
<div>审核</div>
<div>退料</div>
<div>操作人</div>
</div>
</vue-easy-print>
<div>
<el-button type="primary" @click="print">打印</el-button>
</div>
</el-table>
<div style="text-align: center; font-size: 20px; font-weight: 800">机器类设备需维修人员检查后确定好坏</div>
<div class="order_footer">
<div style="width: 60%">机具公司收货人</div>
<!-- <div>退料</div> -->
<div>分公司退货人</div>
</div>
<el-dialog
:title="title"
:visible.sync="open"
width="800px"
append-to-body
>
<div style="height: 500px; overflow-y: scroll; padding: 0 20px">
<vue-easy-print tableShow ref="remarksPrintRef">
<div class="remarks_box">
<div class="remarks_box_title">退料编码明细</div>
</div>
<el-table
:data="tableData"
border
style="width: 100%; margin-bottom: 10px; padding: 2px"
>
<el-table-column
label="序号"
align="center"
type="index"
/>
<el-table-column
prop="name"
label="名称"
align="center"
></el-table-column>
<el-table-column
prop="type"
label="规格型号"
align="center"
></el-table-column>
<el-table-column
prop="unit"
label="单位"
align="center"
></el-table-column>
<el-table-column
prop="number"
label="数量"
align="center"
></el-table-column>
</el-table>
</vue-easy-print>
</div>
<div style="margin-top: 10px">
<el-button type="primary" @click="remarksPrint"
>打印1</el-button
>
</div>
</el-dialog>
</vue-easy-print>
</div>
<el-dialog :title="title" :visible.sync="open" width="800px" append-to-body>
<div style="height: 500px; overflow-y: scroll; padding: 0 20px">
<vue-easy-print tableShow ref="remarksPrintRef">
<div class="remarks_box">
<div class="remarks_box_title">退料编码明细</div>
</div>
<el-table :data="tableData" border style="width: 100%; margin-bottom: 10px; padding: 2px">
<el-table-column label="序号" align="center" type="index" />
<el-table-column prop="name" label="名称" align="center"></el-table-column>
<el-table-column prop="type" label="规格型号" align="center"></el-table-column>
<el-table-column prop="unit" label="单位" align="center"></el-table-column>
<el-table-column prop="number" label="数量" align="center"></el-table-column>
</el-table>
</vue-easy-print>
</div>
<div style="margin-top: 10px">
<el-button type="primary" @click="remarksPrint">打印1</el-button>
</div>
</el-dialog>
<div slot="footer" class="dialog-footer" style="text-align: center">
<div style="text-align: left;color: #bbb;">提示: 请使用横向打印</div>
<el-button type="primary" @click="print"> </el-button>
<el-button @click="dialogShowFlag = false"> </el-button>
</div>
</el-dialog>
</template>
<script>
import vueEasyPrint from 'vue-easy-print'
import {
getViewByApply,
materialReturnNoteByExamine,
} from '@/api/claimAndRefund/return.js'
import { getViewByApply, materialReturnNoteByExamine } from '@/api/claimAndRefund/return.js'
export default {
components: { vueEasyPrint },
props: {
//
isShowFlag: {
type: Boolean,
default: false,
},
//
priKey: {
type: [String, Number],
default: '',
},
//
dialogTitle: {
type: String,
default: '',
},
rowObj: {
type: Object,
default: {},
},
// title
title: {
type: String,
default: '',
},
billTitle: {
type: String,
default: '',
},
components: { vueEasyPrint },
props: {
//
isShowFlag: {
type: Boolean,
default: false,
},
watch: {
isShowFlag(val) {
if (val) {
this.init()
}
},
//
priKey: {
type: [String, Number],
default: '',
},
computed: {
dialogShowFlag: {
get() {
return this.isShowFlag
},
set(v) {
this.$emit('update:isShowFlag', v)
},
},
//
dialogTitle: {
type: String,
default: '',
},
data() {
return {
fullscreenLoading: false,
tableData: [],
open: false,
title: '',
}
rowObj: {
type: Object,
default: {},
},
// title
// title: {
// type: String,
// default: '',
// },
billTitle: {
type: String,
default: '',
},
},
watch: {
isShowFlag(val) {
if (val) {
this.init()
}
},
},
computed: {
dialogShowFlag: {
get() {
return this.isShowFlag
},
set(v) {
this.$emit('update:isShowFlag', v)
},
},
},
data() {
return {
fullscreenLoading: false,
tableData: [],
open: false,
title: '',
}
},
methods: {
init() {
let params = {
taskId: this.rowObj.taskId,
agreementId: this.rowObj.agreementId,
badId: this.rowObj.badId,
}
materialReturnNoteByExamine(params).then((res) => {
this.tableData = res.data
})
},
//
cancel() {
this.dialogShowFlag = false
},
print() {
this.$refs.printRef.print()
},
remarksClick() {
this.title = '查看'
this.open = true
},
remarksPrint() {
this.$refs.remarksPrintRef.print()
},
methods: {
init() {
let params = {
taskId: this.rowObj.taskId,
agreementId: this.rowObj.agreementId,
badId: this.rowObj.badId,
}
materialReturnNoteByExamine(params).then((res) => {
this.tableData = res.data
})
},
//
cancel() {
this.dialogShowFlag = false
},
print() {
this.$refs.printRef.print()
},
remarksClick() {
this.title = '查看'
this.open = true
},
remarksPrint() {
this.$refs.remarksPrintRef.print()
},
// submit() {
// this.$refs["dynamicValidateForm"].validate(valid => {
// console.log("valid", valid);
// if (valid) {
// console.log("11111");
// this.cancel();
// } else {
// return false;
// }
// });
// }
},
// submit() {
// this.$refs["dynamicValidateForm"].validate(valid => {
// console.log("valid", valid);
// if (valid) {
// console.log("11111");
// this.cancel();
// } else {
// return false;
// }
// });
// }
},
}
</script>
<style lang="scss" scoped>
.order_box {
display: flex;
flex-direction: column;
.order_box_one {
width: 100%;
display: flex;
flex-direction: column;
.order_box_one {
width: 100%;
display: flex;
align-content: center;
justify-content: space-between;
margin-bottom: 10px;
:last-child {
margin-right: 20px;
}
align-content: center;
/* justify-content: space-between; */
margin-bottom: 10px;
:last-child {
margin-right: 20px;
}
}
}
.order_footer {
margin-top: 10px;
display: flex;
justify-content: space-around;
align-items: center;
margin-top: 10px;
display: flex;
/* justify-content: space-around; */
align-items: center;
}
.remarks_box {
display: flex;
// align-items: center;
justify-content: center;
.remarks_box_title {
margin-bottom: 10px;
display: flex;
// align-items: center;
justify-content: center;
.remarks_box_title {
margin-bottom: 10px;
font-size: 18px;
}
font-size: 18px;
}
}
</style>

View File

@ -92,6 +92,13 @@
>
出库
</el-button>
<el-button
size="mini"
type="primary"
@click="openLld(scope.row, 1)"
>
出库单
</el-button>
</template>
</el-table-column>
</el-table>
@ -156,7 +163,7 @@
<el-table-column label="操作" align="center" v-if="isView">
<template slot-scope="{ row }" v-if="row.alNum > 0">
<el-button type="text" @click="onPreviewRecord(row)">出库记录</el-button>
<el-button type="text" @click="openLld(row)">出库单</el-button>
<el-button type="text" @click="openLld(row, 2)">出库单</el-button>
</template>
</el-table-column>
@ -373,53 +380,62 @@
</el-dialog>
<!-- 领料单弹窗 -->
<el-dialog :visible.sync="open" width="800px" append-to-body>
<el-dialog :visible.sync="open" width="1138px" 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>
<div class="title" style="text-align: center; font-weight: 600; font-size: 26px">
重庆市送变电机具设备份工是工机具出库单
</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>{{ leaseOutData.unitName }}
</div>
<div class="item" style="width: 50%; flex-shrink: 0; margin-bottom: 5px; font-size: 14px">
<span>出库时间</span>{{ leaseOutData.updateTime }}
</div>
<div class="item" style="width: 50%; flex-shrink: 0; margin-bottom: 5px; font-size: 14px">
<span>工程名称</span>{{ leaseOutData.proName }}
</div>
<div class="item" style="width: 50%; flex-shrink: 0; margin-bottom: 5px; font-size: 14px">
<span>时间</span>{{ leaseOutData.updateTime }}
</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>{{ leaseOutData.code }}
</div>
</div> -->
</div>
<el-table :data="leaseOutDetailRecord" class="table" border style="margin-top: 20px; padding: 1px">
<!-- <el-table-column type="selection" width="55" align="center" />-->
<el-table-column label="序号" align="center" type="index" />
<el-table-column label="类型名称" align="center" prop="typeName" />
<el-table-column label="规格型号" align="center" prop="typeModelName" />
<el-table-column label="计量单位" align="center" prop="unitName" />
<el-table-column label="单位" align="center" prop="unitNames" />
<el-table-column label="出库数量" align="center" prop="outNum" />
<el-table-column label="状态" align="center" prop="status" >
<template slot-scope="scope">
<span>完好</span>
</template>
</el-table-column>
<el-table-column label="设备编码" align="center" prop="maCode" />
<el-table-column label="备注" align="center" prop="remark" />
<el-table-column label="出库方式" align="center" prop="manageTypeName" />
<!-- <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%">
<span>审核</span>
<div style="margin: 15px 0;text-align: center; font-size: 20px; font-weight: 800">机器类设备需维修人员检查后确定好坏</div>
<div class="fillIn" style=" display: flex">
<div class="item" style="width: 60%">
<span>机具分公司发货人</span>
</div>
<div class="item" style="width: 25%">
<span>领料</span>
<div class="item">
<span>分公司领用人</span>
</div>
<div class="item" style="width: 25%">
<!-- <div class="item" style="width: 25%">
<span>仓库</span>
</div>
<div class="item" style="width: 25%">
<span>操作人</span>
</div>
</div> -->
</div>
</vue-easy-print>
</div>
<div slot="footer" class="dialog-footer" style="text-align: center">
<div style="text-align: left;color: #bbb;">提示: 请使用横向打印</div>
<el-button type="primary" @click="print"> </el-button>
<el-button @click="open = false"> </el-button>
</div>
@ -791,10 +807,13 @@ export default {
})
},
/* 打开出库单 */
async openLld(row) {
async openLld(row, type) {
this.open = true
const res = await getLeaseOutOrder({ parentId: row.parentId, typeId: row.typeId })
const params = {
parentId: type == 1 ? row.id : row.parentId,
typeId: type == 1 ? '' : row.typeId,
}
const res = await getLeaseOutOrder(params)
this.leaseOutDetailRecord = res.data.leaseOutDetailRecord
this.leaseOutData = res.data

View File

@ -249,7 +249,7 @@
icon="el-icon-tickets"
@click="handlePrint(scope.row)"
v-hasPermi="['return:receive:list']"
>退料</el-button
>回库</el-button
>
</template>
</el-table-column>
@ -480,8 +480,8 @@ export default {
//退
handlePrint(row) {
// this.title = "退";
this.billTitle = '退料单'
// this.title = "退"
this.billTitle = '重庆市送变电机具设备分公司工机具回库单'
this.isShowOneFlag = true
this.rowObj = row
},

View File

@ -558,7 +558,7 @@
<!-- 第二行 -->
<div style="display: flex; border-bottom: 1px solid #000">
<div style="text-align: center; border-right: 1px solid #000; width: 25%">{{
upkeepObj.type
upkeepObj.type || '-'
}}</div>
<div style="text-align: center; border-right: 1px solid #000; width: 29%">{{
upkeepObj.typeName
@ -601,7 +601,7 @@
<div style="width: 100%; min-height: 200px; padding-left: 10px"
>维修处理情况:
<span v-for="item in upkeepObj.records" :key="item.repairContent"
>{{ item.repairContent ? item.repairContent + ', ' : '' }}
>{{ item.repairContent ? '更换' + item.repairContent + ', ' : '' }}
</span>
</div>
<div

View File

@ -43,13 +43,13 @@ module.exports = {
// target: `https://z.csgmall.com.cn`,
// target: `http://192.168.0.15:39080`, //韩
target: `http://192.168.0.133:39080`, //超
// target: `http://192.168.0.133:39080`, //超
// target: `http://192.168.2.127:39080`, //超
// target: `http://192.168.2.74:49080`, //旭/
// target: `http://192.168.2.17:39080`, //帅
// target: `http://192.168.0.60:39080`, //福
// target: `http://192.168.0.96:39080`, //马
target: `http://192.168.0.96:39080`, //马
//******** 注意事项 ********* */
//1.全局替换qrUrl二维码扫码提供的网址-发布服务器的地址target;