Laservall_manager_system/VOL.WebApi/Template/Page/Vue3SearchPage.html

84 lines
3.2 KiB
HTML
Raw Normal View History

2025-09-25 14:37:10 +08:00
<!--
*Authorjxx
*Contact283591387@qq.com
*业务请在@/extension/#folder/#TableName.jsx或#TableName.vue文件编写
*新版本支持vue或【表.jsx]文件编写业务,文档见:https://v3.volcore.xyz/docs/view-grid、https://v3.volcore.xyz/docs/web
-->
<template>
<view-grid ref="grid"
:columns="columns"
:detail="detail"
:details="details"
:editFormFields="editFormFields"
:editFormOptions="editFormOptions"
:searchFormFields="searchFormFields"
:searchFormOptions="searchFormOptions"
:table="table"
:extend="extend"
:onInit="onInit"
:onInited="onInited"
:searchBefore="searchBefore"
:searchAfter="searchAfter"
:addBefore="addBefore"
:updateBefore="updateBefore"
:rowClick="rowClick"
:modelOpenBefore="modelOpenBefore"
:modelOpenAfter="modelOpenAfter">
<!-- 自定义组件数据槽扩展更多数据槽slot见文档 -->
<template #gridHeader>
</template>
</view-grid>
</template>
<script setup lang="jsx">
import extend from "@/extension/#folder/#TableName.jsx";
import viewOptions from './#TableName/options.js'
import { ref, reactive, getCurrentInstance, watch, onMounted } from "vue";
const grid = ref(null);
const { proxy } = getCurrentInstance()
//http请求proxy.http.post/get
const { table, editFormFields, editFormOptions, searchFormFields, searchFormOptions, columns, detail, details } = reactive(viewOptions())
let gridRef;//对应[表.jsx]文件中this.使用方式一样
//生成对象属性初始化
const onInit = async ($vm) => {
gridRef = $vm;
//与jsx中的this.xx使用一样只需将this.xx改为gridRef.xx
//更多属性见https://v3.volcore.xyz/docs/view-grid
}
//生成对象属性初始化后,操作明细表配置用到
const onInited = async () => {
}
const searchBefore = async (param) => {
//界面查询前,可以给param.wheres添加查询参数
//返回false则不会执行查询
return true;
}
const searchAfter = async (rows, result) => {
return true;
}
const addBefore = async (formData) => {
//新建保存前formData为对象包括明细表可以给给表单设置值自己输出看formData的值
return true;
}
const updateBefore = async (formData) => {
//编辑保存前formData为对象包括明细表、删除行的Id
return true;
}
const rowClick = ({ row, column, event }) => {
//查询界面点击行事件
// grid.value.toggleRowSelection(row); //单击行时选中当前行;
}
const modelOpenBefore = async (row) => {//弹出框打开后方法
return true;//返回false不会打开弹出框
}
const modelOpenAfter = (row) => {
//弹出框打开后方法,设置表单默认值,按钮操作等
}
//监听表单输入,做实时计算
//watch(() => editFormFields.字段,(newValue, oldValue) => { })
//对外暴露数据
defineExpose({})
</script>
<style lang="less" scoped>
</style>