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-select>
</el-form-item> </el-form-item>
</el-form> </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 :inline="true" label-position="top" style="margin-left: 7px;margin-top: -5px;">
<el-form-item label="参照值:"> <el-form-item label="参照值:">
<el-input v-model="modalData.defaultValue" style="width: 120px"></el-input> <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-input v-model="modalData.minValue" style="width: 120px"></el-input>
</el-form-item> </el-form-item>
</el-form> </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-footer style="height:40px;margin-top: 20px;text-align:center">
<el-button type="primary" @click="saveData()">保存</el-button> <el-button type="primary" @click="saveData()">保存</el-button>
<el-button type="primary" @click="modalFlag = false">关闭</el-button> <el-button type="primary" @click="modalFlag = false">关闭</el-button>
@ -265,6 +268,7 @@
itemRemark:'', itemRemark:'',
itemType:'B', itemType:'B',
updateBy: this.$store.state.user.name, updateBy: this.$store.state.user.name,
imageFlag: ''
}, },
departmentList:[], departmentList:[],
// //
@ -405,6 +409,23 @@
status: true, status: true,
fixed: '', 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, userId: this.$store.state.user.name,
functionId: 101011, functionId: 101011,
@ -581,6 +602,7 @@
itemRemark:'', itemRemark:'',
itemType:'B', itemType:'B',
updateBy: this.$store.state.user.name, updateBy: this.$store.state.user.name,
imageFlag: ''
}; };
this.modalDisableFlag=false; this.modalDisableFlag=false;
this.modalFlag=true; this.modalFlag=true;
@ -607,6 +629,7 @@
itemRemark:row.itemRemark, itemRemark:row.itemRemark,
itemType:'B', itemType:'B',
updateBy: this.$store.state.user.name, updateBy: this.$store.state.user.name,
imageFlag: row.imageFlag
}; };
this.modalDisableFlag=true; this.modalDisableFlag=true;
this.modalFlag=true; this.modalFlag=true;
@ -639,20 +662,28 @@
}) })
}, },
saveData(){ saveData(){
if (this.modalData.itemNo == '' || this.modalData.itemNo == null) {
if (this.modalData.itemNo === '' || this.modalData.itemNo == null) {
this.$alert('请输入维保项目编码!', '错误', { this.$alert('请输入维保项目编码!', '错误', {
confirmButtonText: '确定' confirmButtonText: '确定'
}) })
return false return false
} }
if (this.modalData.itemDesc == '' || this.modalData.itemDesc == null) {
if (this.modalData.itemDesc === '' || this.modalData.itemDesc == null) {
this.$alert('请输入维保项目名称!', '错误', { this.$alert('请输入维保项目名称!', '错误', {
confirmButtonText: '确定' confirmButtonText: '确定'
}) })
return false 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}) => { eamPropertiesItemSave(this.modalData).then(({data}) => {
if (data && data.code === '0') { if (data && data.code === '0') {
this.getDataList() this.getDataList()
@ -691,7 +722,7 @@
} }
}, },
addChooseModal(){ addChooseModal(){
this.itemFlag= this.chooseModalData.valueTypeDb=='T'?'text':'number';
this.itemFlag= this.chooseModalData.valueTypeDb === 'T'?'text':'number';
this.itemData={ this.itemData={
itemNo:this.chooseModalData.itemNo, itemNo:this.chooseModalData.itemNo,
valueNo:0, valueNo:0,
@ -702,7 +733,7 @@
this.itemModalFlag=true; this.itemModalFlag=true;
}, },
updateChooseModal(row){ updateChooseModal(row){
this.itemFlag= this.chooseModalData.valueTypeDb=='T'?'text':'number';
this.itemFlag= this.chooseModalData.valueTypeDb === 'T'?'text':'number';
this.itemData={ this.itemData={
itemNo:this.chooseModalData.itemNo, itemNo:this.chooseModalData.itemNo,
valueNo:row.valueNo, valueNo:row.valueNo,
@ -713,7 +744,7 @@
this.itemModalFlag=true; this.itemModalFlag=true;
}, },
saveItemAvailable(){ saveItemAvailable(){
if(this.itemData.availableValue==''||this.itemData.availableValue==null){
if(this.itemData.availableValue === ''||this.itemData.availableValue == null){
this.$alert("请输入可选值!",'错误', { this.$alert("请输入可选值!",'错误', {
confirmButtonText: '确定' confirmButtonText: '确定'
}) })

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

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

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

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

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

@ -189,9 +189,9 @@
min-width="80" min-width="80"
label="实测值"> label="实测值">
<template slot-scope="scope"> <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 <el-option
v-for="item in scope.row.availableList" v-for="item in scope.row.availableList"
:key="index" :key="index"
@ -199,7 +199,7 @@
:value="item.availableValue"> :value="item.availableValue">
</el-option> </el-option>
</el-select> </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 <el-option
v-for="item in scope.row.availableList" v-for="item in scope.row.availableList"
:key="index" :key="index"
@ -298,10 +298,8 @@
min-width="80" min-width="80"
label="实测值"> label="实测值">
<template slot-scope="scope"> <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> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@ -1196,7 +1194,6 @@
cancelButtonText: '取消', cancelButtonText: '取消',
type: 'warning' type: 'warning'
}).then(() => { }).then(() => {
}).then(() =>{ }).then(() =>{
return false return false
}) })
@ -1232,9 +1229,9 @@
// table // table
refreshCurrentTabTable () { refreshCurrentTabTable () {
// //
if (this.activeTable == 'inspection_form') {
if (this.activeTable === 'inspection_form') {
this.getInspectionFormData(); this.getInspectionFormData();
} else if (this.activeTable == 'history_record') {
} else if (this.activeTable === 'history_record') {
this.queryHistoryRecord(); this.queryHistoryRecord();
} }
}, },
@ -1328,7 +1325,7 @@
orderNo: this.saveData.orderNo, orderNo: this.saveData.orderNo,
functionType: 'A', functionType: 'A',
itemNo: row.itemNo, itemNo: row.itemNo,
folder: 'itemImageFile'
folder: 'DJItemImageFile'
}; };
// //
this.$nextTick(() => { this.$nextTick(() => {

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

@ -93,7 +93,7 @@
layout="total, sizes, prev, pager, next, jumper"> layout="total, sizes, prev, pager, next, jumper">
</el-pagination> </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 :inline="true" label-position="top" @keyup.enter.native="getDataList()">
<el-form-item :label="'工厂编码'"> <el-form-item :label="'工厂编码'">
<el-input v-model="saveData.site" disabled style="width: 120px"></el-input> <el-input v-model="saveData.site" disabled style="width: 120px"></el-input>
@ -104,87 +104,119 @@
<el-form-item :label="'计划执行人员'"> <el-form-item :label="'计划执行人员'">
<el-input v-model="saveData.planOperatorName" disabled style="width: 120px"></el-input> <el-input v-model="saveData.planOperatorName" disabled style="width: 120px"></el-input>
</el-form-item> </el-form-item>
</el-form>
<el-form :inline="true" label-position="top" @keyup.enter.native="getDataList()">
<el-form-item label="设备编码:"> <el-form-item label="设备编码:">
<el-input v-model="saveData.objectID" disabled style="width: 120px"></el-input> <el-input v-model="saveData.objectID" disabled style="width: 120px"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="设备名称:"> <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-item>
</el-form> </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-footer style="height:40px;margin-top: 20px;text-align:center">
<el-button type="primary" @click="saveCheckReport()">保存</el-button> <el-button type="primary" @click="saveCheckReport()">保存</el-button>
<el-button type="primary" @click="detailModelFlag = false">关闭</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"> <el-dialog title="机修人员清单" :close-on-click-modal="false" v-drag :visible.sync="operatorModelFlag" width="820px">
<div class="rq"> <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-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>
<el-form-item :label="'人员姓名'"> <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>
<el-form-item :label="' '"> <el-form-item :label="' '">
<el-button type="primary" @click="getOperatorList()">查询</el-button> <el-button type="primary" @click="getOperatorList()">查询</el-button>
@ -232,7 +264,7 @@
:min-width="item.columnWidth" :min-width="item.columnWidth"
:label="item.columnLabel"> :label="item.columnLabel">
<template slot-scope="scope"> <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> <span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" style="width: 100px; height: 80px"/></span>
</template> </template>
</el-table-column> </el-table-column>
@ -262,7 +294,6 @@
import Chooselist from '@/views/modules/common/Chooselist_eam' import Chooselist from '@/views/modules/common/Chooselist_eam'
import {userFavoriteList, saveUserFavorite, removeUserFavorite} from '@/api/userFavorite.js' import {userFavoriteList, saveUserFavorite, removeUserFavorite} from '@/api/userFavorite.js'
import reportImageUpload from "./report_image_upload.vue"; import reportImageUpload from "./report_image_upload.vue";
export default { export default {
components: { components: {
Chooselist, Chooselist,
@ -281,7 +312,6 @@
this.searchData.groupID = this.searchData.groupID.toUpperCase() this.searchData.groupID = this.searchData.groupID.toUpperCase()
} }
}, },
modalData: { modalData: {
deep: true, deep: true,
handler: function (newV, oldV) { handler: function (newV, oldV) {
@ -319,7 +349,6 @@
pageIndex: 1, pageIndex: 1,
pageSize: 100, pageSize: 100,
totalPage: 0, totalPage: 0,
dataList: [], dataList: [],
dataListLoading: false, dataListLoading: false,
dataListSelections: [], dataListSelections: [],
@ -710,6 +739,106 @@
return time.getTime() > Date.now(); 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 () { mounted () {
@ -776,7 +905,6 @@
} }
}, },
// //
operatorClickRow(row){ operatorClickRow(row){
this.$refs.operatorTable.toggleRowSelection(row); this.$refs.operatorTable.toggleRowSelection(row);
@ -952,7 +1080,8 @@
defectDesc: row.defectDesc, defectDesc: row.defectDesc,
objectID: row.objectID, objectID: row.objectID,
objectDesc: row.objectDesc, objectDesc: row.objectDesc,
},
}
// this.queryHistoryRecord();
this.detailModelFlag = true; this.detailModelFlag = true;
}, },
saveCheckReport(){ saveCheckReport(){
@ -1061,7 +1190,46 @@
this.$refs.reportImageUpload.init(currentData); 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> </script>

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

@ -5,7 +5,7 @@
<icon-svg :name="favorite?'xiangqufill':'xiangqu'" class="sl-svg"></icon-svg> <icon-svg :name="favorite?'xiangqufill':'xiangqu'" class="sl-svg"></icon-svg>
</span> </span>
</div> </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-form-item :label="'计划编码'">
<el-input v-model="searchData.planID" style="width: 120px"></el-input> <el-input v-model="searchData.planID" style="width: 120px"></el-input>
</el-form-item> </el-form-item>
@ -74,7 +74,7 @@
:min-width="item.columnWidth" :min-width="item.columnWidth"
:label="item.columnLabel"> :label="item.columnLabel">
<template slot-scope="scope"> <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> <span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" style="width: 100px; height: 80px"/></span>
</template> </template>
</el-table-column> </el-table-column>
@ -101,7 +101,7 @@
</el-pagination> </el-pagination>
<el-dialog title="执行维保工单" :close-on-click-modal="false" v-drag :visible.sync="detailModelFlag" width="1200px"> <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-form-item :label="'工厂编码'">
<el-input v-model="saveData.site" disabled style="width: 120px"></el-input> <el-input v-model="saveData.site" disabled style="width: 120px"></el-input>
</el-form-item> </el-form-item>
@ -128,14 +128,14 @@
<el-input v-model="saveData.workTime" type="number" readonly :min="0" style="width: 60px"></el-input> <el-input v-model="saveData.workTime" type="number" readonly :min="0" style="width: 60px"></el-input>
</el-form-item> </el-form-item>
</el-form> </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-form-item :label="'维保结论'">
<el-select v-model="saveData.checkResult" style="width: 100px" placeholder="请选择"> <el-select v-model="saveData.checkResult" style="width: 100px" placeholder="请选择">
<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-select>
</el-form-item> </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-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>
@ -157,6 +157,16 @@
v-loading="dataListLoading" v-loading="dataListLoading"
@selection-change="selectionChangeHandle" @selection-change="selectionChangeHandle"
style="width: 100%;"> 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 <el-table-column
v-for="(item,index) in columnDetailList" :key="index" v-for="(item,index) in columnDetailList" :key="index"
:sortable="item.columnSortable" :sortable="item.columnSortable"
@ -168,7 +178,7 @@
:min-width="item.columnWidth" :min-width="item.columnWidth"
:label="item.columnLabel"> :label="item.columnLabel">
<template slot-scope="scope"> <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> <span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" style="width: 100px; height: 80px"/></span>
</template> </template>
</el-table-column> </el-table-column>
@ -337,6 +347,8 @@
</el-dialog> </el-dialog>
<Chooselist ref="baseList" @getBaseData="getBaseData"></Chooselist> <Chooselist ref="baseList" @getBaseData="getBaseData"></Chooselist>
<!-- 上传文件的modal -->
<comEamItemImageUploadFile ref="comEamItemImageUploadFile" @refreshPageTables="getDataList()" v-drag></comEamItemImageUploadFile>
</div> </div>
</template> </template>
@ -351,9 +363,11 @@
} from "@/api/eam/eam.js" } from "@/api/eam/eam.js"
import Chooselist from '@/views/modules/common/Chooselist_eam' import Chooselist from '@/views/modules/common/Chooselist_eam'
import {userFavoriteList, saveUserFavorite, removeUserFavorite} from '@/api/userFavorite.js' import {userFavoriteList, saveUserFavorite, removeUserFavorite} from '@/api/userFavorite.js'
import comEamItemImageUploadFile from './com_eam_itemImage_upload_file.vue'
export default { export default {
components: { components: {
Chooselist
Chooselist,
comEamItemImageUploadFile
}, },
watch: { watch: {
saveData: { saveData: {
@ -793,6 +807,24 @@
fixed: '', fixed: '',
columnWidth: 70, 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', activeTable: 'inspection_form',
HistoryRecordList: [], HistoryRecordList: [],
@ -1116,7 +1148,6 @@
} }
}) })
}, },
// //
operatorClickRow(row){ operatorClickRow(row){
this.$refs.operatorTable.toggleRowSelection(row); this.$refs.operatorTable.toggleRowSelection(row);
@ -1228,17 +1259,10 @@
functionId: this.$route.meta.menuId, functionId: this.$route.meta.menuId,
} }
if (this.favorite) { 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 { } else {
// //
saveUserFavorite(userFavorite).then(({data}) => { saveUserFavorite(userFavorite).then(({data}) => {
@ -1293,7 +1317,7 @@
return this.exportList; return this.exportList;
}, },
startDownload() { startDownload() {
// this.exportData = this.dataList
}, },
finishDownload() { 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> </script>

Loading…
Cancel
Save