zhanghua
2024-03-31 2abaf1a68cc38303724d7aa74d2d3ed81af6466f
src/views/operate/disposal/casepool/notDeal/updateUser/uploadResult/components/arrive/index.vue
@@ -2,40 +2,82 @@
    <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" type="datetime" placeholder="选择到达时间">
                    <el-date-picker
                        v-model="arrive.arrivalTime"
                        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">
                        <div class="img-list">
                            <img :src="item" alt="" v-for="(item,index) in arrive.situationPic" :key="index">
                            <img
                                :src="item"
                                alt=""
                                v-for="(item, index) in arrive.situationPic"
                                :key="index"
                            />
                        </div>
                        <div class="upload" v-if="arrive.situationPic.length<4">
                            <el-upload :file-list="fileList" class="upload-demo"
                                action="/sccg/file/medias" multiple :show-file-list="false"
                                :limit="4" :on-success="handleSuccess" :headers="getToken()">
                        <div
                            class="upload"
                            v-if="arrive.situationPic.length < 4"
                        >
                            <el-upload
                                :file-list="fileList"
                                class="upload-demo"
                                action="/sccg/file/medias"
                                multiple
                                :show-file-list="false"
                                :limit="4"
                                :on-success="handleSuccess"
                                :headers="getToken()"
                            >
                                <i class="el-icon-plus"></i>
                            </el-upload>
                        </div>
                        <div class="tip">{{arrive.situationPic.length}} / 4</div>
                        <div class="tip">
                            {{ arrive.situationPic.length }} / 4
                        </div>
                    </div>
                </el-form-item>
            </el-form>
@@ -43,7 +85,7 @@
    </div>
</template>
<script>
import { FILE_ORIGINAL_URL } from "@/utils";
import { FILE_ORIGINAL_PATH } from "@/utils";
export default {
    data() {
        const checkTime = (rule, value, callback) => {
@@ -105,13 +147,13 @@
            fileList: [],
        }
    },
    props:['getArrive'],
    props: ['getArrive'],
    methods: {
        handleSuccess(res, file, filelist) {
            const baseUrl = '';
            if (this.arrive.situationPic.length < 4) {
                this.arrive.situationPic.push(`${FILE_ORIGINAL_URL}sccg/API/img?fileUrl=${ res.data.url1}`)
                this.arrive.situationPic.push(FILE_ORIGINAL_PATH + res.data.url1)
            }
        },
        getToken() {
@@ -122,15 +164,15 @@
            }
        },
        // 获取arrive对象
        backData(){
        backData() {
            const { arrive } = this;
            this.$emit('getArrive',{arrive});
            this.$emit('getArrive', { arrive });
        }
    }
}
</script>
<style lang="scss" scoped>
.arrive-title{
.arrive-title {
    line-height: 60px;
    font-weight: 650;
    font-size: 20px;