Commit ff0bd3bf262bc9f5df2c904febfdbde53803515d

Authored by 陈威
1 parent 5cffb57c
Exists in master

组件按钮

frontend/front/src/components/tableSlot/test/Test.vue 0 → 100644
... ... @@ -0,0 +1,42 @@
  1 +<template>
  2 + <el-button @click="onClick">{{desc || '-'}}</el-button>
  3 +</template>
  4 +<script>
  5 +
  6 +export default {
  7 + props: {
  8 + row: {
  9 + type: Object
  10 + },
  11 + column: {
  12 + type: Object
  13 + },
  14 + index: {
  15 + type: String
  16 + },
  17 + desc: {
  18 + type: String
  19 + }
  20 + },
  21 +
  22 + data: () => ({
  23 +
  24 + }),
  25 +
  26 + created() {
  27 +
  28 + },
  29 + methods: {
  30 + onClick(){
  31 + console.log('row',this.row);
  32 + console.log('column',this.column);
  33 + console.log('index',this.index);
  34 + console.log('desc',this.desc);
  35 + }
  36 + }
  37 +}
  38 +</script>
  39 +
  40 +<style scoped lang='scss'>
  41 +
  42 +</style>
... ...
frontend/front/src/main.js
... ... @@ -12,6 +12,7 @@ import &#39;moment/locale/zh-cn&#39;
12 12 import '@/assets/iconfont/iconfont.css'
13 13 import htProcessForecast from '@/views/matter/processForecast/processForecastPage.vue'
14 14 import HtKanban from '@/components/layouts/HtKanban/index.vue'
  15 +import './plugs/tableSlot'
15 16  
16 17 Vue.component('HtProcessForecast', htProcessForecast)
17 18 Vue.component('HtKanban', HtKanban)
... ...
frontend/front/src/plugs/tableSlot.js 0 → 100644
... ... @@ -0,0 +1,30 @@
  1 +import Vue from 'vue'
  2 +import upperFirst from 'lodash/upperFirst'
  3 +import camelCase from 'lodash/camelCase'
  4 +
  5 +function setComponent(requireComponent) {
  6 + requireComponent.keys().forEach(fileName => {
  7 + console.log('----------------->fileName',fileName);
  8 + const componentConfig = requireComponent(fileName)
  9 +
  10 + const componentName = upperFirst(
  11 + camelCase(fileName.replace(/^\.\//, '').replace(/\.\w+$/, '')),
  12 + )
  13 + console.log('----------------->componentName',componentName);
  14 + const name = `${componentName}`
  15 + Vue.component(name, componentConfig.default || componentConfig)
  16 + console.log(name)
  17 + })
  18 +}
  19 +
  20 +
  21 +// 第一个参数表示检索的目录
  22 +// 第二个参数表示是否检索子文件夹
  23 +// 第三个参数匹配文件的正则表达式,一般是文件名
  24 +const requireComponent = require.context(
  25 + '@/components/tableSlot',true, /\.vue$/,
  26 +)
  27 +
  28 +setComponent(requireComponent)
  29 +
  30 +
... ...