测试问题修改

This commit is contained in:
zzyuan 2025-01-23 18:01:21 +08:00
parent 4892bb2bb9
commit 9702299f71
2 changed files with 191 additions and 500 deletions

View File

@ -2,57 +2,21 @@
<div>
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="100px">
<el-form-item prop="time">
<el-date-picker
v-model="queryParams.time"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
type="daterange"
value-format="yyyy-MM-dd"
style="width: 240px"
></el-date-picker>
<el-date-picker v-model="queryParams.time" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" type="daterange" value-format="yyyy-MM-dd" style="width: 240px"></el-date-picker>
</el-form-item>
<el-form-item prop="keyWord">
<el-input
maxlength="50"
v-model="queryParams.keyWord"
placeholder="请输入关键字"
clearable
style="width: 240px"
/>
<el-input maxlength="50" v-model="queryParams.keyWord" placeholder="请输入关键字" clearable style="width: 240px"/>
</el-form-item>
<el-form-item prop="repairStatus">
<el-select
v-model="queryParams.repairStatus"
clearable
filterable
style="width: 240px"
placeholder="请选择状态"
>
<el-option
v-for="dict in dict.type.repair_task_status"
<el-select v-model="queryParams.repairStatus" clearable filterable style="width: 240px" placeholder="请选择状态">
<el-option v-for="dict in dict.type.repair_task_status"
v-if="dict.value == 0 || dict.value == 1 || dict.value == 2"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
:key="dict.value" :label="dict.label" :value="dict.value"/>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item>
<el-button
type="primary"
icon="el-icon-search"
size="mini"
@click="handleQuery"
>查询</el-button
>
<el-button
icon="el-icon-refresh"
size="mini"
@click="resetQuery"
>重置</el-button
>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery" >查询</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery" >重置</el-button>
</el-form-item>
</el-form>
@ -113,237 +77,135 @@
/>
<!-- 维修任务单弹窗 -->
<el-dialog
:title="title"
:visible.sync="openPrint"
width="1090px"
append-to-body
>
<el-dialog :title="title" :visible.sync="openPrint" width="1090px" append-to-body>
<div style="height: 600px; overflow-y: scroll">
<!-- <vue-easy-print tableShow ref="remarksPrintRef" class="print"> -->
<div id="checkId">
<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>
{{ repairTicketlLevelOne.createTime }}
<div class="title" style="text-align: center; font-weight: 600; font-size: 16px">
机具设备维修任务单
</div>
<div
class="item"
style="
width: 50%;
flex-shrink: 0;
margin-bottom: 5px;
font-size: 14px;
"
>
<span>单号</span>
{{ repairTicketlLevelOne.repairCode }}
</div>
<div
class="item"
style="
width: 50%;
flex-shrink: 0;
margin-bottom: 5px;
font-size: 14px;
"
>
<span>承修单位</span>
{{ repairTicketlLevelOne.backUnit }}
</div>
<div
class="item"
style="
width: 50%;
flex-shrink: 0;
margin-bottom: 5px;
font-size: 14px;
"
>
<span>制单</span>
{{ repairTicketlLevelOne.repairer }}
</div>
<div
class="item"
style="
width: 100%;
flex-shrink: 0;
margin-bottom: 5px;
font-size: 14px;
"
>
<span>项目名称</span>
{{ repairTicketlLevelOne.backPro }}
</div>
<div
class="item"
style="
width: 50%;
flex-shrink: 0;
margin-bottom: 5px;
font-size: 14px;
"
>
<span>委托单位</span>
<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>
{{ repairTicketlLevelOne.createTime }}
</div>
<div class="item" style="width: 50%;flex-shrink: 0;margin-bottom: 5px;font-size: 14px;">
<span>单号</span>
{{ repairTicketlLevelOne.repairCode }}
</div>
<div class="item" style="width: 50%;flex-shrink: 0;margin-bottom: 5px;font-size: 14px;">
<span>承修单位</span>
{{ repairTicketlLevelOne.backUnit }}
</div>
<div class="item" style="width: 50%; flex-shrink: 0; margin-bottom: 5px; font-size: 14px;">
<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-column label="名称" align="center" prop="typeName" />
<el-table-column label="型号" align="center" prop="type"/>
<el-table-column label="编号" align="center" prop="code" >
<template slot-scope="scope">
<div v-if="scope.row.manageType==1" >计数</div>
<div v-if="scope.row.manageType==0" style="color: blue;" @click="handleView(scope.row)">详见附件</div>
</template>
</el-table-column>
<el-table-column label="单位" align="center" prop="unitName" />
<el-table-column label="报修数量" align="center" prop="typeRepairNum" />
<el-table-column label="修复数量" align="center" prop="typeRepairedNum" />
<el-table-column label="报废数量" align="center" prop="typeScrapNum" />
<el-table-column label="维修费小计" align="center" prop="typeCost" >
<template slot-scope="scope">
<div >{{"¥"+" "+Number(scope.row.typeCost)}}</div>
</template>
</el-table-column>
<el-table-column label="报废图片" align="center" >
<template slot-scope="scope">
<div v-if="scope.row.fileList.length==0" ></div>
<div v-if="scope.row.fileList.length!=0" style="color: blue;" @click="picturesPreview(scope.row)">{{scope.row.fileList.length}}</div>
</template>
</el-table-column>
</el-table>
<div
class="tabelAll"
>
<div class="columnAllNum">总计</div>
<div class="columnAll">
{{ repairNum1 }}
</div>
<div class="columnAll">
{{ repairNum2 }}
</div>
<div class="columnAll">
{{ repairNum3 }}
</div>
<div class="columnAll">
{{ "¥"+" "+repairNum4 }}
</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 class="item" style="width: 50%;flex-shrink: 0;margin-bottom: 5px;font-size: 14px;">
<span>制单</span>
{{ repairTicketlLevelOne.repairer }}
</div>
<div class="item" style="width: 100%;flex-shrink: 0;margin-bottom: 5px;font-size: 14px;">
<span>项目名称</span>
{{ repairTicketlLevelOne.backPro }}
</div>
<div class="item" style="width: 50%;flex-shrink: 0;margin-bottom: 5px;font-size: 14px;">
<span>委托单位</span>
{{ repairTicketlLevelOne.backUnit }}
</div>
<div class="item" style="width: 50%; flex-shrink: 0; margin-bottom: 5px; font-size: 14px;">
<span>验收人</span>
</div>
</div>
</div>
<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>
</template>
</el-table-column>
<el-table-column label="配件名称 * 数量 / 单价" align="center" prop="specificationType" >
<template slot-scope="scope">
<div>{{ scope.row.partName + " " }}*{{ " "+scope.row.partNum + " " }}/{{" ¥"+" "}}{{ scope.row.partPrice }}</div>
</template>
</el-table-column>
</el-table>
<div
class="tabelAll"
>
<div class="columnAllNumTwo">合计</div>
<div class="columnAllNumThree">
{{ "¥"+" "+acountAll }}
</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-column label="名称" align="center" prop="typeName" />
<el-table-column label="型号" align="center" prop="type"/>
<el-table-column label="编号" align="center" prop="code" >
<template slot-scope="scope">
<div v-if="scope.row.manageType==1" >计数</div>
<div v-if="scope.row.manageType==0" style="color: blue;" @click="handleView(scope.row)">详见附件</div>
</template>
</el-table-column>
<el-table-column label="单位" align="center" prop="unitName" />
<el-table-column label="报修数量" align="center" prop="typeRepairNum" />
<el-table-column label="修复数量" align="center" prop="typeRepairedNum" />
<el-table-column label="报废数量" align="center" prop="typeScrapNum" />
<el-table-column label="维修费小计" align="center" prop="typeCost" >
<template slot-scope="scope">
<div >{{"¥"+" "+Number(scope.row.typeCost)}}</div>
</template>
</el-table-column>
<el-table-column label="报废图片" align="center" >
<template slot-scope="scope">
<div v-if="scope.row.fileList.length==0" ></div>
<div v-if="scope.row.fileList.length!=0" style="color: blue;" @click="picturesPreview(scope.row)">{{scope.row.fileList.length}}</div>
</template>
</el-table-column>
</el-table>
<div class="tabelAll">
<div class="columnAllNum">总计</div>
<div class="columnAll">{{ repairNum1 }}</div>
<div class="columnAll">{{ repairNum2 }}</div>
<div class="columnAll">{{ repairNum3 }}</div>
<div class="columnAll">{{ "¥"+" "+repairNum4 }}</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="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>
</template>
</el-table-column>
<el-table-column label="配件名称 * 数量 / 单价" align="center" prop="specificationType" >
<template slot-scope="scope">
<div>{{ scope.row.partName + " " }}*{{ " "+scope.row.partNum + " " }}/{{" ¥"+" "}}{{ scope.row.partPrice }}</div>
</template>
</el-table-column>
</el-table>
<div class="tabelAll">
<div class="columnAllNumTwo">合计</div>
<div class="columnAllNumThree">{{ "¥"+" "+acountAll }}</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 class="item" style="width: 50%">
<div>
<span>负责人</span>
</div>
</div>
<div class="item" style="width: 50%">
<div>
<span>完成日期</span>
{{ repairTicketlLevelOne.finishTime }}
</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>
<div class="item" style="width: 50%">
<div>
<span>完成日期</span>
{{ repairTicketlLevelOne.finishTime }}
</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>
</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>
@ -351,60 +213,32 @@
</el-dialog>
<!-- 查看弹窗 -->
<el-dialog
:title="titleView"
:visible.sync="showView"
width="1000px"
append-to-body
>
<div style="overflow-y: scroll">
<!-- <vue-easy-print tableShow ref="remarksPrintRefView" class="print"> -->
<div id="checkIdTwo">
<div
class="title"
style="text-align: center; font-weight: 600; font-size: 16px; margin-bottom:20px"
>
维修任务单编号明细
</div>
<el-table :data="getListViewInfo" width="100%" border>
<el-table-column align="center" label="序号" type="index" width="55" />
<el-table-column
label="类型名称"
align="center"
prop="typeName"
:show-overflow-tooltip="true"
/>
<el-table-column
label="规格型号"
align="center"
prop="type"
:show-overflow-tooltip="true"
/>
<el-table-column
label="设备编码"
align="center"
prop="code"
:show-overflow-tooltip="true"
/>
<el-table-column
label="状态"
align="center"
prop="status"
:show-overflow-tooltip="true"
>
<template slot-scope="scope">
<div v-if="scope.row.status=='1'" >已完成</div>
<div v-if="scope.row.status=='0'">未完成</div>
</template>
</el-table-column>
</el-table>
</div>
<!-- </vue-easy-print> -->
<el-dialog :title="titleView" :visible.sync="showView" width="1000px" append-to-body>
<div style="overflow-y: scroll">
<!-- <vue-easy-print tableShow ref="remarksPrintRefView" class="print"> -->
<div id="checkIdTwo">
<div class="title" style="text-align: center; font-weight: 600; font-size: 16px; margin-bottom:20px">
维修任务单编号明细
</div>
<el-table :data="getListViewInfo" width="100%" border>
<el-table-column align="center" label="序号" type="index" width="55" />
<el-table-column label="类型名称" align="center" prop="typeName" :show-overflow-tooltip="true"/>
<el-table-column label="规格型号" align="center" prop="type" :show-overflow-tooltip="true"/>
<el-table-column label="设备编码" align="center" prop="code" :show-overflow-tooltip="true"/>
<el-table-column label="状态" align="center" prop="status" :show-overflow-tooltip="true">
<template slot-scope="scope">
<div v-if="scope.row.status=='1'" >已完成</div>
<div v-if="scope.row.status=='0'">未完成</div>
</template>
</el-table-column>
</el-table>
</div>
<!-- </vue-easy-print> -->
</div>
<div slot="footer" class="dialog-footer" style="text-align: center">
<div slot="footer" class="dialog-footer" style="text-align: center">
<el-button type="primary" @click="printView"> </el-button>
<el-button @click="showView = false"> </el-button>
</div>
</div>
</el-dialog>
<!--多图片查看弹窗 -->
@ -420,7 +254,6 @@
<i class="el-icon-caret-right" style="font-size: 32px;" @click="imgIndex=imgIndex+1" v-show="(imgIndex+1)<(dialogImageUrls.length)"></i>
</div>
</div>
</el-dialog>
</div>
</template>

