父子表 --vue 点击按钮弹出弹窗

1.效果图

按钮效果 --父表

点击按钮之后的 -- 子表

2.代码部分

1.父表

<template>
  <basic-containers>
    <el-row :gutter="20">
      <el-col :span="6">
        <el-button icon="el-icon-tickets" @click="onOpenUseRecord" >使用记录</el-button>
      </el-col>
      <el-col :span="6">
        <el-button icon="el-icon-tickets" @click="onOpenmaintainRecord" >维修记录</el-button>
      </el-col>
      <el-col :span="6">
        <el-button icon="el-icon-tickets" @click="onOpenscrapRecord" >报废记录</el-button>
      </el-col>
      <el-col :span="6">
        <el-button icon="el-icon-tickets" @click="onOpenfaultRecord" >故障记录</el-button>
      </el-col>

    </el-row>
    <use-record ref="useRecordRefs"></use-record>
    <scrap-record ref="scrapRecordRefs"></scrap-record>
    <fault-record ref="faultRecordRefs"></fault-record>
    <maintain-record ref="maintainRecordRefs"></maintain-record>
  </basic-containers>
</template>
<script>
import useRecord from "@/views/test/dialog/useRecord";
import scrapRecord from "@/views/test/dialog/scrapRecord";
import maintainRecord from "@/views/test/dialog/maintainRecord";
import faultRecord from "@/views/test/dialog/faultRecord";
export default {
  name:'DemoIndex',
  components:{
    useRecord,
    scrapRecord,
    maintainRecord,
    faultRecord,
  },
  data() {
    return {};
  },
  methods:{
    onOpenUseRecord(){
      this.$refs.useRecordRefs.openDialog('add');
    },
    onOpenscrapRecord(){
      this.$refs.scrapRecordRefs.openDialog('add');
    },
    onOpenmaintainRecord(){
      this.$refs.maintainRecordRefs.openDialog();
    },
    onOpenfaultRecord(){
      this.$refs.faultRecordRefs.openDialog('add');
    }
  }
};
</script>

2.子表

<template>
  <basic-dialog
      :visible.sync="dialog.showDialog"
      :title="dialog.title"
      width="40%"
      :submit-txt="dialog.submitTxt"
      :loading="dialog.loading"
      append-to-body
      @cancel="cancleDialog"
      @submit="submitDialog"
  >
    <!-- 内容   -->
    <avue-form v-model="form" :option="option"></avue-form>
  </basic-dialog>
</template>
<script>
export default {
  name: "useRecord",
  data() {
    return {
      dialog:{
        showDialog:false,
        title:"使用记录",
        submitTxt:"提交",
        loading:false,
      },
      form:{},
      option:{
        emptyBtn:false,
        submitBtn:false,
        column:[
           {
          label: "型号",
          prop: "modelName",

  },
    {
          label: "产品名称",
          prop: "productName",

    },
    {
      label: "产品编号",
          prop: "productCode",
      rules: [{ required: true, message: "产品编号不能为空" }],

    },
    {
      label: "规程编号",
          prop: "specificationCode",
    },
    {
      label: "规程名称",
          prop: "specificationName",
    },
    {
      label: "规程版本",
          prop: "specificationRev",
    },  {
      label: "工步号",
          prop: "processCode",
    },  {
      label: "工步名称",
          prop: "processName",
    },  {
      label: "使用人",
          prop: "borrowUserName",
    },  {
      label: "使用时间",
          prop: "borrowDateTime",
            type: "date",

          }
        ]
      }
    };
  },
  methods:{
    //打开弹窗
    openDialog(event){
      console.log(event);
      this.dialog.showDialog   = true;
    },
    //关闭弹窗
    cancleDialog(){
      this.dialog.showDialog = false;
    },
    submitDialog(){
      //自定义逻辑
    }
  }
};

</script>

<style scoped>

</style>

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实现uni-app的tabbar点击弹出子菜单,可以采用以下方式: 1. 首先在tabbar中添加一个按钮或者图标,用来触发弹出菜单。 2. 在按钮或者图标的点击事件中,弹出一个自定义组件,用来展示子菜单内容。 3. 在子菜单组件中,通过绝对定位或者fixed定位来实现子菜单的展示。可以使用uni-app提供的组件如popup来实现。 4. 在子菜单组件中,定义好需要展示的子菜单选项,并且绑定对应的点击事件。 5. 在子菜单选项的点击事件中,可以执行对应的操作,比如跳转到相应的页面等。 下面是一个示例代码: ``` // Tabbar.vue <template> <view> <view>首页</view> <view>分类</view> <view>购物车</view> <view>我的</view> <view @click="showSubMenu">更多</view> <sub-menu v-show="showSubMenuFlag"></sub-menu> </view> </template> <script> import SubMenu from '@/components/SubMenu.vue' export default { components: { SubMenu }, data() { return { showSubMenuFlag: false } }, methods: { showSubMenu() { this.showSubMenuFlag = true } } } </script> // SubMenu.vue <template> <view class="sub-menu"> <view @click="gotoPage('message')">消息</view> <view @click="gotoPage('setting')">设置</view> <view @click="gotoPage('help')">帮助中心</view> </view> </template> <script> export default { methods: { gotoPage(page) { // 跳转到对应的页面 uni.navigateTo({ url: '/' + page }) } } } </script> <style> .sub-menu { position: fixed; top: 50px; left: 0; width: 100%; background-color: #fff; z-index: 999; } .sub-menu view { padding: 10px; font-size: 16px; color: #000; border-bottom: 1px solid #ddd; } </style> ``` 以上代码实现了一个简单的tabbar点击弹出子菜单的功能。点击tabbar中的“更多”按钮,就会弹出一个子菜单,展示“消息”、“设置”、“帮助中心”等选项,点击对应选项可以跳转到相应的页面。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值