smart-power-ui/node_modules/.cache/vue-loader/16a6c2f297267b5e8f1d3159413...

1 line
32 KiB
JSON
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{"remainingRequest":"G:\\project\\smart-power-ui\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!G:\\project\\smart-power-ui\\src\\views\\power\\mywork\\details.vue?vue&type=style&index=0&lang=scss&","dependencies":[{"path":"G:\\project\\smart-power-ui\\src\\views\\power\\mywork\\details.vue","mtime":1615190258912},{"path":"G:\\project\\smart-power-ui\\node_modules\\css-loader\\dist\\cjs.js","mtime":1592876569350},{"path":"G:\\project\\smart-power-ui\\node_modules\\vue-loader\\lib\\loaders\\stylePostLoader.js","mtime":1610504274351},{"path":"G:\\project\\smart-power-ui\\node_modules\\postcss-loader\\src\\index.js","mtime":1591751774425},{"path":"G:\\project\\smart-power-ui\\node_modules\\sass-loader\\dist\\cjs.js","mtime":1612140853844},{"path":"G:\\project\\smart-power-ui\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1591751767036},{"path":"G:\\project\\smart-power-ui\\node_modules\\vue-loader\\lib\\index.js","mtime":1610504274351}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:CgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCi5tYWludGVubmNlLWRldGFpbHMgewogIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSAxNTBweCk7CiAgb3ZlcmZsb3c6IGF1dG87CiAgcGFkZGluZzogMCAyMHB4OwogIC5lbC11cGxvYWQtLXBpY3R1cmUtY2FyZCB7CiAgICB3aWR0aDogMTAwcHg7CiAgICBoZWlnaHQ6IDEwMHB4OwogICAgY3Vyc29yOiBwb2ludGVyOwogICAgbGluZS1oZWlnaHQ6IDEwNnB4OwogIH0KICAuZWwtdXBsb2FkLWxpc3QtLXBpY3R1cmUtY2FyZCAuZWwtdXBsb2FkLWxpc3RfX2l0ZW0gewogICAgd2lkdGg6IDEwMHB4OwogICAgaGVpZ2h0OiAxMDBweDsKICB9CiAgLmVsLXRpbWVsaW5lLWl0ZW1fX3dyYXBwZXIgewogICAgd2lkdGg6IDkwJTsKICB9CiAgLmVsLWRpdmlkZXItLWhvcml6b250YWwgewogICAgbWFyZ2luOiAyMHB4IDA7CiAgfQogIC5pbmZvLXdyYXAgewogICAgd2lkdGg6IDEwMCU7CiAgICBwYWRkaW5nOiAxMHB4IDIwcHg7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgZmxleC13cmFwOiB3cmFwOwogICAgYmFja2dyb3VuZDogZ2FpbnNib3JvOwogICAgbWFyZ2luLWJvdHRvbTogMTBweDsKICAgIG1pbi1oZWlnaHQ6IDE1MHB4OwogICAgaGVpZ2h0OiAxMDAlOwogICAgLmVsLXJvdyB7CiAgICAgIHdpZHRoOiAxMDAlOwogICAgfQogIH0KICAuZmVlZGJhY2std3JhcCB7CiAgICBtaW4taGVpZ2h0OiAyMDBweDsKICAgIGhlaWdodDogMTAwJTsKICB9CiAgLmZvcm0tc3VibWl0LWRpdiB7CiAgICB3aWR0aDogMTAwJTsKICAgIGhlaWdodDogNTBweDsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICB9CiAgLml0ZW0tYmxvY2staW1nIHsKICAgIHdpZHRoOiAxMDAlOwogICAgZGlzcGxheTogZmxleDsKICAgIGhlaWdodDogMTAwJTsKICAgIGZsZXgtd3JhcDogd3JhcDsKICAgIC5sYWJlbC13cmFwIHsKICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIGhlaWdodDogNTBweDsKICAgICAgd2lkdGg6IDEwMHB4OwogICAgICB0ZXh0LWFsaWduOiByaWdodDsKICAgICAgcGFkZGluZy1yaWdodDogMTJweDsKICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICBmb250LXdlaWdodDogNjAwOwogICAgfQogICAgLmltZy1saXN0LXdyYXAgewogICAgICB3aWR0aDogY2FsYygxMDAlIC0gMTIwcHgpOwogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgIC5pbWctc2hvdyB7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIHdpZHRoOiAxMDBweDsKICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7CiAgICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgICAgIGhlaWdodDogMTAwcHg7CiAgICAgICAgPiBpbWcgewogICAgICAgICAgd2lkdGg6IDEwMHB4OwogICAgICAgICAgaGVpZ2h0OiAxMDBweDsKICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDsKICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjZmNlY2U7CiAgICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7CiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OwogICAgICAgIH0KICAgICAgICAuaW1nLW9wdGlvbi13cmFwIHsKICAgICAgICAgIHdpZHRoOiA5OXB4OwogICAgICAgICAgaGVpZ2h0OiA5OXB4OwogICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgYmFja2dyb3VuZDogI2Q0ZDNkMzgwOwogICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAgY29sb3I6ICM0NjQ0NDQ7CiAgICAgICAgICBsZWZ0OiAwcHg7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgdG9wOiAtMTEwcHg7CiAgICAgICAgICA+IGkgewogICAgICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDsKICAgICAgICAgIH0KICAgICAgICAgID4gaTpob3ZlciB7CiAgICAgICAgICAgIGNvbG9yOiAjNDA5ZWZmOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQogICAgfQogIH0KICAuYXZhdGFyLXVwbG9hZGVyIC5lbC11cGxvYWQgewogICAgYm9yZGVyOiAxcHggZGFzaGVkICNkOWQ5ZDk7CiAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogIH0KICAuYXZhdGFyLXVwbG9hZGVyIC5lbC11cGxvYWQ6aG92ZXIgewogICAgYm9yZGVyLWNvbG9yOiAjNDA5ZWZmOwogIH0KICAuYXZhdGFyLXVwbG9hZGVyLWljb24gewogICAgZm9udC1zaXplOiAyOHB4OwogICAgY29sb3I6ICM4YzkzOWQ7CiAgICB3aWR0aDogMTAwcHg7CiAgICBoZWlnaHQ6IDEwMHB4OwogICAgbGluZS1oZWlnaHQ6IDEwMHB4OwogICAgdGV4dC1hbGlnbjogY2VudGVyOwogIH0KICAuYXZhdGFyIHsKICAgIHdpZHRoOiAxMDBweDsKICAgIGhlaWdodDogMTAwcHg7CiAgICBkaXNwbGF5OiBibG9jazsKICB9CiAgLml0ZW0tYmxvY2sgewogICAgLnZhbHVlLXNwYW4gewogICAgICBjb2xvcjogIzNmOWFiNTsKICAgIH0KICB9Cn0KLm1haW50ZW5uY2UtZGV0YWlsczo6LXdlYmtpdC1zY3JvbGxiYXIgewogIC8q5rua5Yqo5p2h5pW05L2T5qC35byPKi8KICB3aWR0aDogOHB4OyAvKumrmOWuveWIhuWIq+WvueW6lOaoquerlua7muWKqOadoeeahOWwuuWvuCovCiAgaGVpZ2h0OiA1cHg7Cn0KLm1haW50ZW5uY2UtZGV0YWlsczo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIgewogIC8q5rua5Yqo5p2h6YeM6Z2i5bCP5pa55Z2XKi8KICBib3JkZXItcmFkaXVzOiAxMHB4OwogIGJveC1zaGFkb3c6IGluc2V0IDAgMCA1cHggI2M0YzRjNDsKICBiYWNrZ3JvdW5kOiAjZGVkZWRlYTY7Cn0KLm1haW50ZW5uY2UtZGV0YWlsczo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sgewogIC8q5rua5Yqo5p2h6YeM6Z2i6L2o6YGTKi8KICBib3gtc2hhZG93OiBpbnNldCAwIDAgNXB4ICNmNmY2ZjY7CiAgYm9yZGVyLXJhZGl1czogMTBweDsKICBiYWNrZ3JvdW5kOiAjZmZmZmZmOwp9Cg=="},{"version":3,"sources":["details.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAinBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"details.vue","sourceRoot":"src/views/power/mywork","sourcesContent":["<template>\n <div class=\"maintennce-details\" v-loading=\"loading\">\n <el-divider content-position=\"left\">工单信息</el-divider>\n <div class=\"info-wrap\">\n <el-row :gutter=\"20\">\n <el-col :span=\"12\">\n <div class=\"item-block\">\n <span>工单 I D </span>\n <span>{{workDetails.maintenanceId}}</span>\n </div>\n </el-col>\n <el-col :span=\"12\">\n <div class=\"item-block\">\n <span>工单状态:</span>\n <span>{{workStateList[workDetails.maintenanceStatus]}}</span>\n </div>\n </el-col>\n </el-row>\n\n <el-row :gutter=\"20\">\n <el-col :span=\"12\">\n <div class=\"item-block\">\n <span>设备名称:</span>\n <span>{{workDetails.deviceName}}</span>\n </div>\n </el-col>\n <el-col :span=\"12\">\n <div class=\"item-block\">\n <span>故障类型:</span>\n <span>{{fanltTypeList[workDetails.faultType]}}</span>\n </div>\n </el-col>\n </el-row>\n <el-row :gutter=\"20\">\n <el-col :span=\"12\">\n <div class=\"item-block\">\n <span>上报人员:</span>\n <span>{{workDetails.reporterName}}</span>\n </div>\n </el-col>\n <el-col :span=\"12\">\n <div class=\"item-block\">\n <span>上报时间:</span>\n <span>{{workDetails.createTime}}</span>\n </div>\n </el-col>\n </el-row>\n <el-row\n :gutter=\"20\"\n v-if=\"!(workDetails.reporterId === logUser && workDetails.maintenanceStatus === '1')\"\n >\n <el-col :span=\"24\">\n <div class=\"item-block\">\n <span>工单内容:</span>\n <span>{{workDetails.maintenanceContext}}</span>\n </div>\n </el-col>\n </el-row>\n </div>\n\n <el-divider\n content-position=\"left\"\n v-if=\"showForm === '0' && (\n (workDetails.handlerId === logUser && workDetails.maintenanceStatus === '1') ||\n (workDetails.reporterId === logUser && workDetails.maintenanceStatus === '1') ||\n (workDetails.maintenanceStatus === '3' && showForm === '0') ||\n ( workDetails.maintenanceStatus === '4' && showForm === '0') || ( workDetails.maintenanceStatus === '5' && showForm === '0')\n )\"\n >处理反馈信息</el-divider>\n <div\n class=\"info-wrap feedback-wrap\"\n v-if=\"showForm === '0' && (\n (workDetails.handlerId === logUser && workDetails.maintenanceStatus === '1') ||\n (workDetails.reporterId === logUser && workDetails.maintenanceStatus === '1') ||\n (workDetails.maintenanceStatus === '3' && showForm === '0')||\n ( workDetails.maintenanceStatus === '4' && showForm === '0') || ( workDetails.maintenanceStatus === '5' && showForm === '0')\n )\"\n >\n <el-row :gutter=\"20\">\n <el-col :span=\"12\">\n <div class=\"item-block\">\n <span>处理人员:</span>\n <span>{{workDetails.handlerName}}</span>\n </div>\n </el-col>\n <el-col :span=\"12\">\n <div class=\"item-block\">\n <span>处理时间:</span>\n <span>{{workDetails.handleTime}}</span>\n </div>\n </el-col>\n </el-row>\n\n <el-row :gutter=\"20\" v-show=\"!(workDetails.handlerId === logUser && showForm === '3')\">\n <el-col :span=\"12\">\n <div class=\"item-block\">\n <span>处理反馈:</span>\n <span class=\"value-span\">{{workDetails.feedbackInformation}}</span>\n </div>\n </el-col>\n <el-col :span=\"12\">\n <div class=\"item-block\">\n <span>处理意见:</span>\n <span class=\"value-span\">{{workDetails.advice}}</span>\n </div>\n </el-col>\n </el-row>\n\n <el-row :gutter=\"20\" v-show=\"!(workDetails.handlerId === logUser && showForm === '3')\">\n <el-col :span=\"24\">\n <div\n class=\"item-block\"\n style=\"\n width: 100%;\n display: flex;\n height: 100px;\n \"\n >\n <span>现场图片:</span>\n <div\n style=\"\n \t\t\t \twidth: calc(100% - 85px);\n display: flex;\n \"\n >\n <img\n style=\"\n width: 100px;\n height: 100px;\n margin-right: 10px;\n border: 1px solid #cfcece;\n border-radius: 3px;\n \"\n :src=\"getIotFileUrl(val)\"\n v-for=\"(val, index) in pictures\"\n :key=\"val\"\n />\n </div>\n </div>\n </el-col>\n </el-row>\n </div>\n\n <el-divider\n content-position=\"left\"\n v-if=\"( workDetails.maintenanceStatus === '1' && workDetails.maintenanceNodeList )\"\n >退回意见</el-divider>\n <div\n v-if=\"( workDetails.maintenanceStatus === '1' && workDetails.maintenanceNodeList )\"\n >\n <el-card>\n <div class=\"info-block-sh\">\n <div class=\"item-block\">\n <span>审核人员:</span>\n <span>{{workDetails.maintenanceNodeList[0].auditorName}}</span>\n </div>\n <div class=\"item-block\">\n <span>审核时间:</span>\n <span>{{workDetails.maintenanceNodeList[0].auditTime}}</span>\n </div>\n\n <div class=\"item-block text\">\n <span>审核结果:</span>\n <span>{{workDetails.maintenanceNodeList[0].auditResult}}</span>\n </div>\n\n <div class=\"item-block text\">\n <span>审核意见:</span>\n <span>{{workDetails.maintenanceNodeList[0].auditOpinion}}</span>\n </div>\n </div>\n </el-card>\n </div>\n\n <el-divider\n content-position=\"left\"\n v-if=\" ( workDetails.maintenanceStatus === '4' || workDetails.maintenanceStatus === '5')\"\n >审核结果</el-divider>\n <div\n v-if=\" ( workDetails.maintenanceStatus === '4' || workDetails.maintenanceStatus === '5')\"\n >\n <el-timeline style=\"margin-top: 20px;\">\n <el-timeline-item\n v-for=\"item in workDetails.maintenanceNodeList\"\n reverse\n :hide-timestamp=\"true\"\n :key=\"item.auditResult\"\n :icon=\" item.auditResult === '通过'? 'el-icon-trophy': 'el-icon-aim'\"\n type=\"large\"\n :color=\"item.auditResult === '通过'? '#52ce90': '#328ff0'\"\n :timestamp=\"item.auditTime\"\n >\n <el-card>\n <div class=\"info-block-sh\">\n <div class=\"item-block\">\n <span>审核人员:</span>\n <span>{{item.auditorName}}</span>\n </div>\n <div class=\"item-block\">\n <span>审核时间:</span>\n <span>{{item.auditTime}}</span>\n </div>\n\n <div class=\"item-block text\">\n <span>审核结果:</span>\n <span>{{item.auditResult}}</span>\n </div>\n\n <div class=\"item-block text\">\n <span>审核意见:</span>\n <span>{{item.auditOpinion}}</span>\n </div>\n </div>\n </el-card>\n </el-timeline-item>\n </el-timeline>\n </div>\n\n <el-divider\n content-position=\"left\"\n v-if=\"tempType !== 'examine' && (showForm === '0' && (\n (workDetails.handlerId !== logUser && ( workDetails.maintenanceStatus === '2' || workDetails.maintenanceStatus === '0')) ||\n (workDetails.reporterId !== logUser && workDetails.maintenanceStatus === '1') || ( workDetails.maintenanceStatus === '3' && showForm === '0') ||\n ( workDetails.handlerId !== logUser && workDetails.maintenanceStatus === '4')\n ))\"\n >订单进程</el-divider>\n <div\n v-if=\"tempType !== 'examine' && (showForm === '0' && (\n (workDetails.handlerId !== logUser && ( workDetails.maintenanceStatus === '2' || workDetails.maintenanceStatus === '0' )) ||\n ( workDetails.reporterId !== logUser && workDetails.maintenanceStatus === '1') || ( workDetails.maintenanceStatus === '3' && showForm === '0') ||\n ( workDetails.handlerId !== logUser && workDetails.maintenanceStatus === '4')\n ))\"\n >\n <span\n style=\" margin-left: 20px; height: 50px; display: block;\"\n v-show=\"workDetails.maintenanceStatus === '4' && showForm === '0'\"\n v-text=\"'工单审核被退回,正在重新处理中。。。'\"\n ></span>\n <span\n style=\" margin-left: 20px; height: 50px; display: block;\"\n v-show=\"workDetails.handlerId !== logUser && workDetails.maintenanceStatus === '2'\"\n v-text=\"'工单已经确认,正在处理中。。。'\"\n ></span>\n <span\n style=\" margin-left: 20px; height: 50px; display: block;\"\n v-show=\"workDetails.maintenanceStatus === '3' && showForm === '0'\"\n v-text=\"' 订单已经处理完成,等待审核。。。'\"\n ></span>\n <span\n style=\" margin-left: 20px; height: 50px; display: block;\"\n v-show=\"workDetails.handlerId !== logUser && workDetails.maintenanceStatus === '0'\"\n v-text=\"'工单正在等待处理人确认。。。'\"\n ></span>\n <span\n style=\" margin-left: 20px; height: 50px; display: block;\"\n v-show=\"workDetails.reporterId !== logUser && workDetails.maintenanceStatus === '1'\"\n v-text=\"'此工单已经退回,等待处理。。。'\"\n ></span>\n </div>\n <el-divider content-position=\"left\" v-if=\"tempType === 'myWork' && expFromShow(workDetails)\">操作</el-divider>\n <el-form\n :model=\"form\"\n :rules=\"rules\"\n v-if=\"tempType === 'myWork' && expFromShow(workDetails)\"\n ref=\"ruleForm\"\n label-width=\"100px\"\n class=\"demo-ruleForm\"\n >\n <el-form-item\n label=\"工单内容:\"\n v-if=\"workDetails.reporterId === logUser && workDetails.maintenanceStatus === '1'\"\n prop=\"name\"\n >\n <el-input\n type=\"textarea\"\n :autosize=\"{ minRows: 2, maxRows: 5}\"\n placeholder\n v-model=\"form.maintenanceContext\"\n ></el-input>\n </el-form-item>\n\n <span\n v-if=\"workDetails.handlerId === logUser && workDetails.maintenanceStatus === '0'\"\n v-text=\"'您是此工单处理人,您可做如下操作。。。'\"\n ></span>\n\n <span v-else-if=\"workDetails.maintenanceStatus === '2'\" v-text=\"'订单已经确认,正在处理中。。。'\"></span>\n\n <span\n v-else-if=\"workDetails.handlerId === logUser && workDetails.maintenanceStatus === '4'\"\n v-text=\"'工单审核被退回,请重新处理。。。'\"\n ></span>\n\n <el-row\n :gutter=\"20\"\n v-if=\"workDetails.handlerId === logUser && ( workDetails.maintenanceStatus === '3'|| workDetails.maintenanceStatus === '1' )\"\n >\n <el-col :span=\"24\">\n <el-form-item label=\"处理反馈:\" prop=\"name\">\n <el-input\n type=\"textarea\"\n :autosize=\"{ minRows: 2, maxRows: 5}\"\n placeholder\n v-model=\"form.feedbackInformation\"\n ></el-input>\n </el-form-item>\n </el-col>\n\n <el-col :span=\"24\">\n <el-form-item label=\"处理意见:\" prop=\"name\">\n <el-input\n type=\"textarea\"\n :autosize=\"{ minRows: 2, maxRows: 5}\"\n placeholder\n v-model=\"form.advice\"\n ></el-input>\n </el-form-item>\n </el-col>\n </el-row>\n <div\n v-show=\"workDetails.handlerId === logUser && ( workDetails.maintenanceStatus === '3' || workDetails.maintenanceStatus === '1' )\"\n class=\"item-block-img\"\n >\n <span class=\"label-wrap\">现场图片:</span>\n <div class=\"img-list-wrap\">\n <div class=\"img-show\" v-for=\"(val, index) in pictures\" :key=\"val\">\n <img\n :src=\"getIotFileUrl(val)\"\n @mouseout=\"() => { showIndex = null }\"\n @mouseenter=\"() => { showIndex = index }\"\n />\n <div\n class=\"img-option-wrap\"\n @mouseout=\"() => { showIndex = null }\"\n @mouseover=\"() => { showIndex = index }\"\n v-show=\"showIndex === index\"\n >\n <i class=\"el-icon-search\" title=\"查看图片\" @click=\"handlePictureCardPreview(val)\"></i>\n <i class=\"el-icon-delete\" title=\"删除图片\" @click=\"handelDelFile(val)\"></i>\n </div>\n </div>\n <el-upload\n action\n class=\"avatar-uploader\"\n :show-file-list=\"false\"\n :http-request=\"uploud\"\n :before-upload=\"beforeAvatarUpload\"\n >\n <i class=\"el-icon-plus avatar-uploader-icon\"></i>\n </el-upload>\n </div>\n </div>\n\n <div class=\"form-submit-div\">\n <el-button\n type=\"primary\"\n v-show=\"workDetails.reporterId === logUser && workDetails.maintenanceStatus === '1'\"\n size=\"mini\"\n @click=\"repSrouSubmit()\"\n >确定订单</el-button>\n\n <el-button\n size=\"mini\"\n type=\"primary\"\n v-if=\"workDetails.maintenanceStatus === '0' && showForm === '0'\"\n @click=\"handelReject()\"\n >退回</el-button>\n <el-button\n size=\"mini\"\n type=\"primary\"\n v-if=\"( workDetails.maintenanceStatus === '0' || workDetails.maintenanceStatus === '4') && showForm === '0'\"\n @click=\"handelConfirm()\"\n >确认工单</el-button>\n <el-button\n size=\"mini\"\n type=\"primary\"\n v-if=\"workDetails.handlerId === logUser && ( workDetails.maintenanceStatus === '2' )\"\n @click=\"handelComplete()\"\n >处理完成</el-button>\n <el-button\n size=\"mini\"\n type=\"primary\"\n v-if=\"showForm === '1' && workDetails.maintenanceStatus === '1' && workDetails.handlerId === logUser\"\n @click=\"RejectSubmitForm()\"\n >提交0</el-button>\n <el-button\n size=\"mini\"\n type=\"primary\"\n v-if=\"showForm === '1' && workDetails.maintenanceStatus === '3'\"\n @click=\"submitForm('3')\"\n >提交3</el-button>\n </div>\n </el-form>\n\n <el-dialog :visible.sync=\"dialogVisible\" append-to-body>\n <img width=\"100%\" :src=\"getIotFileUrl(dialogImageUrl)\" alt />\n </el-dialog>\n </div>\n</template>\n<script>\nimport { updateMaintenance, getMaintenance } from \"@/api/power/maintenance\";\nimport { uploadFile } from \"@/api/file\";\nimport { getIotFileUrl } from \"@/utils/hciot\";\n// 工单状态(0:工单已创建 1:工单执行中 2:工单审核失败 3:工单审核成功)\nconst workStateList = {\n \"0\": \"工单已创建\",\n \"1\": \"退回工单\",\n \"2\": \"确认工单\",\n \"3\": \"处理完成\",\n \"4\": \"退回处理\",\n \"5\": \"审核通过\"\n};\n// 故障类型(0:设备离线 1:设备超警)\nconst fanltTypeList = {\n \"0\": \"设备离线\",\n \"1\": \"设备超警\"\n};\nexport default {\n name: \"DetailsWrap\",\n props: [\"maintenanceId\", \"maintenanceInfo\", \"tempType\"],\n data() {\n return {\n workStateList,\n fanltTypeList,\n loading: false,\n logUser: \"\",\n form: {},\n showIndex: null,\n rules: {},\n fileType: [\"image/jpeg\", \"image/png\"],\n fileSize: 1024 * 1024 * 20,\n temp: {\n maintenanceId: \"\",\n handelTime: \"\",\n feedbackInformation: \"\",\n maintenanceStatus: \"\",\n pictures: []\n },\n showForm: \"0\",\n workDetails: {},\n pictures: [],\n dialogVisible: false,\n dialogImageUrl: \"\"\n };\n },\n created() {\n this.logUser = this.$store.getters.userId;\n this.handleDetails();\n },\n methods: {\n getIotFileUrl,\n // 限制图片大小和类型\n beforeAvatarUpload(file) {\n const isJPG = this.fileType.indexOf(file.type) >= 0;\n const isLt2M = file.size < this.fileSize;\n\n if (!isJPG) {\n this.$message.error(\"上传头像图片只能是 JPG 格式!\");\n }\n if (!isLt2M) {\n this.$message.error(\"上传头像图片大小不能超过 2MB!\");\n }\n return isJPG && isLt2M;\n },\n // 图片上传\n handlePictureCardPreview(file) {\n this.dialogImageUrl = file;\n this.dialogVisible = true;\n },\n handelDelFile(file) {\n console.log(file);\n this.pictures.splice(this.pictures.indexOf(file), 1);\n },\n uploud(file) {\n var formData = new FormData();\n formData.append(\"file\", file.file);\n uploadFile(formData)\n .then(response => {\n if (response.code === 200) {\n // this.temp.pictures.push(response.data.filePath)\n this.pictures.push(response.url);\n }\n })\n .catch(e => {\n console.log(e);\n });\n },\n // 条件查询详情\n handleDetails() {\n this.loading = true;\n // this.workDetails = this.maintenanceInfo;\n // 模拟数据开发测试\n // 登录用户是 上报人\n // this.workDetails.reporterId = this.logUser;\n // 登录用户是 处理人\n // this.workDetails.handlerId = this.logUser;\n // this.workDetails.maintenanceStatus = \"5\";\n // this.workDetails.maintenanceNodeList = [\n // {\n // auditResult: '通过',\n // auditorName: 'admin',\n // auditTime: '2021-03-04 10:29:25',\n // auditOpinion: '合格通过!'\n // },\n // {\n // auditResult: '不通过',\n // auditorName: 'admin',\n // auditTime: '2021-03-04 10:10:25',\n // auditOpinion: '不合格通过!'\n // }\n // ]\n getMaintenance(this.maintenanceId).then(response => {\n this.workDetails = response.data;\n this.newTemp();\n this.pictures = this.workDetails.scenePictures\n ? this.workDetails.scenePictures.split(\",\")\n : [];\n this.showForm = \"0\";\n this.loading = false;\n });\n },\n // 处理人提交表单\n repSrouSubmit() {\n this.showForm = \"0\";\n this.form.maintenanceStatus = \"0\";\n updateMaintenance(this.form).then(res => {\n if (res.code === 200) {\n this.workDetails = Object.assign(this.workDetails, this.form);\n }\n });\n },\n // 处理人退回操作\n handelReject() {\n this.newTemp();\n this.showForm = \"1\";\n this.workDetails.maintenanceStatus = \"1\";\n },\n // 退回提交\n RejectSubmitForm() {\n this.form.maintenanceStatus = \"1\";\n this.showForm = \"0\";\n // this.form.handleTime = this.parseTime(new Date(), \"{y}-{m}-{d}\");\n if (this.pictures) {\n this.form.scenePictures = this.pictures.join(\",\");\n } else {\n this.form.scenePictures = \"\";\n }\n updateMaintenance(this.form).then(res => {\n if (res.code === 200) {\n this.workDetails = Object.assign(this.workDetails, this.form);\n }\n });\n },\n // 处理人确认工单\n handelConfirm() {\n this.newTemp();\n this.showForm = \"1\";\n this.form.maintenanceStatus = \"2\";\n updateMaintenance(this.form).then(res => {\n if (res.code === 200) {\n this.workDetails = Object.assign(this.workDetails, this.form);\n }\n });\n },\n // 处理人完成工单\n handelComplete() {\n this.newTemp();\n this.workDetails.maintenanceStatus = \"3\";\n this.showForm = \"1\";\n },\n // 处理人处理完成提价\n submitForm() {\n this.form.maintenanceStatus = \"3\";\n this.showForm = \"0\";\n // this.form.handleTime = this.parseTime(new Date(), \"{y}-{m}-{d}\");\n if (this.pictures) {\n this.form.scenePictures = this.pictures.join(\",\");\n } else {\n this.form.scenePictures = \"\";\n }\n updateMaintenance(this.form).then(res => {\n if (res.code === 200) {\n this.workDetails = Object.assign(this.workDetails, this.form);\n }\n });\n },\n expFromShow(row) {\n if (row.reporterId === this.logUser && row.maintenanceStatus === \"1\") {\n return true;\n } else if (\n row.handlerId === this.logUser &&\n (row.maintenanceStatus === \"2\" || row.maintenanceStatus === \"0\")\n ) {\n return true;\n } else if (\n row.handlerId === this.logUser &&\n row.maintenanceStatus === \"1\" &&\n this.showForm === \"1\"\n ) {\n return true;\n } else if (\n row.handlerId === this.logUser &&\n row.maintenanceStatus === \"3\" &&\n this.showForm === \"1\"\n ) {\n return true;\n } else if (\n row.handlerId === this.logUser &&\n row.maintenanceStatus === \"4\" &&\n this.showForm === \"0\"\n ) {\n return true;\n }\n return false;\n },\n newTemp() {\n this.form = {\n maintenanceId: this.workDetails.maintenanceId,\n maintenanceStatus: this.workDetails.maintenanceStatus\n };\n }\n }\n};\n</script>\n<style lang=\"scss\">\n.maintennce-details {\n max-height: calc(100vh - 150px);\n overflow: auto;\n padding: 0 20px;\n .el-upload--picture-card {\n width: 100px;\n height: 100px;\n cursor: pointer;\n line-height: 106px;\n }\n .el-upload-list--picture-card .el-upload-list__item {\n width: 100px;\n height: 100px;\n }\n .el-timeline-item__wrapper {\n width: 90%;\n }\n .el-divider--horizontal {\n margin: 20px 0;\n }\n .info-wrap {\n width: 100%;\n padding: 10px 20px;\n display: flex;\n flex-wrap: wrap;\n background: gainsboro;\n margin-bottom: 10px;\n min-height: 150px;\n height: 100%;\n .el-row {\n width: 100%;\n }\n }\n .feedback-wrap {\n min-height: 200px;\n height: 100%;\n }\n .form-submit-div {\n width: 100%;\n height: 50px;\n display: flex;\n justify-content: flex-end;\n align-items: center;\n }\n .item-block-img {\n width: 100%;\n display: flex;\n height: 100%;\n flex-wrap: wrap;\n .label-wrap {\n display: block;\n height: 50px;\n width: 100px;\n text-align: right;\n padding-right: 12px;\n font-size: 14px;\n font-weight: 600;\n }\n .img-list-wrap {\n width: calc(100% - 120px);\n display: flex;\n flex-wrap: wrap;\n .img-show {\n overflow: hidden;\n display: flex;\n width: 100px;\n margin-right: 10px;\n flex-wrap: wrap;\n height: 100px;\n > img {\n width: 100px;\n height: 100px;\n margin-right: 10px;\n border: 1px solid #cfcece;\n border-radius: 3px;\n margin-bottom: 10px;\n }\n .img-option-wrap {\n width: 99px;\n height: 99px;\n position: relative;\n background: #d4d3d380;\n justify-content: center;\n align-items: center;\n color: #464444;\n left: 0px;\n display: flex;\n top: -110px;\n > i {\n font-size: 16px;\n margin-right: 10px;\n }\n > i:hover {\n color: #409eff;\n }\n }\n }\n }\n }\n .avatar-uploader .el-upload {\n border: 1px dashed #d9d9d9;\n border-radius: 6px;\n cursor: pointer;\n position: relative;\n overflow: hidden;\n }\n .avatar-uploader .el-upload:hover {\n border-color: #409eff;\n }\n .avatar-uploader-icon {\n font-size: 28px;\n color: #8c939d;\n width: 100px;\n height: 100px;\n line-height: 100px;\n text-align: center;\n }\n .avatar {\n width: 100px;\n height: 100px;\n display: block;\n }\n .item-block {\n .value-span {\n color: #3f9ab5;\n }\n }\n}\n.maintennce-details::-webkit-scrollbar {\n /*滚动条整体样式*/\n width: 8px; /*高宽分别对应横竖滚动条的尺寸*/\n height: 5px;\n}\n.maintennce-details::-webkit-scrollbar-thumb {\n /*滚动条里面小方块*/\n border-radius: 10px;\n box-shadow: inset 0 0 5px #c4c4c4;\n background: #dededea6;\n}\n.maintennce-details::-webkit-scrollbar-track {\n /*滚动条里面轨道*/\n box-shadow: inset 0 0 5px #f6f6f6;\n border-radius: 10px;\n background: #ffffff;\n}\n</style>\n"]}]}