linwei
2023-12-29 3989edc0d8a6b321120c62f6f9a2738f1aee4d41
报事优化
1 files modified
76 ■■■■ changed files
src/views/task/reportForRepairs.vue 76 ●●●● patch | view | raw | blame | history
src/views/task/reportForRepairs.vue
@@ -12,10 +12,9 @@
<template>
    <basic-container>
        <avue-crud :option="option" :table-loading="loading" :data="data" :page.sync="page" ref="crud" @row-del="rowDel"
            v-model="form" :permission="permissionList" @row-update="rowUpdate" @row-save="rowSave"
            :before-open="beforeOpen" @search-change="searchChange" @search-reset="searchReset"
            @selection-change="selectionChange" @current-change="currentChange" @size-change="sizeChange"
            @refresh-change="refreshChange" @on-load="onLoad">
      v-model="form" :permission="permissionList" @row-update="rowUpdate" @row-save="rowSave" :before-open="beforeOpen"
      @search-change="searchChange" @search-reset="searchReset" @selection-change="selectionChange"
      @current-change="currentChange" @size-change="sizeChange" @refresh-change="refreshChange" @on-load="onLoad">
            <template slot="confirmFlag" slot-scope="{row}">
                <el-tag size="small" :type="showConfirmFlag(row.confirmFlag).type">
                    {{ showConfirmFlag(row.confirmFlag).text }}
@@ -68,11 +67,13 @@
            </template>
            <template slot-scope="scope" slot="menu">
                <el-button type="text" icon="el-icon-chat-dot-square" @click="replyBtnClick(scope.row)">
        <el-button type="text" icon="el-icon-chat-dot-square" :disabled="scope.row.confirmFlag === 3"
          @click="replyBtnClick(scope.row)">
                    回复
                </el-button>
                <el-button type="text" icon="el-icon-document-copy" @click="turnOverBtnClick(scope.row)">
        <el-button type="text" icon="el-icon-document-copy" :disabled="scope.row.confirmFlag === 3"
          @click="turnOverBtnClick(scope.row)">
                    移交
                </el-button>
            </template>
@@ -88,10 +89,9 @@
            <avue-form ref="replyForm" :option="replyOption" v-model="replyForm" @submit="handleSubmit"
                @reset-change="handleReset">
                <template slot-scope="{row}" slot="videoList">
                    <el-upload class="video-uploader" action="/api/blade-resource/oss/endpoint/put-file"
                        :file-list="fileList" :headers="updateHeader" :show-file-list="true" :limit="1" :on-change="getFile"
                        :on-exceed="handleExceed" :on-success="uploadVideoProcess" :before-upload="beforeUploadVideo"
                        :before-remove="beforeRemove">
          <el-upload class="video-uploader" action="/api/blade-resource/oss/endpoint/put-file" :file-list="fileList"
            :headers="updateHeader" :show-file-list="true" :limit="1" :on-change="getFile" :on-exceed="handleExceed"
            :on-success="uploadVideoProcess" :before-upload="beforeUploadVideo" :before-remove="beforeRemove">
                        <el-button size="small" type="primary">点击上传</el-button>
                        <div slot="tip" class="el-upload__tip">上传视频只能是 mp4 格式,且大小不能超过 50MB</div>
                    </el-upload>
@@ -115,10 +115,16 @@
    getReportForRepairs,
    saveReply
} from "@/api/task/reportForRepairs"
import { mapGetters } from "vuex"
  import {
    mapGetters
  } from "vuex"
import website from '@/config/website'
import { Base64 } from 'js-base64'
import { getToken } from '@/util/auth'
  import {
    Base64
  } from 'js-base64'
  import {
    getToken
  } from '@/util/auth'
export default {
    data () {
@@ -150,8 +156,7 @@
                viewBtn: true,
                // excelBtn: true,
                dialogClickModal: false,
                column: [
                    {
          column: [{
                        label: "类型",
                        prop: "type",
                        span: 12,
@@ -250,8 +255,7 @@
                emptyBtn: true,
                emptyText: '取消',
                column: [
                    {
          column: [{
                        span: 24,
                        label: "说明",
                        prop: "content",
@@ -269,8 +273,7 @@
                        label: '处理状态',
                        prop: 'confirmFlag',
                        type: 'select',
                        dicData: [
                            {
              dicData: [{
                                label: '待处理',
                                value: 1
                            }, {
@@ -279,8 +282,7 @@
                            }, {
                                label: '已处理',
                                value: 3
                            }
                        ],
              }],
                        rules: [{
                            required: true,
                            message: "请选择处理状态",
@@ -336,16 +338,14 @@
                        label: "人员类型",
                        prop: "peopleType",
                        type: 'select',
                        dicData: [
                            {
              dicData: [{
                                label: '网格员',
                                value: 0
                            }, {
                                label: '物业公司人员',
                                value: 2
                            }
                        ],
                        cascader: ["transferUserld"],
              }],
              cascader: ["transferUserId"],
                        rules: [{
                            required: true,
                            message: "请选择人员类型",
@@ -356,14 +356,19 @@
                    {
                        span: 14,
                        label: "指定人员",
                        prop: "transferUserld",
              prop: "transferUserId",
                        type: 'select',
                        dicUrl: `/api/blade-system/user/getUserInfoByCode?houseCode={{addressCode}}&type={{peopleType}}`,
                        props: {
                            label: "name",
                            value: "id",
                        },
                        change: ({ value, column, item, dic }) => {
              change: ({
                value,
                column,
                item,
                dic
              }) => {
                            this.curPeopleDetails = {}
                            if (value) {
@@ -393,8 +398,7 @@
            videoUploadPercent: ''
        }
    },
    watch: {
    },
    watch: {},
    computed: {
        ...mapGetters(["permission", "userInfo"]),
        permissionList () {
@@ -419,8 +423,7 @@
                let imageList = row.imageUrls
                if (row.taskRepairAppraiseList.length) {
                    return [
                        {
            return [{
                            createTime: row.createTime,
                            mobile: row.phone,
                            name: row.realName,
@@ -455,8 +458,7 @@
                        }
                    ]
                } else {
                    return [
                        {
            return [{
                            createTime: row.createTime,
                            mobile: row.phone,
                            name: row.realName,
@@ -573,7 +575,7 @@
            let content = ''
            if (form.peopleType == 0) {
                content = `事件已移交至 网格员 李伟`
          content = `事件已移交至 网格员 ${this.curPeopleDetails.name}`
            } else if (form.peopleType == 2) {
                content = `事件已移交至 物业公司人员 ${this.curPeopleDetails.distictName || ''}${this.curPeopleDetails.name}`
            }
@@ -773,7 +775,9 @@
            this.onLoad(this.page, this.query)
        },
        onLoad (page, params = {}) {
            const { dateTime } = this.query
        const {
          dateTime
        } = this.query
            let values = {
                ...params,
            }