From 680dcd3efb79f439a1e4bf95240a0c2b8d975837 Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Mon, 26 Sep 2022 11:46:13 +0800
Subject: [PATCH] 事件管理、维修管理添加图片视频上传;维修管理添加地图详情页面、详情数据显示上传的图片和视频

---
 src/views/repairsorder/repairsorder.vue |   32 +++++++++++++++++++++++++++++---
 1 files changed, 29 insertions(+), 3 deletions(-)

diff --git a/src/views/repairsorder/repairsorder.vue b/src/views/repairsorder/repairsorder.vue
index 96c3163..d1e2ab0 100644
--- a/src/views/repairsorder/repairsorder.vue
+++ b/src/views/repairsorder/repairsorder.vue
@@ -1,6 +1,6 @@
 <template>
   <basic-container>
-    <avue-crud :option="option"
+    <avue-crud v-show="!detailVisible" :option="option"
                :table-loading="loading"
                :data="data"
                :page.sync="page"
@@ -8,9 +8,11 @@
                :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"
@@ -28,7 +30,7 @@
         </el-button>
       </template>
       <template slot-scope="{type,size,row,index}" slot="menu">
-        <el-button icon="el-icon-view" :size="size" :type="type" @click="$refs.crud.rowView(row,index)">查 看</el-button>
+        <el-button icon="el-icon-view" :size="size" :type="type" @click="rowClick(row)">查 看</el-button>
         <el-button icon="el-icon-check" :size="size" :type="type" :disabled="row.state == 1" @click="handleSendorder(row)">派 单</el-button>
         <el-button icon="el-icon-edit" :size="size" :type="type" :disabled="row.state >= 1" @click="$refs.crud.rowEdit(row,index)">编 辑</el-button>
         <el-button icon="el-icon-delete" :size="size" :type="type" :disabled="row.state >= 1" @click="$refs.crud.rowDel(row,index)">删 除</el-button>
@@ -37,6 +39,7 @@
 
     <!-- 弹窗, 派单 -->
     <sendorder v-if="sendorderVisible" ref="sendorder" @refreshOnLoad="refreshChange"></sendorder>
+    <repairsorder-detail v-if="detailVisible" ref="detailVisible" :detailInfo="detailInfo" @isDetail="isDetail"></repairsorder-detail>
   </basic-container>
 </template>
 
@@ -45,9 +48,11 @@
   import option from "@/const/repairsorder/repairsorder";
   import {mapGetters} from "vuex";
   import sendorder from "./sendorder.vue"
+  import RepairsorderDetail from "@/views/repairsorder/repairsorderDetail";
 
   export default {
     components: {
+      RepairsorderDetail,
       sendorder
     },
     data() {
@@ -63,7 +68,9 @@
         selectionList: [],
         option: option,
         data: [],
-        sendorderVisible: false
+        sendorderVisible: false,
+        detailVisible:false,
+        detailInfo:{},
       };
     },
     watch: {
@@ -98,6 +105,9 @@
     },
     methods: {
       rowSave(row, done, loading) {
+        if (!picUrls){
+          row.picUrls = null
+        }
         add(row).then(() => {
           this.onLoad(this.page);
           this.$message({
@@ -213,11 +223,27 @@
           this.selectionClear();
         });
       },
+      uploadBefore(file, done, loading,column) {
+        if (["image","video"].includes(file.type.split("/")[0])){
+          done()
+        }else {
+          this.$message.warning('请上传图片或视频')
+          loading()
+        }
+      },
       handleSendorder(row) {
         this.sendorderVisible = true
         this.$nextTick(() => {
           this.$refs.sendorder.init(row)
         })
+      },
+      //点击当前行事件
+      rowClick(val){
+        this.detailInfo = val
+        this.isDetail();
+      },
+      isDetail(){
+        this.detailVisible = !this.detailVisible
       }
     }
   };

--
Gitblit v1.9.3