LAPTOP-R6EHHS26\86155 2 years ago
commit b9404f8cb7

@ -26,12 +26,14 @@
/>
</el-form-item>
<el-form-item label="车间编码" prop="planWorkshop">
<el-input
v-model="queryParams.planWorkshop"
placeholder="请输入车间编码"
clearable
@keyup.enter.native="handleQuery"
<el-select v-model="queryParams.planWorkshop" placeholder="请选择车间" clearable>
<el-option
v-for="work in workCenterList"
:key="work.factoryCode"
:label="work.factoryName"
:value="work.factoryCode"
/>
</el-select>
</el-form-item>
<el-form-item v-if="false" label="产线" prop="planProdLine">
<el-input
@ -41,6 +43,16 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="工单状态" prop="orderStatus">
<el-select v-model="queryParams.planStatus" placeholder="请选择工单状态" clearable>
<el-option
v-for="dict in dict.type.device_order_status"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="循环周期" prop="planLoop">
<el-select v-model="queryParams.planLoopType" placeholder="请选择循环周期" clearable>
<el-option
@ -51,6 +63,14 @@
/>
</el-select>
</el-form-item>
<el-form-item v-if="false" label="循环周期" prop="planLoop">
<el-input
v-model="queryParams.planLoop"
placeholder="请输入循环周期"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item v-if="false" label="循环执行时间开始" prop="planLoopStart">
<el-date-picker clearable
v-model="queryParams.planLoopStart"
@ -83,14 +103,6 @@
placeholder="请选择实际结束时间">
</el-date-picker>
</el-form-item>
<el-form-item v-if="false" label="设备编码" prop="equipmentCode">
<el-input
v-model="queryParams.equipmentCode"
placeholder="请输入设备编码"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item v-if="false" label="工单费用" prop="orderCost">
<el-input
v-model="queryParams.orderCost"
@ -99,14 +111,6 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="巡检人" prop="planPerson">
<el-input
v-model="queryParams.planPerson"
placeholder="请输入巡检人"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item v-if="false" label="工单用时" prop="orderCostTime">
<el-input
v-model="queryParams.orderCostTime"
@ -163,7 +167,7 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="创建人" prop="createBy">
<el-form-item v-if="false" label="创建人" prop="createBy">
<el-input
v-model="queryParams.createBy"
placeholder="请输入创建人"
@ -171,7 +175,7 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="创建时间" prop="createTime">
<el-form-item v-if="false" label="创建时间" prop="createTime">
<el-date-picker clearable
v-model="queryParams.createTime"
type="date"
@ -179,7 +183,7 @@
placeholder="请选择创建时间">
</el-date-picker>
</el-form-item>
<el-form-item label="更新人" prop="updateBy">
<el-form-item v-if="false" label="更新人" prop="updateBy">
<el-input
v-model="queryParams.updateBy"
placeholder="请输入更新人"
@ -187,7 +191,7 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="更新时间" prop="updateTime">
<el-form-item v-if="false" label="更新时间" prop="updateTime">
<el-date-picker clearable
v-model="queryParams.updateTime"
type="date"
@ -195,6 +199,74 @@
placeholder="请选择更新时间">
</el-date-picker>
</el-form-item>
<el-form-item label-width="100px" label="循环范围开始" prop="planLoopStart">
<el-date-picker
v-model="queryParams.loopStartArray"
type="daterange"
align="right"
unlink-panels
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
value-format="yyyy-MM-dd"
:picker-options="pickerOptions">
</el-date-picker>
</el-form-item>
<el-form-item label-width="100px" label="循环范围结束" prop="planLoopEnd">
<el-date-picker
v-model="queryParams.loopEndArray"
type="daterange"
align="right"
unlink-panels
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
value-format="yyyy-MM-dd"
:picker-options="pickerOptions">
</el-date-picker>
</el-form-item>
<el-form-item label-width="100px" label="执行开始时间" prop="orderStart">
<el-date-picker
v-model="queryParams.orderStartArray"
type="daterange"
align="right"
unlink-panels
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
value-format="yyyy-MM-dd"
:picker-options="pickerOptions">
</el-date-picker>
</el-form-item>
<el-form-item label-width="100px" label="执行结束时间" prop="orderEnd">
<el-date-picker
v-model="queryParams.orderEndArray"
type="daterange"
align="right"
unlink-panels
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
value-format="yyyy-MM-dd"
:picker-options="pickerOptions">
</el-date-picker>
</el-form-item>
<el-form-item label="点检人" prop="planPerson">
<el-input
v-model="queryParams.planPerson"
placeholder="请输入点检人"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="设备编码" prop="equipmentCode">
<el-input
v-model="queryParams.equipmentCode"
placeholder="请输入设备编码"
clearable
@keyup.enter.native="handleQuery"
/>
</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>
@ -253,50 +325,60 @@
<el-table v-loading="loading" :data="deviceOrderList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column v-if="false" label="主键" align="center" prop="orderId" />
<el-table-column v-if="false" label="计划id" align="center" prop="planId" />
<el-table-column width="150" label="计划编码" align="center" prop="planCode" />
<el-table-column v-if="false" label="计划类型" align="center" prop="planType" />
<el-table-column width="150" label="工单号" align="center" prop="orderCode"/>
<el-table-column width="150" label="巡检单号" align="center" prop="orderCode" fixed>
<template slot-scope="scope">
<el-button
type="text"
@click="showWork(scope.row)"
>{{ scope.row.orderCode }}</el-button
>
</template>
</el-table-column>
<el-table-column label="车间编码" align="center" prop="planWorkshop" />
<el-table-column width="150" label="车间" align="center" prop="workCenterName"/>
<el-table-column v-if="false" label="产线" align="center" prop="planProdLine" />
<el-table-column label="循环周期" align="center" prop="planLoop" />
<el-table-column width="100" label="循环周期类型" align="center" prop="planLoopType">
<el-table-column width="120" label="循环周期类型" align="center" prop="planLoopType" >
<template slot-scope="scope">
<dict-tag :options="dict.type.device_loop_type" :value="scope.row.planLoopType"/>
</template>
</el-table-column>
<el-table-column label="循环执行时间开始" align="center" prop="planLoopStart" width="180">
<el-table-column width="120" label="循环范围开始" align="center" prop="planLoopStart">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.planLoopStart, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="循环执行时间结束" align="center" prop="planLoopEnd" width="180">
<el-table-column width="120" label="循环范围结束" align="center" prop="planLoopEnd">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.planLoopEnd, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="实际开始时间" align="center" prop="orderStart" width="180">
<el-table-column width="120" label="执行开始时间" align="center" prop="orderStart">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.orderStart, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="实际结束时间" align="center" prop="orderEnd" width="180">
<el-table-column width="120" label="执行结束时间" align="center" prop="orderEnd">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.orderEnd, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="设备编码" align="center" prop="equipmentCode"/>
<el-table-column label="设备名称" align="center" prop="equipmentName"/>
<el-table-column width="100" label="设备编码" align="center" prop="equipmentCode" />
<el-table-column width="120" label="设备名称" align="center" prop="equipmentName" />
<el-table-column label="工单状态" align="center" prop="orderStatus" >
<template slot-scope="scope">
<dict-tag :options="dict.type.device_order_status" :value="scope.row.orderStatus"/>
</template>
</el-table-column>
<el-table-column v-if="false" label="工单费用" align="center" prop="orderCost" />
<el-table-column v-if="false" label="巡检人" align="center" prop="planPerson"/>
<el-table-column label="工单用时" align="center" prop="orderCostTime"/>
<el-table-column label="巡检人" align="center" prop="planPerson" />
<el-table-column v-if="false" label="工单用时" align="center" prop="orderCostTime" />
<el-table-column v-if="false" label="签字" align="center" prop="orderSignPerson" />
<el-table-column label="工厂" align="center" prop="factoryCode"/>
<el-table-column v-if="false" label="工厂" align="center" prop="factoryCode" />
<el-table-column v-if="false" label="备用字段1" align="center" prop="attr1" />
<el-table-column v-if="false" label="备用字段2" align="center" prop="attr2" />
<el-table-column v-if="false" label="备用字段3" align="center" prop="attr3" />
@ -320,17 +402,15 @@
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['device:deviceOrder:edit']"
>填写记录
</el-button>
v-hasPermi="['device:spotInspectionOrder:edit']"
>填写记录</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['device:deviceOrder:remove']"
>删除
</el-button>
v-hasPermi="['device:spotInspectionOrder:remove']"
>删除</el-button>
</template>
</el-table-column>
</el-table>
@ -359,73 +439,54 @@
</el-descriptions>
</el-tab-pane>
<el-tab-pane label="记录">
<!-- 设备 -->
<el-row>
<el-col :offset="9" :span="6">
<el-form-item label="设备名称:">
{{ this.form.equ.equipmentName }}
</el-form-item>
</el-col>
</el-row>
<div v-for="(detail,detailIndex) in form.equ.detailList" :key="detailIndex">
<!-- 检查项 -->
<el-row>
<el-col :span="6">
<el-form-item label="检查项:">
{{ detail.itemName }}
</el-form-item>
</el-col>
</el-row>
<div v-for="(standard,standardIndex) in detail.standardList" :key="standardIndex">
<div v-if="standard.standardType == 'qualitative' ">
<!-- 标准 -->
<el-row>
<el-col :span="6">
<el-form-item label="标准:">
{{ standard.standardName }}
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="是否达标:">
<el-radio v-model="standard.detailReach" label="0"></el-radio>
<el-radio v-model="standard.detailReach" label="1"></el-radio>
</el-form-item>
</el-col>
</el-row>
</div>
<div v-else>
<!-- 标准 -->
<el-row>
<el-col :span="5">
<el-form-item label="标准:">
{{ standard.standardName }}
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="上限:">
{{ standard.detailUpLimit }}
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="下限:">
{{ standard.detailDownLimit }}
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="单位:">
{{ standard.detailUnit }}
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="实际值:">
<el-input v-model="standard.actualValue" placeholder="请输入实际值"></el-input>
</el-form-item>
</el-col>
</el-row>
</div>
</div>
<el-divider></el-divider>
</div>
<el-table
:data="recordList"
border
style="width: 100%">
<el-table-column
prop="itemName"
label="检查项"
>
</el-table-column>
<el-table-column
prop="standardName"
label="标准名称"
>
</el-table-column>
<el-table-column
prop="detailReach"
label="是否达标">
<template slot-scope="scope">
<el-select v-model="scope.row.detailReach" placeholder="请选择">
<el-option
v-for="item in dict.type.device_reach_standard"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</template>
</el-table-column>
<el-table-column
prop="detailUpLimit"
label="上限">
</el-table-column>
<el-table-column
prop="detailDownLimit"
label="下限">
</el-table-column>
<el-table-column
prop="actualValue"
label="实际值">
<template slot-scope="scope">
<el-input v-if="scope.row.standardType == 'quantify' " size="small" v-model="scope.row.actualValue" @change="handleEdit(scope.$index,scope.row)"></el-input>
</template>
</el-table-column>
<el-table-column
prop="detailUnit"
label="单位">
</el-table-column>
</el-table>
</el-tab-pane>
<el-tab-pane label="工单信息修改">
<el-row>
@ -461,6 +522,87 @@
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
<!-- 巡检详情 -->
<el-dialog
title="巡检详情"
:visible.sync="workDetail"
width="900px"
>
<el-tabs type="border-card">
<el-tab-pane label="巡检信息">
<el-descriptions title="" border :column="2">
<el-descriptions-item label="计划编码">{{ workVO.order.planCode }}</el-descriptions-item>
<el-descriptions-item label="计划名称">{{ workVO.order.planName }}</el-descriptions-item>
<el-descriptions-item label="循环周期">{{ workVO.order.planLoop }}{{ workVO.order.planLoopType }}
</el-descriptions-item>
<el-descriptions-item label="工单编码">{{ workVO.order.orderCode }}</el-descriptions-item>
<el-descriptions-item label="车间编码">{{ workVO.order.planWorkshop }}</el-descriptions-item>
<el-descriptions-item label="循环开始时间">{{ workVO.order.planLoopStart }}</el-descriptions-item>
<el-descriptions-item label="循环结束时间">{{ workVO.order.planLoopEnd }}</el-descriptions-item>
<el-descriptions-item label="执行开始时间">{{ workVO.order.orderStart }}</el-descriptions-item>
<el-descriptions-item label="执行结束时间">{{ workVO.order.orderEnd }}</el-descriptions-item>
<el-descriptions-item label="巡检人">{{ workVO.order.planPerson }}</el-descriptions-item>
<el-descriptions-item label="报修单号">{{ workVO.order.repairCode }}</el-descriptions-item>
</el-descriptions>
</el-tab-pane>
<el-tab-pane label="设备信息">
<el-descriptions class="my-margin-top" title="" :column="2" border>
<el-descriptions-item label="设备编码">{{ workVO.equ.equipmentCode }}</el-descriptions-item>
<el-descriptions-item label="设备名称">{{ workVO.equ.equipmentName }}</el-descriptions-item>
<el-descriptions-item label="设备位置">{{ workVO.equ.equipmentLocation }}</el-descriptions-item>
<el-descriptions-item label="设备类型编码">{{ workVO.equ.equipmentTypeCode }}</el-descriptions-item>
<el-descriptions-item label="设备类型名称">{{ workVO.equ.equipmentTypeName }}</el-descriptions-item>
<el-descriptions-item label="所属工作中心编码">{{ workVO.equ.workshopCode }}</el-descriptions-item>
<el-descriptions-item label="所属工作中心名称">{{ workVO.equ.workshopName }}</el-descriptions-item>
</el-descriptions>
</el-tab-pane>
<el-tab-pane label="检查项信息">
<div v-for="(detail,index) in workVO.detailList" :key="index">
<el-divider content-position="left">{{ detail.itemName }}</el-divider>
<el-table
:data="detail.standardList"
border
style="width: 100%">
<el-table-column
prop="standardName"
label="标准名称"
width="180">
</el-table-column>
<el-table-column
prop="standardTypeName"
label="标准类型"
width="180">
</el-table-column>
<el-table-column
prop="detailReach"
label="是否达标">
</el-table-column>
<el-table-column
prop="actualValue"
label="实际值">
</el-table-column>
<el-table-column
prop="detailUpLimit"
label="上限">
</el-table-column>
<el-table-column
prop="detailDownLimit"
label="下限">
</el-table-column>
<el-table-column
prop="detailUnit"
label="单位">
</el-table-column>
</el-table>
</div>
</el-tab-pane>
</el-tabs>
<span slot="footer" class="dialog-footer">
<el-button @click="workDetail = false"> </el-button>
<el-button type="primary" @click="workDetail = false"> </el-button>
</span>
</el-dialog>
</div>
</template>
@ -472,12 +614,72 @@ import {
addDeviceOrder,
updateDeviceOrder
} from "@/api/device/deviceOrder";
import {getWorkCenter} from "@/api/device/plan";
import {getInspectionWork} from "@/api/device/inspectionWork";
export default {
name: "DeviceOrder",
dicts: ['device_order_status', 'device_loop_type'],
dicts: ['device_order_status', 'device_loop_type','device_reach_standard'],
data() {
return {
// VO
workVO: {
order: {
planCode: null,
planName: null,
planLoop: null,
planLoopType: null,
orderCode: null,
planWorkShop: null,
planLoopStart: null,
planLoopEnd: null,
orderStart: null,
orderEnd: null,
planPerson: null,
}, equ: {
equipmentCode: null,
equipmentName: null,
equipmentLocation: null,
equipmentTypeCode: null,
equipmentTypeName: null,
workshopCode: null,
workshopName: null,
}, detailList: []
},
//
workDetail: false,
//
pickerOptions: {
shortcuts: [{
text: '最近一周',
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
picker.$emit('pick', [start, end]);
}
}, {
text: '最近一个月',
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
picker.$emit('pick', [start, end]);
}
}, {
text: '最近三个月',
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
picker.$emit('pick', [start, end]);
}
}]
},
//
workCenterList:[],
//
recordList: [],
//
loading: true,
//
@ -526,7 +728,11 @@ export default {
createBy: null,
createTime: null,
updateBy: null,
updateTime: null
updateTime: null,
loopStartArray: [],
orderStartArray: [],
orderEndArray: [],
loopEndArray: [],
},
//
form: {
@ -537,9 +743,26 @@ export default {
};
},
created() {
this.setWorkCenter();
this.getList();
},
methods: {
//
showWork(row) {
this.reset();
const orderId = row.orderId || this.ids
getInspectionWork(orderId).then(response => {
this.workVO = response.data;
this.workDetail = true;
});
},
//
setWorkCenter() {
getWorkCenter().then(response => {
this.workCenterList = response.data;
})
},
/** 查询计划工单列表 */
getList() {
this.loading = true;
@ -586,6 +809,10 @@ export default {
updateBy: null,
updateTime: null,
equ: {equipmentName: null},
loopStartArray: [],
orderStartArray: [],
orderEndArray: [],
loopEndArray: []
};
this.resetForm("form");
},
@ -596,6 +823,10 @@ export default {
},
/** 重置按钮操作 */
resetQuery() {
this.queryParams.loopStartArray = [];
this.queryParams.orderStartArray = [];
this.queryParams.orderEndArray = [];
this.queryParams.loopEndArray = [];
this.resetForm("queryForm");
this.handleQuery();
},
@ -614,11 +845,16 @@ export default {
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
this.recordList = [];
const orderCode = row.orderCode || this.ids
getDeviceOrder(orderCode).then(response => {
this.form = response.data;
console.log("这里是回显信息")
console.log(response.data)
for (let i = 0; i < this.form.detailList.length; i++) {
for (let j = 0; j < this.form.detailList[i].standardList.length; j++) {
this.form.detailList[i].standardList[j].itemName = this.form.detailList[i].itemName;
this.recordList.push(this.form.detailList[i].standardList[j]);
}
}
this.open = true;
this.title = "填写记录";
});
@ -628,7 +864,6 @@ export default {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.orderId != null) {
console.log(this.form)
updateDeviceOrder(this.form).then(response => {
this.$modal.msgSuccess("提交成功");
this.open = false;

@ -54,9 +54,9 @@
></el-option>
</el-select>
</el-form-item>
<el-form-item label="报修人编号" prop="orderRepairman">
<el-form-item label="报修人编号" prop="orderRepairmanCode">
<el-input
v-model="queryParams.orderRepairman"
v-model="queryParams.orderRepairmanCode"
placeholder="请输入报修人编号"
style="width: 200px"
clearable
@ -171,6 +171,15 @@
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" width="55" align="center" />
<!-- 序号 -->
<el-table-column
type="index"
width="90"
align="center"
:index="indexMethod"
label="序号"
fixed
/>
<el-table-column
label="报修单号"
align="center"
@ -308,163 +317,67 @@
>
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
<el-tabs type="border-card">
<el-tab-pane label="查看报修信息">
<el-row :gutter="10" class="mb8">
<el-col :span="8">
<el-form-item label="设备编码" prop="equipmentCode">
<el-input
v-model="form.equipmentCode"
disabled
style="width: 195px"
>
</el-input>
<ItemSelect
ref="itemSelect"
@onSelected="onItemSelectedEquipment"
>
</ItemSelect>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="设备名称" prop="equipmentName">
<el-input
v-model="form.equipmentName"
disabled
style="width: 195px"
>
</el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="设备类型" prop="equipmentTypeName">
<el-input
v-model="form.equipmentTypeName"
disabled
style="width: 195px"
>
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10" class="mb8">
<el-col :span="8">
<el-form-item label="规格型号" prop="equipmentSpec">
<el-input
v-model="form.equipmentSpec"
disabled
style="width: 195px"
>
</el-input>
<ItemSelect
ref="itemSelect"
@onSelected="onItemSelectedEquipment"
>
</ItemSelect>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="所在部门" prop="department">
<el-input
v-model="form.department"
disabled
style="width: 195px"
>
</el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="所在位置" prop="equipmentLocation">
<el-input
v-model="form.equipmentLocation"
disabled
style="width: 195px"
>
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10" class="mb8">
<el-col :span="8">
<el-form-item label="故障时间" prop="orderBreakdownTime">
<el-date-picker
clearable
v-model="form.orderBreakdownTime"
type="datetime"
placeholder="选择日期时间"
disabled
style="width: 195px"
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="报修来源" prop="orderSource">
<el-select
v-model="form.orderSource"
style="width: 195px"
disabled
>
<el-option
v-for="dict in dict.type.device_order_source"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="报修时间" prop="orderTime">
<el-date-picker
clearable
v-model="form.orderTime"
type="datetime"
disabled
style="width: 195px"
placeholder="报修时间"
>
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10" class="mb8">
<el-col :span="8">
<el-form-item label="报修人编号" prop="orderRepairmanCode">
<el-input
v-model="form.orderRepairmanCode"
placeholder="请输入报修人编号"
disabled
style="width: 195px"
<el-tab-pane label="基本信息">
<el-descriptions :column="3" border>
<el-descriptions-item label="设备编码">{{
form.equipmentCode
}}</el-descriptions-item>
<el-descriptions-item label="故障时间">{{
form.orderBreakdownTime
}}</el-descriptions-item>
<el-descriptions-item label="报修来源">{{
form.orderSource
}}</el-descriptions-item>
<el-descriptions-item label="报修时间">{{
form.orderTime
}}</el-descriptions-item>
<el-descriptions-item label="报修人名字">{{
form.orderRepairmanName
}}</el-descriptions-item>
<el-descriptions-item label="联系方式">{{
form.orderConnection
}}</el-descriptions-item>
<el-descriptions-item label="故障描述">{{
form.orderDesc
}}</el-descriptions-item>
</el-descriptions>
<el-descriptions :column="1" border>
<el-descriptions-item label="故障图片">
<el-image
v-for="(item, index) in urlLists"
:key="index"
:src="item"
></el-image
></el-descriptions-item>
</el-descriptions>
</el-tab-pane>
<el-tab-pane label="检查项信息">
<el-table :data="checkList" border style="width: 100%">
<el-table-column prop="itemName" label="检查项名称" width="200">
</el-table-column>
<el-table-column prop="itemMethod" label="检查项方法" width="200">
</el-table-column>
<el-table-column prop="standardName" label="标准名称" width="180">
</el-table-column>
<el-table-column prop="standardType" label="标准类型" width="100">
</el-table-column>
<el-table-column prop="detailReach" label="是否达标" width="50">
<template slot-scope="scope">
<dict-tag
:options="dict.type.device_reach_standard"
:value="scope.row.detailReach"
/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="联系方式" prop="orderConnection">
<el-input
v-model="form.orderConnection"
placeholder="请输入联系方式"
disabled
style="width: 195px"
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-form-item label="故障描述" prop="orderDesc">
<el-input
v-model="form.orderDesc"
placeholder="请输入故障描述"
type="textarea"
:autosize="{ minRows: 2, maxRows: 4 }"
disabled
/>
</el-form-item>
</el-row>
<el-form-item label="故障图片" prop="orderPicture">
<FileUpload v-model="form.fileList" />
</el-form-item>
</template>
</el-table-column>
<el-table-column prop="actualValue" label="实际值" width="50">
</el-table-column>
<el-table-column prop="detailUpLimit" label="上限" width="50">
</el-table-column>
<el-table-column prop="detailDownLimit" label="下限" width="50">
</el-table-column>
<el-table-column prop="detailUnit" label="单位" width="45">
</el-table-column>
</el-table>
</el-tab-pane>
<el-tab-pane label="审核">
<el-row>
@ -474,7 +387,7 @@
<el-radio label="计划性维修">计划性维修</el-radio>
<el-radio label="不维修">不维修</el-radio>
<el-radio label="委外维修">委外维修</el-radio>
<el-radio label="立即维修" @click="timeBackFilling"
<el-radio label="立即维修" @click.native="timeBackFilling"
>立即维修</el-radio
>
</el-radio-group>
@ -484,10 +397,21 @@
<el-row>
<el-col :span="8" v-if="form.repairDestination == '计划性维修'">
<el-form-item prop="workTeam" label="维修组">
<el-input
<el-select
v-model="form.workTeam"
placeholder="请选择维修组"
/>
@change="$forceUpdate()"
clearable
filterable
style="width: 200px"
>
<el-option
v-for="item in teamOption"
:key="item.teamCode"
:label="item.teamName"
:value="item.teamCode"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8" v-if="form.repairDestination == '计划性维修'">
@ -552,10 +476,21 @@
<el-row>
<el-col :span="8" v-if="form.repairDestination == '立即维修'">
<el-form-item prop="workTeam" label="维修组">
<el-input
<el-select
v-model="form.workTeam"
placeholder="请选择维修组"
/>
@change="$forceUpdate()"
clearable
filterable
style="width: 200px"
>
<el-option
v-for="item in teamOption"
:key="item.teamCode"
:label="item.teamName"
:value="item.teamCode"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8" v-if="form.repairDestination == '立即维修'">
@ -564,7 +499,7 @@
clearable
v-model="form.workPlanTime"
type="datetime"
placeholder=""
disabled
>
</el-date-picker>
</el-form-item>
@ -670,330 +605,170 @@
append-to-body
>
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
<el-row :gutter="10" class="mb8">
<el-col :span="8">
<el-form-item label="设备编码" prop="equipmentCode">
<el-input
v-model="form.equipmentCode"
disabled
style="width: 195px"
>
</el-input>
<ItemSelect
ref="itemSelect"
@onSelected="onItemSelectedEquipment"
>
</ItemSelect>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="设备名称" prop="equipmentName">
<el-input
v-model="form.equipmentName"
disabled
style="width: 195px"
>
</el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="设备类型" prop="equipmentTypeName">
<el-input
v-model="form.equipmentTypeName"
disabled
style="width: 195px"
>
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-tabs type="border-card">
<el-tab-pane label="基本信息">
<el-descriptions :column="3" border>
<el-descriptions-item label="设备编码">{{
form.equipmentCode
}}</el-descriptions-item>
<el-descriptions-item label="设备名称">{{
form.equipmentName
}}</el-descriptions-item>
<el-descriptions-item label="设备类型">{{
form.equipmentTypeName
}}</el-descriptions-item>
<el-descriptions-item label="规格型号">{{
form.equipmentSpec
}}</el-descriptions-item>
<el-descriptions-item label="所在部门">{{
form.department
}}</el-descriptions-item>
<el-descriptions-item label="所在位置">{{
form.equipmentLocation
}}</el-descriptions-item>
<el-descriptions-item label="故障时间">{{
form.orderBreakdownTime
}}</el-descriptions-item>
<el-descriptions-item label="报修来源">{{
form.orderSource
}}</el-descriptions-item>
<el-descriptions-item label="报修时间">{{
form.orderTime
}}</el-descriptions-item>
<el-descriptions-item label="报修人名字">{{
form.orderRepairmanName
}}</el-descriptions-item>
<el-descriptions-item label="联系方式">{{
form.orderConnection
}}</el-descriptions-item>
<el-descriptions-item label="故障描述">{{
form.orderDesc
}}</el-descriptions-item>
</el-descriptions>
<el-descriptions :column="1" border>
<el-descriptions-item label="故障图片">
<el-image
v-for="(item, index) in urlLists"
:key="index"
:src="item"
></el-image
></el-descriptions-item>
</el-descriptions>
</el-tab-pane>
<el-row :gutter="10" class="mb8">
<el-col :span="8">
<el-form-item label="规格型号" prop="equipmentSpec">
<el-input
v-model="form.equipmentSpec"
disabled
style="width: 195px"
<el-tab-pane label="报修审核结果">
<el-descriptions
:column="2"
border
v-if="form.repairDestination == '计划性维修'"
>
</el-input>
<ItemSelect
ref="itemSelect"
@onSelected="onItemSelectedEquipment"
>
</ItemSelect>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="所在部门" prop="department">
<el-input v-model="form.department" disabled style="width: 195px">
</el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="所在位置" prop="equipmentLocation">
<el-input
v-model="form.equipmentLocation"
disabled
style="width: 195px"
>
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-descriptions-item label="报修去向">{{
form.repairDestination
}}</el-descriptions-item>
<el-descriptions-item label="维修组">{{
form.workTeam
}}</el-descriptions-item>
<el-descriptions-item label="计划维修时间">{{
form.workPlanTime
}}</el-descriptions-item>
<el-descriptions-item label="是否停机维修">{{
form.workDownMachine ? "是" : "否"
}}</el-descriptions-item>
<el-descriptions-item label="计划停机时间">{{
form.workPlanDownTime
}}</el-descriptions-item>
</el-descriptions>
<el-row :gutter="10" class="mb8">
<el-col :span="8">
<el-form-item label="故障时间" prop="orderBreakdownTime">
<el-date-picker
clearable
v-model="form.orderBreakdownTime"
type="datetime"
placeholder="选择日期时间"
disabled
style="width: 195px"
<el-descriptions
:column="2"
border
v-if="form.repairDestination == '立即维修'"
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="报修来源" prop="orderSource">
<el-select
v-model="form.orderSource"
style="width: 195px"
disabled
<el-descriptions-item label="报修去向">{{
form.repairDestination
}}</el-descriptions-item>
<el-descriptions-item label="维修组">{{
form.workTeam
}}</el-descriptions-item>
<el-descriptions-item label="计划维修时间">{{
form.workPlanTime
}}</el-descriptions-item>
<el-descriptions-item label="是否停机维修">{{
form.workDownMachine ? "是" : "否"
}}</el-descriptions-item>
<el-descriptions-item label="计划停机时间">{{
form.workPlanDownTime
}}</el-descriptions-item>
</el-descriptions>
<el-descriptions
:column="1"
border
v-if="form.repairDestination == '不维修'"
>
<el-option
v-for="dict in dict.type.device_order_source"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="报修时间" prop="orderTime">
<el-date-picker
clearable
v-model="form.orderTime"
type="datetime"
disabled
style="width: 195px"
placeholder="报修时间"
<el-descriptions-item label="报修去向">{{
form.repairDestination
}}</el-descriptions-item>
</el-descriptions>
<el-descriptions
:column="2"
border
v-if="form.repairDestination == '委外维修'"
>
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10" class="mb8">
<el-col :span="8">
<el-form-item label="报修人编号" prop="orderRepairmanCode">
<el-input
v-model="form.orderRepairmanCode"
placeholder="请输入报修人编号"
disabled
style="width: 195px"
<el-descriptions-item label="报修去向">{{
form.repairDestination
}}</el-descriptions-item>
<el-descriptions-item label="委外单位">{{
form.workOutsourcingUnit
}}</el-descriptions-item>
<el-descriptions-item label="委外人员">{{
form.outSourcePerson
}}</el-descriptions-item>
<el-descriptions-item label="委外联系方式">{{
form.workConnection
}}</el-descriptions-item>
</el-descriptions>
<el-descriptions
:column="2"
border
v-if="form.repairDestination == '委外维修'"
>
<el-descriptions-item label="委外原因">{{
form.outSourceReason
}}</el-descriptions-item>
</el-descriptions>
</el-tab-pane>
<el-tab-pane label="检查项信息">
<el-table :data="checkList" border style="width: 100%">
<el-table-column prop="itemName" label="检查项名称" width="200">
</el-table-column>
<el-table-column prop="itemMethod" label="检查项方法" width="200">
</el-table-column>
<el-table-column prop="standardName" label="标准名称" width="180">
</el-table-column>
<el-table-column prop="standardType" label="标准类型" width="100">
</el-table-column>
<el-table-column prop="detailReach" label="是否达标" width="50">
<template slot-scope="scope">
<dict-tag
:options="dict.type.device_reach_standard"
:value="scope.row.detailReach"
/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="联系方式" prop="orderConnection">
<el-input
v-model="form.orderConnection"
placeholder="请输入联系方式"
disabled
style="width: 195px"
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-form-item label="故障描述" prop="orderDesc">
<el-input
v-model="form.orderDesc"
placeholder="请输入故障描述"
type="textarea"
:autosize="{ minRows: 2, maxRows: 4 }"
disabled
/>
</el-form-item>
</el-row>
<el-form-item label="故障图片" prop="orderPicture">
<el-input v-model="form.orderPicture" placeholder="请输入故障图片" />
</el-form-item>
<el-divider>报修信息审核</el-divider>
<el-row>
<el-col :span="24">
<el-form-item label="报修去向" prop="repairDestination">
<el-radio-group v-model="form.repairDestination">
<el-radio label="计划性维修">计划性维修</el-radio>
<el-radio label="不维修">不维修</el-radio>
<el-radio label="委外维修">委外维修</el-radio>
<el-radio label="立即维修" @click="timeBackFilling"
>立即维修</el-radio
>
</el-radio-group>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8" v-if="form.repairDestination == '计划性维修'">
<el-form-item prop="workTeam" label="维修组">
<el-input v-model="form.workTeam" disabled />
</el-form-item>
</el-col>
<el-col :span="8" v-if="form.repairDestination == '计划性维修'">
<el-form-item prop="workPlanTime" label="计划维修时间">
<el-date-picker
clearable
v-model="form.workPlanTime"
type="datetime"
value-format="yyyy-MM-dd HH:mm:ss"
disabled
>
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8" v-if="form.repairDestination == '计划性维修'">
<el-form-item label="是否停机维修" prop="workDownMachine">
<el-radio-group v-model="form.workDownMachine">
<el-radio label="1"></el-radio>
<el-radio label="0"></el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col
:span="8"
v-if="
form.repairDestination == '计划性维修' &&
form.workDownMachine == '1'
"
>
<el-form-item prop="workPlanDownTime" label="计划停机时间">
<el-date-picker
clearable
v-model="form.workPlanDownTime"
type="datetime"
value-format="yyyy-MM-dd HH:mm:ss"
disabled
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col
:span="8"
v-if="
form.repairDestination == '计划性维修' &&
form.workDownMachine == '0'
"
>
<el-form-item prop="workPlanDownTime" label="计划停机时间">
<el-date-picker
clearable
v-model="form.workPlanDownTime"
type="datetime"
value-format="yyyy-MM-dd HH:mm:ss"
disabled
>
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8" v-if="form.repairDestination == '立即维修'">
<el-form-item prop="workTeam" label="维修组">
<el-input v-model="form.workTeam" disabled />
</el-form-item>
</el-col>
<el-col :span="8" v-if="form.repairDestination == '立即维修'">
<el-form-item prop="workPlanTime" label="计划维修时间">
<el-date-picker
clearable
v-model="form.workPlanTime"
type="datetime"
disabled
>
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8" v-if="form.repairDestination == '立即维修'">
<el-form-item label="是否停机维修" prop="workDownMachine">
<el-radio-group v-model="form.workDownMachine">
<el-radio label="1"></el-radio>
<el-radio label="0"></el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col
:span="8"
v-if="
form.repairDestination == '立即维修' &&
form.workDownMachine == '1'
"
>
<el-form-item prop="workPlanDownTime" label="计划停机时间">
<el-date-picker
clearable
v-model="form.workPlanDownTime"
type="datetime"
value-format="yyyy-MM-dd HH:mm:ss"
disabled
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col
:span="8"
v-if="
form.repairDestination == '立即维修' &&
form.workDownMachine == '0'
"
>
<el-form-item prop="workPlanDownTime" label="计划停机时间">
<el-date-picker
clearable
v-model="form.workPlanDownTime"
type="datetime"
disabled
>
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8" v-if="form.repairDestination == '委外维修'">
<el-form-item prop="workOutsourcingUnit" label="委外单位">
<el-input v-model="form.workOutsourcingUnit" disabled />
</el-form-item>
</el-col>
<el-col :span="8" v-if="form.repairDestination == '委外维修'">
<el-form-item prop="outSourcePerson" label="委外维修人员">
<el-input v-model="form.outSourcePerson" disabled />
</el-form-item>
</el-col>
<el-col :span="8" v-if="form.repairDestination == '委外维修'">
<el-form-item prop="workConnection" label="联系方式">
<el-input v-model="form.workConnection" disabled />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24" v-if="form.repairDestination == '委外维修'">
<el-form-item prop="outSourceReason" label="委外原因">
<el-input
v-model="form.outSourceReason"
disabled
type="textarea"
:autosize="{ minRows: 2, maxRows: 4 }"
/>
</el-form-item>
</el-col>
</el-row>
</template>
</el-table-column>
<el-table-column prop="actualValue" label="实际值" width="50">
</el-table-column>
<el-table-column prop="detailUpLimit" label="上限" width="50">
</el-table-column>
<el-table-column prop="detailDownLimit" label="下限" width="50">
</el-table-column>
<el-table-column prop="detailUnit" label="单位" width="45">
</el-table-column>
</el-table>
</el-tab-pane>
</el-tabs>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="cancelCheckForm"> </el-button>
@ -1168,26 +943,31 @@
</el-descriptions>
<el-descriptions :column="1" border>
<el-descriptions-item label="故障图片">
<el-image v-for="(item, index) in urlLists" :key="index":src="item"></el-image></el-descriptions-item>
<el-image
v-for="(item, index) in urlLists"
:key="index"
:src="item"
></el-image
></el-descriptions-item>
</el-descriptions>
</el-tab-pane>
<el-tab-pane label="检查项信息">
<el-table :data="checkList" border style="width: 100%">
<el-table-column prop="itemName" label="检查项名称" width="150">
<el-table-column prop="itemName" label="检查项名称" width="200">
</el-table-column>
<el-table-column
prop="standardName"
label="标准名称"
width="180"
>
<el-table-column prop="itemMethod" label="检查项方法" width="200">
</el-table-column>
<el-table-column
prop="standardType"
label="标准类型"
width="100"
>
<el-table-column prop="standardName" label="标准名称" width="180">
</el-table-column>
<el-table-column prop="standardType" label="标准类型" width="100">
</el-table-column>
<el-table-column prop="detailReach" label="是否达标" width="50">
<template slot-scope="scope">
<dict-tag
:options="dict.type.device_reach_standard"
:value="scope.row.detailReach"
/>
</template>
</el-table-column>
<el-table-column prop="actualValue" label="实际值" width="50">
</el-table-column>
@ -1195,17 +975,14 @@
</el-table-column>
<el-table-column prop="detailDownLimit" label="下限" width="50">
</el-table-column>
<el-table-column prop="detailUnit" label="单位" width="50">
</el-table-column>
<el-table-column prop="detailUnit" label="故障图片">
<el-table-column prop="detailUnit" label="单位" width="45">
</el-table-column>
</el-table>
</el-tab-pane>
</el-tabs>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="cancel"> </el-button>
<el-button @click="cancelView"> </el-button>
</div>
</el-dialog>
</div>
@ -1224,13 +1001,16 @@ import {
import ItemSelect from "./selectSingleEquipment.vue";
import ItemSelectPerson from "./selectSinglePerson.vue";
import { Message } from "element-ui";
import { getMaintenanceTeamList } from "@/api/device/equTeam";
export default {
name: "FaultReport",
components: { ItemSelect, ItemSelectPerson },
dicts: ["device_order_source"],
dicts: ["device_order_source", "device_reach_standard"],
data() {
return {
//
teamOption: [],
//
fileList: [],
//
@ -1363,9 +1143,6 @@ export default {
orderTime: [
{ required: true, message: "报修时间不能为空", trigger: "blur" },
],
orderRepairmanCode: [
{ required: true, message: "报修人编号不能为空", trigger: "blur" },
],
orderDesc: [
{ required: true, message: "故障描述不能为空", trigger: "blur" },
],
@ -1379,9 +1156,37 @@ export default {
this.getList();
},
methods: {
//
indexMethod(index) {
return index + 1;
},
timeBackFilling() {
this.form.workPlanTime = new Date();
log("时间时间", new Date());
var getTime = new Date().getTime(); //
var time = new Date(getTime); //
function nowDate(time) {
var year = time.getFullYear(); //
var month = (time.getMonth() + 1).toString().padStart(2, "0"); //
var date = time.getDate().toString().padStart(2, "0"); //
var hour = time.getHours().toString().padStart(2, "0"); //
var minute = time.getMinutes().toString().padStart(2, "0"); //
var second = time.getSeconds().toString().padStart(2, "0"); //
return (
year +
"-" +
month +
"-" +
date +
" " +
hour +
":" +
minute +
":" +
second
);
}
console.log(time);
console.log(nowDate(time));
this.form.workPlanTime = nowDate(time);
},
//
handleSelectEquipment() {
@ -1393,7 +1198,6 @@ export default {
},
//
onItemSelectedPerson(obj) {
console.log("接收参数", obj);
this.form.orderRepairmanCode = obj[0].userName;
this.form.orderRepairmanName = obj[0].nickName;
},
@ -1415,6 +1219,10 @@ export default {
this.open = false;
this.reset();
},
//
cancelView() {
this.openView = false;
},
//
cancelCheckForm() {
this.viewCheck = false;
@ -1454,6 +1262,8 @@ export default {
},
/** 重置按钮操作 */
resetQuery() {
this.queryParams.orderBreakdownTimeArray = null;
this.queryParams.orderTimeArray = null;
this.resetForm("queryForm");
this.handleQuery();
},
@ -1510,7 +1320,7 @@ export default {
urlLists.push(item.url);
});
this.urlLists = urlLists;
console.log("2222222222",this.urlLists)
console.log("2222222222", this.urlLists);
}
this.checkList = response.data.checkList;
//
@ -1520,6 +1330,7 @@ export default {
item1.standardList.forEach((item) => {
var standard = {};
standard.itemName = item1.itemName;
standard.itemMethod = item1.itemMethod;
standard.standardName = item.standardName;
standard.detailUpLimit = item.detailUpLimit;
standard.detailDownLimit = item.detailDownLimit;
@ -1540,6 +1351,10 @@ export default {
handleCheck(row) {
this.reset();
const orderId = row.orderId || this.ids;
getMaintenanceTeamList(this.queryParams).then((response) => {
console.log(response.rows);
this.teamOption = response.rows;
});
getFaultReport(orderId).then((response) => {
if (response.data.files != null) {
var newFiles = [];

@ -1,8 +1,9 @@
<template>
<el-dialog title="设备选择"
<el-dialog
title="设备选择"
v-if="showFlag"
:visible.sync="showFlag"
:modal= false
:modal="false"
width="1100px"
center
:before-close="cancelEquipmentForm"
@ -29,7 +30,14 @@
<!--设备数据-->
<el-col :span="19" :xs="24">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form
:model="queryParams"
ref="queryForm"
size="small"
:inline="true"
v-show="showSearch"
label-width="68px"
>
<el-form-item label="设备编码" prop="itemCode">
<el-input
v-model="queryParams.itemCode"
@ -49,23 +57,61 @@
/>
</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>
<el-table v-loading="loading" :data="itemList" @selection-change="handleEquipmentSelectionChange" ref="myTable">
<el-table
v-loading="loading"
:data="itemList"
@selection-change="handleEquipmentSelectionChange"
ref="myTable"
>
<el-table-column width="50" align="center" type="selection">
<!-- <template v-slot="scope">
<el-radio v-model="selectedItemId" :label="scope.row.itemId" @change="handleRowChange(scope.row)">{{""}}</el-radio>
</template> -->
</el-table-column>
<!-- 序号 -->
<el-table-column type="index" width="90" align="center" :index="indexMethod" label="序号"></el-table-column>
<el-table-column label="设备编码" align="center" key="itemCode" prop="equipmentCode" v-if="columns[0].visible" >
<el-table-column
type="index"
width="90"
align="center"
:index="indexMethod"
label="序号"
></el-table-column>
<el-table-column
label="设备编码"
align="center"
key="itemCode"
prop="equipmentCode"
v-if="columns[0].visible"
>
</el-table-column>
<el-table-column label="设备类型编码" align="center" key="itemTypeCode" prop="equipmentTypeCode" v-if="columns[2].visible" >
<el-table-column
label="设备类型编码"
align="center"
key="itemTypeCode"
prop="equipmentTypeCode"
v-if="columns[2].visible"
>
</el-table-column>
<el-table-column label="设备名称" align="left" key="itemName" prop="equipmentName" v-if="columns[1].visible" :show-overflow-tooltip="true" />
<el-table-column
label="设备名称"
align="left"
key="itemName"
prop="equipmentName"
v-if="columns[1].visible"
:show-overflow-tooltip="true"
/>
</el-table>
<pagination
@ -85,9 +131,12 @@
</template>
<script>
import { getEquipmentList,getEquipmentTypeList} from "@/api/device/faultReport";
import {
getEquipmentList,
getEquipmentTypeList,
} from "@/api/device/faultReport";
import { treeselect } from "@/api/wms/equipment";
import { Message } from 'element-ui'
import { Message } from "element-ui";
export default {
name: "MdItemSingle",
@ -117,18 +166,20 @@ export default {
queryParams: {
pageNum: 1,
pageSize: 10,
itemName: undefined,
equipmentTypeCode: undefined,
itemName: null,
equipmentTypeCode: null,
itemTypeId: 0,
itemCodeGet: '',
itemCode : undefined,
itemCodeGet: "",
itemCode: null,
equipmentCode: null,
equipmentName: null,
},
//
columns: [
{ key: 0, label: `设备编码`, visible: true },
{ key: 1, label: `设备名称`, visible: true },
{ key: 2, label: `设备类型`, visible: true },
]
],
};
},
created() {
@ -148,7 +199,7 @@ export default {
},
handleEquipmentSelectionChange(val) {
this.itemList = val
this.itemList = val;
},
//
@ -159,17 +210,18 @@ export default {
/** 查询设备编码列表*/
getList() {
this.loading = true;
getEquipmentList(this.queryParams).then(response => {
this.queryParams.equipmentCode = this.queryParams.itemCode;
this.queryParams.equipmentName = this.queryParams.itemName;
getEquipmentList(this.queryParams).then((response) => {
this.itemList = response.rows;
this.total = response.total;
this.loading = false;
}
);
});
},
/** 查询分类下拉树结构 */
getEquipmentType() {
getEquipmentTypeList().then(response => {
getEquipmentTypeList().then((response) => {
console.log(response.rows);
this.treeData1 = response.rows;
console.log(this.treeData1);
@ -185,7 +237,7 @@ export default {
//
handleNodeClick(data) {
console.log('id',data.id);
console.log("id", data.id);
this.queryParams.equipmentTypeCode = data.equipmentTypeCode;
console.log(this.equipmentTypeCode);
this.handleQuery();
@ -204,10 +256,9 @@ export default {
this.handleQuery();
},
//
handleEquipmentSelectionChange(selection) {
this.ids = selection.map(item => item.equipmentCode);
this.ids = selection.map((item) => item.equipmentCode);
this.single = selection.length !== 1;
this.multiple = !selection.length;
console.log("多选框", this.ids);
@ -222,13 +273,14 @@ export default {
if (this.queryParams.itemCodeGet == "") {
this.queryParams.itemCodeGet = equipmentCode;
} else {
this.queryParams.itemCodeGet = this.queryParams.itemCodeGet + ','+ equipmentCode;
this.queryParams.itemCodeGet =
this.queryParams.itemCodeGet + "," + equipmentCode;
}
this.selectedRows = this.queryParams.itemCodeGet;
this.$emit('onSelected', this.selectedRows);
this.$emit("onSelected", this.selectedRows);
this.queryParams.equipmentTypeCode = null;
this.getList();
console.log('111111',this.queryParams.equipmentTypeCode);
console.log("111111", this.queryParams.equipmentTypeCode);
this.showFlag = false;
this.queryParams.itemCodeGet = "";
}
@ -237,10 +289,9 @@ export default {
cancelEquipmentForm() {
this.queryParams.equipmentTypeCode = null;
this.getList();
console.log('111111',this.queryParams.equipmentTypeCode);
console.log("111111", this.queryParams.equipmentTypeCode);
this.showFlag = false;
}
}
},
},
};
</script>

@ -1,8 +1,9 @@
<template>
<el-dialog title="人员选择"
<el-dialog
title="人员选择"
v-if="showFlag"
:visible.sync="showFlag"
:modal= false
:modal="false"
width="800px"
center
:before-close="cancel"
@ -10,7 +11,14 @@
<el-row :gutter="20">
<!--人员数据-->
<el-col :span="24">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form
:model="queryParams"
ref="queryForm"
size="small"
:inline="true"
v-show="showSearch"
label-width="68px"
>
<el-form-item label="人员编码" prop="itemCode">
<el-input
v-model="queryParams.itemCode"
@ -30,17 +38,53 @@
/>
</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>
<el-table v-loading="loading" :data="itemList" @selection-change="handleSelectionChange" ref="multipleTable">
<el-table-column width="50" align="center" type="selection"></el-table-column>
<el-table
v-loading="loading"
:data="itemList"
@selection-change="handleSelectionChange"
ref="multipleTable"
>
<el-table-column
width="50"
align="center"
type="selection"
></el-table-column>
<!-- 序号 -->
<el-table-column type="index" width="90" align="center" :index="indexMethod" label="序号"></el-table-column>
<el-table-column label="人员编码" align="center" key="itemCode" prop="userName" v-if="columns[0].visible" >
<el-table-column
type="index"
width="90"
align="center"
:index="indexMethod"
label="序号"
></el-table-column>
<el-table-column
label="人员编码"
align="center"
key="itemCode"
prop="userName"
v-if="columns[0].visible"
>
</el-table-column>
<el-table-column label="人员名称" align="left" key="itemName" prop="nickName" v-if="columns[1].visible" :show-overflow-tooltip="true" />
<el-table-column
label="人员名称"
align="left"
key="itemName"
prop="nickName"
v-if="columns[1].visible"
:show-overflow-tooltip="true"
/>
</el-table>
<pagination
@ -53,15 +97,17 @@
</el-col>
</el-row>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm" :disabled="multiple"> </el-button>
<el-button @click="cancel"> </el-button>
<el-button type="primary" @click="submitForm" :disabled="multiple"
> </el-button
>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</template>
<script>
import { getRepairPersonList } from "@/api/device/faultReport";
import { Message } from 'element-ui'
import { Message } from "element-ui";
export default {
name: "MdItemSingle",
@ -86,15 +132,17 @@ export default {
queryParams: {
pageNum: 1,
pageSize: 10,
itemName: undefined,
itemCodeGet: '',
itemCode : undefined,
itemName: null,
itemCodeGet: "",
itemCode: null,
nickName: null,
userName: null,
},
//
columns: [
{ key: 0, label: `人员编码`, visible: true },
{ key: 1, label: `人员名称`, visible: true },
]
],
};
},
created() {
@ -102,6 +150,11 @@ export default {
},
methods: {
//
cancel() {
this.showFlag = false;
this.reset();
},
//
reset() {
this.form = {
@ -120,17 +173,17 @@ export default {
indexMethod(index) {
return index + 1;
},
//
/** 查询设备编码列表*/
getList() {
this.loading = true;
getRepairPersonList(this.queryParams).then(response => {
this.queryParams.userName = this.queryParams.itemCode;
this.queryParams.nickName = this.queryParams.itemName;
getRepairPersonList(this.queryParams).then((response) => {
this.itemList = response.rows;
this.total = response.total;
this.loading = false;
}
);
});
},
/** 搜索按钮操作 */
@ -148,8 +201,8 @@ export default {
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item.userId);
this.userCodes = selection.map(item => item.userName);
this.ids = selection.map((item) => item.userId);
this.userCodes = selection.map((item) => item.userName);
this.single = selection.length !== 1;
this.multiple = !selection.length;
},
@ -158,11 +211,11 @@ export default {
if (this.$refs.multipleTable.selection.length > 1) {
Message.warning("只能选择一个报修人,请勿选择多个!");
} else {
this.$emit('onSelected', this.$refs.multipleTable.selection);
this.$emit("onSelected", this.$refs.multipleTable.selection);
this.showFlag = false;
this.getList();
}
}
}
},
},
};
</script>

@ -782,8 +782,6 @@ export default {
},
//
changeArray(e) {
console.log(e)
console.log(this.form.planTimeArray)
if (this.form.planLoop == null) {
this.$message({
message: '请输入循环周期!',
@ -912,13 +910,6 @@ export default {
// -
editorTheItem(e) {
console.log('e')
console.log(e)
console.log("form")
console.log(this.form.equipmentItem)
console.log("长度")
console.log(this.form.equipmentItem.length)
//
this.itemDetailList = [];
@ -927,19 +918,12 @@ export default {
for (let i = 0; i < this.form.equipmentItem.length; i++) {
if (e.equipmentCode == this.form.equipmentItem[i].equipmentCode) {
console.log("一次")
console.log(e.equipmentCode == this.form.equipmentItem[i].equipmentCode)
console.log(e.equipmentCode)
console.log(this.form.equipmentItem[i].equipmentCode)
for (let j = 0; j < this.form.equipmentItem[i].equPlanDetailList.length; j++) {
//
var itemName = this.form.equipmentItem[i].equPlanDetailList[j].itemName;
console.log("长度")
console.log(this.form.equipmentItem[i].equPlanDetailList[j].equPlanStandardList.length)
for (let k = 0; k < this.form.equipmentItem[i].equPlanDetailList[j].equPlanStandardList.length; k++){
if (this.form.equipmentItem[i].equPlanDetailList[j].equPlanStandardList[k].showFlag == true) {
@ -949,7 +933,6 @@ export default {
}else {
this.form.equipmentItem[i].equPlanDetailList[j].equPlanStandardList[k].standardTypeName = "定量";
}
console.log(qw++)
this.itemDetailList.push(this.form.equipmentItem[i].equPlanDetailList[j].equPlanStandardList[k]);
}

@ -17,21 +17,23 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="单号" prop="orderCode">
<el-form-item label="单号" prop="orderCode">
<el-input
v-model="queryParams.orderCode"
placeholder="请输入单号"
placeholder="请输入单号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="车间" prop="planWorkshop">
<el-input
v-model="queryParams.planWorkshop"
placeholder="请输入车间"
clearable
@keyup.enter.native="handleQuery"
<el-form-item label="车间编码" prop="planWorkshop">
<el-select v-model="queryParams.planWorkshop" placeholder="请选择车间" clearable>
<el-option
v-for="work in workCenterList"
:key="work.factoryCode"
:label="work.factoryName"
:value="work.factoryCode"
/>
</el-select>
</el-form-item>
<el-form-item v-if="false" label="产线" prop="planProdLine">
<el-input
@ -41,6 +43,16 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="循环周期" prop="planLoop">
<el-select v-model="queryParams.planLoopType" placeholder="请选择循环周期" clearable>
<el-option
v-for="dict in dict.type.device_loop_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item v-if="false" label="循环周期" prop="planLoop">
<el-input
v-model="queryParams.planLoop"
@ -97,10 +109,10 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="责任人" prop="planPerson">
<el-form-item label="点检人" prop="planPerson">
<el-input
v-model="queryParams.planPerson"
placeholder="请输入责任人"
placeholder="请输入点检人"
clearable
@keyup.enter.native="handleQuery"
/>
@ -161,7 +173,7 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="创建人" prop="createBy">
<el-form-item v-if="false" label="创建人" prop="createBy">
<el-input
v-model="queryParams.createBy"
placeholder="请输入创建人"
@ -169,7 +181,7 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="创建时间" prop="createTime">
<el-form-item v-if="false" label="创建时间" prop="createTime">
<el-date-picker clearable
v-model="queryParams.createTime"
type="date"
@ -177,7 +189,7 @@
placeholder="请选择创建时间">
</el-date-picker>
</el-form-item>
<el-form-item label="更新人" prop="updateBy">
<el-form-item v-if="false" label="更新人" prop="updateBy">
<el-input
v-model="queryParams.updateBy"
placeholder="请输入更新人"
@ -185,7 +197,7 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="更新时间" prop="updateTime">
<el-form-item v-if="false" label="更新时间" prop="updateTime">
<el-date-picker clearable
v-model="queryParams.updateTime"
type="date"
@ -193,6 +205,58 @@
placeholder="请选择更新时间">
</el-date-picker>
</el-form-item>
<el-form-item label-width="100px" label="循环范围开始" prop="planLoopStart">
<el-date-picker
v-model="queryParams.loopStartArray"
type="daterange"
align="right"
unlink-panels
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
value-format="yyyy-MM-dd"
:picker-options="pickerOptions">
</el-date-picker>
</el-form-item>
<el-form-item label-width="100px" label="循环范围结束" prop="planLoopEnd">
<el-date-picker
v-model="queryParams.loopEndArray"
type="daterange"
align="right"
unlink-panels
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
value-format="yyyy-MM-dd"
:picker-options="pickerOptions">
</el-date-picker>
</el-form-item>
<el-form-item label-width="100px" label="执行开始时间" prop="orderStart">
<el-date-picker
v-model="queryParams.orderStartArray"
type="daterange"
align="right"
unlink-panels
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
value-format="yyyy-MM-dd"
:picker-options="pickerOptions">
</el-date-picker>
</el-form-item>
<el-form-item label-width="100px" label="执行结束时间" prop="orderEnd">
<el-date-picker
v-model="queryParams.orderEndArray"
type="daterange"
align="right"
unlink-panels
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
value-format="yyyy-MM-dd"
:picker-options="pickerOptions">
</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>
@ -249,45 +313,58 @@
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table @cell-click="showWork" v-loading="loading" :data="inspectionWorkList">
<el-table v-loading="loading" :data="inspectionWorkList">
<el-table-column v-if="false" label="主键" align="center" prop="orderId" />
<el-table-column v-if="false" label="计划id" align="center" prop="planId" />
<el-table-column label="计划编码" align="center" prop="planCode"/>
<el-table-column width="150" label="计划编码" align="center" prop="planCode" />
<el-table-column v-if="false" label="计划类型" align="center" prop="planType" />
<el-table-column label="单号" align="center" prop="orderCode"/>
<el-table-column label="车间" align="center" prop="planWorkshop"/>
<el-table-column width="150" label="巡检单号" align="center" prop="orderCode" fixed>
<template slot-scope="scope">
<el-button
type="text"
@click="showWork(scope.row)"
>{{ scope.row.orderCode }}</el-button
>
</template>
</el-table-column>
<el-table-column label="车间编码" align="center" prop="planWorkshop" />
<el-table-column width="150" label="车间" align="center" prop="workCenterName"/>
<el-table-column v-if="false" label="产线" align="center" prop="planProdLine" />
<el-table-column label="循环周期" align="center" prop="planLoop" />
<el-table-column label="循环周期类型" align="center" prop="planLoopType"/>
<el-table-column label="循环执行时间开始" align="center" prop="planLoopStart" width="180">
<el-table-column width="120" label="循环周期类型" align="center" prop="planLoopType" >
<template slot-scope="scope">
<dict-tag :options="dict.type.device_loop_type" :value="scope.row.planLoopType"/>
</template>
</el-table-column>
<el-table-column width="120" label="循环范围开始" align="center" prop="planLoopStart">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.planLoopStart, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="循环执行时间结束" align="center" prop="planLoopEnd" width="180">
<el-table-column width="120" label="循环范围结束" align="center" prop="planLoopEnd">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.planLoopEnd, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="实际开始时间" align="center" prop="orderStart" width="180">
<el-table-column width="120" label="执行开始时间" align="center" prop="orderStart">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.orderStart, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="实际结束时间" align="center" prop="orderEnd" width="180">
<el-table-column width="120" label="执行结束时间" align="center" prop="orderEnd">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.orderEnd, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="设备编码" align="center" prop="equipmentCode"/>
<el-table-column label="设备名称" align="center" prop="equipmentName"/>
<el-table-column width="100" label="设备编码" align="center" prop="equipmentCode" />
<el-table-column width="120" label="设备名称" align="center" prop="equipmentName" />
<el-table-column label="工单状态" align="center" prop="orderStatus" >
<template slot-scope="scope">
<dict-tag :options="dict.type.device_order_status" :value="scope.row.orderStatus"/>
</template>
</el-table-column>
<el-table-column v-if="false" label="工单费用" align="center" prop="orderCost" />
<el-table-column label="责任人" align="center" prop="planPerson"/>
<el-table-column label="巡检人" align="center" prop="planPerson" />
<el-table-column v-if="false" label="工单用时" align="center" prop="orderCostTime" />
<el-table-column v-if="false" label="签字" align="center" prop="orderSignPerson" />
<el-table-column v-if="false" label="工厂" align="center" prop="factoryCode" />
@ -351,10 +428,10 @@
</el-descriptions-item>
<el-descriptions-item label="工单编码">{{ workVO.order.orderCode }}</el-descriptions-item>
<el-descriptions-item label="车间编码">{{ workVO.order.planWorkshop }}</el-descriptions-item>
<el-descriptions-item label="巡检执行开始时间">{{ workVO.order.planLoopStart }}</el-descriptions-item>
<el-descriptions-item label="巡检执行结束时间">{{ workVO.order.planLoopEnd }}</el-descriptions-item>
<el-descriptions-item label="实际开始时间">{{ workVO.order.orderStart }}</el-descriptions-item>
<el-descriptions-item label="实际结束时间">{{ workVO.order.orderEnd }}</el-descriptions-item>
<el-descriptions-item label="循环开始时间">{{ workVO.order.planLoopStart }}</el-descriptions-item>
<el-descriptions-item label="循环结束时间">{{ workVO.order.planLoopEnd }}</el-descriptions-item>
<el-descriptions-item label="执行开始时间">{{ workVO.order.orderStart }}</el-descriptions-item>
<el-descriptions-item label="执行结束时间">{{ workVO.order.orderEnd }}</el-descriptions-item>
<el-descriptions-item label="巡检人">{{ workVO.order.planPerson }}</el-descriptions-item>
<el-descriptions-item label="报修单号">{{ workVO.order.repairCode }}</el-descriptions-item>
</el-descriptions>
@ -435,6 +512,8 @@ import {
addInspectionWork,
updateInspectionWork
} from "@/api/device/inspectionWork";
import {listDeviceOrder} from "@/api/device/deviceOrder";
import {getWorkCenter} from "@/api/device/plan";
export default {
name: "InspectionWork",
@ -442,6 +521,34 @@ export default {
data() {
return {
test: false,
//
pickerOptions: {
shortcuts: [{
text: '最近一周',
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
picker.$emit('pick', [start, end]);
}
}, {
text: '最近一个月',
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
picker.$emit('pick', [start, end]);
}
}, {
text: '最近三个月',
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
picker.$emit('pick', [start, end]);
}
}]
},
// VO
workVO: {
order: {
@ -503,7 +610,7 @@ export default {
orderStart: null,
orderEnd: null,
equipmentCode: null,
orderStatus: null,
orderStatus: '1',
orderCost: null,
planPerson: null,
orderCostTime: null,
@ -516,7 +623,11 @@ export default {
createBy: null,
createTime: null,
updateBy: null,
updateTime: null
updateTime: null,
loopStartArray: [],
orderStartArray: [],
orderEndArray: [],
loopEndArray: [],
},
//
form: {},
@ -525,18 +636,22 @@ export default {
};
},
created() {
this.setWorkCenter();
this.getList();
},
methods: {
//
setWorkCenter() {
getWorkCenter().then(response => {
this.workCenterList = response.data;
})
},
//
showWork(row) {
console.log("测试成功")
console.log(row)
this.reset();
const orderId = row.orderId || this.ids
getInspectionWork(orderId).then(response => {
this.workVO = response.data;
console.log(this.workVO);
this.workDetail = true;
});
@ -544,7 +659,7 @@ export default {
/** 查询巡检记录列表 */
getList() {
this.loading = true;
listInspectionWork(this.queryParams).then(response => {
listDeviceOrder(this.queryParams).then(response => {
this.inspectionWorkList = response.rows;
this.total = response.total;
this.loading = false;
@ -572,7 +687,7 @@ export default {
orderStart: null,
orderEnd: null,
equipmentCode: null,
orderStatus: null,
orderStatus: '1',
orderCost: null,
planPerson: null,
orderCostTime: null,
@ -585,7 +700,11 @@ export default {
createBy: null,
createTime: null,
updateBy: null,
updateTime: null
updateTime: null,
loopStartArray: [],
orderStartArray: [],
orderEndArray: [],
loopEndArray: [],
};
this.resetForm("form");
},
@ -596,6 +715,10 @@ export default {
},
/** 重置按钮操作 */
resetQuery() {
this.queryParams.loopStartArray = [];
this.queryParams.orderStartArray = [];
this.queryParams.orderEndArray = [];
this.queryParams.loopEndArray = [];
this.resetForm("queryForm");
this.handleQuery();
},

@ -17,21 +17,23 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="单号" prop="orderCode">
<el-form-item label="单号" prop="orderCode">
<el-input
v-model="queryParams.orderCode"
placeholder="请输入单号"
placeholder="请输入单号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="车间" prop="planWorkshop">
<el-input
v-model="queryParams.planWorkshop"
placeholder="请输入车间"
clearable
@keyup.enter.native="handleQuery"
<el-form-item label="车间编码" prop="planWorkshop">
<el-select v-model="queryParams.planWorkshop" placeholder="请选择车间" clearable>
<el-option
v-for="work in workCenterList"
:key="work.factoryCode"
:label="work.factoryName"
:value="work.factoryCode"
/>
</el-select>
</el-form-item>
<el-form-item v-if="false" label="产线" prop="planProdLine">
<el-input
@ -41,6 +43,16 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="循环周期" prop="planLoop">
<el-select v-model="queryParams.planLoopType" placeholder="请选择循环周期" clearable>
<el-option
v-for="dict in dict.type.device_loop_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item v-if="false" label="循环周期" prop="planLoop">
<el-input
v-model="queryParams.planLoop"
@ -89,6 +101,14 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="设备名称" prop="equipmentCode">
<el-input
v-model="queryParams.equipmentName"
placeholder="请输入设备名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item v-if="false" label="工单费用" prop="orderCost">
<el-input
v-model="queryParams.orderCost"
@ -97,10 +117,10 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="责任人" prop="planPerson">
<el-form-item label="点检人" prop="planPerson">
<el-input
v-model="queryParams.planPerson"
placeholder="请输入责任人"
placeholder="请输入点检人"
clearable
@keyup.enter.native="handleQuery"
/>
@ -161,7 +181,7 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="创建人" prop="createBy">
<el-form-item v-if="false" label="创建人" prop="createBy">
<el-input
v-model="queryParams.createBy"
placeholder="请输入创建人"
@ -169,7 +189,7 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="创建时间" prop="createTime">
<el-form-item v-if="false" label="创建时间" prop="createTime">
<el-date-picker clearable
v-model="queryParams.createTime"
type="date"
@ -177,7 +197,7 @@
placeholder="请选择创建时间">
</el-date-picker>
</el-form-item>
<el-form-item label="更新人" prop="updateBy">
<el-form-item v-if="false" label="更新人" prop="updateBy">
<el-input
v-model="queryParams.updateBy"
placeholder="请输入更新人"
@ -185,7 +205,7 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="更新时间" prop="updateTime">
<el-form-item v-if="false" label="更新时间" prop="updateTime">
<el-date-picker clearable
v-model="queryParams.updateTime"
type="date"
@ -193,6 +213,78 @@
placeholder="请选择更新时间">
</el-date-picker>
</el-form-item>
<el-form-item label-width="100px" label="循环范围开始" prop="planLoopStart">
<el-date-picker
v-model="queryParams.loopStartArray"
type="daterange"
align="right"
unlink-panels
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
value-format="yyyy-MM-dd"
:picker-options="pickerOptions">
</el-date-picker>
</el-form-item>
<el-form-item label-width="100px" label="循环范围结束" prop="planLoopEnd">
<el-date-picker
v-model="queryParams.loopEndArray"
type="daterange"
align="right"
unlink-panels
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
value-format="yyyy-MM-dd"
:picker-options="pickerOptions">
</el-date-picker>
</el-form-item>
<el-form-item label-width="100px" label="执行开始时间" prop="orderStart">
<el-date-picker
v-model="queryParams.orderStartArray"
type="daterange"
align="right"
unlink-panels
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
value-format="yyyy-MM-dd"
:picker-options="pickerOptions">
</el-date-picker>
</el-form-item>
<el-form-item label-width="100px" label="执行结束时间" prop="orderEnd">
<el-date-picker
v-model="queryParams.orderEndArray"
type="daterange"
align="right"
unlink-panels
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
value-format="yyyy-MM-dd"
:picker-options="pickerOptions">
</el-date-picker>
</el-form-item>
<el-form-item label="保养类型" prop="upkeep">
<el-select v-model="queryParams.upkeep" placeholder="请选择保养类型" clearable>
<el-option
v-for="dict in dict.type.device_upkeep_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="检验状态" prop="orderInspect">
<el-select v-model="queryParams.orderInspect" placeholder="请选择保养类型" clearable>
<el-option
v-for="dict in dict.type.device_inspect_status"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</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>
@ -245,46 +337,69 @@
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table @cell-click="showWork" v-loading="loading" :data="inspectionWorkList">
<el-table v-loading="loading" :data="inspectionWorkList">
<el-table-column v-if="false" label="主键" align="center" prop="orderId" />
<el-table-column v-if="false" label="计划id" align="center" prop="planId" />
<el-table-column label="计划编码" align="center" prop="planCode" />
<el-table-column width="150" label="计划编码" align="center" prop="planCode" />
<el-table-column v-if="false" label="计划类型" align="center" prop="planType" />
<el-table-column label="单号" align="center" prop="orderCode" />
<el-table-column label="车间" align="center" prop="planWorkshop" />
<el-table-column width="150" label="保养单号" align="center" prop="orderCode" fixed>
<template slot-scope="scope">
<el-button
type="text"
@click="showWork(scope.row)"
>{{ scope.row.orderCode }}</el-button
>
</template>
</el-table-column>
<el-table-column label="车间编码" align="center" prop="planWorkshop" />
<el-table-column width="150" label="车间" align="center" prop="workCenterName"/>
<el-table-column v-if="false" label="产线" align="center" prop="planProdLine" />
<el-table-column label="循环周期" align="center" prop="planLoop" />
<el-table-column label="循环周期类型" align="center" prop="planLoopType" />
<el-table-column label="循环执行时间开始" align="center" prop="planLoopStart" width="180">
<el-table-column width="120" label="循环周期类型" align="center" prop="planLoopType" >
<template slot-scope="scope">
<dict-tag :options="dict.type.device_loop_type" :value="scope.row.planLoopType"/>
</template>
</el-table-column>
<el-table-column width="120" label="循环范围开始" align="center" prop="planLoopStart">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.planLoopStart, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="循环执行时间结束" align="center" prop="planLoopEnd" width="180">
<el-table-column width="120" label="循环范围结束" align="center" prop="planLoopEnd">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.planLoopEnd, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="实际开始时间" align="center" prop="orderStart" width="180">
<el-table-column width="120" label="执行开始时间" align="center" prop="orderStart">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.orderStart, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="实际结束时间" align="center" prop="orderEnd" width="180">
<el-table-column width="120" label="执行结束时间" align="center" prop="orderEnd">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.orderEnd, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="设备编码" align="center" prop="equipmentCode" />
<el-table-column label="设备名称" align="center" prop="equipmentName" />
<el-table-column width="100" label="设备编码" align="center" prop="equipmentCode" />
<el-table-column width="120" label="设备名称" align="center" prop="equipmentName" />
<el-table-column width="80" label="保养类型" align="center" prop="upkeep" >
<template slot-scope="scope">
<dict-tag :options="dict.type.device_upkeep_type" :value="scope.row.upkeep"/>
</template>
</el-table-column>
<el-table-column label="工单状态" align="center" prop="orderStatus" >
<template slot-scope="scope">
<dict-tag :options="dict.type.device_order_status" :value="scope.row.orderStatus"/>
</template>
</el-table-column>
<el-table-column v-if="false" label="工单费用" align="center" prop="orderCost" />
<el-table-column label="责任人" align="center" prop="planPerson" />
<el-table-column v-if="false" label="工单用时" align="center" prop="orderCostTime" />
<el-table-column label="检验状态" align="center" prop="orderInspect">
<template slot-scope="scope">
<dict-tag :options="dict.type.device_inspect_status" :value="scope.row.orderInspect"/>
</template>
</el-table-column>
<el-table-column width="120" label="工单费用(元)" align="center" prop="orderCost"/>
<el-table-column label="保养人" align="center" prop="planPerson"/>
<el-table-column width="120" label="工单用时(min)" align="center" prop="orderCostTime"/>
<el-table-column v-if="false" label="签字" align="center" prop="orderSignPerson"/>
<el-table-column v-if="false" label="工厂" align="center" prop="factoryCode"/>
<el-table-column v-if="false" label="备用字段1" align="center" prop="attr1"/>
@ -331,6 +446,7 @@
@pagination="getList"
/>
<!-- 保养详情 -->
<el-dialog
title="保养详情"
:visible.sync="workDetail"
@ -345,10 +461,12 @@
</el-descriptions-item>
<el-descriptions-item label="工单编码">{{ workVO.order.orderCode }}</el-descriptions-item>
<el-descriptions-item label="车间编码">{{ workVO.order.planWorkshop }}</el-descriptions-item>
<el-descriptions-item label="保养执行开始时间">{{ workVO.order.planLoopStart }}</el-descriptions-item>
<el-descriptions-item label="保养执行结束时间">{{ workVO.order.planLoopEnd }}</el-descriptions-item>
<el-descriptions-item label="实际开始时间">{{ workVO.order.orderStart }}</el-descriptions-item>
<el-descriptions-item label="实际结束时间">{{ workVO.order.orderEnd }}</el-descriptions-item>
<el-descriptions-item label="循环开始时间">{{ workVO.order.planLoopStart }}</el-descriptions-item>
<el-descriptions-item label="循环结束时间">{{ workVO.order.planLoopEnd }}</el-descriptions-item>
<el-descriptions-item label="执行开始时间">{{ workVO.order.orderStart }}</el-descriptions-item>
<el-descriptions-item label="执行结束时间">{{ workVO.order.orderEnd }}</el-descriptions-item>
<el-descriptions-item label="保养类型">{{ workVO.order.upkeep }}</el-descriptions-item>
<el-descriptions-item label="是否停机保养">{{ workVO.order.shutDown }}</el-descriptions-item>
<el-descriptions-item label="保养人">{{ workVO.order.planPerson }}</el-descriptions-item>
<el-descriptions-item label="报修单号">{{ workVO.order.repairCode }}</el-descriptions-item>
</el-descriptions>
@ -445,12 +563,42 @@
<script>
import { listInspectionWork, getInspectionWork, delInspectionWork, addInspectionWork, updateInspectionWork } from "@/api/device/inspectionWork";
import {listDeviceOrder} from "@/api/device/deviceOrder";
import {getWorkCenter} from "@/api/device/plan";
export default {
name: "InspectionWork",
dicts: ['device_order_status', 'device_loop_type'],
dicts: ['device_order_status', 'device_loop_type','device_upkeep_type','device_inspect_status'],
data() {
return {
//
pickerOptions: {
shortcuts: [{
text: '最近一周',
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
picker.$emit('pick', [start, end]);
}
}, {
text: '最近一个月',
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
picker.$emit('pick', [start, end]);
}
}, {
text: '最近三个月',
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
picker.$emit('pick', [start, end]);
}
}]
},
// VO
workVO: {
order: {
@ -514,7 +662,7 @@ export default {
orderStart: null,
orderEnd: null,
equipmentCode: null,
orderStatus: null,
orderStatus: '1',
orderCost: null,
planPerson: null,
orderCostTime: null,
@ -527,7 +675,11 @@ export default {
createBy: null,
createTime: null,
updateBy: null,
updateTime: null
updateTime: null,
loopStartArray: [],
orderStartArray: [],
orderEndArray: [],
loopEndArray: [],
},
//
form: {},
@ -537,18 +689,32 @@ export default {
};
},
created() {
this.setWorkCenter();
this.getList();
},
methods: {
//
//
setWorkCenter() {
getWorkCenter().then(response => {
this.workCenterList = response.data;
})
},
//
showWork(row) {
console.log("测试成功")
console.log(row)
this.reset();
const orderId = row.orderId || this.ids
getInspectionWork(orderId).then(response => {
this.workVO = response.data;
console.log(this.workVO);
if (this.workVO.order.upkeep == 0) {
this.workVO.order.upkeep = '内部';
}else {
this.workVO.order.upkeep = '委外';
}
if (this.workVO.order.shutDown == 0) {
this.workVO.order.shutDown = '开机保养';
}else {
this.workVO.order.shutDown = '停机保养';
}
this.workDetail = true;
});
@ -556,7 +722,7 @@ export default {
/** 查询保养记录列表 */
getList() {
this.loading = true;
listInspectionWork(this.queryParams).then(response => {
listDeviceOrder(this.queryParams).then(response => {
this.inspectionWorkList = response.rows;
this.total = response.total;
this.loading = false;
@ -584,7 +750,7 @@ export default {
orderStart: null,
orderEnd: null,
equipmentCode: null,
orderStatus: null,
orderStatus: '1',
orderCost: null,
planPerson: null,
orderCostTime: null,
@ -597,7 +763,11 @@ export default {
createBy: null,
createTime: null,
updateBy: null,
updateTime: null
updateTime: null,
loopStartArray: [],
orderStartArray: [],
orderEndArray: [],
loopEndArray: [],
};
this.resetForm("form");
},

@ -1,11 +1,19 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="98px">
<el-form
:model="queryParams"
ref="queryForm"
size="small"
:inline="true"
v-show="showSearch"
label-width="98px"
>
<el-form-item label="委外工单编码" prop="workCode">
<el-input
v-model="queryParams.workCode"
placeholder="请输入委外工单编码"
clearable
style="width: 200px"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
@ -13,6 +21,7 @@
<el-input
v-model="queryParams.workPerson"
placeholder="请输入维修人员"
style="width: 200px"
clearable
@keyup.enter.native="handleQuery"
/>
@ -21,6 +30,7 @@
<el-input
v-model="queryParams.workOutsourcingUnit"
placeholder="请输入委外单位"
style="width: 200px"
clearable
@keyup.enter.native="handleQuery"
/>
@ -29,6 +39,7 @@
<el-input
v-model="queryParams.workConnection"
placeholder="请输入联系方式"
style="width: 200px"
clearable
@keyup.enter.native="handleQuery"
/>
@ -38,6 +49,7 @@
v-model="queryParams.workCost"
placeholder="请输入委外费用"
clearable
style="width: 200px"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
@ -46,12 +58,38 @@
v-model="queryParams.workCostTime"
placeholder="请输入委外用时"
clearable
style="width: 200px"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="委外类型" prop="workType">
<el-select
v-model="queryParams.workType"
placeholder="请选择委外类型"
@change="$forceUpdate()"
clearable
style="width: 200px"
@keyup.enter.native="handleQuery"
>
<el-option
v-for="item in options"
:key="item.workType"
:label="item.label"
:value="item.workType"
></el-option>
</el-select>
</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>
@ -64,7 +102,8 @@
size="mini"
@click="handleAdd"
v-hasPermi="['device:outsourceWorkOrder:add']"
>新增</el-button>
>新增</el-button
>
</el-col>
<el-col :span="1.5">
<el-button
@ -75,7 +114,8 @@
:disabled="single"
@click="handleUpdate"
v-hasPermi="['device:outsourceWorkOrder:edit']"
>修改</el-button>
>修改</el-button
>
</el-col>
<el-col :span="1.5">
<el-button
@ -86,7 +126,8 @@
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['device:outsourceWorkOrder:remove']"
>删除</el-button>
>删除</el-button
>
</el-col>
<el-col :span="1.5">
<el-button
@ -96,40 +137,116 @@
size="mini"
@click="handleExport"
v-hasPermi="['device:outsourceWorkOrder:export']"
>导出</el-button>
>导出</el-button
>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
<right-toolbar
:showSearch.sync="showSearch"
@queryTable="getList"
></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="outsourceWorkOrderList" @selection-change="handleSelectionChange">
<el-table
v-loading="loading"
:data="outsourceWorkOrderList"
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="委外工单编码" align="center" prop="workCode" width="180"/>
<el-table-column label="报修单号" align="center" prop="orderCode" width="180"/>
<el-table-column label="维修单号" align="center" prop="repairCode" width="180"/>
<el-table-column
label="委外工单编码"
align="center"
prop="workCode"
width="180"
/>
<el-table-column
label="报修单号"
align="center"
prop="orderCode"
width="180"
/>
<el-table-column
label="维修单号"
align="center"
prop="repairCode"
width="180"
/>
<el-table-column label="设备编码" align="center" prop="equipmentCode" />
<el-table-column label="设备名称" align="center" prop="equipmentName" />
<el-table-column label="设备类型" align="center" prop="equipmentTypeName" />
<el-table-column label="委外维修人员" align="center" prop="workPerson" width="150"/>
<el-table-column label="委外单位" align="center" prop="workOutsourcingUnit" width="200"/>
<el-table-column label="联系方式" align="center" prop="workConnection" width="150"/>
<el-table-column label="委外原因" align="center" prop="workReason" width="150"/>
<el-table-column label="委外类型" align="center" prop="workType" />
<el-table-column
label="设备类型"
align="center"
prop="equipmentTypeName"
/>
<el-table-column
label="委外维修人员"
align="center"
prop="workPerson"
width="150"
/>
<el-table-column
label="委外单位"
align="center"
prop="workOutsourcingUnit"
width="200"
/>
<el-table-column
label="联系方式"
align="center"
prop="workConnection"
width="150"
/>
<el-table-column
label="委外原因"
align="center"
prop="workReason"
width="150"
/>
<el-table-column label="委外类型" align="center" prop="workType">
<template slot-scope="scope">
{{ scope.row.workType == 1 ? "保养委外" : "维修委外" }}
</template>
</el-table-column>
<el-table-column label="委外费用" align="center" prop="workCost" />
<el-table-column label="委外用时" align="center" prop="workCostTime" />
<el-table-column width="180" label="创建时间" align="center" prop="createTime">
<el-table-column
width="180"
label="创建时间"
align="center"
prop="createTime"
>
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
<el-table-column width="120" label="创建人" align="center" prop="createBy"/>
<el-table-column width="180" label="更新时间" align="center" prop="updateTime">
<el-table-column
width="120"
label="创建人"
align="center"
prop="createBy"
/>
<el-table-column
width="180"
label="更新时间"
align="center"
prop="updateTime"
>
<template slot-scope="scope">
<span>{{ parseTime(scope.row.updateTime) }}</span>
</template>
</el-table-column>
<el-table-column width="120" label="更新人" align="center" prop="updateBy"/>
<el-table-column
width="120"
label="更新人"
align="center"
prop="updateBy"
/>
<el-table-column label="工厂编码" align="center" prop="factoryCode" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="150">
<el-table-column
label="操作"
align="center"
class-name="small-padding fixed-width"
width="150"
>
<template slot-scope="scope">
<el-button
size="mini"
@ -137,14 +254,16 @@
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['device:outsourceWorkOrder:edit']"
>修改</el-button>
>修改</el-button
>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['device:outsourceWorkOrder:remove']"
>删除</el-button>
>删除</el-button
>
</template>
</el-table-column>
</el-table>
@ -175,14 +294,42 @@
<ItemSelect ref="itemSelect" @onSelected="onItemSelectedEquipment">
</ItemSelect>
</el-form-item>
<el-form-item label="委外类型" prop="workType">
<el-select
v-model="form.workType"
placeholder="请选择委外类型"
@change="$forceUpdate()"
clearable
style="width: 270px"
>
<el-option
v-for="item in options"
:key="item.workType"
:label="item.label"
:value="item.workType"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="委外维修人员" prop="workPerson">
<el-input v-model="form.workPerson" placeholder="请输入委外维修人员" style="width: 270px"/>
<el-input
v-model="form.workPerson"
placeholder="请输入委外维修人员"
style="width: 270px"
/>
</el-form-item>
<el-form-item label="委外单位" prop="workOutsourcingUnit">
<el-input v-model="form.workOutsourcingUnit" placeholder="请输入委外单位" style="width: 270px"/>
<el-input
v-model="form.workOutsourcingUnit"
placeholder="请输入委外单位"
style="width: 270px"
/>
</el-form-item>
<el-form-item label="委外单位联系方式" prop="workConnection">
<el-input v-model="form.workConnection" placeholder="请输入委外单位联系方式" style="width: 270px"/>
<el-input
v-model="form.workConnection"
placeholder="请输入委外单位联系方式"
style="width: 270px"
/>
</el-form-item>
<el-form-item label="委外原因" prop="workReason">
<el-input
@ -194,10 +341,18 @@
/>
</el-form-item>
<el-form-item label="委外费用" prop="workCost">
<el-input v-model="form.workCost" placeholder="请输入委外费用" style="width: 270px"/>
<el-input
v-model="form.workCost"
placeholder="请输入委外费用"
style="width: 270px"
/>
</el-form-item>
<el-form-item label="委外用时" prop="workCostTime">
<el-input v-model="form.workCostTime" placeholder="请输入委外用时" style="width: 270px"/>
<el-input
v-model="form.workCostTime"
placeholder="请输入委外用时"
style="width: 270px"
/>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
@ -209,7 +364,13 @@
</template>
<script>
import { listOutsourceWorkOrder, getOutsourceWorkOrder, delOutsourceWorkOrder, addOutsourceWorkOrder, updateOutsourceWorkOrder } from "@/api/device/outsourceWorkOrder";
import {
listOutsourceWorkOrder,
getOutsourceWorkOrder,
delOutsourceWorkOrder,
addOutsourceWorkOrder,
updateOutsourceWorkOrder,
} from "@/api/device/outsourceWorkOrder";
import ItemSelect from "./selectSingleEquipment.vue";
export default {
@ -252,13 +413,22 @@ export default {
attr1: null,
attr2: null,
attr3: null,
factoryCode: null
factoryCode: null,
},
options: [
{
workType: "1",
label: "保养委外",
},
{
workType: "0",
label: "维修委外",
},
],
//
form: {},
//
rules: {
}
rules: {},
};
},
created() {
@ -268,7 +438,7 @@ export default {
/** 查询委外工单列表 */
getList() {
this.loading = true;
listOutsourceWorkOrder(this.queryParams).then(response => {
listOutsourceWorkOrder(this.queryParams).then((response) => {
this.outsourceWorkOrderList = response.rows;
this.total = response.total;
this.loading = false;
@ -301,7 +471,7 @@ export default {
createTime: null,
updateBy: null,
updateTime: null,
factoryCode: null
factoryCode: null,
};
this.resetForm("form");
},
@ -325,9 +495,9 @@ export default {
},
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item.workId)
this.single = selection.length!==1
this.multiple = !selection.length
this.ids = selection.map((item) => item.workId);
this.single = selection.length !== 1;
this.multiple = !selection.length;
},
/** 新增按钮操作 */
handleAdd() {
@ -338,8 +508,8 @@ export default {
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const workId = row.workId || this.ids
getOutsourceWorkOrder(workId).then(response => {
const workId = row.workId || this.ids;
getOutsourceWorkOrder(workId).then((response) => {
this.form = response.data;
this.open = true;
this.title = "修改委外工单";
@ -347,16 +517,16 @@ export default {
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
this.$refs["form"].validate((valid) => {
if (valid) {
if (this.form.workId != null) {
updateOutsourceWorkOrder(this.form).then(response => {
updateOutsourceWorkOrder(this.form).then((response) => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addOutsourceWorkOrder(this.form).then(response => {
addOutsourceWorkOrder(this.form).then((response) => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
@ -368,19 +538,27 @@ export default {
/** 删除按钮操作 */
handleDelete(row) {
const workIds = row.workId || this.ids;
this.$modal.confirm('是否确认删除委外工单编号为"' + workIds + '"的数据项?').then(function() {
this.$modal
.confirm('是否确认删除委外工单编号为"' + workIds + '"的数据项?')
.then(function () {
return delOutsourceWorkOrder(workIds);
}).then(() => {
})
.then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
})
.catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
this.download('device/outsourceWorkOrder/export', {
...this.queryParams
}, `outsourceWorkOrder_${new Date().getTime()}.xlsx`)
}
}
this.download(
"device/outsourceWorkOrder/export",
{
...this.queryParams,
},
`outsourceWorkOrder_${new Date().getTime()}.xlsx`
);
},
},
};
</script>

@ -132,7 +132,8 @@
start-placeholder="开始日期"
end-placeholder="结束日期"
value-format="yyyy-MM-dd HH:mm:ss"
:picker-options="pickerOptions">
:picker-options="pickerOptions"
>
</el-date-picker>
</el-form-item>
<el-form-item label="计划停机时间" prop="workPlanDownTime">
@ -146,7 +147,8 @@
start-placeholder="开始日期"
end-placeholder="结束日期"
value-format="yyyy-MM-dd HH:mm:ss"
:picker-options="pickerOptions">
:picker-options="pickerOptions"
>
</el-date-picker>
</el-form-item>
<el-form-item>
@ -246,6 +248,15 @@
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" width="55" align="center" />
<!-- 序号 -->
<el-table-column
type="index"
width="90"
align="center"
:index="indexMethod"
label="序号"
fixed
/>
<el-table-column
label="维修单号"
align="center"
@ -296,9 +307,24 @@
</template>
</el-table-column>
<el-table-column label="维修人员" align="center" prop="workPerson" />
<el-table-column label="维修组编码" align="center" prop="workTeam" width="100"/>
<el-table-column label="维修组名称" align="center" prop="teamName" width="100"/>
<el-table-column label="维修组人员" align="center" prop="teamPerson" width="300"/>
<el-table-column
label="维修组编码"
align="center"
prop="workTeam"
width="100"
/>
<el-table-column
label="维修组名称"
align="center"
prop="teamName"
width="100"
/>
<el-table-column
label="维修组人员"
align="center"
prop="teamPerson"
width="300"
/>
<el-table-column label="是否委外" align="center" prop="workOutsource">
<template slot-scope="scope">
{{ scope.row.workOutsource == "1" ? "转委外" : "不委外" }}
@ -340,14 +366,16 @@
label="维修用时"
align="center"
prop="workCostTime"
width="180"
width="200"
>
<template slot-scope="scope">
<span>{{ parseTime(scope.row.workCostTime) }}</span>
</template>
</el-table-column>
<el-table-column label="维修费用" align="center" prop="workCost" />
<el-table-column label="维修状态" align="center" prop="workStatus" width="150">
<el-table-column
label="维修状态"
align="center"
prop="workStatus"
width="150"
>
<template slot-scope="scope">
<dict-tag
:options="dict.type.device_repair_status"
@ -431,7 +459,11 @@
<el-radio label="0"></el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="计划停机时间" prop="workPlanDownTime" v-if="form.workDownMachine == '1' ">
<el-form-item
label="计划停机时间"
prop="workPlanDownTime"
v-if="form.workDownMachine == '1'"
>
<el-date-picker
clearable
v-model="form.workPlanDownTime"
@ -535,7 +567,11 @@
<el-radio label="0"></el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="计划停机时间" prop="workPlanDownTime" v-if="form.workDownMachine == '1' ">
<el-form-item
label="计划停机时间"
prop="workPlanDownTime"
v-if="form.workDownMachine == '1'"
>
<el-date-picker
clearable
v-model="form.workPlanDownTime"
@ -659,7 +695,7 @@
</el-row>
<el-row>
<el-col :span="8">
<el-form-item prop="workOutsourcingUnit" label="委外单位" v-if="form.outWorkCode == null">
<el-form-item prop="workOutsourcingUnit" label="委外单位">
<el-input
v-model="form.workOutsourcingUnit"
placeholder="请填写委外单位"
@ -668,7 +704,7 @@
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item prop="outSourcePerson" label="委外维修人员" v-if="form.outWorkCode == null">
<el-form-item prop="outSourcePerson" label="委外维修人员">
<el-input
v-model="form.outSourcePerson"
placeholder="请填写委外维修人员"
@ -677,7 +713,7 @@
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item prop="workConnection" label="联系方式" v-if="form.outWorkCode == null">
<el-form-item prop="workConnection" label="联系方式">
<el-input
v-model="form.workConnection"
placeholder="请填写委外联系方式"
@ -688,7 +724,7 @@
</el-row>
<el-row>
<el-col :span="24">
<el-form-item prop="outSourceReason" label="委外原因" v-if="form.outWorkCode == null">
<el-form-item prop="outSourceReason" label="委外原因">
<el-input
v-model="form.outSourceReason"
placeholder="请输入委外原因"
@ -699,52 +735,6 @@
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item prop="workOutsourcingUnit" label="委外单位" v-if="form.outWorkCode != null">
<el-input
v-model="form.workOutsourcingUnit"
placeholder="请填写委外单位"
style="width: 195px"
disabled
/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item prop="outSourcePerson" label="委外维修人员" v-if="form.outWorkCode != null">
<el-input
v-model="form.outSourcePerson"
placeholder="请填写委外维修人员"
style="width: 195px"
disabled
/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item prop="workConnection" label="联系方式" v-if="form.outWorkCode != null">
<el-input
v-model="form.workConnection"
placeholder="请填写委外联系方式"
style="width: 195px"
disabled
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item prop="outSourceReason" label="委外原因" v-if="form.outWorkCode != null">
<el-input
v-model="form.outSourceReason"
placeholder="请输入委外原因"
type="textarea"
disabled
style="width: 840px"
:autosize="{ minRows: 2, maxRows: 4 }"
/>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitApplyForm"> </el-button>
@ -760,171 +750,108 @@
append-to-body
>
<el-form ref="form" :model="form" :rules="rules" label-width="90px">
<div class="step-margin">
<el-steps
:active="repairRecordSteps"
finish-status="success"
align-center
>
<el-step title="维修基本信息"></el-step>
<el-step title="填写处理结果"></el-step>
<el-step title="填写备件领用记录"></el-step>
</el-steps>
</div>
<!-- 维修基本信息 -->
<div v-if="this.repairRecordSteps == 0">
<div class="classification"><h3>基本信息</h3></div>
<el-row :gutter="10" class="mb8">
<el-col :span="8">
<el-form-item label="设备编码" prop="equipmentCode">
<el-input
v-model="form.equipmentCode"
style="width: 195px"
disabled
>
</el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="设备名称" prop="equipmentName">
<el-input
v-model="form.equipmentName"
style="width: 195px"
disabled
>
</el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="设备类型" prop="equipmentTypeName">
<el-input
v-model="form.equipmentTypeName"
style="width: 195px"
disabled
>
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10" class="mb8">
<el-col :span="8">
<el-form-item label="规格型号" prop="equipmentSpec">
<el-input
v-model="form.equipmentSpec"
style="width: 195px"
disabled
>
</el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="所在部门" prop="department">
<el-input
v-model="form.department"
style="width: 195px"
disabled
>
</el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="所在位置" prop="equipmentLocation">
<el-input
v-model="form.equipmentLocation"
style="width: 195px"
disabled
>
</el-input>
</el-form-item>
</el-col>
</el-row>
<div class="classification"><h3>故障信息</h3></div>
<el-row :gutter="10" class="mb8">
<el-col :span="8">
<el-form-item label="报修单号" prop="orderCode">
<el-input
v-model="form.orderCode"
style="width: 195px"
disabled
/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="维修单号" prop="orderCode">
<el-input
v-model="form.workCode"
style="width: 195px"
disabled
/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="故障时间" prop="orderBreakdownTime">
<el-input
v-model="form.orderBreakdownTime"
style="width: 195px"
disabled
/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10" class="mb8">
<el-col :span="8">
<el-form-item label="报修时间" prop="orderTime">
<el-input
v-model="form.orderTime"
style="width: 195px"
disabled
/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="报修人" prop="orderRepairman">
<el-input
v-model="form.orderRepairman"
style="width: 195px"
disabled
/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="联系方式" prop="orderConnection">
<el-input
v-model="form.orderConnection"
style="width: 195px"
disabled
/>
</el-form-item>
</el-col>
</el-row>
<el-col :span="23">
<el-form-item label="故障描述" prop="orderDesc">
<el-input
v-model="form.orderDesc"
placeholder="请输入故障描述"
type="textarea"
:autosize="{ minRows: 2, maxRows: 4 }"
style="width: 840px"
disabled
/>
</el-form-item>
</el-col>
</div>
<!-- 处理结果 -->
<div v-if="this.repairRecordSteps == 1" class="step-body" @mousemove = "handleMouseout">
<el-row :gutter="10" class="mb8">
<el-col :span="24">
<el-form-item label="原因分析" prop="workReason">
<el-input
v-model="form.workReason"
placeholder="请输入故障原因分析"
type="textarea"
:autosize="{ minRows: 2, maxRows: 4 }"
style="width: 840px"
/>
</el-form-item>
</el-col>
</el-row>
<el-tabs type="border-card">
<el-tab-pane label="维修基本信息">
<el-descriptions :column="2" border>
<el-descriptions-item label="维修工单号">{{
form.workCode
}}</el-descriptions-item>
<el-descriptions-item label="报修单号">{{
form.workCode
}}</el-descriptions-item>
<el-descriptions-item label="设备编号">{{
form.equipmentCode
}}</el-descriptions-item>
<el-descriptions-item label="设备名称">{{
form.equipmentName
}}</el-descriptions-item>
<el-descriptions-item label="设备类型">{{
form.equipmentTypeName
}}</el-descriptions-item>
<el-descriptions-item label="设备位置">{{
form.equipmentLocation
}}</el-descriptions-item>
<el-descriptions-item label="工作中心编码">{{
form.workshopCode
}}</el-descriptions-item>
<el-descriptions-item label="工作中心名称">{{
form.workshopName
}}</el-descriptions-item>
<el-descriptions-item label="报修来源">{{
form.orderSource
}}</el-descriptions-item>
<el-descriptions-item label="报修时间">{{
form.orderTime
}}</el-descriptions-item>
<el-descriptions-item label="报修人名字">{{
form.orderRepairmanName
}}</el-descriptions-item>
<el-descriptions-item label="联系方式">{{
form.orderConnection
}}</el-descriptions-item>
<el-descriptions-item label="是否立即处理">{{
form.workHandle ? "否" : "是"
}}</el-descriptions-item>
<el-descriptions-item label="计划维修时间">{{
form.workPlanTime
}}</el-descriptions-item>
<el-descriptions-item label="是否停机维修">{{
form.workDownMachine ? "否" : "是"
}}</el-descriptions-item>
<el-descriptions-item label="计划停机时间">{{
form.workPlanDownTime
}}</el-descriptions-item>
<el-descriptions-item label="是否委外">{{
form.workOutsource ? "否" : "是"
}}</el-descriptions-item>
<el-descriptions-item label="维修班组">{{
form.workTeam
}}</el-descriptions-item>
<el-descriptions-item label="维修班组人员">{{
form.workTeamPerson
}}</el-descriptions-item>
<el-descriptions-item label="故障描述">{{
form.orderDesc
}}</el-descriptions-item>
</el-descriptions>
<el-descriptions :column="1" border>
<el-descriptions-item label="维修前故障图片">
<el-image
v-for="(item, index) in urlBeforeLists"
:key="index"
:src="item"
></el-image
></el-descriptions-item>
</el-descriptions>
</el-tab-pane>
<el-tab-pane label="检查项信息">
<el-table :data="detailList" border style="width: 100%">
<el-table-column prop="itemName" label="检查项名称" width="150">
</el-table-column>
<el-table-column prop="standardName" label="标准名称" width="180">
</el-table-column>
<el-table-column prop="standardType" label="标准类型" width="100">
</el-table-column>
<el-table-column prop="detailReach" label="是否达标" width="50">
<template slot-scope="scope">
{{ scope.row.detailReach == "1" ? "达标" : "不达标" }}
</template>
</el-table-column>
<el-table-column prop="actualValue" label="实际值" width="50">
</el-table-column>
<el-table-column prop="detailUpLimit" label="上限" width="50">
</el-table-column>
<el-table-column prop="detailDownLimit" label="下限" width="50">
</el-table-column>
<el-table-column prop="detailUnit" label="单位" width="50">
</el-table-column>
<el-table-column prop="detailUnit" label="故障图片">
</el-table-column>
</el-table>
</el-tab-pane>
<el-tab-pane label="填写维修记录" >
<el-row :gutter="10" class="mb8">
<el-col :span="8">
<el-form-item label="维修人" prop="workPerson">
@ -951,10 +878,7 @@
<el-select
v-model="queryParams.workStatus"
placeholder="请选择维修状态"
@change="$forceUpdate()"
clearable
style="width: 195px"
@keyup.enter.native="handleQuery"
>
<el-option
v-for="dict in dict.type.device_repair_status"
@ -963,7 +887,6 @@
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
</el-form-item>
</el-col>
<el-col :span="8">
@ -987,6 +910,7 @@
type="datetime"
style="width: 195px"
value-format="yyyy-MM-dd HH:mm:ss"
@change="listening"
placeholder="请选择开始维修时间"
></el-date-picker>
</el-form-item>
@ -998,9 +922,9 @@
v-model="form.workEndTime"
type="datetime"
style="width: 195px"
@change="listening"
value-format="yyyy-MM-dd HH:mm:ss"
placeholder="请选择结束维修时间"
></el-date-picker>
</el-form-item>
</el-col>
@ -1029,23 +953,36 @@
</el-form-item>
</el-col>
</el-row>
</div>
<el-row :gutter="10" class="mb8">
<el-col :span="24">
<el-form-item label="原因分析" prop="workReason">
<el-input
v-model="form.workReason"
placeholder="请输入故障原因分析"
type="textarea"
:autosize="{ minRows: 2, maxRows: 4 }"
style="width: 840px"
/>
</el-form-item>
</el-col>
</el-row>
</el-tab-pane>
<el-tab-pane label="填写备件申领记录">
<!-- 使用备件领用记录 -->
<div v-if="this.repairRecordSteps == 2" class="step-body">
<ItemSelectSpareParts :optType="optType" :workCode="form.workCode" :equipmentCode="form.equipmentCode" v-if="form.workCode !=null"></ItemSelectSpareParts>
</div>
<ItemSelectSpareParts
:optType="optType"
:workCode="form.workCode"
:equipmentCode="form.equipmentCode"
v-if="form.workCode != null"
></ItemSelectSpareParts>
</el-tab-pane>
</el-tabs>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button v-if="this.repairRecordSteps > 0" @click="stepLast"
>上一步</el-button
>
<el-button v-if="this.repairRecordSteps < 2" @click="stepNext"
>下一步</el-button
>
<el-button
v-if="this.repairRecordSteps == 2"
type="primary"
@click="submitForm"
@click="submitWriteForm"
> </el-button
>
<el-button @click="cancelWriteForm"> </el-button>
@ -1069,6 +1006,7 @@ import ItemSelect from "./selectSingleEquipment.vue";
import ItemSelectPerson from "./selectSinglePerson.vue";
import { Message } from "element-ui";
import ItemSelectSpareParts from "./selectSpareParts.vue";
import moment from 'moment';
export default {
name: " RepairOrder",
@ -1079,8 +1017,6 @@ export default {
//
teamOption: [],
optType: undefined,
//
repairRecordSteps: 0,
//
loading: true,
//
@ -1201,20 +1137,17 @@ export default {
},
methods: {
// -
handleMouseout(){
console.log("打印维修时间")
listening() {
if (this.form.workEndTime != null && this.form.workStartTime != null) {
this.form.workCostTime = this.form.workEndTime - this.form.workStartTime;
var time1 = moment(this.form.workStartTime);
var time2 = moment(this.form.workEndTime);
let duration = moment.duration(time2.diff(time1));
let { _data } = duration;
console.log("打印维修时间",_data);
//
this.form.workCostTime = _data.years + "年" + _data.months + "月" + _data.days + "日" + _data.hours + "小时" + _data.minutes + "分" + _data.seconds + "秒";
}
},
//
stepLast() {
this.repairRecordSteps--;
},
//
stepNext() {
this.repairRecordSteps++;
},
/** 查询维修工单列表 */
getList() {
this.loading = true;
@ -1382,8 +1315,9 @@ export default {
if (valid) {
if (this.form.workId != null) {
writeRepairOrder(this.form).then((response) => {
this.$modal.msgSuccess("填写维修记录成功!");
this.openWrite = false;
this.$modal.msgSuccess("填写维修记录成功!");
this.queryParams.workStatus = null;
this.getList();
});
}
@ -1400,7 +1334,8 @@ export default {
},
//
onItemSelectedPerson(obj) {
this.form.workPerson = obj;
console.log(obj);
this.form.workPerson = obj[0].userName;
},
//
onItemSelectedEquipment(obj) {

@ -5,7 +5,7 @@
:modal= false
width="800px"
center
:before-close="cancelEquipmentForm"
:before-close="cancel"
>
<el-row :gutter="20">
<!--人员数据-->
@ -34,14 +34,13 @@
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"></el-button>
</el-form-item>
</el-form>
<el-table v-loading="loading" :data="itemList" @selection-change="handleEquipmentSelectionChange" ref="myTable">
<el-table v-loading="loading" :data="itemList" @selection-change="handleSelectionChange" ref="multipleTable">
<el-table-column width="50" align="center" type="selection"></el-table-column>
<!-- 序号 -->
<el-table-column type="index" width="90" align="center" :index="indexMethod" label="序号"></el-table-column>
<el-table-column label="人员编码" align="center" key="itemCode" prop="userName" v-if="columns[0].visible" ></el-table-column>
<el-table-column label="人员编码" align="center" key="itemCode" prop="userName" v-if="columns[0].visible" >
</el-table-column>
<el-table-column label="人员名称" align="left" key="itemName" prop="nickName" v-if="columns[1].visible" :show-overflow-tooltip="true" />
<el-table-column label="部门编码" align="center" prop="postCode" v-if="columns[2].visible" ></el-table-column>
<el-table-column label="部门名称" align="center" prop="postName" v-if="columns[3].visible" ></el-table-column>
</el-table>
<pagination
@ -54,14 +53,14 @@
</el-col>
</el-row>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitPersonForm"> </el-button>
<el-button @click="cancelEquipmentForm"> </el-button>
<el-button type="primary" @click="submitForm" :disabled="multiple"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</template>
<script>
import { getMaintenancePersonList} from "@/api/device/repairOrder";
import { getRepairPersonList} from "@/api/device/faultReport";
import { Message } from 'element-ui'
export default {
@ -95,8 +94,6 @@ export default {
columns: [
{ key: 0, label: `人员编码`, visible: true },
{ key: 1, label: `人员名称`, visible: true },
{ key: 2, label: `部门编码`, visible: true },
{ key: 3, label: `部门名称`, visible: true },
]
};
},
@ -115,7 +112,7 @@ export default {
this.resetForm("form");
},
handleEquipmentSelectionChange (val) {
handleSelectionChange (val) {
this.itemList = val;
},
@ -128,7 +125,7 @@ export default {
/** 查询设备编码列表*/
getList() {
this.loading = true;
getMaintenancePersonList(this.queryParams).then(response => {
getRepairPersonList(this.queryParams).then(response => {
this.itemList = response.rows;
this.total = response.total;
this.loading = false;
@ -136,14 +133,6 @@ export default {
);
},
//
handleNodeClick(data) {
console.log('id',data.id);
this.queryParams.equipmentTypeCode = data.equipmentTypeCode;
console.log(this.equipmentTypeCode);
this.handleQuery();
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
@ -158,27 +147,21 @@ export default {
},
//
handleEquipmentSelectionChange(selection) {
handleSelectionChange(selection) {
this.ids = selection.map(item => item.userId);
this.userCodes = selection.map(item => item.userNames);
this.userCodes = selection.map(item => item.userName);
this.single = selection.length!==1;
this.multiple = !selection.length;
},
submitPersonForm() {
const data = this.userNames;
const userCodes = data.toString();
if(data.length >1){
submitForm() {
if(this.$refs.multipleTable.selection.length > 1){
Message.warning("只能选择一个维修人,请勿选择多个!");
}else{
if(this.queryParams.itemCodeGet == ""){
this.queryParams.itemCodeGet = userCodes;
}
this.selectedRows = this.queryParams.itemCodeGet;
this.$emit('onSelected', this.selectedRows);
this.getList();
console.log(this.$refs.multipleTable.selection);
this.$emit('onSelected', this.$refs.multipleTable.selection);
this.showFlag = false;
this.queryParams.itemCodeGet = "";
this.getList();
}
}
}

@ -185,6 +185,16 @@
<el-table v-loading="loading" :data="repairOrderList">
<el-table-column width="55" align="center" border />
<!-- 序号 -->
<el-table-column
type="index"
width="90"
align="center"
:index="indexMethod"
label="序号"
fixed
>
</el-table-column>
<el-table-column
label="维修单号"
align="center"
@ -196,7 +206,6 @@
<el-button
type="text"
@click="handleView(scope.row)"
v-hasPermi="['device:repairOrderReport:query']"
>{{ scope.row.workCode }}</el-button
>
</template>
@ -335,7 +344,7 @@
@pagination="getList"
/>
<!-- 修改维修工单对话框 -->
<!-- 查看维修工单详情对话框 -->
<el-dialog
:title="title"
:visible.sync="openView"
@ -639,6 +648,10 @@ export default {
this.getList();
},
methods: {
//
indexMethod(index) {
return index + 1;
},
/** 查询维修工单列表 */
getList() {
this.loading = true;

@ -822,7 +822,6 @@ export default {
setWorkCenter() {
getWorkCenter().then(response => {
this.workCenterList = response.data;
console.log(this.workCenterList)
})
},
//
@ -831,8 +830,6 @@ export default {
},
//
changeArray(e) {
console.log(e)
console.log(this.form.planTimeArray)
if (this.form.planLoop == null) {
this.$message({
message: '请输入循环周期!',
@ -950,10 +947,6 @@ export default {
},
//
delStandard(e) {
console.log("e")
console.log(e)
console.log("this")
console.log(this.itemDetailList)
e.showFlag = false;
for (let i = 0; i < this.itemDetailList.length; i++) {
if (this.itemDetailList[i].detailCode == e.detailCode) {
@ -965,13 +958,6 @@ export default {
// -
editorTheItem(e) {
console.log('e')
console.log(e)
console.log("form")
console.log(this.form.equipmentItem)
console.log("长度")
console.log(this.form.equipmentItem.length)
//
this.itemDetailList = [];
@ -980,19 +966,12 @@ export default {
for (let i = 0; i < this.form.equipmentItem.length; i++) {
if (e.equipmentCode == this.form.equipmentItem[i].equipmentCode) {
console.log("一次")
console.log(e.equipmentCode == this.form.equipmentItem[i].equipmentCode)
console.log(e.equipmentCode)
console.log(this.form.equipmentItem[i].equipmentCode)
for (let j = 0; j < this.form.equipmentItem[i].equPlanDetailList.length; j++) {
//
var itemName = this.form.equipmentItem[i].equPlanDetailList[j].itemName;
console.log("长度")
console.log(this.form.equipmentItem[i].equPlanDetailList[j].equPlanStandardList.length)
for (let k = 0; k < this.form.equipmentItem[i].equPlanDetailList[j].equPlanStandardList.length; k++){
if (this.form.equipmentItem[i].equPlanDetailList[j].equPlanStandardList[k].showFlag == true) {
@ -1002,7 +981,6 @@ export default {
}else {
this.form.equipmentItem[i].equPlanDetailList[j].equPlanStandardList[k].standardTypeName = "定量";
}
console.log(qw++)
this.itemDetailList.push(this.form.equipmentItem[i].equPlanDetailList[j].equPlanStandardList[k]);
}
@ -1191,8 +1169,6 @@ export default {
initUpdatePlanInfo(row).then(response => {
this.form = response.data;
console.log(response.data)
this.selectPersonList = response.data.personListVO;
for (let i = 0; i < this.form.equipmentItem.length; i++) {

@ -42,6 +42,26 @@
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="工单状态" prop="orderStatus">
<el-select v-model="queryParams.planStatus" placeholder="请选择工单状态" clearable>
<el-option
v-for="dict in dict.type.device_order_status"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="循环周期" prop="planLoop">
<el-select v-model="queryParams.planLoopType" placeholder="请选择循环周期" clearable>
<el-option
v-for="dict in dict.type.device_loop_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item v-if="false" label="循环周期" prop="planLoop">
<el-input
@ -171,7 +191,7 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="创建人" prop="createBy">
<el-form-item v-if="false" label="创建人" prop="createBy">
<el-input
v-model="queryParams.createBy"
placeholder="请输入创建人"
@ -179,7 +199,7 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="创建时间" prop="createTime">
<el-form-item v-if="false" label="创建时间" prop="createTime">
<el-date-picker clearable
v-model="queryParams.createTime"
type="date"
@ -187,7 +207,7 @@
placeholder="请选择创建时间">
</el-date-picker>
</el-form-item>
<el-form-item label="更新人" prop="updateBy">
<el-form-item v-if="false" label="更新人" prop="updateBy">
<el-input
v-model="queryParams.updateBy"
placeholder="请输入更新人"
@ -195,7 +215,7 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="更新时间" prop="updateTime">
<el-form-item v-if="false" label="更新时间" prop="updateTime">
<el-date-picker clearable
v-model="queryParams.updateTime"
type="date"
@ -203,6 +223,45 @@
placeholder="请选择更新时间">
</el-date-picker>
</el-form-item>
<el-form-item label-width="100px" label="循环开始时间" prop="planLoopStart">
<el-date-picker
v-model="queryParams.loopStartArray"
type="daterange"
align="right"
unlink-panels
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
value-format="yyyy-MM-dd"
:picker-options="pickerOptions">
</el-date-picker>
</el-form-item>
<el-form-item label-width="100px" label="执行开始时间" prop="orderStart">
<el-date-picker
v-model="queryParams.orderStartArray"
type="daterange"
align="right"
unlink-panels
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
value-format="yyyy-MM-dd"
:picker-options="pickerOptions">
</el-date-picker>
</el-form-item>
<el-form-item label-width="100px" label="执行结束时间" prop="orderEnd">
<el-date-picker
v-model="queryParams.orderEndArray"
type="daterange"
align="right"
unlink-panels
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
value-format="yyyy-MM-dd"
:picker-options="pickerOptions">
</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>
@ -259,10 +318,19 @@
<el-table-column type="selection" width="55" align="center" />
<el-table-column v-if="false" label="主键" align="center" prop="orderId" />
<el-table-column v-if="false" label="计划id" align="center" prop="planId" />
<el-table-column width="120" label="计划编码" align="center" prop="planCode" />
<el-table-column width="150" label="计划编码" align="center" prop="planCode" />
<el-table-column v-if="false" label="计划类型" align="center" prop="planType" />
<el-table-column width="120" label="工单号" align="center" prop="orderCode" />
<el-table-column width="150" label="点检单号" align="center" prop="orderCode" fixed>
<template slot-scope="scope">
<el-button
type="text"
@click="showWork(scope.row)"
>{{ scope.row.orderCode }}</el-button
>
</template>
</el-table-column>
<el-table-column label="车间编码" align="center" prop="planWorkshop" />
<el-table-column width="150" label="车间" align="center" prop="workCenterName"/>
<el-table-column v-if="false" label="产线" align="center" prop="planProdLine" />
<el-table-column label="循环周期" align="center" prop="planLoop" />
<el-table-column width="120" label="循环周期类型" align="center" prop="planLoopType" >
@ -270,29 +338,28 @@
<dict-tag :options="dict.type.device_loop_type" :value="scope.row.planLoopType"/>
</template>
</el-table-column>
<el-table-column label="循环执行时间开始" align="center" prop="planLoopStart" width="180">
<el-table-column width="120" label="循环开始时间" align="center" prop="planLoopStart">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.planLoopStart, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="循环执行时间结束" align="center" prop="planLoopEnd" width="180">
<el-table-column v-if="false" width="120" label="循环范围结束" align="center" prop="planLoopEnd">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.planLoopEnd, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="实际开始时间" align="center" prop="orderStart" width="180">
<el-table-column width="120" label="执行开始时间" align="center" prop="orderStart">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.orderStart, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="实际结束时间" align="center" prop="orderEnd" width="180">
<el-table-column width="120" label="执行结束时间" align="center" prop="orderEnd">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.orderEnd, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="设备编码" align="center" prop="equipmentCode" />
<el-table-column label="设备名称" align="center" prop="equipmentName" />
<el-table-column label="设备名称" align="center" prop="equipmentName" />
<el-table-column width="100" label="设备编码" align="center" prop="equipmentCode" />
<el-table-column width="120" label="设备名称" align="center" prop="equipmentName" />
<el-table-column label="工单状态" align="center" prop="orderStatus" >
<template slot-scope="scope">
<dict-tag :options="dict.type.device_order_status" :value="scope.row.orderStatus"/>
@ -363,76 +430,54 @@
</el-descriptions>
</el-tab-pane>
<el-tab-pane label="记录">
<!-- 设备 -->
<el-row>
<el-col :offset="9" :span="6">
<el-form-item label="设备名称:">
{{ this.form.equ.equipmentName }}
</el-form-item>
</el-col>
</el-row>
<div v-for="(detail,detailIndex) in form.equ.detailList" :key="detailIndex">
<!-- 检查项 -->
<el-row>
<el-col :span="6">
<el-form-item label="检查项:">
{{ detail.itemName }}
</el-form-item>
</el-col>
</el-row>
<div v-for="(standard,standardIndex) in detail.standardList" :key="standardIndex">
<div v-if="standard.standardType == 'qualitative' ">
<!-- 标准 -->
<el-row>
<el-col :span="6">
<el-form-item label="标准:">
{{ standard.standardName }}
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="是否达标:">
<el-radio v-model="standard.detailReach" label="0"></el-radio>
<el-radio v-model="standard.detailReach" label="1"></el-radio>
</el-form-item>
</el-col>
<el-col :span="2">
<el-button type="primary" icon="el-icon-picture" circle @click="imgDialog = true"></el-button>
</el-col>
</el-row>
</div>
<div v-else>
<!-- 标准 -->
<el-row>
<el-col :span="5">
<el-form-item label="标准:">
{{ standard.standardName }}
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="上限:">
{{ standard.detailUpLimit }}
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="下限:">
{{ standard.detailDownLimit }}
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="单位:">
{{ standard.detailUnit }}
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="实际值:">
<el-input v-model="standard.actualValue" placeholder="请输入实际值"></el-input>
</el-form-item>
</el-col>
</el-row>
</div>
</div>
<el-divider></el-divider>
</div>
<el-table
:data="recordList"
border
style="width: 100%">
<el-table-column
prop="itemName"
label="检查项"
>
</el-table-column>
<el-table-column
prop="standardName"
label="标准名称"
>
</el-table-column>
<el-table-column
prop="detailReach"
label="是否达标">
<template slot-scope="scope">
<el-select v-model="scope.row.detailReach" placeholder="请选择">
<el-option
v-for="item in dict.type.device_reach_standard"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</template>
</el-table-column>
<el-table-column
prop="detailUpLimit"
label="上限">
</el-table-column>
<el-table-column
prop="detailDownLimit"
label="下限">
</el-table-column>
<el-table-column
prop="actualValue"
label="实际值">
<template slot-scope="scope">
<el-input v-if="scope.row.standardType == 'quantify' " size="small" v-model="scope.row.actualValue" @change="handleEdit(scope.$index,scope.row)"></el-input>
</template>
</el-table-column>
<el-table-column
prop="detailUnit"
label="单位">
</el-table-column>
</el-table>
</el-tab-pane>
<el-tab-pane label="工单信息修改">
<el-row>
@ -468,6 +513,87 @@
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
<!-- 点检详情 -->
<el-dialog
title="点检详情"
:visible.sync="workDetail"
width="900px"
>
<el-tabs type="border-card">
<el-tab-pane label="点检信息">
<el-descriptions title="" border :column="2">
<el-descriptions-item label="计划编码">{{ workVO.order.planCode }}</el-descriptions-item>
<el-descriptions-item label="计划名称">{{ workVO.order.planName }}</el-descriptions-item>
<el-descriptions-item label="循环周期">{{ workVO.order.planLoop }}{{ workVO.order.planLoopType }}
</el-descriptions-item>
<el-descriptions-item label="工单编码">{{ workVO.order.orderCode }}</el-descriptions-item>
<el-descriptions-item label="车间编码">{{ workVO.order.planWorkshop }}</el-descriptions-item>
<el-descriptions-item label="循环开始时间">{{ workVO.order.planLoopStart }}</el-descriptions-item>
<el-descriptions-item v-if="false" label="点检执行结束时间">{{ workVO.order.planLoopEnd }}</el-descriptions-item>
<el-descriptions-item label="执行开始时间">{{ workVO.order.orderStart }}</el-descriptions-item>
<el-descriptions-item label="执行结束时间">{{ workVO.order.orderEnd }}</el-descriptions-item>
<el-descriptions-item label="点检人">{{ workVO.order.planPerson }}</el-descriptions-item>
<el-descriptions-item label="报修单号">{{ workVO.order.repairCode }}</el-descriptions-item>
</el-descriptions>
</el-tab-pane>
<el-tab-pane label="设备信息">
<el-descriptions class="my-margin-top" title="" :column="2" border>
<el-descriptions-item label="设备编码">{{ workVO.equ.equipmentCode }}</el-descriptions-item>
<el-descriptions-item label="设备名称">{{ workVO.equ.equipmentName }}</el-descriptions-item>
<el-descriptions-item label="设备位置">{{ workVO.equ.equipmentLocation }}</el-descriptions-item>
<el-descriptions-item label="设备类型编码">{{ workVO.equ.equipmentTypeCode }}</el-descriptions-item>
<el-descriptions-item label="设备类型名称">{{ workVO.equ.equipmentTypeName }}</el-descriptions-item>
<el-descriptions-item label="所属工作中心编码">{{ workVO.equ.workshopCode }}</el-descriptions-item>
<el-descriptions-item label="所属工作中心名称">{{ workVO.equ.workshopName }}</el-descriptions-item>
</el-descriptions>
</el-tab-pane>
<el-tab-pane label="检查项信息">
<div v-for="(detail,index) in workVO.detailList" :key="index">
<el-divider content-position="left">{{ detail.itemName }}</el-divider>
<el-table
:data="detail.standardList"
border
style="width: 100%">
<el-table-column
prop="standardName"
label="标准名称"
width="180">
</el-table-column>
<el-table-column
prop="standardTypeName"
label="标准类型"
width="180">
</el-table-column>
<el-table-column
prop="detailReach"
label="是否达标">
</el-table-column>
<el-table-column
prop="actualValue"
label="实际值">
</el-table-column>
<el-table-column
prop="detailUpLimit"
label="上限">
</el-table-column>
<el-table-column
prop="detailDownLimit"
label="下限">
</el-table-column>
<el-table-column
prop="detailUnit"
label="单位">
</el-table-column>
</el-table>
</div>
</el-tab-pane>
</el-tabs>
<span slot="footer" class="dialog-footer">
<el-button @click="workDetail = false"> </el-button>
<el-button type="primary" @click="workDetail = false"> </el-button>
</span>
</el-dialog>
</div>
</template>
@ -475,14 +601,70 @@
import { listSpotInspectionOrder, getSpotInspectionOrder, delSpotInspectionOrder, addSpotInspectionOrder, updateSpotInspectionOrder } from "@/api/device/spotInspectionOrder";
import {getDeviceOrder, listDeviceOrder, updateDeviceOrder} from "@/api/device/deviceOrder";
import {getWorkCenter} from "@/api/device/plan";
import {getInspectionWork} from "@/api/device/inspectionWork";
export default {
name: "SpotInspectionOrder",
dicts: ['device_order_status', 'device_loop_type'],
dicts: ['device_order_status', 'device_loop_type','device_reach_standard'],
data() {
return {
dialogImageUrl: '',
dialogVisible: false,
workDetail:false,
// VO
workVO: {
order: {
planCode:null,
planName:null,
planLoop:null,
planLoopType:null,
orderCode:null,
planWorkShop:null,
planLoopStart:null,
planLoopEnd:null,
orderStart:null,
orderEnd:null,
planPerson:null,
},equ: {
equipmentCode:null,
equipmentName: null,
equipmentLocation:null,
equipmentTypeCode:null,
equipmentTypeName:null,
workshopCode:null,
workshopName:null,
},detailList:[]
},
//
pickerOptions: {
shortcuts: [{
text: '最近一周',
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
picker.$emit('pick', [start, end]);
}
}, {
text: '最近一个月',
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
picker.$emit('pick', [start, end]);
}
}, {
text: '最近三个月',
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
picker.$emit('pick', [start, end]);
}
}]
},
//
recordList: [],
disabled: false,
//
imgDialog: false,
@ -523,6 +705,7 @@ export default {
orderStart: null,
orderEnd: null,
equipmentCode: null,
equipmentName: null,
orderStatus: null,
orderCost: null,
planPerson: null,
@ -537,7 +720,9 @@ export default {
createTime: null,
updateBy: null,
updateTime: null,
equ: {equipmentName: null},
loopStartArray: [],
orderStartArray: [],
orderEndArray: [],
},
//
form: {
@ -561,6 +746,16 @@ export default {
this.dialogImageUrl = file.url;
this.dialogVisible = true;
},
//
showWork(row) {
this.reset();
const orderId = row.orderId || this.ids
getInspectionWork(orderId).then(response => {
this.workVO = response.data;
this.workDetail = true;
});
},
handleDownload(file) {
console.log(file);
},
@ -568,7 +763,6 @@ export default {
setWorkCenter() {
getWorkCenter().then(response => {
this.workCenterList = response.data;
console.log(this.workCenterList)
})
},
/** 查询点检工单列表 */
@ -602,6 +796,7 @@ export default {
orderStart: null,
orderEnd: null,
equipmentCode: null,
equipmentName: null,
orderStatus: null,
orderCost: null,
planPerson: null,
@ -617,6 +812,9 @@ export default {
updateBy: null,
updateTime: null,
equ: {equipmentName: null},
loopStartArray: [],
orderStartArray: [],
orderEndArray: [],
};
this.resetForm("form");
},
@ -627,6 +825,9 @@ export default {
},
/** 重置按钮操作 */
resetQuery() {
this.queryParams.loopStartArray = [];
this.queryParams.orderStartArray = [];
this.queryParams.orderEndArray = [];
this.resetForm("queryForm");
this.handleQuery();
},
@ -645,14 +846,19 @@ export default {
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
this.recordList = [];
const orderCode = row.orderCode || this.ids
getDeviceOrder(orderCode).then(response => {
this.form = response.data;
console.log("这里是回显信息")
console.log(response.data)
if (response.data.timeArray[0] == null) {
response.data.timeArray = [];
}
for (let i = 0; i < this.form.detailList.length; i++) {
for (let j = 0; j < this.form.detailList[i].standardList.length; j++) {
this.form.detailList[i].standardList[j].itemName = this.form.detailList[i].itemName;
this.recordList.push(this.form.detailList[i].standardList[j]);
}
}
this.open = true;
this.title = "填写记录";
});

@ -17,21 +17,23 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="单号" prop="orderCode">
<el-form-item label="单号" prop="orderCode">
<el-input
v-model="queryParams.orderCode"
placeholder="请输入单号"
placeholder="请输入单号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="车间" prop="planWorkshop">
<el-input
v-model="queryParams.planWorkshop"
placeholder="请输入车间"
clearable
@keyup.enter.native="handleQuery"
<el-form-item label="车间编码" prop="planWorkshop">
<el-select v-model="queryParams.planWorkshop" placeholder="请选择车间" clearable>
<el-option
v-for="work in workCenterList"
:key="work.factoryCode"
:label="work.factoryName"
:value="work.factoryCode"
/>
</el-select>
</el-form-item>
<el-form-item v-if="false" label="产线" prop="planProdLine">
<el-input
@ -41,6 +43,16 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="循环周期" prop="planLoop">
<el-select v-model="queryParams.planLoopType" placeholder="请选择循环周期" clearable>
<el-option
v-for="dict in dict.type.device_loop_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item v-if="false" label="循环周期" prop="planLoop">
<el-input
v-model="queryParams.planLoop"
@ -89,6 +101,14 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="设备名称" prop="equipmentCode">
<el-input
v-model="queryParams.equipmentName"
placeholder="请输入设备名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item v-if="false" label="工单费用" prop="orderCost">
<el-input
v-model="queryParams.orderCost"
@ -97,10 +117,10 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="责任人" prop="planPerson">
<el-form-item label="点检人" prop="planPerson">
<el-input
v-model="queryParams.planPerson"
placeholder="请输入责任人"
placeholder="请输入点检人"
clearable
@keyup.enter.native="handleQuery"
/>
@ -161,7 +181,7 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="创建人" prop="createBy">
<el-form-item v-if="false" label="创建人" prop="createBy">
<el-input
v-model="queryParams.createBy"
placeholder="请输入创建人"
@ -169,7 +189,7 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="创建时间" prop="createTime">
<el-form-item v-if="false" label="创建时间" prop="createTime">
<el-date-picker clearable
v-model="queryParams.createTime"
type="date"
@ -177,7 +197,7 @@
placeholder="请选择创建时间">
</el-date-picker>
</el-form-item>
<el-form-item label="更新人" prop="updateBy">
<el-form-item v-if="false" label="更新人" prop="updateBy">
<el-input
v-model="queryParams.updateBy"
placeholder="请输入更新人"
@ -185,7 +205,7 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="更新时间" prop="updateTime">
<el-form-item v-if="false" label="更新时间" prop="updateTime">
<el-date-picker clearable
v-model="queryParams.updateTime"
type="date"
@ -193,6 +213,45 @@
placeholder="请选择更新时间">
</el-date-picker>
</el-form-item>
<el-form-item label-width="100px" label="循环开始时间" prop="planLoopStart">
<el-date-picker
v-model="queryParams.loopStartArray"
type="daterange"
align="right"
unlink-panels
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
value-format="yyyy-MM-dd"
:picker-options="pickerOptions">
</el-date-picker>
</el-form-item>
<el-form-item label-width="100px" label="执行开始时间" prop="orderStart">
<el-date-picker
v-model="queryParams.orderStartArray"
type="daterange"
align="right"
unlink-panels
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
value-format="yyyy-MM-dd"
:picker-options="pickerOptions">
</el-date-picker>
</el-form-item>
<el-form-item label-width="100px" label="执行结束时间" prop="orderEnd">
<el-date-picker
v-model="queryParams.orderEndArray"
type="daterange"
align="right"
unlink-panels
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
value-format="yyyy-MM-dd"
:picker-options="pickerOptions">
</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>
@ -245,45 +304,58 @@
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table @cell-click="showWork" v-loading="loading" :data="inspectionWorkList">
<el-table v-loading="loading" :data="inspectionWorkList">
<el-table-column v-if="false" label="主键" align="center" prop="orderId" />
<el-table-column v-if="false" label="计划id" align="center" prop="planId" />
<el-table-column width="150" label="计划编码" align="center" prop="planCode" />
<el-table-column v-if="false" label="计划类型" align="center" prop="planType" />
<el-table-column width="150" label="单号" align="center" prop="orderCode" />
<el-table-column label="车间" align="center" prop="planWorkshop" />
<el-table-column width="150" label="点检单号" align="center" prop="orderCode" fixed>
<template slot-scope="scope">
<el-button
type="text"
@click="showWork(scope.row)"
>{{ scope.row.orderCode }}</el-button
>
</template>
</el-table-column>
<el-table-column label="车间编码" align="center" prop="planWorkshop" />
<el-table-column width="150" label="车间" align="center" prop="workCenterName"/>
<el-table-column v-if="false" label="产线" align="center" prop="planProdLine" />
<el-table-column label="循环周期" align="center" prop="planLoop" />
<el-table-column width="120" label="循环周期类型" align="center" prop="planLoopType" />
<el-table-column label="循环执行时间开始" align="center" prop="planLoopStart" width="150">
<el-table-column width="120" label="循环周期类型" align="center" prop="planLoopType" >
<template slot-scope="scope">
<dict-tag :options="dict.type.device_loop_type" :value="scope.row.planLoopType"/>
</template>
</el-table-column>
<el-table-column width="120" label="循环开始时间" align="center" prop="planLoopStart">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.planLoopStart, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="循环执行时间结束" align="center" prop="planLoopEnd" width="150">
<el-table-column v-if="false" width="120" label="循环范围结束" align="center" prop="planLoopEnd">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.planLoopEnd, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="实际开始时间" align="center" prop="orderStart" width="150">
<el-table-column width="120" label="执行开始时间" align="center" prop="orderStart">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.orderStart, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="实际结束时间" align="center" prop="orderEnd" width="150">
<el-table-column width="120" label="执行结束时间" align="center" prop="orderEnd">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.orderEnd, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="设备编码" align="center" prop="equipmentCode" />
<el-table-column label="设备名称" align="center" prop="equipmentName" />
<el-table-column width="100" label="设备编码" align="center" prop="equipmentCode" />
<el-table-column width="120" label="设备名称" align="center" prop="equipmentName" />
<el-table-column label="工单状态" align="center" prop="orderStatus" >
<template slot-scope="scope">
<dict-tag :options="dict.type.device_order_status" :value="scope.row.orderStatus"/>
</template>
</el-table-column>
<el-table-column v-if="false" label="工单费用" align="center" prop="orderCost" />
<el-table-column label="责任人" align="center" prop="planPerson" />
<el-table-column label="点检人" align="center" prop="planPerson" />
<el-table-column v-if="false" label="工单用时" align="center" prop="orderCostTime" />
<el-table-column v-if="false" label="签字" align="center" prop="orderSignPerson" />
<el-table-column v-if="false" label="工厂" align="center" prop="factoryCode" />
@ -292,13 +364,13 @@
<el-table-column v-if="false" label="备用字段3" align="center" prop="attr3" />
<el-table-column v-if="false" label="删除标志" align="center" prop="delFlag" />
<el-table-column label="创建人" align="center" prop="createBy" />
<el-table-column label="创建时间" align="center" prop="createTime" width="150">
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="更新人" align="center" prop="updateBy" />
<el-table-column label="更新时间" align="center" prop="updateTime" width="150">
<el-table-column label="更新时间" align="center" prop="updateTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.updateTime, '{y}-{m}-{d}') }}</span>
</template>
@ -345,10 +417,10 @@
</el-descriptions-item>
<el-descriptions-item label="工单编码">{{ workVO.order.orderCode }}</el-descriptions-item>
<el-descriptions-item label="车间编码">{{ workVO.order.planWorkshop }}</el-descriptions-item>
<el-descriptions-item label="点检执行开始时间">{{ workVO.order.planLoopStart }}</el-descriptions-item>
<el-descriptions-item label="点检执行结束时间">{{ workVO.order.planLoopEnd }}</el-descriptions-item>
<el-descriptions-item label="实际开始时间">{{ workVO.order.orderStart }}</el-descriptions-item>
<el-descriptions-item label="实际结束时间">{{ workVO.order.orderEnd }}</el-descriptions-item>
<el-descriptions-item label="循环开始时间">{{ workVO.order.planLoopStart }}</el-descriptions-item>
<el-descriptions-item v-if="false" label="点检执行结束时间">{{ workVO.order.planLoopEnd }}</el-descriptions-item>
<el-descriptions-item label="执行开始时间">{{ workVO.order.orderStart }}</el-descriptions-item>
<el-descriptions-item label="执行结束时间">{{ workVO.order.orderEnd }}</el-descriptions-item>
<el-descriptions-item label="点检人">{{ workVO.order.planPerson }}</el-descriptions-item>
<el-descriptions-item label="报修单号">{{ workVO.order.repairCode }}</el-descriptions-item>
</el-descriptions>
@ -423,12 +495,44 @@
<script>
import { listInspectionWork, getInspectionWork, delInspectionWork, addInspectionWork, updateInspectionWork } from "@/api/device/inspectionWork";
import {getWorkCenter} from "@/api/device/plan";
import {listDeviceOrder} from "@/api/device/deviceOrder";
export default {
name: "InspectionWork",
dicts: ['device_order_status', 'device_loop_type'],
data() {
return {
//
pickerOptions: {
shortcuts: [{
text: '最近一周',
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
picker.$emit('pick', [start, end]);
}
}, {
text: '最近一个月',
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
picker.$emit('pick', [start, end]);
}
}, {
text: '最近三个月',
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
picker.$emit('pick', [start, end]);
}
}]
},
//
workCenterList:[],
// VO
workVO: {
order: {
@ -490,7 +594,7 @@ export default {
orderStart: null,
orderEnd: null,
equipmentCode: null,
orderStatus: null,
orderStatus: '1',
orderCost: null,
planPerson: null,
orderCostTime: null,
@ -503,7 +607,10 @@ export default {
createBy: null,
createTime: null,
updateBy: null,
updateTime: null
updateTime: null,
loopStartArray: [],
orderStartArray: [],
orderEndArray: [],
},
//
form: {},
@ -513,18 +620,22 @@ export default {
};
},
created() {
this.setWorkCenter();
this.getList();
},
methods: {
//
//
setWorkCenter() {
getWorkCenter().then(response => {
this.workCenterList = response.data;
})
},
//
showWork(row) {
console.log("测试成功")
console.log(row)
this.reset();
const orderId = row.orderId || this.ids
getInspectionWork(orderId).then(response => {
this.workVO = response.data;
console.log(this.workVO);
this.workDetail = true;
});
@ -532,7 +643,7 @@ export default {
/** 查询点检记录列表 */
getList() {
this.loading = true;
listInspectionWork(this.queryParams).then(response => {
listDeviceOrder(this.queryParams).then(response => {
this.inspectionWorkList = response.rows;
this.total = response.total;
this.loading = false;
@ -560,7 +671,7 @@ export default {
orderStart: null,
orderEnd: null,
equipmentCode: null,
orderStatus: null,
orderStatus: '1',
orderCost: null,
planPerson: null,
orderCostTime: null,
@ -573,7 +684,10 @@ export default {
createBy: null,
createTime: null,
updateBy: null,
updateTime: null
updateTime: null,
loopStartArray: [],
orderStartArray: [],
orderEndArray: [],
};
this.resetForm("form");
},
@ -584,6 +698,9 @@ export default {
},
/** 重置按钮操作 */
resetQuery() {
this.queryParams.loopStartArray = [];
this.queryParams.orderStartArray = [];
this.queryParams.orderEndArray = [];
this.resetForm("queryForm");
this.handleQuery();
},

@ -17,21 +17,23 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="保养单号" prop="orderCode">
<el-form-item label="单号" prop="orderCode">
<el-input
v-model="queryParams.orderCode"
placeholder="请输入单号"
placeholder="请输入单号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="车间" prop="planWorkshop">
<el-input
v-model="queryParams.planWorkshop"
placeholder="请输入车间"
clearable
@keyup.enter.native="handleQuery"
<el-form-item label="车间编码" prop="planWorkshop">
<el-select v-model="queryParams.planWorkshop" placeholder="请选择车间" clearable>
<el-option
v-for="work in workCenterList"
:key="work.factoryCode"
:label="work.factoryName"
:value="work.factoryCode"
/>
</el-select>
</el-form-item>
<el-form-item v-if="false" label="产线" prop="planProdLine">
<el-input
@ -41,7 +43,27 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="工单状态" prop="orderStatus">
<el-select v-model="queryParams.planStatus" placeholder="请选择工单状态" clearable>
<el-option
v-for="dict in dict.type.device_order_status"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="循环周期" prop="planLoop">
<el-select v-model="queryParams.planLoopType" placeholder="请选择循环周期" clearable>
<el-option
v-for="dict in dict.type.device_loop_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item v-if="false" label="循环周期" prop="planLoop">
<el-input
v-model="queryParams.planLoop"
placeholder="请输入循环周期"
@ -89,7 +111,15 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="工单费用" prop="orderCost">
<el-form-item label="设备名称" prop="equipmentCode">
<el-input
v-model="queryParams.equipmentName"
placeholder="请输入设备名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item v-if="false" label="工单费用" prop="orderCost">
<el-input
v-model="queryParams.orderCost"
placeholder="请输入工单费用"
@ -97,10 +127,10 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="保养人" prop="planPerson">
<el-form-item label="点检人" prop="planPerson">
<el-input
v-model="queryParams.planPerson"
placeholder="请输入保养人"
placeholder="请输入点检人"
clearable
@keyup.enter.native="handleQuery"
/>
@ -161,7 +191,7 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="创建人" prop="createBy">
<el-form-item v-if="false" label="创建人" prop="createBy">
<el-input
v-model="queryParams.createBy"
placeholder="请输入创建人"
@ -169,7 +199,7 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="创建时间" prop="createTime">
<el-form-item v-if="false" label="创建时间" prop="createTime">
<el-date-picker clearable
v-model="queryParams.createTime"
type="date"
@ -177,7 +207,7 @@
placeholder="请选择创建时间">
</el-date-picker>
</el-form-item>
<el-form-item label="更新人" prop="updateBy">
<el-form-item v-if="false" label="更新人" prop="updateBy">
<el-input
v-model="queryParams.updateBy"
placeholder="请输入更新人"
@ -185,7 +215,7 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="更新时间" prop="updateTime">
<el-form-item v-if="false" label="更新时间" prop="updateTime">
<el-date-picker clearable
v-model="queryParams.updateTime"
type="date"
@ -193,6 +223,78 @@
placeholder="请选择更新时间">
</el-date-picker>
</el-form-item>
<el-form-item label-width="100px" label="循环范围开始" prop="planLoopStart">
<el-date-picker
v-model="queryParams.loopStartArray"
type="daterange"
align="right"
unlink-panels
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
value-format="yyyy-MM-dd"
:picker-options="pickerOptions">
</el-date-picker>
</el-form-item>
<el-form-item label-width="100px" label="循环范围结束" prop="planLoopEnd">
<el-date-picker
v-model="queryParams.loopEndArray"
type="daterange"
align="right"
unlink-panels
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
value-format="yyyy-MM-dd"
:picker-options="pickerOptions">
</el-date-picker>
</el-form-item>
<el-form-item label-width="100px" label="执行开始时间" prop="orderStart">
<el-date-picker
v-model="queryParams.orderStartArray"
type="daterange"
align="right"
unlink-panels
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
value-format="yyyy-MM-dd"
:picker-options="pickerOptions">
</el-date-picker>
</el-form-item>
<el-form-item label-width="100px" label="执行结束时间" prop="orderEnd">
<el-date-picker
v-model="queryParams.orderEndArray"
type="daterange"
align="right"
unlink-panels
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
value-format="yyyy-MM-dd"
:picker-options="pickerOptions">
</el-date-picker>
</el-form-item>
<el-form-item label="保养类型" prop="upkeep">
<el-select v-model="queryParams.upkeep" placeholder="请选择保养类型" clearable>
<el-option
v-for="dict in dict.type.device_upkeep_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="检验状态" prop="orderInspect">
<el-select v-model="queryParams.orderInspect" placeholder="请选择保养类型" clearable>
<el-option
v-for="dict in dict.type.device_inspect_status"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</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>
@ -252,40 +354,66 @@
<el-table-column type="selection" width="55" align="center" />
<el-table-column v-if="false" label="主键" align="center" prop="orderId" />
<el-table-column v-if="false" label="计划id" align="center" prop="planId" />
<el-table-column label="计划编码" align="center" prop="planCode"/>
<el-table-column width="150" label="计划编码" align="center" prop="planCode" />
<el-table-column v-if="false" label="计划类型" align="center" prop="planType" />
<el-table-column label="保养单号" align="center" prop="orderCode"/>
<el-table-column label="车间" align="center" prop="planWorkshop"/>
<el-table-column width="150" label="保养单号" align="center" prop="orderCode" fixed>
<template slot-scope="scope">
<el-button
type="text"
@click="showWork(scope.row)"
>{{ scope.row.orderCode }}</el-button
>
</template>
</el-table-column>
<el-table-column label="车间编码" align="center" prop="planWorkshop" />
<el-table-column width="150" label="车间" align="center" prop="workCenterName"/>
<el-table-column v-if="false" label="产线" align="center" prop="planProdLine" />
<el-table-column label="循环周期" align="center" prop="planLoop" />
<el-table-column label="循环周期类型" align="center" prop="planLoopType"/>
<el-table-column label="循环执行时间开始" align="center" prop="planLoopStart" width="180">
<el-table-column width="120" label="循环周期类型" align="center" prop="planLoopType" >
<template slot-scope="scope">
<dict-tag :options="dict.type.device_loop_type" :value="scope.row.planLoopType"/>
</template>
</el-table-column>
<el-table-column width="120" label="循环范围开始" align="center" prop="planLoopStart">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.planLoopStart, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="循环执行时间结束" align="center" prop="planLoopEnd" width="180">
<el-table-column width="120" label="循环范围结束" align="center" prop="planLoopEnd">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.planLoopEnd, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="实际开始时间" align="center" prop="orderStart" width="180">
<el-table-column width="120" label="执行开始时间" align="center" prop="orderStart">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.orderStart, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="实际结束时间" align="center" prop="orderEnd" width="180">
<el-table-column width="120" label="执行结束时间" align="center" prop="orderEnd">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.orderEnd, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="设备编码" align="center" prop="equipmentCode"/>
<el-table-column label="设备名称" align="center" prop="equipmentName"/>
<el-table-column label="工单状态" align="center" prop="orderStatus"/>
<el-table-column label="审核状态" align="center" prop="orderInspect"/>
<el-table-column width="100" label="设备编码" align="center" prop="equipmentCode" />
<el-table-column width="120" label="设备名称" align="center" prop="equipmentName" />
<el-table-column width="80" label="保养类型" align="center" prop="upkeep" >
<template slot-scope="scope">
<dict-tag :options="dict.type.device_upkeep_type" :value="scope.row.upkeep"/>
</template>
</el-table-column>
<el-table-column label="工单状态" align="center" prop="orderStatus" >
<template slot-scope="scope">
<dict-tag :options="dict.type.device_order_status" :value="scope.row.orderStatus"/>
</template>
</el-table-column>
<el-table-column label="检验状态" align="center" prop="orderInspect">
<template slot-scope="scope">
<dict-tag :options="dict.type.device_inspect_status" :value="scope.row.orderInspect"/>
</template>
</el-table-column>
<el-table-column label="工单费用" align="center" prop="orderCost"/>
<el-table-column label="保养人" align="center" prop="planPerson"/>
<el-table-column label="工单用时" align="center" prop="orderCostTime"/>
<el-table-column width="120" label="工单用时(min)" align="center" prop="orderCostTime"/>
<el-table-column v-if="false" label="签字" align="center" prop="orderSignPerson"/>
<el-table-column v-if="false" label="工厂" align="center" prop="factoryCode"/>
<el-table-column v-if="false" label="备用字段1" align="center" prop="attr1"/>
@ -307,6 +435,7 @@
<el-table-column width="180" label="操作" align="center" class-name="small-padding fixed-width" fixed="right">
<template slot-scope="scope">
<el-button
v-if="scope.row.upkeep != '1' "
size="mini"
type="text"
icon="el-icon-edit"
@ -339,9 +468,9 @@
title="保养结果检验"
:visible.sync="inspectDialog"
width="30%">
<el-radio v-model="inspect" label="0"></el-radio>
<el-radio v-model="inspect" label="1"></el-radio>
<el-radio v-model="inspect" label="2"></el-radio>
<el-radio v-model="inspect" label="waiting"></el-radio>
<el-radio v-model="inspect" label="noPass"></el-radio>
<el-radio v-model="inspect" label="pass"></el-radio>
<span slot="footer" class="dialog-footer">
<el-button @click="inspectDialog = false"> </el-button>
<el-button type="primary" @click="subInspect"> </el-button>
@ -745,73 +874,54 @@
</el-descriptions>
</el-tab-pane>
<el-tab-pane label="记录">
<!-- 设备 -->
<el-row>
<el-col :offset="9" :span="6">
<el-form-item label="设备名称:">
{{ this.form.equipmentName }}
</el-form-item>
</el-col>
</el-row>
<div v-for="(detail,detailIndex) in form.detailList" :key="detailIndex">
<!-- 检查项 -->
<el-row>
<el-col :span="6">
<el-form-item label="检查项:">
{{ detail.itemName }}
</el-form-item>
</el-col>
</el-row>
<div v-for="(standard,standardIndex) in detail.standardList" :key="standardIndex">
<div v-if="standard.standardType == 'qualitative' ">
<!-- 标准 -->
<el-row>
<el-col :span="6">
<el-form-item label="标准:">
{{ standard.standardName }}
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="是否达标:">
<el-radio v-model="standard.detailReach" label="0"></el-radio>
<el-radio v-model="standard.detailReach" label="1"></el-radio>
</el-form-item>
</el-col>
</el-row>
</div>
<div v-else>
<!-- 标准 -->
<el-row>
<el-col :span="5">
<el-form-item label="标准:">
{{ standard.standardName }}
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="上限:">
{{ standard.detailUpLimit }}
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="下限:">
{{ standard.detailDownLimit }}
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="单位:">
{{ standard.detailUnit }}
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="实际值:">
<el-input v-model="standard.actualValue" placeholder="请输入实际值"></el-input>
</el-form-item>
</el-col>
</el-row>
</div>
</div>
<el-divider></el-divider>
</div>
<el-table
:data="recordList"
border
style="width: 100%">
<el-table-column
prop="itemName"
label="检查项"
>
</el-table-column>
<el-table-column
prop="standardName"
label="标准名称"
>
</el-table-column>
<el-table-column
prop="detailReach"
label="是否达标">
<template slot-scope="scope">
<el-select v-model="scope.row.detailReach" placeholder="请选择">
<el-option
v-for="item in dict.type.device_reach_standard"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</template>
</el-table-column>
<el-table-column
prop="detailUpLimit"
label="上限">
</el-table-column>
<el-table-column
prop="detailDownLimit"
label="下限">
</el-table-column>
<el-table-column
prop="actualValue"
label="实际值">
<template slot-scope="scope">
<el-input v-if="scope.row.standardType == 'quantify' " size="small" v-model="scope.row.actualValue" @change="handleEdit(scope.$index,scope.row)"></el-input>
</template>
</el-table-column>
<el-table-column
prop="detailUnit"
label="单位">
</el-table-column>
</el-table>
</el-tab-pane>
<el-tab-pane label="备件">
<el-table
@ -880,6 +990,110 @@
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
<!-- 保养详情 -->
<el-dialog
title="保养详情"
:visible.sync="workDetail"
width="900px"
>
<el-tabs type="border-card">
<el-tab-pane label="保养信息">
<el-descriptions title="" border :column="2">
<el-descriptions-item label="计划编码">{{ workVO.order.planCode }}</el-descriptions-item>
<el-descriptions-item label="计划名称">{{ workVO.order.planName }}</el-descriptions-item>
<el-descriptions-item label="循环周期">{{ workVO.order.planLoop }}{{ workVO.order.planLoopType }}
</el-descriptions-item>
<el-descriptions-item label="工单编码">{{ workVO.order.orderCode }}</el-descriptions-item>
<el-descriptions-item label="车间编码">{{ workVO.order.planWorkshop }}</el-descriptions-item>
<el-descriptions-item label="循环开始时间">{{ workVO.order.planLoopStart }}</el-descriptions-item>
<el-descriptions-item label="循环结束时间">{{ workVO.order.planLoopEnd }}</el-descriptions-item>
<el-descriptions-item label="执行开始时间">{{ workVO.order.orderStart }}</el-descriptions-item>
<el-descriptions-item label="执行结束时间">{{ workVO.order.orderEnd }}</el-descriptions-item>
<el-descriptions-item label="保养类型">{{ workVO.order.upkeep }}</el-descriptions-item>
<el-descriptions-item label="是否停机保养">{{ workVO.order.shutDown }}</el-descriptions-item>
<el-descriptions-item label="保养人">{{ workVO.order.planPerson }}</el-descriptions-item>
<el-descriptions-item label="报修单号">{{ workVO.order.repairCode }}</el-descriptions-item>
</el-descriptions>
</el-tab-pane>
<el-tab-pane label="设备信息">
<el-descriptions class="my-margin-top" title="" :column="2" border>
<el-descriptions-item label="设备编码">{{ workVO.equ.equipmentCode }}</el-descriptions-item>
<el-descriptions-item label="设备名称">{{ workVO.equ.equipmentName }}</el-descriptions-item>
<el-descriptions-item label="设备位置">{{ workVO.equ.equipmentLocation }}</el-descriptions-item>
<el-descriptions-item label="设备类型编码">{{ workVO.equ.equipmentTypeCode }}</el-descriptions-item>
<el-descriptions-item label="设备类型名称">{{ workVO.equ.equipmentTypeName }}</el-descriptions-item>
<el-descriptions-item label="所属工作中心编码">{{ workVO.equ.workshopCode }}</el-descriptions-item>
<el-descriptions-item label="所属工作中心名称">{{ workVO.equ.workshopName }}</el-descriptions-item>
</el-descriptions>
</el-tab-pane>
<el-tab-pane label="备件信息">
<el-table
:data="workVO.spareList"
border
style="width: 100%">
<el-table-column
prop="materialCode"
label="备件编码"
width="180">
</el-table-column>
<el-table-column
prop="materialDesc"
label="备件名称"
width="180">
</el-table-column>
<el-table-column
prop="applyNum"
label="申领数量">
</el-table-column>
</el-table>
</el-tab-pane>
<el-tab-pane label="检查项信息">
<div v-for="(detail,index) in workVO.detailList" :key="index">
<el-divider content-position="left">{{ detail.itemName }}</el-divider>
<el-table
:data="detail.standardList"
border
style="width: 100%">
<el-table-column
prop="standardName"
label="标准名称"
width="180">
</el-table-column>
<el-table-column
prop="standardTypeName"
label="标准类型"
width="180">
</el-table-column>
<el-table-column
prop="detailReach"
label="是否达标">
</el-table-column>
<el-table-column
prop="actualValue"
label="实际值">
</el-table-column>
<el-table-column
prop="detailUpLimit"
label="上限">
</el-table-column>
<el-table-column
prop="detailDownLimit"
label="下限">
</el-table-column>
<el-table-column
prop="detailUnit"
label="单位">
</el-table-column>
</el-table>
</div>
</el-tab-pane>
</el-tabs>
<span slot="footer" class="dialog-footer">
<el-button @click="workDetail = false"> </el-button>
<el-button type="primary" @click="workDetail = false"> </el-button>
</span>
</el-dialog>
</div>
</template>
@ -894,13 +1108,70 @@ import {
import {formatEquItem, querySpareList} from "@/api/device/upkeepPlan";
import {getEquList, getPersonList, getWorkCenter} from "@/api/device/plan";
import {getDeviceOrder, listDeviceOrder, updateDeviceOrder} from "@/api/device/deviceOrder";
import {updateInspectionWork} from "@/api/device/inspectionWork";
import {getInspectionWork, updateInspectionWork} from "@/api/device/inspectionWork";
export default {
name: "UpkeepOrder",
dicts: ['device_order_status', 'device_loop_type'],
dicts: ['device_order_status', 'device_loop_type','device_reach_standard','device_upkeep_type','device_inspect_status'],
data() {
return {
workDetail:false,
// VO
workVO: {
order: {
planCode:null,
planName:null,
planLoop:null,
planLoopType:null,
orderCode:null,
planWorkShop:null,
planLoopStart:null,
planLoopEnd:null,
orderStart:null,
orderEnd:null,
planPerson:null,
},equ: {
equipmentCode:null,
equipmentName: null,
equipmentLocation:null,
equipmentTypeCode:null,
equipmentTypeName:null,
workshopCode:null,
workshopName:null,
},
detailList:[],
spareList:[],
},
//
pickerOptions: {
shortcuts: [{
text: '最近一周',
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
picker.$emit('pick', [start, end]);
}
}, {
text: '最近一个月',
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
picker.$emit('pick', [start, end]);
}
}, {
text: '最近三个月',
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
picker.$emit('pick', [start, end]);
}
}]
},
//
recordList: [],
//
inspect: '0',
//
@ -1009,6 +1280,10 @@ export default {
updateBy: null,
updateTime: null,
equ: {equipmentName: null},
loopStartArray: [],
orderStartArray: [],
orderEndArray: [],
loopEndArray: [],
},
//
form: {
@ -1031,9 +1306,30 @@ export default {
};
},
created() {
this.setWorkCenter();
this.getList();
},
methods: {
//
showWork(row) {
this.reset();
const orderId = row.orderId || this.ids
getInspectionWork(orderId).then(response => {
this.workVO = response.data;
if (this.workVO.order.upkeep == 0) {
this.workVO.order.upkeep = '内部';
}else {
this.workVO.order.upkeep = '委外';
}
if (this.workVO.order.shutDown == 0) {
this.workVO.order.shutDown = '开机保养';
}else {
this.workVO.order.shutDown = '停机保养';
}
this.workDetail = true;
});
},
//
clickInspect() {
if (this.ids.length == 0 || this.ids == null) {
@ -1048,8 +1344,6 @@ export default {
},
//
subInspect() {
console.log("点击了提交检验确定按钮")
console.log(this.ids)
const data = {
ids : this.ids,
inspect : this.inspect,
@ -1085,8 +1379,6 @@ export default {
},
//
subOrder() {
console.log("提交按钮")
console.log(this.form)
this.form.personList = this.selectPersonList;
addUpkeepOrder(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
@ -1193,10 +1485,6 @@ export default {
},
//
spareChangeCom() {
console.log("点击了完成按钮")
console.log(this.chooseSpareList)
console.log("form")
console.log(this.form)
this.spareDialog = false;
},
//
@ -1207,8 +1495,6 @@ export default {
},
// -
delSpareList(e) {
console.log("删除备件")
console.log(e)
for (let i = 0; i < this.chooseSpareList.length; i++){
if (this.chooseSpareList[i].materialCode == e.materialCode) {
this.chooseSpareList.splice(i,1);
@ -1221,8 +1507,6 @@ export default {
},
// -
addSpareList(e) {
console.log("选择备件")
console.log(e)
for (let i = 0; i < this.chooseSpareList.length; i++){
if (this.chooseSpareList[i].materialCode == e.materialCode) {
this.$message({
@ -1240,16 +1524,12 @@ export default {
},
//
changeArray(e) {
console.log("改变了保养执行时间")
},
//
confirmSelectSpareBtn() {
console.log("点击了选择备件确定按钮")
},
//
selectChangeSpare(e) {
console.log("多选改变")
console.log(e)
this.selOnSpare = e;
},
//
@ -1261,7 +1541,6 @@ export default {
pageSize: 10,
};
this.setSpareList();
console.log("点击了搜索重置按钮")
},
//
setSpareList() {
@ -1269,18 +1548,14 @@ export default {
this.spareTotal = response.total;
this.spareList = response.rows;
this.spareLoading = false;
console.log(response)
})
},
//
getSpareList() {
this.setSpareList()
console.log("点击了搜索备件按钮")
},
//
selectSpareBtn(e) {
console.log("点击了选择备件按钮!")
console.log(e)
this.setSpareList();
if (e.spareList == null) {
e.spareList = [];
@ -1335,6 +1610,10 @@ export default {
updateTime: null,
equ: {equipmentName: null},
timeArray:[],
loopStartArray: [],
orderStartArray: [],
orderEndArray: [],
loopEndArray: [],
};
this.resetForm("form");
},
@ -1345,6 +1624,10 @@ export default {
},
/** 重置按钮操作 */
resetQuery() {
this.queryParams.loopStartArray = [];
this.queryParams.orderStartArray = [];
this.queryParams.orderEndArray = [];
this.queryParams.loopEndArray = [];
this.resetForm("queryForm");
this.handleQuery();
},
@ -1363,35 +1646,34 @@ export default {
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
this.recordList = [];
const orderCode = row.orderCode || this.ids
getDeviceOrder(orderCode).then(response => {
this.form = response.data;
console.log("这里是回显信息")
console.log(response.data)
if (response.data.timeArray[0] == null) {
response.data.timeArray = []
}
for (let i = 0; i < this.form.detailList.length; i++) {
for (let j = 0; j < this.form.detailList[i].standardList.length; j++) {
this.form.detailList[i].standardList[j].itemName = this.form.detailList[i].itemName;
this.recordList.push(this.form.detailList[i].standardList[j]);
}
}
this.open = true;
this.title = "填写记录";
});
},
/** 提交按钮 */
submitForm() {
console.log("提交按钮")
console.log(this.form)
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.orderId != null) {
console.log("点击了提交")
console.log(this.form)
updateDeviceOrder(this.form).then(response => {
this.$modal.msgSuccess("提交成功");
this.open = false;
this.getList();
});
} else {
console.log("提交按钮")
console.log(this.form)
// addUpkeepOrder(this.form).then(response => {
// this.$modal.msgSuccess("");
// this.open = false;

@ -18,12 +18,14 @@
/>
</el-form-item>
<el-form-item label="车间" prop="planWorkshop">
<el-input
v-model="queryParams.planWorkshop"
placeholder="请输入车间"
clearable
@keyup.enter.native="handleQuery"
<el-select v-model="queryParams.planWorkshop" placeholder="请选择车间" clearable>
<el-option
v-for="work in workCenterList"
:key="work.factoryCode"
:label="work.factoryName"
:value="work.factoryCode"
/>
</el-select>
</el-form-item>
<el-form-item v-if="false" label="产线" prop="planProdLine">
<el-input
@ -101,6 +103,16 @@
/>
</el-select>
</el-form-item>
<el-form-item label="保养类型" prop="planStatus">
<el-select v-model="queryParams.upkeep" placeholder="请选择计划状态" clearable>
<el-option
v-for="dict in dict.type.device_upkeep_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item v-if="false" label="是否可生产-限制" prop="planRestrict">
<el-input
v-model="queryParams.planRestrict"
@ -165,7 +177,7 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="创建人" prop="createBy">
<el-form-item v-if="false" label="创建人" prop="createBy">
<el-input
v-model="queryParams.createBy"
placeholder="请输入创建人"
@ -173,7 +185,7 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="创建时间" prop="createTime">
<el-form-item v-if="false" label="创建时间" prop="createTime">
<el-date-picker
v-model="queryParams.createTimeArray"
type="daterange"
@ -186,7 +198,7 @@
:picker-options="pickerOptions">
</el-date-picker>
</el-form-item>
<el-form-item label="更新人" prop="updateBy">
<el-form-item v-if="false" label="更新人" prop="updateBy">
<el-input
v-model="queryParams.updateBy"
placeholder="请输入更新人"
@ -194,7 +206,7 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="更新时间" prop="updateTime">
<el-form-item v-if="false" label="更新时间" prop="updateTime">
<el-date-picker
v-model="queryParams.updateTimeArray"
type="daterange"
@ -207,6 +219,32 @@
:picker-options="pickerOptions">
</el-date-picker>
</el-form-item>
<el-form-item label-width="100px" label="循环范围开始" prop="planLoopStart">
<el-date-picker
v-model="queryParams.loopStartArray"
type="daterange"
align="right"
unlink-panels
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
value-format="yyyy-MM-dd"
:picker-options="pickerOptions">
</el-date-picker>
</el-form-item>
<el-form-item label-width="100px" label="循环范围结束" prop="planLoopEnd">
<el-date-picker
v-model="queryParams.loopEndArray"
type="daterange"
align="right"
unlink-panels
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
value-format="yyyy-MM-dd"
:picker-options="pickerOptions">
</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>
@ -268,8 +306,8 @@
<el-table-column v-if="false" label="主键" align="center" prop="planId"/>
<el-table-column width="150" label="计划编码" align="center" prop="planCode"/>
<el-table-column width="150" label="计划名称" align="center" prop="planName"/>
<el-table-column label="车间" align="center" prop="planWorkshop"/>
<el-table-column width="150" label="工作中心" align="center" prop="workCenterName"/>
<el-table-column label="车间编码" align="center" prop="planWorkshop"/>
<el-table-column width="150" label="车间" align="center" prop="workCenterName"/>
<el-table-column v-if="false" label="产线" align="center" prop="planProdLine"/>
<el-table-column v-if="false" label="设备名称" align="center" prop="equipmentName"/>
<el-table-column v-if="false" label="设备编码" align="center" prop="equipmentCode"/>
@ -439,14 +477,14 @@
<el-row>
<el-col :span="12">
<el-form-item label-width="110px" label="是否停机保养:">
<el-radio v-model="form.shutDown" label="0"></el-radio>
<el-radio v-model="form.shutDown" label="1"></el-radio>
<el-radio v-model="form.shutDown" label="1"></el-radio>
<el-radio v-model="form.shutDown" label="0"></el-radio>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label-width="110px" label="保养类型:">
<el-radio v-model="form.upkeep" label="0"></el-radio>
<el-radio v-model="form.upkeep" label="1"></el-radio>
<el-radio v-model="form.upkeep" label="1"></el-radio>
</el-form-item>
</el-col>
</el-row>
@ -484,6 +522,11 @@
label="保养项"
width="300">
</el-table-column>
<el-table-column
prop="spareOnList"
label="备件"
width="300">
</el-table-column>
<el-table-column
width="150"
fixed="right"
@ -734,6 +777,9 @@
<el-table-column
prop="applyNum"
label="领用数量">
<template slot-scope="scope">
<el-input size="small" v-model="scope.row.applyNum" @change="handleEdit(scope.$index,scope.row)"></el-input>
</template>
</el-table-column>
<el-table-column
width="150"
@ -804,11 +850,11 @@
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="申领原因:">
<el-form-item label="委外原因:">
<el-input
type="textarea"
autosize
placeholder="请输入申领原因"
placeholder="请输入委外原因"
v-model="form.workReason">
</el-input>
</el-form-item>
@ -975,6 +1021,8 @@ export default {
updateTime: null,
createTimeArray: [],
updateTimeArray: [],
loopEndArray: [],
loopStartArray: [],
},
//
form: {
@ -996,20 +1044,26 @@ export default {
},
created() {
this.getList();
this.setWorkCenter();
},
methods: {
//
handleEdit(index, row) {
if (row.amount < Number(row.applyNum)) {
this.$message({
message: '超过库存数量!',
type: 'warning'
})
row.applyNum = row.amount;
}
},
//
spareChangeCom() {
console.log("点击了完成按钮")
console.log(this.chooseSpareList)
console.log("form")
console.log(this.form)
this.spareDialog = false;
},
//
changeApplySpareNum(e) {
for (let i = 0; i < this.selOnSpare.length; i++) {
console.log("备件数量改变")
if (this.selOnSpare[i].amount < e) {
this.$message({
message: '超过库存数量!',
@ -1022,8 +1076,6 @@ export default {
},
// -
delSpareList(e) {
console.log("删除备件")
console.log(e)
for (let i = 0; i < this.chooseSpareList.length; i++){
if (this.chooseSpareList[i].materialCode == e.materialCode) {
this.chooseSpareList.splice(i,1);
@ -1036,8 +1088,6 @@ export default {
},
// -
addSpareList(e) {
console.log("选择备件")
console.log(e)
for (let i = 0; i < this.chooseSpareList.length; i++){
if (this.chooseSpareList[i].materialCode == e.materialCode) {
this.$message({
@ -1055,8 +1105,6 @@ export default {
},
// -
changeArray(e) {
console.log(e)
console.log(this.form.planTimeArray)
if (this.form.planLoop == null) {
this.$message({
message: '请输入循环周期!',
@ -1150,12 +1198,9 @@ export default {
},
//
confirmSelectSpareBtn() {
console.log("点击了选择备件确定按钮")
},
//
selectChangeSpare(e) {
console.log("多选改变")
console.log(e)
this.selOnSpare = e;
},
//
@ -1167,7 +1212,6 @@ export default {
pageSize: 10,
};
this.setSpareList();
console.log("点击了搜索重置按钮")
},
//
setSpareList() {
@ -1179,18 +1223,14 @@ export default {
this.spareList[i].amount = Number(this.spareList[i].amount) - Number(this.spareList[i].storageAmount)
}
this.spareLoading = false;
console.log(response)
})
},
//
getSpareList() {
this.setSpareList()
console.log("点击了搜索备件按钮")
},
//
selectSpareBtn(e) {
console.log("点击了选择备件按钮!")
console.log(e)
this.setSpareList();
if (e.spareList == null) {
e.spareList = [];
@ -1236,13 +1276,6 @@ export default {
// -
editorTheItem(e) {
console.log('e')
console.log(e)
console.log("form")
console.log(this.form.equipmentItem)
console.log("长度")
console.log(this.form.equipmentItem.length)
//
this.itemDetailList = [];
@ -1251,19 +1284,12 @@ export default {
for (let i = 0; i < this.form.equipmentItem.length; i++) {
if (e.equipmentCode == this.form.equipmentItem[i].equipmentCode) {
console.log("一次")
console.log(e.equipmentCode == this.form.equipmentItem[i].equipmentCode)
console.log(e.equipmentCode)
console.log(this.form.equipmentItem[i].equipmentCode)
for (let j = 0; j < this.form.equipmentItem[i].equPlanDetailList.length; j++) {
//
var itemName = this.form.equipmentItem[i].equPlanDetailList[j].itemName;
console.log("长度")
console.log(this.form.equipmentItem[i].equPlanDetailList[j].equPlanStandardList.length)
for (let k = 0; k < this.form.equipmentItem[i].equPlanDetailList[j].equPlanStandardList.length; k++){
if (this.form.equipmentItem[i].equPlanDetailList[j].equPlanStandardList[k].showFlag == true) {
@ -1273,7 +1299,6 @@ export default {
}else {
this.form.equipmentItem[i].equPlanDetailList[j].equPlanStandardList[k].standardTypeName = "定量";
}
console.log(qw++)
this.itemDetailList.push(this.form.equipmentItem[i].equPlanDetailList[j].equPlanStandardList[k]);
}
@ -1406,6 +1431,8 @@ export default {
workOutsourcingUnit: null,
workConnection: null,
workReason: null,
loopEndArray: [],
loopStartArray: [],
};
this.resetForm("form");
},
@ -1431,6 +1458,9 @@ export default {
//
this.queryParams.createTimeArray = [];
this.queryParams.updateTimeArray = [];
this.queryParams.loopEndArray = [];
this.queryParams.loopStartArray = [];
this.queryParams.upkeep = null;
this.handleQuery();
},
//
@ -1467,8 +1497,6 @@ export default {
initUpdatePlanInfo(row).then(response => {
this.form = response.data;
console.log("这里!!!!")
console.log(response.data)
this.selectPersonList = response.data.personListVO;
@ -1482,9 +1510,6 @@ export default {
}
console.log("这里时修改前")
console.log(this.form)
this.open = true;
this.title = "修改计划";
})
@ -1496,8 +1521,6 @@ export default {
this.planLoading = true;
if (this.form.planId != null) {
this.form.personList = this.selectPersonList;
console.log("这里时修改后")
console.log(this.form)
updateUpkeepPlan(this.form).then(response => {
this.planLoading = false;
this.$modal.msgSuccess("修改成功");

@ -87,7 +87,7 @@
<el-table-column label="物料名称" align="center" prop="materialName" width="150"/>
<el-table-column label="收货数量" align="center" prop="quality" />
<el-table-column label="单位" align="center" prop="unit" />
<el-table-column label="供应商名称" align="center" prop="supplierName" width="240"/>
<el-table-column label="产线名称" align="center" prop="supplierName" width="240"/>
<el-table-column label="检验时间" align="center" prop="checkTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.checkTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span>
@ -166,13 +166,13 @@
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="供应商编码" prop="supplierCode">
<el-input v-model="form.supplierCode" placeholder="请输入供应商编码" disabled/>
<el-form-item label="产线编码" prop="supplierCode">
<el-input v-model="form.supplierCode" placeholder="请输入产线编码" disabled/>
</el-form-item>
</el-col>
<el-col :span="16">
<el-form-item label="供应商名称" prop="supplierName">
<el-input v-model="form.supplierName" placeholder="请选择供应商名称" disabled/>
<el-form-item label="产线名称" prop="supplierName">
<el-input v-model="form.supplierName" placeholder="请选择产线名称" disabled/>
</el-form-item>
</el-col>
</el-row>

@ -87,7 +87,7 @@
<el-table-column label="物料名称" align="center" prop="materialName" width="150"/>
<el-table-column label="收货数量" align="center" prop="quality" />
<el-table-column label="单位" align="center" prop="unit" />
<el-table-column label="供应商名称" align="center" prop="supplierName" width="240"/>
<el-table-column label="仓库名称" align="center" prop="supplierName" width="240"/>
<el-table-column label="检验时间" align="center" prop="checkTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.checkTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span>
@ -166,13 +166,13 @@
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="供应商编码" prop="supplierCode">
<el-input v-model="form.supplierCode" placeholder="请输入供应商编码" disabled/>
<el-form-item label="仓库编码" prop="supplierCode">
<el-input v-model="form.supplierCode" placeholder="请输入仓库编码" disabled/>
</el-form-item>
</el-col>
<el-col :span="16">
<el-form-item label="供应商名称" prop="supplierName">
<el-input v-model="form.supplierName" placeholder="请选择供应商名称" disabled/>
<el-form-item label="仓库名称" prop="supplierName">
<el-input v-model="form.supplierName" placeholder="请选择仓库名称" disabled/>
</el-form-item>
</el-col>
</el-row>
@ -353,7 +353,7 @@ export default {
getDate() {
let start = this.Fungetdate (0)
let end = this.Fungetdate (1)
this.queryParams.incomeTimeArray.push(start,end)
//this.queryParams.incomeTimeArray.push(start,end)
this.queryParams.checkTimeArray.push(start,end)
},
Fungetdate (num) {

@ -1,26 +1,38 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="来料时间" prop="incomeTimeArray">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px" style="margin-bottom: -34px;">
<el-form-item label="来料月份" prop="incomeTimeYM">
<el-date-picker
v-model="queryParams.incomeTimeArray"
format="yyyy-MM-dd HH:mm:ss"
type="datetimerange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期">
v-model="queryParams.incomeTimeYM"
type="month"
placeholder="选择月">
</el-date-picker>
</el-form-item>
<el-form-item label="供应商" prop="incomeTimeArray1">
<!--
<el-select v-model="form.mtart" placeholder="请选择物料类别" style="width:320px">
<el-option
v-for="dict in dict.type.material_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>-->
<el-form-item label="供应商" prop="supplierCodeArray">
<div class="tagbox">
<div class="tag" style="" placeholder="请选择辅助设备">
<el-tag
:key="index"
class="tagitem"
v-for="(tag, index) in selectMaterielListtag"
closable
:disable-transitions="false"
@close="handleClose(tag)"
>
{{ tag.supplierName }}
</el-tag>
</div>
<el-button
slot="append"
class="button1"
@click="handleSelectSupplier"
icon="el-icon-search"
></el-button>
<el-row style="display: none;">
<el-input type="input" clearable v-model="queryParams.supplierCode" placeholder="点击选择物料"/>
<el-input type="input"clearable v-model="queryParams.supplierName" placeholder="点击选择物料"/>
</el-row>
</div>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"></el-button>
@ -42,47 +54,17 @@
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="rfidProcessList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<!-- 序号 -->
<el-table-column type="index" align="center" :index="indexMethod" label="序号" fixed/>
<el-table-column label="工单编号" align="center" prop="workorderCode" width="200" fixed/>
<el-table-column label="订单编号" align="center" prop="orderCode" width="200"/>
<el-table-column label="产品编码" align="center" prop="productCode" width="200"/>
<el-table-column label="产品名称" align="center" prop="productName" width="200"/>
<el-table-column label="生产时间" align="center" prop="productDate" width="200"/>
<el-table-column label="班次" align="center" prop="shiftId" >
<template slot-scope="scope">
<span v-if="scope.row.shiftId == 5"></span>
<span v-else></span>
</template>
</el-table-column>
<el-table-column label="rfid号" align="center" prop="rfid" width="180"/>
<el-table-column label="工厂编码" align="center" prop="factoryCode" />
<el-table-column label="机台编码" align="center" prop="machineCode" />
<el-table-column label="当前步工序编码" align="center" prop="nowProcessCode" width="150"/>
<el-table-column label="当前步工序名称" align="center" prop="nowProcessName" width="150"/>
<el-table-column label="下一步工序编码" align="center" prop="nextProcessCode" width="150"/>
<el-table-column label="下一步工序名称" align="center" prop="nextProcessName" width="150"/>
<el-table-column label="工序步骤" align="center" prop="orderNum" />
<el-table-column label="入时间" align="center" prop="inTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.inTime, '{y}-{m}-{d}') }}</span>
{{ parseTime(scope.row.inTime, '{h}:{m}:{s}') }}
</template>
</el-table-column>
<el-table-column label="出时间" align="center" prop="outTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.outTime, '{y}-{m}-{d}') }}</span>
<span>{{ parseTime(scope.row.outTime, '{h}:{m}:{s}') }}</span>
</template>
</el-table-column>
<el-table-column label="状态" align="center" prop="status">
<template slot-scope="scope">
{{ scope.row.status == "0" ? "待办" : "完成" }}
</template>
</el-table-column>
<el-table-column label="备注" align="center" prop="remark" />
<el-table v-loading="loading" :data="incomeList" @selection-change="handleSelectionChange">
<el-table-column label="供应商编号" align="center" prop="supplierCode" width="120" fixed/>
<el-table-column label="供应商名称" align="left" prop="supplierName" width="390" fixed/>
<el-table-column label="总批数" align="center" prop="batchs" width="90"/>
<el-table-column label="合格批次" align="center" prop="okBatchs" width="100"/>
<el-table-column label="不合格批次" align="center" prop="noOkBatchs" width="100"/>
<el-table-column label="批次不良率" align="center" prop="noOkBatchRate" width="100"/>
<el-table-column label="总数量" align="center" prop="nums" width="90"/>
<el-table-column label="合格数量" align="center" prop="okNums" width="100"/>
<el-table-column label="不合格数量" align="center" prop="noOkNums" width="100"/>
<el-table-column label="数量不良率" align="center" prop="noOkNumRate" width="100"/>
</el-table>
<pagination
@ -92,15 +74,20 @@
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!--供应商选择弹窗-->
<ItemSelectSupplier
ref="itemSelectSupplier"
@onSelected="onSelectSupplier"
></ItemSelectSupplier>
</div>
</template>
<script>
import { getIncomeTableList,getTest} from "@/api/quality/qcTable";
import { getIncomeTableList} from "@/api/quality/qcTable";
import ItemSelectSupplier from "./selectSupplier.vue";
export default {
name: "RfidProcess",
components: {ItemSelectSupplier},
data() {
return {
//
@ -116,13 +103,16 @@ export default {
//
total: 0,
// rfid
rfidProcessList: [],
incomeList: [],
//
title: "",
//
open: false,
// -listtag
selectMaterielListtag:[],
//
queryParams: {
incomeTimeYM:null,
incomeTimeArray: [],
checkTimeArray: [],
pageNum: 1,
@ -139,8 +129,8 @@ export default {
status: null,
shiftId: null,
productCode: null,
productName: null,
productDate: null
supplierName: '',
supplierCode: ''
},
//
form: {},
@ -160,12 +150,11 @@ export default {
this.getList();
},
methods: {
/**获取默认查询时间段**/
getDate() {
let start = this.Fungetdate (0)
let end = this.Fungetdate (1)
this.queryParams.incomeTimeArray.push(start,end)
//this.queryParams.checkTimeArray.push(start,end)
this.queryParams.incomeTimeYM=start
},
Fungetdate (num) {
var dd = new Date();
@ -173,13 +162,13 @@ export default {
var y = dd.getFullYear();
var m = dd.getMonth() + 1;//
var d = dd.getDate();
return y + "-" + m + "-" + d+" 00:00:00";
return y + "-" + m;
},
/** 查询生产rfid流程列表 */
/** 查询列表 */
getList() {
this.loading = true;
getIncomeTableList(this.queryParams).then(response => {
this.rfidProcessList = response.rows;
this.incomeList = response.rows;
this.total = response.total;
this.loading = false;
});
@ -283,7 +272,86 @@ export default {
this.download('mes/rfidProcess/export', {
...this.queryParams
}, `rfidProcess_${new Date().getTime()}.xlsx`)
},
/**供应商选择弹出框**/
handleSelectSupplier() {
this.$refs.itemSelectSupplier.showFlag = true;
},
//
onSelectSupplier(objs) {
var code = '';
var desc = '';
for (let i = 0; i < objs.length; i++) {
if(this.queryParams.supplierCode.indexOf(objs[i].supplierCode)<0){
code = code + objs[i].supplierCode + ',';
this.selectMaterielListtag.push(objs[i])
}else{
this.$message({
message: objs[i].supplierName+'已经选择',
type: 'warning'
})
}
if(this.queryParams.supplierName.indexOf(objs[i].supplierName)<0){
desc = desc + objs[i].supplierName + ',';
}
}
this.queryParams.supplierCode += code;
this.queryParams.supplierName += desc;
},
//
handleClose(tag) {
this.selectMaterielListtag.splice(this.selectMaterielListtag.indexOf(tag.supplierName), 1);
this.form.supplierCode =''
this.form.supplierName =''
var code = "";
var desc = "";
for (let i = 0; i < this.selectMaterielListtag.length; i++) {
code = code + this.selectMaterielListtag[i].supplierCode + ",";
desc = desc + this.selectMaterielListtag[i].supplierName + ",";
}
this.form.supplierCode += code;
this.form.supplierName += desc;
}
}
};
</script>
<style lang="scss" scoped>
.tagbox {
display: flex;
/* overflow: scroll; */
position: relative;
width: 80%;
padding-left: 26px;
margin-bottom: 15px;
.tagboxlabel{
width: 100px;
text-align: right;
vertical-align: middle;
font-size: 14px;
color: black;
line-height: 40px;
-webkit-box-sizing: border-box;
box-sizing: border-box;
margin-right: 12px;
}
.tag {
width: 720px;
border: 1px #DCDFE6 solid;
height: 60px;
padding: 5px 15px;
overflow-y: scroll;
.tagitem{
margin-left: 5px;
}
}
.button1{
width: 37px;
height: 37px;
position: absolute;
right: -39px;
top: 2px;
}
}
</style>

@ -0,0 +1,142 @@
<template>
<el-dialog title="供应商选择"
v-if="showFlag"
:visible.sync="showFlag"
:modal= false
width="1000px"
>
<el-row :gutter="20">
<!--BOM数据-->
<el-col :span="24" :xs="24">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="105px" align="center">
<el-form-item label="供应商编码" prop="itemCode">
<el-input
v-model="queryParams.supplierCode"
placeholder="供应商编码"
clearable
style="width: 240px"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="供应商名称" prop="itemName">
<el-input
v-model="queryParams.supplierName"
placeholder="供应商名称"
clearable
style="width: 240px"
@keyup.enter.native="handleQuery"
/>
</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-table v-loading="loading" :data="itemList" @selection-change="handleBomSelectionChange" ref="myTable" >
<el-table-column width="50" align="center" type="selection">
</el-table-column>
<!-- 序号 -->
<el-table-column type="index" width="90" align="center" :index="indexMethod" label="序号"></el-table-column>
<el-table-column label="供应商编码" align="left" key="supplierCode" prop="supplierCode" :show-overflow-tooltip="true" />
<el-table-column label="供应商名称" align="left" key="supplierName" prop="supplierName" :show-overflow-tooltip="true" />
<el-table-column label="地址" align="left" key="address" prop="address" :show-overflow-tooltip="true" />
<el-table-column label="联系方式" align="left" key="contactPhone" prop="contactPhone" :show-overflow-tooltip="true" />
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
</el-col>
</el-row>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitBomForm"> </el-button>
<el-button @click="showFlag=false"> </el-button>
</div>
</el-dialog>
</template>
<script>
import { getQcListSupplier } from "@/api/quality/income";
export default {
name: "itemSelectSupplier",
data() {
return {
showFlag:false,
//
selectedRows: [],
//
single: true,
//
multiple: true,
//
showSearch: true,
//
total: 0,
// BOM
itemList: null,
//
itemTypeOptions: undefined,
//
supplierCode: undefined,
defaultProps: {
id: "id",
label: "label"
},
//
queryParams: {
pageNum: 1,
pageSize: 10,
supplierCode: '',
supplierName : ''
}
};
},
created() {
this.getList();
},
methods: {
/** 查询表格列表*/
getList() {
this.loading = true;
getQcListSupplier(this.queryParams).then(response => {
this.itemList = response.rows;
this.total = response.total;
this.loading = false;
}
);
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
//
handleBomSelectionChange(selection) {
this.selectedRows = selection
},
submitBomForm() {
this.$emit('onSelected', this.selectedRows);
this.showFlag = false;
this.queryParams.itemCodeGet = "";
}
}
};
</script>
Loading…
Cancel
Save