| | |
| | | url: "LoginAction_check", |
| | | data: null |
| | | }); |
| | | } |
| | | }; |
| | | |
| | | /** |
| | | * 根据基站信息查询基站的告警和落后信息 |
| | |
| | | url: `WorkAlarmAction!dispatchTask`, |
| | | data: 'json=' + JSON.stringify(data) |
| | | }) |
| | | } |
| | | |
| | | /** |
| | | * 开始处理更新状态 |
| | | */ |
| | | export const searchStatusById = (data) => { |
| | | return axios({ |
| | | method: "post", |
| | | url: `UserWorkAction!searchStatusById`, |
| | | data: 'json=' + JSON.stringify(data) |
| | | }) |
| | | } |
| | | |
| | | /** |
| | | * 更新告警处理 |
| | | */ |
| | | export const updateUserWork = (data) => { |
| | | return axios({ |
| | | method: "post", |
| | | url: `UserWorkAction!updateUserWork`, |
| | | data: 'json=' + JSON.stringify(data) |
| | | }) |
| | | } |
New file |
| | |
| | | function getStationSrc(url) { |
| | | let src = ""; |
| | | if (process.env.NODE_ENV == 'dev') { |
| | | src = "http://localhost:8920/stationsrc"; |
| | | } else { |
| | | src = window.location.origin + "/stationsrc"; |
| | | } |
| | | let result = url.replace(/.*stationsrc/, src); |
| | | return result; |
| | | } |
| | | export default getStationSrc; |
| | |
| | | <template> |
| | | <div class="image-list-container"> |
| | | <span class="image-title">{{ title }}</span> |
| | | <div class="image-block" v-for="(item, key) in urls" :key="'key' + key"> |
| | | <el-image :style="getImageStyle" :src="item" :preview-src="list"> |
| | | <el-image :style="getImageStyle" :src="item" :preview-src-list="list"> |
| | | </el-image> |
| | | </div> |
| | | </div> |
| | |
| | | <script> |
| | | export default { |
| | | props: { |
| | | title: { |
| | | type: String, |
| | | default: "", |
| | | }, |
| | | width: { |
| | | type: [String, Number], |
| | | default: 100, |
| | |
| | | </script> |
| | | |
| | | <style scoped> |
| | | .image-list-container { |
| | | padding: 8px 0; |
| | | } |
| | | .image-block { |
| | | display: inline-block; |
| | | box-sizing: border-box; |
| | | padding: 8px; |
| | | } |
| | | .image-title { |
| | | display: inline-block; |
| | | vertical-align: top; |
| | | font-weight: bold; |
| | | } |
| | | </style> |
| | |
| | | <template> |
| | | <div class="page-content"> |
| | | <alarm-bill-type :note="3"> |
| | | <alarm-bill-type :note="3" ref="alarmBillType"> |
| | | <el-table-column |
| | | prop="cztime" |
| | | fixed="right" |
| | |
| | | top="0" |
| | | class="dialog-center" |
| | | :modal-append-to-body="false" |
| | | :close-on-press-escape="false" |
| | | > |
| | | <verity-dialog |
| | | v-if="dialog" |
| | | :info="info" |
| | | :visible.sync="dialog" |
| | | @success="success" |
| | | ></verity-dialog> |
| | | </el-dialog> |
| | | </div> |
| | |
| | | this.info = data; |
| | | this.dialog = true; |
| | | }, |
| | | success() { |
| | | this.$refs.alarmBillType.queryData(true); |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
New file |
| | |
| | | <template> |
| | | <div class="params-container z-index-two"> |
| | | <el-form |
| | | ref="ruleForm" |
| | | size="mini" |
| | | label-position="top" |
| | | :model="params" |
| | | :rules="rules" |
| | | class="params-dialog bg-white" |
| | | > |
| | | <el-form-item label="审核意见"> |
| | | <el-input |
| | | v-model="params.note" |
| | | type="textarea" |
| | | :rows="6" |
| | | resize="none" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <div class="form-footer"> |
| | | <three-btn @click="suggest">确认</three-btn> |
| | | <three-btn @click="close">取消</three-btn> |
| | | </div> |
| | | </el-form> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { updateUserWork } from "@/assets/js/api"; |
| | | export default { |
| | | props: { |
| | | visible: { |
| | | type: Boolean, |
| | | default: false, |
| | | }, |
| | | type: { |
| | | type: Number, |
| | | default: 0, // 3.审核通过,-1.审核不通过 |
| | | }, |
| | | info: { |
| | | type: Object, |
| | | default() { |
| | | return { |
| | | note: "", |
| | | }; |
| | | }, |
| | | }, |
| | | }, |
| | | data() { |
| | | return { |
| | | params: { |
| | | note: "", |
| | | }, |
| | | rules: {}, |
| | | }; |
| | | }, |
| | | methods: { |
| | | suggest() { |
| | | let params = this.params; |
| | | params.checkStatus = this.type; |
| | | params.endTime = new Date().format("yyyy-mm-dd hh:MM:ss"); |
| | | |
| | | if (params.note == "") { |
| | | this.$layer.msg("请输入审核意见..."); |
| | | return; |
| | | } |
| | | updateUserWork(params) |
| | | .then((res) => { |
| | | let rs = JSON.parse(res.data.result); |
| | | if (rs.code == 1) { |
| | | this.$layer.msg("审核成功!"); |
| | | this.$emit("success"); |
| | | this.close(); |
| | | } else { |
| | | this.$layer.msg("提交内容失败"); |
| | | } |
| | | }) |
| | | .catch((error) => { |
| | | this.$layer.msg("提交内容失败"); |
| | | }); |
| | | }, |
| | | close() { |
| | | this.$emit("update:visible", false); |
| | | }, |
| | | }, |
| | | mounted() { |
| | | let params = { |
| | | note: "", |
| | | }; |
| | | let info = this.info; |
| | | for (let key in info) { |
| | | params[key] = info[key]; |
| | | } |
| | | this.params = params; |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | | <style scoped> |
| | | .params-container.z-index-two { |
| | | width: 400px; |
| | | background-color: #ececec; |
| | | } |
| | | |
| | | .form-footer { |
| | | margin-top: 16px; |
| | | margin-bottom: 16px; |
| | | text-align: right; |
| | | } |
| | | |
| | | .form-footer .three-btn { |
| | | margin-left: 12px; |
| | | } |
| | | </style> |
| | |
| | | <template> |
| | | <div class="params-container"> |
| | | <div class="params-dialog"> |
| | | 处理前照片: |
| | | <image-list-wrapper :urls="urls"></image-list-wrapper> |
| | | <div class="params-container other-style"> |
| | | <el-form |
| | | ref="ruleForm" |
| | | size="mini" |
| | | label-position="top" |
| | | :model="params" |
| | | :rules="rules" |
| | | class="params-dialog bg-white" |
| | | > |
| | | <div class="p-title">问题描述:{{ params.description }}</div> |
| | | <image-list-wrapper |
| | | title="处理前照片:" |
| | | :urls="imageBefores" |
| | | ></image-list-wrapper> |
| | | <div class="p-title">处理方式:{{ params.workWay }}</div> |
| | | <image-list-wrapper |
| | | title="处理后照片:" |
| | | :urls="imageAfters" |
| | | ></image-list-wrapper> |
| | | <div class="p-title">意见建议:{{ params.workSuggest }}</div> |
| | | <div class="form-footer"> |
| | | <three-btn>通过</three-btn> |
| | | <three-btn>不通过</three-btn> |
| | | <three-btn @click="showDialog(3)">通过</three-btn> |
| | | <three-btn @click="showDialog(-1)">不通过</three-btn> |
| | | </div> |
| | | </div> |
| | | </el-form> |
| | | <!-- 系统提示 --> |
| | | <el-dialog |
| | | title="系统提示" |
| | | width="auto" |
| | | :visible.sync="dialog" |
| | | :close-on-click-modal="false" |
| | | top="0" |
| | | class="dialog-center" |
| | | :modal-append-to-body="false" |
| | | :close-on-press-escape="false" |
| | | :modal="false" |
| | | > |
| | | <review-comments |
| | | v-if="dialog" |
| | | :visible.sync="dialog" |
| | | :info="params" |
| | | :type="type" |
| | | @success="successReview" |
| | | ></review-comments> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import ImageListWrapper from "@/components/image-list-wrapper.vue"; |
| | | import ReviewComments from "./reviewComments.vue"; |
| | | import { searchStatusById } from "@/assets/js/api"; |
| | | import getStationSrc from "@/assets/js/tools/getStationSrc"; |
| | | export default { |
| | | props: { |
| | | visible: { |
| | |
| | | }, |
| | | components: { |
| | | ImageListWrapper, |
| | | ReviewComments, |
| | | }, |
| | | data() { |
| | | return { |
| | | urls: [ |
| | | "http://localhost:8920/stationsrc/alarm/null/after/%E7%A5%9E%E4%BB%99%E5%A7%90%E5%A7%903.jpg", |
| | | "http://localhost:8920/stationsrc/alarm/null/after/%E7%A5%9E%E4%BB%99%E5%A7%90%E5%A7%903.jpg", |
| | | "http://localhost:8920/stationsrc/alarm/null/after/%E7%A5%9E%E4%BB%99%E5%A7%90%E5%A7%903.jpg", |
| | | ], |
| | | dialog: false, |
| | | params: { |
| | | description: "", |
| | | workWay: "", |
| | | workSuggest: "", |
| | | }, |
| | | rules: {}, |
| | | type: 1, |
| | | imageAfters: [], |
| | | imageBefores: [], |
| | | }; |
| | | }, |
| | | methods: { |
| | | showDialog(type) { |
| | | this.type = type; |
| | | this.dialog = true; |
| | | }, |
| | | loadData() { |
| | | let postData = { |
| | | id: this.info.id, |
| | | }; |
| | | searchStatusById(postData) |
| | | .then((res) => { |
| | | let rs = JSON.parse(res.data.result); |
| | | console.log(rs); |
| | | let data = []; |
| | | if (rs.code == 1) { |
| | | data = rs.data.userWorkList; |
| | | } |
| | | // 如果存在 |
| | | if (data.length != 0) { |
| | | let info = data[0]; |
| | | this.params = info; |
| | | |
| | | this.imageAfters = info.imageAfter.split(",").map((item) => { |
| | | return getStationSrc(item); |
| | | }); |
| | | this.imageAfters = info.imageAfter.split(",").map((item) => { |
| | | return getStationSrc(item); |
| | | }); |
| | | |
| | | this.imageBefores = info.imageBefore.split(",").map((item) => { |
| | | return getStationSrc(item); |
| | | }); |
| | | } |
| | | }) |
| | | .catch((error) => {}); |
| | | }, |
| | | successReview() { |
| | | this.$emit("success"); |
| | | this.close(); |
| | | }, |
| | | close() { |
| | | this.$emit("update:visible", false); |
| | | }, |
| | | }, |
| | | mounted() { |
| | | this.loadData(); |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | | <style scoped> |
| | | .params-container { |
| | | width: 580px; |
| | | width: 680px; |
| | | background-color: #ececec; |
| | | } |
| | | |
| | | .other-style { |
| | | max-height: 543px; |
| | | overflow-y: auto; |
| | | } |
| | | .form-footer { |
| | | margin-top: 16px; |
| | | margin-bottom: 16px; |
| | |
| | | .form-footer .three-btn { |
| | | margin-left: 12px; |
| | | } |
| | | .p-title { |
| | | font-weight: bold; |
| | | border-bottom: 1px solid #cccccc; |
| | | padding: 8px 0; |
| | | } |
| | | </style> |
| | |
| | | .checkReferer() |
| | | .then((res) => { |
| | | let rs = JSON.parse(res.data.result); |
| | | console.log(rs); |
| | | if (rs) { |
| | | this.$store.dispatch("user/changeAutoLogin", 1); |
| | | this.loginForm.username = "zhdl"; |