index.js 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187
  1. export const defaultProps = {
  2. children: 'children',
  3. label: 'avmatCategoriesName'
  4. }
  5. /**
  6. *
  7. * @param {*} _this 当前vue 的实例
  8. * @returns 返回一个表格配置数组
  9. */
  10. export const modalConfig = (_this) => ({
  11. formItems: [
  12. { key: 'avmatCatalogName', type: 'input', label: '航材名称', colLayout: { span: 12 } },
  13. { key: 'avmatCatalogCode', type: 'input', label: '航材编码', colLayout: { span: 12 } },
  14. { key: 'avmatCategoriesName', type: 'input', label: '所属分类', colLayout: { span: 12 }, disabled: true },
  15. { key: 'specification', type: 'input', label: '规格型号', colLayout: { span: 12 } },
  16. { key: 'diagramNumber', type: 'input', label: '图号', colLayout: { span: 12 } },
  17. { key: 'unit', type: 'input', label: '计量单位', colLayout: { span: 12 } },
  18. { key: 'specialty', type: 'input', label: '专业', colLayout: { span: 12 } },
  19. { key: 'manufacturer', type: 'input', label: '生产厂家', colLayout: { span: 12 } },
  20. {
  21. key: 'isRepairable',
  22. type: 'radio',
  23. label: '是否可修',
  24. valueOptions: [
  25. { value: 0, label: '否' },
  26. { value: 1, label: '是' }
  27. ],
  28. colLayout: { span: 12 }
  29. },
  30. {
  31. key: 'isCompleteSet',
  32. type: 'radio',
  33. label: '是否成套',
  34. valueOptions: [
  35. { value: 0, label: '否' },
  36. { value: 1, label: '是' }
  37. ],
  38. colLayout: { span: 12 }
  39. },
  40. {
  41. key: 'isOrdered',
  42. type: 'radio',
  43. label: '是否有寿',
  44. valueOptions: [
  45. { value: 0, label: '否' },
  46. { value: 1, label: '是' }
  47. ],
  48. colLayout: { span: 12 }
  49. },
  50. {
  51. key: 'isImported',
  52. type: 'radio',
  53. label: '是否进口',
  54. valueOptions: [
  55. { value: 0, label: '否' },
  56. { value: 1, label: '是' }
  57. ],
  58. colLayout: { span: 12 }
  59. }
  60. ],
  61. rules: {
  62. avmatCatalogName: [{ required: true, message: '请输入航材名称', trigger: 'blur' }],
  63. avmatCatalogCode: [{ required: true, message: '请输入航材编码', trigger: 'blur' }],
  64. unit: [{ required: true, message: '请输入计量单位', trigger: 'blur' }],
  65. avmatCategoriesName: [{ required: true, message: '请选择所属分类', trigger: 'blur' }]
  66. },
  67. labelWidth: '80px',
  68. itemStyle: { padding: '10px' },
  69. width: '680px' // 弹框宽度
  70. })
  71. /**
  72. *
  73. * @param {*} _this 当前vue 的实例
  74. * @returns 返回一个表格配置数组
  75. */
  76. export const columns = (_this) => [
  77. {
  78. prop: 'avmatCatalogName',
  79. label: '航材名称',
  80. align: 'left'
  81. },
  82. {
  83. prop: 'avmatCatalogCode',
  84. label: '航材编码'
  85. },
  86. {
  87. prop: 'avmatCategoriesName',
  88. label: '所属分类'
  89. },
  90. {
  91. prop: 'specification',
  92. label: '规格型号'
  93. },
  94. {
  95. prop: 'diagramNumber',
  96. label: '图号'
  97. },
  98. {
  99. prop: 'unit',
  100. label: '计量单位'
  101. },
  102. {
  103. prop: 'manufacturer',
  104. label: '生产厂家'
  105. },
  106. {
  107. prop: 'isRepairable',
  108. label: '是否可修',
  109. render: (h, params) => {
  110. if (params.row.isRepairable == 1) {
  111. return h('span', { class: 'success-state' }, '是')
  112. } else {
  113. return h('span', { class: 'warning-state' }, '否')
  114. }
  115. }
  116. },
  117. {
  118. prop: 'isCompleteSet',
  119. label: '是否成套',
  120. render: (h, params) => {
  121. if (params.row.isCompleteSet == 1) {
  122. return h('span', { class: 'success-state' }, '是')
  123. } else {
  124. return h('span', { class: 'warning-state' }, '否')
  125. }
  126. }
  127. },
  128. {
  129. prop: 'isOrdered',
  130. label: '是否有寿',
  131. render: (h, params) => {
  132. if (params.row.isOrdered == 1) {
  133. return h('span', { class: 'success-state' }, '是')
  134. } else {
  135. return h('span', { class: 'warning-state' }, '否')
  136. }
  137. }
  138. },
  139. {
  140. prop: 'isImported',
  141. label: '是否进口',
  142. render: (h, params) => {
  143. if (params.row.isImported == 1) {
  144. return h('span', { class: 'success-state' }, '是')
  145. } else {
  146. return h('span', { class: 'warning-state' }, '否')
  147. }
  148. }
  149. },
  150. {
  151. prop: 'mappingCode',
  152. label: '映射编码'
  153. },
  154. {
  155. button: true,
  156. label: '操作',
  157. width: '100px',
  158. group: [
  159. {
  160. name: '编辑',
  161. type: 'text',
  162. round: false,
  163. plain: false,
  164. onClick: (row, index, scope) => {
  165. _this.handUpdate(row)
  166. }
  167. }
  168. ]
  169. }
  170. ]
  171. /**
  172. *
  173. * @returns 返回表格基础配置项
  174. */
  175. export const options = {
  176. rowKey: 'avmatCatalogCode',
  177. stripe: true, // 斑马纹
  178. mutiSelect: true, // 多选框
  179. index: true, // 显示序号, 多选则 mutiSelect
  180. loading: false, // 表格动画
  181. initTable: true, // 是否一挂载就加载数据
  182. border: true,
  183. height: 'calc(100vh - 300px)'
  184. }