View File

@ -1,13 +1,6 @@
<template>
<div>
<el-form
:model="queryParams"
ref="queryForm"
size="small"
:inline="true"
v-show="showSearch"
label-width="100px"
>
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="100px">
<el-form-item>
<el-date-picker
v-model="queryParams.time"
@ -16,8 +9,7 @@
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
style="width: 240px"
>
style="width: 240px">
</el-date-picker>
</el-form-item>
@ -28,20 +20,13 @@
clearable
maxlength="50"
style="width: 240px"
@keyup.enter.native="handleQuery"
/>
@keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item prop="taskStatus">
<el-select
v-model="queryParams.taskStatus"
placeholder="请选择状态"
clearable
filterable
style="width: 240px"
>
<el-option
v-for="dict in statusList"
<el-select v-model="queryParams.taskStatus"
placeholder="请选择状态" clearable filterable style="width: 240px" >
<el-option v-for="dict in statusList"
:key="dict.value"
:label="dict.label"
:value="dict.value"
@ -50,170 +35,45 @@
</el-form-item>
<el-form-item>
<el-button
type="primary"
icon="el-icon-search"
size="mini"
@click="handleQuery"
>搜索
<el-button type="primary" icon="el-icon-search" size="mini"
@click="handleQuery">搜索
</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
>重置
<el-button icon="el-icon-refresh" size="mini"
@click="resetQuery">重置
</el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-check"
size="mini"
@click="handlePassAll"
>通过
</el-button>
<el-button type="success" plain icon="el-icon-check" size="mini" @click="handlePassAll">通过</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-close"
size="mini"
@click="handleFailAll"
>驳回
</el-button>
<el-button type="danger" plain icon="el-icon-close" size="mini" @click="handleFailAll">驳回</el-button>
</el-col>
<!-- <el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
>导出
</el-button>
</el-col> -->
<right-toolbar
:showSearch.sync="showSearch"
@queryTable="getList"
></right-toolbar>
<el-col :span="1.5">
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport">导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table
v-loading="loading"
:data="tableList"
row-key="id"
@selection-change="handleSelectionChange"
border
>
<el-table-column
type="selection"
width="55"
align="center"
:selectable="selectable"
/>
<el-table-column width="60" align="center" label="序号" type="index" />
<el-table-column
align="center"
width="160"
label="退料单位"
prop="backUnit"
:show-overflow-tooltip="true"
/>
<el-table-column
label="退料工程"
width="150"
align="center"
prop="backPro"
:show-overflow-tooltip="true"
/>
<el-table-column
label="报废单号"
align="center"
prop="scrapCode" width="150"
:show-overflow-tooltip="true"
/>
<el-table-column
label="维修单号"
align="center"
prop="repairCode" width="150"
:show-overflow-tooltip="true"
/>
<el-table-column
label="物资类型"
align="center"
prop="type"
:show-overflow-tooltip="true"
/>
<el-table-column
label="提交人"
align="center"
prop="createName"
:show-overflow-tooltip="true"
/>
<el-table-column
label="提交时间"
align="center"
prop="createTime" width="180"
:show-overflow-tooltip="true"
>
</el-table-column>
<el-table-column
label="审核人"
align="center"
prop="auditByName"
:show-overflow-tooltip="true"
/>
<el-table-column
label="审核时间"
align="center"
prop="auditTime" width="180"
:show-overflow-tooltip="true"
>
</el-table-column>
<el-table-column
label="状态"
align="center" width="150"
prop="taskStatusName"
:show-overflow-tooltip="true"
>
</el-table-column>
<!-- <el-table-column
label="备注"
align="center"
width="150"
prop="remark"
:show-overflow-tooltip="true"
/> -->
<el-table v-loading="loading" :data="tableList" row-key="id" @selection-change="handleSelectionChange" border>
<el-table-column type="selection" width="55" align="center" :selectable="selectable"/>
<el-table-column width="60" align="center" label="序号" type="index" />
<el-table-column align="center" width="160" label="退料单位" prop="backUnit" :show-overflow-tooltip="true"/>
<el-table-column label="退料工程" width="150" align="center" prop="backPro" :show-overflow-tooltip="true"/>
<el-table-column label="报废单号" align="center" prop="scrapCode" width="150" :show-overflow-tooltip="true"/>
<el-table-column label="维修单号" align="center" prop="repairCode" width="150" :show-overflow-tooltip="true"/>
<el-table-column label="物资类型" align="center" prop="type" :show-overflow-tooltip="true"/>
<el-table-column label="提交人" align="center" prop="createName" :show-overflow-tooltip="true"/>
<el-table-column label="提交时间" align="center" prop="createTime" width="180" :show-overflow-tooltip="true"></el-table-column>
<el-table-column label="审核人" align="center" prop="auditByName" :show-overflow-tooltip="true"/>
<el-table-column label="审核时间" align="center" prop="auditTime" width="180" :show-overflow-tooltip="true"></el-table-column>
<el-table-column label="状态" align="center" width="150" prop="taskStatusName" :show-overflow-tooltip="true"></el-table-column>
<el-table-column label="操作" align="center" width="200" fixed="right">
<template slot-scope="scope">
<el-button
size="mini"
style="margin-bottom: 10px"
type="normal"
@click="handleView(scope.row)"
>查看
</el-button>
<el-button
size="mini"
style="margin-bottom: 10px"
type="primary"
@click="handleUpdate(scope.row)"
v-if="scope.row.taskStatus == '0'"
>审核
</el-button>
<!-- <el-button
size="mini"
type="danger"
@click="handleDeletePurchase(scope.row)"
v-if="scope.row.taskStatus == '0'"
>驳回
</el-button> -->
<el-button size="mini" style="margin-bottom: 10px" type="normal" @click="handleView(scope.row)">查看</el-button>
<el-button size="mini" style="margin-bottom: 10px" type="primary" @click="handleUpdate(scope.row)" v-if="scope.row.taskStatus == '0'" >审核</el-button>
</template>
</el-table-column>
</el-table>
@ -283,8 +143,7 @@ export default {
});
this.single = selection.length != 1;
this.multiple = !selection.length;
},
},
//
selectable(row) {
if (row.taskStatus == "1"||row.taskStatus == "2") {
@ -365,7 +224,17 @@ export default {
handleUpdate(row) {
this.$emit("addTools", row.taskId, row.id,row);
},
/** 导出按钮操作 */
handleExport() {
this.download("/material/scrap_apply_details/export",
{
...this.queryParams,
startTime: this.queryParams.time && this.queryParams.time[0],
endTime: this.queryParams.time && this.queryParams.time[1],
},
`报废审核_${new Date().getTime()}.xlsx`
);
},
// ---------------------------------------
/** 删除按钮操作 */
handleDeletePurchase(row) {
@ -384,18 +253,7 @@ export default {
})
.catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
this.download(
"/material/repair_audit_details/export",
{
...this.queryParams,
startTime: this.queryParams.time && this.queryParams.time[0],
endTime: this.queryParams.time && this.queryParams.time[1],
},
`修试审核_${new Date().getTime()}.xlsx`
);
},
},
};
</script>