From 998b75f0d4aaed03001ec4246cd4f3b4b0743b7e Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Wed, 23 Nov 2022 10:14:28 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 src/views/repairsorder/repairsorder.vue |   49 ++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 36 insertions(+), 13 deletions(-)

diff --git a/src/views/repairsorder/repairsorder.vue b/src/views/repairsorder/repairsorder.vue
index 9852705..fa027fa 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,8 +30,8 @@
         </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-check" :size="size" :type="type" :disabled="row.state == 1" @click="handleSendorder(row)">派 单</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 == 0)" @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>
       </template>
@@ -37,17 +39,20 @@
 
     <!-- 弹窗, 派单 -->
     <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>
 
 <script>
-  import {getList, getDetail, add, update, remove} from "@/api/repairsorder/repairsorder";
+  import {getList, add, update, remove} from "@/api/repairsorder/repairsorder";
   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 (!row.picUrls){
+          row.picUrls = null
+        }
         add(row).then(() => {
           this.onLoad(this.page);
           this.$message({
@@ -164,14 +174,11 @@
       },
       beforeOpen(done, type) {
         if (["edit", "view"].includes(type)) {
-          getDetail(this.form.id).then(res => {
-            this.form = res.data.data
-            this.form.avueMapAddress = {
-              "formattedAddress": this.form.location,
-              "longitude": this.form.longitude,
-              "latitude": this.form.latitude
-            }
-          });
+          this.form.avueMapAddress = {
+            "formattedAddress": this.form.location,
+            "longitude": this.form.longitude,
+            "latitude": this.form.latitude
+          }
         }
         done();
       },
@@ -216,11 +223,27 @@
           this.selectionClear();
         });
       },
+      uploadBefore(file, done, loading) {
+        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