<template> <div class="common-page qyzz page-t1"> <div class="option page-row"> <table-filter ref="filter" :form="form" :Dict="Dict" :rules="rules" :config="form.config" :loadData="loadData" /> </div> <div class="panel-bottom page-row"> <div class="ctin-box"> <div class="content-within"> <div class="content-fix"> <div class="toolbar"> <div> <el-button v-for="(item, key) in form.config.otherBtn" size="mini" :type="item.type" :icon="item.icon" @click="item.callback.call(_self, $event)">{{item.name}}</el-button> </div> <div> <el-button v-for="(item, key) in form.config.rightBtn" size="mini" :type="item.type" :icon="item.icon" @click="item.callback.call(_self, $event)">{{item.name}}</el-button> </div> </div> <!-- 表格渲染 --> <cu-table ref="cuTable" :table="table" :Dict="Dict" :config="form.config" :loadData="loadData" /> </div> </div> </div> </div> <!-- 表单渲染 --> <cu-form ref="cuForm" :form="form" :Dict="Dict" :rules="rules" :submit="submitForm" :cancel="cancelForm" :watchKeys="['paperfilename']" /> </div> </template> <script> import { reqApi, Config } from '@/assets/js/httpApi.js'; import { Tools } from '@/assets/js/common.js'; import DateRangePicker from '@/components/DateRangePicker'; import TableFilter from '@/components/TableFilter'; import cuForm from '@/components/cuForm'; import cuTable from '@/components/cuTable'; export default { name: 'Dashboard', components: { DateRangePicker, TableFilter, cuForm, cuTable }, data() { return { Dict:{selectList:[]}, table:{ page: 1, size: 10, total: 0, loading: false, dataList:[], }, rules: {}, form: { title:'', visible:false, reqType:'add', historyDialog:false, status:{cu:0}, query:{}, search:{}, item:{}, file:0, config:{}, }, } }, created(){ // 获取基本信息 this.pageApi = Config.getModuleInfo(this); this.Dict = this.pageApi.Dict; this.form.config = this.pageApi.config; this.rules = reqApi.getRules(this.Dict.baseInfo) || (this.Dict.rules || {}); this.pageApi.created && this.pageApi.created(); }, mounted() { this.$nextTick(() => { this.loadData(); }); // 获取选择列表字典 var selectList = this.Dict.selectList; Tools.asyncLoop.call(this, selectList, function(key, value, next){ if(typeof value === 'function'){ value.call(this.Dict).then(function(res){ selectList[key] = res; next(); }) }else{next()}; }); }, methods: { loadData:reqApi.common.getRequst, cancelForm(){ this.form.visible = false; }, submitForm(form, item){ reqApi.common.submitForm.call(this, form, item); }, } } </script> <style rel="stylesheet/scss" lang="scss" scope> .qyzz{ } </style>