|
|
@@ -15,6 +15,7 @@ import '@synboy/spreadjs-custom-render/dist/style.css'
|
|
|
import { getStandardTemplateInfo } from '@/api/pressure2/standard/template'
|
|
|
import { ExcelApi } from '@/api/pressure2/excel'
|
|
|
import { DynamicTbValApi } from '@/api/pressure2/dynamictbval'
|
|
|
+import { DynamicTbColApi } from '@/api/pressure2/dynamictbcol'
|
|
|
import { serializeDataSourceForStorage } from '@/utils/reportUtil'
|
|
|
import { buildFileUrl } from '@/utils'
|
|
|
import axios from 'axios'
|
|
|
@@ -353,12 +354,21 @@ const loadByRefId = async (
|
|
|
// 4.2 解析命名样式字符串引用,保留完整样式
|
|
|
resolveNamedStyleRefs(config)
|
|
|
|
|
|
- // 5. 传给预览组件(formData 提供数据,config 提供模板结构 + bindingPath)
|
|
|
+ // 5. 获取可编辑字段列表
|
|
|
+ let editFieldsList: string[] | null = null
|
|
|
+ try {
|
|
|
+ editFieldsList = await DynamicTbColApi.getEditDynamicTbColByTbId(refId)
|
|
|
+ } catch (e) {
|
|
|
+ console.warn('获取可编辑字段失败,将使用默认行为:', e)
|
|
|
+ }
|
|
|
+
|
|
|
+ // 6. 传给预览组件(formData 提供数据,config 提供模板结构 + bindingPath)
|
|
|
previewRef.value?.register({
|
|
|
config,
|
|
|
formData,
|
|
|
showToolbar: options.showToolbar ?? true,
|
|
|
- readonly: options.readonly ?? false
|
|
|
+ readonly: options.readonly ?? false,
|
|
|
+ editFields: editFieldsList
|
|
|
})
|
|
|
} catch (error) {
|
|
|
console.error('加载 ssjson (refId) 失败:', error)
|
|
|
@@ -437,6 +447,7 @@ defineExpose({
|
|
|
setFormData,
|
|
|
clearFormData,
|
|
|
getUploadFields,
|
|
|
+ setEditFields: (fields: string[] | null) => previewRef.value?.setEditFields?.(fields),
|
|
|
// 原始 register 仍保留,供高级用法使用
|
|
|
register: (options: Parameters<InstanceType<typeof OptimizedTemplatePreview>['register']>[0]) =>
|
|
|
previewRef.value?.register(options)
|