From ccedc2e714c01d51f8eb986c6549ea701811f4bb Mon Sep 17 00:00:00 2001
From: “dzb” <2632970487@qq.com>
Date: 星期六, 08 十月 2022 18:07:44 +0800
Subject: [PATCH] 新增运营管理中基础设置的违规违建类型添加,添加一些取消按钮的实现

---
 src/views/operate/baseSetting/violation/createUser/index.vue |  210 ++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 147 insertions(+), 63 deletions(-)

diff --git a/src/views/operate/baseSetting/violation/createUser/index.vue b/src/views/operate/baseSetting/violation/createUser/index.vue
index b609337..fa9d67c 100644
--- a/src/views/operate/baseSetting/violation/createUser/index.vue
+++ b/src/views/operate/baseSetting/violation/createUser/index.vue
@@ -2,48 +2,42 @@
     <div class="createUser">
         <main>
             <div class="mainContent">
-                <el-form ref="user" label-width="140px" autoComplete="on" :model="things" label-position="right">
+                <el-form ref="user" :rules="createThings" label-width="140px" autoComplete="on" :model="things" label-position="right">
                     <!-- 杩濊浜嬮」缂栧彿 -->
-                    <el-form-item class="optionItem" label="杩濊浜嬮」缂栧彿:" prop="number">
+                    <!-- <el-form-item class="optionItem" label="杩濊浜嬮」缂栧彿:" prop="number">
                         <el-input v-model="things.number" placeholder="璇峰~鍐欒繚瑙勪簨椤圭紪鍙�"></el-input>
+                    </el-form-item>  -->
+                    <!-- 鏂板鐨勭被鍨嬫垨澶х被鎴栧皬绫� -->
+                    <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="typeFirst">
-                        <el-select v-model="things.typeFirst" placeholder="璇烽�夋嫨鎵�灞炵被鍨�" disabled>
-                            <el-option v-for="item in typeFirstList" :key="item.id" :label="item.name"
+                    <!-- 鐖剁骇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>
                     <!-- 妗堢敱 -->
                     <el-form-item class="optionItem" label="妗堢敱:" prop="type">
-                        <el-input type="textarea" autosize v-model="things.type" placeholder="璇疯緭鍏ユ鐢辨弿杩板唴瀹�"
-                            :disabled="!updateFlag" disabled></el-input>
+                        <el-input type="textarea" autosize v-model="things.type" placeholder="璇疯緭鍏ユ鐢辨弿杩板唴瀹�"></el-input>
                     </el-form-item>
-                    <el-form-item v-if="updateFlag">
+                    <el-form-item>
                         <div class="optionBtn">
-                            <el-button type="primary" class="btn submit" @click.native.prevent="handleUser">纭
+                            <el-button type="primary" class="btn submit" @click.native.prevent="handleSubmit">纭
                             </el-button>
                         </div>
                     </el-form-item>
                 </el-form>
-
             </div>
         </main>
     </div>
