<template>
|
<win-sm :title="setting.title" @close="close">
|
<el-form ref="ruleForm" :model="formData" :rules="rules" class="demo-ruleForm" label-width="100px">
|
<el-form-item label="所属机构" prop="tenantIds">
|
<el-cascader
|
v-model="formData.tenantIds"
|
disabled
|
:options="treeList"
|
:props="{ checkStrictly: true,value: 'id' }"
|
style="width: 100%"
|
></el-cascader>
|
</el-form-item>
|
<el-form-item label="部门名称" prop="name">
|
<el-input v-model="formData.name" clearable maxlength="20" show-word-limit style="width: 100%" />
|
</el-form-item>
|
<el-form-item label="编号" prop="code">
|
<el-input v-model="formData.code" clearable maxlength="20" show-word-limit style="width: 100%" />
|
</el-form-item>
|
<el-form-item label="状态" prop="status">
|
<el-radio-group v-model="formData.status">
|
<el-radio :label="1">正常</el-radio>
|
<el-radio :label="0">禁用</el-radio>
|
</el-radio-group>
|
</el-form-item>
|
<el-form-item label="顺序" prop="orderNum">
|
<el-input-number v-model="formData.orderNum" controls-position="right" :min="0" />
|
</el-form-item>
|
<el-form-item label="备注" prop="summary">
|
<el-input
|
type="textarea"
|
v-model="formData.summary"
|
clearable
|
maxlength="20"
|
show-word-limit
|
style="width: 100%"
|
/>
|
</el-form-item>
|
</el-form>
|
<div slot="footer" align="center" class="dialog-footer">
|
<my-button name="取消" site="form" @click="close" />
|
<my-button name="保存" site="form" @click="save" />
|
</div>
|
</win-sm>
|
</template>
|
|
<script>
|
import {departmentAdd, departmentDetail, departmentEdit} from '@/api/system/deptment';
|
import winSm from '@/components/win/win-sm';
|
import myButton from '@/components/myButton/myButton';
|
import * as finsystenant from '@/api/baseSetting/finsystenant';
|
import {findParentIds} from '@/utils/index';
|
|
export default {
|
components: { winSm, myButton },
|
props: {
|
setting: {
|
type: Object,
|
default: () => {},
|
},
|
},
|
data() {
|
return {
|
treeList: [],
|
formData: {
|
tenantIds:[],
|
tenantId:'',
|
name:'',
|
code:'',
|
status:1,
|
orderNum:1
|
},
|
rules: {
|
name: [{ required: true, message: '请输入', trigger: 'blur' }],
|
code: [{ required: true, message: '请输入', trigger: 'blur' }],
|
},
|
};
|
},
|
created() {
|
console.log(this.setting)
|
if (this.setting.info) {
|
departmentDetail({id:this.setting.id}).then(res=>{
|
this.formData = res
|
})
|
} else {
|
this.formData.tenantId = this.setting.tenantId;
|
}
|
this.tree_List();
|
},
|
methods: {
|
tree_List() {
|
finsystenant.getTree().then((res) => {
|
if (res) {
|
this.treeList = res;
|
this.$set(this.formData, 'tenantIds', findParentIds(this.treeList, this.formData.tenantId));
|
console.log(this.formData)
|
}
|
});
|
},
|
close() {
|
this.$emit('close');
|
},
|
save() {
|
this.$refs.ruleForm.validate((valid) => {
|
if (valid) {
|
const params = Object.assign({}, this.formData);
|
if (this.setting.id) {
|
// 编辑接口
|
departmentEdit(params).then((res) => {
|
this.$message.success('保存成功!');
|
this.close();
|
this.$emit('search');
|
});
|
} else {
|
departmentAdd(params).then((res) => {
|
this.$message.success('保存成功!');
|
this.close();
|
this.$emit('search');
|
}).catch(err =>{
|
console.log(err)
|
this.$message.error(''+err.msg);
|
})
|
}
|
} else {
|
this.$message.error('校验未通过,请检查。');
|
}
|
});
|
},
|
},
|
};
|
</script>
|