From 519b2befd64b3922a19a28e8c6eb8d988d1cd701 Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Tue, 20 Sep 2022 14:35:28 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 src/const/eventgm/eventgm.js         |   56 +++++++++++++++-------------
 src/views/eventgm/disposal.vue       |   16 ++++++--
 src/views/repairsorder/sendorder.vue |    1 
 src/views/eventgm/eventgm.vue        |   34 ++++++++++-------
 4 files changed, 63 insertions(+), 44 deletions(-)

diff --git a/src/const/eventgm/eventgm.js b/src/const/eventgm/eventgm.js
index d11847a..d4afbb3 100644
--- a/src/const/eventgm/eventgm.js
+++ b/src/const/eventgm/eventgm.js
@@ -6,8 +6,15 @@
   searchMenuSpan: 6,
   border: true,
   index: true,
-  viewBtn: true,
+  viewBtn: false,
+  delBtn: false,
+  editBtn: false,
+  menuType:'menu',
+  menuBtnTitle:'事件处置',
   selection: true,
+  selectable: (row) => {
+    return parseInt(row.state) == 0;
+  },
   dialogClickModal: false,
   column: [
     {
@@ -18,23 +25,6 @@
       editDisplay: false,
       viewDisplay: false,
       hide: true,
-    },
-    {
-      label: "事件类型",
-      prop: "type",
-      type: "select",
-      dicUrl: "/api/blade-system/dict-biz/dictionary?code=EVENT_TYPE",
-      dataType: "number",
-      props: {
-        label: "dictValue",
-        value: "dictKey"
-      },
-      rules: [{
-        required: true,
-        message: "请选择事件类型",
-        trigger: "blur"
-      }],
-      search: true,
     },
     {
       label: "上报人",
@@ -62,19 +52,31 @@
       prop: "avueMapAddress",
       type: "map",
       component: 'avueMap',
-      value: {
-        // "formattedAddress": "",
-        // "longitude": 0,
-        // "latitude": 0
-      },
+      // value: {},
       hide: true,
       overHidden: true,
-      span: 24,
       rules: [{
         required: true,
         message: "选择坐标",
         trigger: "blur"
       }],
+    },
+    {
+      label: "事件类型",
+      prop: "type",
+      type: "select",
+      dicUrl: "/api/blade-system/dict-biz/dictionary?code=EVENT_TYPE",
+      dataType: "number",
+      props: {
+        label: "dictValue",
+        value: "dictKey"
+      },
+      rules: [{
+        required: true,
+        message: "请选择事件类型",
+        trigger: "blur"
+      }],
+      search: true,
     },
     {
       label: "地址",
@@ -118,18 +120,20 @@
       label: "事件状态",
       prop: "state",
       type: "select",
+      search: true,
+      disabled: true,
       dicUrl: "/api/blade-system/dict-biz/dictionary?code=EVENT_STATE",
       dataType: "number",
       props: {
         label: "dictValue",
         value: "dictKey"
       },
-      search: true,
     },
     {
-      label: "任务来源",
+      label: "事件来源",
       prop: "source",
       type: "select",
+      disabled: true,
       dicData: [{id:'WEB',name:'WEB'},{id:'APP',name:'APP'}],
       props: {
         label: "name",
diff --git a/src/views/eventgm/disposal.vue b/src/views/eventgm/disposal.vue
index 8738575..1b0d886 100644
--- a/src/views/eventgm/disposal.vue
+++ b/src/views/eventgm/disposal.vue
@@ -1,3 +1,4 @@
+<!--事件处置弹窗页面-->
 <template>
   <el-dialog
     :title="title"
@@ -21,7 +22,7 @@
       title:"事件处置",
       form: {},
       visible: false,
-      ids: null,
+      eventgm: null,
       option: {
         emptyBtn: false,
         submitText: "保存",
@@ -31,6 +32,7 @@
             label: "事件状态",
             prop: "state",
             type: "select",
+            disabled:true,
             dicUrl: "/api/blade-system/dict-biz/dictionary?code=EVENT_STATE",
             dataType: "number",
             props: {
@@ -49,20 +51,26 @@
             prop: "remark",
             type: "textarea",
             span: 24,
+            rules: [{
+              required: true,
+              message: "请输入备注",
+              trigger: "blur"
+            }]
           }
         ]
       }
     }
   },
   methods: {
-    init(ids) {
+    init(eventgm) {
       this.visible = true
-      this.ids = ids
+      this.eventgm = eventgm
+      this.form.state = 10
     },
     // 表单提交
     submit(row,done) {
       var that = this
-      row['id'] = that.ids
+      row['id'] = that.eventgm.id
       update(row).then(() => {
         this.$refs.form.resetFields()
         this.$emit("refreshOnLoad")
diff --git a/src/views/eventgm/eventgm.vue b/src/views/eventgm/eventgm.vue
index 9544af0..1b70edd 100644
--- a/src/views/eventgm/eventgm.vue
+++ b/src/views/eventgm/eventgm.vue
@@ -18,6 +18,19 @@
                @size-change="sizeChange"
                @refresh-change="refreshChange"
                @on-load="onLoad">
+      <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>
+        <!--divided 是一个划分线-->
+        <el-dropdown-item divided icon="el-icon-error" :size="size" :type="type"
+                          :disabled="row.state >= 2"
+                          @click.native="handleDisposal(row)">拒绝</el-dropdown-item>
+      </template>
+      <template slot-scope="{type,size,row,index}" slot="menu">
+        <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>
       <template slot="menuLeft">
         <el-button type="danger"
                    size="small"
@@ -26,9 +39,6 @@
                    v-if="permission.eventgm_delete"
                    @click="handleDelete">删 除
         </el-button>
-      </template>
-      <template slot="menuLeft">
-        <el-button icon="el-icon-check" type="success" size="small" @click="handleDisposal">事件处置</el-button>
       </template>
     </avue-crud>
 
@@ -170,6 +180,9 @@
               "latitude": this.form.latitude
             }
           });
+        } else {
+          this.form.source = 'WEB'
+          this.form.state = '0'
         }
         done();
       },
@@ -209,20 +222,13 @@
           this.selectionClear();
         });
       },
-      handleDisposal() {
-        if (this.selectionList.length === 0) {
-          this.$message.warning("请选择至少一条数据");
-          return;
-        }
-        if (this.selectionList.length > 1) {
-          this.$message.warning("请选择一条数据");
-          return;
-        }
+      handleDisposal(row) {
         this.disposalVisible = true
         this.$nextTick(() => {
-          this.$refs.disposal.init(this.ids)
+          this.$refs.disposal.init(row)
         })
-      }
+      },
+      createOrder(){}
     }
   };
 </script>
diff --git a/src/views/repairsorder/sendorder.vue b/src/views/repairsorder/sendorder.vue
index ceee364..e5a58e5 100644
--- a/src/views/repairsorder/sendorder.vue
+++ b/src/views/repairsorder/sendorder.vue
@@ -1,3 +1,4 @@
+<!--派单弹窗页面-->
 <template>
   <el-dialog
     :title="title"

--
Gitblit v1.9.3