From 02fbad0abac2692f8df1fa67b88f8995ab27db19 Mon Sep 17 00:00:00 2001
From: zhanghua <314079846@qq.com>
Date: 星期三, 21 十二月 2022 14:17:03 +0800
Subject: [PATCH] 换皮肤
---
src/views/operate/baseSetting/violation/createUser/index.vue | 279 +++++++++++++++++++++++++++++++++++++++----------------
1 files changed, 196 insertions(+), 83 deletions(-)
diff --git a/src/views/operate/baseSetting/violation/createUser/index.vue b/src/views/operate/baseSetting/violation/createUser/index.vue
index c53e2d0..a3c7bdb 100644
--- a/src/views/operate/baseSetting/violation/createUser/index.vue
+++ b/src/views/operate/baseSetting/violation/createUser/index.vue
@@ -2,50 +2,34 @@
<div class="createUser">
<main>
<div class="mainContent">
- <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-input v-model="things.number" placeholder="璇峰~鍐欒繚瑙勪簨椤圭紪鍙�"></el-input>
- </el-form-item> -->
+ <el-form ref="user" :rules="createThings" 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">
+ <!-- 鐖剁骇id -->
+ <el-form-item class="optionItem" label="鐖剁骇:" prop="parentId">
+ <el-select v-model="things.parentId" placeholder="璇烽�夋嫨鎵�灞炵被鍨�" :disabled="things.level===1">
+ <el-option :value="mylabel">
+ <el-tree ref="tree" :check-strictly="true" :data="parentList" :props="defaultProps" show-checkbox
+ @check-change="handleCheck" default-expand-all node-key="id">
+ </el-tree>
</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">
- </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"
- :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="璇疯緭鍏ユ鐢辨弿杩板唴瀹�"></el-input>
+ <el-input type="textarea" :rows="2" v-model="things.type" placeholder="璇疯緭鍏ユ鐢辨弿杩板唴瀹�"
+ :disabled="things.level!==4"></el-input>
</el-form-item>
<el-form-item>
<div class="optionBtn">
@@ -61,104 +45,233 @@
<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: '',
- level:'',
+ name: '',
+ parentId: '',
+ level: '',
},
- createThings:{
- name:[
+ createThings: {
+ name: [
{
- required:true,trigger:'blur',validator:checkName
+ required: true, trigger: 'blur', validator: checkName
}
],
- level:[
+ level: [
{
- required:true,trigger:'change',validator:checkLevel
+ required: true, trigger: 'change', validator: checkLevel
}
- ]
+ ],
+ // parentId:[
+ // {
+ // required:true,trigger:'change',validator:checkId
+ // }
+ // ]
},
- roleList: [],
- typeThirdList:[],
- typeSecondList:[],
- // typeFirstList:[],
- eventLevelList:[]
+ levelList: [
+ {
+ label: "杩濊涓被鍨�",
+ value: 1,
+ },
+ {
+ label: "澶х被",
+ value: 2,
+ },
+ {
+ label: "灏忕被",
+ value: 3,
+ },
+ {
+ label: "妗堢敱",
+ value: 4,
+ },
+ ],
+ parentList: [],
+ selectOrg: {
+ orgsid: []
+ },
+ defaultProps: {
+ children: 'children',
+ label: 'name',
+ disabled:(data,node)=>{
+ if (data.level<this.things.level-1) {
+ return !data.leaf
+ }
+ }
+ },
+ mylabel:''
}
},
created() {
- // 鑾峰彇鎵�灞炵被鍨嬪垪琛�
- this.getTypeThird();
- this.getTypeSecond();
- // this.getTypeFirst();
- this.getEventLevel();
},
methods: {
// 鏌ヨ鎵�灞炵被鍨�
- getTypeThird() {
- this.$axios({
+ async getTypeThird() {
+ let arr = [];
+ await this.$axios({
method: 'get',
url: "sccg/violations/query/type_first",
})
.then(res => {
- this.typeThirdList = res.data;
+ arr = res.data;
+ // this.parentList = res.data;
})
+ return arr
},
// 鏌ヨ鎵�灞炲ぇ绫�
- getTypeSecond(){
- this.$axios({
+ async getTypeSecond() {
+ let arr = [];
+ await this.$axios({
method: 'get',
url: "sccg/violations/query/type_second",
})
.then(res => {
- this.typeSecondList = res.data;
+ arr = res.data;
+ // this.parentList = res.data;
})
+ return arr
},
// 鏌ヨ鎵�灞炲皬绫�
- // getTypeFirst(){
- // this.$axios({
- // method: 'get',
- // url: "sccg/violations/query/type_third",
- // })
- // .then(res => {
- // this.typeFirstList = res.data;
- // })
- // },
- // 鑾峰彇妗堜欢绛夌骇鍒楄〃
+ async getTypeFirst() {
+ let arr = [];
+ await this.$axios({
+ method: 'get',
+ url: "sccg/violations/query/type_third",
+ })
+ .then(res => {
+ arr = res.data;
+ // this.parentList = res.data;
+ })
+ return arr
+ },
+ // 鏌ヨ鎵�灞炴鐢�
getEventLevel() {
this.$axios({
method: 'get',
- url: 'sccg/violations/query/event_type'
+ url: 'sccg/violations/query/type_four'
})
.then(res => {
- console.log(res);
- this.eventLevelList = res.data;
+ this.parentList = res.data;
})
},
// 鎻愪氦鏂板杩濊绫诲瀷
- handleSubmit(){
+ handleSubmit() {
console.log(this.things);
- }
+ this.$refs.user.validate((valid) => {
+ console.log(valid);
+ if (valid) {
+ const { things, selectOrg} = this;
+ console.log(things,selectOrg.orgsid[0]);
+ this.$axios({
+ method: 'post',
+ url: 'sccg/violations/addition/type',
+ data: {
+ code: '1111',
+ level: things.level,
+ name: things.name,
+ parentId: things.parentId === '' ? 0 : selectOrg.orgsid[0],
+ typeCode: '01',
+ typeName: '闂绫诲瀷',
+ remark: things.type,
+ }
+ })
+ .then(res => {
+ if (res.code === 200) {
+ this.$message({
+ type: 'success',
+ message: '娣诲姞鎴愬姛'
+ })
+ this.$emit('changeDialog', { flag: false });
+ } else {
+ this.$message({
+ type: 'error',
+ message: "娣诲姞澶辫触"
+ })
+ }
+ })
+ } else {
+ return false;
+ }
+ })
+ },
+ // 妗堜欢绾у埆鍙樺寲
+ async resetParentList(index) {
+ this.things.parentId=''
+ this.selectOrg.orgsid = [];
+ if (index === 1) {
+ // this.getTypeThird();
+ } else if (index === 2) {
+ // console.log(this.getTypeThird());
+ this.parentList = await this.getTypeThird();
+ this.parentList.forEach(item=>{
+ item.children = [];
+ })
+ } else if (index === 3) {
+
+ this.parentList = this.addChildren(await this.getTypeThird(), await this.getTypeSecond());
+ console.log(this.parentList);
+ } else {
+ let arr1 = this.addChildren(await this.getTypeSecond(), await this.getTypeFirst());
+ this.parentList = this.addChildren(await this.getTypeThird(), arr1);
+ }
+ },
+ addChildren(parentArr, childArr) {
+ // console.log(parentArr.length,childArr);
+ parentArr.forEach(item => {
+ item.children = [];
+ childArr.forEach(child => {
+ if (item.id === child.parentId) {
+ item.children.push(child);
+ }
+ })
+ })
+ console.log(parentArr);
+ return parentArr;
+ },
+ handleCheck(data, checked) {
+ this.things.parentId = data.name;
+ console.log(this.selectOrg.orgsid);
+ // 鑾峰彇褰撳墠閫夋嫨鐨刬d鍦ㄦ暟缁勪腑鐨勭储寮�
+ const indexs = this.selectOrg.orgsid.indexOf(data.id)
+ // 濡傛灉涓嶅瓨鍦ㄦ暟缁勪腑锛屽苟涓旀暟缁勪腑宸茬粡鏈変竴涓猧d骞朵笖checked涓簍rue鐨勬椂鍊欙紝浠h〃涓嶈兘鍐嶆閫夋嫨銆�
+ if (indexs < 0 && this.selectOrg.orgsid.length === 1 && checked) {
+ this.$message({
+ message: '鍙兘閫夋嫨涓�涓尯鍩燂紒',
+ type: 'error',
+ showClose: true
+ })
+ // 璁剧疆宸查�夋嫨鐨勮妭鐐逛负false 寰堥噸瑕�
+ this.$refs.tree.setChecked(data, false)
+ } else if (this.selectOrg.orgsid.length === 0 && checked) {
+ // 鍙戠幇鏁扮粍涓虹┖ 骞朵笖鏄凡閫夋嫨
+ // 闃叉鏁扮粍鏈夊�硷紝棣栧厛娓呯┖锛屽啀push
+ this.selectOrg.orgsid = []
+ this.selectOrg.orgsid.push(data.id)
+ } else if (
+ indexs >= 0 &&
+ this.selectOrg.orgsid.length === 1 &&
+ !checked
+ ) {
+ // 鍐嶆鐩存帴杩涜璧嬪�间负绌烘搷浣�
+ this.selectOrg.orgsid = []
+ }
+ },
},
- props: ['getUserList']
+ props: ['changeDialog']
}
</script>
<style lang="scss" scoped>
--
Gitblit v1.8.0