zhanghua
2024-01-09 778039b40c8fcbe205f9a4a5fab27518d0c0a90d
src/views/operate/disposal/casepool/dispatch/updateUser/uploadResult/components/arrive/index.vue
@@ -2,31 +2,63 @@
    <div class="arrive">
        <div class="arrive-title">到达现场情况</div>
        <div class="arrive-form">
            <el-form ref="arriveForm" label-width="160px" :model="arrive" :rules="arriveRules" autoComplete="on">
            <el-form
                ref="arriveForm"
                label-width="160px"
                :model="arrive"
                :rules="arriveRules"
                autoComplete="on"
            >
                <!-- 到达时间 -->
                <el-form-item label="到达时间:" prop="arrivalTime">
                    <el-date-picker v-model="arrive.arrivalTime" value-format="yyyy-MM-dd HH:mm:ss" type="datetime" placeholder="选择到达时间">
                    <el-date-picker
                        v-model="arrive.arrivalTime"
                        value-format="yyyy-MM-dd HH:mm:ss"
                        type="datetime"
                        placeholder="选择到达时间"
                    >
                    </el-date-picker>
                </el-form-item>
                <!-- 到达地址 -->
                <el-form-item label="到达地址:" prop="arrivalAddress">
                    <el-input v-model="arrive.arrivalAddress" placeholder="请输入地址"></el-input>
                    <el-input
                        v-model="arrive.arrivalAddress"
                        placeholder="请输入地址"
                    ></el-input>
                </el-form-item>
                <!-- 现场情况说明 -->
                <el-form-item label="现场情况说明:" prop="situationExplain">
                    <el-input type="textarea" :autosize="{ minRows: 2, maxRows: 4 }" maxlength="200" show-word-limit
                        v-model="arrive.situationExplain" placeholder="请输入情况说明,限制200字以内"></el-input>
                    <el-input
                        type="textarea"
                        :autosize="{ minRows: 2, maxRows: 4 }"
                        maxlength="200"
                        show-word-limit
                        v-model="arrive.situationExplain"
                        placeholder="请输入情况说明,限制200字以内"
                    ></el-input>
                </el-form-item>
                <!-- 信访回复说明 -->
                <el-form-item label="信访回复说明:" prop="replyExplain">
                    <el-input type="textarea" :autosize="{ minRows: 2, maxRows: 4 }" maxlength="200" show-word-limit
                        v-model="arrive.replyExplain" placeholder="请输入回访说明,限制200字以内"></el-input>
                    <el-input
                        type="textarea"
                        :autosize="{ minRows: 2, maxRows: 4 }"
                        maxlength="200"
                        show-word-limit
                        v-model="arrive.replyExplain"
                        placeholder="请输入回访说明,限制200字以内"
                    ></el-input>
                </el-form-item>
                <!-- 现场情况照片 -->
                <el-form-item label="现场情况照片:" prop="situationPic">
                    <div class="upImg" >
                            <MyUpload :picture-list="arrive.situationPic" @setPictureUrl="setPicUrl" @delPictureUrl="delPicUrl"></MyUpload>
                        <div class="tip">{{ arrive.situationPic.length }} / 4</div>
                    <div class="upImg">
                        <MyUpload
                            :picture-list="arrive.situationPic"
                            @setPictureUrl="setPicUrl"
                            @delPictureUrl="delPicUrl"
                        ></MyUpload>
                        <div class="tip">
                            {{ arrive.situationPic.length }} / 4
                        </div>
                    </div>
                </el-form-item>
            </el-form>
@@ -36,16 +68,17 @@
<script>
import MyUpload from "@/components/myUpload"
import { deepClone } from "@/utils/helper";
import { FILE_ORIGINAL_URL } from "@/utils";
export default {
    components: {
        MyUpload
    },
  props: {
    arriveData: {
      type: Object,
      default: () => null
    }
  },
    props: {
        arriveData: {
            type: Object,
            default: () => null
        }
    },
    data() {
        const checkTime = (rule, value, callback) => {
            if (value) {
@@ -66,13 +99,6 @@
                callback()
            } else {
                callback(new Error('现场情况说明不能为空'));
            }
        }
        const checkReplay = (rule, value, callback) => {
            if (value) {
                callback()
            } else {
                callback(new Error('信访回复说明不能为空'));
            }
        }
        const checkSitPic = (rule, value, callback) => {
@@ -103,15 +129,15 @@
            fileList: [],
        }
    },
  created() {
      this.arrive = deepClone(this.arriveData);
      if (this.arriveData) {
        this.arrive.situationPic = this.arriveData.situationPic.split(',');
      }
  },
  methods: {
    created() {
        if (this.arriveData) {
            this.arrive = deepClone(this.arriveData);
            this.arrive.situationPic = this.arriveData.situationPic.split(',');
        }
    },
    methods: {
        handleSuccess(res, file, filelist) {
            const baseUrl = 'http://140.143.152.226:8410/';
            const baseUrl = '';
            if (this.arrive.situationPic.length < 4) {
                this.arrive.situationPic.push(baseUrl + res.data.url1)
            }
@@ -134,15 +160,15 @@
        },
        // 设置上传成功之后的图片地址
        setPicUrl({ url }) {
            const baseUrl = 'http://140.143.152.226:8410/';
            const baseUrl = '';
            if (this.arrive.situationPic.length < 4) {
                this.arrive.situationPic.push(baseUrl + url)
                this.arrive.situationPic.push(`${FILE_ORIGINAL_URL}sccg/API/img?fileUrl=${url}`)
            }
        },
        //删除图片
        delPicUrl({url}){
            const baseUrl = 'http://140.143.152.226:8410/';
            this.arrive.situationPic.splice(this.arrive.situationPic.indexOf(baseUrl + url),1);
        delPicUrl({ url }) {
            const baseUrl = '';
            this.arrive.situationPic.splice(this.arrive.situationPic.indexOf(baseUrl + url), 1);
        }
    }
}
@@ -160,7 +186,7 @@
.upImg {
    display: flex;
    overflow: auto;
    .tip {
        position: absolute;
        bottom: 0;
@@ -203,16 +229,16 @@
    border-radius: 4px;
}
::v-deep .el-textarea__inner {
    background-color: #09152f;
    border: 1px solid #17324c;
}
// ::v-deep .el-textarea__inner {
//     // background-color: #09152f;
//     border: 1px solid #17324c;
// }
::v-deep .el-input__count {
    background-color: #09152f;
}
// ::v-deep .el-input__count {
//     // background-color: #09152f;
// }
::v-deep .el-form-item__label {
    color: #4b9bb7;
}
</style>
// ::v-deep .el-form-item__label {
//     color: #4b9bb7;
// }
</style>