表单开发时,需登录 需登录,鉴权有问题

M
maweiyuan

实测添加的新用户,如果表单是需登录的,那分配角色有这个菜单之后,可以正常显示
如果吧表单改成 需登录鉴权的,直接会报错,系统开小差了,这两个有什么区别?菜单都正常分配了,还有什么隐藏玩法image.png

回答14

maweiyuan
//初始化控件
useFun.controlInit('FormView', 'formView_533301', {
formId: '1887328943235555330', //表单设计id
formType: 'add', //表单类型 add | edit | view
handleType: '', //处理类型 default | returnData
showType: 'dialog', //弹窗类型 dialog | drawer
showButton: true, //是否显示底部默认操作按钮
dataOption: { //数据配置
tableId: '', //表单开发id
dataId: '' //数据id
},
defaultData: {}, //默认表单数据
enhanceData: {}, //传递给表单js增强内部调用配置
popOption: { //弹窗配置
title: '测试表单', //标题
width: '', //弹窗宽度
fullscreen: false, //是否全屏
footerBtn: [ //底部按钮配置
{
params: {}, //el-button 其他参数
name: '测试按钮', //按钮名称
display: true, //是否显示
loading: true, //点击时是否有loading
icon: '', //图标
clickFun: (loading) => {
//点击事件
if (loading) loading() //关闭loading
}
}
],
headerBtn: [], //顶部按钮配置(配置同上)
dialogParams: {} //弹窗其他配置
},
beforeClose: (type, done, formData, loading) => {
// type:关闭类型 submit:提交后触发 close:直接关闭弹窗触发
// done:关闭弹窗方法 formData:表单数据 loading:关闭loading方法
if (type == 'submit') {
console.log('表单数据', formData)
}
done()
}
})

//控件调用
const { formView_533301 } = Vue.toRefs(rendControlData.value)
formView_53330.value.show = true //显示FormView
const controlData = formView_53330.value.params //FormView的配置
// componentRef.value.formView_53330 FormView的Ref控件引用

return {
applyAsset(row) {
controlData.defaultData = row
controlData.enhanceData = {
//复制
}
formView_533301.value.show = true
}
}
maweiyuan
virtual:svg-icons-register:23 表单开发:js增强初始化异常,请检查增强内容1887412161393610754
TypeError: Cannot read properties of undefined (reading 'value')
maweiyuan
1887412161393610754:1 Uncaught (in promise) TypeError: Failed to fetch dynamically imported module: http://172.16.3.53/components/LowDesign/src/FormView.vue
超级管理员
上面你的代码有一些问题 :formView_53330.value.show = true中的formView_53330和上面的formView_533301对不上
maweiyuan
@超级管理员
//初始化控件
useFun.controlInit('FormView', 'formView_840871', {
formId: '1844612970545950722', //表单设计id
formType: 'edit', //表单类型 add | edit | view
handleType: 'default', //处理类型 default | returnData
showType: 'dialog', //弹窗类型 dialog | drawer
showButton: true, //是否显示底部默认操作按钮
dataOption: { //数据配置
tableId: '1844275960258019330', //表单开发id
dataId: '' //数据id
},
defaultData: {}, //默认表单数据
enhanceData: {}, //传递给表单js增强内部调用配置
popOption: { //弹窗配置
title: '测试表单', //标题
width: '40%', //弹窗宽度
fullscreen: false, //是否全屏
footerBtn: [],//底部按钮配置
headerBtn: [], //顶部按钮配置(配置同上)
dialogParams: {} //弹窗其他配置
},
beforeClose: (type, done, formData, loading) => {
// type:关闭类型 submit:提交后触发 close:直接关闭弹窗触发
// done:关闭弹窗方法 formData:表单数据 loading:关闭loading方法
if (type == 'submit') {
console.log('表单数据', formData)
}
done()
}
})


//控件调用
const { formView_840871 } = Vue.toRefs(rendControlData.value)

// componentRef.value.controlView_77755 ControlView的Ref控件引用

return {

applyAsset(row) {
const controlData = formView_840871.value.params //FormView的配置
controlData.popOption.title = '关闭订单'
formView_840871.value.show = true //显示FormView
}
}


从数据库里找了一个仍然不能用
formId: '1844612970545950722', //表单设计id 是否为需要打开的自定义表单id

dataOption: { //数据配置
tableId: '1844275960258019330', //表单开发id 这个id是哪个ID
超级管理员
@maweiyuan
formId是需要打开的自定义表单id;
dataOption里面一般用在表格头部按钮,这里填一个表id,一个表中数据id。作用是给打开的表单默认值的,如果表单的字段和这个表中匹配,就会附上值;
formView_840871主要是担心如果增强中有多个表单控件,这样做区分
超级管理员
我在本地粘了一下你的代码,替换掉表单id后是能出现表单的。你可以打印一下applyAsset里面看看有没有进入到方法里面
maweiyuan
@超级管理员 我尝试了你们的示例网站,有同样的问题,自定义表单无法打开,例如职务管理里的设置状态和添加人员按钮
maweiyuan
@超级管理员
applyAsset(row) {
console.log("test")
const controlData = formView_840871.value.params //FormView的配置
controlData.popOption.title = '关闭订单'
formView_840871.value.show = true //显示FormView
console.log("2")
}

第一行test和2 都有正常打开

写回答

扫码关注

微信公众号二维码