| | |
| | | <template> |
| | | <basic-container> |
| | | <avue-crud :option="option" |
| | | <avue-crud v-show="!detailVisible" :option="option" |
| | | :table-loading="loading" |
| | | :data="data" |
| | | :page.sync="page" |
| | |
| | | :before-open="beforeOpen" |
| | | v-model="form" |
| | | ref="crud" |
| | | :upload-before="uploadBefore" |
| | | @row-update="rowUpdate" |
| | | @row-save="rowSave" |
| | | @row-del="rowDel" |
| | | @row-dblclick="rowClick" |
| | | @search-change="searchChange" |
| | | @search-reset="searchReset" |
| | | @selection-change="selectionChange" |
| | |
| | | <template slot-scope="{type,size,row,index}" slot="menuBtn"> |
| | | <el-dropdown-item icon="el-icon-check" :size="size" :type="type" |
| | | :disabled="row.state >= 1" |
| | | @click.native="createOrder">生成维修工单</el-dropdown-item> |
| | | @click.native="handleRepairsOrder(row)">生成维修工单</el-dropdown-item> |
| | | <!--divided 是一个划分线--> |
| | | <el-dropdown-item divided icon="el-icon-error" :size="size" :type="type" |
| | | :disabled="row.state >= 2" |
| | | :disabled="row.state >= 1" |
| | | @click.native="handleDisposal(row)">拒 绝</el-dropdown-item> |
| | | </template> |
| | | <template slot-scope="{type,size,row,index}" slot="menu"> |
| | |
| | | |
| | | <!-- 弹窗, 事件处置 --> |
| | | <disposal v-if="disposalVisible" ref="disposal" @refreshOnLoad="refreshChange"></disposal> |
| | | <!-- 弹窗, 生成维修工单 --> |
| | | <repairs-order v-if="repairsOrderVisible" ref="repairsOrder" @refreshOnLoad="refreshChange"></repairs-order> |
| | | <!--显示详情--> |
| | | <eventgm-detail v-if="detailVisible" ref="detailVisible" :detailInfo="detailInfo" @isDetail="isDetail"></eventgm-detail> |
| | | </basic-container> |
| | | </template> |
| | | |
| | |
| | | import option from "@/const/eventgm/eventgm"; |
| | | import {mapGetters} from "vuex"; |
| | | import disposal from "./disposal.vue" |
| | | import RepairsOrder from "@/views/eventgm/repairsOrder"; |
| | | import EventgmDetail from "@/views/eventgm/eventgmDetail"; |
| | | |
| | | export default { |
| | | components: { |
| | | EventgmDetail, |
| | | RepairsOrder, |
| | | disposal |
| | | }, |
| | | data() { |
| | |
| | | selectionList: [], |
| | | option: option, |
| | | data: [], |
| | | disposalVisible: false |
| | | disposalVisible: false, |
| | | repairsOrderVisible:false, |
| | | detailVisible:false, |
| | | detailInfo:{}, |
| | | }; |
| | | }, |
| | | computed: { |
| | |
| | | }, |
| | | methods: { |
| | | rowSave(row, done, loading) { |
| | | if (!row.picUrls){ |
| | | row.picUrls = null |
| | | } |
| | | add(row).then(() => { |
| | | this.onLoad(this.page); |
| | | this.$message({ |
| | |
| | | beforeOpen(done, type) { |
| | | if (["edit", "view"].includes(type)) { |
| | | getDetail(this.form.id).then(res => { |
| | | console.log(res); |
| | | this.form = res.data.data; |
| | | this.form.avueMapAddress = { |
| | | "formattedAddress": this.form.address, |
| | |
| | | }, |
| | | searchChange(params, done) { |
| | | this.query = params; |
| | | if (this.query.daterange){ |
| | | this.query.startTime = this.query.daterange[0] |
| | | this.query.endTime = this.query.daterange[1] |
| | | this.query.daterange = null |
| | | } |
| | | this.page.currentPage = 1; |
| | | this.onLoad(this.page, params); |
| | | done(); |
| | |
| | | this.selectionClear(); |
| | | }); |
| | | }, |
| | | uploadBefore(file, done, loading,column) { |
| | | if (["image","video"].includes(file.type.split("/")[0])){ |
| | | done() |
| | | }else { |
| | | this.$message.warning('请上传图片或视频') |
| | | loading() |
| | | } |
| | | }, |
| | | handleDisposal(row) { |
| | | this.disposalVisible = true |
| | | this.$nextTick(() => { |
| | | this.$refs.disposal.init(row) |
| | | }) |
| | | }, |
| | | createOrder(){} |
| | | handleRepairsOrder(row){ |
| | | this.repairsOrderVisible = true |
| | | this.$nextTick(() => { |
| | | this.$refs.repairsOrder.init(row) |
| | | }) |
| | | }, |
| | | createOrder(){}, |
| | | //点击当前行事件 |
| | | rowClick(val){ |
| | | // this.$router.push({ path: "/eventgm/eventgmDetail", query: val }); |
| | | this.detailInfo = val |
| | | this.isDetail(); |
| | | }, |
| | | isDetail(){ |
| | | this.detailVisible = !this.detailVisible |
| | | } |
| | | } |
| | | }; |
| | | </script> |