luobisheng
2022-11-22 35c30ecf074b292e955d96df7a713a2166daff0e
src/views/operate/disposal/casepool/dispatch/updateUser/uploadResult/components/evidence/index.vue
@@ -38,20 +38,7 @@
                <!-- 照片附件 -->
                <el-form-item label="照片附件:" prop="pic">
                    <div class="upImg">
                        <!-- <div class="img-list" v-if="evidence.pic.length!==0">
                            <div class="img" v-for="(item,index) in evidence.pic" :key="index">
                                <img :src="item" alt="">
                                <i class="el-icon-close myicon" @click="handleRemove(index)"></i>
                            </div>
                        </div> -->
                        <MyUpload  @setPictureUrl="setPicUrl" @delPictureUrl="delPicUrl"></MyUpload>
                        <!-- <div class="upload" v-if="evidence.pic.length<4">
                            <el-upload :file-list="fileList" class="upload-demo"
                                action="/sccg/file/medias" multiple :show-file-list="false"
                                :limit="4" :on-success="handleSuccess2" :headers="getToken()">
                                <i class="el-icon-plus"></i>
                            </el-upload>
                        </div> -->
                        <MyUpload :picture-list="evidence.pic" @setPictureUrl="setPicUrl" @delPictureUrl="delPicUrl"></MyUpload>
                        <div class="tip">{{evidence.pic.length}} / 4</div>
                    </div>
                </el-form-item>
@@ -115,13 +102,11 @@
                    <div class="user-item">
                        <!-- 民族 -->
                        <el-form-item label="民族:" prop="nation">
                            <!-- <el-select v-model="user.nation" placeholder="请选择民族"> -->
                            <el-select v-model="user.nation" placeholder="请选择">
                                <el-option v-for="item in nationOptions" :key="item.id" :label="item.name"
                                    :value="item.id">
                                </el-option>
                            </el-select>
                            <!-- <el-input v-model="user.nation"></el-input> -->
                        </el-form-item>
                        <!-- 籍贯 -->
                        <el-form-item label="籍贯:" prop="nativePlace">
@@ -140,7 +125,7 @@
            </div>
            <div class="user-form-footer">
                <el-button type="primary" @click="checkUser">确定</el-button>
                <el-button>返回</el-button>
                <el-button @click="userFlag = false">返回</el-button>
            </div>
        </div>
    </div>
