Appearance
JPwise-Web API 方法参考 - Claude Code
重要说明:本文档区分低代码配置和高代码开发两种模式的API使用方式
🎯 使用模式说明
低代码模式(配置化开发)
- 使用场景:通过可视化配置生成页面,在配置界面编写脚本
- API特点:内置封装方法,直接调用,无需导入
- 代码位置:表单属性脚本、列表属性脚本、组件脚本等配置面板
高代码模式(传统开发)
- 使用场景:手写Vue组件,完全自定义开发
- API特点:需要导入相关工具类,遵循Vue组件规范
- 代码位置:
.vue
文件中的<script>
部分
📝 低代码模式 API
表单属性脚本(onLoad/beforeSubmit)
💡 在表单设计器的"表单属性"面板中编写
数据操作
javascript
setFormData("字段名", 值, 行索引?, 是否文本?) // 设置表单数据
getFieldOptions("字段名") // 获取字段选项
setFieldOptions("字段名", [选项数组]) // 设置字段选项
界面控制
javascript
setShowOrHide("字段名", true/false, "button"?) // 显示/隐藏
setRequired("字段名", true/false) // 设置必填
setDisabled("字段名", true/false, 索引?, 类型?) // 设置禁用
可用对象
javascript
formData // 表单数据对象
userState // 用户信息(userInfo.companyID等)
flowTaskInfo // 流程信息(thisStepCode等)
eventType // 事件类型(仅beforeSubmit)
表单组件脚本
💡 在表单设计器中选择组件,在"组件脚本"面板中编写
组件数据
javascript
paramData // 参数数据对象
rowData // 当前行数据
data // 组件选中数据
rowIndex // 行索引
组件方法
javascript
openWindow(配置对象) // 打开窗口
addSelector({$操作符$字段名: "值"}) // 添加查询条件
downloadFile("url", "文件名") // 下载文件
downloadFiles([文件数组]) // 批量下载
downloadWord("模板码", "类型", "id", "名称") // 导出Word
callback(true/false) // 控制上传
列表脚本 API
💡 在列表设计器的相关脚本面板中编写
列表属性脚本(onLoad)
javascript
setInitSearchInfo({字段名: "值"}) // 设置初始查询条件
request("url", "方法", 数据?) // 发送请求
表格脚本
javascript
setTableStyle({cellStyle: 函数, rowStyle: 函数}) // 设置表格样式
getTableStyle() // 获取表格样式
setShowOrHide("字段名", true/false, "type"?) // 显示/隐藏
字段点击事件
javascript
row // 当前行数据
column // 列配置信息
openWindow(配置) // 打开窗口
downloadFile() // 下载文件
downloadFiles() // 批量下载
💻 高代码模式 API
Vue组件开发基础
💡 高代码模式下的Vue组件开发核心导入
必须导入的工具类
javascript
// Vue组件中必需的导入
import { jnpf } from '@/utils/jnpf'
import { mapState, mapGetters } from 'vuex'
import listMixin from '@/mixins/basics/list'
import formMixin from '@/mixins/basics/form'
import btnPermission from '@/mixins/btn_permission'
export default {
mixins: [listMixin, btnPermission],
computed: {
...mapState(['user']),
...mapGetters(['buttonAuthList'])
}
}
API调用模式
javascript
// 导入API方法
import { doGet, doPost, doDelete } from '@/api/basic'
// 统一API调用
export function getData(params) {
return doGet('/api/module/list', params)
}
export function saveData(data) {
return doPost('/api/module/save', data)
}
工具方法使用
💡 高代码模式中的工具方法通过导入方式使用
javascript
// 基础工具方法示例
import { jnpf } from '@/utils/jnpf'
// 日期格式化
jnpf.dateFormat(new Date(), 'yyyy-MM-dd')
// 权限检查
jnpf.hasP("权限码")
// 数据存储
jnpf.storageSet('key', value)
📖 详细工具方法参考: 工具方法参考文档
🔄 通用配置(两种模式都适用)
openWindow 详细配置
💡 在两种模式中都可以使用的弹窗配置
基础配置
javascript
{
url: "页面路径", // 必需
title: "窗口标题",
width: "800px",
height: "600px",
popupType: "general", // general/fullScreen/drwan
showHeader: true, // 显示头部
showFooter: true, // 显示底部
refresh: true, // 关闭后刷新
isDetail: false, // 是否详情页
openTabsOnBrowser: false, // 浏览器新标签页
}
数据配置
javascript
data: {
TmplCode: "功能设计ID", // 必需(与flowId二选一)
flowId: "流程设计ID", // 必需(与TmplCode二选一)
id: "数据ID",
formType: 2, // 1-开发模式,2-配置模式
opType: "1", // 流程状态
defVal: {}, // 默认值
taskId: "流程任务ID",
taskNodeId: "流程任务节点ID"
}
回调配置
javascript
onDestroy: {
confirm: ({ data, selectedData }) => {
// 确认回调:data-表单数据,selectedData-选择数据
},
componentClose: () => {
// 关闭回调
}
}
常用页面路径
javascript
"views/basic/dynamicModel/list/Form" // 表单页面
"views/workFlow/components/FlowBox" // 流程表单页面
"views/basic/dynamicModel/list/index" // 列表页面
"views/infra/word/wordPBSTemplate/index" // 自定义页面示例
📝 使用示例对比
低代码模式示例
javascript
// ✅ 表单属性脚本中 (onLoad)
setFormData("NAME", "默认名称");
setFormData("STATUS", "1");
setRequired("NAME", true);
// 权限控制
if (this.jnpf.hasFormP('SALARY')) {
setShowOrHide("SALARY", true);
}
// 弹窗调用
openWindow({
url: "views/basic/dynamicModel/list/Form",
title: "编辑数据",
data: { TmplCode: "123456", id: "789", formType: 2 }
});
高代码模式示例
javascript
// ✅ Vue组件中
<template>
<div>
<el-button @click="openEditDialog">编辑</el-button>
</div>
</template>
<script>
import { jnpf } from '@/utils/jnpf'
import formMixin from '@/mixins/basics/form'
export default {
mixins: [formMixin],
data() {
return {
formData: {
name: '',
status: ''
}
}
},
methods: {
openEditDialog() {
this.openWindow({
url: "views/basic/dynamicModel/list/Form",
title: "编辑数据",
data: {
TmplCode: this.tmplCode,
id: this.currentId,
formType: 2
},
onDestroy: {
confirm: () => this.refresh()
}
});
},
checkFieldPermission() {
return jnpf.hasFormP('SALARY');
}
}
}
</script>
API参考核心:区分低代码配置和高代码开发的使用方式