田源
2023-05-26 beed32d5c297b07a261ed8c89bcc98503a8896dc
动态表格组件
已修改3个文件
已添加1个文件
111 ■■■■■ 文件已修改
Source/UBCS-WEB/src/api/GetItem.js 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/components/Crud/Crud.vue 85 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/components/FormTemplate/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/vue.config.js 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/api/GetItem.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,21 @@
import request from "@/router/axios";
export const MasterTable =(params)=>{
  return request({
    url: 'api/ubcs-code/ubcs-code//mdmEngineController/getUIInfoByClassifyOid',
    method: 'get',
    params:{
      ...params
    }
  })
}
export const TableData =(params)=>{
  return request({
    url: 'api/ubcs-code/ubcs-code//mdmEngineController/gridTableDataByClassifyOid',
    method: 'get',
    params:{
      ...params
    }
  })
}
Source/UBCS-WEB/src/components/Crud/Crud.vue
@@ -1,15 +1,94 @@
<template>
  <avue-crud :data="data" ></avue-crud>
<basic-container style="height: 750px">
  <avue-crud ref="crud" :data="data" :option="option" style="height: 750px" @sort-change="sortChange"></avue-crud>
</basic-container>
</template>
<script>
import { MasterTable,TableData } from "@/api/GetItem";
export default {
  name: "Crud.vue",
  data(){
    return{
      data:[],
      option:{}
      data:[
        {
          zhiliangbz:"111",
        },
        {
          xinghaoguige:"1121",
        },
      ],
      option:{
        //默认高度,
        align:'center',
        menuAlign:'center',
        column:[]
      },
      List:[],
      columnType: {
        text: "input",
        combox: "select",
        truefalse: "switch",
        number: "number",
        datetime: "datetime",
      },
    }
  },
  created() {
   this.CrudHeaderRend();
   this.CrudRend()
  },
  activated() {
    this.doLayout()
  },
  methods:{
    doLayout() {
      this.$nextTick(() => {
        this.$refs.crud.doLayout();
      });
    },
    CrudHeaderRend(){
      MasterTable({codeClassifyOid:"D9CF223F-317D-71EB-BD11-433A94CAD9F3",functionId: 5,_: 1685067339479}).then(res=>{
        this.List=res.data.tableDefineVO.cols[0];
        this.List.forEach(item=>{
          console.log(item)
          let columnItem={
            label:item.title,
            prop:item.field,
            type:this.columnType[item.type],
            sortable:item.sort,
            width:item.minWidth
          };
          this.option.column.push(columnItem);
        })
      })
    },
    CrudRend(){
      TableData({templateOid: "A12826E4-2B66-6D56-DE30-92BB1D7F607F",
        codeClassifyOid: "D9CF223F-317D-71EB-BD11-433A94CAD9F3",
        page: 1,
        limit: 9,
        _: 1685089123575
      }).then(res=>{
        console.log(res)
        this.data=res.data.data
      })
    },
    // æŽ’序
    sortChange(val){
      console.log(val)
      // TableData(  {
      //   templateOid: "A12826E4-2B66-6D56-DE30-92BB1D7F607F",
      //   codeClassifyOid: "D9CF223F-317D-71EB-BD11-433A94CAD9F3",
      //   order:"desc",
      //   sort:val.prop
      // }).then(res=>{
      //   console.log(res.data.data)
      //   this.data=res.data.data
      // })
    },
  }
}
</script>
Source/UBCS-WEB/src/components/FormTemplate/index.vue
@@ -9,7 +9,7 @@
    append-to-body
  >
    <avue-form :option="option" v-loading="loading" ref="form">
      <template :slot="item.prop + 'Label'" v-for="item in option.column"">
      <template :slot="item.prop + 'Label'" v-for="item in option.column">
        <div>
          <span>{{ item.label }}</span>
          <el-tooltip
Source/UBCS-WEB/vue.config.js
@@ -28,7 +28,8 @@
        //本地服务接口地址
        // target: 'http://localhost:37000',
        //target: 'http://192.168.3.7:37000',
        target: 'http://dev.vci-tech.com:37000',
        // target: 'http://dev.vci-tech.com:37000',
        target: 'http://192.168.1.51:37000/',
        //远程演示服务地址,可用于直接启动项目
        // target: 'https://saber.bladex.vip/api',
        ws: true,