Browse Source

2023-08-01 设备和质量修改

java8
杨奉源 2 years ago
parent
commit
00082d5542
  1. 67
      src/views/modules/eam/eamMaintenanceItem.vue
  2. 15
      src/views/modules/eam/eamWorkOrderForCheck.vue
  3. 6
      src/views/modules/reportWorkOrder/com_eam_itemImage_upload_file.vue
  4. 21
      src/views/modules/reportWorkOrder/reportCheckOrder.vue
  5. 340
      src/views/modules/reportWorkOrder/reportDefectOrder.vue
  6. 84
      src/views/modules/reportWorkOrder/reportMaintenanceOrder.vue

67
src/views/modules/eam/eamMaintenanceItem.vue

@ -93,17 +93,6 @@
</el-select>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" :model="modalData" :rules="rules" style="margin-left: 7px;margin-top: -5px;">
<el-form-item label="维保方法说明:">
<el-input v-model="modalData.itemRemark" style="width: 254px"></el-input>
</el-form-item>
<el-form-item :label="'是否值可选'" prop="valueChooseFlag" :rules="rules.valueChooseFlagType">
<el-select filterable v-model="modalData.valueChooseFlag" style="width: 120px">
<el-option label="是" value="Y"></el-option>
<el-option label="否" value="N"></el-option>
</el-select>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" style="margin-left: 7px;margin-top: -5px;">
<el-form-item label="参照值:">
<el-input v-model="modalData.defaultValue" style="width: 120px"></el-input>
@ -115,6 +104,20 @@
<el-input v-model="modalData.minValue" style="width: 120px"></el-input>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" :model="modalData" :rules="rules" style="margin-left: 7px;margin-top: -5px;">
<el-form-item label="维保方法说明:">
<el-input v-model="modalData.itemRemark" style="width: 224px"></el-input>
</el-form-item>
<el-form-item :label="'是否值可选'" prop="valueChooseFlag" :rules="rules.valueChooseFlagType">
<el-select filterable v-model="modalData.valueChooseFlag" style="width: 80px">
<el-option label="是" value="Y"></el-option>
<el-option label="否" value="N"></el-option>
</el-select>
</el-form-item>
<el-form-item label="图片必填:">
<input type="checkbox" value="Y" name="addWorkOrderRule" v-model="modalData.imageFlag"/>
</el-form-item>
</el-form>
<el-footer style="height:40px;margin-top: 20px;text-align:center">
<el-button type="primary" @click="saveData()">保存</el-button>
<el-button type="primary" @click="modalFlag = false">关闭</el-button>
@ -265,6 +268,7 @@
itemRemark:'',
itemType:'B',
updateBy: this.$store.state.user.name,
imageFlag: ''
},
departmentList:[],
//
@ -405,6 +409,23 @@
status: true,
fixed: '',
},
{
userId: this.$store.state.user.name,
functionId: 101011,
serialNumber: '101011TableValueChooseFlag',
tableId: "101011Table",
tableName: "common",
columnProp: 'imageFlag',
headerAlign: "center",
align: "center",
columnLabel: '是否图片必填',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
},
{
userId: this.$store.state.user.name,
functionId: 101011,
@ -581,6 +602,7 @@
itemRemark:'',
itemType:'B',
updateBy: this.$store.state.user.name,
imageFlag: ''
};
this.modalDisableFlag=false;
this.modalFlag=true;
@ -607,6 +629,7 @@
itemRemark:row.itemRemark,
itemType:'B',
updateBy: this.$store.state.user.name,
imageFlag: row.imageFlag
};
this.modalDisableFlag=true;
this.modalFlag=true;
@ -639,20 +662,28 @@
})
},
saveData(){
if (this.modalData.itemNo == '' || this.modalData.itemNo == null) {
if (this.modalData.itemNo === '' || this.modalData.itemNo == null) {
this.$alert('请输入维保项目编码!', '错误', {
confirmButtonText: '确定'
})
return false
}
if (this.modalData.itemDesc == '' || this.modalData.itemDesc == null) {
if (this.modalData.itemDesc === '' || this.modalData.itemDesc == null) {
this.$alert('请输入维保项目名称!', '错误', {
confirmButtonText: '确定'
})
return false
}
if(this.modalData.flag=='1'){
let obj = document.getElementsByName('addWorkOrderRule');
let s = '';
for (let i = 0; i < obj.length; i++) {
if (obj[i].checked) {
s += obj[i].value + ',';
}
}
s = s.substring(0,s.length-1)
this.modalData.imageFlag = s
if(this.modalData.flag === '1'){
eamPropertiesItemSave(this.modalData).then(({data}) => {
if (data && data.code === '0') {
this.getDataList()
@ -691,7 +722,7 @@
}
},
addChooseModal(){
this.itemFlag= this.chooseModalData.valueTypeDb=='T'?'text':'number';
this.itemFlag= this.chooseModalData.valueTypeDb === 'T'?'text':'number';
this.itemData={
itemNo:this.chooseModalData.itemNo,
valueNo:0,
@ -702,7 +733,7 @@
this.itemModalFlag=true;
},
updateChooseModal(row){
this.itemFlag= this.chooseModalData.valueTypeDb=='T'?'text':'number';
this.itemFlag= this.chooseModalData.valueTypeDb === 'T'?'text':'number';
this.itemData={
itemNo:this.chooseModalData.itemNo,
valueNo:row.valueNo,
@ -713,7 +744,7 @@
this.itemModalFlag=true;
},
saveItemAvailable(){
if(this.itemData.availableValue==''||this.itemData.availableValue==null){
if(this.itemData.availableValue === ''||this.itemData.availableValue == null){
this.$alert("请输入可选值!",'错误', {
confirmButtonText: '确定'
})

15
src/views/modules/eam/eamWorkOrderForCheck.vue

@ -208,10 +208,8 @@
min-width="80"
label="实测值">
<template slot-scope="scope">
<el-input v-if="scope.row.valueTypeDb=='T'" v-model="scope.row.textValue" readonly style="height: 11px;padding: 0px " filterable
allow-create>;width:98%"></el-input>
<el-input v-if="scope.row.valueTypeDb=='N'" v-model="scope.row.numberValue" readonly style="height: 11px;padding: 0px " filterable
allow-create>;width:98%"></el-input>
<el-input v-if="scope.row.valueTypeDb=='T'" v-model="scope.row.textValue" readonly style="height: 11px;padding: 0px " filterable allow-create>;width:98%"></el-input>
<el-input v-if="scope.row.valueTypeDb=='N'" v-model="scope.row.numberValue" readonly style="height: 11px;padding: 0px " filterable allow-create>;width:98%"></el-input>
</template>
</el-table-column>
<el-table-column
@ -285,7 +283,6 @@
} from "@/api/eam/eam.js"
import Chooselist from '@/views/modules/common/Chooselist_eam'
import {userFavoriteList, saveUserFavorite, removeUserFavorite} from '@/api/userFavorite.js'
export default {
components: {
Chooselist
@ -297,7 +294,6 @@
this.searchData.groupID = this.searchData.groupID.toUpperCase()
}
},
modalData: {
deep: true,
handler: function (newV, oldV) {
@ -871,7 +867,7 @@
checkWorkOrder(this.submitData).then(({data}) => {
if (data && data.code === 0) {
this.getDataList();
this.detailModelFlag = false;
this.saveData.status = '待审核'
this.$message({
message: '操作成功',
type: 'success',
@ -904,7 +900,7 @@
checkWorkOrder(this.submitData).then(({data}) => {
if (data && data.code === 0) {
this.getDataList();
this.detailModelFlag = false;
this.saveData.status = '已完工'
this.$message({
message: '操作成功',
type: 'success',
@ -949,7 +945,6 @@
}
})
},
//
reportModal(row){
let indata = {
@ -1024,7 +1019,7 @@
this.changeModelFlag = true;
},
changeOrderOperator(){
let inList=JSON.parse(JSON.stringify(this.dataListSelections));
let inList = JSON.parse(JSON.stringify(this.dataListSelections));
for (let i = 0; i <inList.length ; i++) {
inList[i].planOperator=this.planOperator
}

6
src/views/modules/reportWorkOrder/com_eam_itemImage_upload_file.vue

@ -99,10 +99,6 @@ export default {
},
/*保修当前的数据*/
saveUploadFile(){
let remark = this.pageData.fileRemark;
if(null == remark || remark == undefined){
remark = ''
}
/*判断文件是否上传*/
if(null == this.fileList || 0 === this.fileList.length){
this.$message.error("请先上传文件!");
@ -120,14 +116,12 @@ export default {
this.$message.success(data.msg);
//
this.$refs.uploadFile.clearFiles();
this.pageData.fileRemark = '';
this.fileList = [];
}else {
this.$message.warning(data.msg);
}
})
}
},
created() {

21
src/views/modules/reportWorkOrder/reportCheckOrder.vue

@ -189,9 +189,9 @@
min-width="80"
label="实测值">
<template slot-scope="scope">
<el-input v-if="scope.row.valueTypeDb=='T'&&scope.row.valueChooseFlag=='N'" v-model="scope.row.textValue" style="height: 11px;padding: 0px " filterable allow-create>;width:98%"></el-input>
<el-input v-if="scope.row.valueTypeDb=='N'&&scope.row.valueChooseFlag=='N'" v-model="scope.row.numberValue" type="number" style="height: 11px;padding: 0px " filterable allow-create>;width:98%"></el-input>
<el-select v-if="scope.row.valueTypeDb=='T'&&scope.row.valueChooseFlag=='Y'" v-model="scope.row.textValue" placeholder="请选择" style="height: 11px;padding: 0px " filterable allow-create>
<el-input v-if="scope.row.valueTypeDb === 'T'&&scope.row.valueChooseFlag === 'N'" v-model="scope.row.textValue" style="height: 11px;padding: 0px " allow-create>;width:98%"></el-input>
<el-input v-if="scope.row.valueTypeDb === 'N'&&scope.row.valueChooseFlag === 'N'" v-model="scope.row.numberValue" type="number" style="height: 11px;padding: 0px " allow-create>;width:98%"></el-input>
<el-select v-if="scope.row.valueTypeDb === 'T'&&scope.row.valueChooseFlag === 'Y'" v-model="scope.row.textValue" placeholder="请选择" style="height: 11px;padding: 0px " allow-create>
<el-option
v-for="item in scope.row.availableList"
:key="index"
@ -199,7 +199,7 @@
:value="item.availableValue">
</el-option>
</el-select>
<el-select v-if="scope.row.valueTypeDb=='N'&&scope.row.valueChooseFlag=='Y'" v-model="scope.row.numberValue" placeholder="请选择" style="height: 11px;padding: 0px " filterable allow-create>
<el-select v-if="scope.row.valueTypeDb === 'N'&&scope.row.valueChooseFlag === 'Y'" v-model="scope.row.numberValue" placeholder="请选择" style="height: 11px;padding: 0px " allow-create>
<el-option
v-for="item in scope.row.availableList"
:key="index"
@ -298,10 +298,8 @@
min-width="80"
label="实测值">
<template slot-scope="scope">
<el-input v-if="scope.row.valueTypeDb=='T'" v-model="scope.row.textValue" readonly style="height: 11px;padding: 0px " filterable
allow-create>;width:98%"></el-input>
<el-input v-if="scope.row.valueTypeDb=='N'" v-model="scope.row.numberValue" readonly style="height: 11px;padding: 0px " filterable
allow-create>;width:98%"></el-input>
<el-input v-if="scope.row.valueTypeDb=='T'" v-model="scope.row.textValue" readonly style="height: 11px;padding: 0px " filterable allow-create>;width:98%"></el-input>
<el-input v-if="scope.row.valueTypeDb=='N'" v-model="scope.row.numberValue" readonly style="height: 11px;padding: 0px " filterable allow-create>;width:98%"></el-input>
</template>
</el-table-column>
<el-table-column
@ -1196,7 +1194,6 @@
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
}).then(() =>{
return false
})
@ -1232,9 +1229,9 @@
// table
refreshCurrentTabTable () {
//
if (this.activeTable == 'inspection_form') {
if (this.activeTable === 'inspection_form') {
this.getInspectionFormData();
} else if (this.activeTable == 'history_record') {
} else if (this.activeTable === 'history_record') {
this.queryHistoryRecord();
}
},
@ -1328,7 +1325,7 @@
orderNo: this.saveData.orderNo,
functionType: 'A',
itemNo: row.itemNo,
folder: 'itemImageFile'
folder: 'DJItemImageFile'
};
//
this.$nextTick(() => {

340
src/views/modules/reportWorkOrder/reportDefectOrder.vue

@ -93,7 +93,7 @@
layout="total, sizes, prev, pager, next, jumper">
</el-pagination>
<el-dialog title="执行维修工单" :close-on-click-modal="false" v-drag :visible.sync="detailModelFlag" width="500px">
<el-dialog title="执行维修工单" :close-on-click-modal="false" v-drag :visible.sync="detailModelFlag" width="850px">
<el-form :inline="true" label-position="top" @keyup.enter.native="getDataList()">
<el-form-item :label="'工厂编码'">
<el-input v-model="saveData.site" disabled style="width: 120px"></el-input>
@ -104,87 +104,119 @@
<el-form-item :label="'计划执行人员'">
<el-input v-model="saveData.planOperatorName" disabled style="width: 120px"></el-input>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" @keyup.enter.native="getDataList()">
<el-form-item label="设备编码:">
<el-input v-model="saveData.objectID" disabled style="width: 120px"></el-input>
</el-form-item>
<el-form-item label="设备名称:">
<el-input v-model="saveData.objectDesc" disabled style="width: 255px"></el-input>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" @keyup.enter.native="getDataList()">
<el-form-item >
<span slot="label" style="" @click="getBaseList(1033)"><a herf="#">故障编码</a></span>
<el-input v-model="saveData.defectID" style="width: 120px"></el-input>
</el-form-item>
<el-form-item label="故障名称:">
<el-input v-model="saveData.defectDesc" disabled style="width: 255px"></el-input>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" @keyup.enter.native="getDataList()">
<el-form-item :label="'工作起始时间:'">
<el-date-picker
style="width: 150px"
v-model="saveData.startDate"
:picker-options="pickerOptions"
type="datetime"
value-format='yyyy-MM-dd HH:mm:ss'
format='yyyy-MM-dd HH:mm:ss'
placeholder="开始时间"
@change="handleChangeTime"
>
</el-date-picker>
-
<el-date-picker
style="width: 150px"
v-model="saveData.endDate"
:picker-options="pickerOptions"
type="datetime"
value-format='yyyy-MM-dd HH:mm:ss'
format='yyyy-MM-dd HH:mm:ss'
placeholder="结束时间"
@change="handleChangeTime"
>
</el-date-picker>
</el-form-item>
<el-form-item :label="'工作时长(m)'">
<el-input v-model="saveData.workTime" type="number" disabled :min="0" style="width: 60px"></el-input>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" @keyup.enter.native="getDataList()">
<el-form-item >
<span slot="label" style="" @click="getOperatorList()"><a>选择机修人员</a></span>
<el-input v-model="saveData.operatorName" style="width: 220px"></el-input>
</el-form-item>
<el-form-item :label="' '">
<el-button type="primary" @click="uploadFaultImageModal()" >故障图片</el-button>
</el-form-item>
<el-form-item :label="' '">
<el-button type="primary" @click="uploadSparPartImageModal()" >备件图片</el-button>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" @keyup.enter.native="getDataList()">
<el-form-item :label="'维修结果'">
<el-select @change="resultChange()" filterable v-model="saveData.result" style="width: 120px">
<el-option label="维修完成" value="维修完成"></el-option>
<el-option label="维修失败" value="维修失败"></el-option>
</el-select>
</el-form-item>
<el-form-item v-if="this.saveData.result == '维修失败'" :label="'处置措施'">
<el-select filterable v-model="saveData.disposalMeasures" style="width: 120px">
<el-option label="缺少备件" value="缺少备件"></el-option>
<el-option label="等待售后" value="等待售后"></el-option>
<el-option label="远程协助" value="远程协助"></el-option>
<el-option label="换班换人" value="换班换人"></el-option>
</el-select>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" @keyup.enter.native="getDataList()">
<el-form-item :label="'执行结果备注'">
<el-input v-model="saveData.remark" style="width: 390px"></el-input>
<el-input v-model="saveData.objectDesc" disabled style="width: 240px"></el-input>
</el-form-item>
</el-form>
<el-tabs v-model="activeTable" style="margin-top: 10px; width: 100%; height: 100%;" type="border-card" @tab-click="tabClick" class="customer-tab">
<el-tab-pane label="维修单" name="inspection_form">
<el-form :inline="true" label-position="top" @keyup.enter.native="getDataList()">
<el-form-item>
<span slot="label" style="" @click="getBaseList(1033)"><a herf="#">故障编码</a></span>
<el-input v-model="saveData.defectID" style="width: 120px"></el-input>
</el-form-item>
<el-form-item label="故障名称:">
<el-input v-model="saveData.defectDesc" disabled style="width: 255px"></el-input>
</el-form-item>
<el-form-item :label="' '">
<el-button type="primary" @click="uploadFaultImageModal()" >故障图片</el-button>
</el-form-item>
<el-form-item :label="' '">
<el-button type="primary" @click="uploadSparPartImageModal()" >备件图片</el-button>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" @keyup.enter.native="getDataList()">
<el-form-item >
<span slot="label" style="" @click="getOperatorList()"><a>选择机修人员</a></span>
<el-input v-model="saveData.operatorName" style="width: 220px"></el-input>
</el-form-item>
<el-form-item :label="'工作起始时间:'">
<el-date-picker
style="width: 150px"
v-model="saveData.startDate"
:picker-options="pickerOptions"
type="datetime"
value-format='yyyy-MM-dd HH:mm:ss'
format='yyyy-MM-dd HH:mm:ss'
placeholder="开始时间"
@change="handleChangeTime"
>
</el-date-picker>
-
<el-date-picker
style="width: 150px"
v-model="saveData.endDate"
:picker-options="pickerOptions"
type="datetime"
value-format='yyyy-MM-dd HH:mm:ss'
format='yyyy-MM-dd HH:mm:ss'
placeholder="结束时间"
@change="handleChangeTime"
>
</el-date-picker>
</el-form-item>
<el-form-item :label="'工作时长(m)'">
<el-input v-model="saveData.workTime" type="number" disabled :min="0" style="width: 60px"></el-input>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" @keyup.enter.native="getDataList()">
<el-form-item :label="'维修结果'">
<el-select @change="resultChange()" v-model="saveData.result" style="width: 120px">
<el-option label="维修完成" value="维修完成"></el-option>
<el-option label="维修失败" value="维修失败"></el-option>
</el-select>
</el-form-item>
<el-form-item v-if="this.saveData.result === '维修失败'" :label="'处置措施'">
<el-select v-model="saveData.disposalMeasures" style="width: 120px">
<el-option label="缺少备件" value="缺少备件"></el-option>
<el-option label="等待售后" value="等待售后"></el-option>
<el-option label="远程协助" value="远程协助"></el-option>
<el-option label="换班换人" value="换班换人"></el-option>
</el-select>
</el-form-item>
<el-form-item :label="'执行结果备注'">
<el-input v-model="saveData.remark" style="width: 390px"></el-input>
</el-form-item>
</el-form>
</el-tab-pane>
<el-tab-pane label="维修记录" name="history_record">
<el-table
:height="300"
:data="HistoryRecordList"
border
v-loading="dataListLoading"
style="width: 100%;">
<el-table-column
v-for="(item,index) in columnHistoryList" :key="index"
:sortable="item.columnSortable"
:prop="item.columnProp"
:header-align="item.headerAlign"
:show-overflow-tooltip="item.showOverflowTooltip"
:align="item.align"
:fixed="item.fixed==''?false:item.fixed"
:min-width="item.columnWidth"
:label="item.columnLabel">
<template slot-scope="scope">
<span v-if="!item.columnHidden"> {{ scope.row[item.columnProp] }}</span>
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" style="width: 100px; height: 80px"/></span>
</template>
</el-table-column>
<el-table-column
fixed="right"
header-align="center"
align="center"
width="100"
label="操作">
<template slot-scope="scope">
<a type="text" size="small" @click="detailModal(scope.row)">详情</a>
</template>
</el-table-column>
</el-table>
</el-tab-pane>
</el-tabs>
<el-footer style="height:40px;margin-top: 20px;text-align:center">
<el-button type="primary" @click="saveCheckReport()">保存</el-button>
<el-button type="primary" @click="detailModelFlag = false">关闭</el-button>
@ -194,12 +226,12 @@
<!-- 机修人员清单 -->
<el-dialog title="机修人员清单" :close-on-click-modal="false" v-drag :visible.sync="operatorModelFlag" width="820px">
<div class="rq">
<el-form :inline="true" label-position="top" :model="operatorData">
<el-form :inline="true" label-position="top" :model="operatorData">
<el-form-item :label="'人员编码'">
<el-input v-model="operatorData.adminID" style="width: 120px"></el-input>
<el-input v-model="operatorData.adminID" style="width: 120px"></el-input>
</el-form-item>
<el-form-item :label="'人员姓名'">
<el-input v-model="operatorData.adminName" style="width: 120px"></el-input>
<el-input v-model="operatorData.adminName" style="width: 120px"></el-input>
</el-form-item>
<el-form-item :label="' '">
<el-button type="primary" @click="getOperatorList()">查询</el-button>
@ -232,7 +264,7 @@
:min-width="item.columnWidth"
:label="item.columnLabel">
<template slot-scope="scope">
<span v-if="!item.columnHidden"> {{ scope.row[item.columnProp] }}</span>
<span v-if="!item.columnHidden">{{ scope.row[item.columnProp] }}</span>
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" style="width: 100px; height: 80px"/></span>
</template>
</el-table-column>
@ -262,7 +294,6 @@
import Chooselist from '@/views/modules/common/Chooselist_eam'
import {userFavoriteList, saveUserFavorite, removeUserFavorite} from '@/api/userFavorite.js'
import reportImageUpload from "./report_image_upload.vue";
export default {
components: {
Chooselist,
@ -281,7 +312,6 @@
this.searchData.groupID = this.searchData.groupID.toUpperCase()
}
},
modalData: {
deep: true,
handler: function (newV, oldV) {
@ -319,7 +349,6 @@
pageIndex: 1,
pageSize: 100,
totalPage: 0,
dataList: [],
dataListLoading: false,
dataListSelections: [],
@ -710,6 +739,106 @@
return time.getTime() > Date.now();
},
},
activeTable: 'inspection_form',
HistoryRecordList: [],
columnHistoryList: [
{
columnProp: 'orderNo',
headerAlign: "center",
align: "center",
columnLabel: '工单编号',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
},
{
columnProp: 'planDesc',
headerAlign: "center",
align: "center",
columnLabel: '计划描述',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
},
{
columnProp: 'actualDate',
headerAlign: "center",
align: "center",
columnLabel: '点检日期',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
},
{
columnProp: 'checkResult',
headerAlign: "center",
align: "center",
columnLabel: '点检结论',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
},
{
columnProp: 'actualOperatorName',
headerAlign: "center",
align: "center",
columnLabel: '点检人员',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
},
{
columnProp: 'objectID',
headerAlign: "center",
align: "center",
columnLabel: '设备编码',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
},
{
columnProp: 'objectDesc',
headerAlign: "center",
align: "center",
columnLabel: '设备名称',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
},
{
columnProp: 'remark',
headerAlign: "center",
align: "center",
columnLabel: '备注',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
},
],
}
},
mounted () {
@ -776,7 +905,6 @@
}
},
//
operatorClickRow(row){
this.$refs.operatorTable.toggleRowSelection(row);
@ -952,7 +1080,8 @@
defectDesc: row.defectDesc,
objectID: row.objectID,
objectDesc: row.objectDesc,
},
}
// this.queryHistoryRecord();
this.detailModelFlag = true;
},
saveCheckReport(){
@ -1061,7 +1190,46 @@
this.$refs.reportImageUpload.init(currentData);
})
},
//
tabClick (tab, event) {
//
this.refreshCurrentTabTable()
},
// table
refreshCurrentTabTable () {
//
if (this.activeTable === 'inspection_form') {
this.getInspectionFormData();
} else if (this.activeTable === 'history_record') {
this.queryHistoryRecord();
}
},
//
queryHistoryRecord(){
let tempData = {
site: this.saveData.site,
objectID: this.saveData.objectID,
functionType: 'A'
}
queryHistoryRecord(tempData).then(({data}) => {
if (data && data.code === 0) {
this.HistoryRecordList = data.rows
}else {
this.HistoryRecordList = [];
}
})
},
//
detailModal(row){
let tempData = {
site: this.saveData.site,
orderNo: row.orderNo,
}
eamWorkOrderReportSearch(tempData).then(({data}) => {
this.historyDetailList = data.rows
})
this.historyDetailModelFlag = true;
},
}
}
</script>

84
src/views/modules/reportWorkOrder/reportMaintenanceOrder.vue

@ -5,7 +5,7 @@
<icon-svg :name="favorite?'xiangqufill':'xiangqu'" class="sl-svg"></icon-svg>
</span>
</div>
<el-form :inline="true" label-position="top" :model="searchData" @keyup.enter.native="getDataList()">
<el-form :inline="true" label-position="top" :model="searchData" @keyup.enter.native="getDataList()">
<el-form-item :label="'计划编码'">
<el-input v-model="searchData.planID" style="width: 120px"></el-input>
</el-form-item>
@ -74,7 +74,7 @@
:min-width="item.columnWidth"
:label="item.columnLabel">
<template slot-scope="scope">
<span v-if="!item.columnHidden"> {{ scope.row[item.columnProp] }}</span>
<span v-if="!item.columnHidden">{{ scope.row[item.columnProp] }}</span>
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" style="width: 100px; height: 80px"/></span>
</template>
</el-table-column>
@ -101,7 +101,7 @@
</el-pagination>
<el-dialog title="执行维保工单" :close-on-click-modal="false" v-drag :visible.sync="detailModelFlag" width="1200px">
<el-form :inline="true" label-position="top" @keyup.enter.native="getDataList()">
<el-form :inline="true" label-position="top" @keyup.enter.native="getDataList()">
<el-form-item :label="'工厂编码'">
<el-input v-model="saveData.site" disabled style="width: 120px"></el-input>
</el-form-item>
@ -128,14 +128,14 @@
<el-input v-model="saveData.workTime" type="number" readonly :min="0" style="width: 60px"></el-input>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" @keyup.enter.native="getDataList()">
<el-form :inline="true" label-position="top" @keyup.enter.native="getDataList()">
<el-form-item :label="'维保结论'">
<el-select v-model="saveData.checkResult" style="width: 100px" placeholder="请选择">
<el-option label="合格" value="合格"></el-option>
<el-option label="异常" value="异常"></el-option>
</el-select>
</el-form-item>
<el-form-item v-if="this.saveData.checkResult == '异常'" :label="'异常原因'">
<el-form-item v-if="this.saveData.checkResult === '异常'" :label="'异常原因'">
<el-select filterable v-model="saveData.disposalMeasures" style="width: 120px">
<el-option label="缺少备件" value="缺少备件"></el-option>
<el-option label="等待售后" value="等待售后"></el-option>
@ -157,6 +157,16 @@
v-loading="dataListLoading"
@selection-change="selectionChangeHandle"
style="width: 100%;">
<el-table-column
prop=""
header-align="center"
align="center"
min-width="40"
label="操作">
<template slot-scope="scope">
<el-button class="el-icon-upload" type="primary" @click="addUploadFileModal(scope.row)"></el-button>
</template>
</el-table-column>
<el-table-column
v-for="(item,index) in columnDetailList" :key="index"
:sortable="item.columnSortable"
@ -168,7 +178,7 @@
:min-width="item.columnWidth"
:label="item.columnLabel">
<template slot-scope="scope">
<span v-if="!item.columnHidden"> {{ scope.row[item.columnProp] }}</span>
<span v-if="!item.columnHidden">{{ scope.row[item.columnProp] }}</span>
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" style="width: 100px; height: 80px"/></span>
</template>
</el-table-column>
@ -337,6 +347,8 @@
</el-dialog>
<Chooselist ref="baseList" @getBaseData="getBaseData"></Chooselist>
<!-- 上传文件的modal -->
<comEamItemImageUploadFile ref="comEamItemImageUploadFile" @refreshPageTables="getDataList()" v-drag></comEamItemImageUploadFile>
</div>
</template>
@ -351,9 +363,11 @@
} from "@/api/eam/eam.js"
import Chooselist from '@/views/modules/common/Chooselist_eam'
import {userFavoriteList, saveUserFavorite, removeUserFavorite} from '@/api/userFavorite.js'
import comEamItemImageUploadFile from './com_eam_itemImage_upload_file.vue'
export default {
components: {
Chooselist
Chooselist,
comEamItemImageUploadFile
},
watch: {
saveData: {
@ -793,6 +807,24 @@
fixed: '',
columnWidth: 70,
},
{
userId: this.$store.state.user.name,
functionId: 101020,
serialNumber: '101020Table2MinValue',
tableId: "101020Table2",
tableName: "维保项目表",
columnProp: 'imageFlag',
headerAlign: "center",
align: "center",
columnLabel: '图片必填',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 70,
},
],
activeTable: 'inspection_form',
HistoryRecordList: [],
@ -1116,7 +1148,6 @@
}
})
},
//
operatorClickRow(row){
this.$refs.operatorTable.toggleRowSelection(row);
@ -1228,17 +1259,10 @@
functionId: this.$route.meta.menuId,
}
if (this.favorite) {
//
// this.$confirm(``, '', {
// confirmButtonText: '',
// cancelButtonText: '',
// type: 'warning'
// }).then(() => {
removeUserFavorite(userFavorite).then(({data}) => {
this.$message.success(data.msg)
this.favorite = false
})
// })
removeUserFavorite(userFavorite).then(({data}) => {
this.$message.success(data.msg)
this.favorite = false
})
} else {
//
saveUserFavorite(userFavorite).then(({data}) => {
@ -1293,7 +1317,7 @@
return this.exportList;
},
startDownload() {
// this.exportData = this.dataList
},
finishDownload() {
@ -1455,8 +1479,24 @@
})
}
})
}
},
/**
* 上传图片
*/
addUploadFileModal(row){
let currentData = {
site: this.$store.state.user.site,
createBy: this.$store.state.user.name,
orderNo: this.saveData.orderNo,
functionType: 'B',
itemNo: row.itemNo,
folder: 'WBItemImageFile'
};
//
this.$nextTick(() => {
this.$refs.comEamItemImageUploadFile.init(currentData);
})
},
}
}
</script>

Loading…
Cancel
Save