821 lines
35 KiB
Vue
821 lines
35 KiB
Vue
<template>
|
|
<div class="app-container" id="testExamine">
|
|
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch"
|
|
label-width="120px">
|
|
<el-form-item label="关键字" prop="keyword">
|
|
<el-input v-model="queryParams.keyword" placeholder="请输入关键字" clearable maxlength="50"
|
|
style="width: 240px" @keyup.enter.native="handleQuery" />
|
|
</el-form-item>
|
|
<el-form-item label="单位名称" prop="backUnit">
|
|
<el-select v-model="queryParams.backUnit" placeholder="请选择单位名称" clearable filterable
|
|
style="width: 240px">
|
|
<el-option v-for="dict in unitInfoSelectList" :key="dict.unitId" :label="dict.unitName"
|
|
:value="dict.unitId" />
|
|
</el-select>
|
|
</el-form-item>
|
|
<el-form-item label="工程名称" prop="backPro">
|
|
<el-select v-model="queryParams.backPro" placeholder="请选择工程名称" clearable filterable
|
|
style="width: 240px">
|
|
<el-option v-for="dict in projectSelectList" :key="dict.projectId" :label="dict.projectName"
|
|
:value="dict.projectId" />
|
|
</el-select>
|
|
</el-form-item>
|
|
<el-form-item label="工机具类型" prop="type">
|
|
<!-- <selectTree-->
|
|
<!-- ref="mychild"-->
|
|
<!-- style="width: 240px"-->
|
|
<!-- :treeList="deptList"-->
|
|
<!-- :treeProps="{-->
|
|
<!-- children: 'children',-->
|
|
<!-- label: 'label',-->
|
|
<!-- }"-->
|
|
<!-- nodeKey="id"-->
|
|
<!-- :defaultSelect="true"-->
|
|
<!-- :defaultData="defaultData"-->
|
|
<!-- :clearable="true"-->
|
|
<!-- :placeholder="'请选择'"-->
|
|
<!-- @handleNodeClick="selectDrop"-->
|
|
<!-- ></selectTree>-->
|
|
<Tree ref="mychildSon" :width="240" :dataList="deptList" @changeId="selectDrop"></Tree>
|
|
</el-form-item>
|
|
<el-form-item label="修试审核单号" prop="backCode">
|
|
<el-input v-model="queryParams.backCode" placeholder="请选择修试审核单号" clearable maxlength="50"
|
|
style="width: 240px" @keyup.enter.native="handleQuery" />
|
|
</el-form-item>
|
|
<el-form-item label="修试审核状态" prop="taskStatus">
|
|
<el-select v-model="queryParams.taskStatus" placeholder="请选择修试审核状态" clearable filterable
|
|
style="width: 240px">
|
|
<el-option v-for="dict in dicSelectList" :key="dict.id" :label="dict.name" :value="dict.id" />
|
|
</el-select>
|
|
</el-form-item>
|
|
|
|
<el-form-item label="任务创建时间">
|
|
<el-date-picker v-model="dateRange" style="width: 240px" value-format="yyyy-MM-dd" type="daterange"
|
|
range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
|
|
</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-form-item>
|
|
</el-form>
|
|
<el-row :gutter="10" class="mb8" style="margin-left: 3%">
|
|
<el-col :span="1.5">
|
|
<el-button type="primary" plain icon="el-icon-plus" size="mini" :disabled="multiple"
|
|
@click="checkClick">批量审核</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-row>
|
|
<el-table v-loading="loading" :data="typeList" @selection-change="handleSelectionChange">
|
|
<el-table-column type="selection" width="55" align="center" :selectable="selectable" />
|
|
<el-table-column label="序号" align="center" width="80" type="index">
|
|
<template scope="scope">
|
|
<span>{{ (queryParams.pageNum - 1) * 10 + scope.$index + 1 }}</span>
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column label="修试审核单号" align="center" sortable prop="scrapNum" :show-overflow-tooltip="true" />
|
|
<el-table-column label="单位名称" align="center" prop="unitName" sortable :show-overflow-tooltip="true" />
|
|
<el-table-column label="工程名称" sortable align="center" prop="projectName" :show-overflow-tooltip="true" />
|
|
<el-table-column label="机具类型" align="center" prop="itemType" sortable :show-overflow-tooltip="true" />
|
|
<el-table-column label="任务创建人" sortable align="center" prop="createBy" :show-overflow-tooltip="true" />
|
|
<el-table-column label="任务创建时间" sortable align="center" prop="createTime" :show-overflow-tooltip="true" />
|
|
<el-table-column label="维修单号" align="center" sortable prop="repairNum" :show-overflow-tooltip="true" />
|
|
|
|
<el-table-column label="审核状态" align="center" sortable prop="taskStatusName" :show-overflow-tooltip="true" />
|
|
<el-table-column label="不通过原因" align="center" sortable prop="remark" :show-overflow-tooltip="true" />
|
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="200px">
|
|
<template slot-scope="scope">
|
|
<el-button size="mini" type="primary" icon="el-icon-zoom-in"
|
|
@click="handleSee(scope.row, 'see')">查看</el-button>
|
|
<!-- -->
|
|
<el-button size="mini" type="warning" icon="el-icon-circle-check"
|
|
:disabled="scope.row.taskStatus !== 46"
|
|
@click="handleUpdate(scope.row, 'update')">审核</el-button>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table>
|
|
|
|
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum"
|
|
:limit.sync="queryParams.pageSize" @pagination="getList" />
|
|
|
|
<!-- 添加或修改参数配置对话框 -->
|
|
<el-dialog :title="dialogTitle" :visible.sync="open" width="1300px" append-to-body :before-close="onClose">
|
|
<el-form :model="dialogQueryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch"
|
|
label-width="100px">
|
|
<el-row>
|
|
<el-form-item label="关键字" prop="keyword">
|
|
<el-input v-model="dialogQueryParams.keyword" placeholder="请输入关键字" :clearable="false"
|
|
maxlength="50" style="width: 240px" />
|
|
</el-form-item>
|
|
<el-form-item label="类型名称" prop="typeName">
|
|
<!-- <treeselect
|
|
style="width: 250px"
|
|
v-model="dialogQueryParams.typeName"
|
|
:options="deptList"
|
|
:normalizer="normalizer"
|
|
placeholder="请选择类型名称"
|
|
/> -->
|
|
<selectTree ref="mychildDialog" style="width: 240px" :treeList="deptList" :treeProps="{
|
|
children: 'children',
|
|
label: 'label',
|
|
}" nodeKey="id" :defaultSelect="true" :defaultData="defaultData" :clearable="false"
|
|
:placeholder="'请选择'" @handleNodeClick="selectDropDialog"></selectTree>
|
|
</el-form-item>
|
|
<el-form-item label="规格型号" prop="type">
|
|
<selectTree ref="mychildDialogTwo" style="width: 240px" :treeList="deptTypeList" :treeProps="{
|
|
children: 'children',
|
|
label: 'label',
|
|
}" nodeKey="id" :defaultSelect="true" :defaultData="defaultData" :clearable="false"
|
|
:placeholder="'请选择'" @handleNodeClick="selectDropDialogTwo"></selectTree>
|
|
</el-form-item>
|
|
<el-form-item>
|
|
<el-button type="primary" icon="el-icon-search" size="mini"
|
|
@click="getdialogList">查询</el-button>
|
|
<el-button icon="el-icon-refresh" size="mini" @click="resetQueryDialog">重置</el-button>
|
|
</el-form-item>
|
|
</el-row>
|
|
</el-form>
|
|
|
|
<el-table v-loading="loading" :data="dialogList" height="500px"
|
|
@selection-change="handleDialogSelectionChange">
|
|
<el-table-column type="selection" width="55" align="center" :selectable="selectableDialog" />
|
|
<el-table-column label="序号" align="center" width="80" type="index">
|
|
<template scope="scope">
|
|
<span>{{ (dialogQueryParams.pageNum - 1) * 10 + scope.$index + 1 }}</span>
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column label="类型名称" align="center" prop="machineTypeName" :show-overflow-tooltip="true" />
|
|
<el-table-column label="规格型号" align="center" prop="specificationType" :show-overflow-tooltip="true" />
|
|
<el-table-column label="编码" align="center" prop="maCode" width="200" :show-overflow-tooltip="true" />
|
|
<el-table-column label="维修总量" align="center" prop="repairNum" :show-overflow-tooltip="true" />
|
|
<el-table-column label="维修数量" align="center" prop="repairedNum" :show-overflow-tooltip="true" />
|
|
<el-table-column label="报废数量" align="center" prop="scrapNum" :show-overflow-tooltip="true" />
|
|
<el-table-column label="状态" align="center" prop="status" :show-overflow-tooltip="true">
|
|
<template slot-scope="scope">
|
|
<span v-if="scope.row.status == '0'">未审核</span>
|
|
<span v-if="scope.row.status == '1'">通过</span>
|
|
<span v-if="scope.row.status == '2'">驳回</span>
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="200px">
|
|
<template slot-scope="scope">
|
|
<el-button size="mini" type="primary" icon="el-icon-zoom-in"
|
|
@click="repairRecord(scope.row)">维修记录</el-button>
|
|
<el-button size="mini" type="warning" icon="el-icon-circle-check"
|
|
@click="partRecord(scope.row)">配件详情</el-button>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table>
|
|
<pagination v-show="dialogTotal > 0" :total="dialogTotal" :page.sync="dialogQueryParams.pageNum"
|
|
:limit.sync="dialogQueryParams.pageSize" @pagination="getdialogList" />
|
|
|
|
<div slot="footer" class="dialog-footer-btn" style="text-align: center"
|
|
v-if="type == 'update' && dialogList.length !== 0">
|
|
<el-button type="primary" @click="submitForm(1)" :disabled="dialogMultiple">通过</el-button>
|
|
<el-button @click="returnSubmit(1)" :disabled="dialogMultiple">不通过</el-button>
|
|
</div>
|
|
</el-dialog>
|
|
|
|
<!-- 维修记录 -->
|
|
<el-dialog v-loading.fullscreen.lock="fullscreenLoading" :title="title" :visible.sync="openRepairRecord"
|
|
append-to-body width="1200px">
|
|
<el-table :data="repairRecordList" height="450px">
|
|
<el-table-column label="序号" align="center" width="80" type="index">
|
|
<template scope="scope">
|
|
<span>{{ (repairRecordParams.pageNum - 1) * 10 + scope.$index + 1 }}</span>
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column label="维修内容" align="center" prop="repairContent" :show-overflow-tooltip="true" />
|
|
<el-table-column label="维修数量" align="center" prop="repairNum" :show-overflow-tooltip="true" />
|
|
<el-table-column label="维修人" align="center" prop="repairer" :show-overflow-tooltip="true" />
|
|
<el-table-column label="维修方式" align="center" prop="repairType" :show-overflow-tooltip="true">
|
|
<template slot-scope="scope">
|
|
<span v-if="scope.row.repairType == '1'">内部</span>
|
|
<span v-if="scope.row.repairType == '2'">返厂</span>
|
|
<span v-if="scope.row.repairType == '3'">报废</span>
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column label="返厂名称" align="center" prop="supplier" :show-overflow-tooltip="true" />
|
|
<el-table-column label="报废原因" align="center" prop="scrapReason" :show-overflow-tooltip="true" />
|
|
<el-table-column label="报废数量" align="center" prop="scrapNum" :show-overflow-tooltip="true" />
|
|
<el-table-column label="报废类型" align="center" prop="scrapType" :show-overflow-tooltip="true">
|
|
<template slot-scope="scope">
|
|
<span v-if="scope.row.scrapType == '0'">自然报废</span>
|
|
<span v-if="scope.row.scrapType == '1'">人为报废</span>
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column label="配件名称" align="center" prop="partName" :show-overflow-tooltip="true" />
|
|
<el-table-column label="配件数量" align="center" prop="partNum" :show-overflow-tooltip="true" />
|
|
<el-table-column label="配件单价" align="center" prop="partPrice" :show-overflow-tooltip="true" />
|
|
<el-table-column label="类型" align="center" prop="partType" :show-overflow-tooltip="true">
|
|
<template slot-scope="scope">
|
|
<span v-if="scope.row.partType == '0'">不收费</span>
|
|
<span v-if="scope.row.partType == '1'">收费</span>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table>
|
|
<pagination v-show="repairRecordTotal > 0" :total="repairRecordTotal"
|
|
:page.sync="repairRecordParams.pageNum" :limit.sync="repairRecordParams.pageSize"
|
|
@pagination="getRepairRecordList" />
|
|
</el-dialog>
|
|
|
|
<!-- 维修记录 -->
|
|
<el-dialog v-loading.fullscreen.lock="fullscreenLoading" :title="title" :visible.sync="openPartRecord"
|
|
append-to-body width="1200px">
|
|
<el-table :data="partRecordList" height="450px">
|
|
<el-table-column label="序号" align="center" width="80" type="index">
|
|
<template scope="scope">
|
|
<span>{{ (partRecordParams.pageNum - 1) * 10 + scope.$index + 1 }}</span>
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column label="配件名称" align="center" prop="partName" :show-overflow-tooltip="true" />
|
|
<el-table-column label="配件数量" align="center" prop="partNum" :show-overflow-tooltip="true" />
|
|
<el-table-column label="配件费用" align="center" prop="partCost" :show-overflow-tooltip="true" />
|
|
<el-table-column label="类型" align="center" prop="partType" :show-overflow-tooltip="true">
|
|
<template slot-scope="scope">
|
|
<span v-if="scope.row.partType == '0'">不收费</span>
|
|
<span v-if="scope.row.partType == '1'">收费</span>
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column label="备注" align="center" prop="remark" :show-overflow-tooltip="true" />
|
|
</el-table>
|
|
<pagination v-show="partRecordTotal > 0" :total="partRecordTotal" :page.sync="partRecordParams.pageNum"
|
|
:limit.sync="partRecordParams.pageSize" @pagination="getPartRecordList" />
|
|
</el-dialog>
|
|
|
|
<el-dialog v-loading.fullscreen.lock="fullscreenLoading" :title="title" :visible.sync="openOne" append-to-body
|
|
width="400px">
|
|
<div class="submit_box">
|
|
<div>
|
|
<i class="el-icon-circle-check" style="color: #ff9900; font-size: 30px"></i>
|
|
</div>
|
|
<div class="submit_box_title">
|
|
<div>{{ openTextOne }}</div>
|
|
<div>{{ openTextTwo }}</div>
|
|
</div>
|
|
</div>
|
|
<div slot="footer" class="dialog-footer">
|
|
<el-button @click="submitOpenOneFeturn">返回</el-button>
|
|
<el-button type="primary" @click="submitOpenOneForm()">确定</el-button>
|
|
</div>
|
|
</el-dialog>
|
|
<el-dialog v-loading.fullscreen.lock="fullscreenLoading" :title="title" :visible.sync="openTwo" append-to-body
|
|
width="400px" :before-close="openTextThreeClose">
|
|
<div class="submit_box_two">
|
|
<div>
|
|
<i class="el-icon-circle-check" style="color: #00c196; font-size: 30px"></i>
|
|
</div>
|
|
<div class="submit_box_title">{{ openTextThree }}</div>
|
|
</div>
|
|
<div slot="footer" class="dialog-footer"></div>
|
|
</el-dialog>
|
|
<el-dialog v-loading.fullscreen.lock="fullscreenLoading" :title="title" :visible.sync="openThree" append-to-body
|
|
width="800px">
|
|
<div class="submit_box">
|
|
<el-form ref="form" :model="form" :rules="rules" label-width="140px">
|
|
<el-form-item label="请输入驳回原因:" prop="remark">
|
|
<el-input style="width: 600px" type="textarea" v-model="form.remark" maxlength="100"
|
|
show-word-limit></el-input>
|
|
</el-form-item>
|
|
</el-form>
|
|
</div>
|
|
<div slot="footer" class="dialog-footer">
|
|
<el-button @click="formCancel">返回</el-button>
|
|
<el-button type="primary" @click="formSubmit">保存</el-button>
|
|
</div>
|
|
</el-dialog>
|
|
<el-dialog v-loading.fullscreen.lock="fullscreenLoading" :title="title" :visible.sync="openFour" append-to-body
|
|
width="400px">
|
|
<div class="submit_box_openFour">
|
|
你选择了{{ selectionList.length }}条数据,请进行审批
|
|
</div>
|
|
<div slot="footer" class="dialog-footer">
|
|
<el-button @click="submitForm(2)" type="primary">通过</el-button>
|
|
<el-button @click="returnSubmit(2)">不通过</el-button>
|
|
</div>
|
|
</el-dialog>
|
|
</div>
|
|
</template>
|
|
|
|
<script>
|
|
import {
|
|
getQuestListApi,
|
|
getRepairAuditListApi,
|
|
addDetailsAuditApi,
|
|
getRepairRecord,
|
|
getPartRecord,
|
|
} from '@/api/repairTest/testExamine'
|
|
import { getProjectList } from '@/api/claimAndRefund/receive'
|
|
import {
|
|
getUnitInfoSelectApi,
|
|
getProjectSelectApi,
|
|
getDicSelectApi,
|
|
listPartTypeApi,
|
|
getMaTypeSelectApi,
|
|
} from '@/api/repairTest/repair'
|
|
import selectTree from '../repair/selectTree.vue'
|
|
import Tree from '@/views/repairTest/repair/tree.vue'
|
|
export default {
|
|
name: 'TestExamine',
|
|
components: { Tree, selectTree },
|
|
dicts: ['sys_normal_disable'],
|
|
data() {
|
|
return {
|
|
checkResultOne: false,
|
|
defaultData: null,
|
|
selectionList: [],
|
|
unitInfoSelectList: [],
|
|
projectSelectList: [],
|
|
dicSelectList: [],
|
|
dialogList: [],
|
|
deptList: [],
|
|
deptTypeList: [],
|
|
rowObj: {},
|
|
fullscreenLoading: false,
|
|
openOne: false,
|
|
openTwo: false,
|
|
openThree: false,
|
|
openFour: false,
|
|
openTextOne: '',
|
|
openTextTwo: '',
|
|
openTextThree: '',
|
|
type: '',
|
|
// 遮罩层
|
|
loading: false,
|
|
// 选中数组
|
|
ids: [],
|
|
dialogIds: [],
|
|
// 非单个禁用
|
|
single: true,
|
|
// 非多个禁用
|
|
multiple: true,
|
|
// 非单个禁用
|
|
dialogSingle: true,
|
|
// 非多个禁用
|
|
dialogMultiple: true,
|
|
// 显示搜索条件
|
|
showSearch: true,
|
|
// 总条数
|
|
total: 0,
|
|
dialogTotal: 0,
|
|
// 字典表格数据
|
|
typeList: [],
|
|
// 弹出层标题
|
|
title: '',
|
|
dialogTitle: '',
|
|
// 是否显示弹出层
|
|
open: false,
|
|
// 日期范围
|
|
dateRange: [],
|
|
// 查询参数
|
|
queryParams: {
|
|
pageNum: 1,
|
|
pageSize: 10,
|
|
keyword: '',
|
|
backUnit: '',
|
|
backPro: '',
|
|
type: '',
|
|
backCode: '',
|
|
taskStatus: '',
|
|
},
|
|
dialogQueryParams: {
|
|
pageNum: 1,
|
|
pageSize: 10,
|
|
},
|
|
// 表单参数
|
|
form: {},
|
|
// 表单校验
|
|
rules: {
|
|
remark: [
|
|
{
|
|
required: true,
|
|
message: '原因不能为空',
|
|
trigger: 'blur',
|
|
},
|
|
],
|
|
},
|
|
repairId: '',
|
|
openRepairRecord: false,
|
|
repairRecordList: [],
|
|
repairRecordParams: {
|
|
pageNum: 1,
|
|
pageSize: 10,
|
|
},
|
|
repairRecordTotal: 0,
|
|
openPartRecord: false,
|
|
partRecordList: [],
|
|
partRecordParams: {
|
|
pageNum: 1,
|
|
pageSize: 10,
|
|
},
|
|
partRecordTotal: 0,
|
|
}
|
|
},
|
|
created() {
|
|
this.getList()
|
|
getUnitInfoSelectApi().then((res) => {
|
|
this.unitInfoSelectList = res.data
|
|
})
|
|
getProjectList().then((res) => {
|
|
this.projectSelectList = res.data
|
|
})
|
|
getDicSelectApi({ value: 'ws_shenhe' }).then((res) => {
|
|
this.dicSelectList = res.data
|
|
})
|
|
this.getTree()
|
|
},
|
|
|
|
methods: {
|
|
/** 查询字典类型列表 */
|
|
getList() {
|
|
this.loading = true
|
|
getQuestListApi(
|
|
this.addDateRange(this.queryParams, this.dateRange),
|
|
).then((response) => {
|
|
this.typeList = response.rows
|
|
this.total = response.total
|
|
this.loading = false
|
|
})
|
|
},
|
|
// 封装弹框页面查询
|
|
getdialogList() {
|
|
let params = {
|
|
taskId: this.rowObj.taskId,
|
|
pageNum: this.dialogQueryParams.pageNum,
|
|
keyword: this.dialogQueryParams.keyword,
|
|
typeName: this.dialogQueryParams.typeName,
|
|
type: this.dialogQueryParams.type,
|
|
pageSize: this.dialogQueryParams.pageSize,
|
|
}
|
|
// this.loading = true;
|
|
getRepairAuditListApi(params)
|
|
.then((response) => {
|
|
if (response.code == 200) {
|
|
// this.loading = false;
|
|
this.open = true
|
|
this.dialogList = response.rows
|
|
this.dialogTotal = response.total
|
|
}
|
|
})
|
|
.catch(() => { })
|
|
},
|
|
checkClick() {
|
|
this.title = '审批'
|
|
this.openFour = true
|
|
},
|
|
// 取消按钮
|
|
cancel() {
|
|
this.open = false
|
|
this.reset()
|
|
},
|
|
// 表单重置
|
|
reset() {
|
|
this.form = {
|
|
dictId: undefined,
|
|
dictName: undefined,
|
|
dictType: undefined,
|
|
status: '0',
|
|
remark: undefined,
|
|
}
|
|
this.resetForm('form')
|
|
},
|
|
onClose() {
|
|
this.open = false
|
|
this.queryParams.type = ''
|
|
// this.resetQueryDialog()
|
|
this.getList()
|
|
},
|
|
resetQueryDialog() {
|
|
this.dialogQueryParams = {}
|
|
this.resetForm('dialogQueryParams')
|
|
this.$refs.mychildDialog.clearSelect()
|
|
this.$refs.mychildDialogTwo.clearSelect()
|
|
this.dialogQueryParams.pageNum = 1
|
|
this.dialogQueryParams.pageSize = 10
|
|
this.getdialogList()
|
|
},
|
|
selectDrop(value) {
|
|
this.queryParams.type = value
|
|
},
|
|
selectDropDialog(value) {
|
|
this.dialogQueryParams.typeName = value
|
|
},
|
|
selectDropDialogTwo(value) {
|
|
this.dialogQueryParams.type = value
|
|
},
|
|
getTree() {
|
|
listPartTypeApi().then((response) => {
|
|
this.deptList = response.data
|
|
// this.deptList = this.handleTree(response.data, "id");
|
|
})
|
|
getMaTypeSelectApi().then((response) => {
|
|
this.deptTypeList = response.data
|
|
})
|
|
},
|
|
/** 搜索按钮操作 */
|
|
handleQuery() {
|
|
this.queryParams.pageNum = 1
|
|
this.getList()
|
|
},
|
|
/** 重置按钮操作 */
|
|
resetQuery() {
|
|
this.dateRange = []
|
|
this.queryParams.backUnit = ''
|
|
this.queryParams.backPro = ''
|
|
this.resetForm('queryForm')
|
|
this.$refs.mychildSon.inputValue = ''
|
|
this.queryParams.type = ''
|
|
this.handleQuery()
|
|
},
|
|
/** 新增按钮操作 */
|
|
handleAdd() {
|
|
this.reset()
|
|
this.open = true
|
|
this.title = '新建'
|
|
},
|
|
selectable(row) {
|
|
if (row.taskStatus == 46) {
|
|
return true
|
|
} else {
|
|
return false
|
|
}
|
|
},
|
|
selectableDialog(row) {
|
|
if (row.status == '0') {
|
|
return true
|
|
} else {
|
|
return false
|
|
}
|
|
},
|
|
// 多选框选中数据
|
|
handleSelectionChange(selection) {
|
|
this.selectionList = selection
|
|
this.checkResultOne = selection.every(
|
|
(item) => item.taskStatus == 46,
|
|
)
|
|
this.ids = selection.map((item) => item.dictId)
|
|
this.single = selection.length != 1
|
|
this.multiple = !selection.length
|
|
// console.log(this.checkResultOne)
|
|
console.log(this.checkResultOne)
|
|
},
|
|
handleDialogSelectionChange(selection) {
|
|
this.dialogIds = selection.map((item) => item)
|
|
this.dialogSingle = selection.length != 1
|
|
this.dialogMultiple = !selection.length
|
|
console.log(this.checkResultOne)
|
|
},
|
|
handleSee(row, type) {
|
|
this.dialogTitle = '查看'
|
|
this.rowObj = row
|
|
this.reset()
|
|
this.type = type
|
|
this.getdialogList()
|
|
},
|
|
/** 修改按钮操作 */
|
|
handleUpdate(row, type) {
|
|
this.dialogTitle = '审核'
|
|
this.rowObj = row
|
|
this.reset()
|
|
this.type = type
|
|
this.getdialogList()
|
|
},
|
|
/** 提交按钮 */
|
|
submitForm(val) {
|
|
// val 1代表对话框中审核 2代表批量审核
|
|
this.checkResult = val
|
|
this.openOne = true
|
|
this.openFour = false
|
|
this.openTextOne = '确定审批通过么?'
|
|
this.openTextTwo = '确定审批通过么?'
|
|
},
|
|
submitOpenOneForm() {
|
|
this.openOne = false
|
|
this.open = false
|
|
// val 1代表对话框中审核 2代表批量审核
|
|
if (this.checkResult == 1) {
|
|
let taskIdList = []
|
|
taskIdList.push(this.rowObj.taskId)
|
|
let params = {
|
|
checkResult: '通过',
|
|
taskIdList: taskIdList,
|
|
auditDetailList: this.dialogIds,
|
|
}
|
|
// console.log(params)
|
|
addDetailsAuditApi(params)
|
|
.then((res) => {
|
|
this.openTwo = true
|
|
this.open = false
|
|
this.openTextThree = '审批通过!'
|
|
// this.getdialogList()
|
|
this.getList()
|
|
})
|
|
.catch(() => { })
|
|
}
|
|
if (this.checkResult == 2) {
|
|
let taskIdList = []
|
|
this.selectionList.map((item) => {
|
|
taskIdList.push(item.taskId)
|
|
})
|
|
let params = {
|
|
checkResult: '通过',
|
|
taskIdList: taskIdList,
|
|
}
|
|
addDetailsAuditApi(params)
|
|
.then((res) => {
|
|
this.openTwo = true
|
|
this.openTextThree = '审批通过!'
|
|
this.getList()
|
|
})
|
|
.catch(() => { })
|
|
}
|
|
},
|
|
openTextThreeClose() {
|
|
this.open = false
|
|
this.openOne = false
|
|
this.openTwo = false
|
|
this.openThree = false
|
|
this.openFour = false
|
|
this.getList()
|
|
},
|
|
|
|
submitOpenOneFeturn() {
|
|
this.openOne = false
|
|
},
|
|
//维修记录
|
|
repairRecord(row) {
|
|
this.repairRecordParams.pageNum = 1
|
|
this.repairRecordParams.pageSize = 10
|
|
this.repairId = row.repairId
|
|
this.getRepairRecordList()
|
|
},
|
|
getRepairRecordList() {
|
|
let params = {
|
|
repairId: this.repairId,
|
|
pageNum: this.repairRecordParams.pageNum,
|
|
pageSize: this.repairRecordParams.pageSize,
|
|
}
|
|
getRepairRecord(params)
|
|
.then((res) => {
|
|
this.repairRecordList = res.rows
|
|
this.repairRecordTotal = res.total
|
|
this.openRepairRecord = true
|
|
this.title = '维修记录'
|
|
})
|
|
.catch(() => { })
|
|
},
|
|
//配件详情
|
|
partRecord(row) {
|
|
this.partRecordParams.pageNum = 1
|
|
this.partRecordParams.pageSize = 10
|
|
this.repairId = row.repairId
|
|
this.getPartRecordList()
|
|
},
|
|
getPartRecordList() {
|
|
let params = {
|
|
repairId: this.repairId,
|
|
pageNum: this.partRecordParams.pageNum,
|
|
pageSize: this.partRecordParams.pageSize,
|
|
}
|
|
getPartRecord(params)
|
|
.then((res) => {
|
|
this.partRecordList = res.rows
|
|
this.partRecordTotal = res.total
|
|
this.openPartRecord = true
|
|
this.title = '配件详情'
|
|
})
|
|
.catch(() => { })
|
|
},
|
|
|
|
returnSubmit(val) {
|
|
this.checkResult = val
|
|
this.title = '驳回原因'
|
|
this.openThree = true
|
|
},
|
|
formCancel() {
|
|
this.$refs.form.resetFields()
|
|
this.openThree = false
|
|
},
|
|
formSubmit() {
|
|
this.$refs.form.validate((valid) => {
|
|
if (valid) {
|
|
if (this.checkResult == 1) {
|
|
let taskIdList = []
|
|
taskIdList.push(this.rowObj.taskId)
|
|
let params = {
|
|
checkResult: '不通过',
|
|
taskIdList: taskIdList,
|
|
auditDetailList: this.dialogIds,
|
|
remark: this.form.remark,
|
|
}
|
|
addDetailsAuditApi(params)
|
|
.then((res) => {
|
|
this.$refs.form.resetFields()
|
|
this.formCancel()
|
|
this.open = false
|
|
this.openThree = false
|
|
// this.getdialogList()
|
|
this.getList()
|
|
})
|
|
.catch(() => { })
|
|
}
|
|
if (this.checkResult == 2) {
|
|
let taskIdList = []
|
|
this.selectionList.map((item) => {
|
|
taskIdList.push(item.taskId)
|
|
})
|
|
let params = {
|
|
checkResult: '不通过',
|
|
taskIdList: taskIdList,
|
|
remark: this.form.remark,
|
|
}
|
|
addDetailsAuditApi(params)
|
|
.then((res) => {
|
|
// if (res.code == 200) {
|
|
this.$refs.form.resetFields()
|
|
this.openThree = false
|
|
this.openFour = false
|
|
this.getList()
|
|
// }
|
|
})
|
|
.catch(() => { })
|
|
}
|
|
} else {
|
|
return false
|
|
}
|
|
})
|
|
},
|
|
/** 导出按钮操作 */
|
|
handleExport() {
|
|
this.download(
|
|
'material/details/export',
|
|
{
|
|
...this.queryParams,
|
|
},
|
|
`试验检验单_${new Date().getTime()}.xlsx`,
|
|
)
|
|
},
|
|
},
|
|
}
|
|
</script>
|
|
<style lang="scss" scoped>
|
|
.submit_box {
|
|
display: flex;
|
|
justify-content: flex-start;
|
|
align-items: center;
|
|
|
|
.submit_box_title {
|
|
display: flex;
|
|
flex-direction: column;
|
|
margin-left: 15px;
|
|
|
|
:first-child {
|
|
font-size: 14px;
|
|
font-weight: 600;
|
|
}
|
|
|
|
:last-child {
|
|
margin-top: 6px;
|
|
font-size: 12px;
|
|
}
|
|
}
|
|
}
|
|
|
|
.submit_box_two {
|
|
display: flex;
|
|
flex-direction: row;
|
|
flex-wrap: nowrap;
|
|
align-items: center;
|
|
margin-left: 40%;
|
|
|
|
.submit_box_title {
|
|
display: flex;
|
|
flex-direction: column;
|
|
margin-left: 10px;
|
|
font-size: 18px;
|
|
font-weight: 600;
|
|
}
|
|
}
|
|
|
|
::v-deep.el-table .fixed-width .el-button--mini {
|
|
width: 70px !important;
|
|
margin-bottom: 6px;
|
|
}
|
|
|
|
.dialog-footer-btn {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: flex-end;
|
|
}
|
|
|
|
.submit_box_openFour {
|
|
display: flex;
|
|
justify-content: center;
|
|
align-content: center;
|
|
font-size: 18px;
|
|
}
|
|
</style>
|