“dzb”
2022-10-08 ccedc2e714c01d51f8eb986c6549ea701811f4bb
src/views/operate/baseSetting/illegalBuild/createUser/index.vue
@@ -2,35 +2,24 @@
    <div class="createUser">
        <main>
            <div class="mainContent">
                <el-form ref="user" :rules="createIll" label-width="140px" autoComplete="on" :model="things" label-position="right">
                    <!-- 违规事项编号 -->
                    <!-- <el-form-item class="optionItem" label="违规事项编号:" prop="number">
                        <el-input v-model="things.number" placeholder="请填写违规事项编号"></el-input>
                    </el-form-item> -->
                <el-form ref="user" :rules="createIll" label-width="140px" autoComplete="on" :model="things"
                    label-position="right">
                    <!-- 新增的类型或大类或小类 -->
                    <el-form-item class="optionItem" label="新增名称:" prop="name">
                        <el-input v-model="things.name" placeholder="请输入新增名称"></el-input>
                    </el-form-item>
                    <!-- 所属类型 -->
                    <el-form-item class="optionItems" label="所属类型:" prop="typeThird">
                        <el-select v-model="things.typeThird" placeholder="请选择所属类型" >
                            <el-option v-for="item in typeThirdList" :key="item.id" :label="item.name"
                                :value="item.id">
                    <!-- 请选择级别 -->
                    <el-form-item class="optionItem" label="级别:" prop="level">
                        <el-select v-model="things.level" placeholder="请选择所属类型" @change="resetParentList">
                            <el-option v-for="item in levelList" :key="item.value" :label="item.label"
                                :value="item.value">
                            </el-option>
                        </el-select>
                    </el-form-item>
                    <!-- 所属大类 -->
                    <el-form-item class="optionItem" label="所属大类:" prop="typeSecond">
                        <el-select v-model="things.typeSecond" placeholder="请选择所属类型" >
                            <el-option v-for="item in typeSecondList" :key="item.id" :label="item.name"
                                :value="item.id">
                            </el-option>
                        </el-select>
                    </el-form-item>
                    <!-- 请输入新增等级 -->
                    <el-form-item class="optionItem" label="案件等级:" prop="level">
                        <el-select v-model="things.level" placeholder="请选择所属类型" >
                            <el-option v-for="item in eventLevelList" :key="item.id" :label="item.name"
                                :value="item.id">
                    <!-- 父级id -->
                    <el-form-item class="optionItem" label="父级:" prop="parentId">
                        <el-select v-model="things.parentId" placeholder="请选择所属父级">
                            <el-option v-for="item in parentList" :key="item.id" :label="item.name" :value="item.id">
                            </el-option>
                        </el-select>
                    </el-form-item>
@@ -40,8 +29,7 @@
                    </el-form-item>
                    <el-form-item>
                        <div class="optionBtn">
                            <!-- @click.native.prevent="handleSubmit" -->
                            <el-button type="primary" class="btn submit" >确认
                            <el-button type="primary" class="btn submit" @click.native.prevent="handleSubmit">确认
                            </el-button>
                        </div>
                    </el-form-item>
@@ -54,51 +42,50 @@
<script>
export default {
    data() {
        const checkName = (rule,value,callback)=>{
            if(value){
        const checkName = (rule, value, callback) => {
            if (value) {
                callback();
            }else{
            } else {
                callback(new Error('新增违建类名不能为空'));
            }
        }
        const checkLevel = (rule,value,callback)=>{
            if(value){
        const checkLevel = (rule, value, callback) => {
            if (value) {
                callback();
            }else{
            } else {
                callback(new Error('新增违建等级不能为空'));
            }
        }
        return {
            things: {
                number: 0,
                type: '',
                name:'',
                typeFirst: '',
                typeSecond: '',
                typeThird: '',
                parentId:'',
                level:'',
            },
            roleList: [],
            typeThirdList:[],
            typeSecondList:[],
            eventLevelList:[],
            createIll:{
                name:[
                    { required:true,trigger:'blur',validator:checkName }
            parentList: [],
            createIll: {
                name: [
                    { required: true, trigger: 'blur', validator: checkName }
                ],
                level:[
                level: [
                    {
                        required:true,trigger:'change',validator:checkLevel
                        required: true, trigger: 'change', validator: checkLevel
                    }
                ]
            }
            },
            levelList: [
                {
                    label: "违建中类型",
                    value: 1,
                },
                {
                    label: "类别",
                    value: 2,
                },
            ],
        }
    },
    created() {
        // 获取所属类型列表
        this.getTypeThird();
        this.getTypeSecond();
        this.getEventLevel();
    },
    methods: {
        // 查询所属类型
@@ -108,32 +95,69 @@
                url: "sccg/illegal_building/query/type_first",
            })
                .then(res => {
                    this.typeThirdList = res.data;
                    this.parentList = res.data;
                })
        },
        // 查询所属大类
        getTypeSecond(){
        getTypeSecond() {
            this.$axios({
                method: 'get',
                url: "sccg/illegal_building/query/type_second",
            })
                .then(res => {
                    this.typeSecondList = res.data;
                    this.parentList = res.data;
                })
        },
        // 获取案件等级列表
        getEventLevel() {
            this.$axios({
                method: 'get',
                url: 'sccg/violations/query/event_type'
        // 提交新增违规类型
        handleSubmit() {
            console.log(this.things);
            this.$refs.user.validate((valid) => {
                console.log(valid);
                if (valid) {
                    const { things } = this;
                    this.$axios({
                        method: 'post',
                        url: 'sccg/illegal_building/addition/type',
                        data: {
                            code: '1111',
                            level: things.parentId === '' ? things.level : things.level + 1,
                            name: things.name,
                            parentId: things.parentId === '' ? 0 : things.parentId,
                            typeCode: '06',
                            typeName: '违建类型',
                            remark: things.type,
                        }
                    })
                        .then(res => {
                            console.log(res);
                            if (res.code === 200) {
                                this.$message({
                                    type: 'success',
                                    message: '添加成功'
                                })
                                this.$emit('changeDialog', { flag: false });
                            } else {
                                this.$message({
                                    type: 'error',
                                    message: "添加失败"
                                })
                            }
                        })
                } else {
                    return false;
                }
            })
                .then(res => {
                    console.log(res);
                    this.eventLevelList = res.data;
                })
        },
        // 案件级别变化
        resetParentList(index) {
            if (index === 1) {
                this.getTypeThird();
            }else {
                this.getTypeSecond();
            }
        }
    },
    props: ['getUserList']
    props: ['changeDialog']
}
</script>
<style lang="scss" scoped>