remove-form.vue 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. <template>
  2. <el-form ref="form" label-width="80px" size="small" :label-position="labelPosition">
  3. <div>
  4. <div style="padding: 30px 0;font-weight: bold;">{{optMessage}}</div>
  5. </div>
  6. <div v-if="isOptMessage">
  7. <!-- 按钮 -->
  8. <el-form-item class="el-del-btn-item" v-if="!rowData['show']">
  9. <div class="btn-item-footer">
  10. <el-button type="info" size="small" icon="el-icon-close" @click="subClearBtn()">取消</el-button>
  11. <el-button type="primary" size="small" icon="el-icon-check" @click="submitEvent()">{{rowData._btn}}</el-button>
  12. </div>
  13. </el-form-item>
  14. </div>
  15. <div v-else>
  16. <!-- 按钮 -->
  17. <el-form-item class="el-del-btn-item" v-if="rowData._btn && rowData._btn.iShow">
  18. <div class="btn-item-footer">
  19. <el-button v-for="(btnItem, index) in rowData._btn.list" :key="index" :type="btnItem.bType"
  20. size="small"
  21. :icon="btnItem.icon" @click="btnClickEvent(btnItem)">{{btnItem.label}}
  22. </el-button>
  23. </div>
  24. </el-form-item>
  25. </div>
  26. </el-form>
  27. </template>
  28. <script>
  29. import { otherDialogEvent, submitRemoveEvent } from './tool-form';
  30. export default {
  31. name: 'NtRemoveForm',
  32. props: {
  33. rowData: {
  34. type: Object,
  35. required: true
  36. },
  37. axios: {
  38. type: Object,
  39. default: function () { return {}; }
  40. },
  41. queryURL: {
  42. type: Object,
  43. default: function () { return {}; }
  44. },
  45. responseSuccess: {
  46. type: Object,
  47. default: function() { return {}; }
  48. },
  49. labelPosition: {
  50. type: String,
  51. default: 'left'
  52. },
  53. options: {
  54. type: Object,
  55. default: () => {}
  56. }
  57. },
  58. data() {
  59. return {
  60. publicParams: {},
  61. isOptMessage: this.rowData._optType === 'del' ? true : false,
  62. optMessage: this.rowData._optMessage
  63. };
  64. },
  65. watch: {},
  66. created: function() {
  67. this.publicParams = (this.options && this.options.publicParams) ? this.options.publicParams : {}
  68. },
  69. methods: {
  70. subClearBtn(){
  71. this.isOptMessage = this.rowData._optType === 'del' ? true : false;
  72. this.$emit('clear', 'del');
  73. },
  74. submitEvent(){
  75. submitRemoveEvent(this);
  76. },
  77. btnClickEvent(item) {
  78. switch (item.type) {
  79. case 'close':
  80. this.subClearBtn();
  81. break;
  82. case 'submit':
  83. submitRemoveEvent(this);
  84. break;
  85. default:
  86. otherDialogEvent(this, item);
  87. }
  88. }
  89. }
  90. };
  91. </script>