JFormContainer.vue 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. <template>
  2. <div :class="disabled?'jeecg-form-container-disabled':''">
  3. <fieldset :disabled="disabled">
  4. <slot name="detail"></slot>
  5. </fieldset>
  6. <slot name="edit"></slot>
  7. <fieldset disabled>
  8. <slot></slot>
  9. </fieldset>
  10. </div>
  11. </template>
  12. <script>
  13. /**
  14. * 使用方法
  15. * 在form下直接写这个组件就行了,
  16. *<a-form layout="inline" :form="form" >
  17. * <j-form-container :disabled="true">
  18. * <!-- 表单内容省略..... -->
  19. * </j-form-container>
  20. *</a-form>
  21. */
  22. export default {
  23. name: 'JFormContainer',
  24. props:{
  25. disabled:{
  26. type:Boolean,
  27. default:false,
  28. required:false
  29. }
  30. },
  31. mounted(){
  32. console.log("我是表单禁用专用组件,但是我并不支持表单中iframe的内容禁用")
  33. }
  34. }
  35. </script>
  36. <style>
  37. .jeecg-form-container-disabled{
  38. cursor: not-allowed;
  39. }
  40. .jeecg-form-container-disabled fieldset[disabled] {
  41. -ms-pointer-events: none;
  42. pointer-events: none;
  43. }
  44. .jeecg-form-container-disabled .ant-select{
  45. -ms-pointer-events: none;
  46. pointer-events: none;
  47. }
  48. .jeecg-form-container-disabled .ant-upload-select{display:none}
  49. .jeecg-form-container-disabled .ant-upload-list{cursor:grabbing}
  50. .jeecg-form-container-disabled fieldset[disabled] .ant-upload-list{
  51. -ms-pointer-events: auto !important;
  52. pointer-events: auto !important;
  53. }
  54. .jeecg-form-container-disabled .ant-upload-list-item-actions .anticon-delete,
  55. .jeecg-form-container-disabled .ant-upload-list-item .anticon-close{
  56. display: none;
  57. }
  58. </style>