You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

526 lines
19 KiB
Vue

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<template>
<div class="app-container">
<h4 class="form-header h4">工单信息</h4>
<el-form label-width="120px">
<el-row>
<el-col :span="8" :offset="2">
<el-form-item label="工单编号" >
<el-input v-model="this.dmsBillsInstanceList[0].billsInspectCode" disabled />
</el-form-item>
</el-col>
<!-- <el-col :span="8" :offset="2">-->
<!-- <el-form-item label="当前流程" >-->
<!-- <el-input v-model="this.dmsBillsInstanceList[0].wfProcessId" disabled />-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<el-col :span="8" :offset="2">
<el-form-item label="工单状态" >
<el-input v-model="this.billsStatusCheck" disabled />
</el-form-item>
</el-col>
<el-col :span="8" :offset="2">
<el-form-item label="创建人" >
<el-input v-model="this.dmsBillsInstanceList[0].createBy" disabled />
</el-form-item>
</el-col>
<el-col :span="8" :offset="2">
<el-form-item label="创建时间" >
<el-input v-model="this.dmsBillsInstanceList[0].createTime" disabled />
</el-form-item>
</el-col>
<el-col :span="8" :offset="2">
<el-form-item label="检查类型" >
<el-input v-model="this.instanceTypeCheck" disabled />
</el-form-item>
</el-col>
<el-col :span="16" :offset="2">
<el-form-item label="备注" >
<el-input v-model="this.dmsBillsInstanceList[0].remark" disabled />
</el-form-item>
</el-col>
</el-row>
</el-form>
<el-form ref="form" :model="form" label-width="120px">
<el-row>
<h4 class="form-header h4">{{this.wfProcessActivityList[0].processActivityName}}</h4>
<el-col :span="8" >
<el-form-item label="巡检线路" prop="inspectRouteId">
<el-input v-model="form.routeName" placeholder="" :disabled="true"/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="设备总数" prop="deviceAmount">
<el-input v-model="form.deviceAmount" placeholder="请输入检修组别" :disabled=true />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="执行人员" prop="performer">
<el-input v-model="form.performer" :disabled=true />
</el-form-item>
</el-col>
</el-row>
<!-- 中间步骤-->
<el-form-item v-for="(dmsBillsInspectActivity,index) in dmsBillsInspectActivityList"
:key="dmsBillsInspectActivityList.instanceActivityId"
label-width="0px"
:model="form"
v-if="dmsBillsInspectActivity.processStepOrder!=1"
>
<h4 class="form-header h4">{{dmsBillsInspectActivity.processActivityName}}</h4>
<el-col :span="8">
<el-form-item label="检修类型" prop="inspectRouteId">
<!-- <el-input v-model="form.routeName" placeholder="" :disabled="true"/>-->
<el-input
v-model="form.routeName"
v-bind:disabled="dmsBillsInspectActivity.processStepOrder!=dmsBillsInspectActivityList.length+1"
placeholder="检修类型">
</el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="检修组别">
<el-input
v-model="dmsBillsInspectActivity.deviceAmount"
v-bind:disabled="dmsBillsInspectActivity.processStepOrder!=dmsBillsInspectActivityList.length+1"
placeholder="检修组别">
</el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="检修负责人"
>
<el-input
v-model="dmsBillsInspectActivity.performer"
v-bind:disabled="dmsBillsInspectActivity.processStepOrder!=dmsBillsInspectActivityList.length+1"
placeholder="检修负责人">
</el-input>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="处理意见"
>
<el-input
v-model="dmsBillsInspectActivity.processHandleResolution"
v-bind:disabled="dmsBillsInspectActivity.processStepOrder!=dmsBillsInspectActivityList.length+1"
placeholder="">
</el-input>
</el-form-item>
</el-col>
</el-form-item>
<!--新增审批流程表单显示-->
<el-form ref="form1" :model="form1" label-width="100px"
v-if="form1.processStepOrder!=wfProcessActivityList.length&&this.isUpdate==true">
<h4 class="form-header h4">{{this.wfProcessActivityList[this.dmsBillsInspectActivityList.length].processActivityName}}</h4>
<el-col :span="8">
<el-form-item label="巡检线路" prop="inspectRouteId">
<el-select v-model="form1.inspectRouteId" placeholder="巡检线路">
<el-option
v-for="item in dmsBaseInspectRouteList"
:key="item.inspectRouteId"
:label="item.routeName"
:value="item.inspectRouteId">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="设备总数"
>
<el-input
v-model="form1.deviceAmount"
placeholder="设备总数">
</el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="执行人员"
>
<el-input
v-model="form1.performer"
placeholder="执行人员">
</el-input>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="处理意见"
>
<el-input
v-model="form1.processHandleResolution"
placeholder="处理意见">
</el-input>
</el-form-item>
</el-col>
<!--div>
<el-button type="primary" @click="submitForm">提 交</el-button>
</div-->
</el-form>
</el-form>
<!--润滑计划明细列表-->
<h4 class="form-header h4" align="center">点巡检线路详细信息</h4>
<!-- 从这里 点击跳转通过巡检步骤与设备id查询出《点巡检工单明细的主键》 将主键传入后台
通过主键查询点巡检工单明细项目信息的列表,将列表返回到新的页面
-->
<el-table v-loading="loading" :data="this.inspectRouteLists" >
<!-- <el-table-column type="selection" width="55" align="center" />-->
<el-table-column label="巡检步骤" align="center" prop="lineStep" />
<el-table-column label="设备名称" align="center" prop="deviceName" />
<el-table-column label="巡检标准" align="center" prop="standardName" />
<el-table-column label="操作描述" align="center" prop="operationDescription" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
style="float: none"
size="mini"
type="text"
icon="el-icon-bell"
@click="getJump(scope.row)"
v-hasPermi="['dms:dmsInspectRouteDetail:edit']"
>查看详情</el-button>
</template>
</el-table-column>
</el-table>
</div>
</template>
<script>
import { listDmsBillsInspectActivity, getDmsBillsInspectActivity, delDmsBillsInspectActivity, addDmsBillsInspectActivity, updateDmsBillsInspectActivity } from "@/api/dms/dmsBillsInspectActivity";
import { listWfprocessactivity } from '@/api/system/common/wfprocessactivity'
import { listDmsBillsInstance } from '@/api/dms/dmsBillsInstance'
import { listDmsBaseInspectRoute } from '@/api/dms/dmsBaseInspectRoute'
import {selectUserIdByInspectInstanceId} from '@/api/dms/dmsBillsInspectActivity'
import { selectInspectRouteListByInspectRouteId} from '@/api/dms/dmsInspectRouteDetail'
export default {
name: "DmsBillsInspectActivity",
dicts:['dms_inspect_status','dms_instance_type','dms_repair_type','dms_inspect_type'],
data() {
return {
//工单id
inspectInstanceId:"",
//线路明细列表
inspectRouteLists:[],
//线路id
selectInspectRouteId:"",
queryParamWfProcessActivity:{
wfProcessId:null,
},
ListLength:"",
nowPorcessStepOrder:"",
dmsBaseInspectRouteList:[],
//判断是通过修改工单进入还是查看工单进入
isUpdate:"",
billsStatusCheck:"",
//工单状态
instanceTypeCheck:"",
// 遮罩层
loading: true,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 点巡检工单实例节点表格数据
dmsBillsInspectActivityList: [],
repairInstanceActivityList:[],
dmsBillsInstanceList:[],
dmsBillsInspectActivity:[],
wfProcessActivityList:[],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
inspectInstanceId: null,
processActivityId: null,
inspectRouteId: null,
deviceAmount: null,
performer: null,
processHandleResolution: null,
processHandleStatus: null,
processStepOrder: null,
startTime: null,
endTime: null,
handleUserId: null,
handleBy: null,
handleTime: null,
transferUserId: null,
attr1: null
},
// 表单参数
form: {inspectRouteId:null},
form1:{},
// 表单校验
rules: {
inspectInstanceId: [
{ required: true, message: "巡检工单实例ID关联dms_bills_inspect_instance的inspect_instance_id不能为空", trigger: "blur" }
],
processHandleResolution: [
{ required: true, message: "处理意见;第一步不显示从第2步开始只显示此字段不能为空", trigger: "blur" }
],
}
};
},
created() {
const inspectInstanceId = this.$route.params && this.$route.params.inspectInstanceId;
this.form.inspectInstanceId = inspectInstanceId;
this.inspectInstanceId = inspectInstanceId;
this.queryParams.inspectInstanceId = inspectInstanceId;
this.queryParamWfProcessActivity.wfProcessId = 105;
let flag=1;
this.getList();
//通过修改工单进入
if(this.$route.name == "childDmsBillsInspectActivity"){
this.isUpdate = true;
//通过repairInstanceId查询工单实例表查出工单流程节点id
//通过工单流程节点id查询出去查询用户
//如果最后一步已经完成,则不需要权限判定
}
else if(this.$route.name == "selectDmsBillsInspectActivity"){
this.isUpdate = false;
}
this.getDmsBillsInstance();
this.getRoute();
this.getWfprocessActivity();
},
methods: {
getJump(row){
// alert(row)
row.inspectInstanceId =this.inspectInstanceId;
console.log(row)
this.$router.push({path:'/dms/inspect/dmsInspectInstanceDetailProject',query:{inspectInstanceId:row.inspectInstanceId,lineStep:row.lineStep}})
},
getselectUserIdByInspectInstanceId(){
if (this.nowPorcessStepOrder==this.wfProcessActivityList.length){
selectUserIdByInspectInstanceId(this.form.inspectInstanceId,this.$store.state.user.id).then(response=>{
console.log(response)
console.log("=========================================================")
if (response == false) {
alert("无权限")
this.$store.dispatch("tagsView/delView",this.$route)
this.$router.replace({path:"/dms/inspect/dmsBillsInstance"})
}
})
}},
getRoute() {
listDmsBaseInspectRoute(this.queryParams).then(response => {
this.dmsBaseInspectRouteList = response.rows;
});
},
/** 查询巡检工单列表 */
getDmsBillsInstance() {
this.loading = true;
listDmsBillsInstance(this.queryParams).then(response => {
this.dmsBillsInstanceList = response.rows;
// this.
//将0/1转化为字典label
for (let i = 0; i < this.dict.type.dms_inspect_status.length;i++){
if (this.dmsBillsInstanceList[0].inspectStatus==i){
this.billsStatusCheck = this.dict.type.dms_inspect_status[i].label;
}
}
for (let j = 0; j < this.dict.type.dms_inspect_type.length;j++){
//因为字典dms_instance_type没有键值0所以从==j+1
if (this.dmsBillsInstanceList[0].inspectType==j+1){
this.instanceTypeCheck = this.dict.type.dms_inspect_type[j].label;
}
}
});
},
/**查询流程信息*/
getWfprocessActivity(){
listWfprocessactivity(this.queryParamWfProcessActivity).then(response=>{
this.wfProcessActivityList = response.rows;
console.log(this.wfProcessActivityList)
this.stepsNum = this.wfProcessActivityList.length;
for (let i=0;i<this.stepsNum;i++){
for (let j=0;j<this.stepsNum;j++){
if (this.dmsBillsInspectActivityList[i].processStepOrder==this.wfProcessActivityList[j].processActivityOrder){
this.dmsBillsInspectActivityList[i].processActivityName = this.wfProcessActivityList[j].processActivityName;
console.log(this.dmsBillsInspectActivityList[i].processActivityName)
}
}
}
this.loading = false;
})
},
/** 线id线*/
// inspectRouteLists
getInspectRouteLists(){
selectInspectRouteListByInspectRouteId(this.selectInspectRouteId).then(response=>{
this.inspectRouteLists = response.rows
this.loading = false;
})
},
/** 查询点巡检工单实例节点列表 */
getList() {
this.loading = true;
listDmsBillsInspectActivity(this.queryParams).then(response => {
this.dmsBillsInspectActivityList = response.rows;
this.selectInspectRouteId = response.rows[0].inspectRouteId;
console.log("=========================================================")
console.log(this.selectInspectRouteId)
this.getInspectRouteLists();
// console.log(this.dmsBillsInspectActivityList)
this.total = response.total;
this.form.inspectRouteId = this.dmsBillsInspectActivityList[0].inspectRouteId;
this.form.routeName = this.dmsBillsInspectActivityList[0].routeName;
this.form.deviceAmount = this.dmsBillsInspectActivityList[0].deviceAmount;
this.form.performer = this.dmsBillsInspectActivityList[0].performer;
this.ListLength = this.dmsBillsInspectActivityList.length;
this.form1 = JSON.parse(JSON.stringify(this.dmsBillsInspectActivityList[this.ListLength-1]))
this.form1.processHandleResolution = null;
this.nowPorcessStepOrder = this.ListLength+1;
listWfprocessactivity(this.queryParamWfProcessActivity).then(response=>{
this.wfProcessActivityList = response.rows;
this.getselectUserIdByInspectInstanceId();
})
});
},
// 取消按钮
cancel() {
this.open = false;
this.reset();
},
// 表单重置
reset() {
this.form = {
instanceActivityId: null,
inspectInstanceId: null,
processActivityId: null,
inspectRouteId: null,
deviceAmount: null,
performer: null,
processHandleResolution: null,
remark: null,
processHandleStatus: null,
processStepOrder: null,
startTime: null,
endTime: null,
handleUserId: null,
handleBy: null,
handleTime: null,
createBy: null,
createTime: null,
transferUserId: null,
attr1: null
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map(item => item.instanceActivityId)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加点巡检工单实例节点";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const instanceActivityId = row.instanceActivityId || this.ids
getDmsBillsInspectActivity(instanceActivityId).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改点巡检工单实例节点";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form1"].validate(valid => {
if (valid) {
if (this.form.instanceActivityId != null) {
updateDmsBillsInspectActivity(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
for (let i = 0; i < this.wfProcessActivityList.length;i++){
if (this.form1.processStepOrder+1 == this.wfProcessActivityList[i].processActivityOrder){
this.form1.processActivityId = this.wfProcessActivityList[i].processActivityId;
// alert(this.wfProcessActivityList[i].processActivityId)
}
}
// console.log(this.repairInstanceActivityList)
this.form1.instanceActivityId =null;
//顺序自增
this.form1.processStepOrder = this.form1.processStepOrder+1;
this.form1.wfLength = this.wfProcessActivityList.length;
// console.log(this.form1)
addDmsBillsInspectActivity(this.form1).then(response => {
this.$store.dispatch("tagsView/delView",this.$route)
this.$router.replace({path:"/dms/inspect/dmsBillsInstance"})
// this.$modal.msgSuccess("新增成功");
// this.open = false;
// this.getList();
// this.getBillsFaultInstance();
}
);
// addDmsBillsInspectActivity(this.form).then(response => {
// this.$modal.msgSuccess("新增成功");
// this.open = false;
// this.getList();
// });
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const instanceActivityIds = row.instanceActivityId || this.ids;
this.$modal.confirm('是否确认删除点巡检工单实例节点编号为"' + instanceActivityIds + '"的数据项?').then(function() {
return delDmsBillsInspectActivity(instanceActivityIds);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
this.download('dms/dmsBillsInspectActivity/export', {
...this.queryParams
}, `dmsBillsInspectActivity_${new Date().getTime()}.xlsx`)
}
}
};
</script>