guoshilong
2022-09-21 4492747761fcd0445820c0461760f453f4c08984
事件管理处置
3 files modified
1 files added
129 ■■■■■ changed files
src/api/eventgm/eventgm.js 16 ●●●●● patch | view | raw | blame | history
src/views/eventgm/disposal.vue 4 ●●●● patch | view | raw | blame | history
src/views/eventgm/eventgm.vue 17 ●●●● patch | view | raw | blame | history
src/views/eventgm/repairsOrder.vue 92 ●●●●● patch | view | raw | blame | history
src/api/eventgm/eventgm.js
@@ -48,3 +48,19 @@
  })
}
export const disposalAccept = (row) => {
  return request({
    url: '/api/eventgm/eventgm/disposalAccept',
    method: 'post',
    data: row
  })
}
export const disposalRefuse = (row) => {
  return request({
    url: '/api/eventgm/eventgm/disposalRefuse',
    method: 'post',
    data: row
  })
}
src/views/eventgm/disposal.vue
@@ -14,7 +14,7 @@
</template>
<script>
import {update} from "@/api/eventgm/eventgm";
import {disposalRefuse} from "@/api/eventgm/eventgm";
export default {
  data() {
@@ -71,7 +71,7 @@
    submit(row,done) {
      var that = this
      row['id'] = that.eventgm.id
      update(row).then(() => {
      disposalRefuse(row).then(() => {
        this.$refs.form.resetFields()
        this.$emit("refreshOnLoad")
        that.visible = false
src/views/eventgm/eventgm.vue
@@ -21,10 +21,10 @@
      <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">
@@ -44,6 +44,8 @@
    <!-- 弹窗, 事件处置 -->
    <disposal v-if="disposalVisible" ref="disposal" @refreshOnLoad="refreshChange"></disposal>
    <!-- 弹窗, 生成维修工单 -->
    <repairs-order v-if="repairsOrderVisible" ref="repairsOrder" @refreshOnLoad="refreshChange"></repairs-order>
  </basic-container>
</template>
@@ -52,9 +54,11 @@
  import option from "@/const/eventgm/eventgm";
  import {mapGetters} from "vuex";
  import disposal from "./disposal.vue"
  import RepairsOrder from "@/views/eventgm/repairsOrder";
  export default {
    components: {
      RepairsOrder,
      disposal
    },
    data() {
@@ -70,7 +74,8 @@
        selectionList: [],
        option: option,
        data: [],
        disposalVisible: false
        disposalVisible: false,
        repairsOrderVisible:false
      };
    },
    computed: {
@@ -228,6 +233,12 @@
          this.$refs.disposal.init(row)
        })
      },
      handleRepairsOrder(row){
        this.repairsOrderVisible = true
        this.$nextTick(() => {
          this.$refs.repairsOrder.init(row)
        })
      },
      createOrder(){}
    }
  };
src/views/eventgm/repairsOrder.vue
New file
@@ -0,0 +1,92 @@
<!--生成维修工单页面-->
<template>
  <el-dialog
    :title="title"
    :modal-append-to-body="false"
    :append-to-body="true"
    :close-on-click-modal="false"
    width="60%"
    :visible.sync="visible"
  >
    <avue-form ref="form" v-model="form" :option="option" @submit="submit">
    </avue-form>
  </el-dialog>
</template>
<script>
import {disposalAccept} from "@/api/eventgm/eventgm";
export default {
  name: "repairsOrder",
  data() {
    return {
      title:"生成维修工单",
      form: {},
      repairsorder: {},
      visible: false,
      ids: null,
      option: {
        emptyBtn: false,
        submitText: "保存",
        gutter: 30,
        column: [
          {
            label: "地址",
            prop: "address",
            disabled:true,
            span: 24
          },
          {
            label: "经度",
            prop:"longitude",
            disabled:true,
            span: 12
          },
          {
            label: "纬度",
            prop:"latitude",
            disabled:true,
            span: 12
          },
          {
            label: "内容",
            prop: "remark",
            type: "textarea",
            span: 24,
            rules: [{
              required: true,
              message: "请输入备注",
              trigger: "blur"
            }]
          }
        ]
      }
    }
  },
  methods: {
    init(data) {
      this.visible = true
      this.form = data
    },
    // 表单提交
    submit(row, done) {
      disposalAccept(row).then(() => {
        this.$emit("refreshOnLoad")
        this.visible = false
        this.$message({
          type: "success",
          message: "操作成功!"
        });
        done();
      }, error => {
        done();
        window.console.log(error);
      });
    },
  }
}
</script>
<style scoped>
</style>