@@ -51,49 +45,74 @@
 <script>
 export default {
     data() {
+        const checkName = (rule,value,callback)=>{
+            if(value){
+                callback();
+            }else{
+                callback(new Error('鏂板杩濊绫诲瀷涓嶈兘涓虹┖'));
+            }
+        }
+        const checkLevel = (rule,value,callback)=>{
+            if(value){
+                callback();
+            }else{
+                callback(new Error('鏂板杩濊绛夌骇涓嶈兘涓虹┖'));
+            }
+        }
+        // const checkId = (rule,value,callback)=>{
+        //     if(value){
+        //         callback();
+        //     }else{
+        //         callback(new Error('鏂板杩濊绛夌骇涓嶈兘涓虹┖'));
+        //     }
+        // }
         return {
             things: {
-                number: 0,
-                type: '',
-                typeFirst: '',
-                typeSecond: '',
-                typeThird: '',
+                name:'',
+                parentId:'',
+                level:'',
             },
-            roleList: [],
-            typeThirdList:[],
-            typeSecondList:[],
-            typeFirstList:[],
+            createThings:{
+                name:[
+                    {
+                        required:true,trigger:'blur',validator:checkName
+                    }
+                ],
+                level:[
+                    {
+                        required:true,trigger:'change',validator:checkLevel
+                    }
+                ],
+                // parentId:[
+                //     {
+                //         required:true,trigger:'change',validator:checkId
+                //     }
+                // ]
+            },
+            levelList:[
+                {
+                    label:"杩濊涓被鍨�",
+                    value:1,
+                },
+                {
+                    label:"澶х被",
+                    value:2,
+                },
+                {
+                    label:"灏忕被",
+                    value:3,
+                },
+                {
+                    label:"妗堢敱",
+                    value:4,
+                },
+            ],
+            parentList:[],
         }
     },
     created() {
-        console.log(this.userInfo);
-        this.things = JSON.parse(JSON.stringify(this.userInfo));
-        // 鑾峰彇鎵�灞炵被鍨嬪垪琛�
-        this.getTypeThird();
-        this.getTypeSecond();
-        this.getTypeFirst();
     },
     methods: {
-        // handleUser() {
-        //     this.$refs.user.validate((valid) => {
-        //         if (valid) {
-        //             const { role } = this;
-        //             console.log(role);
-        //             this.$axios.post('/sccg/role/update/' + role.id, {
-        //                 id: role.id,
-        //                 status: role.status,
-        //                 description: role.description,
-        //                 name: role.name,
-        //                 sort: 0
-        //             }).then(res => {
-        //                 this.$emit('changeDialog', { dialogUpdate: false });
-        //                 this.getUserList();
-        //             })
-        //         } else {
-        //             return false;
-        //         }
-        //     })
-        // },
         // 鏌ヨ鎵�灞炵被鍨�
         getTypeThird() {
             this.$axios({
@@ -101,7 +120,7 @@
                 url: "sccg/violations/query/type_first",
             })
                 .then(res => {
-                    this.typeThirdList = res.data;
+                    this.parentList = res.data;
                 })
         },
         // 鏌ヨ鎵�灞炲ぇ绫�
@@ -111,7 +130,7 @@
                 url: "sccg/violations/query/type_second",
             })
                 .then(res => {
-                    this.typeSecondList = res.data;
+                    this.parentList = res.data;
                 })
         },
         // 鏌ヨ鎵�灞炲皬绫�
@@ -121,11 +140,74 @@
                 url: "sccg/violations/query/type_third",
             })
                 .then(res => {
-                    this.typeFirstList = res.data;
+                    this.parentList = res.data;
                 })
+        },
+        // 鏌ヨ鎵�灞炴鐢�
+        getEventLevel() {
+            this.$axios({
+                method: 'get',
+                url: 'sccg/violations/query/type_four'
+            })
+                .then(res => {
+                    console.log(res);
+                    this.parentList = res.data;
+                }) 
+        },
+        // 鎻愪氦鏂板杩濊绫诲瀷
+        handleSubmit(){
+            console.log(this.things);
+            this.$refs.user.validate((valid)=>{
+                console.log(valid);
+                if(valid){
+                    const {things} = this;
+                    this.$axios({
+                        method:'post',
+                        url:'sccg/violations/addition/type',
+                        data:{
+                            code:'1111',
+                            level:things.parentId === '' ? things.level : things.level+1,
+                            name:things.name,
+                            parentId:things.parentId=== '' ? 0 : things.parentId,
+                            typeCode:'01',
+                            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;
+                }
+            })
+        },
+        // 妗堜欢绾у埆鍙樺寲
+        resetParentList(index){
+            if(index === 1){
+                this.getTypeThird();
+            }else if(index === 2){
+                this.getTypeSecond();
+            }else if(index === 3){
+                this.getTypeFirst();
+            }else{
+                this.getEventLevel();
+            }
         }
     },
-    props: ['getUserList']
+    props: ['changeDialog']
 }
 </script>
 <style lang="scss" scoped>
@@ -181,6 +263,7 @@
     &::v-deep .el-textarea__inner {
         background-color: #09152f;
         border: 1px solid #17324c;
+        font-size: 10px;
     }
 
     ::v-deep .el-form-item__label {
@@ -190,6 +273,7 @@
     ::v-deep .el-input__inner {
         background-color: #09152f;
         border: 1px solid #17324c;
+        font-size: 10px;
     }
 }
 </style>
\ No newline at end of file

--
Gitblit v1.8.0