田源
2023-06-15 859a64b36d107b147f44eccd0c0a76471c5e49ea
Source/UBCS-WEB/src/components/Crud/Crud.vue
@@ -6,19 +6,18 @@
          <FormTemplateDialog
            :visible.sync="addvisible"
            :type="add"
            :templateOid="this.templateOids"
            :codeClassifyOid="this.codeClassifyOids"
            :templateOid="templateOid"
            :codeClassifyOid="this.codeClassifyOid"
            :codeRuleOid="this.codeRuleOid"
            :disabledProp="disabledProp"
            :rowOid="rowOid"
          >
          </FormTemplateDialog></el-button>
        <el-button size="small" type="primary" plain @click="editvisible=true">编辑
          <FormTemplateDialog
            :visible.sync="editvisible"
            :type="edit"
            :templateOid="this.templateOids"
            :codeClassifyOid="this.codeClassifyOids"
            :templateOid="templateOid"
            :codeClassifyOid="this.codeClassifyOid"
            :codeRuleOid="this.codeRuleOid"
            :disabledProp="disabledProp"
            :rowOid="rowOid"
@@ -31,19 +30,20 @@
        <el-button size="small" type="primary" plain>删除</el-button>
        <el-button size="small" type="primary" plain>发布</el-button>
        <el-button size="small" type="primary" plain>数据更改</el-button>
        <el-button size="small" type="primary" plain>回收</el-button>
        <el-button size="small" type="primary" plain>导出
          <transfer filter-placeholder="请输入拼音全拼或者拼音缩写" ></transfer>
        <el-button size="small" type="primary" plain @click="huishouHandler">回收</el-button>
        <el-button size="small" type="primary" plain @click="openD">导出
          <integration-transfer :visible.sync="dialogPush" :data="transferData"
                                :props="transferProps" @save="handelTransferSave"></integration-transfer>
        </el-button>
        <el-button size="small" type="primary" plain @click="findvisible=true">查询
        <advancedQuery  :visible.sync="findvisible" :options="this.options"></advancedQuery>
        <advanced-query  :visible.sync="findvisible" :options="this.options"></advanced-query>
        </el-button>
        <el-button size="small" type="primary" plain>相似项查询</el-button>
        <el-button size="small" type="primary" plain style="margin-left: 1px;margin-top:10px">刷新</el-button>
        <el-input placeholder="请输入关键字按回车查询" style="width: 180px;margin-left: 5px;margin-top:10px" size="small"></el-input>
      </div>
      <el-row style="height: 700px;width: 100%">
        <el-table :data="tableData" style="" @cell-click="handleCellClick" max-height="700"  @selection-change="handleSelectionChange"  @sort-change="sortChange">
        <el-table :data="tableData" style="" @cell-click="handleCellClick" max-height="700"  v-loading="isLoading"  @selection-change="handleSelectionChange"  @sort-change="sortChange">
          <el-table-column
            type="selection"
            fixed
@@ -88,7 +88,13 @@
</template>
<script>
import {MasterTable, TableData} from "@/api/GetItem";
import {listCodeAttributeByClassId} from '@/api/integration/integration.js'
import integrationTransfer from '@/views/integration/integrationTransfer'
import pinyin from "js-pinyin";
export default {
  components: {
    integrationTransfer
  },
  name: "Crud.vue",
  props:{
    page:{
@@ -107,24 +113,39 @@
    },
    tableDataArray:{
      type:Array,
      default:[]
    },
    total:{
      type:String,
      default:""
    },
    templateOid:{
      type:String,
    },
    tableHeadDataFateher:{
      type:Array,
    },
    isLoading:{
      type:Boolean,
      default:false
    }
  },
  data() {
    return {
      transferData:[],
      transferProps: {
        key: 'oid',
        label: 'name'
      },
      templateOid:"",
      addvisible:false,
      editvisible:false,
      findvisible:false,
      templateOids: "78B8C7C5-A042-0B96-FE6D-65421451782A",
      codeClassifyOids: "4524E801-6CC6-92E8-1AC3-2AB9604E8F96",
      codeRuleOid: "B95872A6-9CEA-D490-8F1B-9D26548CAF96",
      dialogPush:false,
      rowOid: '6EF696C3-CD87-0E7C-1EA1-8DE3913A95C9',
      disabledProp: ["id"],
      editingRow:null,
      editShow: "",
      editAttr:"",
      loading: false,
      data: [],
      options:{},
      option: {
@@ -141,14 +162,14 @@
      tableData:[],
      tableHeadData:[],
      items:{},
      aaa:""
      seniorQueryColumns:[]
    }
  },
  computed:{
  },
  created() {
    this.CrudHeaderRend();
    this.$emit('tableData',this.tableData)
    // this.CrudHeaderRend();
    // this.tableHeadHandle()
  },
  mounted() {
@@ -167,11 +188,50 @@
    tableDataArray:{
      handler(newval,oldval){
        this.tableData=newval;
        this.CrudRend()
      //
      }
    },
    total:{
      handler(newval,oldval){
        this.page.total=newval;
      }
    },
    tableHeadDataFateher:{
      handler(newval,oldval){
        let List=newval.tableDefineVO.cols[0];
        List.forEach(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);
          this.option.column=this.tableHeadData;
        })
      }
    }
  },
  methods: {
    huishouHandler(){
      console.log('tem',this.templateOid)
      console.log('table',this.tableData)
      console.log('tabheadle',this.tableHeadData)
      console.log('tableFather',this.tableHeadDataFateher)
    },
    openD(){
      this.dialogPush=true;
      this.getListCodeByClassId()
    },
    async getListCodeByClassId() {
      this.transferData = []
      const response = await listCodeAttributeByClassId({ codeClassifyId: this.codeClassifyOid })
      if (response.status === 200) {
        const data = response.data.data
        this.transferData = data
      }
    },
    rend(){
      this.tableData=this.tableHeadData
    },
@@ -189,10 +249,10 @@
    handleCellClick(row, column) {
      this.editingRow = row;
      this.editShow = column.property;
      this.rowOid=row.oid
    },
    //删除
    enumDeleteRow(row) {
      console.log(row)
      this.tableData.splice(row, 1)
    },
    // 将正在编辑的行的状态变为 null ,即退出编辑状态
@@ -203,6 +263,21 @@
      this.$nextTick(() => {
        this.$refs.crud.doLayout();
      });
    },
    tableHeadHandle(){
      this.options=this.tableHeadDataFateher.tableDefineVO.seniorQueryColumns
      this.List = this.tableHeadDataFateher.tableDefineVO.cols[0];
      this.List.forEach(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);
        this.option.column=this.tableHeadData;
      })
    },
    //表格头渲染
    CrudHeaderRend() {
@@ -235,7 +310,7 @@
         templateOid: this.templateOid,
         codeClassifyOid: this.codeClassifyOid,
         page: this.page.currentPage,
         limit:this.page.pageSize,
         limit: this.page.pageSize,
       }).then(res => {
         this.page.total = res.data.total;
         this.data = res.data.data;
@@ -244,7 +319,7 @@
    },
    // 排序
    sortChange(val) {
      this.loading = true;
      this.isLoading = true;
      let order = ""
      if (val.order == "ascending") {
        order = "asc";
@@ -261,7 +336,7 @@
      }).then(res => {
        setTimeout(() => {
          this.data = res.data.data;
          this.loading = false;
          this.isLoading = false;
        }, 100);
      })
    },