This commit is contained in:
jjLv 2024-11-19 10:42:45 +08:00
parent 3938b14243
commit b3c1870869
3 changed files with 2040 additions and 867 deletions

View File

@ -22,12 +22,13 @@ export function getAppRepairMaTypeList(query) {
//获取配件类型树
export function partTypeTreeList(query) {
return request({
url: '/material/ma_part_type/list',
method: 'get',
params: query,
url: '/material/ma_part_type/list',
method: 'get',
params: query,
})
}
// //维修驳回至退料
// export function rejectRepair(data) {
// return request({
@ -44,3 +45,12 @@ export function rejectRepair(taskIds) {
})
}
// 维修保存
export function saveCodeList(data) {
return request({
url: '/material/repair/batchRepairApply',
method: 'post',
data: data,
})
}

File diff suppressed because it is too large Load Diff

View File

@ -99,6 +99,7 @@
<el-button size="mini" plain icon="el-icon-zoom-in" @click="handleSee(scope.row)" >查看</el-button>
<el-button size="mini" type="primary" plain icon="el-icon-edit" @click="handleUpdate(scope.row)">维修</el-button>
<el-button size="mini" type="danger" icon="el-icon-delete" @click="handleReject(scope.row)">驳回</el-button>
<el-button size="mini" type="success" @click="handlePrint(scope.row)">维修任务单</el-button>
</template>
</el-table-column>
</el-table>
@ -109,6 +110,230 @@
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 维修任务单弹窗 -->
<el-dialog
:title="title"
:visible.sync="openPrint"
width="1100px"
append-to-body
>
<div style="height: 600px; overflow-y: scroll">
<vue-easy-print tableShow ref="remarksPrintRef" class="print">
<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>
</div>
<div
class="item"
style="
width: 50%;
flex-shrink: 0;
margin-bottom: 5px;
font-size: 14px;
"
>
<span>单号</span>
</div>
<div
class="item"
style="
width: 50%;
flex-shrink: 0;
margin-bottom: 5px;
font-size: 14px;
"
>
<span>承修单位</span>
</div>
<div
class="item"
style="
width: 50%;
flex-shrink: 0;
margin-bottom: 5px;
font-size: 14px;
"
>
<span>操作人</span>
</div>
<div
class="item"
style="
width: 100%;
flex-shrink: 0;
margin-bottom: 5px;
font-size: 14px;
"
>
<span>项目名称</span>
</div>
<div
class="item"
style="
width: 50%;
flex-shrink: 0;
margin-bottom: 5px;
font-size: 14px;
"
>
<span>委托单位</span>
</div>
<div
class="item"
style="
width: 50%;
flex-shrink: 0;
margin-bottom: 5px;
font-size: 14px;
"
>
<span>验收人</span>
</div>
</div>
<el-table
:data="printTableData"
class="table"
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="machineTypeName" />
<el-table-column label="型号" align="center" prop="specificationType"/>
<el-table-column label="编号" align="center" prop="unitName1" />
<el-table-column label="单位" align="center" prop="unitName" />
<el-table-column label="报修数量" align="center" prop="unitName2" />
<el-table-column label="修复数量" align="center" prop="unitName3" />
<el-table-column label="报废数量" align="center" prop="unitName4" />
<el-table-column label="维修费小计" align="center" prop="unitName5" />
</el-table>
<div
class="tabelAll"
>
<div class="columnAllNum">总计</div>
<div class="columnAll">报修数量</div>
<div class="columnAll">修复数量</div>
<div class="columnAll">报废数量</div>
<div class="columnAll">维修费小计</div>
</div>
<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="printTableData"
class="table"
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="machineTypeName" />
<el-table-column label="更换备品备件/价格" align="center" prop="specificationType"/>
</el-table>
<div
class="tabelAll"
>
<div class="columnAllNum">合计</div>
<div class="columnAll">合计金额</div>
</div>
<div
class="tabelAll"
>
<div class="columnAllNum">报废图片</div>
<div class="columnAll">试验记录</div>
</div>
<div
class="fillIn"
style="
margin-top: 20px;
display: flex;
justify-content: space-between;
"
>
<div class="item" style="width: 50%">
<div>
<span>负责人</span>
</div>
</div>
<div class="item" style="width: 50%">
<div>
<span>完成日期</span>
</div>
</div>
</div>
<div
class="fillIn"
style="
margin-top: 20px;
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>
</template>
@ -120,6 +345,8 @@ import {
} from '@/api/repair/repair.js'
import { getInfo, h } from '@/api/login'
import vueEasyPrint from "vue-easy-print";
export default {
name: '',
dicts: ['back_task_status'],
@ -163,6 +390,8 @@ export default {
companyId: '',
unitList: [],
proList: [],
//
openPrint:false,
}
},
created() {
@ -170,6 +399,7 @@ export default {
// this.initSelectData()
// this.InitIGetInfo()
},
components: { vueEasyPrint },
methods: {
//
InitIGetInfo() {
@ -249,6 +479,12 @@ export default {
`维修任务单_${new Date().getTime()}.xlsx`,
)
},
//
handlePrint(row) {
this.openPrint = true;
this.title = "机具设备维修任务单";
},
},
}
</script>
@ -300,4 +536,29 @@ export default {
justify-content: flex-end;
align-items: center;
}
.tabelAll {
display: flex;
border: 1px solid #dfe6ec;
margin-bottom: 1px;
width:1000px;
border-bottom: 1px solid #dfe6ec;
border-top: none;
}
.columnAll {
flex: 1;
padding: 5px;
border-left: 1px solid #dfe6ec;
text-align: center;
width:20%;
}
.columnAllNum {
padding: 5px;
text-align: center;
width:50%;
border-left: none;
}
/* 最后一列无右边框 */
.tabelAll .column:last-child {
border-right: none;
}
</style>