| | |
| | | <template> |
| | | <div class="app-container"> |
| | | <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch"> |
| | | <el-form-item label="工单号" prop="workOrderNo"> |
| | | <el-form-item label="关键词" prop="keyword"> |
| | | <el-input |
| | | v-model="queryParams.workOrderNo" |
| | | placeholder="请输入工单号" |
| | | v-model="queryParams.keyword" |
| | | placeholder="工单号/点位名称搜索" |
| | | clearable |
| | | @clear="handleQuery" |
| | | @keyup.enter.native="handleQuery" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="故障类型" prop="errorTypeList"> |
| | | <el-select v-model="queryParams.errorTypeList" multiple placeholder="故障类型" clearable @clear="handleQuery"> |
| | | <el-option v-for="dict in dict.type.error_type" |
| | | :value="dict.value" |
| | | :label="dict.label"/> |
| | | <el-select v-model="queryParams.errorTypeList" multiple @change="handleQuery" placeholder="故障类型" clearable @clear="handleQuery"> |
| | | <el-option v-for="dict in dict.type.error_type" :value="dict.value" :key="dict.value" :label="dict.label" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="工单状态" prop="status"> |
| | | <el-select v-model="queryParams.status" placeholder="工单状态" @change="handleQuery"> |
| | | <el-option label="全部" value=""></el-option> |
| | | <el-option label="待处理" value="DISTRIBUTED"></el-option> |
| | | <el-option label="待审核" value="YW_HANDLE"></el-option> |
| | | <el-option label="已完成" value="AUDITING_SUCCESS"></el-option> |
| | |
| | | </el-col> |
| | | </el-row> |
| | | |
| | | <el-row v-if="workOrderList && workOrderList.length > 0" :gutter="20" v-loading="loading"> |
| | | <el-row :gutter="20" v-loading="loading"> |
| | | <el-col :xl="6" :lg="8" :md="12" :sm="24" v-for="item in workOrderList" :key="item.id"> |
| | | <div class="my-col"> |
| | | <div style="padding-left: 10px; padding-top: 8px"> |
| | |
| | | <div class="card"> |
| | | <div class="card-left"> |
| | | <el-image |
| | | :preview-src-list="['https://img2.baidu.com/it/u=68398439,1553004927&fm=253&fmt=auto&app=138&f=JPEG?w=800&h=357']" |
| | | fit="cover" src="https://img2.baidu.com/it/u=68398439,1553004927&fm=253&fmt=auto&app=138&f=JPEG?w=800&h=357" |
| | | v-if="item.imgList && item.imgList.length > 0" |
| | | :preview-src-list="item.imgList" |
| | | fit="cover" :src="item.imgList[0]" |
| | | class="image" |
| | | /> |
| | | style="display: flex;justify-content: center;align-items: center;" |
| | | > |
| | | <div slot="error" class="image-slot"> |
| | | <i class="el-icon-picture-outline">加载失败</i> |
| | | </div> |
| | | </el-image> |
| | | <el-image class="image" style="display: flex;justify-content: center;align-items: center;" v-else> |
| | | <div slot="error" class="image-slot"> |
| | | <i class="el-icon-picture-outline" style="color: gray;font-size: 14px">未取到图片</i> |
| | | </div> |
| | | </el-image> |
| | | </div> |
| | | <div class="work-order"> |
| | | <el-row class="work-order-item"> |
| | | <el-col :span="24" class="time">工单编号:{{ item.workOrderNo }}</el-col> |
| | | <el-col :span="24" class="time">工单号:{{ item.workOrderNo }}</el-col> |
| | | </el-row> |
| | | <el-row class="work-order-item"> |
| | | <el-col :span="24" class="time">故障时间:{{ item.createTime }}</el-col> |
| | | </el-row> |
| | | <el-row class="work-order-item"> |
| | | <el-col class="time" :span="24" style="display: flex;flex-direction: row"><div style="min-width: 66px">故障点位:</div><div style="word-break: break-word">{{ item.source }}</div></el-col> |
| | | <el-col class="time" :span="24"><div>故障点位:</div><div>{{ item.source }}</div></el-col> |
| | | </el-row> |
| | | <el-row style="position: absolute;bottom: 10px"> |
| | | <el-button |
| | |
| | | class="my-button" |
| | | size="mini" |
| | | type="text" |
| | | v-hasPermi="['work:order:condition:add']" |
| | | v-show="item.status !== 'AUDITING_SUCCESS'" |
| | | @click="handleYwCondition(item)" |
| | | >运维情况 |
| | | >处理上报 |
| | | </el-button> |
| | | <el-button |
| | | class="my-button" |
| | |
| | | type="text" |
| | | @click="handleReport(item)" |
| | | v-hasPermi="['system:report:add']" |
| | | v-show="item.status !== 'AUDITING_SUCCESS'" |
| | | >事后报备 |
| | | </el-button> |
| | | <el-button |
| | | class="my-button" |
| | | size="mini" |
| | | type="text" |
| | | @click="handleDetail(item)" |
| | | v-hasPermi="['system:workorder:detail']" |
| | | >详情 |
| | | </el-button> |
| | | </el-row> |
| | | </div> |
| | |
| | | |
| | | </el-col> |
| | | </el-row> |
| | | <el-empty v-else description="暂无数据"></el-empty> |
| | | <el-empty v-if="empty" description="暂无数据"></el-empty> |
| | | |
| | | <pagination |
| | | v-show="total>0" |
| | |
| | | <el-form-item label="报备类型"> |
| | | <el-input v-model="reportForm.reportType" disabled/> |
| | | </el-form-item> |
| | | <el-form-item label="故障类型" prop="errorType"> |
| | | <el-select v-model="reportForm.errorType"> |
| | | <el-option label="市政施工" value="市政施工"/> |
| | | <el-option label="设备故障" value="设备故障"/> |
| | | <el-option label="设备遗失" value="设备遗失"/> |
| | | <el-form-item label="故障类型" prop="errorTypeList"> |
| | | <el-select v-model="reportForm.errorTypeList" multiple> |
| | | <el-option v-for="dict in dict.type.report_error_type" :value="dict.value" :key="dict.value" :label="dict.label" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="报备时间" prop="daterangeCreateTime"> |
| | | <el-date-picker v-model="reportForm.daterangeCreateTime" type="datetimerange" value-format="yyyy-MM-dd HH:mm:ss" |
| | | range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期" |
| | | ></el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item label="报备内容" prop="reportContent"> |
| | | <editor v-model="reportForm.reportContent" :min-height="192"/> |
| | | </el-form-item> |
| | | <el-form-item label="上报材料" prop="reportMaterials"> |
| | | <el-form-item label="报备材料" prop="reportMaterials"> |
| | | <file-upload v-model="reportForm.reportMaterials"/> |
| | | </el-form-item> |
| | | </el-form> |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button @click="reportOpen = false">取 消</el-button> |
| | | <el-button type="primary" @click="submitReportForm">提 交</el-button> |
| | | <el-button type="primary" @click="submitReportForm">提交审核</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | |
| | | <el-dialog title="工单审核" :visible.sync="auditingOpen" width="1000px" append-to-body> |
| | | <el-row :gutter="20"> |
| | | <el-col :span="10"> |
| | | <el-form ref="auditingForm" :model="auditingForm" :rules="auditingRules" label-width="80px"> |
| | | <el-form-item label="工单号" prop="workOrderNo"> |
| | | <el-input v-model="auditingForm.workOrderNo" disabled/> |
| | | </el-form-item> |
| | | <el-form-item label="运维单位" prop="unitName"> |
| | | <el-input v-model="auditingForm.unitName" disabled/> |
| | | </el-form-item> |
| | | <el-form-item label="审核结果" prop="auditingResult"> |
| | | <el-radio v-model="auditingForm.auditingResult" label="AUDITING_SUCCESS">通过</el-radio> |
| | | <el-radio v-model="auditingForm.auditingResult" label="AUDITING_FAIL">驳回</el-radio> |
| | | </el-form-item> |
| | | <el-form-item label="审核备注" prop="auditingRemark"> |
| | | <el-input v-model="auditingForm.auditingRemark" type="textarea" maxlength="30" show-word-limit/> |
| | | </el-form-item> |
| | | </el-form> |
| | | </el-col> |
| | | <el-col :span="14" style="max-height: 500px; overflow-y: auto"> |
| | | <el-timeline v-if="ywConditions && ywConditions.length > 0"> |
| | | <el-timeline-item v-for="(condition, index) in ywConditions" :key="index" |
| | | :timestamp="condition.commitUserName + '___' + condition.createTime" placement="top" |
| | | > |
| | | <el-card> |
| | | <div v-html="condition.ywCondition"></div> |
| | | <el-link type="primary" |
| | | v-for="item in condition.ywProofMaterials != null ? condition.ywProofMaterials.split(',') : condition.ywProofMaterials" |
| | | :underline="false" :key="item.id" @click="handleDownload(item)" |
| | | >{{ item.substring(item.lastIndexOf('/') + 1) }} |
| | | </el-link> |
| | | </el-card> |
| | | </el-timeline-item> |
| | | </el-timeline> |
| | | <el-empty v-else description="没有处理记录"></el-empty> |
| | | </el-col> |
| | | </el-row> |
| | | <WorkOrderAuditing :auditingOpen="auditingOpen" :dataForm="auditingForm" :ywConditions="ywConditions" @close="closeAuditing"/> |
| | | <!-- <el-dialog title="工单审核" :visible.sync="auditingOpen" width="1000px" append-to-body>--> |
| | | <!-- <el-row :gutter="20">--> |
| | | <!-- <el-col :span="10">--> |
| | | <!-- <el-form ref="auditingForm" :model="auditingForm" :rules="auditingRules" label-width="80px">--> |
| | | <!-- <el-form-item label="工单号" prop="workOrderNo">--> |
| | | <!-- <el-input v-model="auditingForm.workOrderNo" disabled/>--> |
| | | <!-- </el-form-item>--> |
| | | <!-- <el-form-item label="运维单位" prop="unitName">--> |
| | | <!-- <el-input v-model="auditingForm.unitName" disabled/>--> |
| | | <!-- </el-form-item>--> |
| | | <!-- <el-form-item label="审核结果" prop="auditingResult">--> |
| | | <!-- <el-radio v-model="auditingForm.auditingResult" label="AUDITING_SUCCESS">通过</el-radio>--> |
| | | <!-- <el-radio v-model="auditingForm.auditingResult" label="AUDITING_FAIL">驳回</el-radio>--> |
| | | <!-- </el-form-item>--> |
| | | <!-- <el-form-item label="审核备注" prop="auditingRemark">--> |
| | | <!-- <el-input v-model="auditingForm.auditingRemark" type="textarea" maxlength="30" show-word-limit/>--> |
| | | <!-- </el-form-item>--> |
| | | <!-- </el-form>--> |
| | | <!-- </el-col>--> |
| | | <!-- <el-col :span="14" style="max-height: 500px; overflow-y: auto">--> |
| | | <!-- <el-timeline v-if="ywConditions && ywConditions.length > 0">--> |
| | | <!-- <el-timeline-item v-for="(condition, index) in ywConditions" :key="index"--> |
| | | <!-- :timestamp="condition.commitUserName + '___' + condition.createTime" placement="top"--> |
| | | <!-- >--> |
| | | <!-- <el-card>--> |
| | | <!-- <div v-html="condition.ywCondition"></div>--> |
| | | <!-- <el-link type="primary"--> |
| | | <!-- v-for="item in condition.ywProofMaterials != null ? condition.ywProofMaterials.split(',') : condition.ywProofMaterials"--> |
| | | <!-- :underline="false" :key="item.id" @click="handleDownload(item)"--> |
| | | <!-- >{{ item.substring(item.lastIndexOf('/') + 1) }}--> |
| | | <!-- </el-link>--> |
| | | <!-- </el-card>--> |
| | | <!-- </el-timeline-item>--> |
| | | <!-- </el-timeline>--> |
| | | <!-- <el-empty v-else description="没有处理记录"></el-empty>--> |
| | | <!-- </el-col>--> |
| | | <!-- </el-row>--> |
| | | |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button @click="cancelAuditing">取 消</el-button> |
| | | <el-button type="primary" @click="submitAuditing">审 核</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | <!-- <div slot="footer" class="dialog-footer">--> |
| | | <!-- <el-button @click="cancelAuditing">取 消</el-button>--> |
| | | <!-- <el-button type="primary" @click="submitAuditing">审 核</el-button>--> |
| | | <!-- </div>--> |
| | | <!-- </el-dialog>--> |
| | | |
| | | <el-dialog title="运维情况记录" :visible.sync="ywConditionOpen" width="500px" append-to-body> |
| | | <el-form ref="form" :model="form" :rules="ywConditionRules" label-width="80px"> |
| | |
| | | </div> |
| | | </el-dialog> |
| | | |
| | | <el-dialog title="运维批量审核" :visible.sync="batchAuditingVisible" width="500px" append-to-body> |
| | | <el-dialog title="工单批量审核" :visible.sync="batchAuditingVisible" width="500px" append-to-body> |
| | | <el-form ref="batchAuditingWorkOrder" :model="batchAuditingWorkOrder" label-width="80px" |
| | | :rules="batchAuditingRules" |
| | | > |
| | | <el-form-item label="故障类型" prop="errorType"> |
| | | <el-select v-model="batchAuditingWorkOrder.errorTypes" multiple placeholder="故障类型"> |
| | | <el-option v-for="(item, index) in errorTypeOptions" :label="item.dictLabel" :value="item.dictValue" |
| | | :key="index" |
| | | ></el-option> |
| | | <el-option v-for="dict in dict.type.error_type" :value="dict.value" :key="dict.value" :label="dict.label" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="审核说明" prop="auditingRemark"> |
| | |
| | | <el-dialog title="过程图" :visible.sync="flowOpen" width="1200px" append-to-body> |
| | | <div> |
| | | <el-steps :active="ywAuditingList.length != 0 ? 3 : ywHandleList.length != 0 ? 2 : 1" :space="500"> |
| | | <el-step title="产生工单"> |
| | | <el-step :title="getTitle1()"> |
| | | <template slot="description"> |
| | | <div> |
| | | <div class="flow-item-x"> |
| | | 工单来源: |
| | | <el-tag type="danger" size="small">{{ flowForm.source }}</el-tag> |
| | | <div class="row flow-item-x"> |
| | | <div class="flex1">故障点位:</div> |
| | | <div class="flex2"><el-tag type="danger" size="small">{{ flowForm.source }}</el-tag></div> |
| | | </div> |
| | | <div class="flow-item-x"> |
| | | 故障类型:{{ flowForm.errorType }} |
| | | <div class="row flow-item-x"> |
| | | <div class="flex1">故障类型:</div> |
| | | <div class="flex2">{{ flowForm.errorType }}</div> |
| | | </div> |
| | | <div class="flow-item-x"> |
| | | 运维单位:{{ flowForm.unitName }} |
| | | <div class="row flow-item-x"> |
| | | <div class="flex1">运维单位:</div> |
| | | <div class="flex2">{{ flowForm.unitName }}</div> |
| | | </div> |
| | | <div class="flow-item-x"> |
| | | 创建时间:{{ flowForm.createTime }} |
| | | <div class="row flow-item-x"> |
| | | <div class="flex1">创建时间:</div> |
| | | <div class="flex2">{{ flowForm.createTime }}</div> |
| | | </div> |
| | | <div class="flow-item-x" v-if="flowForm.processingPeriod"> |
| | | 处理期限: |
| | | <el-tag type="danger" size="small">{{ flowForm.processingPeriod }}</el-tag> |
| | | <div class="row flow-item-x" v-if="flowForm.processingPeriod"> |
| | | <div class="flex1">处理期限:</div> |
| | | <div class="flex2"><el-tag type="danger" size="small">{{ flowForm.processingPeriod }}</el-tag></div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | </el-step> |
| | | <el-step title="运维处理"> |
| | | <el-step :title="getTitle2()"> |
| | | <template slot="description"> |
| | | <div style="max-height: 450px;overflow-y: scroll"> |
| | | <div class="y-item" v-for="(item, index) in ywHandleList" :key="index"> |
| | | <div class="y-item-1"> |
| | | <div class="flow-item-x"> |
| | | 现场情况: |
| | | <!-- <el-tooltip class="item" effect="dark" :content="item.ywCondition" placement="top"> --> |
| | | <span v-html="item.ywCondition"></span> |
| | | <!-- </el-tooltip> --> |
| | | </div> |
| | | <!-- <div class="flow-item-x"> |
| | | <el-tag size="small" v-for="file in item.ywProofMaterials != null ? item.ywProofMaterials.split(',') : item.ywProofMaterials" :key="file" @click="handleDownload(file)">{{ file.substring(file.lastIndexOf("/") + 1) }}</el-tag> |
| | | </div> --> |
| | | <div v-for="(item, index) in ywHandleList" :key="index"> |
| | | <div v-if="item.sysMsg === true" class="row flow-item-x"> |
| | | <div class="cflex1">系统消息:</div> |
| | | <div class="cflex2">{{item.ywCondition}}</div> |
| | | <div class="cflex3">{{item.createTime}}</div> |
| | | </div> |
| | | <div class="y-item-2"> |
| | | <div> |
| | | {{ parseTime(item.createTime) }} |
| | | <div v-else style="width: 100%"> |
| | | <div style="display: flex; flex-direction: row;width: 100%;position: relative"> |
| | | <div class="cflex1">运维情况:</div> |
| | | <div class="cflex2"><el-link style="font-size: 14px" type="danger" @click="openDrawer(item)">点击查看</el-link></div> |
| | | <div class="cflex3">{{item.createTime}}</div> |
| | | </div> |
| | | <div> |
| | | 第{{ index + 1 }}次 |
| | | </div> |
| | | <el-drawer |
| | | title="运维情况" |
| | | :visible.sync="drawer" |
| | | direction="rtl" |
| | | :modal="false" |
| | | > |
| | | <div style="padding: 20px;font-size: 14px"> |
| | | <div class="row flow-item-x"> |
| | | <div class="flex1"><p>上报内容:</p></div> |
| | | <div class="flex2"> |
| | | <div v-html="ywData.content"></div> |
| | | </div> |
| | | </div> |
| | | <div class="row flow-item-x"> |
| | | <div class="flex1"><p>佐证材料:</p></div> |
| | | <div class="flex2"> |
| | | <p> |
| | | <el-link type="primary" |
| | | v-for="item in ywData.fileList != null ? ywData.fileList.split(',') : ywData.fileList" |
| | | :underline="false" :key="item.id" @click="handleDownload(item)" |
| | | >{{ item.substring(item.lastIndexOf('/') + 1) }} |
| | | </el-link> |
| | | </p> |
| | | </div> |
| | | |
| | | </div> |
| | | </div> |
| | | </el-drawer> |
| | | <!-- <div class="flow-item-x"> |
| | | <el-tag size="small" v-for="file in item.ywProofMaterials != null ? item.ywProofMaterials.split(',') : item.ywProofMaterials" :key="file" @click="handleDownload(file)">{{ file.substring(file.lastIndexOf("/") + 1) }}</el-tag> |
| | | </div> --> |
| | | </div> |
| | | |
| | | </div> |
| | | </div> |
| | | </template> |
| | |
| | | <el-step title="审核结果"> |
| | | <template slot="description"> |
| | | <div style="max-height: 450px;overflow-y: scroll"> |
| | | <div class="y-item" v-for="(item, index) in ywAuditingList" :key="index"> |
| | | <div class="y-item-1"> |
| | | <div class="flow-item-x"> |
| | | <div v-for="(item, index) in ywAuditingList" :key="index"> |
| | | <div class="row flow-item-x"> |
| | | <div class="cflex1"> |
| | | 审核结果: |
| | | </div> |
| | | <div class="cflex2"> |
| | | <el-tag :type="item.result == '审核通过' ? 'success' : 'danger'" size="small">{{ |
| | | item.result |
| | | }} |
| | | </el-tag> |
| | | </div> |
| | | <div class="flow-item-x"> |
| | | 审核说明:<span v-html="item.remark"></span> |
| | | <div class="cflex3"> |
| | | {{ item.createTime }} |
| | | </div> |
| | | </div> |
| | | <div class="y-item-2"> |
| | | <div> |
| | | {{ parseTime(item.createTime) }} |
| | | </div> |
| | | <div> |
| | | 第{{ index + 1 }}次 |
| | | <div class="row flow-item-x"> |
| | | <div class="flex1">审核说明:</div> |
| | | <div class="flex2"> |
| | | <span v-if="item.remark" v-html="item.remark"></span> |
| | | <span v-else>无</span> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | </div> |
| | | </template> |
| | | <style scoped> |
| | | .flex1 { |
| | | flex: 2; |
| | | } |
| | | .flex2 { |
| | | flex: 9; |
| | | } |
| | | .cflex1 { |
| | | flex: 2; |
| | | } |
| | | .cflex2 { |
| | | flex: 5; |
| | | flex-wrap: wrap; |
| | | } |
| | | .cflex3 { |
| | | flex: 4; |
| | | } |
| | | .row { |
| | | display: flex; |
| | | flex-direction: row; |
| | | } |
| | | .flow-item-x { |
| | | margin: 5px 0; |
| | | } |
| | |
| | | background-color: #d9d9d9; |
| | | display: flex; |
| | | flex-direction: row; |
| | | align-items: center |
| | | align-items: center; |
| | | width: 100%; |
| | | } |
| | | |
| | | .y-item-2 { |
| | |
| | | batchAuditing, |
| | | ywCondition, |
| | | getYwCondition, |
| | | getYwConditionList, |
| | | getYwAuditingList |
| | | process |
| | | } from '@/api/platform/work-order' |
| | | import { addReport } from '@/api/platform/report' |
| | | import { getDicts } from '@/api/system/dict/data' |
| | | import WorkOrderAuditing from "@/components/WorkOrder/WorkOrderAuditing"; |
| | | |
| | | export default { |
| | | name: 'Work-order', |
| | | dicts: ['error_type'], |
| | | components: {}, |
| | | dicts: ['error_type', 'report_error_type'], |
| | | components: {WorkOrderAuditing}, |
| | | data() { |
| | | return { |
| | | drawer: false, |
| | | empty: false, |
| | | openShowCurrent: null, |
| | | errorTypeOptions: [], |
| | | ywConditions: [], |
| | | batchAuditingVisible: false, |
| | | batchAuditingWorkOrder: { |
| | |
| | | }, |
| | | ywHandleList: [], |
| | | ywAuditingList: [], |
| | | beforeReportMsg: '', |
| | | afterReportMsg: '', |
| | | reportFormRules: { |
| | | reportContent: [ |
| | | { required: true, message: '报备内容不能为空', trigger: 'blur' } |
| | | ], |
| | | reportMaterials: [ |
| | | { required: true, message: '上报材料不能为空', trigger: 'blur' } |
| | | ] |
| | | { required: true, message: '报备材料不能为空', trigger: 'blur' } |
| | | ], |
| | | errorTypeList: [ |
| | | { required: true, message: '请选择故障类型', trigger: 'change' } |
| | | ], |
| | | daterangeCreateTime: [ |
| | | { required: true, message: '请选择报备时间', trigger: 'change' } |
| | | ], |
| | | }, |
| | | reportOpen: false, |
| | | reportForm: { |
| | | reportType: '事后报备', |
| | | pointId: '', |
| | | errorType: '', |
| | | errorTypeList: [], |
| | | reportContent: '', |
| | | reportMaterials: '' |
| | | reportMaterials: '', |
| | | daterangeCreateTime: [], |
| | | beginCreateTime: null, |
| | | endCreateTime: null |
| | | }, |
| | | // 过程图 |
| | | flowOpen: false, |
| | |
| | | errorTypes: [ |
| | | { required: true, message: '请选择故障类型', trigger: 'change' } |
| | | ] |
| | | }, |
| | | // 运维情况 |
| | | ywData: { |
| | | content: '', |
| | | fileList: 'process.env.VUE_APP_BASE_API' |
| | | } |
| | | } |
| | | }, |
| | |
| | | this.getList() |
| | | }, |
| | | methods: { |
| | | closeAuditing() { |
| | | this.auditingOpen = false |
| | | }, |
| | | getTitle1() { |
| | | return '产生工单' + (this.beforeReportMsg ? '(' + this.beforeReportMsg + ')' : '') |
| | | }, |
| | | getTitle2() { |
| | | return '运维处理' + (this.afterReportMsg ? '(' + this.afterReportMsg + ')' : '') |
| | | }, |
| | | openDrawer(item) { |
| | | this.ywData = { |
| | | content: '', |
| | | fileList: '' |
| | | } |
| | | this.ywData.content = item.ywCondition |
| | | this.ywData.fileList = item.ywProofMaterials |
| | | this.drawer = true |
| | | }, |
| | | // 批量审核 |
| | | batchAuditing(result) { |
| | | this.batchAuditingWorkOrder.auditingResult = result |
| | |
| | | submitReportForm() { |
| | | this.$refs['reportForm'].validate(valid => { |
| | | if (valid) { |
| | | if (this.reportForm.daterangeCreateTime && this.reportForm.daterangeCreateTime.length > 0) { |
| | | this.reportForm.beginCreateTime = this.reportForm.daterangeCreateTime[0] |
| | | this.reportForm.endCreateTime = this.reportForm.daterangeCreateTime[1] |
| | | } |
| | | addReport(this.reportForm).then(response => { |
| | | this.$modal.msgSuccess('成功提交报备') |
| | | this.reportOpen = false |
| | |
| | | } |
| | | }) |
| | | }, |
| | | // 详情 |
| | | handleDetail(item) { |
| | | this.$router.push({name: '/work-order-center/maintenance/detail', query: {workOrderNo: item.workOrderNo}}) |
| | | }, |
| | | // 事后报备按钮 |
| | | handleReport(row) { |
| | | this.reportForm.pointId = row.pointId |
| | | this.reportForm.pointId = row.serialNumber |
| | | this.reportForm.source = row.source |
| | | this.reportOpen = true |
| | | }, |
| | | // 审核按钮 |
| | | handleAuditing(row) { |
| | | this.auditingForm = row |
| | | getYwCondition(row.id).then(response => { |
| | | getYwCondition(row.workOrderNo).then(response => { |
| | | this.ywConditions = response.data |
| | | this.auditingOpen = true |
| | | }) |
| | |
| | | // 过程图查看 |
| | | handleFlow(row) { |
| | | this.flowForm = row |
| | | getYwAuditingList(row.id).then(response => { |
| | | process(row.workOrderNo).then(response => { |
| | | if (response.data) { |
| | | this.ywAuditingList = response.data |
| | | this.ywAuditingList = response.data.auditingList |
| | | this.ywHandleList = response.data.ywList |
| | | this.afterReportMsg = response.data.afterReportMsg |
| | | this.beforeReportMsg = response.data.beforeReportMsg |
| | | this.flowOpen = true |
| | | } |
| | | }) |
| | | getYwCondition(row.id).then(response => { |
| | | if (response.data) { |
| | | this.ywHandleList = response.data |
| | | } |
| | | this.flowOpen = true |
| | | }) |
| | | }, |
| | | // 提交审核 |
| | |
| | | }, |
| | | /** 查询运维工单列表 */ |
| | | getList() { |
| | | this.empty = false; |
| | | this.loading = true |
| | | this.queryParams.params = {} |
| | | this.queryParams['start'] = this.daterangeYwHandleTime ? this.daterangeYwHandleTime[0] : null |
| | | this.queryParams['end'] = this.daterangeYwHandleTime ? this.daterangeYwHandleTime[1] : null |
| | | if (this.queryParams['status'] == '') { |
| | | this.queryParams['status'] = 'DISTRIBUTED' |
| | | } |
| | | |
| | | listWorkOrder(this.queryParams).then(response => { |
| | | // response.data.forEach(item => { |
| | | // if (item.errorType) { |
| | | // item.errorTypeList = item.errorTypeList.split(",") |
| | | // } |
| | | // }) |
| | | response.data.forEach(item => { |
| | | if (item.imgList) { |
| | | item.imgList = item.imgList.map(img => { |
| | | return this.$img + img |
| | | }) |
| | | } |
| | | }) |
| | | this.workOrderList = response.data |
| | | this.total = response.total |
| | | this.loading = false |
| | | if (this.total === 0) { |
| | | this.empty = true |
| | | } |
| | | }) |
| | | }, |
| | | // 取消按钮 |
| | |
| | | } |
| | | .work-order-item { |
| | | margin-bottom: 5px; |
| | | white-space: nowrap; |
| | | overflow: hidden; |
| | | text-overflow: ellipsis; |
| | | } |
| | | |
| | | .time { |
| | |
| | | .my-col { |
| | | margin-bottom: 20px; box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px; position: relative; |
| | | } |
| | | ::v-deep el-step__description.is-finish { |
| | | color: gray; |
| | | } |
| | | </style> |