@@ -154,48 +139,6 @@
        MyUpload
    },
    data() {
        const checkName = (rule, value, callback) => {
            if (value) {
                callback()
            } else {
                callback(new Error('承办队员名字不能为空'));
            }
        }
        const checkName2 = (rule, value, callback) => {
            if (value) {
                callback()
            } else {
                callback(new Error('协办队员名字不能为空'));
            }
        }
        const checkTime2 = (rule, value, callback) => {
            if (value) {
                callback()
            } else {
                callback(new Error('此处时间不能为空'));
            }
        }
        const checkAddress2 = (rule, value, callback) => {
            if (value) {
                callback()
            } else {
                callback(new Error('此处地址不能为空'));
            }
        }
        const checkCase = (rule, value, callback) => {
            if (value) {
                callback()
            } else {
                callback(new Error('案由不能空'));
            }
        }
        const checkDesc = (rule, value, callback) => {
            if (value) {
                callback()
            } else {
                callback(new Error('情况描述不能为空'));
            }
        }
        const checkPic = (rule, value, callback) => {
            if (value.length !== 0) {
                callback()
@@ -203,14 +146,7 @@
                callback(new Error('请上传照片附件'));
            }
        }
        const checkIll = (rule, value, callback) => {
            if (value) {
                callback()
            } else {
                callback(new Error('案件类型不能为空'));
            }
        }
        const checkName3 = (rule, value, callback) => {
        const checkUserName = (rule, value, callback) => {
            if (value) {
                validateName(value) ? callback() : callback(new Error('请输入正确的姓名'))
            } else {
@@ -238,55 +174,6 @@
                callback(new Error('证件号码不能为空'));
            }
        }
        const checkWh = (rule, value, callback) => {
            if (value) {
                callback()
            } else {
                callback(new Error('文化程度不能为空'));
            }
        }
        // const checkCareer = (rule, value, callback) => {
        //     if (value) {
        //         callback()
        //     } else {
        //         callback();
        //     }
        // }
        // const checkWork = (rule, value, callback) => {
        //     if (value) {
        //         callback()
        //     } else {
        //         callback(new Error('工作单位及职务不能为空'));
        //     }
        // }
        const checkNation = (rule, value, callback) => {
            if (value) {
                callback()
            } else {
                callback(new Error('民族不能为空'));
            }
        }
        // const checkNaP = (rule, value, callback) => {
        //     if (value) {
        //         callback()
        //     } else {
        //         callback(new Error('籍贯不能为空'));
        //     }
        // }
        const checkLiveAdd = (rule, value, callback) => {
            if (value) {
                callback()
            } else {
                callback(new Error('现住址不能为空'));
            }
        }
        // const checkRegAdd = (rule, value, callback) => {
        //     if (value) {
        //         callback()
        //     } else {
        //         callback(new Error('户籍所在地不能为空'));
        //     }
        // }
        const checkFlag = (rule, value, callback) => {
            if (value) {
                callback();
@@ -296,48 +183,24 @@
        }
        return {
            evidence: {
                undertaker: null,
                assistant: null,
                investigationTime: null,
                address: null,
                caseAction: null,
                description: null,
                pic: [],
                userInfo: '',
                userInfo: null
            },
            evidenceRules: {
                userInfo: [
                    { trigger: 'change', validator: checkFlag }
                ],
                undertaker: [
                    {
                        trigger: 'blur', validator: checkName
                    }
                ],
                assistant: [
                    {
                        trigger: 'blur', validator: checkName2
                    }
                ],
                investigationTime: [
                    {
                        trigger: 'change', validator: checkTime2
                    }
                ],
                address: [
                    {
                        trigger: 'blur', validator: checkAddress2
                    }
                ],
                caseAction: [
                    {
                        trigger: 'blur', validator: checkCase
                    }
                ],
                description: [
                    {
                        trigger: 'blur', validator: checkDesc
                    }
                ],
                pic: [
                    {
                        trigger: 'blur', validator: checkPic
                    }
                ],
                userInfo: [{ trigger: ['change', 'blur'], validator: checkFlag }],
                undertaker: [{ trigger: ['change', 'blur'], message: '承办队员名字不能为空', required: true }],
                assistant: [{ trigger: ['change', 'blur'], message: '协办队员名字不能为空', required: true }],
                investigationTime: [{ trigger: ['change', 'blur'], message: '此处时间不能为空', required: true }],
                address: [{ trigger: ['change', 'blur'], message: '此处地址不能为空', required: true }],
                caseAction: [{ trigger: ['change', 'blur'], message: '案由不能空', required: true }],
                description: [{ trigger: ['change', 'blur'], message: '情况描述不能为空', required: true }],
                pic: [{ trigger: ['change', 'blur'], validator: checkPic }],
            },
            fileList: [],
            user: {
@@ -355,66 +218,14 @@
                registerAddress: '',
            },
            userRules: {
                illegalType: [
                    {
                        trigger: 'change', validator: checkIll,
                    }
                ],
                name: [
                    {
                        required:true,trigger: 'blur', validator: checkName3
                    }
                ],
                phoneCode: [
                    {
                        required:true,trigger: 'blur', validator: checkPhone
                    }
                ],
                certificateType: [
                    {
                        trigger: 'change', validator: checkCard
                    }
                ],
                certificateCode: [
                    {
                        required:true,trigger: 'blur', validator: checkCode
                    }
                ],
                educationDegree: [
                    {
                        trigger: 'change', validator: checkWh
                    }
                ],
                // career: [
                //     {
                //         trigger: 'blur', validator: checkCareer
                //     }
                // ],
                // work: [
                //     {
                //         trigger: 'blur', validator: checkWork
                //     }
                // ],
                nation: [
                    {
                        trigger: 'change', validator: checkNation
                    }
                ],
                // nativePlace: [
                //     {
                //         trigger: 'blur', validator: checkNaP
                //     }
                // ],
                liveAddress: [
                    {
                        required:true,trigger: 'blur', validator: checkLiveAdd
                    }
                ],
                // registerAddress: [
                //     {
                //         trigger: 'blur', validator: checkRegAdd
                //     }
                // ],
                illegalType: [{ trigger: ['change', 'blur'], message: '案件类型不能为空', required: true }],
                name: [{ required: true,trigger: ['change', 'blur'], validator: checkUserName }],
                phoneCode: [{ required: true,trigger: ['change', 'blur'], validator: checkPhone }],
                certificateType: [{ trigger: ['change', 'blur'], validator: checkCard }],
                certificateCode: [{ required: true,trigger: ['change', 'blur'], validator: checkCode }],
                educationDegree: [{ required: true, trigger: ['change', 'blur'], message: '文化程度不能为空' }],
                nation: [{ required: true, trigger: ['change', 'blur'], message: '民族不能为空' }],
                liveAddress: [{ required: true, trigger: ['change', 'blur'], message: '现住址不能为空' }],
            },
            userFlag: false,
            typeOptions: [
@@ -456,34 +267,23 @@
                    value: 4
                },
            ],
            basecase:""
            basecase: null
        }
    },
    created() {
        this.getCardTypeList();
        this.getSchoolList();
        this.getNationList();
        console.log(this.mytype);
    async created() {
        await this.getCardTypeList();
        await this.getSchoolList();
        await this.getNationList();
        this.user.illegalType = JSON.parse(JSON.stringify(this.mytype));
        const {mycode}=this;
        this.getEventInfo(mycode)
        if (this.evienceData) {
          this.evidence = this.evienceData;
          this.evidence.pic = this.evidence.pic.split(',');
          this.user = this.evidence.partyInfo;
          this.evidence.investigationTime = this.evidence.createTime;
          this.evidence.userInfo = this.evidence.partyInfo.name;
        }
    },
    methods: {
           // 获取案件信息
           async getEventInfo(mycode) {
            await this.$axios({
                method: 'get',
                url: `sccg/base_case/baseCaseDetail/${mycode}`
            })
                .then(res => {
                    if(this.mytype == 1){
                        this.basecase = res.data.baseCase.violations.typeText;
                    }else{
                        this.basecase = res.data.baseCase.illegalBuilding.categoryText;
                    }
                    console.log(this.basecase)
                })
        },
        handleSuccess2(res, file, filelist) {
            const baseUrl = 'http://140.143.152.226:8410/';
            if (this.evidence.pic.length < 4) {
@@ -504,11 +304,8 @@
        },
        // 检验user
        checkUser() {
            // console.log(this.$refs.userForm.validate);
            this.$refs.userForm.validate((valid) => {
                console.log(valid);
                if (valid) {
                    this.evidence.userInfo = this.user.name;
                    this.userFlag = false;
                } else {
                    this.evidence.userInfo = false;
@@ -547,31 +344,14 @@
            if (this.evidence.pic.length < 4) {
                this.evidence.pic.push(baseUrl + url)
            }
            console.log(url);
        },
        //删除图片
        delPicUrl({url}){
            const baseUrl = 'http://140.143.152.226:8410/';
            console.log(url);
            this.evidence.pic.splice(this.evidence.pic.indexOf(baseUrl + url),1);
            console.log(this.evidence.pic);
        }
    },
    watch: {
        'evidence.pic.length': {
            handler(newLen, oldLen) {
                if (newLen !== 0) {
                    this.$refs.evidenceForm.validate((valid) => {
                        if (valid) {
                        } else { return false }
                    })
                }
            },
            deep: true,
        }
    },
    props:['mytype','mycode']
    props:['mytype','mycode', 'evienceData']
}
</script>
<style lang="scss" scoped>