DeptBaseInfo.vue 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. <template>
  2. <a-card :visible="visible">
  3. <a-form :form="form">
  4. <a-form-item
  5. :labelCol="labelCol"
  6. :wrapperCol="wrapperCol"
  7. label="机构名称">
  8. <a-input style="border:0px;" placeholder="" v-decorator="['departName', {}]"/>
  9. </a-form-item>
  10. <a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="上级部门">
  11. <a-tree-select
  12. disabled
  13. style="width:100%;border: 0px;border: none;outline:none;"
  14. :dropdownStyle="{maxHeight:'200px',overflow:'auto'}"
  15. :treeData="treeData"
  16. v-model="model.parentId"
  17. placeholder="无">
  18. </a-tree-select>
  19. </a-form-item>
  20. <a-form-item
  21. :labelCol="labelCol"
  22. :wrapperCol="wrapperCol"
  23. label="机构编码">
  24. <a-input style="border:0px;" placeholder="" v-decorator="['orgCode', {}]"/>
  25. </a-form-item>
  26. <a-form-item
  27. :labelCol="labelCol"
  28. :wrapperCol="wrapperCol"
  29. label="机构类型">
  30. <a-radio-group :disabled="true" v-decorator="['orgCategory',{}]" placeholder="请选择机构类型">
  31. <a-radio value="1">
  32. 公司
  33. </a-radio>
  34. <a-radio value="2">
  35. 部门
  36. </a-radio>
  37. <!-- <a-radio value="3">
  38. 岗位
  39. </a-radio> -->
  40. </a-radio-group>
  41. </a-form-item>
  42. <a-form-item
  43. :labelCol="labelCol"
  44. :wrapperCol="wrapperCol"
  45. label="排序">
  46. <a-input-number style="border:0px;" v-decorator="[ 'departOrder',{}]"/>
  47. </a-form-item>
  48. <a-form-item
  49. :labelCol="labelCol"
  50. :wrapperCol="wrapperCol"
  51. label="手机号">
  52. <a-input style="border:0px;" placeholder="" v-decorator="['mobile', {}]"/>
  53. </a-form-item>
  54. <a-form-item
  55. :labelCol="labelCol"
  56. :wrapperCol="wrapperCol"
  57. label="地址">
  58. <a-input style="border:0px;" placeholder="" v-decorator="['address', {}]"/>
  59. </a-form-item>
  60. <a-form-item
  61. :labelCol="labelCol"
  62. :wrapperCol="wrapperCol"
  63. label="备注">
  64. <a-textarea style="border:0px;" placeholder="" v-decorator="['memo', {}]"/>
  65. </a-form-item>
  66. </a-form>
  67. </a-card>
  68. </template>
  69. <script>
  70. import pick from 'lodash.pick'
  71. import {queryIdTree} from '@/api/api'
  72. export default {
  73. name: 'DeptBaseInfo',
  74. components: {},
  75. data() {
  76. return {
  77. departTree: [],
  78. id: '',
  79. model: {},
  80. visible: false,
  81. disable: true,
  82. treeData: [],
  83. form: this.$form.createForm(this),
  84. labelCol: {
  85. xs: {span: 24},
  86. sm: {span: 3}
  87. },
  88. wrapperCol: {
  89. xs: {span: 24},
  90. sm: {span: 16}
  91. },
  92. }
  93. },
  94. created() {
  95. this.loadTreeData();
  96. },
  97. methods: {
  98. loadTreeData() {
  99. queryIdTree().then((res) => {
  100. if (res.success) {
  101. for (let i = 0; i < res.result.length; i++) {
  102. let temp = res.result[i];
  103. this.treeData.push(temp);
  104. }
  105. }
  106. })
  107. },
  108. open(record) {
  109. this.form.resetFields();
  110. this.model = Object.assign({}, record);
  111. this.visible = true;
  112. console.log("record:");
  113. console.log(record);
  114. this.$nextTick(() => {
  115. this.form.setFieldsValue(pick(record, 'orgCategory','departName', 'parentId', 'orgCode', 'departOrder', 'mobile', 'fax', 'address', 'memo'));
  116. });
  117. },
  118. clearForm() {
  119. this.form.resetFields();
  120. this.treeData = [];
  121. },
  122. }
  123. }
  124. </script>
  125. <style scoped>
  126. @import '~@assets/less/common.less'
  127. </style>