123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149 |
- <template>
- <a-modal
- title="新增机构"
- :width="900"
- :visible="visible"
- :confirmLoading="confirmLoading"
- @ok="handleSubmit"
- @cancel="handleCancel"
- >
- <a-spin :spinning="formLoading">
- <a-form :form="form">
- <a-form-item
- label="机构名称"
- :labelCol="labelCol"
- :wrapperCol="wrapperCol"
- has-feedback
- >
- <a-input placeholder="请输入机构名称" v-decorator="['name', {rules: [{required: true, message: '请输入机构名称!'}]}]" />
- </a-form-item>
- <a-form-item
- label="唯一编码"
- :labelCol="labelCol"
- :wrapperCol="wrapperCol"
- has-feedback
- >
- <a-input placeholder="请输入唯一编码" v-decorator="['code', {rules: [{required: true, message: '请输入唯一编码!'}]}]" />
- </a-form-item>
- <a-form-item
- label="上级机构"
- :labelCol="labelCol"
- :wrapperCol="wrapperCol"
- has-feedback
- >
- <a-tree-select
- v-decorator="['pid', {rules: [{ required: true, message: '请选择上级机构!' }]}]"
- style="width: 100%"
- :dropdownStyle="{ maxHeight: '300px', overflow: 'auto' }"
- :treeData="orgTree"
- placeholder="请选择上级机构"
- treeDefaultExpandAll
- >
- <span slot="title" slot-scope="{ id }">{{ id }}
- </span>
- </a-tree-select>
- </a-form-item>
- <a-form-item
- :labelCol="labelCol"
- :wrapperCol="wrapperCol"
- label="排序"
- >
- <a-input-number placeholder="请输入排序" style="width: 100%" v-decorator="['sort', { initialValue: 100 }]" :min="1" :max="1000" />
- </a-form-item>
- <a-form-item
- label="备注"
- :labelCol="labelCol"
- :wrapperCol="wrapperCol"
- has-feedback
- >
- <a-textarea :rows="4" placeholder="请输入备注" v-decorator="['remark']"></a-textarea>
- </a-form-item>
- </a-form>
- </a-spin>
- </a-modal>
- </template>
- <script>
- import { sysOrgAdd, getOrgTree } from '@/api/modular/system/orgManage'
- export default {
- data () {
- return {
- labelCol: {
- xs: { span: 24 },
- sm: { span: 5 }
- },
- wrapperCol: {
- xs: { span: 24 },
- sm: { span: 15 }
- },
- orgTree: [],
- visible: false,
- confirmLoading: false,
- formLoading: true,
- form: this.$form.createForm(this)
- }
- },
- methods: {
- // 初始化方法
- add () {
- this.visible = true
- this.getOrgTree()
- },
- /**
- * 获取机构树,并加载于表单中
- */
- getOrgTree () {
- getOrgTree().then((res) => {
- this.formLoading = false
- if (!res.success) {
- this.orgTree = []
- return
- }
- this.orgTree = [{
- 'id': '-1',
- 'parentId': '0',
- 'title': '顶级',
- 'value': '0',
- 'pid': '0',
- 'children': res.data
- }]
- })
- },
- handleSubmit () {
- const { form: { validateFields } } = this
- this.confirmLoading = true
- validateFields((errors, values) => {
- if (!errors) {
- sysOrgAdd(values).then((res) => {
- if (res.success) {
- this.$message.success('新增成功')
- this.visible = false
- this.confirmLoading = false
- this.$emit('ok', values)
- this.form.resetFields()
- } else {
- this.$message.error('新增失败:' + res.message)
- }
- }).finally((res) => {
- this.confirmLoading = false
- })
- } else {
- this.confirmLoading = false
- }
- })
- },
- handleCancel () {
- this.form.resetFields()
- this.visible = false
- }
- }
- }
- </script>
|