From 6f1ac1da6b6cba5c74f2fb6be82f7e472c4116ee Mon Sep 17 00:00:00 2001 From: gaoshp <291585735@qq.com> Date: 星期一, 03 六月 2024 22:46:19 +0800 Subject: [PATCH] 班制日历 --- src/views/master/person/main/department.vue | 111 +++++++++++++++++++++---------------------------------- 1 files changed, 42 insertions(+), 69 deletions(-) diff --git a/src/views/master/person/main/department.vue b/src/views/master/person/main/department.vue index e259fce..17136bb 100644 --- a/src/views/master/person/main/department.vue +++ b/src/views/master/person/main/department.vue @@ -1,27 +1,27 @@ <template> <el-dialog :title="titleMap[mode]" v-model="visible" :width="800" destroy-on-close @closed="$emit('closed')"> - <el-form :model="form" :rules="rules" :disabled="mode=='show'" ref="dialogForm" label-width="120px" label-position="center"> + <el-form :model="depatmentForm" :rules="depatmentRules" :disabled="mode=='show'" ref="dialogForm" label-width="120px" label-position="center"> <el-row> <el-col :span="12"> - <el-form-item label="閮ㄩ棬鍚嶇О" prop="userName"> - <el-input v-model="form.userName" placeholder="閮ㄩ棬鍚嶇О" clearable></el-input> + <el-form-item label="閮ㄩ棬鍚嶇О" prop="name"> + <el-input v-model="depatmentForm.name" placeholder="閮ㄩ棬鍚嶇О" clearable></el-input> </el-form-item> </el-col> <el-col :span="12"> - <el-form-item label="涓婄骇閮ㄩ棬" prop="name"> - <el-input v-model="form.name" placeholder="涓婄骇閮ㄩ棬" clearable></el-input> + <el-form-item label="涓婄骇閮ㄩ棬" prop="parentId"> + <el-tree-select @change= "parentIdChange" v-model="depatmentForm.parentId" clearable placeholder="涓婄骇閮ㄩ棬" default-expand-all check-on-click-nod :data="departmentList" check-strictly :props="{ label: 'name' }" node-key="id" ref="parentTree" style="width: 240px" /> </el-form-item> </el-col> <el-col :span="12"> <el-form-item label="浣跨敤鐘舵��" prop="name"> - <el-switch v-model="value1" /> + <el-switch v-model="depatmentForm.status" /> </el-form-item> </el-col> </el-row> </el-form> <template #footer> <el-button @click="visible=false" >鍙� 娑�</el-button> - <el-button v-if="mode!='show'" type="primary" :loading="isSaveing" @click="submit()">淇� 瀛�</el-button> + <el-button v-if="mode!='show'" type="primary" :loading="isSaveing" @click="departmentSubmit()">淇� 瀛�</el-button> </template> </el-dialog> </template> @@ -31,6 +31,7 @@ emits: ['success', 'closed'], data() { return { + departmentList: [], value1: true, mode: "add", titleMap: { @@ -41,50 +42,17 @@ visible: false, isSaveing: false, //琛ㄥ崟鏁版嵁 - form: { - id:"", - userName: "", - avatar: "", + depatmentForm: { name: "", - dept: "", - group: [] + parentId: "", + groupCategory: 1, + groupType: "group_organization", + status: true }, //楠岃瘉瑙勫垯 - rules: { - avatar:[ - {required: true, message: '璇蜂笂浼犲ご鍍�'} - ], - userName: [ - {required: true, message: '璇疯緭鍏ョ櫥褰曡处鍙�'} - ], - name: [ - {required: true, message: '璇疯緭鍏ョ湡瀹炲鍚�'} - ], - password: [ - {required: true, message: '璇疯緭鍏ョ櫥褰曞瘑鐮�'}, - {validator: (rule, value, callback) => { - if (this.form.password2 !== '') { - this.$refs.dialogForm.validateField('password2'); - } - callback(); - }} - ], - password2: [ - {required: true, message: '璇峰啀娆¤緭鍏ュ瘑鐮�'}, - {validator: (rule, value, callback) => { - if (value !== this.form.password) { - callback(new Error('涓ゆ杈撳叆瀵嗙爜涓嶄竴鑷�!')); - }else{ - callback(); - } - }} - ], - dept: [ - {required: true, message: '璇烽�夋嫨鎵�灞為儴闂�'} - ], - group: [ - {required: true, message: '璇烽�夋嫨鎵�灞炶鑹�', trigger: 'change'} - ] + depatmentRules: { + name: [{required: true, message: '璇疯緭鍏ラ儴闂ㄥ悕绉�'}], + parentId: [{required: true, message: '璇烽�夋嫨涓婄骇閮ㄩ棬'}] }, //鎵�闇�鏁版嵁閫夐」 groups: [], @@ -101,10 +69,20 @@ } }, mounted() { - // this.getGroup() - // this.getDept() + this.getOrganizationList(); }, methods: { + getOrganizationList() { + this.$HTTP.get(`/api/blade-cps/organization/tree?groupType=group_organization&groupCategory=1`).then(res=> { + if(res.code == 200) { + this.departmentList = res.data; + } + }) + }, + parentIdChange(val) { + // var $parentId = this.$refs.parentTree.getCurrentNode().title; + // this.depatmentForm.$parentId = $parentId; + }, //鏄剧ず open(mode='add'){ this.mode = mode; @@ -121,19 +99,20 @@ this.depts = res.data; }, //琛ㄥ崟鎻愪氦鏂规硶 - submit(){ + departmentSubmit(){ + var obj = Object.assign({},this.depatmentForm); + obj.status = obj.status ? 1 : 0; this.$refs.dialogForm.validate(async (valid) => { if (valid) { - this.isSaveing = true; - var res = await this.$API.demo.post.post(this.form); - this.isSaveing = false; - if(res.code == 200){ - this.$emit('success', this.form, this.mode) - this.visible = false; - this.$message.success("鎿嶄綔鎴愬姛") - }else{ - this.$alert(res.message, "鎻愮ず", {type: 'error'}) - } + this.$HTTP.post("/api/blade-cps/group",obj).then(res=> { + if(res.code == 200) { + this.$emit('success', this.depatmentForm, this.mode); + this.visible = false; + this.$message.success("鎿嶄綔鎴愬姛"); + }else { + this.$alert(res.message, "鎻愮ず", {type: 'error'}); + } + }) }else{ return false; } @@ -141,15 +120,9 @@ }, //琛ㄥ崟娉ㄥ叆鏁版嵁 setData(data){ - this.form.id = data.id - this.form.userName = data.userName - this.form.avatar = data.avatar - this.form.name = data.name - this.form.group = data.group - this.form.dept = data.dept - + data.status = data.status=="1"? true:false; //鍙互鍜屼笂闈竴鏍峰崟涓敞鍏ワ紝涔熷彲浠ュ儚涓嬮潰涓�鏍风洿鎺ュ悎骞惰繘鍘� - //Object.assign(this.form, data) + Object.assign(this.depatmentForm, data) } } } -- Gitblit v1.9.3