agilebuilder-ui 1.1.65-tmp23 → 1.1.65-tmp25

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. package/dist/index.full.min.js +474 -281
  2. package/dist/style.css +181 -175
  3. package/es/chat-embed/src/chat-sender.vue.mjs +1 -1
  4. package/es/chat-embed/src/chat-sender.vue2.mjs +26 -28
  5. package/es/chat-embed/src/index.vue.mjs +1 -1
  6. package/es/chat-embed/src/index.vue2.mjs +29 -29
  7. package/es/department-tree-mobile/src/department-tree-inline-app.vue.mjs +68 -68
  8. package/es/department-tree-mobile/src/department-tree-service.mjs +20 -18
  9. package/es/department-tree-mobile/src/dept-result.vue.mjs +12 -11
  10. package/es/department-user-tree-inline/src/department-user-single-tree-inline.vue.mjs +3 -3
  11. package/es/department-user-tree-inline/src/department-user-tree-inline.vue.mjs +6 -6
  12. package/es/department-user-tree-inline/src/department-user-tree-single-service.mjs +1 -1
  13. package/es/fs-preview/src/fs-preview.vue.mjs +26 -18
  14. package/es/fs-upload-new/src/file-upload-mobile/file-upload-browser.vue.mjs +1 -1
  15. package/es/fs-upload-new/src/file-upload-mobile/file-upload-input.vue.mjs +1 -1
  16. package/es/index.mjs +27 -22
  17. package/es/src/components/Card/index.mjs +34 -31
  18. package/es/src/components/Scrollbar/index.vue.mjs +6 -6
  19. package/es/src/i18n/langs/cn.mjs +1 -1
  20. package/es/src/i18n/langs/en.mjs +1 -1
  21. package/es/src/utils/common-util.mjs +47 -39
  22. package/es/src/utils/watermark.mjs +35 -25
  23. package/es/style.css +708 -702
  24. package/es/super-grid/src/apis.mjs +199 -173
  25. package/es/super-grid/src/components/mobile-table-card.mjs +53 -53
  26. package/es/super-grid/src/normal-column-content.vue.mjs +12 -12
  27. package/es/super-grid/src/normal-column.vue.mjs +4 -5
  28. package/es/super-grid/src/search-button.vue.mjs +4 -2
  29. package/es/super-grid/src/search-form-dialog.vue.mjs +22 -11
  30. package/es/super-grid/src/search-form-item.vue.mjs +5 -5
  31. package/es/super-grid/src/search-form-mobile.vue.mjs +19 -19
  32. package/es/super-grid/src/search-form-open.vue.mjs +5 -3
  33. package/es/super-grid/src/search-form-ordinarySearch.vue.mjs +3 -1
  34. package/es/super-grid/src/search-form.vue.mjs +19 -13
  35. package/es/super-grid/src/super-grid.vue.mjs +271 -209
  36. package/es/super-grid/src/utils.mjs +346 -300
  37. package/es/utils/organization.mjs +24 -11
  38. package/lib/chat-embed/src/chat-sender.vue.cjs +1 -1
  39. package/lib/chat-embed/src/chat-sender.vue2.cjs +44 -46
  40. package/lib/chat-embed/src/index.vue.cjs +1 -1
  41. package/lib/chat-embed/src/index.vue2.cjs +14 -14
  42. package/lib/department-tree-mobile/src/department-tree-inline-app.vue.cjs +58 -58
  43. package/lib/department-tree-mobile/src/department-tree-service.cjs +10 -8
  44. package/lib/department-tree-mobile/src/dept-result.vue.cjs +10 -10
  45. package/lib/department-user-tree-inline/src/department-user-single-tree-inline.vue.cjs +16 -16
  46. package/lib/department-user-tree-inline/src/department-user-tree-inline.vue.cjs +5 -5
  47. package/lib/department-user-tree-inline/src/department-user-tree-single-service.cjs +1 -1
  48. package/lib/fs-preview/src/fs-preview.vue.cjs +13 -5
  49. package/lib/fs-upload-new/src/file-upload-mobile/file-upload-browser.vue.cjs +1 -1
  50. package/lib/fs-upload-new/src/file-upload-mobile/file-upload-input.vue.cjs +13 -13
  51. package/lib/index.cjs +11 -11
  52. package/lib/src/components/Card/index.cjs +14 -11
  53. package/lib/src/components/Scrollbar/index.vue.cjs +2 -2
  54. package/lib/src/i18n/langs/cn.cjs +1 -1
  55. package/lib/src/i18n/langs/en.cjs +1 -1
  56. package/lib/src/utils/common-util.cjs +24 -17
  57. package/lib/src/utils/watermark.cjs +32 -21
  58. package/lib/style.css +888 -882
  59. package/lib/super-grid/src/apis.cjs +190 -164
  60. package/lib/super-grid/src/components/mobile-table-card.cjs +37 -37
  61. package/lib/super-grid/src/normal-column-content.vue.cjs +2 -2
  62. package/lib/super-grid/src/normal-column.vue.cjs +10 -11
  63. package/lib/super-grid/src/search-button.vue.cjs +3 -1
  64. package/lib/super-grid/src/search-form-dialog.vue.cjs +19 -8
  65. package/lib/super-grid/src/search-form-item.vue.cjs +2 -2
  66. package/lib/super-grid/src/search-form-mobile.vue.cjs +7 -7
  67. package/lib/super-grid/src/search-form-open.vue.cjs +7 -5
  68. package/lib/super-grid/src/search-form-ordinarySearch.vue.cjs +3 -1
  69. package/lib/super-grid/src/search-form.vue.cjs +15 -10
  70. package/lib/super-grid/src/super-grid.vue.cjs +220 -158
  71. package/lib/super-grid/src/utils.cjs +349 -274
  72. package/lib/utils/organization.cjs +35 -24
  73. package/package.json +1 -1
  74. package/src/components/Card/index.jsx +12 -2
  75. package/src/components/Scrollbar/index.vue +165 -154
  76. package/src/i18n/langs/cn.js +10 -2
  77. package/src/i18n/langs/en.js +10 -2
  78. package/src/styles/index.scss +9 -2
  79. package/src/styles/theme/default.scss +18 -13
  80. package/src/styles/theme/tiffany-blue-mobile/home.scss +44 -1
  81. package/src/utils/auth-api.js +1 -0
  82. package/src/utils/common-util.js +13 -0
@@ -328,6 +328,18 @@
328
328
  (l.id = n, l.style.pointerEvents = "none", l.style.top = "10px", l.style.left = "0px", l.style.position = "fixed", l.style.zIndex = "10000", l.style.width = "100%", l.style.height = "100%", l.style.background = "url(" + i2.toDataURL("image/png") + ") left top repeat", document.getElementById("pdfDom")) ? document.getElementById("pdfDom").appendChild(l) : document.body.appendChild(l);
329
329
  return n;
330
330
  };
331
+ function showWatermark(e2, t2, o, n) {
332
+ var i2 = /* @__PURE__ */ new Date();
333
+ i2 = formatDate$1(i2, "yyyy-MM-dd"), setTimeout(() => {
334
+ var a = e2 && "" !== e2 ? e2 : o ? o.name + " " + i2 : i2;
335
+ let l = setWatermark(a, t2, n);
336
+ setInterval(() => {
337
+ null === document.getElementById(l) && (l = setWatermark(a, t2, n));
338
+ }, 500), window.onresize = () => {
339
+ setWatermark(a, t2, n);
340
+ };
341
+ });
342
+ }
331
343
  function getWatermarkSetting() {
332
344
  return new Promise((e2, t2) => {
333
345
  let o = getWatermark();
@@ -694,6 +706,13 @@
694
706
  });
695
707
  });
696
708
  }
709
+ function getCacheSystemUrlWithSystemCode(e2) {
710
+ return new Promise((t2, o) => {
711
+ window.$authApi.getSystemCacheUrl() ? t2(window.$authApi.getSystemCacheFrontendUrlByCode(e2)) : cacheSystemUrl().then(() => {
712
+ t2(window.$authApi.getSystemCacheFrontendUrlByCode(e2));
713
+ });
714
+ });
715
+ }
697
716
  function getAuthSource() {
698
717
  return window.localStorage.getItem("auth_source");
699
718
  }
@@ -1235,7 +1254,7 @@
1235
1254
  function clearVoiceCache() {
1236
1255
  removeVoiceCache();
1237
1256
  }
1238
- const en = { imatrixUIPublicModel: { sure: "Sure", cancel: "Cancel", allDepartments: "All Departments", allUsers: "All Users", reset: "Reset", to: "To", edit: "Edit", clear: "Clear", download: "Download", delete: "Delete", preview: "Preview", add: "Add", more: "More", graphView: "Graphic view", listView: "List View", fieldName: "Field Name", operator: "Operator", value: "Value", andOr: "And/Or", whenTheVariableIsEmpty: "When The Variable Is Empty", perhaps: "Perhaps", also: "Also", greaterThan: "Greater Than", lessThan: "Less Than", beEqualTo: "Be Equal To", notGreaterThan: "Not Greater Than", notLessThan: "Not Less Than", notEqualTo: "Not Equal To", contain: "Contain", notIncluded: "Not Included", laterThan: "Later Than", earlierThan: "Earlier Than", noLaterThan: "No Later Than", noEarlierThan: "No Earlier Than", ignore11: "Ignore (1 = 1)", nonConformity: "Non Conformity (1 < > 1)", switchToNormalQuery: "Switch To Normal Query", switchToAdvancedQuery: "Switch To Advanced Query", isNull: "Is Null", isNotNull: "Is Not Null", previewImage: "Preview image", fullScreen: "Full Screen", forbidden: "forbidden", startUsing: "Start Using", systemCode: "System Code", code: "Code", emptyValue: "Empty Value", expand: "Expand", collapse: "Collapse", confirmClosePage: "Are you sure you want to close this page? Unsaved data will be lost." }, imatrixUIMessage: { whetherToConfirmDeletion: "Whether To Confirm Deletion", tips: "Tips", pleaseEnterContent: "Please Enter Content", internalServerError: "Server error", pleaseSelectDepartment: "Please Select Department", pleaseSelectPersonnel: "Please Select Personnel", pleaseRemoveallpersonnelBeforeSelectingSpecificPersonnel: "Please Remove All Personnel Before Selecting Specific Personnel", queryResultIsEmpty: "Query Result Is Empty", pleaseSelectATeam: "Please Select A Team", pleaseEnterTeamName: "Please Enter Team Info Filter", validationFailed: "Validation Failed", selectionDate: "Selection Date", selectTime: "Select Time", pleaseEnterATimePoint: "Please Enter A Time Point", pleaseSelect: "Please Select", startDate: "Start Date", endDate: "End Date", noExportColumnsConfigured: "No Export Columns Configured", organizationTreeNoResultNotRemove: "No information selected, no need to remove", exceedFileSize: "File size limit {filesize} M exceeded", upload: "Upload", invalideDoubleValue: "{num} is not a legal decimal", noJumpPage: "Jump page not configured", saveSuccessfully: "Savee successfully", pleaseInputSearchCondition: "Please enter the query criteria", fileUpload: "File Upload", selectYear: "Select Year", search: "Search", forbiddenException: "You do not have permission to access", theButtonIsNotBoundToAResource: "The button is not bound to a resource, Bind the resource first", asyncExport: "Asynchronous export, please wait for message notification!", selectedWorkingGroup: "Selected working group", forbiddenExceptionLinkUrl: "please click to apply", forbiddenExceptionLinkUser: "if you have any questions,please contact", uploadFileTip: "The file size should lower {fileSize}M", asyncExportJumpMsg: "Or click me to jump to download page.", mustFill: "{label} must fill", filePathNotFound: "File UUID not found, please check the configuration", pleaseSelectDeleteData: "Please select the data to delete" }, superGrid: { editablePlaceholder: "Please click to input", rowEditMessageBox: { title: "Operation Confirmation", content: "There are unsaved modifications in the current row. Do you want to save the modifications and switch?", confirmButton: "Save edit", cancelButton: "Discard edit" }, columnConfig: "Column Config", pleaseSaveOrCancelEditingLine: "Please Save Or Cancel Editing Line {row} Data First", pleaseSaveLine: "Please Save Line {row} Data First", noNeedToSaveRow: "No Need To Save Row {row} Data", pleaseSetURLToSaveRowInformation: 'Please set "URL to save row information"', lineSavedSuccessfully: "Line {row} Saved Successfully", theReturnValueOfTheBeforesaveCallbackMethodIsFalse: "The Return Value Of The Beforesave Callback Method Is False", lineNoNeedToUndoEdit: "Line {row} No Need To Undo Edit", lineCancelledSuccessfully: "Line {row} cancelled successfully", label: "Label", isShow: "Is Show", isExportable: "Is Exportable", recordLine: "Record line {row}", pageRecordLine: "Record in row {row} of page {pageNum}", fileName: "File Name", deleteSuccessful: "Deleted successfully", index: "No.", searchConditionName: "Search Condition Name", pleaseInputSearchConditionName: "Please enter the name of the query criteria", saveCondition: "Save Condition", saveConditionTitle: "Save Condition", displayOrder: "Display Order", searchDisplayOrder: "Search Display Order", width: "Column Width", default: "Default", custom: "Custom", show: "Show", hidden: "Hidden", export: "Export", unExport: "Not Export", whetherToConfirmReset: "Are you sure you want to reset?", resetSuccessful: "Reset successfully", dragColumnOrderMessage: "Supports dragging to change column order", selectAll: "Select All", viewImage: "View Image", previewTitleWhenNotImg: "Non picture format, preview in other ways", refresh: "Refresh", open: "Open", fold: "Fold", prevRow: "Prev Row", nextRow: "Next Row", detail: "Detail", searchEmpty: "Search Empty", canntAddTip: "Does not meet the new operation conditions, cannot perform the new operation, please check!", rowCanntDeleteTip: "Does not meet the delete operation conditions, cannot perform the delete operation, please check!", rowCanntEditTip: "Does not meet the edit operation conditions, cannot perform the edit operation, please check!" }, departmentTree: {}, departmentTreeInline: { pleaseEnterDepartmentName: "Please Enter Department Info Filter", name: "Department Name", code: "Department Code", removeDepartment: "Remove Department", selectedDept: "Selected Departments", namePath: "Name Path", allCheck: "Check All", pleaseInputNameOrCode: "Please Input Name Or Code", selectResultInfoHasSelect: "Has select:", selectResultInfo: "{num} departments (including sub departments)", selectResultTitle: "Has Select Result" }, departmentUserTree: { pleaseEnterUserInformation: "Please Enter User Information Filter", selectedPeople: "Selected People", searchFieldUserName: "Name", searchFieldLoginName: "Login Name", searchFieldEmail: "Email", searchFieldTelephone: "Telephone", searchFieldJobNumber: "Job Number", searchFieldHonorificName: "Honorific", selectUserResultInfo: "{useNum} Users", selectDeptResultInfo: "{num} departments(including sub departments)" }, departmentUserTreeInline: { name: "Name", department: "Department", branch: "Branch", removeUser: "Remove User", email: "Email", loginName: "Login Name", superiorDeptNameFullPath: "Department full path", user: "User", groupName: "Name", groupForm: "Group Form", groupList: "Group List", group: "Group", orgTree: "Organization Tree", groupNameNotEmpty: "Group name is required" }, workgroupTree: { allTeamMembers: "All Team Members", name: "Workgroup Name", code: "Workgroup Code", removeWorkgroup: "Remove Workgroup", workingGroupName: "Working Group Name", workingGroupNumber: "Working Group Number", workgroupDescription: "Workgroup Description", selectResultInfo: "{num} workgroups" }, workflowButton: { save: "Save", submit: "Submit", approve: "Approve", refuse: "Refuse", agreement: "Agree", oppose: "Opposition", kiken: "Abstention", get_back_button: "Retrieve", copy: "Copy", draw: "Draw", abandon_draw: "Give Up Draw", add_sign: "Additional Signature", remove_sign: "Reduction Of Signature", signoff: "Sign For", assign: "Hand over", assign_task: "Transfer", readed: "Readed", export_report: "Export Report", draw_dept_task: "Draw Department", abandon_draw_dept_task: "Give Up Draw Department" }, workflowHistoryList: { specailText: "specail", index: "Index", taskName: "Task Name", operation: "Operation", opinion: "Opinion", processStart: "Process Start", processEnd: "Process End", process_start: "[{1}] process start", prcoess_end: "[{1}] process End", force_end_process: "{key_1}forced to end the process, and the task of [{key_2}] was canceled", history_jump: "Process {key_3} to [{key_1}], [{key_2}] task cancelled", history_back: "{key_1} returned to task,process returned to [{key_2}]", history_removesign: "{key_1} minus [{key_2}]", history_changetransactor_and_delegate: "{key_1} changed the handler [{key_2}] to [{key_3}], [{key_4}] delegated the task to [{key_5}]", history_changetransactor: "{key_1} changed handler [{key_2}] to [{key_3}]", history_addsign: "{key_1} sign [{key_2}]", history_addtransactor: "{key_1} add handler [{key_2}]", history_removetransactor: "{key_1} decrease handler [{key_2}]", history_delegate_and_assign: "{key_1} assigned tasks to [{key_2}], [{key_3}] delegated tasks to [{key_4}]", history_assign: "{key_1} assigned task to [{key_2}]", transfer: "{key_1} transferred to [{key_2}]", history_complete_transfer: "{key_1} execute [{key_2}] operation and canceled the task of other receivers [{key_3}]", history_delegate_receive: "{key_1} retracts the task entrusted to [{key_2}]", history_delegate: "{key_1} has delegated task [{key_2}] to [{key_3}]", history_quit_transfer: "{key_1} Resignation, has transferred task [{key_2}] to [{key_3}", history_change_job_transfer: "{key_1} Change job,has transferred task [{key_2}] to [{key_3}", commonButtonOperation: "{key_1} execute [{key_2}] operation", history_draw_task: "{key_1} received the task and cancelled the task of the candidate [{key_2}]", history_abandon_draw: "{key_1} gives up the task and restores the task of candidate [{key_2}]", create_copy_task: "{key_1} The task was copied to [{key_2}", toDoText: "Todo", operator: "Operator", operatorLg: "Operator Login Name", operatorDept: "Operator Dept", operationTime: "Operation Time", history_draw_dept_task: "{key_1} Received tasks from department [{key_2}]", history_abandon_draw_dept_task: "{key_1} Abandon the task of receiving department [{key_2}]", remark: "remark", taskState: "Task State", processingDuration: "Processing Duration(H)", stayDuration: "Stay Duration", isOverdue: "Is Overdue", taskStateDoing: "Doing", taskStateDone: "Done" }, gateway: { timeout: "Interface call timeout", callFailed: "Interface call failed" }, superNineGrid: { add: "Create" }, fsUpload: { upload: "Upload", download: "Download", delete: "Delete", deleteSuccessful: "Delete successful", preview: "Preview", name: "Name", picture: "Picture", operating: "Operating", uploadSucceeded: "Upload succeeded", theNumberOfUploadsExceedsTheLimitTheLimitIs: "The number of uploads exceeds the limit. The limit is", image: "Image", video: "Video", updateSuccess: "Update success", more: "More", uploadFailed: "Upload failed!" }, messageVideo: { attemptingToIdentify: "Attempting to identify", callingRearCamera: "Calling rear camera", identificationFailed: "Identification failed" }, IntervalSelection: { year: "year", quarter: "quarter", auxiliary: "auxiliary word for ordinal numbers", week: "week", month: "month", day: "day", tian: "day", hour: "hour", minute: "minute", second: "second" }, imatrixUIPromptMessage: { NoContent: "No content" }, chatEmbed: { name: "AI Assistant", history: "History", minimize: "Minimize", fullscreen: "Full Screen", close: "Close", regenerate: "Regenerate", copy: "Copy", newChat: "New Chat", copySuccess: "Copy successful", requestFailed: "Request failed!" } }, cn = { imatrixUIPublicModel: { sure: "确定", cancel: "取消", allDepartments: "所有部门", allUsers: "所有用户", reset: "重置", to: "至", edit: "操作", clear: "清空", download: "下载", delete: "删除", preview: "预览", add: "增加", more: "更多", graphView: "图形视图", listView: "列表视图", fieldName: "字段名(*)", operator: "操作符", value: "值(*)", andOr: "并且/或者", whenTheVariableIsEmpty: "变量为空时", perhaps: "或者", also: "并且", greaterThan: "大于", lessThan: "小于", beEqualTo: "等于", notGreaterThan: "不大于", notLessThan: "不小于", notEqualTo: "不等于", contain: "包含", notIncluded: "不包含", laterThan: "晚于", earlierThan: "早于", noLaterThan: "不晚于", noEarlierThan: "不早于", ignore11: "忽略(1=1)", nonConformity: "不符合(1<>1)", switchToNormalQuery: "切换为普通查询", switchToAdvancedQuery: "切换为高级查询", isNull: "等于Null", isNotNull: "不等于Null", previewImage: "预览图片", fullScreen: "全屏", forbidden: "禁用", startUsing: "启用", systemCode: "系统编码", code: "编码", emptyValue: "空值", expand: "展开", collapse: "收起", confirmClosePage: "确认关闭此页面吗?未保存的数据将会丢失。" }, imatrixUIMessage: { whetherToConfirmDeletion: "是否确认删除", tips: "提示", pleaseEnterContent: "请输入内容", internalServerError: "请求失败", pleaseSelectDepartment: "请选择部门", pleaseSelectPersonnel: "请选择人员", pleaseRemoveallpersonnelBeforeSelectingSpecificPersonnel: "请先移除所有人员,再选择具体人员", queryResultIsEmpty: "查询结果为空", pleaseSelectATeam: "请选择工作组", pleaseEnterTeamName: "请输入工作组信息筛选", validationFailed: "验证失败", selectionDate: "选择日期", selectTime: "选择时间", pleaseEnterATimePoint: "请输入时间点", pleaseSelect: "请选择", startDate: "开始日期", endDate: "结束日期", noExportColumnsConfigured: "没有配置导出列", organizationTreeNoResultNotRemove: "未选择任何信息,无需移除", exceedFileSize: "超过文件大小限制{fileSize}M", upload: "上传", invalideDoubleValue: "{num} 不是合法的小数", noJumpPage: "未配置跳转页面", saveSuccessfully: "保存成功", pleaseInputSearchCondition: "请输入查询条件", fileUpload: "文件上传", selectYear: "选择年", search: "查询", forbiddenException: "您没有权限访问", theButtonIsNotBoundToAResource: "该按钮未绑定资源,请先绑定资源", asyncExport: "正在异步导出,请等待消息通知!", selectedWorkingGroup: "已选工作组", forbiddenExceptionLinkUrl: "请点击进行权限申请", forbiddenExceptionLinkUser: "如有疑问请联系", uploadFileTip: "上传的文件不超过{fileSize}M", asyncExportJumpMsg: "或点击我跳转到下载页面", mustFill: "{label} 必须填写", filePathNotFound: "文件UUID未找到,请检查配置", pleaseSelectDeleteData: "请选择要删除的数据" }, superGrid: { editablePlaceholder: "请点击输入", rowEditMessageBox: { title: "操作确认", content: "当前行有未保存的修改,是否进行保存修改切换?", confirmButton: "保存修改", cancelButton: "放弃修改" }, columnConfig: "字段配置", pleaseSaveOrCancelEditingLine: "请先保存或撤销编辑第 {row} 行数据", pleaseSaveLine: "请先保存第 {row} 行数据", noNeedToSaveRow: "无需保存第 {row} 行数据", pleaseSetURLToSaveRowInformation: "请设置“保存行信息的url”", lineSavedSuccessfully: "第 {row} 行保存成功", theReturnValueOfTheBeforesaveCallbackMethodIsFalse: "beforeSave回调方法返回值为false", lineNoNeedToUndoEdit: "第 {row} 行无需撤销编辑", lineCancelledSuccessfully: "第 {row} 行撤销成功", label: "字段名", isShow: "是否显示", isExportable: "是否导出", recordLine: "第 {row} 行记录", pageRecordLine: "第 {pageNum} 页第 {row} 行记录", fileName: "文件名称", deleteSuccessful: "删除成功", index: "序号", searchConditionName: "查询条件名称", pleaseInputSearchConditionName: "请输入查询条件名称", saveCondition: "保存条件", saveConditionTitle: "保存查询条件", displayOrder: "显示顺序", searchDisplayOrder: "查询显示顺序", width: "列宽", default: "默认", custom: "自定义", show: "显示", hidden: "隐藏", export: "导出", unExport: "不导出", whetherToConfirmReset: "是否确认重置?", resetSuccessful: "重置成功", dragColumnOrderMessage: "支持拖动改变列顺序", selectAll: "全选", viewImage: "查看图片", previewTitleWhenNotImg: "非图片格式,使用其它方式预览", refresh: "刷新", open: "展开", fold: "收起", prevRow: "上一行", nextRow: "下一行", detail: "详情", searchEmpty: "查询空值", canntAddTip: "不满足新建操作条件,不能执行新建操作,请检查!", rowCanntDeleteTip: "不满足删除操作条件,不能执行删除操作,请检查!", rowCanntEditTip: "不满足编辑操作条件,不能执行编辑操作,请检查!" }, departmentTree: {}, departmentTreeInline: { pleaseEnterDepartmentName: "请输入部门信息筛选", name: "部门名称", code: "部门编码", removeDepartment: "移除部门", selectedDept: "已选部门", namePath: "名称路径", allCheck: "全选", pleaseInputNameOrCode: "请输入名称/编码", selectResultInfoHasSelect: "已选择:", selectResultInfo: "{num}个部门(含子部门)", selectResultTitle: "已选择信息" }, departmentUserTree: { pleaseEnterUserInformation: "请输入用户信息筛选", selectedPeople: "已选人员", searchFieldUserName: "姓名", searchFieldLoginName: "登录名", searchFieldEmail: "邮箱", searchFieldTelephone: "手机号", searchFieldJobNumber: "工号", searchFieldHonorificName: "尊称", selectUserResultInfo: "{userNum}个用户", selectDeptResultInfo: "{deptNum}个部门(含子部门)" }, departmentUserTreeInline: { name: "姓名", department: "所属部门", branch: "所属分支", removeUser: "移除用户", email: "邮箱", loginName: "登录名", superiorDeptNameFullPath: "组织全路径", user: "用户", groupName: "名称", groupForm: "群组表单", groupList: "群组维护", group: "群组", orgTree: "组织树", groupNameNotEmpty: "群组名称必填" }, workgroupTree: { allTeamMembers: "所有工作组人员", name: "工作组名称", code: "工作组编码", removeWorkgroup: "移除工作组", workingGroupName: "工作组名称", workingGroupNumber: "工作组编号", workgroupDescription: "工作组描述", selectResultInfo: "{num}个工作组" }, workflowButton: { save: "暂存", submit: "提交", approve: "同意", refuse: "不同意", agreement: "赞成", oppose: "反对", kiken: "弃权", get_back_button: "取回", copy: "抄送", draw: "领取", abandon_draw: "放弃领取", add_sign: "加签", remove_sign: "减签", signoff: "签收", assign: "交办", assign_task: "转办", readed: "已阅", export_report: "导出报告", draw_dept_task: "部门领取", abandon_draw_dept_task: "放弃部门领取" }, workflowHistoryList: { specailText: "特", index: "序号", taskName: "环节名称", operation: "流转操作", opinion: "办理意见", processStart: "流程开始", processEnd: "流程结束", process_start: "[{key_1}]流程开始", prcoess_end: "[{key_1}]流程结束", force_end_process: "{key_1}强制结束了该流程,[{key_2}]的任务被取消", history_jump: "流程{key_3}到[{key_1}],[{key_2}]的任务被取消", history_back: "{key_1}退回任务,流程退回到[{key_2}]", history_removesign: "{key_1}给[{key_2}]减签", history_changetransactor_and_delegate: "{key_1}把办理人[{key_2}]更改成[{key_3})],{key_4}把任务委托给了[{key_5}]", history_changetransactor: "{key_1}把办理人[{2}]更改成[{key_3}]", history_addsign: "{key_1}给[{key_2}]加签", history_addtransactor: "{key_1}增加办理人[{key_2}]", history_removetransactor: "{key_1}减少办理人[{key_2}]", history_delegate_and_assign: "{key_1}把任务指派给了[{key_2}],[{key_3}]把任务委托给了[{key_4}]", history_assign: "{key_1}把任务指派给了[{key_2}]", transfer: "{key_1}移交给[{key_2}]", history_complete_transfer: "{key_1}执行了[{key_2}]操作,取消了其它接收人[{key_3}]的任务", history_delegate_receive: "{key_1}收回委托给[{key_2}]的任务", history_delegate: "{key_1}已把任务[{key_2}]委托给[{key_3}]", history_quit_transfer: "{key_1}离职,已把任务[{2}]移交给了[{key_3}]", history_change_job_transfer: "{1}换岗,已把任务[{2}]移交给了[{key_3}]", commonButtonOperation: "{key_1}执行了[{key_2}]操作", history_draw_task: "{key_1}领取了任务,取消了候选人[{key_2}]的任务", history_abandon_draw: "{key_1}放弃领取该任务,还原了候选人[{key_2}]的任务", create_copy_task: "{key_1}把任务抄送给了[{key_2}]", toDoText: "待处理", operator: "操作人", operatorLg: "操作人登录名", operatorDept: "操作人部门", operationTime: "操作时间", history_draw_dept_task: "{key_1}领取了部门[{key_2}]的任务", history_abandon_draw_dept_task: "{key_1}放弃领取部门[{key_2}]的任务", remark: "备注", taskState: "节点状态", processingDuration: "处理时长(H)", stayDuration: "停留时长", isOverdue: "是否超期", taskStateDoing: "进行中", taskStateDone: "已完成" }, gateway: { timeout: "接口调用超时", callFailed: "接口调用失败" }, superNineGrid: { add: "新建" }, fsUpload: { upload: "上传", download: "下载", delete: "删除", deleteSuccessful: "删除成功", preview: "预览", name: "名称", picture: "图片", operating: "操作", uploadSucceeded: "上传成功", theNumberOfUploadsExceedsTheLimitTheLimitIs: "上传数量超过限制,限制数量为", image: "图片", video: "视频", updateSuccess: "更新成功", more: "更多", uploadFailed: "上传失败!" }, messageVideo: { attemptingToIdentify: "正在尝试识别....", callingRearCamera: "正在调用后置摄像头...", identificationFailed: "识别失败" }, IntervalSelection: { year: "年", quarter: "季度", auxiliary: "第", week: "周", month: "月", day: "日", tian: "天", hour: "小时", minute: "分钟", second: "秒" }, imatrixUIPromptMessage: { NoContent: "暂无内容" }, chatEmbed: { name: "AI小助手", history: "历史记录", minimize: "缩小", fullscreen: "全屏", close: "关闭", regenerate: "重新生成", copy: "复制", newChat: "新建会话", copySuccess: "复制成功", requestFailed: "请求会话失败!" } }, messages = { en, cn }, i18n = vueI18n.createI18n({ locale: "cn", messages, legacy: false });
1257
+ const en = { imatrixUIPublicModel: { sure: "Sure", cancel: "Cancel", allDepartments: "All Departments", allUsers: "All Users", reset: "Reset", to: "To", edit: "Edit", clear: "Clear", download: "Download", delete: "Delete", preview: "Preview", add: "Add", more: "More", graphView: "Graphic view", listView: "List View", fieldName: "Field Name", operator: "Operator", value: "Value", andOr: "And/Or", whenTheVariableIsEmpty: "When The Variable Is Empty", perhaps: "Perhaps", also: "Also", greaterThan: "Greater Than", lessThan: "Less Than", beEqualTo: "Be Equal To", notGreaterThan: "Not Greater Than", notLessThan: "Not Less Than", notEqualTo: "Not Equal To", contain: "Contain", notIncluded: "Not Included", laterThan: "Later Than", earlierThan: "Earlier Than", noLaterThan: "No Later Than", noEarlierThan: "No Earlier Than", ignore11: "Ignore (1 = 1)", nonConformity: "Non Conformity (1 < > 1)", switchToNormalQuery: "Switch To Normal Query", switchToAdvancedQuery: "Switch To Advanced Query", isNull: "Is Null", isNotNull: "Is Not Null", previewImage: "Preview image", fullScreen: "Full Screen", forbidden: "forbidden", startUsing: "Start Using", systemCode: "System Code", code: "Code", emptyValue: "Empty Value", expand: "Expand", collapse: "Collapse", noData: "No Data", confirmClosePage: "Are you sure you want to close this page? Unsaved data will be lost.", noMoreData: "No more data" }, imatrixUIMessage: { whetherToConfirmDeletion: "Whether To Confirm Deletion", tips: "Tips", pleaseEnterContent: "Please Enter Content", internalServerError: "Server error", pleaseSelectDepartment: "Please Select Department", pleaseSelectPersonnel: "Please Select Personnel", pleaseRemoveallpersonnelBeforeSelectingSpecificPersonnel: "Please Remove All Personnel Before Selecting Specific Personnel", queryResultIsEmpty: "Query Result Is Empty", pleaseSelectATeam: "Please Select A Team", pleaseEnterTeamName: "Please Enter Team Info Filter", validationFailed: "Validation Failed", selectionDate: "Selection Date", selectTime: "Select Time", pleaseEnterATimePoint: "Please Enter A Time Point", pleaseSelect: "Please Select", startDate: "Start Date", endDate: "End Date", noExportColumnsConfigured: "No Export Columns Configured", organizationTreeNoResultNotRemove: "No information selected, no need to remove", exceedFileSize: "File size limit {filesize} M exceeded", upload: "Upload", invalideDoubleValue: "{num} is not a legal decimal", noJumpPage: "Jump page not configured", saveSuccessfully: "Savee successfully", pleaseInputSearchCondition: "Please enter the query criteria", fileUpload: "File Upload", selectYear: "Select Year", search: "Search", forbiddenException: "You do not have permission to access", theButtonIsNotBoundToAResource: "The button is not bound to a resource, Bind the resource first", asyncExport: "Asynchronous export, please wait for message notification!", selectedWorkingGroup: "Selected working group", forbiddenExceptionLinkUrl: "please click to apply", forbiddenExceptionLinkUser: "if you have any questions,please contact", uploadFileTip: "The file size should lower {fileSize}M", asyncExportJumpMsg: "Or click me to jump to download page.", mustFill: "{label} must fill", filePathNotFound: "File UUID not found, please check the configuration", pleaseSelectDeleteData: "Please select the data to delete" }, superGrid: { editablePlaceholder: "Please click to input", rowEditMessageBox: { title: "Operation Confirmation", content: "There are unsaved modifications in the current row. Do you want to save the modifications and switch?", confirmButton: "Save edit", cancelButton: "Discard edit" }, columnConfig: "Column Config", pleaseSaveOrCancelEditingLine: "Please Save Or Cancel Editing Line {row} Data First", pleaseSaveLine: "Please Save Line {row} Data First", noNeedToSaveRow: "No Need To Save Row {row} Data", pleaseSetURLToSaveRowInformation: 'Please set "URL to save row information"', lineSavedSuccessfully: "Line {row} Saved Successfully", theReturnValueOfTheBeforesaveCallbackMethodIsFalse: "The Return Value Of The Beforesave Callback Method Is False", lineNoNeedToUndoEdit: "Line {row} No Need To Undo Edit", lineCancelledSuccessfully: "Line {row} cancelled successfully", label: "Label", isShow: "Is Show", isExportable: "Is Exportable", recordLine: "Record line {row}", pageRecordLine: "Record in row {row} of page {pageNum}", fileName: "File Name", deleteSuccessful: "Deleted successfully", index: "No.", searchConditionName: "Search Condition Name", pleaseInputSearchConditionName: "Please enter the name of the query criteria", saveCondition: "Save Condition", saveConditionTitle: "Save Condition", displayOrder: "Display Order", searchDisplayOrder: "Search Display Order", width: "Column Width", default: "Default", custom: "Custom", show: "Show", hidden: "Hidden", export: "Export", unExport: "Not Export", whetherToConfirmReset: "Are you sure you want to reset?", resetSuccessful: "Reset successfully", dragColumnOrderMessage: "Supports dragging to change column order", selectAll: "Select All", viewImage: "View Image", previewTitleWhenNotImg: "Non picture format, preview in other ways", refresh: "Refresh", open: "Open", fold: "Fold", prevRow: "Prev Row", nextRow: "Next Row", detail: "Detail", searchEmpty: "Search Empty", canntAddTip: "Does not meet the new operation conditions, cannot perform the new operation, please check!", rowCanntDeleteTip: "Does not meet the delete operation conditions, cannot perform the delete operation, please check!", rowCanntEditTip: "Does not meet the edit operation conditions, cannot perform the edit operation, please check!", searchCondition: "Search Conditon", orderField: "Order Field", orderType: "Order Type", orderTypeAsc: "Asc", orderTypeDesc: "Desc", close: "Close" }, departmentTree: {}, departmentTreeInline: { pleaseEnterDepartmentName: "Please Enter Department Info Filter", name: "Department Name", code: "Department Code", removeDepartment: "Remove Department", selectedDept: "Selected Departments", namePath: "Name Path", allCheck: "Check All", pleaseInputNameOrCode: "Please Input Name Or Code", selectResultInfoHasSelect: "Has select:", selectResultInfo: "{num} departments (including sub departments)", selectResultTitle: "Has Select Result" }, departmentUserTree: { pleaseEnterUserInformation: "Please Enter User Information Filter", selectedPeople: "Selected People", searchFieldUserName: "Name", searchFieldLoginName: "Login Name", searchFieldEmail: "Email", searchFieldTelephone: "Telephone", searchFieldJobNumber: "Job Number", searchFieldHonorificName: "Honorific", selectUserResultInfo: "{useNum} Users", selectDeptResultInfo: "{num} departments(including sub departments)" }, departmentUserTreeInline: { name: "Name", department: "Department", branch: "Branch", removeUser: "Remove User", email: "Email", loginName: "Login Name", superiorDeptNameFullPath: "Department full path", user: "User", groupName: "Name", groupForm: "Group Form", groupList: "Group List", group: "Group", orgTree: "Organization Tree", groupNameNotEmpty: "Group name is required" }, workgroupTree: { allTeamMembers: "All Team Members", name: "Workgroup Name", code: "Workgroup Code", removeWorkgroup: "Remove Workgroup", workingGroupName: "Working Group Name", workingGroupNumber: "Working Group Number", workgroupDescription: "Workgroup Description", selectResultInfo: "{num} workgroups" }, workflowButton: { save: "Save", submit: "Submit", approve: "Approve", refuse: "Refuse", agreement: "Agree", oppose: "Opposition", kiken: "Abstention", get_back_button: "Retrieve", copy: "Copy", draw: "Draw", abandon_draw: "Give Up Draw", add_sign: "Additional Signature", remove_sign: "Reduction Of Signature", signoff: "Sign For", assign: "Hand over", assign_task: "Transfer", readed: "Readed", export_report: "Export Report", draw_dept_task: "Draw Department", abandon_draw_dept_task: "Give Up Draw Department" }, workflowHistoryList: { specailText: "specail", index: "Index", taskName: "Task Name", operation: "Operation", opinion: "Opinion", processStart: "Process Start", processEnd: "Process End", process_start: "[{1}] process start", prcoess_end: "[{1}] process End", force_end_process: "{key_1}forced to end the process, and the task of [{key_2}] was canceled", history_jump: "Process {key_3} to [{key_1}], [{key_2}] task cancelled", history_back: "{key_1} returned to task,process returned to [{key_2}]", history_removesign: "{key_1} minus [{key_2}]", history_changetransactor_and_delegate: "{key_1} changed the handler [{key_2}] to [{key_3}], [{key_4}] delegated the task to [{key_5}]", history_changetransactor: "{key_1} changed handler [{key_2}] to [{key_3}]", history_addsign: "{key_1} sign [{key_2}]", history_addtransactor: "{key_1} add handler [{key_2}]", history_removetransactor: "{key_1} decrease handler [{key_2}]", history_delegate_and_assign: "{key_1} assigned tasks to [{key_2}], [{key_3}] delegated tasks to [{key_4}]", history_assign: "{key_1} assigned task to [{key_2}]", transfer: "{key_1} transferred to [{key_2}]", history_complete_transfer: "{key_1} execute [{key_2}] operation and canceled the task of other receivers [{key_3}]", history_delegate_receive: "{key_1} retracts the task entrusted to [{key_2}]", history_delegate: "{key_1} has delegated task [{key_2}] to [{key_3}]", history_quit_transfer: "{key_1} Resignation, has transferred task [{key_2}] to [{key_3}", history_change_job_transfer: "{key_1} Change job,has transferred task [{key_2}] to [{key_3}", commonButtonOperation: "{key_1} execute [{key_2}] operation", history_draw_task: "{key_1} received the task and cancelled the task of the candidate [{key_2}]", history_abandon_draw: "{key_1} gives up the task and restores the task of candidate [{key_2}]", create_copy_task: "{key_1} The task was copied to [{key_2}", toDoText: "Todo", operator: "Operator", operatorLg: "Operator Login Name", operatorDept: "Operator Dept", operationTime: "Operation Time", history_draw_dept_task: "{key_1} Received tasks from department [{key_2}]", history_abandon_draw_dept_task: "{key_1} Abandon the task of receiving department [{key_2}]", remark: "remark", taskState: "Task State", processingDuration: "Processing Duration(H)", stayDuration: "Stay Duration", isOverdue: "Is Overdue", taskStateDoing: "Doing", taskStateDone: "Done" }, gateway: { timeout: "Interface call timeout", callFailed: "Interface call failed" }, superNineGrid: { add: "Create" }, fsUpload: { upload: "Upload", download: "Download", delete: "Delete", deleteSuccessful: "Delete successful", preview: "Preview", name: "Name", picture: "Picture", operating: "Operating", uploadSucceeded: "Upload succeeded", theNumberOfUploadsExceedsTheLimitTheLimitIs: "The number of uploads exceeds the limit. The limit is", image: "Image", video: "Video", updateSuccess: "Update success", more: "More", uploadFailed: "Upload failed!" }, messageVideo: { attemptingToIdentify: "Attempting to identify", callingRearCamera: "Calling rear camera", identificationFailed: "Identification failed" }, IntervalSelection: { year: "year", quarter: "quarter", auxiliary: "auxiliary word for ordinal numbers", week: "week", month: "month", day: "day", tian: "day", hour: "hour", minute: "minute", second: "second" }, imatrixUIPromptMessage: { NoContent: "No content" }, chatEmbed: { name: "AI Assistant", history: "History", minimize: "Minimize", fullscreen: "Full Screen", close: "Close", regenerate: "Regenerate", copy: "Copy", newChat: "New Chat", copySuccess: "Copy successful", requestFailed: "Request failed!" } }, cn = { imatrixUIPublicModel: { sure: "确定", cancel: "取消", allDepartments: "所有部门", allUsers: "所有用户", reset: "重置", to: "至", edit: "操作", clear: "清空", download: "下载", delete: "删除", preview: "预览", add: "增加", more: "更多", graphView: "图形视图", listView: "列表视图", fieldName: "字段名(*)", operator: "操作符", value: "值(*)", andOr: "并且/或者", whenTheVariableIsEmpty: "变量为空时", perhaps: "或者", also: "并且", greaterThan: "大于", lessThan: "小于", beEqualTo: "等于", notGreaterThan: "不大于", notLessThan: "不小于", notEqualTo: "不等于", contain: "包含", notIncluded: "不包含", laterThan: "晚于", earlierThan: "早于", noLaterThan: "不晚于", noEarlierThan: "不早于", ignore11: "忽略(1=1)", nonConformity: "不符合(1<>1)", switchToNormalQuery: "切换为普通查询", switchToAdvancedQuery: "切换为高级查询", isNull: "等于Null", isNotNull: "不等于Null", previewImage: "预览图片", fullScreen: "全屏", forbidden: "禁用", startUsing: "启用", systemCode: "系统编码", code: "编码", emptyValue: "空值", expand: "展开", collapse: "收起", noData: "暂无数据", confirmClosePage: "确认关闭此页面吗?未保存的数据将会丢失。", noMoreData: "没有更多数据了" }, imatrixUIMessage: { whetherToConfirmDeletion: "是否确认删除", tips: "提示", pleaseEnterContent: "请输入内容", internalServerError: "请求失败", pleaseSelectDepartment: "请选择部门", pleaseSelectPersonnel: "请选择人员", pleaseRemoveallpersonnelBeforeSelectingSpecificPersonnel: "请先移除所有人员,再选择具体人员", queryResultIsEmpty: "查询结果为空", pleaseSelectATeam: "请选择工作组", pleaseEnterTeamName: "请输入工作组信息筛选", validationFailed: "验证失败", selectionDate: "选择日期", selectTime: "选择时间", pleaseEnterATimePoint: "请输入时间点", pleaseSelect: "请选择", startDate: "开始日期", endDate: "结束日期", noExportColumnsConfigured: "没有配置导出列", organizationTreeNoResultNotRemove: "未选择任何信息,无需移除", exceedFileSize: "超过文件大小限制{fileSize}M", upload: "上传", invalideDoubleValue: "{num} 不是合法的小数", noJumpPage: "未配置跳转页面", saveSuccessfully: "保存成功", pleaseInputSearchCondition: "请输入查询条件", fileUpload: "文件上传", selectYear: "选择年", search: "查询", forbiddenException: "您没有权限访问", theButtonIsNotBoundToAResource: "该按钮未绑定资源,请先绑定资源", asyncExport: "正在异步导出,请等待消息通知!", selectedWorkingGroup: "已选工作组", forbiddenExceptionLinkUrl: "请点击进行权限申请", forbiddenExceptionLinkUser: "如有疑问请联系", uploadFileTip: "上传的文件不超过{fileSize}M", asyncExportJumpMsg: "或点击我跳转到下载页面", mustFill: "{label} 必须填写", filePathNotFound: "文件UUID未找到,请检查配置", pleaseSelectDeleteData: "请选择要删除的数据" }, superGrid: { editablePlaceholder: "请点击输入", rowEditMessageBox: { title: "操作确认", content: "当前行有未保存的修改,是否进行保存修改切换?", confirmButton: "保存修改", cancelButton: "放弃修改" }, columnConfig: "字段配置", pleaseSaveOrCancelEditingLine: "请先保存或撤销编辑第 {row} 行数据", pleaseSaveLine: "请先保存第 {row} 行数据", noNeedToSaveRow: "无需保存第 {row} 行数据", pleaseSetURLToSaveRowInformation: "请设置“保存行信息的url”", lineSavedSuccessfully: "第 {row} 行保存成功", theReturnValueOfTheBeforesaveCallbackMethodIsFalse: "beforeSave回调方法返回值为false", lineNoNeedToUndoEdit: "第 {row} 行无需撤销编辑", lineCancelledSuccessfully: "第 {row} 行撤销成功", label: "字段名", isShow: "是否显示", isExportable: "是否导出", recordLine: "第 {row} 行记录", pageRecordLine: "第 {pageNum} 页第 {row} 行记录", fileName: "文件名称", deleteSuccessful: "删除成功", index: "序号", searchConditionName: "查询条件名称", pleaseInputSearchConditionName: "请输入查询条件名称", saveCondition: "保存条件", saveConditionTitle: "保存查询条件", displayOrder: "显示顺序", searchDisplayOrder: "查询显示顺序", width: "列宽", default: "默认", custom: "自定义", show: "显示", hidden: "隐藏", export: "导出", unExport: "不导出", whetherToConfirmReset: "是否确认重置?", resetSuccessful: "重置成功", dragColumnOrderMessage: "支持拖动改变列顺序", selectAll: "全选", viewImage: "查看图片", previewTitleWhenNotImg: "非图片格式,使用其它方式预览", refresh: "刷新", open: "展开", fold: "收起", prevRow: "上一行", nextRow: "下一行", detail: "详情", searchEmpty: "查询空值", canntAddTip: "不满足新建操作条件,不能执行新建操作,请检查!", rowCanntDeleteTip: "不满足删除操作条件,不能执行删除操作,请检查!", rowCanntEditTip: "不满足编辑操作条件,不能执行编辑操作,请检查!", searchCondition: "查询条件", orderField: "排序字段", orderType: "排序方式", orderTypeAsc: "升序", orderTypeDesc: "降序", close: "关闭" }, departmentTree: {}, departmentTreeInline: { pleaseEnterDepartmentName: "请输入部门信息筛选", name: "部门名称", code: "部门编码", removeDepartment: "移除部门", selectedDept: "已选部门", namePath: "名称路径", allCheck: "全选", pleaseInputNameOrCode: "请输入名称/编码", selectResultInfoHasSelect: "已选择:", selectResultInfo: "{num}个部门(含子部门)", selectResultTitle: "已选择信息" }, departmentUserTree: { pleaseEnterUserInformation: "请输入用户信息筛选", selectedPeople: "已选人员", searchFieldUserName: "姓名", searchFieldLoginName: "登录名", searchFieldEmail: "邮箱", searchFieldTelephone: "手机号", searchFieldJobNumber: "工号", searchFieldHonorificName: "尊称", selectUserResultInfo: "{userNum}个用户", selectDeptResultInfo: "{deptNum}个部门(含子部门)" }, departmentUserTreeInline: { name: "姓名", department: "所属部门", branch: "所属分支", removeUser: "移除用户", email: "邮箱", loginName: "登录名", superiorDeptNameFullPath: "组织全路径", user: "用户", groupName: "名称", groupForm: "群组表单", groupList: "群组维护", group: "群组", orgTree: "组织树", groupNameNotEmpty: "群组名称必填" }, workgroupTree: { allTeamMembers: "所有工作组人员", name: "工作组名称", code: "工作组编码", removeWorkgroup: "移除工作组", workingGroupName: "工作组名称", workingGroupNumber: "工作组编号", workgroupDescription: "工作组描述", selectResultInfo: "{num}个工作组" }, workflowButton: { save: "暂存", submit: "提交", approve: "同意", refuse: "不同意", agreement: "赞成", oppose: "反对", kiken: "弃权", get_back_button: "取回", copy: "抄送", draw: "领取", abandon_draw: "放弃领取", add_sign: "加签", remove_sign: "减签", signoff: "签收", assign: "交办", assign_task: "转办", readed: "已阅", export_report: "导出报告", draw_dept_task: "部门领取", abandon_draw_dept_task: "放弃部门领取" }, workflowHistoryList: { specailText: "特", index: "序号", taskName: "环节名称", operation: "流转操作", opinion: "办理意见", processStart: "流程开始", processEnd: "流程结束", process_start: "[{key_1}]流程开始", prcoess_end: "[{key_1}]流程结束", force_end_process: "{key_1}强制结束了该流程,[{key_2}]的任务被取消", history_jump: "流程{key_3}到[{key_1}],[{key_2}]的任务被取消", history_back: "{key_1}退回任务,流程退回到[{key_2}]", history_removesign: "{key_1}给[{key_2}]减签", history_changetransactor_and_delegate: "{key_1}把办理人[{key_2}]更改成[{key_3})],{key_4}把任务委托给了[{key_5}]", history_changetransactor: "{key_1}把办理人[{2}]更改成[{key_3}]", history_addsign: "{key_1}给[{key_2}]加签", history_addtransactor: "{key_1}增加办理人[{key_2}]", history_removetransactor: "{key_1}减少办理人[{key_2}]", history_delegate_and_assign: "{key_1}把任务指派给了[{key_2}],[{key_3}]把任务委托给了[{key_4}]", history_assign: "{key_1}把任务指派给了[{key_2}]", transfer: "{key_1}移交给[{key_2}]", history_complete_transfer: "{key_1}执行了[{key_2}]操作,取消了其它接收人[{key_3}]的任务", history_delegate_receive: "{key_1}收回委托给[{key_2}]的任务", history_delegate: "{key_1}已把任务[{key_2}]委托给[{key_3}]", history_quit_transfer: "{key_1}离职,已把任务[{2}]移交给了[{key_3}]", history_change_job_transfer: "{1}换岗,已把任务[{2}]移交给了[{key_3}]", commonButtonOperation: "{key_1}执行了[{key_2}]操作", history_draw_task: "{key_1}领取了任务,取消了候选人[{key_2}]的任务", history_abandon_draw: "{key_1}放弃领取该任务,还原了候选人[{key_2}]的任务", create_copy_task: "{key_1}把任务抄送给了[{key_2}]", toDoText: "待处理", operator: "操作人", operatorLg: "操作人登录名", operatorDept: "操作人部门", operationTime: "操作时间", history_draw_dept_task: "{key_1}领取了部门[{key_2}]的任务", history_abandon_draw_dept_task: "{key_1}放弃领取部门[{key_2}]的任务", remark: "备注", taskState: "节点状态", processingDuration: "处理时长(H)", stayDuration: "停留时长", isOverdue: "是否超期", taskStateDoing: "进行中", taskStateDone: "已完成" }, gateway: { timeout: "接口调用超时", callFailed: "接口调用失败" }, superNineGrid: { add: "新建" }, fsUpload: { upload: "上传", download: "下载", delete: "删除", deleteSuccessful: "删除成功", preview: "预览", name: "名称", picture: "图片", operating: "操作", uploadSucceeded: "上传成功", theNumberOfUploadsExceedsTheLimitTheLimitIs: "上传数量超过限制,限制数量为", image: "图片", video: "视频", updateSuccess: "更新成功", more: "更多", uploadFailed: "上传失败!" }, messageVideo: { attemptingToIdentify: "正在尝试识别....", callingRearCamera: "正在调用后置摄像头...", identificationFailed: "识别失败" }, IntervalSelection: { year: "年", quarter: "季度", auxiliary: "第", week: "周", month: "月", day: "日", tian: "天", hour: "小时", minute: "分钟", second: "秒" }, imatrixUIPromptMessage: { NoContent: "暂无内容" }, chatEmbed: { name: "AI小助手", history: "历史记录", minimize: "缩小", fullscreen: "全屏", close: "关闭", regenerate: "重新生成", copy: "复制", newChat: "新建会话", copySuccess: "复制成功", requestFailed: "请求会话失败!" } }, messages = { en, cn }, i18n = vueI18n.createI18n({ locale: "cn", messages, legacy: false });
1239
1258
  class CalculatorFactory {
1240
1259
  constructor() {
1241
1260
  if (new.target === CalculatorFactory)
@@ -2573,10 +2592,10 @@
2573
2592
  return true;
2574
2593
  }
2575
2594
  return false;
2576
- }, filterDept: (e2) => (t2) => t2.id === e2.id }, emits: ["removeUser", "addUser", "selectResult", "resultRowDblclick"] }, _hoisted_1$1N = { style: { height: "100%" } }, _hoisted_2$1b = ["title"], _hoisted_3$T = ["title"], _hoisted_4$E = ["title"], _hoisted_5$t = { class: "empty_center_area", style: { height: "395px" } }, _hoisted_6$n = { class: "empty_notAvailable", style: { width: "120px", height: "120px" } }, _hoisted_7$f = { class: "empty_notAvailable_text" };
2595
+ }, filterDept: (e2) => (t2) => t2.id === e2.id }, emits: ["removeUser", "addUser", "selectResult", "resultRowDblclick"] }, _hoisted_1$1N = { style: { height: "100%" } }, _hoisted_2$1b = ["title"], _hoisted_3$T = ["title"], _hoisted_4$E = ["title"], _hoisted_5$v = { class: "empty_center_area", style: { height: "395px" } }, _hoisted_6$o = { class: "empty_notAvailable", style: { width: "120px", height: "120px" } }, _hoisted_7$g = { class: "empty_notAvailable_text" };
2577
2596
  function _sfc_render$1t(e2, t2, o, n, i2, a) {
2578
2597
  const l = Vue.resolveComponent("el-radio"), s = Vue.resolveComponent("el-table-column"), r = Vue.resolveComponent("el-button"), u = Vue.resolveComponent("el-table");
2579
- return Vue.openBlock(), Vue.createElementBlock("div", _hoisted_1$1N, [Vue.createVNode(u, { ref: "superGrid", data: o.gridData, "max-height": i2.myHeight, "row-class-name": a.tableRowClassName, border: "", fit: "", "row-key": "id", onRowClick: a.rowClick, onRowDblclick: a.rowDblclick }, { empty: Vue.withCtx(() => [Vue.createElementVNode("div", _hoisted_5$t, [Vue.createElementVNode("div", _hoisted_6$n, [Vue.createElementVNode("span", _hoisted_7$f, Vue.toDisplayString(e2.$t("imatrixUIPromptMessage.NoContent")), 1)])])]), default: Vue.withCtx(() => [false === o.multiple ? (Vue.openBlock(), Vue.createBlock(s, { key: 0, width: "60" }, { default: Vue.withCtx((e3) => [Vue.createVNode(l, { modelValue: i2.singleUserIndex, "onUpdate:modelValue": t2[0] || (t2[0] = (e4) => i2.singleUserIndex = e4), label: e3.$index, onChange: a.selectUser }, { default: Vue.withCtx(() => [Vue.createTextVNode(Vue.toDisplayString(e3.$index + 1), 1)]), _: 2 }, 1032, ["modelValue", "label", "onChange"])]), _: 1 })) : Vue.createCommentVNode("", true), o.multiple && o.isSearchResult ? (Vue.openBlock(), Vue.createBlock(s, { key: 1, label: e2.$t("imatrixUIPublicModel.edit"), align: "center", fixed: "", width: "60px" }, { default: Vue.withCtx((e3) => [Vue.createElementVNode("div", null, [Vue.createVNode(r, { disabled: a.isDisable(e3.row), icon: i2.ElIconPlus, circle: "", size: "default", type: "primary", onClick: (t3) => a.addUser(e3.$index, e3.row) }, null, 8, ["disabled", "icon", "onClick"])])]), _: 1 }, 8, ["label"])) : Vue.createCommentVNode("", true), o.multiple ? (Vue.openBlock(), Vue.createBlock(s, { key: 2, label: e2.$t("superGrid.index"), align: "center", width: "60px" }, { default: Vue.withCtx((e3) => [Vue.createTextVNode(Vue.toDisplayString(e3.$index + 1), 1)]), _: 1 }, 8, ["label"])) : Vue.createCommentVNode("", true), o.multiple && !o.isSearchResult ? (Vue.openBlock(), Vue.createBlock(s, { key: 3, label: e2.$t("imatrixUIPublicModel.edit"), align: "center", fixed: "right", width: "60px" }, { default: Vue.withCtx((e3) => [Vue.createElementVNode("div", null, [Vue.createVNode(r, { icon: i2.ElIconDelete, circle: "", size: "default", type: "danger", onClick: (t3) => a.removeUser(e3.$index, e3.row) }, null, 8, ["icon", "onClick"])])]), _: 1 }, 8, ["label"])) : Vue.createCommentVNode("", true), Vue.createVNode(s, { label: e2.$t("departmentTreeInline.name"), width: 170, prop: "name" }, { default: Vue.withCtx((e3) => [Vue.createElementVNode("span", { title: e3.row.showName, class: "ellipsis cell--span" }, Vue.toDisplayString(e3.row.showName), 9, _hoisted_2$1b)]), _: 1 }, 8, ["label"]), Vue.createVNode(s, { label: e2.$t("departmentTreeInline.code"), width: 140, prop: "code" }, { default: Vue.withCtx((e3) => [Vue.createElementVNode("span", { title: e3.row.code, class: "ellipsis cell--span" }, Vue.toDisplayString(e3.row.code), 9, _hoisted_3$T)]), _: 1 }, 8, ["label"]), Vue.createVNode(s, { label: e2.$t("departmentTreeInline.namePath"), "min-width": 200, prop: "namePath" }, { default: Vue.withCtx((e3) => [Vue.createElementVNode("span", { title: e3.row.namePath, class: "ellipsis cell--span" }, Vue.toDisplayString(e3.row.namePath), 9, _hoisted_4$E)]), _: 1 }, 8, ["label"])]), _: 1 }, 8, ["data", "max-height", "row-class-name", "onRowClick", "onRowDblclick"])]);
2598
+ return Vue.openBlock(), Vue.createElementBlock("div", _hoisted_1$1N, [Vue.createVNode(u, { ref: "superGrid", data: o.gridData, "max-height": i2.myHeight, "row-class-name": a.tableRowClassName, border: "", fit: "", "row-key": "id", onRowClick: a.rowClick, onRowDblclick: a.rowDblclick }, { empty: Vue.withCtx(() => [Vue.createElementVNode("div", _hoisted_5$v, [Vue.createElementVNode("div", _hoisted_6$o, [Vue.createElementVNode("span", _hoisted_7$g, Vue.toDisplayString(e2.$t("imatrixUIPromptMessage.NoContent")), 1)])])]), default: Vue.withCtx(() => [false === o.multiple ? (Vue.openBlock(), Vue.createBlock(s, { key: 0, width: "60" }, { default: Vue.withCtx((e3) => [Vue.createVNode(l, { modelValue: i2.singleUserIndex, "onUpdate:modelValue": t2[0] || (t2[0] = (e4) => i2.singleUserIndex = e4), label: e3.$index, onChange: a.selectUser }, { default: Vue.withCtx(() => [Vue.createTextVNode(Vue.toDisplayString(e3.$index + 1), 1)]), _: 2 }, 1032, ["modelValue", "label", "onChange"])]), _: 1 })) : Vue.createCommentVNode("", true), o.multiple && o.isSearchResult ? (Vue.openBlock(), Vue.createBlock(s, { key: 1, label: e2.$t("imatrixUIPublicModel.edit"), align: "center", fixed: "", width: "60px" }, { default: Vue.withCtx((e3) => [Vue.createElementVNode("div", null, [Vue.createVNode(r, { disabled: a.isDisable(e3.row), icon: i2.ElIconPlus, circle: "", size: "default", type: "primary", onClick: (t3) => a.addUser(e3.$index, e3.row) }, null, 8, ["disabled", "icon", "onClick"])])]), _: 1 }, 8, ["label"])) : Vue.createCommentVNode("", true), o.multiple ? (Vue.openBlock(), Vue.createBlock(s, { key: 2, label: e2.$t("superGrid.index"), align: "center", width: "60px" }, { default: Vue.withCtx((e3) => [Vue.createTextVNode(Vue.toDisplayString(e3.$index + 1), 1)]), _: 1 }, 8, ["label"])) : Vue.createCommentVNode("", true), o.multiple && !o.isSearchResult ? (Vue.openBlock(), Vue.createBlock(s, { key: 3, label: e2.$t("imatrixUIPublicModel.edit"), align: "center", fixed: "right", width: "60px" }, { default: Vue.withCtx((e3) => [Vue.createElementVNode("div", null, [Vue.createVNode(r, { icon: i2.ElIconDelete, circle: "", size: "default", type: "danger", onClick: (t3) => a.removeUser(e3.$index, e3.row) }, null, 8, ["icon", "onClick"])])]), _: 1 }, 8, ["label"])) : Vue.createCommentVNode("", true), Vue.createVNode(s, { label: e2.$t("departmentTreeInline.name"), width: 170, prop: "name" }, { default: Vue.withCtx((e3) => [Vue.createElementVNode("span", { title: e3.row.showName, class: "ellipsis cell--span" }, Vue.toDisplayString(e3.row.showName), 9, _hoisted_2$1b)]), _: 1 }, 8, ["label"]), Vue.createVNode(s, { label: e2.$t("departmentTreeInline.code"), width: 140, prop: "code" }, { default: Vue.withCtx((e3) => [Vue.createElementVNode("span", { title: e3.row.code, class: "ellipsis cell--span" }, Vue.toDisplayString(e3.row.code), 9, _hoisted_3$T)]), _: 1 }, 8, ["label"]), Vue.createVNode(s, { label: e2.$t("departmentTreeInline.namePath"), "min-width": 200, prop: "namePath" }, { default: Vue.withCtx((e3) => [Vue.createElementVNode("span", { title: e3.row.namePath, class: "ellipsis cell--span" }, Vue.toDisplayString(e3.row.namePath), 9, _hoisted_4$E)]), _: 1 }, 8, ["label"])]), _: 1 }, 8, ["data", "max-height", "row-class-name", "onRowClick", "onRowDblclick"])]);
2580
2599
  }
2581
2600
  const UserResult$1 = _export_sfc(_sfc_main$2j, [["render", _sfc_render$1t]]), memoryCacheUtils = { memorySearch(e2, t2) {
2582
2601
  var o = this.memoryCacheData;
@@ -2678,10 +2697,10 @@
2678
2697
  });
2679
2698
  }
2680
2699
  this.selectResult = this.removeRow(this.selectResult, t2), this.selectResult && 0 !== this.selectResult.length || this.$refs.deparmentTree && this.$refs.deparmentTree.setCheckedKeys([]);
2681
- } }, emits: ["result"] }, _hoisted_1$1L = { key: 0, style: { "padding-top": "5px", overflow: "auto", width: "100%", display: "inline-block !important" } }, _hoisted_2$19 = ["title"], _hoisted_3$S = { key: 1, style: { height: "100%", overflow: "hidden" } }, _hoisted_4$D = { style: { "text-align": "left", "font-size": "16px" } }, _hoisted_5$s = { style: "padding-top: 5px;height:90%;overflow: hidden;" };
2700
+ } }, emits: ["result"] }, _hoisted_1$1L = { key: 0, style: { "padding-top": "5px", overflow: "auto", width: "100%", display: "inline-block !important" } }, _hoisted_2$19 = ["title"], _hoisted_3$S = { key: 1, style: { height: "100%", overflow: "hidden" } }, _hoisted_4$D = { style: { "text-align": "left", "font-size": "16px" } }, _hoisted_5$u = { style: "padding-top: 5px;height:90%;overflow: hidden;" };
2682
2701
  function _sfc_render$1s(e2, t2, o, n, i2, a) {
2683
2702
  const l = Vue.resolveComponent("el-button"), s = Vue.resolveComponent("el-autocomplete"), r = Vue.resolveComponent("el-header"), u = Vue.resolveComponent("Menu"), c = Vue.resolveComponent("Tickets"), d = Vue.resolveComponent("Calendar"), p = Vue.resolveComponent("el-icon"), m = Vue.resolveComponent("el-tree"), h2 = Vue.resolveComponent("EmptyState"), g = Vue.resolveComponent("user-result"), f = Vue.resolveComponent("el-main"), A = Vue.resolveComponent("el-container"), y = Vue.resolveComponent("el-aside"), w = Vue.resolveDirective("loading");
2684
- return Vue.openBlock(), Vue.createElementBlock("div", null, [Vue.createVNode(A, { style: { height: "395px" } }, { default: Vue.withCtx(() => [Vue.createVNode(y, { width: "350px" }, { default: Vue.withCtx(() => [Vue.createVNode(A, { style: { height: "390px" } }, { default: Vue.withCtx(() => [Vue.createVNode(r, { style: { "text-align": "right", "font-size": "12px", height: "35px" } }, { default: Vue.withCtx(() => [Vue.createVNode(s, { modelValue: i2.filterText, "onUpdate:modelValue": t2[0] || (t2[0] = (e3) => i2.filterText = e3), "fetch-suggestions": e2.querySearch, placeholder: e2.$t("departmentTreeInline.pleaseEnterDepartmentName"), class: "inline-input inline-input-custom", size: "default", onSelect: e2.handleSelect, onKeyup: Vue.withKeys(e2.clickSearch, ["enter"]) }, { append: Vue.withCtx(() => [Vue.createVNode(l, { icon: i2.ElIconSearch, size: "default", onClick: e2.clickSearch }, null, 8, ["icon", "onClick"])]), _: 1 }, 8, ["modelValue", "fetch-suggestions", "placeholder", "onSelect", "onKeyup"])]), _: 1 }), Vue.createVNode(f, { style: { padding: "10px" } }, { default: Vue.withCtx(() => [i2.searchValue ? Vue.createCommentVNode("", true) : (Vue.openBlock(), Vue.createElementBlock(Vue.Fragment, { key: 0 }, [i2.canShowOrgTree ? (Vue.openBlock(), Vue.createElementBlock("div", _hoisted_1$1L, [Vue.createVNode(m, { ref: "deparmentTree", "filter-node-method": a.filterNode, load: e2.loadNode, props: i2.defaultProps, "show-checkbox": true, "check-strictly": "", lazy: "", "node-key": "id", onCheck: e2.handleCheckNode, onCheckChange: a.handleCheckChange, onNodeExpand: a.handleNodeExpand, onNodeClick: a.handleNodeClick }, { default: Vue.withCtx(({ node: e3, data: t3 }) => [Vue.createElementVNode("span", null, [Vue.createVNode(p, null, { default: Vue.withCtx(() => [-1 === e3.data.id || e3.data.branch ? (Vue.openBlock(), Vue.createBlock(u, { key: 0 })) : -2 === e3.data.id || -3 === e3.data.id ? (Vue.openBlock(), Vue.createBlock(c, { key: 1 })) : (Vue.openBlock(), Vue.createBlock(d, { key: 2 }))]), _: 2 }, 1024), Vue.createElementVNode("span", { title: e3.label }, Vue.toDisplayString(e3.label), 9, _hoisted_2$19)])]), _: 1 }, 8, ["filter-node-method", "load", "props", "onCheck", "onCheckChange", "onNodeExpand", "onNodeClick"])])) : (Vue.openBlock(), Vue.createBlock(h2, { key: 1, style: { width: "100%", height: "100%" } }))], 64)), i2.searchValue && i2.searchValue.length > 0 ? (Vue.openBlock(), Vue.createElementBlock("div", _hoisted_3$S, [Vue.createVNode(g, { "grid-data": i2.searchResult, height: o.height, "is-search-result": true, multiple: true, "select-result": i2.selectResult, onAddUser: a.selectUser }, null, 8, ["grid-data", "height", "select-result", "onAddUser"])])) : Vue.createCommentVNode("", true)]), _: 1 })]), _: 1 })]), _: 1 }), Vue.createVNode(A, null, { default: Vue.withCtx(() => [Vue.createVNode(f, { style: { padding: "10px" } }, { default: Vue.withCtx(() => [Vue.createElementVNode("div", _hoisted_4$D, Vue.toDisplayString(e2.$t("departmentTreeInline.selectedDept")) + ":", 1), Vue.createElementVNode("div", _hoisted_5$s, [Vue.withDirectives(Vue.createVNode(g, { "grid-data": i2.selectResult, height: o.height, "is-search-result": false, multiple: true, onRemoveUser: a.removeUser }, null, 8, ["grid-data", "height", "onRemoveUser"]), [[w, i2.isloading]])])]), _: 1 })]), _: 1 })]), _: 1 })]);
2703
+ return Vue.openBlock(), Vue.createElementBlock("div", null, [Vue.createVNode(A, { style: { height: "395px" } }, { default: Vue.withCtx(() => [Vue.createVNode(y, { width: "350px" }, { default: Vue.withCtx(() => [Vue.createVNode(A, { style: { height: "390px" } }, { default: Vue.withCtx(() => [Vue.createVNode(r, { style: { "text-align": "right", "font-size": "12px", height: "35px" } }, { default: Vue.withCtx(() => [Vue.createVNode(s, { modelValue: i2.filterText, "onUpdate:modelValue": t2[0] || (t2[0] = (e3) => i2.filterText = e3), "fetch-suggestions": e2.querySearch, placeholder: e2.$t("departmentTreeInline.pleaseEnterDepartmentName"), class: "inline-input inline-input-custom", size: "default", onSelect: e2.handleSelect, onKeyup: Vue.withKeys(e2.clickSearch, ["enter"]) }, { append: Vue.withCtx(() => [Vue.createVNode(l, { icon: i2.ElIconSearch, size: "default", onClick: e2.clickSearch }, null, 8, ["icon", "onClick"])]), _: 1 }, 8, ["modelValue", "fetch-suggestions", "placeholder", "onSelect", "onKeyup"])]), _: 1 }), Vue.createVNode(f, { style: { padding: "10px" } }, { default: Vue.withCtx(() => [i2.searchValue ? Vue.createCommentVNode("", true) : (Vue.openBlock(), Vue.createElementBlock(Vue.Fragment, { key: 0 }, [i2.canShowOrgTree ? (Vue.openBlock(), Vue.createElementBlock("div", _hoisted_1$1L, [Vue.createVNode(m, { ref: "deparmentTree", "filter-node-method": a.filterNode, load: e2.loadNode, props: i2.defaultProps, "show-checkbox": true, "check-strictly": "", lazy: "", "node-key": "id", onCheck: e2.handleCheckNode, onCheckChange: a.handleCheckChange, onNodeExpand: a.handleNodeExpand, onNodeClick: a.handleNodeClick }, { default: Vue.withCtx(({ node: e3, data: t3 }) => [Vue.createElementVNode("span", null, [Vue.createVNode(p, null, { default: Vue.withCtx(() => [-1 === e3.data.id || e3.data.branch ? (Vue.openBlock(), Vue.createBlock(u, { key: 0 })) : -2 === e3.data.id || -3 === e3.data.id ? (Vue.openBlock(), Vue.createBlock(c, { key: 1 })) : (Vue.openBlock(), Vue.createBlock(d, { key: 2 }))]), _: 2 }, 1024), Vue.createElementVNode("span", { title: e3.label }, Vue.toDisplayString(e3.label), 9, _hoisted_2$19)])]), _: 1 }, 8, ["filter-node-method", "load", "props", "onCheck", "onCheckChange", "onNodeExpand", "onNodeClick"])])) : (Vue.openBlock(), Vue.createBlock(h2, { key: 1, style: { width: "100%", height: "100%" } }))], 64)), i2.searchValue && i2.searchValue.length > 0 ? (Vue.openBlock(), Vue.createElementBlock("div", _hoisted_3$S, [Vue.createVNode(g, { "grid-data": i2.searchResult, height: o.height, "is-search-result": true, multiple: true, "select-result": i2.selectResult, onAddUser: a.selectUser }, null, 8, ["grid-data", "height", "select-result", "onAddUser"])])) : Vue.createCommentVNode("", true)]), _: 1 })]), _: 1 })]), _: 1 }), Vue.createVNode(A, null, { default: Vue.withCtx(() => [Vue.createVNode(f, { style: { padding: "10px" } }, { default: Vue.withCtx(() => [Vue.createElementVNode("div", _hoisted_4$D, Vue.toDisplayString(e2.$t("departmentTreeInline.selectedDept")) + ":", 1), Vue.createElementVNode("div", _hoisted_5$u, [Vue.withDirectives(Vue.createVNode(g, { "grid-data": i2.selectResult, height: o.height, "is-search-result": false, multiple: true, onRemoveUser: a.removeUser }, null, 8, ["grid-data", "height", "onRemoveUser"]), [[w, i2.isloading]])])]), _: 1 })]), _: 1 })]), _: 1 })]);
2685
2704
  }
2686
2705
  const InlineDepartmentMultiTree = _export_sfc(_sfc_main$2h, [["render", _sfc_render$1s]]), departmentSingleTreeInline_vue_vue_type_style_index_0_lang = "", _sfc_main$2g = { data: () => ({ filterText: "", defaultProps: { id: "id", label: "showName", children: "childDepartments", isLeaf: "leaf" }, searchParam: { searchValue: null, treeType: "DEPARTMENT_TREE", departmentInfo: null }, count: 0, containBranch: false, tenantNodeId: -1, allSearchNodeIds: [], allExpandNodeIds: [], isClickNode: false, restaurants: [], searchValue: null, searchStoreKey: "searchDepartment", selectNodeInfo: null, tenantInfo: {}, searchResult: [], memoryCacheKey: "DEPARTMENT_MEMORY_KEY", memoryCacheData: [], ElIconSearch: ElementPlusIconsVue.Search, canShowOrgTree: false, initTreeFlag: false }), name: "InlineDepartmentSingleTree", components: { UserResult: UserResult$1, EmptyState: _sfc_main$2i }, props: { departmentInfo: { type: Array, default: null }, height: { type: String, default: "300px" }, selectDepartmentInfo: { type: [String, Number], default: null }, searchField: { type: String, default: "id" }, separator: { type: String, default: "," }, limitFilterColumn: { type: String, default: "code" } }, computed: {}, watch: { filterText(e2) {
2687
2706
  e2 || (this.searchValue = e2, this.departmentInfo && this.departmentInfo.length > 0 ? this.loadPointDepartments() : this.loadDepartment(this.tenantNodeId));
@@ -2766,7 +2785,7 @@
2766
2785
  });
2767
2786
  }
2768
2787
  function checkedDeptDefault$3(e2, t2) {
2769
- t2 = [], e2.forEach((e3) => {
2788
+ e2.forEach((e3) => {
2770
2789
  t2.push(e3.nodeId);
2771
2790
  });
2772
2791
  }
@@ -2783,7 +2802,9 @@
2783
2802
  return new Promise((i2, a) => {
2784
2803
  const l = [];
2785
2804
  e2 ? e2 === t2 || "所有部门" === e2 ? (l.push(packageAllDept(t2)), i2(l)) : getSelectDepts(o, e2, n).then((e3) => {
2786
- i2(e3);
2805
+ e3.forEach((e4) => {
2806
+ e4.nodeType = "DEPARTMENT", e4.nodeId = e4.nodeType + "~" + e4.id;
2807
+ }), i2(e3);
2787
2808
  }).catch((e3) => {
2788
2809
  a(e3);
2789
2810
  }) : i2(l);
@@ -2848,6 +2869,18 @@
2848
2869
  }
2849
2870
  return t2;
2850
2871
  }
2872
+ function getShowDeptNamePath(e2, t2) {
2873
+ let o = "";
2874
+ if (t2.namePath)
2875
+ return e2 === t2.namePath ? "" : t2.namePath;
2876
+ if (t2 && t2.data) {
2877
+ const n = JSON.parse(t2.data);
2878
+ if (e2 === n.namePath)
2879
+ return "";
2880
+ o = n.namePath;
2881
+ }
2882
+ return o;
2883
+ }
2851
2884
  const _hoisted_1$1J = { key: 1 }, _hoisted_2$17 = ["onClick"], _hoisted_3$Q = { key: 1 }, _sfc_main$2e = Vue.defineComponent({ __name: "dept-path", props: { tenantName: { type: String, default: null }, clickDepts: { type: Array, default: null } }, emits: ["clickBreadcrumb"], setup(e2, { emit: t2 }) {
2852
2885
  const o = e2;
2853
2886
  let n = Vue.ref(o.tenantName);
@@ -2858,17 +2891,17 @@
2858
2891
  const a = Vue.resolveComponent("el-breadcrumb-item"), l = Vue.resolveComponent("el-breadcrumb");
2859
2892
  return Vue.openBlock(), Vue.createBlock(l, { separator: "/" }, { default: Vue.withCtx(() => [Vue.createVNode(a, null, { default: Vue.withCtx(() => [e2.clickDepts.length > 0 ? (Vue.openBlock(), Vue.createElementBlock("span", { key: 0, class: "breadcrumb-label-link", onClick: o2[0] || (o2[0] = (e3) => i2(null, true)) }, Vue.toDisplayString(Vue.unref(n)), 1)) : (Vue.openBlock(), Vue.createElementBlock("span", _hoisted_1$1J, Vue.toDisplayString(Vue.unref(n)), 1))]), _: 1 }), (Vue.openBlock(true), Vue.createElementBlock(Vue.Fragment, null, Vue.renderList(e2.clickDepts, (t4, o3) => (Vue.openBlock(), Vue.createBlock(a, { key: t4.id }, { default: Vue.withCtx(() => [o3 < e2.clickDepts.length - 1 ? (Vue.openBlock(), Vue.createElementBlock("span", { key: 0, class: "breadcrumb-label-link", onClick: (e3) => i2(t4, false, o3) }, Vue.toDisplayString(t4.showName), 9, _hoisted_2$17)) : (Vue.openBlock(), Vue.createElementBlock("span", _hoisted_3$Q, Vue.toDisplayString(t4.showName), 1))]), _: 2 }, 1024))), 128))]), _: 1 });
2860
2893
  };
2861
- } }), _hoisted_1$1I = { style: { "text-align": "center" } }, _hoisted_2$16 = { class: "item-row" }, _hoisted_3$P = { class: "item-label" }, _hoisted_4$C = ["onClick"], _sfc_main$2d = Vue.defineComponent({ __name: "dept-result", props: { selectDepts: { type: Array, default: null } }, emits: ["removeDept"], setup(e2, { expose: t2, emit: o }) {
2894
+ } }), _hoisted_1$1I = { style: { "text-align": "center" } }, _hoisted_2$16 = { class: "item-row" }, _hoisted_3$P = { class: "item-label" }, _hoisted_4$C = { class: "item-description" }, _hoisted_5$t = ["onClick"], _sfc_main$2d = Vue.defineComponent({ __name: "dept-result", props: { selectDepts: { type: Array, default: null } }, emits: ["removeDept"], setup(e2, { expose: t2, emit: o }) {
2862
2895
  let n = Vue.ref(false);
2863
2896
  return t2({ showResult: function() {
2864
2897
  n.value = true;
2865
2898
  } }), (t3, i2) => {
2866
2899
  const a = Vue.resolveComponent("el-icon"), l = Vue.resolveComponent("el-tree"), s = Vue.resolveComponent("el-drawer");
2867
- return Vue.openBlock(), Vue.createBlock(s, { modelValue: Vue.unref(n), "onUpdate:modelValue": i2[0] || (i2[0] = (e3) => Vue.isRef(n) ? n.value = e3 : n = e3), direction: "btt", size: "80%", class: "organization-tree" }, { header: Vue.withCtx(() => [Vue.createElementVNode("div", _hoisted_1$1I, Vue.toDisplayString(t3.$t("departmentTreeInline.selectResultTitle")), 1)]), default: Vue.withCtx(() => [Vue.createVNode(l, { ref: "orgResultTreeRef", data: e2.selectDepts, "node-key": "nodeId", "check-on-click-node": "" }, { default: Vue.withCtx(({ node: e3, data: t4 }) => [Vue.createElementVNode("div", _hoisted_2$16, [Vue.createElementVNode("div", _hoisted_3$P, Vue.toDisplayString(t4.showName), 1), Vue.createElementVNode("div", { class: "item-side", onClick: (e4) => {
2900
+ return Vue.openBlock(), Vue.createBlock(s, { modelValue: Vue.unref(n), "onUpdate:modelValue": i2[0] || (i2[0] = (e3) => Vue.isRef(n) ? n.value = e3 : n = e3), direction: "btt", size: "80%", class: "organization-tree" }, { header: Vue.withCtx(() => [Vue.createElementVNode("div", _hoisted_1$1I, Vue.toDisplayString(t3.$t("departmentTreeInline.selectResultTitle")), 1)]), default: Vue.withCtx(() => [Vue.createVNode(l, { ref: "orgResultTreeRef", data: e2.selectDepts, "node-key": "nodeId", "check-on-click-node": "" }, { default: Vue.withCtx(({ node: e3, data: t4 }) => [Vue.createElementVNode("div", _hoisted_2$16, [Vue.createElementVNode("div", _hoisted_3$P, [Vue.createTextVNode(Vue.toDisplayString(t4.showName), 1), Vue.createElementVNode("span", _hoisted_4$C, Vue.toDisplayString(Vue.unref(getShowDeptNamePath)(t4.showName, t4)), 1)]), Vue.createElementVNode("div", { class: "item-side", onClick: (e4) => {
2868
2901
  o("removeDept", t4);
2869
- } }, [Vue.createVNode(a, null, { default: Vue.withCtx(() => [Vue.createVNode(Vue.unref(ElementPlusIconsVue.DeleteFilled))]), _: 1 })], 8, _hoisted_4$C)])]), _: 1 }, 8, ["data"])]), _: 1 }, 8, ["modelValue"]);
2902
+ } }, [Vue.createVNode(a, null, { default: Vue.withCtx(() => [Vue.createVNode(Vue.unref(ElementPlusIconsVue.DeleteFilled))]), _: 1 })], 8, _hoisted_5$t)])]), _: 1 }, 8, ["data"])]), _: 1 }, 8, ["modelValue"]);
2870
2903
  };
2871
- } }), noMessageImage = "data:image/png;base64,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", _hoisted_1$1H = { style: { display: "flex" } }, _hoisted_2$15 = { style: { flex: "0 0 20%", "text-align": "left" } }, _hoisted_3$O = { style: { flex: "0 0 80%", "text-align": "right" } }, _hoisted_4$B = { class: "item-row" }, _hoisted_5$r = { class: "item-label" }, _hoisted_6$m = ["onClick"], _hoisted_7$e = { style: { display: "flex" } }, _hoisted_8$b = { key: 0 }, _hoisted_9$b = { style: { "padding-left": "10px" } }, _hoisted_10$a = { key: 1 }, _hoisted_11$8 = { key: 0, style: { color: "#999" } }, _hoisted_12$7 = { class: "button-area" }, _sfc_main$2c = Vue.defineComponent({ __name: "department-tree-inline-app", props: { multiple: {}, departmentInfo: {}, selectDepartmentInfo: {}, searchField: {}, separator: {}, limitFilterColumn: {} }, emits: ["close"], setup(e2, { emit: t2 }) {
2904
+ } }), noMessageImage = "data:image/png;base64,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", _hoisted_1$1H = { style: { display: "flex" } }, _hoisted_2$15 = { style: { flex: "0 0 20%", "text-align": "left" } }, _hoisted_3$O = { style: { flex: "0 0 80%", "text-align": "right" } }, _hoisted_4$B = { class: "item-row" }, _hoisted_5$s = { class: "item-label" }, _hoisted_6$n = { class: "item-description" }, _hoisted_7$f = ["onClick"], _hoisted_8$c = { style: { display: "flex" } }, _hoisted_9$b = { key: 0 }, _hoisted_10$a = { style: { "padding-left": "10px" } }, _hoisted_11$8 = { key: 1 }, _hoisted_12$7 = { key: 0, style: { color: "#999" } }, _hoisted_13$5 = { class: "button-area" }, _sfc_main$2c = Vue.defineComponent({ __name: "department-tree-inline-app", props: { multiple: {}, departmentInfo: {}, selectDepartmentInfo: {}, searchField: {}, separator: {}, limitFilterColumn: {} }, emits: ["close"], setup(e2, { emit: t2 }) {
2872
2905
  const o = e2, { t: n } = vueI18n.useI18n(), i2 = Vue.ref(null);
2873
2906
  Vue.ref(false);
2874
2907
  let a = Vue.ref(null), l = Vue.ref(false), s = Vue.ref(null), r = Vue.ref([]);
@@ -2970,10 +3003,10 @@
2970
3003
  }();
2971
3004
  }), (e3, t3) => {
2972
3005
  const o2 = Vue.resolveComponent("el-checkbox"), n2 = Vue.resolveComponent("el-icon"), a2 = Vue.resolveComponent("el-input"), l2 = Vue.resolveComponent("el-col"), g2 = Vue.resolveComponent("el-row"), y2 = Vue.resolveComponent("el-card"), w2 = Vue.resolveComponent("el-empty"), x = Vue.resolveComponent("el-tree"), E = Vue.resolveComponent("el-button");
2973
- return Vue.openBlock(), Vue.createElementBlock("div", null, [Vue.createVNode(y2, { class: "card-content", style: { height: "50px" } }, { default: Vue.withCtx(() => [Vue.createVNode(g2, { class: "item-row item-row-all" }, { default: Vue.withCtx(() => [Vue.createVNode(l2, { style: { width: "100%" } }, { default: Vue.withCtx(() => [Vue.createElementVNode("div", _hoisted_1$1H, [Vue.createElementVNode("div", _hoisted_2$15, [e3.multiple ? (Vue.openBlock(), Vue.createBlock(o2, { key: 0, modelValue: Vue.unref(m), "onUpdate:modelValue": t3[0] || (t3[0] = (e4) => Vue.isRef(m) ? m.value = e4 : m = e4), label: e3.$t("departmentTreeInline.allCheck"), value: "all", onChange: C }, null, 8, ["modelValue", "label"])) : Vue.createCommentVNode("", true)]), Vue.createElementVNode("div", _hoisted_3$O, [Vue.createVNode(a2, { modelValue: Vue.unref(h2).searchValue, "onUpdate:modelValue": t3[1] || (t3[1] = (e4) => Vue.unref(h2).searchValue = e4), placeholder: e3.$t("departmentTreeInline.pleaseInputNameOrCode"), onClear: k, onKeyup: Vue.withKeys(k, ["enter"]), onBlur: k, clearable: "" }, { suffix: Vue.withCtx(() => [Vue.createVNode(n2, { onClick: k }, { default: Vue.withCtx(() => [Vue.createVNode(Vue.unref(ElementPlusIconsVue.Search))]), _: 1 })]), _: 1 }, 8, ["modelValue", "placeholder", "onKeyup"])])])]), _: 1 })]), _: 1 })]), _: 1 }), Vue.unref(s) ? (Vue.openBlock(), Vue.createBlock(y2, { key: 0, class: "card-content" }, { default: Vue.withCtx(() => [Vue.createVNode(g2, { class: "item-row item-row-all" }, { default: Vue.withCtx(() => [Vue.createVNode(l2, { class: "item-label dept-path" }, { default: Vue.withCtx(() => [Vue.createVNode(_sfc_main$2e, { tenantName: Vue.unref(s), clickDepts: Vue.unref(c), onClickBreadcrumb: v }, null, 8, ["tenantName", "clickDepts"])]), _: 1 })]), _: 1 })]), _: 1 })) : Vue.createCommentVNode("", true), Vue.createVNode(y2, { class: "card-content org-tree", style: { overflow: "auto" } }, { default: Vue.withCtx(() => [Vue.unref(r).length ? (Vue.openBlock(), Vue.createBlock(x, { key: 1, ref_key: "orgTreeRef", ref: i2, data: Vue.unref(r), "show-checkbox": e3.multiple, "node-key": "nodeId", "check-on-click-node": "", "default-checked-keys": Vue.unref(d), onCheckChange: f, onNodeClick: A }, { default: Vue.withCtx(({ node: e4, data: t4 }) => [Vue.createElementVNode("div", _hoisted_4$B, [Vue.createElementVNode("div", _hoisted_5$r, Vue.toDisplayString(t4.showName), 1), t4.leaf ? Vue.createCommentVNode("", true) : (Vue.openBlock(), Vue.createElementBlock("div", { key: 0, class: "item-side", onClick: (e5) => {
3006
+ return Vue.openBlock(), Vue.createElementBlock("div", null, [Vue.createVNode(y2, { class: "card-content", style: { height: "50px" } }, { default: Vue.withCtx(() => [Vue.createVNode(g2, { class: "item-row item-row-all" }, { default: Vue.withCtx(() => [Vue.createVNode(l2, { style: { width: "100%" } }, { default: Vue.withCtx(() => [Vue.createElementVNode("div", _hoisted_1$1H, [Vue.createElementVNode("div", _hoisted_2$15, [e3.multiple ? (Vue.openBlock(), Vue.createBlock(o2, { key: 0, modelValue: Vue.unref(m), "onUpdate:modelValue": t3[0] || (t3[0] = (e4) => Vue.isRef(m) ? m.value = e4 : m = e4), label: e3.$t("departmentTreeInline.allCheck"), value: "all", onChange: C }, null, 8, ["modelValue", "label"])) : Vue.createCommentVNode("", true)]), Vue.createElementVNode("div", _hoisted_3$O, [Vue.createVNode(a2, { modelValue: Vue.unref(h2).searchValue, "onUpdate:modelValue": t3[1] || (t3[1] = (e4) => Vue.unref(h2).searchValue = e4), placeholder: e3.$t("departmentTreeInline.pleaseInputNameOrCode"), onClear: k, onKeyup: Vue.withKeys(k, ["enter"]), onBlur: k, clearable: "" }, { suffix: Vue.withCtx(() => [Vue.createVNode(n2, { onClick: k }, { default: Vue.withCtx(() => [Vue.createVNode(Vue.unref(ElementPlusIconsVue.Search))]), _: 1 })]), _: 1 }, 8, ["modelValue", "placeholder", "onKeyup"])])])]), _: 1 })]), _: 1 })]), _: 1 }), Vue.unref(s) ? (Vue.openBlock(), Vue.createBlock(y2, { key: 0, class: "card-content" }, { default: Vue.withCtx(() => [Vue.createVNode(g2, { class: "item-row item-row-all" }, { default: Vue.withCtx(() => [Vue.createVNode(l2, { class: "item-label dept-path" }, { default: Vue.withCtx(() => [Vue.createVNode(_sfc_main$2e, { tenantName: Vue.unref(s), clickDepts: Vue.unref(c), onClickBreadcrumb: v }, null, 8, ["tenantName", "clickDepts"])]), _: 1 })]), _: 1 })]), _: 1 })) : Vue.createCommentVNode("", true), Vue.createVNode(y2, { class: "card-content org-tree", style: { overflow: "auto" } }, { default: Vue.withCtx(() => [Vue.unref(r).length ? (Vue.openBlock(), Vue.createBlock(x, { key: 1, ref_key: "orgTreeRef", ref: i2, data: Vue.unref(r), "show-checkbox": e3.multiple, "node-key": "nodeId", "check-on-click-node": "", "default-checked-keys": Vue.unref(d), onCheckChange: f, onNodeClick: A }, { default: Vue.withCtx(({ node: e4, data: t4 }) => [Vue.createElementVNode("div", _hoisted_4$B, [Vue.createElementVNode("div", _hoisted_5$s, [Vue.createTextVNode(Vue.toDisplayString(t4.showName) + " ", 1), Vue.createElementVNode("span", _hoisted_6$n, Vue.toDisplayString(Vue.unref(getShowDeptNamePath)(t4.showName, t4)), 1)]), t4.leaf ? Vue.createCommentVNode("", true) : (Vue.openBlock(), Vue.createElementBlock("div", { key: 0, class: "item-side", onClick: (e5) => {
2974
3007
  return o3 = t4, c.value.push(o3), void V(o3);
2975
3008
  var o3;
2976
- } }, [Vue.createVNode(n2, null, { default: Vue.withCtx(() => [Vue.createVNode(Vue.unref(ElementPlusIconsVue.ArrowRight))]), _: 1 })], 8, _hoisted_6$m))])]), _: 1 }, 8, ["data", "show-checkbox", "default-checked-keys"])) : (Vue.openBlock(), Vue.createBlock(w2, { key: 0, image: Vue.unref(noMessageImage) }, null, 8, ["image"]))]), _: 1 }), Vue.createVNode(y2, { class: "card-footer" }, { default: Vue.withCtx(() => [Vue.createElementVNode("div", _hoisted_7$e, [Vue.createElementVNode("div", { class: "select-result", onClick: b }, [e3.multiple ? (Vue.openBlock(), Vue.createElementBlock("span", { key: 0, onClick: b }, [Vue.unref(u).length > 0 ? (Vue.openBlock(), Vue.createElementBlock("span", _hoisted_8$b, [Vue.createTextVNode(Vue.toDisplayString(e3.$t("departmentTreeInline.selectResultInfoHasSelect")) + Vue.toDisplayString(e3.$t("departmentTreeInline.selectResultInfo", { num: Vue.unref(u).length })) + " ", 1), Vue.createElementVNode("span", _hoisted_9$b, [Vue.createVNode(n2, null, { default: Vue.withCtx(() => [Vue.createVNode(Vue.unref(ElementPlusIconsVue.ArrowUpBold))]), _: 1 })])])) : Vue.createCommentVNode("", true)])) : Vue.unref(u).length > 0 ? (Vue.openBlock(), Vue.createElementBlock("span", _hoisted_10$a, [Vue.createTextVNode(Vue.toDisplayString(e3.$t("departmentTreeInline.selectResultInfoHasSelect")) + Vue.toDisplayString(Vue.unref(u)[0].showName), 1), "-1" !== Vue.unref(u)[0].parentNodeId && Vue.unref(getDeptNamePath)(Vue.unref(u)[0]) ? (Vue.openBlock(), Vue.createElementBlock("span", _hoisted_11$8, "(" + Vue.toDisplayString(Vue.unref(getDeptNamePath)(Vue.unref(u)[0])) + ")", 1)) : Vue.createCommentVNode("", true)])) : Vue.createCommentVNode("", true)]), Vue.createElementVNode("div", _hoisted_12$7, [Vue.createVNode(E, { size: "large", type: "primary", onClick: S }, { default: Vue.withCtx(() => [Vue.createTextVNode(Vue.toDisplayString(e3.$t("imatrixUIPublicModel.sure")), 1)]), _: 1 })])])]), _: 1 }), Vue.createVNode(_sfc_main$2d, { ref_key: "deptResultRef", ref: p, selectDepts: Vue.unref(u), onRemoveDept: I }, null, 8, ["selectDepts"])]);
3009
+ } }, [Vue.createVNode(n2, null, { default: Vue.withCtx(() => [Vue.createVNode(Vue.unref(ElementPlusIconsVue.ArrowRight))]), _: 1 })], 8, _hoisted_7$f))])]), _: 1 }, 8, ["data", "show-checkbox", "default-checked-keys"])) : (Vue.openBlock(), Vue.createBlock(w2, { key: 0, image: Vue.unref(noMessageImage) }, null, 8, ["image"]))]), _: 1 }), Vue.createVNode(y2, { class: "card-footer" }, { default: Vue.withCtx(() => [Vue.createElementVNode("div", _hoisted_8$c, [Vue.createElementVNode("div", { class: "select-result", onClick: b }, [e3.multiple ? (Vue.openBlock(), Vue.createElementBlock("span", { key: 0, onClick: b }, [Vue.unref(u).length > 0 ? (Vue.openBlock(), Vue.createElementBlock("span", _hoisted_9$b, [Vue.createTextVNode(Vue.toDisplayString(e3.$t("departmentTreeInline.selectResultInfoHasSelect")) + Vue.toDisplayString(e3.$t("departmentTreeInline.selectResultInfo", { num: Vue.unref(u).length })) + " ", 1), Vue.createElementVNode("span", _hoisted_10$a, [Vue.createVNode(n2, null, { default: Vue.withCtx(() => [Vue.createVNode(Vue.unref(ElementPlusIconsVue.ArrowUpBold))]), _: 1 })])])) : Vue.createCommentVNode("", true)])) : Vue.unref(u).length > 0 ? (Vue.openBlock(), Vue.createElementBlock("span", _hoisted_11$8, [Vue.createTextVNode(Vue.toDisplayString(e3.$t("departmentTreeInline.selectResultInfoHasSelect")) + Vue.toDisplayString(Vue.unref(u)[0].showName), 1), "-1" !== Vue.unref(u)[0].parentNodeId && Vue.unref(getDeptNamePath)(Vue.unref(u)[0]) ? (Vue.openBlock(), Vue.createElementBlock("span", _hoisted_12$7, "(" + Vue.toDisplayString(Vue.unref(getDeptNamePath)(Vue.unref(u)[0])) + ")", 1)) : Vue.createCommentVNode("", true)])) : Vue.createCommentVNode("", true)]), Vue.createElementVNode("div", _hoisted_13$5, [Vue.createVNode(E, { size: "large", type: "primary", onClick: S }, { default: Vue.withCtx(() => [Vue.createTextVNode(Vue.toDisplayString(e3.$t("imatrixUIPublicModel.sure")), 1)]), _: 1 })])])]), _: 1 }), Vue.createVNode(_sfc_main$2d, { ref_key: "deptResultRef", ref: p, selectDepts: Vue.unref(u), onRemoveDept: I }, null, 8, ["selectDepts"])]);
2977
3010
  };
2978
3011
  } }), _hoisted_1$1G = { style: { "text-align": "center" } }, __default__$8 = { name: "DepartmentTreeMobile" }, _sfc_main$2b = Vue.defineComponent({ ...__default__$8, props: { multiple: {}, departmentInfo: {}, selectDepartmentInfo: {}, searchField: {}, separator: {}, limitFilterColumn: {} }, emits: ["close"], setup(e2, { emit: t2 }) {
2979
3012
  let o = Vue.ref(true);
@@ -3406,7 +3439,7 @@
3406
3439
  }
3407
3440
  function getHeaderLable(e2) {
3408
3441
  let t2 = e2.label;
3409
- return t2 = e2.titleValueSet ? formatHeader(e2) : t2.replace(/\\n/g, "</br>"), null != t2 && "" !== t2 || (t2 = e2.prop), t2;
3442
+ return t2 = t2 && !e2.titleValueSet ? t2.replace(/\\n/g, "</br>") : formatHeader(e2), null != t2 && "" !== t2 || (t2 = e2.prop), t2;
3410
3443
  }
3411
3444
  function formatHeader(e2) {
3412
3445
  return doFormatWithValueSet(e2.titleValueSetValue, e2.label);
@@ -3430,6 +3463,50 @@
3430
3463
  }), o = o.slice(0, o.length - 1)), o;
3431
3464
  }
3432
3465
  }
3466
+ function caculateCondition(e2, t2, o, n) {
3467
+ let i2;
3468
+ try {
3469
+ i2 = executeExpression(e2, t2, o, n);
3470
+ } catch (e3) {
3471
+ i2 = false;
3472
+ }
3473
+ return i2;
3474
+ }
3475
+ function caculateSearchCondition(searchConditions, row) {
3476
+ if (!searchConditions || 0 == searchConditions.length || !row)
3477
+ return true;
3478
+ let conditions = "";
3479
+ const maxLen = searchConditions.length;
3480
+ for (let e2 = 0; e2 < maxLen; e2++) {
3481
+ const t2 = searchConditions[e2], o = t2.propName;
3482
+ let n = t2.operator;
3483
+ if (!o || "" === o)
3484
+ continue;
3485
+ n || (n = "EQ");
3486
+ const i2 = getEntityFieldValue(row, o, false);
3487
+ let a = t2.propValue, l = t2.startValue, s = t2.endValue;
3488
+ const r = t2.dataType;
3489
+ "CONTAIN" != n && "NOT_CONTAIN" != n || i2 && !i2.includes && (n = "CONTAIN" == n ? "EQ" : "NET");
3490
+ let u = t2.variableIsNull, c;
3491
+ if (u || (u = "null"), "IS_NULL" !== n && "IS_NOT_NULL" !== n && (void 0 !== a && "" !== a || (a = null, "null" === u ? n = "IS_NULL" : "notequal" === u ? n = "IS_NOT_NULL" : c = true)), null == c)
3492
+ if (void 0 === a && null != l && void 0 !== s && (r && ("DATE" === r || "TIME" === r) || (r && "INTEGER" === r || "LONG" === r || "DOUBLE" === r) && "BETWEEN" === n)) {
3493
+ const e3 = "GET", t3 = caculateCondition(i2, e3, a, r), o2 = "LET", n2 = caculateCondition(i2, o2, a, r);
3494
+ c = "(" + t3 + "&&" + n2 + ")";
3495
+ } else
3496
+ c = caculateCondition(i2, n, a, r);
3497
+ const d = t2.leftBracket, p = t2.rightBracket;
3498
+ let m = t2.joinSign;
3499
+ if (d && null !== d && "" !== d && (conditions += d, conditions += " "), conditions += c + " ", p && null !== p && "" !== p && (conditions += p, conditions += " "), e2 < maxLen - 1 && m && null !== m && "" !== m) {
3500
+ const e3 = m.toLowerCase();
3501
+ "and" === e3 ? m = e3.replace("and", "&&") : "or" === e3 && (m = e3.replace("or", "||")), conditions += m + " ";
3502
+ }
3503
+ }
3504
+ if (conditions) {
3505
+ const result = eval("(" + conditions + ")");
3506
+ return result;
3507
+ }
3508
+ return true;
3509
+ }
3433
3510
  const dynamicSourceSelectService = { findDynamicDataSourceByCode(e2, t2, o, n, i2) {
3434
3511
  let a, l, s, r, u, c;
3435
3512
  o && (a = o.searchText, null == a && (a = ""), l = "array" == typeof o.watchAttrValue ? o.watchAttrValue.join(",") : o.watchAttrValue, null == l && (l = ""), s = o.parent, r = o._listCode, u = o._formCode, c = o._tableName);
@@ -3739,12 +3816,12 @@
3739
3816
  });
3740
3817
  }), t2 = t2.slice(0, t2.length - 1)) : t2 = e2.join(","), t2;
3741
3818
  }
3742
- } }, emits: ["set-default-value", "load-completed", "set-value", "update:value", "focus", "blur", "visible-change", "change", "chnageEmptyValue"] }, _hoisted_1$1B = { class: "select-top-span" }, _hoisted_2$14 = { style: { "padding-left": "5px" } }, _hoisted_3$N = { style: { display: "flex" } }, _hoisted_4$A = { style: { color: "#8492a6", "font-size": "13px", "margin-left": "30px" } }, _hoisted_5$q = { style: { float: "left" } }, _hoisted_6$l = { style: { float: "right", color: "#8492a6", "font-size": "13px", "margin-left": "30px" } };
3819
+ } }, emits: ["set-default-value", "load-completed", "set-value", "update:value", "focus", "blur", "visible-change", "change", "chnageEmptyValue"] }, _hoisted_1$1B = { class: "select-top-span" }, _hoisted_2$14 = { style: { "padding-left": "5px" } }, _hoisted_3$N = { style: { display: "flex" } }, _hoisted_4$A = { style: { color: "#8492a6", "font-size": "13px", "margin-left": "30px" } }, _hoisted_5$r = { style: { float: "left" } }, _hoisted_6$m = { style: { float: "right", color: "#8492a6", "font-size": "13px", "margin-left": "30px" } };
3743
3820
  function _sfc_render$1k(e2, t2, o, n, i2, a) {
3744
3821
  const l = Vue.resolveComponent("CopyDocument"), s = Vue.resolveComponent("el-icon"), r = Vue.resolveComponent("el-checkbox"), u = Vue.resolveComponent("el-option"), c = Vue.resolveComponent("el-select"), d = Vue.resolveComponent("el-popover");
3745
3822
  return Vue.openBlock(), Vue.createElementBlock("span", _hoisted_1$1B, [Vue.createVNode(d, { placement: "top", trigger: "hover" }, { reference: Vue.withCtx(() => [Vue.createElementVNode("div", { onKeydown: t2[4] || (t2[4] = Vue.withKeys(Vue.withModifiers(() => {
3746
3823
  }, ["stop"]), ["space"])) }, [Vue.createVNode(c, Vue.mergeProps({ ref: "dynamicDataSourceRef", "allow-create": o.allowCreate, clearable: o.clearable, filterable: i2.remote, loading: i2.loading, "model-value": o.value, placeholder: o.placeholder, remote: i2.remote, "remote-method": a.remoteMethod, "reserve-keyword": true, size: o.size, style: o.fullWidth ? { width: "100%", height: "100%" } : {}, title: a.getClassOptionTitle(o.value), "value-key": i2.valueAttribute, "default-first-option": "" }, i2.myProps, { "remote-show-suffix": "", onKeydown: t2[1] || (t2[1] = Vue.withKeys(Vue.withModifiers(() => {
3747
- }, ["stop"]), ["space"])), onBlur: t2[2] || (t2[2] = (e3) => a.blurEvent(e3)), onChange: a.changeEvent, onClear: e2.clear, onFocus: e2.focus, onVisibleChange: e2.visibleChange, onRemoveTag: t2[3] || (t2[3] = (t3) => e2.removeTag(i2.remote, t3)) }), Vue.createSlots({ default: Vue.withCtx(() => [i2.descriptionAttribute ? (Vue.openBlock(), Vue.createElementBlock(Vue.Fragment, { key: 0 }, [o.optionWidth > 0 ? (Vue.openBlock(), Vue.createElementBlock("div", { key: 0, style: Vue.normalizeStyle({ width: o.optionWidth + "px" }) }, [(Vue.openBlock(true), Vue.createElementBlock(Vue.Fragment, null, Vue.renderList(i2.optionItemList, (e3) => (Vue.openBlock(), Vue.createBlock(u, { key: e3.value, label: e3._label_, title: e3._description_ ? e3._label_ + e3._description_ : e3._label_, value: o.baseProps.multiple && "saveAll" === e3.value ? e3.value : e3[i2.valueAttribute] }, { default: Vue.withCtx(() => [Vue.createElementVNode("div", _hoisted_3$N, [Vue.createElementVNode("span", null, Vue.toDisplayString(e3._label_), 1), Vue.createElementVNode("span", _hoisted_4$A, Vue.toDisplayString(e3._description_ ? e3._description_ : e3._label_), 1)])]), _: 2 }, 1032, ["label", "title", "value"]))), 128))], 4)) : (Vue.openBlock(true), Vue.createElementBlock(Vue.Fragment, { key: 1 }, Vue.renderList(i2.optionItemList, (e3) => (Vue.openBlock(), Vue.createBlock(u, { key: e3.value, label: e3._label_, title: e3._description_ ? e3._label_ + e3._description_ : e3._label_, value: o.baseProps.multiple && "saveAll" === e3.value ? e3.value : e3[i2.valueAttribute] }, { default: Vue.withCtx(() => [Vue.createElementVNode("span", _hoisted_5$q, Vue.toDisplayString(e3._label_), 1), Vue.createElementVNode("span", _hoisted_6$l, Vue.toDisplayString(e3._description_ ? e3._description_ : e3._label_), 1)]), _: 2 }, 1032, ["label", "title", "value"]))), 128))], 64)) : (Vue.openBlock(), Vue.createElementBlock(Vue.Fragment, { key: 1 }, [o.optionWidth > 0 ? (Vue.openBlock(), Vue.createElementBlock("div", { key: 0, style: Vue.normalizeStyle({ width: o.optionWidth + "px", position: "relative" }) }, [(Vue.openBlock(true), Vue.createElementBlock(Vue.Fragment, null, Vue.renderList(i2.optionItemList, (e3) => (Vue.openBlock(), Vue.createBlock(u, { key: e3.value, label: e3._label_, value: o.baseProps.multiple && "saveAll" === e3.value ? e3.value : e3[i2.valueAttribute] }, null, 8, ["label", "value"]))), 128))], 4)) : (Vue.openBlock(true), Vue.createElementBlock(Vue.Fragment, { key: 1 }, Vue.renderList(i2.optionItemList, (e3) => (Vue.openBlock(), Vue.createBlock(u, { key: e3.value, label: e3._label_, value: o.baseProps.multiple && "saveAll" === e3.value ? e3.value : e3[i2.valueAttribute] }, null, 8, ["label", "value"]))), 128))], 64))]), _: 2 }, [o.isSearch ? { name: "header", fn: Vue.withCtx(() => [Vue.createVNode(r, { modelValue: i2.checkEmptyValue, "onUpdate:modelValue": t2[0] || (t2[0] = (e3) => i2.checkEmptyValue = e3), onChange: a.changeEmptyValue }, { default: Vue.withCtx(() => [Vue.createTextVNode(Vue.toDisplayString(e2.$t("imatrixUIPublicModel.emptyValue")), 1)]), _: 1 }, 8, ["modelValue", "onChange"])]), key: "0" } : void 0]), 1040, ["allow-create", "clearable", "filterable", "loading", "model-value", "placeholder", "remote", "remote-method", "size", "style", "title", "value-key", "onChange", "onClear", "onFocus", "onVisibleChange"])], 32)]), default: Vue.withCtx(() => [Vue.createElementVNode("span", _hoisted_2$14, [Vue.createVNode(s, { id: i2.copyBtnId }, { default: Vue.withCtx(() => [Vue.createVNode(l)]), _: 1 }, 8, ["id"])])]), _: 1 })]);
3824
+ }, ["stop"]), ["space"])), onBlur: t2[2] || (t2[2] = (e3) => a.blurEvent(e3)), onChange: a.changeEvent, onClear: e2.clear, onFocus: e2.focus, onVisibleChange: e2.visibleChange, onRemoveTag: t2[3] || (t2[3] = (t3) => e2.removeTag(i2.remote, t3)) }), Vue.createSlots({ default: Vue.withCtx(() => [i2.descriptionAttribute ? (Vue.openBlock(), Vue.createElementBlock(Vue.Fragment, { key: 0 }, [o.optionWidth > 0 ? (Vue.openBlock(), Vue.createElementBlock("div", { key: 0, style: Vue.normalizeStyle({ width: o.optionWidth + "px" }) }, [(Vue.openBlock(true), Vue.createElementBlock(Vue.Fragment, null, Vue.renderList(i2.optionItemList, (e3) => (Vue.openBlock(), Vue.createBlock(u, { key: e3.value, label: e3._label_, title: e3._description_ ? e3._label_ + e3._description_ : e3._label_, value: o.baseProps.multiple && "saveAll" === e3.value ? e3.value : e3[i2.valueAttribute] }, { default: Vue.withCtx(() => [Vue.createElementVNode("div", _hoisted_3$N, [Vue.createElementVNode("span", null, Vue.toDisplayString(e3._label_), 1), Vue.createElementVNode("span", _hoisted_4$A, Vue.toDisplayString(e3._description_ ? e3._description_ : e3._label_), 1)])]), _: 2 }, 1032, ["label", "title", "value"]))), 128))], 4)) : (Vue.openBlock(true), Vue.createElementBlock(Vue.Fragment, { key: 1 }, Vue.renderList(i2.optionItemList, (e3) => (Vue.openBlock(), Vue.createBlock(u, { key: e3.value, label: e3._label_, title: e3._description_ ? e3._label_ + e3._description_ : e3._label_, value: o.baseProps.multiple && "saveAll" === e3.value ? e3.value : e3[i2.valueAttribute] }, { default: Vue.withCtx(() => [Vue.createElementVNode("span", _hoisted_5$r, Vue.toDisplayString(e3._label_), 1), Vue.createElementVNode("span", _hoisted_6$m, Vue.toDisplayString(e3._description_ ? e3._description_ : e3._label_), 1)]), _: 2 }, 1032, ["label", "title", "value"]))), 128))], 64)) : (Vue.openBlock(), Vue.createElementBlock(Vue.Fragment, { key: 1 }, [o.optionWidth > 0 ? (Vue.openBlock(), Vue.createElementBlock("div", { key: 0, style: Vue.normalizeStyle({ width: o.optionWidth + "px", position: "relative" }) }, [(Vue.openBlock(true), Vue.createElementBlock(Vue.Fragment, null, Vue.renderList(i2.optionItemList, (e3) => (Vue.openBlock(), Vue.createBlock(u, { key: e3.value, label: e3._label_, value: o.baseProps.multiple && "saveAll" === e3.value ? e3.value : e3[i2.valueAttribute] }, null, 8, ["label", "value"]))), 128))], 4)) : (Vue.openBlock(true), Vue.createElementBlock(Vue.Fragment, { key: 1 }, Vue.renderList(i2.optionItemList, (e3) => (Vue.openBlock(), Vue.createBlock(u, { key: e3.value, label: e3._label_, value: o.baseProps.multiple && "saveAll" === e3.value ? e3.value : e3[i2.valueAttribute] }, null, 8, ["label", "value"]))), 128))], 64))]), _: 2 }, [o.isSearch ? { name: "header", fn: Vue.withCtx(() => [Vue.createVNode(r, { modelValue: i2.checkEmptyValue, "onUpdate:modelValue": t2[0] || (t2[0] = (e3) => i2.checkEmptyValue = e3), onChange: a.changeEmptyValue }, { default: Vue.withCtx(() => [Vue.createTextVNode(Vue.toDisplayString(e2.$t("imatrixUIPublicModel.emptyValue")), 1)]), _: 1 }, 8, ["modelValue", "onChange"])]), key: "0" } : void 0]), 1040, ["allow-create", "clearable", "filterable", "loading", "model-value", "placeholder", "remote", "remote-method", "size", "style", "title", "value-key", "onChange", "onClear", "onFocus", "onVisibleChange"])], 32)]), default: Vue.withCtx(() => [Vue.createElementVNode("span", _hoisted_2$14, [Vue.createVNode(s, { id: i2.copyBtnId }, { default: Vue.withCtx(() => [Vue.createVNode(l)]), _: 1 }, 8, ["id"])])]), _: 1 })]);
3748
3825
  }
3749
3826
  const DynamicSourceSelect = _export_sfc(_sfc_main$25, [["render", _sfc_render$1k], ["__scopeId", "data-v-34406c62"]]);
3750
3827
  function setObjectPropRule(e2, t2, o) {
@@ -4183,17 +4260,20 @@
4183
4260
  if (false === parseSubTableActionCondition(l, this.parentFormData, {}, (_c = l.options.actionPermission) == null ? void 0 : _c.addCondition))
4184
4261
  return window.$vueApp.config.globalProperties.$message({ showClose: true, message: getI18n().t("superGrid.canntAddTip"), type: "warning" }), void a(new Error("can not create"));
4185
4262
  if (setEntityFieldValue(t2 = this.getNewRow(l.defaultValueColumns, l.additionalParamMap, l.contextParameter, t2, e2, o ? o.getDefaultValueFunc : null), "$editing", true), l.isEditRow = true, l.options && l.options.isFormSubTable) {
4186
- if (void 0 !== l.isSubTableShowPage && true === l.isSubTableShowPage)
4187
- if (l.isChangePage = true, i2 >= 0) {
4188
- const e3 = (this.currentPage - 1) * this.pageSize + i2;
4189
- l.addRowIndex = e3 + 1, l.subTableData.splice(e3, 0, t2);
4263
+ if (void 0 !== l.isSubTableShowPage && true === l.isSubTableShowPage ? l.isChangePage = true : l.isAddRow = true, i2 >= 0) {
4264
+ const e3 = (this.currentPage - 1) * this.pageSize + i2;
4265
+ l.addRowIndex = e3 + 1, l.isSubSearch && l.subTableDataSearch ? (l.subTableDataSearch.splice(e3, 0, t2), l.subTableData.splice(e3, 0, t2)) : l.subTableData.splice(e3, 0, t2);
4266
+ } else {
4267
+ if (l.isSubSearch && l.subTableDataSearch) {
4268
+ let e3 = l.subTableDataSearch.length;
4269
+ e3 <= 0 && (e3 = -1), l.subTableDataSearch.splice(e3, 0, t2), l.subTableData.splice(e3, 0, t2);
4190
4270
  } else {
4191
4271
  let e3 = l.subTableData.length;
4192
- e3 <= 0 && (e3 = -1), l.subTableData.splice(e3, 0, t2), l.addRowIndex = l.subTableData.length;
4272
+ e3 <= 0 && (e3 = -1), l.subTableData.splice(e3, 0, t2);
4193
4273
  }
4194
- else
4195
- i2 >= 0 ? s.splice(i2, 0, t2) : s.splice(s.length, 0, t2), l.lineEdit.editingCell && (l.lineEdit.editingCell.row = s.length);
4196
- l.$rowIndex = s.length, this.$nextTick(() => {
4274
+ l.addRowIndex = l.subTableData.length;
4275
+ }
4276
+ l.$rowIndex = s.length, this.isMobile || this.$nextTick(() => {
4197
4277
  scrollYToBottom(e2);
4198
4278
  });
4199
4279
  } else
@@ -4229,20 +4309,26 @@
4229
4309
  const a = e2[i2], l = a.prop;
4230
4310
  if ("$index" !== l && "$selection" !== l && "operation" !== l) {
4231
4311
  if (a.hasOwnProperty("children"))
4232
- this.setChildrenColumnsDefaultValue(a.children, t2);
4312
+ this.setChildrenColumnsDefaultValue(a.children, t2, o, n);
4233
4313
  else if (void 0 === t2[l]) {
4234
- const e3 = a.defaultValue;
4235
- let i3 = null;
4236
- n && (i3 = n(o.pageContext, e3, null, null), void 0 === i3 && (i3 = null)), setEntityFieldValue(t2, l, i3);
4314
+ setEntityFieldValue(t2, l, this.getColumnDefaultValue(a, o, n));
4237
4315
  }
4238
4316
  }
4239
4317
  }
4240
4318
  setEntityFieldValue(t2, "$editing", false);
4241
- }, setChildrenColumnsDefaultValue(e2, t2) {
4242
- for (let o = 0; o < e2.length; o++) {
4243
- const n = e2[o], i2 = n.prop;
4244
- n.hasOwnProperty("children") ? this.setChildrenColumnsDefaultValue(n.children, t2) : void 0 === t2[i2] && "operation" !== i2 && setEntityFieldValue(t2, i2, null);
4319
+ }, setChildrenColumnsDefaultValue(e2, t2, o, n) {
4320
+ for (let i2 = 0; i2 < e2.length; i2++) {
4321
+ const a = e2[i2], l = a.prop;
4322
+ if (a.hasOwnProperty("children"))
4323
+ this.setChildrenColumnsDefaultValue(a.children, t2, o, n);
4324
+ else if (void 0 === t2[l] && "operation" !== l) {
4325
+ setEntityFieldValue(t2, l, this.getColumnDefaultValue(a, o, n));
4326
+ }
4245
4327
  }
4328
+ }, getColumnDefaultValue(e2, t2, o) {
4329
+ const n = e2.defaultValue;
4330
+ let i2 = null;
4331
+ return o && (i2 = o(t2.pageContext, n, null, null), void 0 === i2 && (i2 = null)), i2;
4246
4332
  }, isLastEditRowSaveMessage(e2) {
4247
4333
  e2 || (e2 = store$1.get("_list_code"));
4248
4334
  const t2 = store$1.get(e2);
@@ -4397,10 +4483,16 @@
4397
4483
  if (void 0 === l || true === l) {
4398
4484
  if (!this.wfSubTableDeleteRowConditionParse(a, this.parentFormData, a.gridData[e2]))
4399
4485
  return;
4400
- if (void 0 !== a.isSubTableShowPage && true === a.isSubTableShowPage) {
4486
+ if (a.options && a.options.isFormSubTable) {
4401
4487
  a.isDelete = true;
4402
- const t3 = (this.currentPage - 1) * this.pageSize + e2;
4403
- a.subTableData.splice(t3, 1);
4488
+ let t3 = e2;
4489
+ if (this.isMobile || (t3 = (this.currentPage - 1) * this.pageSize + e2), a.isSubSearch && a.subTableDataSearch) {
4490
+ const e3 = a.subTableDataSearch[t3];
4491
+ a.subTableDataSearch.splice(t3, 1);
4492
+ const o2 = a.subTableData.findIndex((t4) => e3.$rowDataGuId && t4.$rowDataGuId && e3.$rowDataGuId === t4.$rowDataGuId);
4493
+ -1 !== o2 && a.subTableData.splice(o2, 1);
4494
+ } else
4495
+ a.subTableData.splice(t3, 1);
4404
4496
  } else
4405
4497
  a.gridData.splice(e2, 1), a.orgGridData.splice(e2, 1);
4406
4498
  if (a.$lastSaveRowIndex = null, a.$rowIndex = null, a.isEditRow = false, window.$vueApp.config.globalProperties.$message({ showClose: true, message: getI18n().t("superGrid.deleteSuccessful"), type: "success" }), 0 === a.gridData.length && a.options && null !== a.options.isDefaultShowEdit && void 0 !== a.options.isDefaultShowEdit && true === a.options.isDefaultShowEdit && this.createRow(t2), a.isMulitiSelect && ((_b = (_a = a.superGrid) == null ? void 0 : _a.clearSelection) == null ? void 0 : _b.call(_a)), a.isCreateRow = false, (void 0 === o || !o) && isEditOptionFunction("afterDelete", t2)) {
@@ -4462,7 +4554,7 @@
4462
4554
  }, getGridData(e2) {
4463
4555
  e2 || (e2 = store$1.get("_list_code"));
4464
4556
  const t2 = store$1.get(e2);
4465
- return t2.isSubTableShowPage ? t2.subTableData : t2.gridData;
4557
+ return t2.options && t2.options.isFormSubTable ? t2.subTableData : t2.gridData;
4466
4558
  }, getColumns(e2) {
4467
4559
  e2 || (e2 = store$1.get("_list_code"));
4468
4560
  return store$1.get(e2).columns;
@@ -4522,8 +4614,7 @@
4522
4614
  n.options.eventCallBack && l && null !== l && n.options.eventCallBack[l] && (s = n.options.eventCallBack[l]), s && s.call(this, { sourceModel: e2, sourceTableName: t2, jumpPageSetting: this.jumpPageSetting, entity: this.gridData[i2], targetTableName: a, isNeedReplaceFieldName: !o2, additionalParamMap: n.additionalParamMap });
4523
4615
  }
4524
4616
  }, refreshChildData(e2, t2, o) {
4525
- const n = store$1.get(e2);
4526
- null == o || false === o ? (n.gridData = t2, this.gridData = t2) : (n.subTableData = t2, this.subTableData = t2);
4617
+ store$1.get(e2).subTableData = t2, this.subTableData = t2;
4527
4618
  }, getDefaultValueColumns(e2) {
4528
4619
  const t2 = {}, o = store$1.get(e2).defaultValueColumns;
4529
4620
  return o && o.length > 0 && o.forEach((e3) => {
@@ -4543,14 +4634,24 @@
4543
4634
  });
4544
4635
  }, doLayout(e2, t2) {
4545
4636
  t2 || (t2 = this.code);
4546
- const o = store$1.get(t2).hiddenColumns;
4637
+ let o = false;
4638
+ const n = store$1.get(t2).hiddenColumns;
4547
4639
  if (e2 && e2.length > 0) {
4548
- let t3 = o;
4549
- t3 || (t3 = []), 0 === t3.length ? t3 = e2 : e2.forEach((e3) => {
4550
- t3.indexOf(e3) < 0 && t3.push(e3);
4551
- }), this.options.hiddenColumns = t3;
4552
- } else
4553
- this.options.hiddenColumns = o;
4640
+ const t3 = e2[0];
4641
+ let n2;
4642
+ t3 && "string" == typeof t3 && (o = true), o ? (n2 = [], e2.forEach((e3) => {
4643
+ if (e3 && "string" == typeof e3) {
4644
+ let t4 = { prop: e3, show: false };
4645
+ n2.push(t4);
4646
+ }
4647
+ })) : n2 = e2, this.options.updateColumnsInfo = n2;
4648
+ } else {
4649
+ let e3;
4650
+ n && (e3 = [], n.forEach((t3) => {
4651
+ let o2 = { prop: t3, show: false };
4652
+ e3.push(o2);
4653
+ })), this.options.updateColumnsInfo = e3;
4654
+ }
4554
4655
  this.$refs && this.$refs.superGrid && this.$refs.superGrid.doLayout();
4555
4656
  }, getCustomFunc(e2) {
4556
4657
  window.$PageUtil.getCustomFunc(this.pageContext, e2);
@@ -4563,7 +4664,7 @@
4563
4664
  }, wfSubTableDeleteRowConditionParse: (e2, t2, o) => {
4564
4665
  var _a;
4565
4666
  return false !== parseSubTableActionCondition(e2, t2, o, (_a = e2.options.actionPermission) == null ? void 0 : _a.deleteCondition) || (window.$vueApp.config.globalProperties.$message({ showClose: true, message: getI18n().t("superGrid.rowCanntDeleteTip"), type: "warning" }), false);
4566
- } }, apisMixin = { data: () => ({ toolbarFieldParam: null, showSearch: false, isMobile: false, baseURL: "", currentPage: 1, pageSize: 10, code: "", pageCode: "", jumpPageSetting: null, isShowPageDialog: false, gridData: [], subTableData: [], searchForm: [], options: {}, lineEdit: null, loaded: false, configureObj: {}, additionalParamMap: {}, basicInfo: {}, dynamicColumnInfo: {}, $dataTypeMap: {}, mainDefaultValueColumns: [], dynamicServiceName: "", isHasDynamic: false, isMulitiSelect: false, sql: false, restoreCurrentRowTimer: null }), methods: { ...apis$2 } }, _sfc_main$24 = { components: { ElIconDelete: ElementPlusIconsVue.Delete }, name: "ViewImageDialog", props: { fileList: { type: Array, default: function() {
4667
+ } }, apisMixin = { data: () => ({ toolbarFieldParam: null, showSearch: false, isMobile: isMobileBrowser(), baseURL: "", currentPage: 1, pageSize: 10, code: "", pageCode: "", jumpPageSetting: null, isShowPageDialog: false, gridData: [], subTableData: [], searchForm: [], options: {}, lineEdit: null, loaded: false, configureObj: {}, additionalParamMap: {}, basicInfo: {}, dynamicColumnInfo: {}, $dataTypeMap: {}, mainDefaultValueColumns: [], dynamicServiceName: "", isHasDynamic: false, isMulitiSelect: false, sql: false, restoreCurrentRowTimer: null }), methods: { ...apis$2 } }, _sfc_main$24 = { components: { ElIconDelete: ElementPlusIconsVue.Delete }, name: "ViewImageDialog", props: { fileList: { type: Array, default: function() {
4567
4668
  return [];
4568
4669
  } }, downloadable: { type: Boolean, default: function() {
4569
4670
  return true;
@@ -5512,7 +5613,7 @@
5512
5613
  const n = "amb-color-icon-" + o.toUpperCase();
5513
5614
  return iconList.includes(n) ? n : t2;
5514
5615
  }
5515
- const fsPreview_vue_vue_type_style_index_0_scoped_2448d898_lang = "", _sfc_main$20 = { components: { ElIconPaperclip: ElementPlusIconsVue.Paperclip, ElIconView: ElementPlusIconsVue.View, ElIconDownload: ElementPlusIconsVue.Download }, name: "FsPreview", props: { width: { type: [String, Number], default: "100%" }, label: { type: String, default: null }, fileSetObj: { type: Object, default: null }, isSql: { type: Boolean, default: false }, entity: { type: Object, default: () => ({}) }, fileInfo: { type: Object, default: () => ({}) }, disabled: { type: Boolean, default: false }, enableDelete: { type: Boolean, default: false }, watermark: { type: Object, default: () => ({}) }, uploading: { type: Boolean, default: false } }, data: () => ({ showPreviewSingleImage: false, showPreviewMulti: false, previewImageInfo: {}, fileList: [], downloadable: true, keyValueParam: {}, showMultipleFile: false, firstFileUUid: "" }), computed: { firstFileName() {
5616
+ const fsPreview_vue_vue_type_style_index_0_scoped_7f109349_lang = "", _sfc_main$20 = { components: { ElIconPaperclip: ElementPlusIconsVue.Paperclip, ElIconView: ElementPlusIconsVue.View, ElIconDownload: ElementPlusIconsVue.Download }, name: "FsPreview", props: { width: { type: [String, Number], default: "100%" }, label: { type: String, default: null }, fileSetObj: { type: Object, default: null }, isSql: { type: Boolean, default: false }, entity: { type: Object, default: () => ({}) }, fileInfo: { type: Object, default: () => ({}) }, disabled: { type: Boolean, default: false }, enableDelete: { type: Boolean, default: false }, watermark: { type: Object, default: () => ({}) }, uploading: { type: Boolean, default: false } }, data: () => ({ showPreviewSingleImage: false, showPreviewMulti: false, initialIndex: 0, previewImageListInfo: [], fileList: [], downloadable: true, keyValueParam: {}, showMultipleFile: false, firstFileUUid: "" }), computed: { firstFileName() {
5516
5617
  var _a;
5517
5618
  return ((_a = this.label) == null ? void 0 : _a.indexOf(",")) > -1 ? (this.showMultipleFile = true, this.label.split(",")[0]) : (this.showMultipleFile = false, this.label);
5518
5619
  }, lab() {
@@ -5533,7 +5634,15 @@
5533
5634
  const { showName: e2, serverPath: t2 } = this.getFirstFile();
5534
5635
  this.download(e2, t2);
5535
5636
  }, previewSingle(e2) {
5536
- isImage((e2 = packageFile(e2.showName, e2.serverPath)).showName) ? (this.previewImageInfo = e2, this.showPreviewSingleImage = true) : this.previewDoc(e2);
5637
+ if (isImage((e2 = packageFile(e2.showName, e2.serverPath)).showName)) {
5638
+ if (this.previewImageListInfo.length = [], this.entity) {
5639
+ const { showName: t2, serverPath: o } = this.getShowNameAndUuidKey(), n = o.split(","), i2 = getToken();
5640
+ for (let o2 = 0; o2 < n.length; o2++)
5641
+ isImage(t2.split(",")[o2]) && (n[o2] === e2.serverPath && (this.initialIndex = o2), this.previewImageListInfo.push(window.$vueApp.config.globalProperties.baseURL + "/common/super-form/downloads?serverPath=" + n[o2] + "&jwt=" + i2));
5642
+ }
5643
+ this.showPreviewSingleImage = true;
5644
+ } else
5645
+ this.previewDoc(e2);
5537
5646
  }, donwloadViewFile() {
5538
5647
  const { showName: e2, serverPath: t2 } = this.getShowNameAndUuidKey();
5539
5648
  if (t2) {
@@ -5614,12 +5723,12 @@
5614
5723
  this.$emit("delete-file", e2), this.fileList = this.fileList.filter((t2) => t2.serverPath !== e2.serverPath), this.$message({ showClose: true, type: "success", message: getI18n().t("fsUpload.deleteSuccessful") });
5615
5724
  }, deleteFile(e2) {
5616
5725
  this.$emit("delete-file", e2), this.fileList = this.fileList.filter((t2) => t2.serverPath !== e2.serverPath), this.$message({ showClose: true, type: "success", message: getI18n().t("fsUpload.deleteSuccessful") });
5617
- } }, emits: ["close", "delete-file"] }, _hoisted_1$1x = { ref: "fsPreviewRef" }, _hoisted_2$11 = { class: "fs-preview-container" }, _hoisted_3$K = ["title"], _hoisted_4$x = { key: 1, ref: "toolRef", class: "fs-preview-tool" }, _hoisted_5$p = { style: { "max-height": "300px", "overflow-y": "auto" } }, _hoisted_6$k = { style: { display: "flex", "align-items": "center", flex: "1" } }, _hoisted_7$d = { class: "more-file-icon" }, _hoisted_8$a = { class: "amb-list-preivew-name", style: { width: "230px", "margin-left": "10px" } }, _hoisted_9$a = { class: "file-actions" };
5726
+ } }, emits: ["close", "delete-file"] }, _hoisted_1$1x = { ref: "fsPreviewRef" }, _hoisted_2$11 = { class: "fs-preview-container" }, _hoisted_3$K = ["title"], _hoisted_4$x = { key: 1, ref: "toolRef", class: "fs-preview-tool" }, _hoisted_5$q = { style: { "max-height": "300px", "overflow-y": "auto" } }, _hoisted_6$l = { style: { display: "flex", "align-items": "center", flex: "1" } }, _hoisted_7$e = { class: "more-file-icon" }, _hoisted_8$b = { class: "amb-list-preivew-name", style: { width: "230px", "margin-left": "10px" } }, _hoisted_9$a = { class: "file-actions" };
5618
5727
  function _sfc_render$1h(e2, t2, o, n, i2, a) {
5619
5728
  const l = Vue.resolveComponent("super-icon"), s = Vue.resolveComponent("el-tooltip"), r = Vue.resolveComponent("el-divider"), u = Vue.resolveComponent("ArrowDownBold"), c = Vue.resolveComponent("el-icon"), d = Vue.resolveComponent("el-button"), p = Vue.resolveComponent("el-popover"), m = Vue.resolveComponent("el-image-viewer");
5620
- return Vue.openBlock(), Vue.createElementBlock("div", _hoisted_1$1x, [Vue.createElementVNode("div", { ref: "filePreviewRef", onDblclick: t2[3] || (t2[3] = (...e3) => a.dblclickEvent && a.dblclickEvent(...e3)), class: "fs-preview-container" }, [Vue.renderSlot(e2.$slots, "prefix", {}, void 0, true), a.firstFileName && !o.uploading ? (Vue.openBlock(), Vue.createElementBlock(Vue.Fragment, { key: 0 }, [Vue.createElementVNode("div", _hoisted_2$11, [Vue.createVNode(l, { iconValue: a.getFileIconByName(a.firstFileName) }, null, 8, ["iconValue"])]), Vue.createElementVNode("span", { title: a.firstFileName, ref: "nameRef", class: "amb-list-preivew-name" }, Vue.toDisplayString(a.firstFileName), 9, _hoisted_3$K)], 64)) : Vue.createCommentVNode("", true), a.firstFileName && !o.uploading ? (Vue.openBlock(), Vue.createElementBlock("div", _hoisted_4$x, [Vue.renderSlot(e2.$slots, "tool-prefix", { item: a.getFirstFile() }, void 0, true), o.enableDelete && !o.disabled ? (Vue.openBlock(), Vue.createBlock(s, { key: 0, content: e2.$t("fsUpload.delete") }, { default: Vue.withCtx(() => [Vue.createVNode(l, { onClick: t2[0] || (t2[0] = (e3) => a.deleteFirst()), iconValue: "amb-color-icon-del" })]), _: 1 }, 8, ["content"])) : Vue.createCommentVNode("", true), o.disabled && o.fileSetObj.disabledNoPreview ? Vue.createCommentVNode("", true) : (Vue.openBlock(), Vue.createBlock(s, { key: 1, content: e2.$t("fsUpload.preview") }, { default: Vue.withCtx(() => [Vue.createVNode(l, { onClick: t2[1] || (t2[1] = (e3) => a.previewFirst()), iconValue: "amb-icon-yulan" })]), _: 1 }, 8, ["content"])), o.disabled && o.fileSetObj.disabledNoDownload ? Vue.createCommentVNode("", true) : (Vue.openBlock(), Vue.createBlock(s, { key: 2, content: e2.$t("fsUpload.download") }, { default: Vue.withCtx(() => [Vue.createVNode(l, { onClick: t2[2] || (t2[2] = (e3) => a.downloadFirst()), iconValue: "amb-icon-xiazai" })]), _: 1 }, 8, ["content"])), Vue.renderSlot(e2.$slots, "tool-suffix", { item: a.getFirstFile() }, void 0, true), i2.showMultipleFile ? (Vue.openBlock(), Vue.createBlock(r, { key: 3, direction: "vertical" })) : Vue.createCommentVNode("", true), Vue.createVNode(p, { width: 450, trigger: "click" }, { reference: Vue.withCtx(() => [i2.showMultipleFile ? (Vue.openBlock(), Vue.createBlock(d, { key: 0, plain: "", type: "primary", round: "", size: "small", onClick: a.showMultiView }, { default: Vue.withCtx(() => [Vue.createTextVNode(Vue.toDisplayString(e2.$t("fsUpload.more")) + " ", 1), Vue.createVNode(c, null, { default: Vue.withCtx(() => [Vue.createVNode(u)]), _: 1 })]), _: 1 }, 8, ["onClick"])) : Vue.createCommentVNode("", true)]), default: Vue.withCtx(() => [Vue.createElementVNode("div", _hoisted_5$p, [(Vue.openBlock(true), Vue.createElementBlock(Vue.Fragment, null, Vue.renderList(i2.fileList, (t3, n2) => (Vue.openBlock(), Vue.createElementBlock("div", { ref_for: true, ref: t3.serverPath, key: t3.serverPath, class: "file-item" }, [Vue.createElementVNode("div", _hoisted_6$k, [Vue.createElementVNode("span", _hoisted_7$d, [Vue.createVNode(l, { iconValue: a.getFileIconByName(t3.showName) }, null, 8, ["iconValue"])]), Vue.createElementVNode("span", _hoisted_8$a, Vue.toDisplayString(t3.showName), 1)]), Vue.createElementVNode("div", _hoisted_9$a, [Vue.renderSlot(e2.$slots, "tool-more-prefix", { item: t3 }, void 0, true), o.enableDelete ? (Vue.openBlock(), Vue.createBlock(s, { key: 0, content: e2.$t("fsUpload.delete") }, { default: Vue.withCtx(() => [Vue.createVNode(l, { onClick: (e3) => a.deleteFile(t3), iconValue: "amb-color-icon-shanchu" }, null, 8, ["onClick"])]), _: 2 }, 1032, ["content"])) : Vue.createCommentVNode("", true), o.disabled && o.fileSetObj.disabledNoPreview ? Vue.createCommentVNode("", true) : (Vue.openBlock(), Vue.createBlock(s, { key: 1, content: e2.$t("fsUpload.preview") }, { default: Vue.withCtx(() => [Vue.createVNode(l, { onClick: (e3) => a.previewSingle(t3), iconValue: "amb-icon-yulan" }, null, 8, ["onClick"])]), _: 2 }, 1032, ["content"])), o.disabled && o.fileSetObj.disabledNoDownload ? Vue.createCommentVNode("", true) : (Vue.openBlock(), Vue.createBlock(s, { key: 2, content: e2.$t("fsUpload.download") }, { default: Vue.withCtx(() => [Vue.createVNode(l, { onClick: (e3) => a.donwloadFile(n2), iconValue: "amb-icon-xiazai" }, null, 8, ["onClick"])]), _: 2 }, 1032, ["content"]))])]))), 128))])]), _: 3 })], 512)) : Vue.createCommentVNode("", true)], 544), i2.showPreviewSingleImage ? (Vue.openBlock(), Vue.createBlock(m, { key: 0, teleported: "", "url-list": [i2.previewImageInfo.src], onClose: t2[4] || (t2[4] = (e3) => i2.showPreviewSingleImage = false) }, null, 8, ["url-list"])) : Vue.createCommentVNode("", true)], 512);
5729
+ return Vue.openBlock(), Vue.createElementBlock("div", _hoisted_1$1x, [Vue.createElementVNode("div", { ref: "filePreviewRef", onDblclick: t2[3] || (t2[3] = (...e3) => a.dblclickEvent && a.dblclickEvent(...e3)), class: "fs-preview-container" }, [Vue.renderSlot(e2.$slots, "prefix", {}, void 0, true), a.firstFileName && !o.uploading ? (Vue.openBlock(), Vue.createElementBlock(Vue.Fragment, { key: 0 }, [Vue.createElementVNode("div", _hoisted_2$11, [Vue.createVNode(l, { iconValue: a.getFileIconByName(a.firstFileName) }, null, 8, ["iconValue"])]), Vue.createElementVNode("span", { title: a.firstFileName, ref: "nameRef", class: "amb-list-preivew-name" }, Vue.toDisplayString(a.firstFileName), 9, _hoisted_3$K)], 64)) : Vue.createCommentVNode("", true), a.firstFileName && !o.uploading ? (Vue.openBlock(), Vue.createElementBlock("div", _hoisted_4$x, [Vue.renderSlot(e2.$slots, "tool-prefix", { item: a.getFirstFile() }, void 0, true), o.disabled && o.fileSetObj.disabledNoPreview ? Vue.createCommentVNode("", true) : (Vue.openBlock(), Vue.createBlock(s, { key: 0, content: e2.$t("fsUpload.preview") }, { default: Vue.withCtx(() => [Vue.createVNode(l, { onClick: t2[0] || (t2[0] = (e3) => a.previewFirst()), iconValue: "amb-icon-yulan" })]), _: 1 }, 8, ["content"])), o.disabled && o.fileSetObj.disabledNoDownload ? Vue.createCommentVNode("", true) : (Vue.openBlock(), Vue.createBlock(s, { key: 1, content: e2.$t("fsUpload.download") }, { default: Vue.withCtx(() => [Vue.createVNode(l, { onClick: t2[1] || (t2[1] = (e3) => a.downloadFirst()), iconValue: "amb-icon-xiazai" })]), _: 1 }, 8, ["content"])), o.enableDelete && !o.disabled ? (Vue.openBlock(), Vue.createBlock(s, { key: 2, content: e2.$t("fsUpload.delete") }, { default: Vue.withCtx(() => [Vue.createVNode(l, { onClick: t2[2] || (t2[2] = (e3) => a.deleteFirst()), iconValue: "amb-color-icon-del" })]), _: 1 }, 8, ["content"])) : Vue.createCommentVNode("", true), Vue.renderSlot(e2.$slots, "tool-suffix", { item: a.getFirstFile() }, void 0, true), i2.showMultipleFile ? (Vue.openBlock(), Vue.createBlock(r, { key: 3, direction: "vertical" })) : Vue.createCommentVNode("", true), Vue.createVNode(p, { width: 450, trigger: "click" }, { reference: Vue.withCtx(() => [i2.showMultipleFile ? (Vue.openBlock(), Vue.createBlock(d, { key: 0, plain: "", type: "primary", round: "", size: "small", onClick: a.showMultiView }, { default: Vue.withCtx(() => [Vue.createTextVNode(Vue.toDisplayString(e2.$t("fsUpload.more")) + " ", 1), Vue.createVNode(c, null, { default: Vue.withCtx(() => [Vue.createVNode(u)]), _: 1 })]), _: 1 }, 8, ["onClick"])) : Vue.createCommentVNode("", true)]), default: Vue.withCtx(() => [Vue.createElementVNode("div", _hoisted_5$q, [(Vue.openBlock(true), Vue.createElementBlock(Vue.Fragment, null, Vue.renderList(i2.fileList, (t3, n2) => (Vue.openBlock(), Vue.createElementBlock("div", { ref_for: true, ref: t3.serverPath, key: t3.serverPath, class: "file-item" }, [Vue.createElementVNode("div", _hoisted_6$l, [Vue.createElementVNode("span", _hoisted_7$e, [Vue.createVNode(l, { iconValue: a.getFileIconByName(t3.showName) }, null, 8, ["iconValue"])]), Vue.createElementVNode("span", _hoisted_8$b, Vue.toDisplayString(t3.showName), 1)]), Vue.createElementVNode("div", _hoisted_9$a, [Vue.renderSlot(e2.$slots, "tool-more-prefix", { item: t3 }, void 0, true), o.disabled && o.fileSetObj.disabledNoPreview ? Vue.createCommentVNode("", true) : (Vue.openBlock(), Vue.createBlock(s, { key: 0, content: e2.$t("fsUpload.preview") }, { default: Vue.withCtx(() => [Vue.createVNode(l, { onClick: (e3) => a.previewSingle(t3), iconValue: "amb-icon-yulan" }, null, 8, ["onClick"])]), _: 2 }, 1032, ["content"])), o.disabled && o.fileSetObj.disabledNoDownload ? Vue.createCommentVNode("", true) : (Vue.openBlock(), Vue.createBlock(s, { key: 1, content: e2.$t("fsUpload.download") }, { default: Vue.withCtx(() => [Vue.createVNode(l, { onClick: (e3) => a.donwloadFile(n2), iconValue: "amb-icon-xiazai" }, null, 8, ["onClick"])]), _: 2 }, 1032, ["content"])), o.enableDelete ? (Vue.openBlock(), Vue.createBlock(s, { key: 2, content: e2.$t("fsUpload.delete") }, { default: Vue.withCtx(() => [Vue.createVNode(l, { onClick: (e3) => a.deleteFile(t3), iconValue: "amb-color-icon-shanchu" }, null, 8, ["onClick"])]), _: 2 }, 1032, ["content"])) : Vue.createCommentVNode("", true)])]))), 128))])]), _: 3 })], 512)) : Vue.createCommentVNode("", true)], 544), i2.showPreviewSingleImage ? (Vue.openBlock(), Vue.createBlock(m, { key: 0, teleported: "", "url-list": i2.previewImageListInfo, "initial-index": i2.initialIndex, onClose: t2[4] || (t2[4] = (e3) => i2.showPreviewSingleImage = false) }, null, 8, ["url-list", "initial-index"])) : Vue.createCommentVNode("", true)], 512);
5621
5730
  }
5622
- const FsPreview = _export_sfc(_sfc_main$20, [["render", _sfc_render$1h], ["__scopeId", "data-v-2448d898"]]);
5731
+ const FsPreview = _export_sfc(_sfc_main$20, [["render", _sfc_render$1h], ["__scopeId", "data-v-7f109349"]]);
5623
5732
  FsPreview.install = function(e2) {
5624
5733
  e2.component(FsPreview.name, FsPreview);
5625
5734
  };
@@ -5782,7 +5891,7 @@
5782
5891
  const l = Vue.resolveComponent("superIcon"), s = Vue.resolveComponent("el-tooltip"), r = Vue.resolveDirective("permission");
5783
5892
  return Vue.openBlock(), Vue.createElementBlock("span", { style: Vue.normalizeStyle(i2.myStyle) }, [a.isShowButton() ? (Vue.openBlock(), Vue.createBlock(s, { key: 0, disabled: a.tooltipDisabled, content: o.label, placement: "top" }, { default: Vue.withCtx(() => [a.operationSettingData.permission ? Vue.withDirectives((Vue.openBlock(), Vue.createBlock(Vue.resolveDynamicComponent(a.isElementType), Vue.mergeProps({ key: 0 }, a.operationSettingData, { class: "row-operation-icon", disabled: e2.preventReclick, onMousedown: t2[0] || (t2[0] = (e3) => a.onClickFun(a.operationSettingData)) }), { default: Vue.withCtx(() => [a.prefixIcon ? (Vue.openBlock(), Vue.createBlock(l, { key: 0, iconValue: a.prefixIcon, class: Vue.normalizeClass([{ "is-text-labl": !!a.labelText }, "prefix-btn-icon"]) }, null, 8, ["iconValue", "class"])) : Vue.createCommentVNode("", true), Vue.createTextVNode(" " + Vue.toDisplayString(a.labelText) + " ", 1), a.suffixIcon ? (Vue.openBlock(), Vue.createBlock(l, { key: 1, iconValue: a.suffixIcon, class: Vue.normalizeClass([{ "is-text-labl": !!a.labelText }, "suffix-btn-icon"]) }, null, 8, ["iconValue", "class"])) : Vue.createCommentVNode("", true)]), _: 1 }, 16, ["disabled"])), [[r, a.operationSettingData.permission]]) : (Vue.openBlock(), Vue.createBlock(Vue.resolveDynamicComponent(a.isElementType), Vue.mergeProps({ key: 1 }, a.operationSettingData, { class: "row-operation-icon", disabled: e2.preventReclick, onMousedown: t2[1] || (t2[1] = (e3) => a.onClickFun(a.operationSettingData)) }), { default: Vue.withCtx(() => [a.prefixIcon ? (Vue.openBlock(), Vue.createBlock(l, { key: 0, iconValue: a.prefixIcon, class: Vue.normalizeClass([{ "is-text-labl": !!a.labelText }, "prefix-btn-icon"]) }, null, 8, ["iconValue", "class"])) : Vue.createCommentVNode("", true), Vue.createTextVNode(" " + Vue.toDisplayString(a.labelText) + " ", 1), a.suffixIcon ? (Vue.openBlock(), Vue.createBlock(l, { key: 1, iconValue: a.suffixIcon, class: Vue.normalizeClass([{ "is-text-labl": !!a.labelText }, "suffix-btn-icon"]) }, null, 8, ["iconValue", "class"])) : Vue.createCommentVNode("", true)]), _: 1 }, 16, ["disabled"]))]), _: 1 }, 8, ["disabled", "content"])) : Vue.createCommentVNode("", true)], 4);
5784
5893
  }
5785
- const RowOperation = _export_sfc(_sfc_main$1Y, [["render", _sfc_render$1e], ["__scopeId", "data-v-e34a61f7"]]), normalColumnContent_vue_vue_type_style_index_0_scoped_c44b1087_lang = "", _sfc_main$1X = { components: { DynamicInput, RowOperation, ViewImageDialog, FsPreview, RichEditorViewer, CirclePlus: ElementPlusIconsVue.CirclePlus, ElIconZoomIn: ElementPlusIconsVue.ZoomIn, GridIcon }, name: "NormalColumnContent", props: { isContentViewText: { type: Boolean, default: false }, column: { type: Object, default: null }, customFormat: { type: Function, default: null }, listCode: { type: String, default: null }, isSql: { type: Boolean, default: false }, newWidth: { type: Number, default: null }, dragColumnProp: { type: String, default: null }, tableName: { type: String, default: null }, pageCode: { type: String, default: null }, listName: { type: String, default: null }, currentPage: { type: Number, default: 1 }, gridData: { type: Array, default: null }, pageGridData: { type: Array, default: null }, listToolbarFormData: { type: Object, default: null }, row: { type: Object, default: null }, rowIndex: { type: Number, default: null }, isShowForm: { type: Boolean, default: false } }, data() {
5894
+ const RowOperation = _export_sfc(_sfc_main$1Y, [["render", _sfc_render$1e], ["__scopeId", "data-v-e34a61f7"]]), normalColumnContent_vue_vue_type_style_index_0_scoped_30804a71_lang = "", _sfc_main$1X = { components: { DynamicInput, RowOperation, ViewImageDialog, FsPreview, RichEditorViewer, CirclePlus: ElementPlusIconsVue.CirclePlus, ElIconZoomIn: ElementPlusIconsVue.ZoomIn, GridIcon }, name: "NormalColumnContent", props: { isContentViewText: { type: Boolean, default: false }, column: { type: Object, default: null }, customFormat: { type: Function, default: null }, listCode: { type: String, default: null }, isSql: { type: Boolean, default: false }, newWidth: { type: Number, default: null }, dragColumnProp: { type: String, default: null }, tableName: { type: String, default: null }, pageCode: { type: String, default: null }, listName: { type: String, default: null }, currentPage: { type: Number, default: 1 }, gridData: { type: Array, default: null }, pageGridData: { type: Array, default: null }, listToolbarFormData: { type: Object, default: null }, row: { type: Object, default: null }, rowIndex: { type: Number, default: null }, isShowForm: { type: Boolean, default: false } }, data() {
5786
5895
  let e2;
5787
5896
  const t2 = store$1.get(this.listCode), o = t2.options;
5788
5897
  t2.options.extraParam && t2.options.extraParam.entityMap && (e2 = t2.options.extraParam.entityMap);
@@ -6068,13 +6177,13 @@
6068
6177
  if (e2 && e2.customParams)
6069
6178
  return formatCustomParams(e2.customParams, (_c = this.options) == null ? void 0 : _c.pageContext, this.row);
6070
6179
  }
6071
- } }, emits: ["refresData", "refresPortData", "refresPortsData", "refresMainTableFields", "prohibitToEdit", "deleteFormSubTableRow"] }, _hoisted_1$1t = { class: "normal-column-content-view" }, _hoisted_2$_ = { key: 0, "table-column-placeholder": "" }, _hoisted_3$J = { key: 1, class: "grid-operation-buttons", "data-v": "20250527" }, _hoisted_4$w = ["id"], _hoisted_5$o = { key: 0, type: "primary" }, _hoisted_6$j = ["id", "title"], _hoisted_7$c = ["id", "title"], _hoisted_8$9 = ["id"], _hoisted_9$9 = ["id", "title"], _hoisted_10$9 = ["id"], _hoisted_11$7 = { key: 0, type: "primary", style: { width: "100%" } }, _hoisted_12$6 = ["id", "title"], _hoisted_13$4 = ["id"], _hoisted_14$4 = { key: 1 }, _hoisted_15$4 = ["id", "title"], _hoisted_16$4 = ["id", "title"], _hoisted_17$4 = ["id"], _hoisted_18$2 = ["id", "title", "innerHTML"], _hoisted_19$1 = ["id"];
6180
+ } }, emits: ["refresData", "refresPortData", "refresPortsData", "refresMainTableFields", "prohibitToEdit", "deleteFormSubTableRow"] }, _hoisted_1$1t = { class: "normal-column-content-view" }, _hoisted_2$_ = { key: 0, "table-column-placeholder": "" }, _hoisted_3$J = { key: 1, class: "grid-operation-buttons", "data-v": "20250527" }, _hoisted_4$w = ["id"], _hoisted_5$p = { key: 0, type: "primary" }, _hoisted_6$k = ["id", "title"], _hoisted_7$d = ["id", "title"], _hoisted_8$a = ["id"], _hoisted_9$9 = ["id", "title"], _hoisted_10$9 = ["id"], _hoisted_11$7 = { key: 0, type: "primary", style: { width: "100%" } }, _hoisted_12$6 = ["id", "title"], _hoisted_13$4 = ["id"], _hoisted_14$4 = { key: 1 }, _hoisted_15$4 = ["id", "title"], _hoisted_16$4 = ["id", "title"], _hoisted_17$4 = ["id"], _hoisted_18$2 = ["id", "title", "innerHTML"], _hoisted_19$1 = ["id"];
6072
6181
  function _sfc_render$1d(e2, t2, o, n, i2, a) {
6073
6182
  var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l;
6074
6183
  const l = Vue.resolveComponent("dynamic-input"), s = Vue.resolveComponent("Edit"), r = Vue.resolveComponent("el-icon"), u = Vue.resolveComponent("el-dropdown-item"), c = Vue.resolveComponent("el-dropdown-menu"), d = Vue.resolveComponent("el-dropdown"), p = Vue.resolveComponent("row-operation"), m = Vue.resolveComponent("secret-info"), h2 = Vue.resolveComponent("FsPreview"), g = Vue.resolveComponent("SuperIcon"), f = Vue.resolveComponent("el-link"), A = Vue.resolveComponent("el-tooltip"), y = Vue.resolveComponent("GridIcon"), w = Vue.resolveComponent("view-image-dialog"), C = Vue.resolveComponent("rich-editor-viewer"), V = Vue.resolveDirective("permission");
6075
- return Vue.openBlock(), Vue.createElementBlock("div", _hoisted_1$1t, [a.isEditing || o.isShowForm ? (Vue.openBlock(), Vue.createBlock(l, { key: 0, ref: "dynamicRef", value: o.row[o.column.prop], "onUpdate:value": t2[0] || (t2[0] = (e3) => o.row[o.column.prop] = e3), class: Vue.normalizeClass(i2.requiredClass), column: o.column, "is-sql": o.isSql, "line-edit": i2.lineEdit, "list-code": o.listCode, "list-toolbar-form-data": o.listToolbarFormData, options: o.column.valueSet, "grid-options": i2.options, position: { row: o.rowIndex, prop: o.column.prop }, disabled: i2.disabled, row: o.row, "row-index": o.rowIndex, type: o.column.componentType, onKeyup: Vue.withKeys(a.clearAllEditing, ["enter"]), onFindIndex: t2[1] || (t2[1] = (e3) => a.findIndex(o.rowIndex)), onFocus: t2[2] || (t2[2] = (e3) => a.onFocus(o.rowIndex)), onProhibitToEdit: a.prohibitToEdit, onRefreshList: a.refreshList, onRefresData: a.refresData, onRefresMainTableFields: a.refresMainTableFields, onRefresPortData: a.refresPortData, onRefresPortsData: a.refresPortsData, onChangeDisabled: a.changeDisabled, onChangeRequired: a.changeRequired, onOpenPage: a.openPageEvent }, null, 8, ["value", "class", "column", "is-sql", "line-edit", "list-code", "list-toolbar-form-data", "options", "grid-options", "position", "disabled", "row", "row-index", "type", "onKeyup", "onProhibitToEdit", "onRefreshList", "onRefresData", "onRefresMainTableFields", "onRefresPortData", "onRefresPortsData", "onChangeDisabled", "onChangeRequired", "onOpenPage"])) : (Vue.openBlock(), Vue.createElementBlock("div", { key: 1, class: Vue.normalizeClass(((_d = (_c = (_b = (_a = i2.options) == null ? void 0 : _a.configureObj) == null ? void 0 : _b.props) == null ? void 0 : _c.base) == null ? void 0 : _d.columnEditable) ? "column-text-main" : "") }, [i2.lineEdit.editable && ((_h = (_g = (_f = (_e = i2.options) == null ? void 0 : _e.configureObj) == null ? void 0 : _f.props) == null ? void 0 : _g.base) == null ? void 0 : _h.columnEditable) && i2.isEditable && !a.isHideEdit && !o.isContentViewText ? (Vue.openBlock(), Vue.createElementBlock("div", { key: 0, class: "column-text-edit-main", onClick: t2[3] || (t2[3] = (...e3) => a.onEditing && a.onEditing(...e3)) }, [Vue.createVNode(r, { size: 14, color: "#409eff" }, { default: Vue.withCtx(() => [Vue.createVNode(s)]), _: 1 }), [void 0, null, ""].includes(o.row[o.column.prop]) ? (Vue.openBlock(), Vue.createElementBlock("span", _hoisted_2$_, Vue.toDisplayString(e2.$t("superGrid.editablePlaceholder")), 1)) : Vue.createCommentVNode("", true)])) : Vue.createCommentVNode("", true), o.column.operations ? (Vue.openBlock(), Vue.createElementBlock("span", _hoisted_3$J, [(Vue.openBlock(true), Vue.createElementBlock(Vue.Fragment, null, Vue.renderList(o.column.operations, (t3, n2) => (Vue.openBlock(), Vue.createElementBlock("span", { key: n2, class: Vue.normalizeClass([o.isShowForm ? "" : "cell--span", "buttons-row-content-span"]) }, [t3.isGroup ? (Vue.openBlock(), Vue.createBlock(d, { key: 0, size: t3.buttons && t3.buttons.length > 0 ? t3.buttons[0].props.size : "small", "split-button": "", onCommand: a.handleCommand }, { dropdown: Vue.withCtx(() => [Vue.createVNode(c, null, { default: Vue.withCtx(() => [(Vue.openBlock(true), Vue.createElementBlock(Vue.Fragment, null, Vue.renderList(t3.buttons, (t4, n3) => (Vue.openBlock(), Vue.createElementBlock("span", { key: t4.props.code + n3 }, [Vue.withDirectives((Vue.openBlock(), Vue.createBlock(u, { command: a.beforeHandleCommand(t4.props.code, o.row, o.rowIndex), disabled: e2.preventReclick }, { default: Vue.withCtx(() => [Vue.createTextVNode(Vue.toDisplayString(e2.$escapeHtml(t4.props.label)), 1)]), _: 2 }, 1032, ["command", "disabled"])), [[V, t4.props.permission]])]))), 128))]), _: 2 }, 1024)]), default: Vue.withCtx(() => [Vue.createTextVNode(Vue.toDisplayString(e2.$escapeHtml(t3.label)) + " ", 1)]), _: 2 }, 1032, ["size", "onCommand"])) : t3.props.customControl ? Vue.withDirectives((Vue.openBlock(), Vue.createBlock(Vue.resolveDynamicComponent(t3.props.customControl), { key: o.column.prop + "_" + o.rowIndex + "_" + o.currentPage, disabled: true, row: o.pageGridData[o.rowIndex], entity: o.pageGridData[o.rowIndex], prop: o.column.prop, parent: i2.parentFormData, "row-index": o.rowIndex, "grid-data": o.gridData, "page-grid-data": o.pageGridData, "current-page": o.currentPage, "custom-params": i2.controlConfig ? i2.controlConfig.customParams : null, onRefreshList: a.refreshList }, null, 40, ["row", "entity", "prop", "parent", "row-index", "grid-data", "page-grid-data", "current-page", "custom-params", "onRefreshList"])), [[V, t3.props.permission]]) : (Vue.openBlock(), Vue.createBlock(p, { key: 2, column: o.column, editing: o.row.$editing, entity: o.row, "is-show": t3.isShow, label: t3.props.label ? t3.props.label : o.row[o.column.prop], "on-click": t3.onClick, "operation-index": n2, "operation-setting": t3.props, "event-name": t3.eventName, "row-index": o.rowIndex, "list-code": o.listCode, "parent-form-data": i2.parentFormData, "is-table-btn-link": "" }, null, 8, ["column", "editing", "entity", "is-show", "label", "on-click", "operation-index", "operation-setting", "event-name", "row-index", "list-code", "parent-form-data"]))], 2))), 128))])) : e2.customFormatValue(o.row, o.column.prop, o.customFormat, o.rowIndex) ? (Vue.openBlock(), Vue.createElementBlock("span", { key: 2, class: Vue.normalizeClass(o.isShowForm ? "" : "cell--span") }, [(Vue.openBlock(), Vue.createBlock(Vue.resolveDynamicComponent(o.column.prop + o.rowIndex), { entity: o.row, parent: i2.parentFormData, prop: o.column.prop, row: o.row, "row-index": o.rowIndex, "select-options": o.column.valueSet, "show-value": e2.$escapeHtml(a.getLabel(o.row, o.rowIndex)), value: a.getCellValue(o.row), "additional-param-map": i2.additionalParamMap, "additional-settings": i2.additionalSettings, "page-context": (_i = i2.options) == null ? void 0 : _i.pageContext, "custom-params": i2.controlConfig ? i2.controlConfig.customParams : null }, null, 8, ["entity", "parent", "prop", "row", "row-index", "select-options", "show-value", "value", "additional-param-map", "additional-settings", "page-context", "custom-params"]))], 2)) : void 0 !== i2.columnFormatter && void 0 !== i2.columnFormatter.type && "customControl" === i2.columnFormatter.type && i2.columnFormatter.options && i2.columnFormatter.options.format && "" !== i2.columnFormatter.options.format ? (Vue.openBlock(), Vue.createElementBlock("span", { key: 3, class: Vue.normalizeClass("newline" === i2.textOverflow ? "wrap-text" : "ellipsis cell--span") }, [(Vue.openBlock(), Vue.createBlock(Vue.resolveDynamicComponent(i2.columnFormatter.options.format), { key: o.column.prop + "_" + o.rowIndex + "_" + o.currentPage, "current-page": o.currentPage, disabled: true, entity: o.pageGridData[o.rowIndex], "get-form-data": i2.getFormData, "get-grid-data": i2.getTableGridData, "grid-data": o.gridData, "page-grid-data": o.pageGridData, parent: i2.parentFormData, prop: o.column.prop, row: o.pageGridData[o.rowIndex], "row-index": o.rowIndex, "select-options": o.column.valueSet, "show-value": e2.$escapeHtml(a.getLabel(o.pageGridData[o.rowIndex], o.rowIndex)), value: a.getCellValue(o.pageGridData[o.rowIndex]), "additional-param-map": i2.additionalParamMap, listCode: o.listCode, "component-id": i2.componentId, "additional-settings": i2.additionalSettings, "page-context": (_j = i2.options) == null ? void 0 : _j.pageContext, "custom-params": a.getCustomParams(), onProhibitToEdit: a.prohibitToEdit, onRefreshList: a.refreshList }, null, 40, ["current-page", "entity", "get-form-data", "get-grid-data", "grid-data", "page-grid-data", "parent", "prop", "row", "row-index", "select-options", "show-value", "value", "additional-param-map", "listCode", "component-id", "additional-settings", "page-context", "custom-params", "onProhibitToEdit", "onRefreshList"]))], 2)) : void 0 !== i2.columnFormatter && void 0 !== i2.columnFormatter.type && "secretInfo" === i2.columnFormatter.type ? (Vue.openBlock(), Vue.createElementBlock("span", { key: 4, id: o.column.prop + "DomData" + o.rowIndex, class: Vue.normalizeClass(o.isShowForm ? "" : "cell--span") }, [Vue.createVNode(m, { entity: o.row, "field-label": e2.$escapeHtml(e2.label), "list-code": o.listCode, "list-name": o.listName, "page-code": o.pageCode, prop: o.column.prop, "table-name": o.tableName, value: a.getCellValue(o.row) }, null, 8, ["entity", "field-label", "list-code", "list-name", "page-code", "prop", "table-name", "value"])], 10, _hoisted_4$w)) : e2.isObjectProp(o.column.prop) ? (Vue.openBlock(), Vue.createElementBlock(Vue.Fragment, { key: 5 }, [o.column.formatter && "files" === o.column.formatter.type ? (Vue.openBlock(), Vue.createElementBlock("span", _hoisted_5$o, [Vue.createElementVNode("span", { id: o.column.prop + "DomData" + o.rowIndex, title: e2.isShowOverflowTooltip ? e2.$escapeHtml(a.getLabel(o.row)) : "", class: Vue.normalizeClass("newline" === i2.textOverflow ? "wrap-text" : "ellipsis cell--span") }, [Vue.createVNode(h2, { entity: o.row, "file-set-obj": a.getFilesFormatter(), "is-sql": o.isSql, label: e2.$escapeHtml(a.getLabel(o.row, o.rowIndex)) }, null, 8, ["entity", "file-set-obj", "is-sql", "label"])], 10, _hoisted_6$j)])) : "hyperlinks" === ((_k = i2.columnFormatter) == null ? void 0 : _k.type) && true === i2.linkObject.visible ? (Vue.openBlock(), Vue.createBlock(f, { key: 1, type: a.getLinkType(o.row), onClick: t2[4] || (t2[4] = (t3) => e2.clickHyperLink(o.column, o.row, o.listCode, o.rowIndex)) }, { default: Vue.withCtx(() => [e2.isShowOverflowTooltip ? (Vue.openBlock(), Vue.createElementBlock("span", { key: 0, id: o.column.prop + "DomData" + o.rowIndex, style: Vue.normalizeStyle("newline" === i2.textOverflow ? {} : { width: i2.cellWidth + "px" }), title: i2.linkObject.title, class: Vue.normalizeClass("newline" === i2.textOverflow ? "wrap-text" : "ellipsis cell--span") }, [Vue.createTextVNode(Vue.toDisplayString(i2.linkObject.label) + " ", 1), i2.linkObject.icon ? (Vue.openBlock(), Vue.createBlock(g, { key: 0, iconValue: i2.linkObject.icon }, null, 8, ["iconValue"])) : Vue.createCommentVNode("", true)], 14, _hoisted_7$c)) : (Vue.openBlock(), Vue.createElementBlock("span", { key: 1, id: o.column.prop + "DomData" + o.rowIndex, class: Vue.normalizeClass(o.isShowForm ? "" : "cell--span") }, [Vue.createTextVNode(Vue.toDisplayString(i2.linkObject.label) + " ", 1), i2.linkObject.icon ? (Vue.openBlock(), Vue.createBlock(g, { key: 0, iconValue: i2.linkObject.icon }, null, 8, ["iconValue"])) : Vue.createCommentVNode("", true)], 10, _hoisted_8$9))]), _: 1 }, 8, ["type"])) : e2.isShowOverflowTooltip ? (Vue.openBlock(), Vue.createElementBlock("span", { key: 2, id: o.column.prop + "DomData" + o.rowIndex, style: Vue.normalizeStyle("newline" === i2.textOverflow ? {} : { width: i2.cellWidth + "px" }), title: e2.$escapeHtml(a.getLabel(o.row)), class: Vue.normalizeClass("newline" === i2.textOverflow ? "wrap-text" : "ellipsis cell--span") }, Vue.toDisplayString(e2.$escapeHtml(a.getLabel(o.row, o.rowIndex))), 15, _hoisted_9$9)) : (Vue.openBlock(), Vue.createElementBlock("span", { key: 3, id: o.column.prop + "DomData" + o.rowIndex, class: Vue.normalizeClass(o.isShowForm ? "" : "cell--span") }, Vue.toDisplayString(e2.$escapeHtml(a.getLabel(o.row, o.rowIndex))), 11, _hoisted_10$9))], 64)) : (Vue.openBlock(), Vue.createElementBlock(Vue.Fragment, { key: 6 }, ["annex" === o.column.componentType || "multipartUpload" === o.column.componentType ? (Vue.openBlock(), Vue.createElementBlock("span", _hoisted_11$7, [e2.isShowOverflowTooltip ? (Vue.openBlock(), Vue.createElementBlock("span", { key: 0, id: o.column.prop + "DomData" + o.rowIndex, title: e2.$escapeHtml(a.getLabel(o.row)), class: Vue.normalizeClass("newline" === i2.textOverflow ? "wrap-text" : "ellipsis cell--span") }, [Vue.createVNode(h2, { width: i2.cellWidth, entity: o.row, "file-set-obj": a.getFileObj(o.column.fileSet), "is-sql": o.isSql, label: e2.$escapeHtml(a.getLabel(o.row, o.rowIndex)) }, null, 8, ["width", "entity", "file-set-obj", "is-sql", "label"])], 10, _hoisted_12$6)) : (Vue.openBlock(), Vue.createElementBlock("span", { key: 1, id: o.column.prop + "DomData" + o.rowIndex, class: Vue.normalizeClass(o.isShowForm ? "" : "cell--span") }, [Vue.createVNode(h2, { entity: o.row, "file-set-obj": a.getFileObj(o.column.fileSet), "is-sql": o.isSql, label: e2.$escapeHtml(a.getLabel(o.row, o.rowIndex)) }, null, 8, ["entity", "file-set-obj", "is-sql", "label"])], 10, _hoisted_13$4))])) : o.column.formatter && "files" === o.column.formatter.type ? (Vue.openBlock(), Vue.createElementBlock("span", _hoisted_14$4, [Vue.createElementVNode("span", { id: o.column.prop + "DomData" + o.rowIndex, title: e2.isShowOverflowTooltip ? e2.$escapeHtml(a.getLabel(o.row)) : "", class: Vue.normalizeClass("newline" === i2.textOverflow ? "wrap-text" : "ellipsis cell--span") }, [Vue.createVNode(h2, { entity: o.row, "file-set-obj": a.getFilesFormatter(), "is-sql": o.isSql, label: e2.$escapeHtml(a.getLabel(o.row, o.rowIndex)) }, null, 8, ["entity", "file-set-obj", "is-sql", "label"])], 10, _hoisted_15$4)])) : "hyperlinks" === ((_l = i2.columnFormatter) == null ? void 0 : _l.type) && i2.linkObject.visible ? (Vue.openBlock(), Vue.createBlock(f, { key: 2, type: "primary", onClick: t2[5] || (t2[5] = (t3) => e2.clickHyperLink(o.column, o.row, o.listCode, o.rowIndex)) }, { default: Vue.withCtx(() => [e2.isShowOverflowTooltip ? (Vue.openBlock(), Vue.createElementBlock("span", { key: 0, id: o.column.prop + "DomData" + o.rowIndex, style: Vue.normalizeStyle("newline" === i2.textOverflow ? {} : { width: i2.cellWidth + "px" }), title: e2.$escapeHtml(i2.linkObject.title), class: Vue.normalizeClass("newline" === i2.textOverflow ? "wrap-text" : "ellipsis cell--span") }, [Vue.createTextVNode(Vue.toDisplayString(e2.$escapeHtml(i2.linkObject.label)) + " ", 1), i2.linkObject.icon ? (Vue.openBlock(), Vue.createBlock(g, { key: 0, iconValue: i2.linkObject.icon }, null, 8, ["iconValue"])) : Vue.createCommentVNode("", true)], 14, _hoisted_16$4)) : (Vue.openBlock(), Vue.createElementBlock("span", { key: 1, id: o.column.prop + "DomData" + o.rowIndex, class: Vue.normalizeClass(o.isShowForm ? "" : "cell--span") }, [Vue.createTextVNode(Vue.toDisplayString(e2.$escapeHtml(i2.linkObject.label)) + " ", 1), i2.linkObject.icon ? (Vue.openBlock(), Vue.createBlock(g, { key: 0, iconValue: i2.linkObject.icon }, null, 8, ["iconValue"])) : Vue.createCommentVNode("", true)], 10, _hoisted_17$4))]), _: 1 })) : o.column.formatter && "richEditor" === o.column.formatter.type ? (Vue.openBlock(), Vue.createBlock(A, { key: 3, content: e2.$t("superGrid.show"), class: "item", effect: "dark", placement: "top" }, { default: Vue.withCtx(() => [Vue.createElementVNode("em", { class: "fa fa-info-circle annex-cell", onClick: t2[6] || (t2[6] = (e3) => a.showRichEditorContent(o.row, o.column, a.getHeader())) })]), _: 1 }, 8, ["content"])) : o.column.formatter && "icon" === o.column.formatter.type ? (Vue.openBlock(), Vue.createBlock(y, { key: 4, id: o.column.prop + "DomData" + o.rowIndex, column: o.column, row: o.row, "row-index": o.rowIndex, "is-sql": o.isSql, "list-code": o.listCode }, null, 8, ["id", "column", "row", "row-index", "is-sql", "list-code"])) : e2.isShowOverflowTooltip ? (Vue.openBlock(), Vue.createElementBlock("span", { key: 5, id: o.column.prop + "DomData" + o.rowIndex, style: Vue.normalizeStyle("newline" === i2.textOverflow ? {} : { width: i2.cellWidth + "px" }), title: a.getLabel(o.row), class: Vue.normalizeClass("newline" === i2.textOverflow ? "wrap-text" : "ellipsis cell--span"), innerHTML: e2.$escapeHtml(a.getLabel(o.row, o.rowIndex)) }, null, 14, _hoisted_18$2)) : (Vue.openBlock(), Vue.createElementBlock("span", { key: 6, id: o.column.prop + "DomData" + o.rowIndex, class: Vue.normalizeClass(o.isShowForm ? "" : "cell--span") }, Vue.toDisplayString(e2.$escapeHtml(a.getLabel(o.row, o.rowIndex))), 11, _hoisted_19$1))], 64))], 2)), i2.showSingleImgFlag ? (Vue.openBlock(), Vue.createBlock(w, { key: 2, "file-list": i2.fileList, onClose: t2[7] || (t2[7] = (e3) => i2.showSingleImgFlag = false) }, null, 8, ["file-list"])) : Vue.createCommentVNode("", true), i2.showRichEditorViewer ? (Vue.openBlock(), Vue.createBlock(C, { key: 3, ref: "richEditorViewerRef", onCloseRichEditorContent: a.closeRichEditorContent }, null, 8, ["onCloseRichEditorContent"])) : Vue.createCommentVNode("", true)]);
6184
+ return Vue.openBlock(), Vue.createElementBlock("div", _hoisted_1$1t, [a.isEditing || o.isShowForm ? (Vue.openBlock(), Vue.createBlock(l, { key: 0, ref: "dynamicRef", value: o.row[o.column.prop], "onUpdate:value": t2[0] || (t2[0] = (e3) => o.row[o.column.prop] = e3), class: Vue.normalizeClass(i2.requiredClass), column: o.column, "is-sql": o.isSql, "line-edit": i2.lineEdit, "list-code": o.listCode, "list-toolbar-form-data": o.listToolbarFormData, options: o.column.valueSet, "grid-options": i2.options, position: { row: o.rowIndex, prop: o.column.prop }, disabled: i2.disabled, row: o.row, "row-index": o.rowIndex, type: o.column.componentType, onKeyup: Vue.withKeys(a.clearAllEditing, ["enter"]), onFindIndex: t2[1] || (t2[1] = (e3) => a.findIndex(o.rowIndex)), onFocus: t2[2] || (t2[2] = (e3) => a.onFocus(o.rowIndex)), onProhibitToEdit: a.prohibitToEdit, onRefreshList: a.refreshList, onRefresData: a.refresData, onRefresMainTableFields: a.refresMainTableFields, onRefresPortData: a.refresPortData, onRefresPortsData: a.refresPortsData, onChangeDisabled: a.changeDisabled, onChangeRequired: a.changeRequired, onOpenPage: a.openPageEvent }, null, 8, ["value", "class", "column", "is-sql", "line-edit", "list-code", "list-toolbar-form-data", "options", "grid-options", "position", "disabled", "row", "row-index", "type", "onKeyup", "onProhibitToEdit", "onRefreshList", "onRefresData", "onRefresMainTableFields", "onRefresPortData", "onRefresPortsData", "onChangeDisabled", "onChangeRequired", "onOpenPage"])) : (Vue.openBlock(), Vue.createElementBlock("div", { key: 1, class: Vue.normalizeClass(((_d = (_c = (_b = (_a = i2.options) == null ? void 0 : _a.configureObj) == null ? void 0 : _b.props) == null ? void 0 : _c.base) == null ? void 0 : _d.columnEditable) ? "column-text-main" : "") }, [i2.lineEdit.editable && ((_h = (_g = (_f = (_e = i2.options) == null ? void 0 : _e.configureObj) == null ? void 0 : _f.props) == null ? void 0 : _g.base) == null ? void 0 : _h.columnEditable) && i2.isEditable && !a.isHideEdit && !o.isContentViewText ? (Vue.openBlock(), Vue.createElementBlock("div", { key: 0, class: "column-text-edit-main", onClick: t2[3] || (t2[3] = (...e3) => a.onEditing && a.onEditing(...e3)) }, [Vue.createVNode(r, { size: 14, color: "#409eff" }, { default: Vue.withCtx(() => [Vue.createVNode(s)]), _: 1 }), [void 0, null, ""].includes(o.row[o.column.prop]) ? (Vue.openBlock(), Vue.createElementBlock("span", _hoisted_2$_, Vue.toDisplayString(e2.$t("superGrid.editablePlaceholder")), 1)) : Vue.createCommentVNode("", true)])) : Vue.createCommentVNode("", true), o.column.operations ? (Vue.openBlock(), Vue.createElementBlock("span", _hoisted_3$J, [(Vue.openBlock(true), Vue.createElementBlock(Vue.Fragment, null, Vue.renderList(o.column.operations, (t3, n2) => (Vue.openBlock(), Vue.createElementBlock("span", { key: n2, class: Vue.normalizeClass([o.isShowForm ? "" : "cell--span", "buttons-row-content-span"]) }, [t3.isGroup ? (Vue.openBlock(), Vue.createBlock(d, { key: 0, size: t3.buttons && t3.buttons.length > 0 ? t3.buttons[0].props.size : "small", "split-button": "", onCommand: a.handleCommand }, { dropdown: Vue.withCtx(() => [Vue.createVNode(c, null, { default: Vue.withCtx(() => [(Vue.openBlock(true), Vue.createElementBlock(Vue.Fragment, null, Vue.renderList(t3.buttons, (t4, n3) => (Vue.openBlock(), Vue.createElementBlock("span", { key: t4.props.code + n3 }, [Vue.withDirectives((Vue.openBlock(), Vue.createBlock(u, { command: a.beforeHandleCommand(t4.props.code, o.row, o.rowIndex), disabled: e2.preventReclick }, { default: Vue.withCtx(() => [Vue.createTextVNode(Vue.toDisplayString(e2.$escapeHtml(t4.props.label)), 1)]), _: 2 }, 1032, ["command", "disabled"])), [[V, t4.props.permission]])]))), 128))]), _: 2 }, 1024)]), default: Vue.withCtx(() => [Vue.createTextVNode(Vue.toDisplayString(e2.$escapeHtml(t3.label)) + " ", 1)]), _: 2 }, 1032, ["size", "onCommand"])) : t3.props.customControl ? Vue.withDirectives((Vue.openBlock(), Vue.createBlock(Vue.resolveDynamicComponent(t3.props.customControl), { key: o.column.prop + "_" + o.rowIndex + "_" + o.currentPage, disabled: true, row: o.row, entity: o.row, prop: o.column.prop, parent: i2.parentFormData, "row-index": o.rowIndex, "grid-data": o.gridData, "page-grid-data": o.pageGridData, "current-page": o.currentPage, "custom-params": i2.controlConfig ? i2.controlConfig.customParams : null, onRefreshList: a.refreshList }, null, 40, ["row", "entity", "prop", "parent", "row-index", "grid-data", "page-grid-data", "current-page", "custom-params", "onRefreshList"])), [[V, t3.props.permission]]) : (Vue.openBlock(), Vue.createBlock(p, { key: 2, column: o.column, editing: o.row.$editing, entity: o.row, "is-show": t3.isShow, label: t3.props.label ? t3.props.label : o.row[o.column.prop], "on-click": t3.onClick, "operation-index": n2, "operation-setting": t3.props, "event-name": t3.eventName, "row-index": o.rowIndex, "list-code": o.listCode, "parent-form-data": i2.parentFormData, "is-table-btn-link": "" }, null, 8, ["column", "editing", "entity", "is-show", "label", "on-click", "operation-index", "operation-setting", "event-name", "row-index", "list-code", "parent-form-data"]))], 2))), 128))])) : e2.customFormatValue(o.row, o.column.prop, o.customFormat, o.rowIndex) ? (Vue.openBlock(), Vue.createElementBlock("span", { key: 2, class: Vue.normalizeClass(o.isShowForm ? "" : "cell--span") }, [(Vue.openBlock(), Vue.createBlock(Vue.resolveDynamicComponent(o.column.prop + o.rowIndex), { entity: o.row, parent: i2.parentFormData, prop: o.column.prop, row: o.row, "row-index": o.rowIndex, "select-options": o.column.valueSet, "show-value": e2.$escapeHtml(a.getLabel(o.row, o.rowIndex)), value: a.getCellValue(o.row), "additional-param-map": i2.additionalParamMap, "additional-settings": i2.additionalSettings, "page-context": (_i = i2.options) == null ? void 0 : _i.pageContext, "custom-params": i2.controlConfig ? i2.controlConfig.customParams : null }, null, 8, ["entity", "parent", "prop", "row", "row-index", "select-options", "show-value", "value", "additional-param-map", "additional-settings", "page-context", "custom-params"]))], 2)) : void 0 !== i2.columnFormatter && void 0 !== i2.columnFormatter.type && "customControl" === i2.columnFormatter.type && i2.columnFormatter.options && i2.columnFormatter.options.format && "" !== i2.columnFormatter.options.format ? (Vue.openBlock(), Vue.createElementBlock("span", { key: 3, class: Vue.normalizeClass("newline" === i2.textOverflow ? "wrap-text" : "ellipsis cell--span") }, [(Vue.openBlock(), Vue.createBlock(Vue.resolveDynamicComponent(i2.columnFormatter.options.format), { key: o.column.prop + "_" + o.rowIndex + "_" + o.currentPage, "current-page": o.currentPage, disabled: true, entity: o.row, "get-form-data": i2.getFormData, "get-grid-data": i2.getTableGridData, "grid-data": o.gridData, "page-grid-data": o.pageGridData, parent: i2.parentFormData, prop: o.column.prop, row: o.row, "row-index": o.rowIndex, "select-options": o.column.valueSet, "show-value": e2.$escapeHtml(a.getLabel(o.row, o.rowIndex)), value: a.getCellValue(o.row), "additional-param-map": i2.additionalParamMap, listCode: o.listCode, "component-id": i2.componentId, "additional-settings": i2.additionalSettings, "page-context": (_j = i2.options) == null ? void 0 : _j.pageContext, "custom-params": a.getCustomParams(), onProhibitToEdit: a.prohibitToEdit, onRefreshList: a.refreshList }, null, 40, ["current-page", "entity", "get-form-data", "get-grid-data", "grid-data", "page-grid-data", "parent", "prop", "row", "row-index", "select-options", "show-value", "value", "additional-param-map", "listCode", "component-id", "additional-settings", "page-context", "custom-params", "onProhibitToEdit", "onRefreshList"]))], 2)) : void 0 !== i2.columnFormatter && void 0 !== i2.columnFormatter.type && "secretInfo" === i2.columnFormatter.type ? (Vue.openBlock(), Vue.createElementBlock("span", { key: 4, id: o.column.prop + "DomData" + o.rowIndex, class: Vue.normalizeClass(o.isShowForm ? "" : "cell--span") }, [Vue.createVNode(m, { entity: o.row, "field-label": e2.$escapeHtml(e2.label), "list-code": o.listCode, "list-name": o.listName, "page-code": o.pageCode, prop: o.column.prop, "table-name": o.tableName, value: a.getCellValue(o.row) }, null, 8, ["entity", "field-label", "list-code", "list-name", "page-code", "prop", "table-name", "value"])], 10, _hoisted_4$w)) : e2.isObjectProp(o.column.prop) ? (Vue.openBlock(), Vue.createElementBlock(Vue.Fragment, { key: 5 }, [o.column.formatter && "files" === o.column.formatter.type ? (Vue.openBlock(), Vue.createElementBlock("span", _hoisted_5$p, [Vue.createElementVNode("span", { id: o.column.prop + "DomData" + o.rowIndex, title: e2.isShowOverflowTooltip ? e2.$escapeHtml(a.getLabel(o.row)) : "", class: Vue.normalizeClass("newline" === i2.textOverflow ? "wrap-text" : "ellipsis cell--span") }, [Vue.createVNode(h2, { entity: o.row, "file-set-obj": a.getFilesFormatter(), "is-sql": o.isSql, label: e2.$escapeHtml(a.getLabel(o.row, o.rowIndex)) }, null, 8, ["entity", "file-set-obj", "is-sql", "label"])], 10, _hoisted_6$k)])) : "hyperlinks" === ((_k = i2.columnFormatter) == null ? void 0 : _k.type) && true === i2.linkObject.visible ? (Vue.openBlock(), Vue.createBlock(f, { key: 1, type: a.getLinkType(o.row), onClick: t2[4] || (t2[4] = (t3) => e2.clickHyperLink(o.column, o.row, o.listCode, o.rowIndex)) }, { default: Vue.withCtx(() => [e2.isShowOverflowTooltip ? (Vue.openBlock(), Vue.createElementBlock("span", { key: 0, id: o.column.prop + "DomData" + o.rowIndex, style: Vue.normalizeStyle("newline" === i2.textOverflow ? {} : { width: i2.cellWidth + "px" }), title: i2.linkObject.title, class: Vue.normalizeClass("newline" === i2.textOverflow ? "wrap-text" : "ellipsis cell--span") }, [Vue.createTextVNode(Vue.toDisplayString(i2.linkObject.label) + " ", 1), i2.linkObject.icon ? (Vue.openBlock(), Vue.createBlock(g, { key: 0, iconValue: i2.linkObject.icon }, null, 8, ["iconValue"])) : Vue.createCommentVNode("", true)], 14, _hoisted_7$d)) : (Vue.openBlock(), Vue.createElementBlock("span", { key: 1, id: o.column.prop + "DomData" + o.rowIndex, class: Vue.normalizeClass(o.isShowForm ? "" : "cell--span") }, [Vue.createTextVNode(Vue.toDisplayString(i2.linkObject.label) + " ", 1), i2.linkObject.icon ? (Vue.openBlock(), Vue.createBlock(g, { key: 0, iconValue: i2.linkObject.icon }, null, 8, ["iconValue"])) : Vue.createCommentVNode("", true)], 10, _hoisted_8$a))]), _: 1 }, 8, ["type"])) : e2.isShowOverflowTooltip ? (Vue.openBlock(), Vue.createElementBlock("span", { key: 2, id: o.column.prop + "DomData" + o.rowIndex, style: Vue.normalizeStyle("newline" === i2.textOverflow ? {} : { width: i2.cellWidth + "px" }), title: e2.$escapeHtml(a.getLabel(o.row)), class: Vue.normalizeClass("newline" === i2.textOverflow ? "wrap-text" : "ellipsis cell--span") }, Vue.toDisplayString(e2.$escapeHtml(a.getLabel(o.row, o.rowIndex))), 15, _hoisted_9$9)) : (Vue.openBlock(), Vue.createElementBlock("span", { key: 3, id: o.column.prop + "DomData" + o.rowIndex, class: Vue.normalizeClass(o.isShowForm ? "" : "cell--span") }, Vue.toDisplayString(e2.$escapeHtml(a.getLabel(o.row, o.rowIndex))), 11, _hoisted_10$9))], 64)) : (Vue.openBlock(), Vue.createElementBlock(Vue.Fragment, { key: 6 }, ["annex" === o.column.componentType || "multipartUpload" === o.column.componentType ? (Vue.openBlock(), Vue.createElementBlock("span", _hoisted_11$7, [e2.isShowOverflowTooltip ? (Vue.openBlock(), Vue.createElementBlock("span", { key: 0, id: o.column.prop + "DomData" + o.rowIndex, title: e2.$escapeHtml(a.getLabel(o.row)), class: Vue.normalizeClass("newline" === i2.textOverflow ? "wrap-text" : "ellipsis cell--span") }, [Vue.createVNode(h2, { width: i2.cellWidth, entity: o.row, "file-set-obj": a.getFileObj(o.column.fileSet), "is-sql": o.isSql, label: e2.$escapeHtml(a.getLabel(o.row, o.rowIndex)) }, null, 8, ["width", "entity", "file-set-obj", "is-sql", "label"])], 10, _hoisted_12$6)) : (Vue.openBlock(), Vue.createElementBlock("span", { key: 1, id: o.column.prop + "DomData" + o.rowIndex, class: Vue.normalizeClass(o.isShowForm ? "" : "cell--span") }, [Vue.createVNode(h2, { entity: o.row, "file-set-obj": a.getFileObj(o.column.fileSet), "is-sql": o.isSql, label: e2.$escapeHtml(a.getLabel(o.row, o.rowIndex)) }, null, 8, ["entity", "file-set-obj", "is-sql", "label"])], 10, _hoisted_13$4))])) : o.column.formatter && "files" === o.column.formatter.type ? (Vue.openBlock(), Vue.createElementBlock("span", _hoisted_14$4, [Vue.createElementVNode("span", { id: o.column.prop + "DomData" + o.rowIndex, title: e2.isShowOverflowTooltip ? e2.$escapeHtml(a.getLabel(o.row)) : "", class: Vue.normalizeClass("newline" === i2.textOverflow ? "wrap-text" : "ellipsis cell--span") }, [Vue.createVNode(h2, { entity: o.row, "file-set-obj": a.getFilesFormatter(), "is-sql": o.isSql, label: e2.$escapeHtml(a.getLabel(o.row, o.rowIndex)) }, null, 8, ["entity", "file-set-obj", "is-sql", "label"])], 10, _hoisted_15$4)])) : "hyperlinks" === ((_l = i2.columnFormatter) == null ? void 0 : _l.type) && i2.linkObject.visible ? (Vue.openBlock(), Vue.createBlock(f, { key: 2, type: "primary", onClick: t2[5] || (t2[5] = (t3) => e2.clickHyperLink(o.column, o.row, o.listCode, o.rowIndex)) }, { default: Vue.withCtx(() => [e2.isShowOverflowTooltip ? (Vue.openBlock(), Vue.createElementBlock("span", { key: 0, id: o.column.prop + "DomData" + o.rowIndex, style: Vue.normalizeStyle("newline" === i2.textOverflow ? {} : { width: i2.cellWidth + "px" }), title: e2.$escapeHtml(i2.linkObject.title), class: Vue.normalizeClass("newline" === i2.textOverflow ? "wrap-text" : "ellipsis cell--span") }, [Vue.createTextVNode(Vue.toDisplayString(e2.$escapeHtml(i2.linkObject.label)) + " ", 1), i2.linkObject.icon ? (Vue.openBlock(), Vue.createBlock(g, { key: 0, iconValue: i2.linkObject.icon }, null, 8, ["iconValue"])) : Vue.createCommentVNode("", true)], 14, _hoisted_16$4)) : (Vue.openBlock(), Vue.createElementBlock("span", { key: 1, id: o.column.prop + "DomData" + o.rowIndex, class: Vue.normalizeClass(o.isShowForm ? "" : "cell--span") }, [Vue.createTextVNode(Vue.toDisplayString(e2.$escapeHtml(i2.linkObject.label)) + " ", 1), i2.linkObject.icon ? (Vue.openBlock(), Vue.createBlock(g, { key: 0, iconValue: i2.linkObject.icon }, null, 8, ["iconValue"])) : Vue.createCommentVNode("", true)], 10, _hoisted_17$4))]), _: 1 })) : o.column.formatter && "richEditor" === o.column.formatter.type ? (Vue.openBlock(), Vue.createBlock(A, { key: 3, content: e2.$t("superGrid.show"), class: "item", effect: "dark", placement: "top" }, { default: Vue.withCtx(() => [Vue.createElementVNode("em", { class: "fa fa-info-circle annex-cell", onClick: t2[6] || (t2[6] = (e3) => a.showRichEditorContent(o.row, o.column, a.getHeader())) })]), _: 1 }, 8, ["content"])) : o.column.formatter && "icon" === o.column.formatter.type ? (Vue.openBlock(), Vue.createBlock(y, { key: 4, id: o.column.prop + "DomData" + o.rowIndex, column: o.column, row: o.row, "row-index": o.rowIndex, "is-sql": o.isSql, "list-code": o.listCode }, null, 8, ["id", "column", "row", "row-index", "is-sql", "list-code"])) : e2.isShowOverflowTooltip ? (Vue.openBlock(), Vue.createElementBlock("span", { key: 5, id: o.column.prop + "DomData" + o.rowIndex, style: Vue.normalizeStyle("newline" === i2.textOverflow ? {} : { width: i2.cellWidth + "px" }), title: a.getLabel(o.row), class: Vue.normalizeClass("newline" === i2.textOverflow ? "wrap-text" : "ellipsis cell--span"), innerHTML: e2.$escapeHtml(a.getLabel(o.row, o.rowIndex)) }, null, 14, _hoisted_18$2)) : (Vue.openBlock(), Vue.createElementBlock("span", { key: 6, id: o.column.prop + "DomData" + o.rowIndex, class: Vue.normalizeClass(o.isShowForm ? "" : "cell--span") }, Vue.toDisplayString(e2.$escapeHtml(a.getLabel(o.row, o.rowIndex))), 11, _hoisted_19$1))], 64))], 2)), i2.showSingleImgFlag ? (Vue.openBlock(), Vue.createBlock(w, { key: 2, "file-list": i2.fileList, onClose: t2[7] || (t2[7] = (e3) => i2.showSingleImgFlag = false) }, null, 8, ["file-list"])) : Vue.createCommentVNode("", true), i2.showRichEditorViewer ? (Vue.openBlock(), Vue.createBlock(C, { key: 3, ref: "richEditorViewerRef", onCloseRichEditorContent: a.closeRichEditorContent }, null, 8, ["onCloseRichEditorContent"])) : Vue.createCommentVNode("", true)]);
6076
6185
  }
6077
- const NormalColumnContent = _export_sfc(_sfc_main$1X, [["render", _sfc_render$1d], ["__scopeId", "data-v-c44b1087"]]), normalColumn_vue_vue_type_style_index_0_scoped_562b2e0d_lang = "", _sfc_main$1W = { components: { DynamicInput, ViewImageDialog, FsPreview, RichEditorViewer, CirclePlus: ElementPlusIconsVue.CirclePlus, ElIconZoomIn: ElementPlusIconsVue.ZoomIn, GridIcon, NormalColumnContent }, name: "NormalColumn", props: { column: { type: Object, default: null }, customFormat: { type: Function, default: null }, listCode: { type: String, default: null }, isSql: { type: Boolean, default: false }, newWidth: { type: Number, default: null }, dragColumnProp: { type: String, default: null }, tableName: { type: String, default: null }, pageCode: { type: String, default: null }, listName: { type: String, default: null }, currentPage: { type: Number, default: 1 }, gridData: { type: Array, default: null }, pageGridData: { type: Array, default: null }, listToolbarFormData: { type: Object, default: null } }, data() {
6186
+ const NormalColumnContent = _export_sfc(_sfc_main$1X, [["render", _sfc_render$1d], ["__scopeId", "data-v-30804a71"]]), normalColumn_vue_vue_type_style_index_0_scoped_aecac200_lang = "", _sfc_main$1W = { components: { DynamicInput, ViewImageDialog, FsPreview, RichEditorViewer, CirclePlus: ElementPlusIconsVue.CirclePlus, ElIconZoomIn: ElementPlusIconsVue.ZoomIn, GridIcon, NormalColumnContent }, name: "NormalColumn", props: { column: { type: Object, default: null }, customFormat: { type: Function, default: null }, listCode: { type: String, default: null }, isSql: { type: Boolean, default: false }, newWidth: { type: Number, default: null }, dragColumnProp: { type: String, default: null }, tableName: { type: String, default: null }, pageCode: { type: String, default: null }, listName: { type: String, default: null }, currentPage: { type: Number, default: 1 }, gridData: { type: Array, default: null }, pageGridData: { type: Array, default: null }, listToolbarFormData: { type: Object, default: null } }, data() {
6078
6187
  let e2;
6079
6188
  const t2 = store$1.get(this.listCode), o = t2.options;
6080
6189
  t2.options.extraParam && t2.options.extraParam.entityMap && (e2 = t2.options.extraParam.entityMap);
@@ -6096,8 +6205,7 @@
6096
6205
  }, fixed() {
6097
6206
  return !!this.column.fixed && (!["null", "false", "undefined"].includes(this.column.fixed) && this.column.fixed);
6098
6207
  }, sortable() {
6099
- const e2 = store$1.get(this.listCode);
6100
- return !(e2 && e2.options && e2.options.isFormSubTable && e2.options.showOperationButton) && ("false" !== this.column.sortable && false !== this.column.sortable && "" !== this.column.sortable && (("true" === this.column.sortable || true === this.column.sortable || !!this.column.sortable) && "custom"));
6208
+ return "false" !== this.column.sortable && false !== this.column.sortable && "" !== this.column.sortable && (("true" === this.column.sortable || true === this.column.sortable || !!this.column.sortable) && "custom");
6101
6209
  }, lineEdit() {
6102
6210
  let e2 = false;
6103
6211
  if (this.listCode) {
@@ -6159,7 +6267,7 @@
6159
6267
  const l = Vue.resolveComponent("CirclePlus"), s = Vue.resolveComponent("el-icon"), r = Vue.resolveComponent("Remove"), u = Vue.resolveComponent("NormalColumnContent"), c = Vue.resolveComponent("el-table-column");
6160
6268
  return Vue.openBlock(), Vue.createBlock(c, { key: o.column.prop, align: i2.align, "class-name": o.column.prop, "filter-method": a.filterMethod, filters: a.filters, fixed: a.fixed, "header-align": i2.headerAlign, prop: o.column.prop, sortable: a.sortable, "min-width": a.getColumnWidth() }, { header: Vue.withCtx(() => [o.column.customHeader ? (Vue.openBlock(), Vue.createBlock(Vue.resolveDynamicComponent(o.column.customHeader), { key: 1, prop: o.column.prop, parent: i2.parentFormData, "grid-data": o.gridData, "current-page": o.currentPage, label: e2.$escapeHtml(e2.label), column: o.column }, null, 8, ["prop", "parent", "grid-data", "current-page", "label", "column"])) : (Vue.openBlock(), Vue.createElementBlock("span", { key: 0, class: Vue.normalizeClass([{ is_req: a.isFieldRequired() }, "normal-column-header"]) }, [Vue.createElementVNode("span", { title: e2.$escapeHtml(e2.label), class: "cell--span required__label", innerHTML: e2.$escapeHtml(e2.label) }, null, 8, _hoisted_1$1s)], 2)), Vue.createElementVNode("span", _hoisted_2$Z, [i2.isShowAdd ? (Vue.openBlock(), Vue.createBlock(s, { key: 0, class: "normal-column-header normal-column-header-icon", onClick: a.createFormSubTableRow }, { default: Vue.withCtx(() => [Vue.createVNode(l)]), _: 1 }, 8, ["onClick"])) : Vue.createCommentVNode("", true), i2.isShowDelete ? (Vue.openBlock(), Vue.createBlock(s, { key: 1, class: "normal-column-header normal-column-header-icon", onClick: a.deleteFormSubTableRow }, { default: Vue.withCtx(() => [Vue.createVNode(r)]), _: 1 }, 8, ["onClick"])) : Vue.createCommentVNode("", true)])]), default: Vue.withCtx((e3) => [Vue.createVNode(u, { ref: o.column.prop, "is-sql": o.isSql, column: o.column, "list-code": o.listCode, "new-width": o.newWidth, "drag-column-prop": o.dragColumnProp, "right-click-menu-arr": i2.options.rightClickMenuArr, "table-name": o.tableName, "page-code": o.pageCode, "list-toolbar-form-data": o.listToolbarFormData, "list-name": o.listName, options: i2.options, "current-page": o.currentPage, "grid-data": o.gridData, "page-grid-data": o.pageGridData, row: e3.row, "row-index": e3.$index, "line-edit": a.lineEdit, "custom-format": o.customFormat, class: Vue.normalizeClass(a.isValidateError(e3.row, e3.$index) ? "required_bg required-corner" : ""), style: Vue.normalizeStyle(a.isValidateError(e3.row, e3.$index) ? "display:block;" : ""), onOpenPage: a.openPageEvent, onRefresData: a.refresData, onRefreshList: a.refreshList, onRefresPortData: a.refresPortData, onRefresPortsData: a.refresPortsData, onRefresMainTableFields: a.refresMainTableFields, onProhibitToEdit: a.prohibitToEdit }, null, 8, ["is-sql", "column", "list-code", "new-width", "drag-column-prop", "right-click-menu-arr", "table-name", "page-code", "list-toolbar-form-data", "list-name", "options", "current-page", "grid-data", "page-grid-data", "row", "row-index", "line-edit", "custom-format", "class", "style", "onOpenPage", "onRefresData", "onRefreshList", "onRefresPortData", "onRefresPortsData", "onRefresMainTableFields", "onProhibitToEdit"])]), _: 1 }, 8, ["align", "class-name", "filter-method", "filters", "fixed", "header-align", "prop", "sortable", "min-width"]);
6161
6269
  }
6162
- const NormalColumn = _export_sfc(_sfc_main$1W, [["render", _sfc_render$1c], ["__scopeId", "data-v-562b2e0d"]]), _sfc_main$1V = { name: "GroupColumn", components: { NormalColumn }, props: { column: { type: Object, default: null }, customFormat: { type: Object, default: null }, listCode: { type: String, default: null }, isSql: { type: Boolean, default: false }, gridData: { type: Array, default: null }, pageGridData: { type: Array, default: null } }, data: () => ({ label: null }), computed: { visibleChildren() {
6270
+ const NormalColumn = _export_sfc(_sfc_main$1W, [["render", _sfc_render$1c], ["__scopeId", "data-v-aecac200"]]), _sfc_main$1V = { name: "GroupColumn", components: { NormalColumn }, props: { column: { type: Object, default: null }, customFormat: { type: Object, default: null }, listCode: { type: String, default: null }, isSql: { type: Boolean, default: false }, gridData: { type: Array, default: null }, pageGridData: { type: Array, default: null } }, data: () => ({ label: null }), computed: { visibleChildren() {
6163
6271
  return this.column.children ? this.column.children.filter((e2) => (void 0 === e2.show || e2.show) && (void 0 === e2.dyn_show || true === e2.dyn_show)) : [];
6164
6272
  } }, created() {
6165
6273
  this.label = this.getHeader(), this.column;
@@ -6429,7 +6537,7 @@
6429
6537
  const l = Vue.resolveComponent("el-input-number");
6430
6538
  return Vue.openBlock(), Vue.createElementBlock("div", null, [Vue.createVNode(l, { modelValue: i2.number1, "onUpdate:modelValue": t2[0] || (t2[0] = (e3) => i2.number1 = e3), min: 0 == o.moduleConfig.min ? 0 : o.moduleConfig.min ? o.moduleConfig.min : -1 / 0, max: 0 == o.moduleConfig.max ? 0 : o.moduleConfig.max ? o.moduleConfig.max : 1 / 0, step: o.moduleConfig.step ? o.moduleConfig.step : 1, precision: o.moduleConfig.precision ? o.moduleConfig.precision : 0, "controls-position": o.moduleConfig.position ? o.moduleConfig.position : "", onChange: t2[1] || (t2[1] = (e3) => a.setValue()) }, null, 8, ["modelValue", "min", "max", "step", "precision", "controls-position"]), _hoisted_1$1p, Vue.createVNode(l, { modelValue: i2.number2, "onUpdate:modelValue": t2[2] || (t2[2] = (e3) => i2.number2 = e3), min: 0 == o.moduleConfig.min ? 0 : o.moduleConfig.min ? o.moduleConfig.min : -1 / 0, max: 0 == o.moduleConfig.max ? 0 : o.moduleConfig.max ? o.moduleConfig.max : 1 / 0, step: o.moduleConfig.step ? o.moduleConfig.step : 1, precision: o.moduleConfig.precision ? o.moduleConfig.precision : 0, "controls-position": o.moduleConfig.position ? o.moduleConfig.position : "", onChange: t2[3] || (t2[3] = (e3) => a.setValue()) }, null, 8, ["modelValue", "min", "max", "step", "precision", "controls-position"])]);
6431
6539
  }
6432
- const searchFormNumber$1 = _export_sfc(_sfc_main$1T, [["render", _sfc_render$19]]), searchFormItem_vue_vue_type_style_index_0_scoped_90635647_lang = "", _sfc_main$1S = { name: "SearchFormItem", components: { searchFormNumber: searchFormNumber$1 }, inject: ["getListToolbarFormData"], props: { column: { type: Object, default: null }, code: { type: String, default: null }, isSql: { type: Boolean, default: false }, tableName: { type: String, default: null }, isJoinTable: { type: Boolean, default: false }, searchForm: { type: Object, default: null }, index: { type: Number, default: 0 }, length: { type: Number, default: 0 }, loadCompleteQuery: { type: Boolean, default: false }, labelWidth: { type: [String, Number, void 0], default: void 0 } }, data() {
6540
+ const searchFormNumber$1 = _export_sfc(_sfc_main$1T, [["render", _sfc_render$19]]), searchFormItem_vue_vue_type_style_index_0_scoped_41b4cbbd_lang = "", _sfc_main$1S = { name: "SearchFormItem", components: { searchFormNumber: searchFormNumber$1 }, inject: ["getListToolbarFormData"], props: { column: { type: Object, default: null }, code: { type: String, default: null }, isSql: { type: Boolean, default: false }, tableName: { type: String, default: null }, isJoinTable: { type: Boolean, default: false }, searchForm: { type: Object, default: null }, index: { type: Number, default: 0 }, length: { type: Number, default: 0 }, loadCompleteQuery: { type: Boolean, default: false }, labelWidth: { type: [String, Number, void 0], default: void 0 } }, data() {
6433
6541
  return { customComponentNames: /* @__PURE__ */ new Set(), dateOne: null, dataTwo: null, moduleConfig: {}, dateVal: this.getFormItemValue(this.column.prop), controlConfig: getControlConfig(this.column), isShowEmtptyFlag: false, dataSourceOptions: {}, departmentInfo: null, checkEmptyValue: false };
6434
6542
  }, computed: { listToolbarFormData() {
6435
6543
  const e2 = this.getListToolbarFormData();
@@ -6542,10 +6650,10 @@
6542
6650
  const l = Vue.resolveComponent("el-date-picker"), s = Vue.resolveComponent("year-range-picker"), r = Vue.resolveComponent("el-time-picker"), u = Vue.resolveComponent("organization-input"), c = Vue.resolveComponent("el-checkbox"), d = Vue.resolveComponent("el-option"), p = Vue.resolveComponent("el-select"), m = Vue.resolveComponent("dynamic-source-select"), h2 = Vue.resolveComponent("search-form-number"), g = Vue.resolveComponent("el-switch"), f = Vue.resolveComponent("el-slider"), A = Vue.resolveComponent("el-rate"), y = Vue.resolveComponent("el-tooltip"), w = Vue.resolveComponent("el-input"), C = Vue.resolveComponent("el-form-item");
6543
6651
  return Vue.openBlock(), Vue.createBlock(C, { "label-width": o.labelWidth ?? (o.column.querySetting ? a.getLabelWidth(o.column.querySetting) : "110px"), prop: o.column.prop }, { label: Vue.withCtx(() => [Vue.createElementVNode("span", { title: (o.column.searchLabel ?? o.column.label).replace(/\\n/g, "</br>"), innerHTML: (o.column.searchLabel ?? o.column.label).replace(/\\n/g, "</br>") }, null, 8, _hoisted_1$1o)]), default: Vue.withCtx(() => {
6544
6652
  var _a, _b, _c, _d;
6545
- return [true === a.customComponent(o.column) ? (Vue.openBlock(), Vue.createElementBlock("span", _hoisted_2$X, [(Vue.openBlock(), Vue.createBlock(Vue.resolveDynamicComponent(o.column.componentName), { ref: o.column.componentName, entity: o.searchForm, "additional-settings": i2.controlConfig, "model-value": e2.getFormItemValue(o.column.prop), prop: o.column.prop, row: o.searchForm, "select-options": o.column.valueSet, class: "customComponent", onChange: t2[0] || (t2[0] = (e3) => a.setValueToModelProp(o.column.prop, e3, o.column.componentName)) }, null, 40, ["entity", "additional-settings", "model-value", "prop", "row", "select-options"]))])) : "dateSection" === o.column.componentType ? (Vue.openBlock(), Vue.createElementBlock("span", _hoisted_3$H, [Vue.createVNode(l, { modelValue: o.searchForm[o.column.prop][0], "onUpdate:modelValue": t2[1] || (t2[1] = (e3) => o.searchForm[o.column.prop][0] = e3), placeholder: e2.$t("imatrixUIMessage.startDate"), style: Vue.normalizeStyle(o.column.searchControlWidth), type: "date", onChange: t2[2] || (t2[2] = (e3) => a.setValueToModelProp(o.column.prop, e3, null, 0)) }, null, 8, ["modelValue", "placeholder", "style"]), Vue.createVNode(l, { modelValue: o.searchForm[o.column.prop][1], "onUpdate:modelValue": t2[3] || (t2[3] = (e3) => o.searchForm[o.column.prop][1] = e3), placeholder: e2.$t("imatrixUIMessage.endDate"), style: Vue.normalizeStyle(o.column.searchControlWidth), type: "date", onChange: t2[4] || (t2[4] = (e3) => a.setValueToModelProp(o.column.prop, e3, null, 1)) }, null, 8, ["modelValue", "placeholder", "style"])])) : "yearRange" === o.column.componentType ? (Vue.openBlock(), Vue.createBlock(s, { key: 2, value: e2.getFormItemValue(o.column.prop), type: "yearRange", onChange: t2[5] || (t2[5] = (e3) => a.setYearRangeValue(o.column.prop, e3)) }, null, 8, ["value"])) : "dateTimePicker" === o.column.componentType ? (Vue.openBlock(), Vue.createBlock(l, { key: 3, "default-time": a.getDefaultTime(o.column), "end-placeholder": e2.$t("imatrixUIMessage.endDate"), modelValue: o.searchForm[o.column.prop], "onUpdate:modelValue": t2[6] || (t2[6] = (e3) => o.searchForm[o.column.prop] = e3), "range-separator": e2.$t("imatrixUIPublicModel.to"), "start-placeholder": e2.$t("imatrixUIMessage.startDate"), style: Vue.normalizeStyle(o.column.searchControlWidth), type: "datetimerange", "unlink-panels": "", format: "YYYY-MM-DD HH:mm:ss", "value-format": "YYYY-MM-DD HH:mm:ss", onChange: t2[7] || (t2[7] = (e3) => a.setValueToModelProp(o.column.prop, e3)) }, null, 8, ["default-time", "end-placeholder", "modelValue", "range-separator", "start-placeholder", "style"])) : "DATE" === o.column.dataType || "date" === o.column.componentType ? (Vue.openBlock(), Vue.createBlock(l, { key: 4, "end-placeholder": e2.$t("imatrixUIMessage.endDate"), modelValue: o.searchForm[o.column.prop], "onUpdate:modelValue": t2[8] || (t2[8] = (e3) => o.searchForm[o.column.prop] = e3), "range-separator": e2.$t("imatrixUIPublicModel.to"), "start-placeholder": e2.$t("imatrixUIMessage.startDate"), style: Vue.normalizeStyle(o.column.searchControlWidth), type: "daterange", "unlink-panels": "", format: "YYYY-MM-DD", "value-format": "YYYY-MM-DD", onChange: t2[9] || (t2[9] = (e3) => a.setValueToModelProp(o.column.prop, e3)) }, null, 8, ["end-placeholder", "modelValue", "range-separator", "start-placeholder", "style"])) : "TIME" === o.column.dataType && "timepicker" === o.column.componentType ? (Vue.openBlock(), Vue.createBlock(l, { key: 5, "end-placeholder": e2.$t("imatrixUIMessage.endDate"), modelValue: o.searchForm[o.column.prop], "onUpdate:modelValue": t2[10] || (t2[10] = (e3) => o.searchForm[o.column.prop] = e3), "range-separator": e2.$t("imatrixUIPublicModel.to"), "start-placeholder": e2.$t("imatrixUIMessage.startDate"), style: Vue.normalizeStyle(o.column.searchControlWidth), type: "datetimerange", "unlink-panels": "", format: "HH:mm:ss", "value-format": "HH:mm:ss", onChange: t2[11] || (t2[11] = (e3) => a.setValueToModelProp(o.column.prop, e3)) }, null, 8, ["end-placeholder", "modelValue", "range-separator", "start-placeholder", "style"])) : "timepicker" === o.column.componentType && "TIME" !== o.column.dataType && "DATE" !== o.column.dataType ? (Vue.openBlock(), Vue.createBlock(r, { key: 6, modelValue: o.searchForm[o.column.prop], "onUpdate:modelValue": t2[12] || (t2[12] = (e3) => o.searchForm[o.column.prop] = e3), placeholder: e2.$t("imatrixUIMessage.selectTime"), style: { width: "100%" }, type: "fixed-time", format: "HH:mm:ss", "value-format": "HH:mm:ss", onChange: t2[13] || (t2[13] = (e3) => a.setValueToModelProp(o.column.prop, e3)) }, null, 8, ["modelValue", "placeholder"])) : a.componentTypeTypeIsTree(o.column.componentType) ? (Vue.openBlock(), Vue.createBlock(u, { key: 7, fields: a.getTreeFields(o.column.orgTreeSet), "department-info": i2.departmentInfo, "limit-filter-column": (_a = i2.controlConfig) == null ? void 0 : _a.limitFilterColumn, models: o.searchForm, multiple: a.getTreeIsMultiTree(o.column.componentType), "tree-type": a.getTreeType(o.column.componentType), value: e2.getFormItemValue(o.column.prop), onClear: a.clearOrganizationInputEvent, onSetValue: a.organizationInputEvent }, null, 8, ["fields", "department-info", "limit-filter-column", "models", "multiple", "tree-type", "value", "onClear", "onSetValue"])) : "radio" === ((_b = o.column) == null ? void 0 : _b.componentType) ? (Vue.openBlock(), Vue.createBlock(p, { key: 8, "model-value": e2.getFormItemValue(o.column.prop), placeholder: e2.$t("imatrixUIMessage.pleaseSelect"), style: Vue.normalizeStyle(o.column.searchControlWidth), clearable: "", filterable: "", onChange: t2[15] || (t2[15] = (e3) => a.setValueToModelProp(o.column.prop, e3)) }, Vue.createSlots({ default: Vue.withCtx(() => [(Vue.openBlock(true), Vue.createElementBlock(Vue.Fragment, null, Vue.renderList(o.column.valueSet, (e3) => (Vue.openBlock(), Vue.createBlock(d, { key: e3.value, label: e3.label, value: e3.value }, null, 8, ["label", "value"]))), 128))]), _: 2 }, ["BOOLEAN" !== o.column.dataType ? { name: "header", fn: Vue.withCtx(() => [Vue.createVNode(c, { modelValue: i2.checkEmptyValue, "onUpdate:modelValue": t2[14] || (t2[14] = (e3) => i2.checkEmptyValue = e3), onChange: a.checkEmptyChange }, { default: Vue.withCtx(() => [Vue.createTextVNode(Vue.toDisplayString(e2.$t("imatrixUIPublicModel.emptyValue")), 1)]), _: 1 }, 8, ["modelValue", "onChange"])]), key: "0" } : void 0]), 1032, ["model-value", "placeholder", "style"])) : (o.column.componentType && "select" === o.column.componentType || "BOOLEAN" === o.column.dataType) && !a.isDynamicDataSourceSource(o.column) ? (Vue.openBlock(), Vue.createBlock(p, { key: 9, "model-value": e2.getFormItemValue(o.column.prop), placeholder: e2.$t("imatrixUIMessage.pleaseSelect"), style: Vue.normalizeStyle(o.column.searchControlWidth), clearable: "", filterable: "", onChange: t2[17] || (t2[17] = (e3) => a.setValueToModelProp(o.column.prop, e3)) }, Vue.createSlots({ default: Vue.withCtx(() => [(Vue.openBlock(true), Vue.createElementBlock(Vue.Fragment, null, Vue.renderList(o.column.valueSet, (e3) => (Vue.openBlock(), Vue.createBlock(d, { key: e3.value, label: e3.label, value: e3.value }, null, 8, ["label", "value"]))), 128))]), _: 2 }, ["BOOLEAN" !== o.column.dataType ? { name: "header", fn: Vue.withCtx(() => [Vue.createVNode(c, { modelValue: i2.checkEmptyValue, "onUpdate:modelValue": t2[16] || (t2[16] = (e3) => i2.checkEmptyValue = e3), onChange: a.checkEmptyChange }, { default: Vue.withCtx(() => [Vue.createTextVNode(Vue.toDisplayString(e2.$t("imatrixUIPublicModel.emptyValue")), 1)]), _: 1 }, 8, ["modelValue", "onChange"])]), key: "0" } : void 0]), 1032, ["model-value", "placeholder", "style"])) : o.column.componentType && "multiselect" === o.column.componentType && !a.isDynamicDataSourceSource(o.column) ? (Vue.openBlock(), Vue.createBlock(p, { key: 10, "model-value": e2.getFormItemValue(o.column.prop), placeholder: e2.$t("imatrixUIMessage.pleaseSelect"), style: Vue.normalizeStyle(o.column.searchControlWidth), clearable: "", "collapse-tags": "", filterable: "", multiple: "", onChange: t2[19] || (t2[19] = (e3) => a.setValueToModelProp(o.column.prop, e3)) }, { header: Vue.withCtx(() => [Vue.createVNode(c, { modelValue: i2.checkEmptyValue, "onUpdate:modelValue": t2[18] || (t2[18] = (e3) => i2.checkEmptyValue = e3), onChange: a.checkEmptyChange }, { default: Vue.withCtx(() => [Vue.createTextVNode(Vue.toDisplayString(e2.$t("imatrixUIPublicModel.emptyValue")), 1)]), _: 1 }, 8, ["modelValue", "onChange"])]), default: Vue.withCtx(() => [(Vue.openBlock(true), Vue.createElementBlock(Vue.Fragment, null, Vue.renderList(o.column.valueSet, (e3) => (Vue.openBlock(), Vue.createBlock(d, { key: e3.value, label: e3.label, value: e3.value }, null, 8, ["label", "value"]))), 128))]), _: 1 }, 8, ["model-value", "placeholder", "style"])) : o.column.componentType && ("multiselect" === o.column.componentType || "select" === o.column.componentType) && a.isDynamicDataSourceSource(o.column) ? (Vue.openBlock(), Vue.createBlock(m, { key: 11, ref: "selectRef", value: o.searchForm[o.column.prop], "onUpdate:value": t2[20] || (t2[20] = (e3) => o.searchForm[o.column.prop] = e3), "allow-create": (_d = (_c = i2.dataSourceOptions) == null ? void 0 : _c.controlConfig) == null ? void 0 : _d.allowCreate, "base-props": { multiple: "multiselect" === o.column.componentType }, entity: o.searchForm, filterable: true, "is-join-table": o.isJoinTable, "list-code": o.code, "list-toolbar-form-data": a.listToolbarFormData, options: i2.dataSourceOptions, "table-name": o.tableName, "is-search": true, onChange: a.multiselectChange, onChangeEmptyValue: a.checkEmptyChange }, null, 8, ["value", "allow-create", "base-props", "entity", "is-join-table", "list-code", "list-toolbar-form-data", "options", "table-name", "onChange", "onChangeEmptyValue"])) : o.column.componentType && "inputNumber" === o.column.componentType ? (Vue.openBlock(), Vue.createBlock(h2, { key: 12, "item-value": o.searchForm[o.column.prop], "module-config": i2.moduleConfig, onSetValue: a.setNumberValue }, null, 8, ["item-value", "module-config", "onSetValue"])) : o.column.componentType && "switch" === o.column.componentType ? (Vue.openBlock(), Vue.createBlock(g, { key: 13, "model-value": e2.getFormItemValue(o.column.prop), style: Vue.normalizeStyle(o.column.searchControlWidth), "active-color": "#13ce66", "inactive-color": "#ff4949", onChange: t2[21] || (t2[21] = (e3) => a.setValueToModelProp(o.column.prop, e3)) }, null, 8, ["model-value", "style"])) : o.column.componentType && "slider" === o.column.componentType ? (Vue.openBlock(), Vue.createBlock(f, { key: 14, "model-value": e2.getFormItemValue(o.column.prop), style: Vue.normalizeStyle(o.column.searchControlWidth), onChange: t2[22] || (t2[22] = (e3) => a.setValueToModelProp(o.column.prop, e3)) }, null, 8, ["model-value", "style"])) : o.column.componentType && "rate" === o.column.componentType ? (Vue.openBlock(), Vue.createBlock(A, { key: 15, "model-value": e2.getFormItemValue(o.column.prop), style: Vue.normalizeStyle(o.column.searchControlWidth), onChange: t2[23] || (t2[23] = (e3) => a.setValueToModelProp(o.column.prop, e3)) }, null, 8, ["model-value", "style"])) : (Vue.openBlock(), Vue.createBlock(w, { key: 16, "model-value": e2.getFormItemValue(o.column.prop), style: Vue.normalizeStyle(o.column.searchControlWidth), onKeyup: t2[25] || (t2[25] = Vue.withKeys((t3) => e2.submitForm("searchForm"), ["enter"])), onInput: t2[26] || (t2[26] = (e3) => a.setValueToModelProp(o.column.prop, e3)), onFocus: t2[27] || (t2[27] = (e3) => a.showEmpty()), onBlur: t2[28] || (t2[28] = (e3) => a.hiddenEmpty()) }, { suffix: Vue.withCtx(() => [Vue.createVNode(y, { content: e2.$t("superGrid.searchEmpty"), placement: "bottom" }, { default: Vue.withCtx(() => [a.isShowEmtpty ? (Vue.openBlock(), Vue.createBlock(c, { key: 0, modelValue: a.checkedEmpty, "onUpdate:modelValue": t2[24] || (t2[24] = (e3) => a.checkedEmpty = e3), onChange: a.checkEmptyChange }, null, 8, ["modelValue", "onChange"])) : Vue.createCommentVNode("", true)]), _: 1 }, 8, ["content"])]), _: 1 }, 8, ["model-value", "style"]))];
6653
+ return [true === a.customComponent(o.column) ? (Vue.openBlock(), Vue.createElementBlock("span", _hoisted_2$X, [(Vue.openBlock(), Vue.createBlock(Vue.resolveDynamicComponent(o.column.componentName), { ref: o.column.componentName, entity: o.searchForm, "additional-settings": i2.controlConfig, "model-value": e2.getFormItemValue(o.column.prop), prop: o.column.prop, row: o.searchForm, "select-options": o.column.valueSet, isSearch: true, class: "customComponent", onChange: t2[0] || (t2[0] = (e3) => a.setValueToModelProp(o.column.prop, e3, o.column.componentName)) }, null, 40, ["entity", "additional-settings", "model-value", "prop", "row", "select-options"]))])) : "dateSection" === o.column.componentType ? (Vue.openBlock(), Vue.createElementBlock("span", _hoisted_3$H, [Vue.createVNode(l, { modelValue: o.searchForm[o.column.prop][0], "onUpdate:modelValue": t2[1] || (t2[1] = (e3) => o.searchForm[o.column.prop][0] = e3), placeholder: e2.$t("imatrixUIMessage.startDate"), style: Vue.normalizeStyle(o.column.searchControlWidth), type: "date", onChange: t2[2] || (t2[2] = (e3) => a.setValueToModelProp(o.column.prop, e3, null, 0)) }, null, 8, ["modelValue", "placeholder", "style"]), Vue.createVNode(l, { modelValue: o.searchForm[o.column.prop][1], "onUpdate:modelValue": t2[3] || (t2[3] = (e3) => o.searchForm[o.column.prop][1] = e3), placeholder: e2.$t("imatrixUIMessage.endDate"), style: Vue.normalizeStyle(o.column.searchControlWidth), type: "date", onChange: t2[4] || (t2[4] = (e3) => a.setValueToModelProp(o.column.prop, e3, null, 1)) }, null, 8, ["modelValue", "placeholder", "style"])])) : "yearRange" === o.column.componentType ? (Vue.openBlock(), Vue.createBlock(s, { key: 2, value: e2.getFormItemValue(o.column.prop), type: "yearRange", onChange: t2[5] || (t2[5] = (e3) => a.setYearRangeValue(o.column.prop, e3)) }, null, 8, ["value"])) : "dateTimePicker" === o.column.componentType ? (Vue.openBlock(), Vue.createBlock(l, { key: 3, "default-time": a.getDefaultTime(o.column), "end-placeholder": e2.$t("imatrixUIMessage.endDate"), modelValue: o.searchForm[o.column.prop], "onUpdate:modelValue": t2[6] || (t2[6] = (e3) => o.searchForm[o.column.prop] = e3), "range-separator": e2.$t("imatrixUIPublicModel.to"), "start-placeholder": e2.$t("imatrixUIMessage.startDate"), style: Vue.normalizeStyle(o.column.searchControlWidth), type: "datetimerange", "unlink-panels": "", format: "YYYY-MM-DD HH:mm:ss", "value-format": "YYYY-MM-DD HH:mm:ss", onChange: t2[7] || (t2[7] = (e3) => a.setValueToModelProp(o.column.prop, e3)) }, null, 8, ["default-time", "end-placeholder", "modelValue", "range-separator", "start-placeholder", "style"])) : "DATE" === o.column.dataType || "date" === o.column.componentType ? (Vue.openBlock(), Vue.createBlock(l, { key: 4, "end-placeholder": e2.$t("imatrixUIMessage.endDate"), modelValue: o.searchForm[o.column.prop], "onUpdate:modelValue": t2[8] || (t2[8] = (e3) => o.searchForm[o.column.prop] = e3), "range-separator": e2.$t("imatrixUIPublicModel.to"), "start-placeholder": e2.$t("imatrixUIMessage.startDate"), style: Vue.normalizeStyle(o.column.searchControlWidth), type: "daterange", "unlink-panels": "", format: "YYYY-MM-DD", "value-format": "YYYY-MM-DD", onChange: t2[9] || (t2[9] = (e3) => a.setValueToModelProp(o.column.prop, e3)) }, null, 8, ["end-placeholder", "modelValue", "range-separator", "start-placeholder", "style"])) : "TIME" === o.column.dataType && "timepicker" === o.column.componentType ? (Vue.openBlock(), Vue.createBlock(l, { key: 5, "end-placeholder": e2.$t("imatrixUIMessage.endDate"), modelValue: o.searchForm[o.column.prop], "onUpdate:modelValue": t2[10] || (t2[10] = (e3) => o.searchForm[o.column.prop] = e3), "range-separator": e2.$t("imatrixUIPublicModel.to"), "start-placeholder": e2.$t("imatrixUIMessage.startDate"), style: Vue.normalizeStyle(o.column.searchControlWidth), type: "datetimerange", "unlink-panels": "", format: "HH:mm:ss", "value-format": "HH:mm:ss", onChange: t2[11] || (t2[11] = (e3) => a.setValueToModelProp(o.column.prop, e3)) }, null, 8, ["end-placeholder", "modelValue", "range-separator", "start-placeholder", "style"])) : "timepicker" === o.column.componentType && "TIME" !== o.column.dataType && "DATE" !== o.column.dataType ? (Vue.openBlock(), Vue.createBlock(r, { key: 6, modelValue: o.searchForm[o.column.prop], "onUpdate:modelValue": t2[12] || (t2[12] = (e3) => o.searchForm[o.column.prop] = e3), placeholder: e2.$t("imatrixUIMessage.selectTime"), style: { width: "100%" }, type: "fixed-time", format: "HH:mm:ss", "value-format": "HH:mm:ss", onChange: t2[13] || (t2[13] = (e3) => a.setValueToModelProp(o.column.prop, e3)) }, null, 8, ["modelValue", "placeholder"])) : a.componentTypeTypeIsTree(o.column.componentType) ? (Vue.openBlock(), Vue.createBlock(u, { key: 7, fields: a.getTreeFields(o.column.orgTreeSet), "department-info": i2.departmentInfo, "limit-filter-column": (_a = i2.controlConfig) == null ? void 0 : _a.limitFilterColumn, models: o.searchForm, multiple: a.getTreeIsMultiTree(o.column.componentType), "tree-type": a.getTreeType(o.column.componentType), value: e2.getFormItemValue(o.column.prop), onClear: a.clearOrganizationInputEvent, onSetValue: a.organizationInputEvent }, null, 8, ["fields", "department-info", "limit-filter-column", "models", "multiple", "tree-type", "value", "onClear", "onSetValue"])) : "radio" === ((_b = o.column) == null ? void 0 : _b.componentType) ? (Vue.openBlock(), Vue.createBlock(p, { key: 8, "model-value": e2.getFormItemValue(o.column.prop), placeholder: e2.$t("imatrixUIMessage.pleaseSelect"), style: Vue.normalizeStyle(o.column.searchControlWidth), clearable: "", filterable: "", onChange: t2[15] || (t2[15] = (e3) => a.setValueToModelProp(o.column.prop, e3)) }, Vue.createSlots({ default: Vue.withCtx(() => [(Vue.openBlock(true), Vue.createElementBlock(Vue.Fragment, null, Vue.renderList(o.column.valueSet, (e3) => (Vue.openBlock(), Vue.createBlock(d, { key: e3.value, label: e3.label, value: e3.value }, null, 8, ["label", "value"]))), 128))]), _: 2 }, ["BOOLEAN" !== o.column.dataType ? { name: "header", fn: Vue.withCtx(() => [Vue.createVNode(c, { modelValue: i2.checkEmptyValue, "onUpdate:modelValue": t2[14] || (t2[14] = (e3) => i2.checkEmptyValue = e3), onChange: a.checkEmptyChange }, { default: Vue.withCtx(() => [Vue.createTextVNode(Vue.toDisplayString(e2.$t("imatrixUIPublicModel.emptyValue")), 1)]), _: 1 }, 8, ["modelValue", "onChange"])]), key: "0" } : void 0]), 1032, ["model-value", "placeholder", "style"])) : (o.column.componentType && "select" === o.column.componentType || "BOOLEAN" === o.column.dataType) && !a.isDynamicDataSourceSource(o.column) ? (Vue.openBlock(), Vue.createBlock(p, { key: 9, "model-value": e2.getFormItemValue(o.column.prop), placeholder: e2.$t("imatrixUIMessage.pleaseSelect"), style: Vue.normalizeStyle(o.column.searchControlWidth), clearable: "", filterable: "", onChange: t2[17] || (t2[17] = (e3) => a.setValueToModelProp(o.column.prop, e3)) }, Vue.createSlots({ default: Vue.withCtx(() => [(Vue.openBlock(true), Vue.createElementBlock(Vue.Fragment, null, Vue.renderList(o.column.valueSet, (e3) => (Vue.openBlock(), Vue.createBlock(d, { key: e3.value, label: e3.label, value: e3.value }, null, 8, ["label", "value"]))), 128))]), _: 2 }, ["BOOLEAN" !== o.column.dataType ? { name: "header", fn: Vue.withCtx(() => [Vue.createVNode(c, { modelValue: i2.checkEmptyValue, "onUpdate:modelValue": t2[16] || (t2[16] = (e3) => i2.checkEmptyValue = e3), onChange: a.checkEmptyChange }, { default: Vue.withCtx(() => [Vue.createTextVNode(Vue.toDisplayString(e2.$t("imatrixUIPublicModel.emptyValue")), 1)]), _: 1 }, 8, ["modelValue", "onChange"])]), key: "0" } : void 0]), 1032, ["model-value", "placeholder", "style"])) : o.column.componentType && "multiselect" === o.column.componentType && !a.isDynamicDataSourceSource(o.column) ? (Vue.openBlock(), Vue.createBlock(p, { key: 10, "model-value": e2.getFormItemValue(o.column.prop), placeholder: e2.$t("imatrixUIMessage.pleaseSelect"), style: Vue.normalizeStyle(o.column.searchControlWidth), clearable: "", "collapse-tags": "", filterable: "", multiple: "", onChange: t2[19] || (t2[19] = (e3) => a.setValueToModelProp(o.column.prop, e3)) }, { header: Vue.withCtx(() => [Vue.createVNode(c, { modelValue: i2.checkEmptyValue, "onUpdate:modelValue": t2[18] || (t2[18] = (e3) => i2.checkEmptyValue = e3), onChange: a.checkEmptyChange }, { default: Vue.withCtx(() => [Vue.createTextVNode(Vue.toDisplayString(e2.$t("imatrixUIPublicModel.emptyValue")), 1)]), _: 1 }, 8, ["modelValue", "onChange"])]), default: Vue.withCtx(() => [(Vue.openBlock(true), Vue.createElementBlock(Vue.Fragment, null, Vue.renderList(o.column.valueSet, (e3) => (Vue.openBlock(), Vue.createBlock(d, { key: e3.value, label: e3.label, value: e3.value }, null, 8, ["label", "value"]))), 128))]), _: 1 }, 8, ["model-value", "placeholder", "style"])) : o.column.componentType && ("multiselect" === o.column.componentType || "select" === o.column.componentType) && a.isDynamicDataSourceSource(o.column) ? (Vue.openBlock(), Vue.createBlock(m, { key: 11, ref: "selectRef", value: o.searchForm[o.column.prop], "onUpdate:value": t2[20] || (t2[20] = (e3) => o.searchForm[o.column.prop] = e3), "allow-create": (_d = (_c = i2.dataSourceOptions) == null ? void 0 : _c.controlConfig) == null ? void 0 : _d.allowCreate, "base-props": { multiple: "multiselect" === o.column.componentType }, entity: o.searchForm, filterable: true, "is-join-table": o.isJoinTable, "list-code": o.code, "list-toolbar-form-data": a.listToolbarFormData, options: i2.dataSourceOptions, "table-name": o.tableName, "is-search": true, onChange: a.multiselectChange, onChangeEmptyValue: a.checkEmptyChange }, null, 8, ["value", "allow-create", "base-props", "entity", "is-join-table", "list-code", "list-toolbar-form-data", "options", "table-name", "onChange", "onChangeEmptyValue"])) : o.column.componentType && "inputNumber" === o.column.componentType ? (Vue.openBlock(), Vue.createBlock(h2, { key: 12, "item-value": o.searchForm[o.column.prop], "module-config": i2.moduleConfig, onSetValue: a.setNumberValue }, null, 8, ["item-value", "module-config", "onSetValue"])) : o.column.componentType && "switch" === o.column.componentType ? (Vue.openBlock(), Vue.createBlock(g, { key: 13, "model-value": e2.getFormItemValue(o.column.prop), style: Vue.normalizeStyle(o.column.searchControlWidth), "active-color": "#13ce66", "inactive-color": "#ff4949", onChange: t2[21] || (t2[21] = (e3) => a.setValueToModelProp(o.column.prop, e3)) }, null, 8, ["model-value", "style"])) : o.column.componentType && "slider" === o.column.componentType ? (Vue.openBlock(), Vue.createBlock(f, { key: 14, "model-value": e2.getFormItemValue(o.column.prop), style: Vue.normalizeStyle(o.column.searchControlWidth), onChange: t2[22] || (t2[22] = (e3) => a.setValueToModelProp(o.column.prop, e3)) }, null, 8, ["model-value", "style"])) : o.column.componentType && "rate" === o.column.componentType ? (Vue.openBlock(), Vue.createBlock(A, { key: 15, "model-value": e2.getFormItemValue(o.column.prop), style: Vue.normalizeStyle(o.column.searchControlWidth), onChange: t2[23] || (t2[23] = (e3) => a.setValueToModelProp(o.column.prop, e3)) }, null, 8, ["model-value", "style"])) : (Vue.openBlock(), Vue.createBlock(w, { key: 16, "model-value": e2.getFormItemValue(o.column.prop), style: Vue.normalizeStyle(o.column.searchControlWidth), onKeyup: t2[25] || (t2[25] = Vue.withKeys((t3) => e2.submitForm("searchForm"), ["enter"])), onInput: t2[26] || (t2[26] = (e3) => a.setValueToModelProp(o.column.prop, e3)), onFocus: t2[27] || (t2[27] = (e3) => a.showEmpty()), onBlur: t2[28] || (t2[28] = (e3) => a.hiddenEmpty()) }, { suffix: Vue.withCtx(() => [Vue.createVNode(y, { content: e2.$t("superGrid.searchEmpty"), placement: "bottom" }, { default: Vue.withCtx(() => [a.isShowEmtpty ? (Vue.openBlock(), Vue.createBlock(c, { key: 0, modelValue: a.checkedEmpty, "onUpdate:modelValue": t2[24] || (t2[24] = (e3) => a.checkedEmpty = e3), onChange: a.checkEmptyChange }, null, 8, ["modelValue", "onChange"])) : Vue.createCommentVNode("", true)]), _: 1 }, 8, ["content"])]), _: 1 }, 8, ["model-value", "style"]))];
6546
6654
  }), _: 1 }, 8, ["label-width", "prop"]);
6547
6655
  }
6548
- const SearchFormItem = _export_sfc(_sfc_main$1S, [["render", _sfc_render$18], ["__scopeId", "data-v-90635647"]]), _sfc_main$1R = { name: "SearchButton", props: { isOpen: { type: Boolean, default: false }, isShowOpen: { type: Boolean, default: void 0 } }, data() {
6656
+ const SearchFormItem = _export_sfc(_sfc_main$1S, [["render", _sfc_render$18], ["__scopeId", "data-v-41b4cbbd"]]), _sfc_main$1R = { name: "SearchButton", props: { isOpen: { type: Boolean, default: false }, isShowOpen: { type: Boolean, default: void 0 } }, data() {
6549
6657
  const e2 = isMobileBrowser();
6550
6658
  return { isMyOpen: this.isOpen, loading: false, CaretTop: Vue.shallowRef(ElementPlusIconsVue.CaretTop), CaretBottom: Vue.shallowRef(ElementPlusIconsVue.CaretBottom), isMobile: e2 };
6551
6659
  }, methods: { openFold() {
@@ -6556,10 +6664,12 @@
6556
6664
  this.loading = true, $emit(this, "reset-form");
6557
6665
  }, searchComplete() {
6558
6666
  this.loading = false;
6667
+ }, openFoldFunc(e2) {
6668
+ this.isMyOpen = e2;
6559
6669
  } }, emits: ["save-condition", "open-fold", "submit-form", "reset-form"] };
6560
6670
  function _sfc_render$17(e2, t2, o, n, i2, a) {
6561
6671
  const l = Vue.resolveComponent("el-button");
6562
- return Vue.openBlock(), Vue.createElementBlock("div", { class: "search-button", style: Vue.normalizeStyle({ textAlign: i2.isMobile ? "center" : "right" }) }, [Vue.createVNode(l, { loading: i2.loading, size: "default", class: "button--default", onClick: a.submitForm }, { default: Vue.withCtx(() => [Vue.createTextVNode(Vue.toDisplayString(e2.$t("imatrixUIPublicModel.sure")), 1)]), _: 1 }, 8, ["loading", "onClick"]), Vue.createVNode(l, { loading: i2.loading, class: "button--default", size: "default", onClick: a.resetForm }, { default: Vue.withCtx(() => [Vue.createTextVNode(Vue.toDisplayString(e2.$t("imatrixUIPublicModel.reset")), 1)]), _: 1 }, 8, ["loading", "onClick"]), Vue.createVNode(l, { class: "button--default", size: "default", onClick: t2[0] || (t2[0] = (t3) => e2.$emit("save-condition")) }, { default: Vue.withCtx(() => [Vue.createTextVNode(Vue.toDisplayString(e2.$t("superGrid.saveCondition")), 1)]), _: 1 }), o.isShowOpen ?? !i2.isMobile ? (Vue.openBlock(), Vue.createBlock(l, { key: 0, icon: i2.isMyOpen ? i2.CaretTop : i2.CaretBottom, link: "", size: "default", onClick: a.openFold }, { default: Vue.withCtx(() => [Vue.createTextVNode(Vue.toDisplayString(i2.isMyOpen ? e2.$t("superGrid.fold") : e2.$t("superGrid.open")), 1)]), _: 1 }, 8, ["icon", "onClick"])) : Vue.createCommentVNode("", true)], 4);
6672
+ return Vue.openBlock(), Vue.createElementBlock("div", { class: "search-button", style: Vue.normalizeStyle({ textAlign: i2.isMobile ? "center" : "right" }) }, [Vue.createVNode(l, { loading: i2.loading, size: "default", class: "button--default", onClick: a.submitForm }, { default: Vue.withCtx(() => [Vue.createTextVNode(Vue.toDisplayString(e2.$t("imatrixUIPublicModel.sure")), 1)]), _: 1 }, 8, ["loading", "onClick"]), Vue.createVNode(l, { loading: i2.loading, class: "button--default", size: "default", onClick: a.resetForm }, { default: Vue.withCtx(() => [Vue.createTextVNode(Vue.toDisplayString(e2.$t("imatrixUIPublicModel.reset")), 1)]), _: 1 }, 8, ["loading", "onClick"]), Vue.createVNode(l, { class: "button--default", size: "default", onClick: t2[0] || (t2[0] = (t3) => e2.$emit("save-condition")) }, { default: Vue.withCtx(() => [Vue.createTextVNode(Vue.toDisplayString(e2.$t("superGrid.saveCondition")), 1)]), _: 1 }), o.isShowOpen ?? !i2.isMobile ? (Vue.openBlock(), Vue.createBlock(l, { key: 0, icon: i2.isMyOpen ? i2.CaretTop : i2.CaretBottom, link: "", size: "default", onClick: a.openFold }, { default: Vue.withCtx(() => [Vue.createTextVNode(Vue.toDisplayString(i2.isMyOpen ? e2.$t("superGrid.fold") : e2.$t("superGrid.open")), 1)]), _: 1 }, 8, ["icon", "onClick"])) : Vue.createCommentVNode("", true), i2.isMobile ? (Vue.openBlock(), Vue.createBlock(l, { key: 1, type: "warning", size: "default", onClick: t2[1] || (t2[1] = (t3) => e2.$emit("close")) }, { default: Vue.withCtx(() => [Vue.createTextVNode(Vue.toDisplayString(e2.$t("superGrid.close")), 1)]), _: 1 })) : Vue.createCommentVNode("", true)], 4);
6563
6673
  }
6564
6674
  const SearchButton = _export_sfc(_sfc_main$1R, [["render", _sfc_render$17]]), _sfc_main$1Q = { name: "SearchFormOpen", components: { SearchFormItem, SearchButton }, props: { searchableColumns: { type: Array, default: null }, searchForm: { type: Object, default: null }, code: { type: String, default: null }, isSql: { type: Boolean, default: false }, tableName: { type: String, default: null }, isJoinTable: { type: Boolean, default: false }, spanNum: { type: Number, default: 8 }, fieldNum: { type: Number, default: null }, rowNum: { type: Number, default: null }, isOpen: { type: Boolean, default: false } }, data() {
6565
6675
  return { rowWidth: void 0, maxLength: void 0, minLength: void 0, myOpen: this.isOpen ?? false };
@@ -6595,7 +6705,9 @@
6595
6705
  } }, methods: { ...searchMethods$1, onResize(e2) {
6596
6706
  this.rowWidth = e2.contentRect.width;
6597
6707
  }, openFold(e2) {
6598
- this.myOpen = e2, this.$emit("open-fold", e2);
6708
+ this.openFoldFunc(e2), this.$emit("open-fold", e2);
6709
+ }, openFoldFunc(e2) {
6710
+ this.myOpen = e2, this.$refs && this.$refs.searchBtnOpen && this.$refs.searchBtnOpen.openFoldFunc(e2);
6599
6711
  }, searchComplete() {
6600
6712
  this.$refs.searchBtnOpen && (Array.isArray(this.$refs.searchBtnOpen) ? this.$refs.searchBtnOpen.length > 0 && this.$refs.searchBtnOpen[0].searchComplete() : this.$refs.searchBtnOpen.searchComplete());
6601
6713
  } } }, _hoisted_1$1n = { class: "grid-search-row" };
@@ -6603,7 +6715,7 @@
6603
6715
  const l = Vue.resolveComponent("search-form-item"), s = Vue.resolveComponent("el-col"), r = Vue.resolveComponent("search-button"), u = Vue.resolveComponent("el-row"), c = Vue.resolveDirective("resize");
6604
6716
  return Vue.withDirectives((Vue.openBlock(), Vue.createElementBlock("div", _hoisted_1$1n, [Vue.createVNode(u, null, { default: Vue.withCtx(() => [(Vue.openBlock(true), Vue.createElementBlock(Vue.Fragment, null, Vue.renderList(a.filterSearchableColumns, (e3, t3) => (Vue.openBlock(), Vue.createBlock(s, { key: t3, span: a.span }, { default: Vue.withCtx(() => [Vue.createVNode(l, { "label-width": a.labelWidth, "search-form": o.searchForm, column: e3, code: o.code, "is-sql": o.isSql, "table-name": o.tableName, "is-join-table": o.isJoinTable }, null, 8, ["label-width", "search-form", "column", "code", "is-sql", "table-name", "is-join-table"])]), _: 2 }, 1032, ["span"]))), 128)), Vue.createVNode(s, { span: a.span, class: Vue.normalizeClass(["search-btns-view", { "no-show-open": !a.isShowOpen, "no-search-button-auto": a.isSearchButtonAuto }]) }, { default: Vue.withCtx(() => [Vue.createVNode(r, { ref: "searchBtnOpen", "is-open": i2.myOpen, "is-show-open": a.isShowOpen, onSubmitForm: t2[0] || (t2[0] = (t3) => e2.$emit("submit-form")), onResetForm: t2[1] || (t2[1] = (t3) => e2.$emit("reset-form")), onSaveCondition: t2[2] || (t2[2] = (t3) => e2.$emit("save-condition")), onOpenFold: a.openFold }, null, 8, ["is-open", "is-show-open", "onOpenFold"])]), _: 1 }, 8, ["span", "class"])]), _: 1 })])), [[c, a.onResize]]);
6605
6717
  }
6606
- const SearchFormOpen = _export_sfc(_sfc_main$1Q, [["render", _sfc_render$16]]), searchFormOrdinarySearch_vue_vue_type_style_index_0_scoped_3e0adbf6_lang = "", _sfc_main$1P = { name: "SearchForm", components: { SearchFormOpen }, props: { searchableColumns: { type: Array, default: null }, searchForm: { type: Object, default: null }, fieldNum: { type: Number, default: null }, rules: { type: Object, default: null }, labelWidth: { type: String, default: null }, query: { type: Object, default: null }, rowNum: { type: Number, default: null }, code: { type: String, default: null }, isSql: { type: Boolean, default: false }, spanNum: { type: Number, default: 8 }, loadCompleteQuery: { type: Boolean, default: false } }, data() {
6718
+ const SearchFormOpen = _export_sfc(_sfc_main$1Q, [["render", _sfc_render$16]]), searchFormOrdinarySearch_vue_vue_type_style_index_0_scoped_d462769a_lang = "", _sfc_main$1P = { name: "SearchForm", components: { SearchFormOpen }, props: { searchableColumns: { type: Array, default: null }, searchForm: { type: Object, default: null }, fieldNum: { type: Number, default: null }, rules: { type: Object, default: null }, labelWidth: { type: String, default: null }, query: { type: Object, default: null }, rowNum: { type: Number, default: null }, code: { type: String, default: null }, isSql: { type: Boolean, default: false }, spanNum: { type: Number, default: 8 }, loadCompleteQuery: { type: Boolean, default: false } }, data() {
6607
6719
  const e2 = store$1.get(this.code);
6608
6720
  let t2, o;
6609
6721
  e2 && e2.basicInfo && e2.basicInfo.tableName && (t2 = e2.basicInfo.tableName), e2 && e2.basicInfo && e2.basicInfo.hasJoinTable && (o = e2.basicInfo.hasJoinTable);
@@ -6626,12 +6738,14 @@
6626
6738
  this.isOpen = e2, $emit(this, "open-fold", e2);
6627
6739
  }, searchComplete() {
6628
6740
  this.$refs.searchFormContent && this.$refs.searchFormContent.searchComplete();
6741
+ }, openFoldFunc(e2) {
6742
+ this.isOpen = e2, this.$refs.searchFormContent && this.$refs.searchFormContent.openFoldFunc(e2);
6629
6743
  } }, emits: ["submit-form", "reset-form", "save-condition", "open-fold", "remoteMethod"] };
6630
6744
  function _sfc_render$15(e2, t2, o, n, i2, a) {
6631
6745
  const l = Vue.resolveComponent("search-form-open"), s = Vue.resolveComponent("el-form");
6632
6746
  return o.searchableColumns.length > 0 ? (Vue.openBlock(), Vue.createBlock(s, { key: 0, ref: "searchForm", model: o.searchForm, rules: o.rules, class: "grid-search-form", "label-position": "right", size: "default" }, { default: Vue.withCtx(() => [Vue.createVNode(l, { ref: "searchFormContent", code: o.code, "field-num": o.fieldNum, "is-join-table": i2.isJoinTable, "is-open": i2.isOpen, "is-sql": o.isSql, "load-complete-query": o.loadCompleteQuery, "row-num": o.rowNum, "search-form": o.searchForm, "searchable-columns": o.searchableColumns, "span-num": o.spanNum, "table-name": i2.tableName, onSubmitForm: t2[0] || (t2[0] = (t3) => e2.$emit("submit-form")), onResetForm: t2[1] || (t2[1] = (t3) => e2.$emit("reset-form")), onSaveCondition: t2[2] || (t2[2] = (t3) => e2.$emit("save-condition")), onOpenFold: a.openFold }, null, 8, ["code", "field-num", "is-join-table", "is-open", "is-sql", "load-complete-query", "row-num", "search-form", "searchable-columns", "span-num", "table-name", "onOpenFold"])]), _: 1 }, 8, ["model", "rules"])) : Vue.createCommentVNode("", true);
6633
6747
  }
6634
- const searchFormOrdinarySearch = _export_sfc(_sfc_main$1P, [["render", _sfc_render$15], ["__scopeId", "data-v-3e0adbf6"]]), _sfc_main$1O = { name: "SearchConditionInput", data: () => ({ searchCondition: { conditionName: null } }), methods: { saveCondition() {
6748
+ const searchFormOrdinarySearch = _export_sfc(_sfc_main$1P, [["render", _sfc_render$15], ["__scopeId", "data-v-d462769a"]]), _sfc_main$1O = { name: "SearchConditionInput", data: () => ({ searchCondition: { conditionName: null } }), methods: { saveCondition() {
6635
6749
  this.$refs.conditionForm.validate((e2) => {
6636
6750
  if (!e2)
6637
6751
  return false;
@@ -6758,7 +6872,7 @@
6758
6872
  const l = Vue.resolveComponent("CirclePlus"), s = Vue.resolveComponent("el-icon"), r = Vue.resolveComponent("Remove"), u = Vue.resolveComponent("el-table-column"), c = Vue.resolveComponent("el-option"), d = Vue.resolveComponent("el-select"), p = Vue.resolveComponent("el-date-picker"), m = Vue.resolveComponent("el-time-picker"), h2 = Vue.resolveComponent("organization-input"), g = Vue.resolveComponent("dynamic-source-select"), f = Vue.resolveComponent("search-form-number"), A = Vue.resolveComponent("el-switch"), y = Vue.resolveComponent("el-slider"), w = Vue.resolveComponent("el-rate"), C = Vue.resolveComponent("el-input"), V = Vue.resolveComponent("el-table");
6759
6873
  return i2.formFlag ? (Vue.openBlock(), Vue.createElementBlock("div", _hoisted_1$1l, [Vue.createVNode(V, { ref: "table", data: o.searchFormList, "row-class-name": a.tableRowClassName, border: "", "highlight-current-row": "", style: { width: "100%" }, onCurrentChange: a.handleCurrentChange }, { default: Vue.withCtx(() => [Vue.createVNode(u, { label: e2.$t("imatrixUIPublicModel.edit"), align: "center", fixed: "left", width: "80" }, { default: Vue.withCtx((e3) => [Vue.createVNode(s, { onClick: a.add }, { default: Vue.withCtx(() => [Vue.createVNode(l)]), _: 1 }, 8, ["onClick"]), Vue.createVNode(s, { onClick: (t3) => a.remove(e3.$index) }, { default: Vue.withCtx(() => [Vue.createVNode(r)]), _: 2 }, 1032, ["onClick"])]), _: 1 }, 8, ["label"]), Vue.createVNode(u, { label: "(", prop: "leftBracket", width: "90" }, { default: Vue.withCtx((e3) => [Vue.createVNode(d, { modelValue: e3.row.leftBracket, "onUpdate:modelValue": (t3) => e3.row.leftBracket = t3, clearable: "", size: "default", onFocus: (t3) => a.selectRow(e3.row) }, { default: Vue.withCtx(() => [Vue.createVNode(c, { label: "", value: "" }), Vue.createVNode(c, { label: "(", value: "(" }), Vue.createVNode(c, { label: "((", value: "((" }), Vue.createVNode(c, { label: "(((", value: "(((" })]), _: 2 }, 1032, ["modelValue", "onUpdate:modelValue", "onFocus"])]), _: 1 }), Vue.createVNode(u, { label: e2.$t("imatrixUIPublicModel.fieldName"), width: "200" }, { default: Vue.withCtx((e3) => [Vue.createVNode(d, { modelValue: e3.row.prop, "onUpdate:modelValue": (t3) => e3.row.prop = t3, clearable: "", filterable: "", size: "default", onChange: (t3) => a.changeFieldName(e3.$index), onFocus: (t3) => a.selectRow(e3.row) }, { default: Vue.withCtx(() => [(Vue.openBlock(true), Vue.createElementBlock(Vue.Fragment, null, Vue.renderList(o.searchableColumns, (e4) => (Vue.openBlock(), Vue.createBlock(c, { key: e4.prop, label: e4.label, value: e4.prop }, null, 8, ["label", "value"]))), 128))]), _: 2 }, 1032, ["modelValue", "onUpdate:modelValue", "onChange", "onFocus"])]), _: 1 }, 8, ["label"]), Vue.createVNode(u, { label: e2.$t("imatrixUIPublicModel.operator"), width: "110" }, { default: Vue.withCtx((e3) => [Vue.createVNode(d, { modelValue: e3.row.operator, "onUpdate:modelValue": (t3) => e3.row.operator = t3, clearable: "", size: "default", onFocus: (t3) => a.selectRow(e3.row) }, { default: Vue.withCtx(() => [(Vue.openBlock(true), Vue.createElementBlock(Vue.Fragment, null, Vue.renderList(i2.operationArr[e3.$index], (e4) => (Vue.openBlock(), Vue.createBlock(c, { key: e4.name, label: e4.label, value: e4.name }, null, 8, ["label", "value"]))), 128))]), _: 2 }, 1032, ["modelValue", "onUpdate:modelValue", "onFocus"])]), _: 1 }, 8, ["label"]), Vue.createVNode(u, { label: e2.$t("imatrixUIPublicModel.value") }, Vue.createSlots({ _: 2 }, [e2.scope.row.prop ? { name: "default", fn: Vue.withCtx((n2) => ["DATE" === n2.row.dataType || "date" === n2.row.componentType ? (Vue.openBlock(), Vue.createBlock(p, { key: 0, modelValue: n2.row.value, "onUpdate:modelValue": (e3) => n2.row.value = e3, "end-placeholder": e2.$t("imatrixUIMessage.endDate"), "range-separator": e2.$t("imatrixUIPublicModel.to"), "start-placeholder": e2.$t("imatrixUIMessage.startDate"), style: Vue.normalizeStyle(n2.row.searchControlWidth), size: "default", type: "daterange", "unlink-panels": "", "value-format": "YYYY-MM-DD", onFocus: (e3) => a.selectRow(n2.row), onInput: (e3) => a.setValueToModelProp(n2.$index, e3) }, null, 8, ["modelValue", "onUpdate:modelValue", "end-placeholder", "range-separator", "start-placeholder", "style", "onFocus", "onInput"])) : "dateTimePicker" === n2.row.componentType ? (Vue.openBlock(), Vue.createBlock(p, { key: 1, modelValue: n2.row.value, "onUpdate:modelValue": (e3) => n2.row.value = e3, "end-placeholder": e2.$t("imatrixUIMessage.endDate"), "range-separator": e2.$t("imatrixUIPublicModel.to"), "start-placeholder": e2.$t("imatrixUIMessage.startDate"), style: Vue.normalizeStyle(n2.row.searchControlWidth), size: "default", type: "datetimerange", "unlink-panels": "", "value-format": "YYYY-MM-DD HH:mm:ss", onFocus: (e3) => a.selectRow(n2.row), onInput: (e3) => a.setValueToModelProp(n2.$index, e3) }, null, 8, ["modelValue", "onUpdate:modelValue", "end-placeholder", "range-separator", "start-placeholder", "style", "onFocus", "onInput"])) : "TIME" === n2.row.dataType && "timepicker" === n2.row.componentType ? (Vue.openBlock(), Vue.createBlock(p, { key: 2, modelValue: n2.row.value, "onUpdate:modelValue": (e3) => n2.row.value = e3, "end-placeholder": e2.$t("imatrixUIMessage.endDate"), "range-separator": e2.$t("imatrixUIPublicModel.to"), "start-placeholder": e2.$t("imatrixUIMessage.startDate"), style: Vue.normalizeStyle(n2.row.searchControlWidth), size: "default", type: "datetimerange", "unlink-panels": "", "value-format": "HH:mm:ss", onFocus: (e3) => a.selectRow(n2.row), onInput: (e3) => a.setValueToModelProp(n2.$index, e3) }, null, 8, ["modelValue", "onUpdate:modelValue", "end-placeholder", "range-separator", "start-placeholder", "style", "onFocus", "onInput"])) : "timepicker" === n2.row.componentType && "TIME" !== n2.row.dataType && "DATE" !== n2.row.dataType ? (Vue.openBlock(), Vue.createBlock(m, { key: 3, modelValue: n2.row.value, "onUpdate:modelValue": (e3) => n2.row.value = e3, placeholder: e2.$t("imatrixUIMessage.selectTime"), size: "default", style: { width: "100%" }, type: "fixed-time", "value-format": "HH:mm:ss", onFocus: (e3) => a.selectRow(n2.row), onInput: (e3) => a.setValueToModelProp(n2.$index, e3) }, null, 8, ["modelValue", "onUpdate:modelValue", "placeholder", "onFocus", "onInput"])) : a.componentTypeTypeIsTree(n2.row.componentType) ? (Vue.openBlock(), Vue.createBlock(h2, { key: 4, value: n2.row.value, "onUpdate:value": (e3) => n2.row.value = e3, fields: a.getTreeFields(n2.row.orgTreeSet), models: e2.searchForm, multiple: a.getTreeIsMultiTree(n2.row.componentType), size: e2.default, "tree-type": a.getTreeType(n2.row.componentType), onClear: a.clearOrganizationInputEvent, onFocus: (e3) => a.selectRow(n2.row), onSetValue: a.organizationInputEvent }, null, 8, ["value", "onUpdate:value", "fields", "models", "multiple", "size", "tree-type", "onClear", "onFocus", "onSetValue"])) : (n2.row.componentType && "select" === n2.row.componentType || "BOOLEAN" === n2.row.dataType) && !a.isDynamicDataSourceSource(n2.row) ? (Vue.openBlock(), Vue.createBlock(d, { key: 5, modelValue: n2.row.value, "onUpdate:modelValue": (e3) => n2.row.value = e3, placeholder: e2.$t("imatrixUIMessage.pleaseSelect"), style: Vue.normalizeStyle(n2.row.searchControlWidth), clearable: "", size: "default", onFocus: (e3) => a.selectRow(n2.row), onInput: (e3) => a.setValueToModelProp(n2.$index, e3) }, { default: Vue.withCtx(() => [(Vue.openBlock(true), Vue.createElementBlock(Vue.Fragment, null, Vue.renderList(n2.row.valueSet, (e3) => (Vue.openBlock(), Vue.createBlock(c, { key: e3.value, label: e3.label, value: e3.value }, null, 8, ["label", "value"]))), 128))]), _: 2 }, 1032, ["modelValue", "onUpdate:modelValue", "placeholder", "style", "onFocus", "onInput"])) : n2.row.componentType && "multiselect" === n2.row.componentType && !a.isDynamicDataSourceSource(n2.row) ? (Vue.openBlock(), Vue.createBlock(d, { key: 6, modelValue: n2.row.value, "onUpdate:modelValue": (e3) => n2.row.value = e3, placeholder: e2.$t("imatrixUIMessage.pleaseSelect"), style: Vue.normalizeStyle(n2.row.searchControlWidth), clearable: "", "collapse-tags": "", multiple: "", size: "default", onFocus: (e3) => a.selectRow(n2.row), onInput: (e3) => a.setValueToModelProp(n2.$index, e3) }, { default: Vue.withCtx(() => [(Vue.openBlock(true), Vue.createElementBlock(Vue.Fragment, null, Vue.renderList(n2.row.valueSet, (e3) => (Vue.openBlock(), Vue.createBlock(c, { key: e3.value, label: e3.label, value: e3.value }, null, 8, ["label", "value"]))), 128))]), _: 2 }, 1032, ["modelValue", "onUpdate:modelValue", "placeholder", "style", "onFocus", "onInput"])) : n2.row.componentType && ("multiselect" === n2.row.componentType || "select" === n2.row.componentType) && a.isDynamicDataSourceSource(n2.row) ? (Vue.openBlock(), Vue.createBlock(g, { key: 7, "base-props": { multiple: "multiselect" === n2.row.componentType }, entity: n2.row, "is-join-table": i2.isJoinTable, "list-code": o.code, options: a.getDynamicDataSourceOptions(n2.row), "table-name": i2.tableName, value: n2.row.value, onInput: (e3) => a.setValueToModelProp(n2.$index, e3) }, null, 8, ["base-props", "entity", "is-join-table", "list-code", "options", "table-name", "value", "onInput"])) : n2.row.componentType && "inputNumber" === n2.row.componentType ? (Vue.openBlock(), Vue.createBlock(f, { key: 8, n: e2.n, r: e2.r, size: "default", onFocus: (e3) => a.selectRow(n2.row), onSetValue: a.setNumberValue }, null, 8, ["n", "r", "onFocus", "onSetValue"])) : n2.row.componentType && "switch" === n2.row.componentType ? (Vue.openBlock(), Vue.createBlock(A, { key: 9, modelValue: n2.row.value, "onUpdate:modelValue": (e3) => n2.row.value = e3, style: Vue.normalizeStyle(n2.row.searchControlWidth), "active-color": "#13ce66", "inactive-color": "#ff4949", size: "default", onFocus: (e3) => a.selectRow(n2.row), onInput: (e3) => a.setValueToModelProp(n2.$index, e3) }, null, 8, ["modelValue", "onUpdate:modelValue", "style", "onFocus", "onInput"])) : n2.row.componentType && "slider" === n2.row.componentType ? (Vue.openBlock(), Vue.createBlock(y, { key: 10, modelValue: n2.row.value, "onUpdate:modelValue": (e3) => n2.row.value = e3, style: Vue.normalizeStyle(n2.row.searchControlWidth), size: "default", onFocus: (e3) => a.selectRow(n2.row), onInput: (e3) => a.setValueToModelProp(n2.$index, e3) }, null, 8, ["modelValue", "onUpdate:modelValue", "style", "onFocus", "onInput"])) : n2.row.componentType && "rate" === n2.row.componentType ? (Vue.openBlock(), Vue.createBlock(w, { key: 11, modelValue: n2.row.value, "onUpdate:modelValue": (e3) => n2.row.value = e3, style: Vue.normalizeStyle(n2.row.searchControlWidth), size: "default", onFocus: (e3) => a.selectRow(n2.row), onInput: (e3) => a.setValueToModelProp(n2.$index, e3) }, null, 8, ["modelValue", "onUpdate:modelValue", "style", "onFocus", "onInput"])) : true === a.customComponent(n2.row.prop) ? (Vue.openBlock(), Vue.createElementBlock("span", _hoisted_2$W, [(Vue.openBlock(), Vue.createBlock(Vue.resolveDynamicComponent(n2.row.componentName), { ref: n2.row.componentName, value: n2.row.value, "onUpdate:value": (e3) => n2.row.value = e3, prop: n2.row.prop, row: n2.row, "additional-settings": i2.controlConfig, class: "customComponent", onFocus: (e3) => a.selectRow(n2.row), onInput: (e3) => a.setValueToModelProp(n2.$index, e3, n2.row.componentName) }, null, 40, ["value", "onUpdate:value", "prop", "row", "additional-settings", "onFocus", "onInput"]))])) : (Vue.openBlock(), Vue.createBlock(C, { key: 13, modelValue: n2.row.value, "onUpdate:modelValue": (e3) => n2.row.value = e3, style: Vue.normalizeStyle(n2.row.searchControlWidth), size: "default", onFocus: (e3) => a.selectRow(n2.row), onInput: (e3) => a.setValueToModelProp(n2.$index, e3), onKeyup: t2[0] || (t2[0] = Vue.withKeys((t3) => e2.submitForm("searchForm"), ["enter"])) }, null, 8, ["modelValue", "onUpdate:modelValue", "style", "onFocus", "onInput"]))]), key: "0" } : void 0]), 1032, ["label"]), Vue.createVNode(u, { label: ")", prop: "rightBracket", width: "90" }, { default: Vue.withCtx((e3) => [Vue.createVNode(d, { modelValue: e3.row.rightBracket, "onUpdate:modelValue": (t3) => e3.row.rightBracket = t3, clearable: "", size: "default", onFocus: (t3) => a.selectRow(e3.row) }, { default: Vue.withCtx(() => [Vue.createVNode(c, { label: "", value: "" }), Vue.createVNode(c, { label: ")", value: ")" }), Vue.createVNode(c, { label: "))", value: "))" }), Vue.createVNode(c, { label: ")))", value: ")))" })]), _: 2 }, 1032, ["modelValue", "onUpdate:modelValue", "onFocus"])]), _: 1 }), Vue.createVNode(u, { label: e2.$t("imatrixUIPublicModel.andOr"), prop: "logicOperator", width: "110" }, { default: Vue.withCtx((t3) => [Vue.createVNode(d, { modelValue: t3.row.joinSign, "onUpdate:modelValue": (e3) => t3.row.joinSign = e3, clearable: "", size: "default", onFocus: (e3) => a.selectRow(t3.row) }, { default: Vue.withCtx(() => [Vue.createVNode(c, { label: e2.$t("imatrixUIPublicModel.perhaps"), value: "or" }, null, 8, ["label"]), Vue.createVNode(c, { label: e2.$t("imatrixUIPublicModel.also"), value: "and" }, null, 8, ["label"])]), _: 2 }, 1032, ["modelValue", "onUpdate:modelValue", "onFocus"])]), _: 1 }, 8, ["label"]), Vue.createVNode(u, { label: e2.$t("imatrixUIPublicModel.whenTheVariableIsEmpty"), width: "110" }, { default: Vue.withCtx((t3) => [Vue.createVNode(d, { modelValue: t3.row.variableIsNull, "onUpdate:modelValue": (e3) => t3.row.variableIsNull = e3, clearable: "", size: "default", onFocus: (e3) => a.selectRow(t3.row) }, { default: Vue.withCtx(() => [Vue.createVNode(c, { label: "Null", value: "null" }), Vue.createVNode(c, { label: e2.$t("imatrixUIPublicModel.ignore11"), value: "1=1" }, null, 8, ["label"]), Vue.createVNode(c, { label: e2.$t("imatrixUIPublicModel.nonConformity"), value: "1<>1" }, null, 8, ["label"])]), _: 2 }, 1032, ["modelValue", "onUpdate:modelValue", "onFocus"])]), _: 1 }, 8, ["label"])]), _: 1 }, 8, ["data", "row-class-name", "onCurrentChange"])])) : Vue.createCommentVNode("", true);
6760
6874
  }
6761
- const searchFormAdvancedQuery = _export_sfc(_sfc_main$1M, [["render", _sfc_render$12], ["__scopeId", "data-v-0b145154"]]), searchFormMobile_vue_vue_type_style_index_0_scoped_832e8a9d_lang = "", _sfc_main$1L = { name: "SearchFormMobile", components: { SearchFormItem, SearchButton }, props: { searchableColumns: { type: Array, default: null }, searchForm: { type: Object, default: null }, rules: { type: Object, default: null }, labelWidth: { type: String, default: null }, query: { type: Object, default: null }, code: { type: String, default: null }, isSql: { type: Boolean, default: false }, loadCompleteQuery: { type: Boolean, default: false } }, data() {
6875
+ const searchFormAdvancedQuery = _export_sfc(_sfc_main$1M, [["render", _sfc_render$12], ["__scopeId", "data-v-0b145154"]]), searchFormMobile_vue_vue_type_style_index_0_scoped_c8fb4788_lang = "", _sfc_main$1L = { name: "SearchFormMobile", components: { SearchFormItem, SearchButton }, props: { searchableColumns: { type: Array, default: null }, searchForm: { type: Object, default: null }, rules: { type: Object, default: null }, labelWidth: { type: String, default: null }, query: { type: Object, default: null }, code: { type: String, default: null }, isSql: { type: Boolean, default: false }, loadCompleteQuery: { type: Boolean, default: false } }, data() {
6762
6876
  const e2 = store$1.get(this.code);
6763
6877
  let t2, o;
6764
6878
  e2 && e2.basicInfo && e2.basicInfo.tableName && (t2 = e2.basicInfo.tableName), e2 && e2.basicInfo && e2.basicInfo.hasJoinTable && (o = e2.basicInfo.hasJoinTable);
@@ -6781,12 +6895,12 @@
6781
6895
  this.isOpen = e2, $emit(this, "open-fold", e2);
6782
6896
  }, searchComplete() {
6783
6897
  this.$refs.searchBtnOpen && (Array.isArray(this.$refs.searchBtnOpen) ? this.$refs.searchBtnOpen.length > 0 && this.$refs.searchBtnOpen[0].searchComplete() : this.$refs.searchBtnOpen.searchComplete());
6784
- } }, emits: ["submit-form", "reset-form", "save-condition", "remoteMethod"] }, _hoisted_1$1k = { style: { "padding-bottom": "40px", "padding-top": "35px" } }, _hoisted_2$V = { class: "search-btn-mobile" };
6898
+ } }, emits: ["submit-form", "reset-form", "save-condition", "remoteMethod"] }, _hoisted_1$1k = { style: { "padding-bottom": "40px" } }, _hoisted_2$V = { class: "search-btn-mobile" };
6785
6899
  function _sfc_render$11(e2, t2, o, n, i2, a) {
6786
6900
  const l = Vue.resolveComponent("search-form-item"), s = Vue.resolveComponent("search-button"), r = Vue.resolveComponent("el-form");
6787
- return Vue.openBlock(), Vue.createElementBlock("div", null, [o.searchableColumns.length > 0 ? (Vue.openBlock(), Vue.createBlock(r, { key: 0, ref: "searchForm", model: o.searchForm, rules: o.rules, class: "grid-search-form-mobile", "label-position": "top", size: "default" }, { default: Vue.withCtx(() => [Vue.createElementVNode("div", _hoisted_1$1k, [(Vue.openBlock(true), Vue.createElementBlock(Vue.Fragment, null, Vue.renderList(o.searchableColumns, (e3, t3) => (Vue.openBlock(), Vue.createBlock(l, { key: t3, "search-form": o.searchForm, column: e3, code: o.code, "is-sql": o.isSql, "table-name": i2.tableName, "is-join-table": i2.isJoinTable }, null, 8, ["search-form", "column", "code", "is-sql", "table-name", "is-join-table"]))), 128))]), Vue.createElementVNode("div", _hoisted_2$V, [Vue.createVNode(s, { ref: "searchBtnOpen", onSubmitForm: t2[0] || (t2[0] = (t3) => e2.$emit("submit-form")), onResetForm: t2[1] || (t2[1] = (t3) => e2.$emit("reset-form")), onSaveCondition: t2[2] || (t2[2] = (t3) => e2.$emit("save-condition")) }, null, 512)])]), _: 1 }, 8, ["model", "rules"])) : Vue.createCommentVNode("", true)]);
6901
+ return Vue.openBlock(), Vue.createElementBlock("div", null, [o.searchableColumns.length > 0 ? (Vue.openBlock(), Vue.createBlock(r, { key: 0, ref: "searchForm", model: o.searchForm, rules: o.rules, class: "grid-search-form-mobile", "label-position": "top", size: "default" }, { default: Vue.withCtx(() => [Vue.createElementVNode("div", _hoisted_1$1k, [(Vue.openBlock(true), Vue.createElementBlock(Vue.Fragment, null, Vue.renderList(o.searchableColumns, (e3, t3) => (Vue.openBlock(), Vue.createBlock(l, { key: t3, "search-form": o.searchForm, column: e3, code: o.code, "is-sql": o.isSql, "table-name": i2.tableName, "is-join-table": i2.isJoinTable }, null, 8, ["search-form", "column", "code", "is-sql", "table-name", "is-join-table"]))), 128))]), Vue.createElementVNode("div", _hoisted_2$V, [Vue.createVNode(s, { ref: "searchBtnOpen", onClose: t2[0] || (t2[0] = (t3) => e2.$emit("close")), onSubmitForm: t2[1] || (t2[1] = (t3) => e2.$emit("submit-form")), onResetForm: t2[2] || (t2[2] = (t3) => e2.$emit("reset-form")), onSaveCondition: t2[3] || (t2[3] = (t3) => e2.$emit("save-condition")) }, null, 512)])]), _: 1 }, 8, ["model", "rules"])) : Vue.createCommentVNode("", true)]);
6788
6902
  }
6789
- const SearchFormMobile = _export_sfc(_sfc_main$1L, [["render", _sfc_render$11], ["__scopeId", "data-v-832e8a9d"]]), searchForm_vue_vue_type_style_index_0_scoped_8ae4e3f5_lang = "", _sfc_main$1K = { name: "SearchForm", components: { SearchConditionInput, SearchConditionList, searchFormOrdinarySearch, searchFormAdvancedQuery, SearchFormMobile }, provide() {
6903
+ const SearchFormMobile = _export_sfc(_sfc_main$1L, [["render", _sfc_render$11], ["__scopeId", "data-v-c8fb4788"]]), searchForm_vue_vue_type_style_index_0_scoped_8f3059a4_lang = "", _sfc_main$1K = { name: "SearchForm", components: { SearchConditionInput, SearchConditionList, searchFormOrdinarySearch, searchFormAdvancedQuery, SearchFormMobile }, provide() {
6790
6904
  return { getListToolbarFormData: () => ({ listToolbarFormData: this.listToolbarFormData }) };
6791
6905
  }, props: { columns: { type: Array, default: null }, code: { type: String, default: null }, url: { type: String, default: null }, pagination: { type: Object, default: null }, query: { type: Object, default: null }, searchParam: { type: Object, default: null }, initSearchProps: { type: Array, default: null }, isSql: { type: Boolean, default: false }, searchFormInfo: { type: Object, default: () => ({}) }, loadCompleteQuery: { type: Boolean, default: false }, listToolbarFormData: { type: Object, default: null } }, data() {
6792
6906
  const e2 = /* @__PURE__ */ new Set(), t2 = store$1.get(this.code), o = {};
@@ -6805,6 +6919,9 @@
6805
6919
  return this.getSearchableColumns();
6806
6920
  }, advancedQueryColumns() {
6807
6921
  return this.getAdvancedQueryColumns();
6922
+ }, mobileDrawerSize() {
6923
+ const e2 = window.innerWidth;
6924
+ return e2 <= 400 ? "85%" : e2 > 400 && e2 <= 768 ? "70%" : "60%";
6808
6925
  } }, watch: { searchForm: { deep: true, handler(e2) {
6809
6926
  this.searchFormInfo.data = e2;
6810
6927
  } } }, created() {
@@ -6882,7 +6999,7 @@
6882
6999
  this.isMobile ? this.$refs.searchFormMobile.validateForm().then((e2) => {
6883
7000
  if (!e2)
6884
7001
  return false;
6885
- this.searchParams = this.packageSearchParam(), $emit(this, "search", this.searchParams);
7002
+ this.isShowMobileForm = false, this.searchParams = this.packageSearchParam(), $emit(this, "search", this.searchParams);
6886
7003
  }) : "normal" === this.searchType ? this.$refs.searchFormOrdinarySearch.validateForm().then((e2) => {
6887
7004
  if (!e2)
6888
7005
  return false;
@@ -6893,7 +7010,7 @@
6893
7010
  this.loading = true, this.searchParams = this.packageSearchParam(), $emit(this, "search", this.searchParams);
6894
7011
  });
6895
7012
  }, resetForm() {
6896
- this.$refs.searchConditionList && (this.$refs.searchConditionList.editConditionId = null), this.isMobile ? this.$refs.searchFormMobile.resetForm() : "normal" === this.searchType ? this.$refs.searchFormOrdinarySearch.resetForm() : "advanced" === this.searchType && (this.$refs.searchFormAdvancedQuery.resetForm(), $emit(this, "reset")), eventBus.$emit("reset");
7013
+ this.$refs.searchConditionList && (this.$refs.searchConditionList.editConditionId = null), this.isMobile ? this.$refs.searchFormMobile.resetForm() : "normal" === this.searchType ? this.$refs.searchFormOrdinarySearch.resetForm() : "advanced" === this.searchType && (this.$refs.searchFormAdvancedQuery.resetForm(), $emit(this, "reset")), bus.$emit("reset");
6897
7014
  }, setNumberValue(e2, t2, o) {
6898
7015
  let n = this.getFormItemValue(this.searchableColumns[this.fieldNum * (t2 - 1) + (o - 1)].prop);
6899
7016
  n = e2, this.setValueToModelProp(this.searchableColumns[this.fieldNum * (t2 - 1) + (o - 1)].prop, n);
@@ -6966,20 +7083,33 @@
6966
7083
  this.isShowMobileForm = false, $emit(this, "close-mobile-search");
6967
7084
  }, showMobileSearch() {
6968
7085
  this.isShowMobileForm = true;
7086
+ }, openFoldFunc(e2) {
7087
+ this.$refs.searchFormOrdinarySearch && this.$refs.searchFormOrdinarySearch.openFoldFunc(e2);
6969
7088
  } }, emits: ["search", "open-fold", "reset", "show-mobile-search", "close-mobile-search"] }, _hoisted_1$1j = { class: "amb-agilebuilder-search-form-view" }, _hoisted_2$U = { class: "search-condition-mobile" }, _hoisted_3$G = { key: 3, style: { "padding-top": "10px", "padding-bottom": "10px", "text-align": "center" } }, _hoisted_4$v = { key: 0, style: { "margin-left": "10px" } };
6970
7089
  function _sfc_render$10(e2, t2, o, n, i2, a) {
6971
7090
  const l = Vue.resolveComponent("search-condition-list"), s = Vue.resolveComponent("search-form-mobile"), r = Vue.resolveComponent("el-drawer"), u = Vue.resolveComponent("search-form-ordinary-search"), c = Vue.resolveComponent("search-form-advanced-query"), d = Vue.resolveComponent("el-button"), p = Vue.resolveComponent("search-condition-input");
6972
- return Vue.openBlock(), Vue.createElementBlock("div", _hoisted_1$1j, [i2.isMobile ? (Vue.openBlock(), Vue.createBlock(r, { key: 0, modelValue: i2.isShowMobileForm, "onUpdate:modelValue": t2[3] || (t2[3] = (e3) => i2.isShowMobileForm = e3), "close-on-click-modal": false, "close-on-press-escape": false, direction: "rtl", size: "50%", onClose: t2[4] || (t2[4] = (e3) => a.closeMobileSearch()) }, { default: Vue.withCtx(() => [Vue.createElementVNode("div", _hoisted_2$U, [i2.searchConditions.length > 0 ? (Vue.openBlock(), Vue.createBlock(l, { key: 0, ref: "searchConditionList", "search-conditions": i2.searchConditions, "search-type": i2.searchType, onRemoveCondition: a.removeCondition, onSelectCondition: a.selectCondition }, null, 8, ["search-conditions", "search-type", "onRemoveCondition", "onSelectCondition"])) : Vue.createCommentVNode("", true)]), i2.isMobile && "normal" === i2.searchType ? (Vue.openBlock(), Vue.createBlock(s, { key: 0, ref: "searchFormMobile", code: o.code, "is-sql": o.isSql, "load-complete-query": o.loadCompleteQuery, query: o.query, rules: i2.rules, "search-form": i2.searchForm, "searchable-columns": a.searchableColumns, onSubmitForm: t2[0] || (t2[0] = (e3) => a.submitForm("searchForm")), onResetForm: t2[1] || (t2[1] = (e3) => a.resetForm("searchForm")), onSaveCondition: t2[2] || (t2[2] = (e3) => a.saveCondition()) }, null, 8, ["code", "is-sql", "load-complete-query", "query", "rules", "search-form", "searchable-columns"])) : Vue.createCommentVNode("", true)]), _: 1 }, 8, ["modelValue"])) : (Vue.openBlock(), Vue.createElementBlock(Vue.Fragment, { key: 1 }, [i2.searchConditions.length > 0 ? (Vue.openBlock(), Vue.createBlock(l, { key: 0, ref: "searchConditionList", "search-conditions": i2.searchConditions, "search-type": i2.searchType, onRemoveCondition: a.removeCondition, onSelectCondition: a.selectCondition }, null, 8, ["search-conditions", "search-type", "onRemoveCondition", "onSelectCondition"])) : Vue.createCommentVNode("", true), "normal" === i2.searchType ? (Vue.openBlock(), Vue.createBlock(u, { key: 1, ref: "searchFormOrdinarySearch", code: o.code, "field-num": i2.fieldNum, "is-sql": o.isSql, "label-width": i2.labelWidth, "load-complete-query": o.loadCompleteQuery, query: o.query, "row-num": i2.rowNum, rules: i2.rules, "search-form": i2.searchForm, "searchable-columns": a.searchableColumns, "span-num": i2.spanNum, onSubmitForm: t2[5] || (t2[5] = (e3) => a.submitForm("searchForm")), onResetForm: t2[6] || (t2[6] = (e3) => a.resetForm("searchForm")), onSaveCondition: t2[7] || (t2[7] = (e3) => a.saveCondition()), onOpenFold: a.openFold }, null, 8, ["code", "field-num", "is-sql", "label-width", "load-complete-query", "query", "row-num", "rules", "search-form", "searchable-columns", "span-num", "onOpenFold"])) : Vue.createCommentVNode("", true), "advanced" === i2.searchType ? (Vue.openBlock(), Vue.createBlock(c, { key: 2, ref: "searchFormAdvancedQuery", code: o.code, "is-sql": o.isSql, "prop-map": i2.propMap, "search-form-list": i2.searchFormList, "searchable-columns": a.advancedQueryColumns, style: { "padding-bottom": "10px" }, onResetForm: a.resetSearchFormList }, null, 8, ["code", "is-sql", "prop-map", "search-form-list", "searchable-columns", "onResetForm"])) : Vue.createCommentVNode("", true), "advanced" === i2.searchType ? (Vue.openBlock(), Vue.createElementBlock("div", _hoisted_3$G, [Vue.createVNode(d, { loading: i2.loading, size: "default", type: "primary", onClick: t2[8] || (t2[8] = (e3) => a.submitForm("searchForm")) }, { default: Vue.withCtx(() => [Vue.createTextVNode(Vue.toDisplayString(e2.$t("imatrixUIPublicModel.sure")), 1)]), _: 1 }, 8, ["loading"]), Vue.createVNode(d, { loading: i2.loading, size: "default", onClick: t2[9] || (t2[9] = (e3) => a.resetForm("searchForm")) }, { default: Vue.withCtx(() => [Vue.createTextVNode(Vue.toDisplayString(e2.$t("imatrixUIPublicModel.reset")), 1)]), _: 1 }, 8, ["loading"]), Vue.createVNode(d, { size: "default", onClick: a.saveCondition }, { default: Vue.withCtx(() => [Vue.createTextVNode(Vue.toDisplayString(e2.$t("superGrid.saveCondition")), 1)]), _: 1 }, 8, ["onClick"]), null !== i2.advancedQuery && void 0 !== i2.advancedQuery && true === i2.advancedQuery && null !== i2.normalQuery && void 0 !== i2.normalQuery && true === i2.normalQuery ? (Vue.openBlock(), Vue.createElementBlock("span", _hoisted_4$v, ["advanced" === i2.searchType ? (Vue.openBlock(), Vue.createBlock(d, { key: 0, size: "default", onClick: t2[10] || (t2[10] = (e3) => i2.searchType = "normal") }, { default: Vue.withCtx(() => [Vue.createTextVNode(Vue.toDisplayString(e2.$t("imatrixUIPublicModel.switchToNormalQuery")), 1)]), _: 1 })) : Vue.createCommentVNode("", true), "normal" === i2.searchType ? (Vue.openBlock(), Vue.createBlock(d, { key: 1, size: "default", onClick: t2[11] || (t2[11] = (e3) => i2.searchType = "advanced") }, { default: Vue.withCtx(() => [Vue.createTextVNode(Vue.toDisplayString(e2.$t("imatrixUIPublicModel.switchToAdvancedQuery")), 1)]), _: 1 })) : Vue.createCommentVNode("", true)])) : Vue.createCommentVNode("", true)])) : Vue.createCommentVNode("", true)], 64)), i2.isShowSearchCondition ? (Vue.openBlock(), Vue.createBlock(p, { key: 2, onClose: a.saveConditionValue }, null, 8, ["onClose"])) : Vue.createCommentVNode("", true)]);
7091
+ return Vue.openBlock(), Vue.createElementBlock("div", _hoisted_1$1j, [i2.isMobile ? (Vue.openBlock(), Vue.createBlock(r, { key: 0, modelValue: i2.isShowMobileForm, "onUpdate:modelValue": t2[4] || (t2[4] = (e3) => i2.isShowMobileForm = e3), title: e2.$t("superGrid.searchCondition"), "close-on-click-modal": false, "close-on-press-escape": false, "show-close": false, direction: "rtl", size: a.mobileDrawerSize, onClose: t2[5] || (t2[5] = (e3) => a.closeMobileSearch()) }, { default: Vue.withCtx(() => [Vue.createElementVNode("div", _hoisted_2$U, [i2.searchConditions.length > 0 ? (Vue.openBlock(), Vue.createBlock(l, { key: 0, ref: "searchConditionList", "search-conditions": i2.searchConditions, "search-type": i2.searchType, onRemoveCondition: a.removeCondition, onSelectCondition: a.selectCondition }, null, 8, ["search-conditions", "search-type", "onRemoveCondition", "onSelectCondition"])) : Vue.createCommentVNode("", true)]), i2.isMobile && "normal" === i2.searchType ? (Vue.openBlock(), Vue.createBlock(s, { key: 0, ref: "searchFormMobile", code: o.code, "is-sql": o.isSql, "load-complete-query": o.loadCompleteQuery, query: o.query, rules: i2.rules, "search-form": i2.searchForm, "searchable-columns": a.searchableColumns, onClose: t2[0] || (t2[0] = (e3) => i2.isShowMobileForm = false), onSubmitForm: t2[1] || (t2[1] = (e3) => a.submitForm("searchForm")), onResetForm: t2[2] || (t2[2] = (e3) => a.resetForm("searchForm")), onSaveCondition: t2[3] || (t2[3] = (e3) => a.saveCondition()) }, null, 8, ["code", "is-sql", "load-complete-query", "query", "rules", "search-form", "searchable-columns"])) : Vue.createCommentVNode("", true)]), _: 1 }, 8, ["modelValue", "title", "size"])) : (Vue.openBlock(), Vue.createElementBlock(Vue.Fragment, { key: 1 }, [i2.searchConditions.length > 0 ? (Vue.openBlock(), Vue.createBlock(l, { key: 0, ref: "searchConditionList", "search-conditions": i2.searchConditions, "search-type": i2.searchType, onRemoveCondition: a.removeCondition, onSelectCondition: a.selectCondition }, null, 8, ["search-conditions", "search-type", "onRemoveCondition", "onSelectCondition"])) : Vue.createCommentVNode("", true), "normal" === i2.searchType ? (Vue.openBlock(), Vue.createBlock(u, { key: 1, ref: "searchFormOrdinarySearch", code: o.code, "field-num": i2.fieldNum, "is-sql": o.isSql, "label-width": i2.labelWidth, "load-complete-query": o.loadCompleteQuery, query: o.query, "row-num": i2.rowNum, rules: i2.rules, "search-form": i2.searchForm, "searchable-columns": a.searchableColumns, "span-num": i2.spanNum, onSubmitForm: t2[6] || (t2[6] = (e3) => a.submitForm("searchForm")), onResetForm: t2[7] || (t2[7] = (e3) => a.resetForm("searchForm")), onSaveCondition: t2[8] || (t2[8] = (e3) => a.saveCondition()), onOpenFold: a.openFold }, null, 8, ["code", "field-num", "is-sql", "label-width", "load-complete-query", "query", "row-num", "rules", "search-form", "searchable-columns", "span-num", "onOpenFold"])) : Vue.createCommentVNode("", true), "advanced" === i2.searchType ? (Vue.openBlock(), Vue.createBlock(c, { key: 2, ref: "searchFormAdvancedQuery", code: o.code, "is-sql": o.isSql, "prop-map": i2.propMap, "search-form-list": i2.searchFormList, "searchable-columns": a.advancedQueryColumns, style: { "padding-bottom": "10px" }, onResetForm: a.resetSearchFormList }, null, 8, ["code", "is-sql", "prop-map", "search-form-list", "searchable-columns", "onResetForm"])) : Vue.createCommentVNode("", true), "advanced" === i2.searchType ? (Vue.openBlock(), Vue.createElementBlock("div", _hoisted_3$G, [Vue.createVNode(d, { loading: i2.loading, size: "default", type: "primary", onClick: t2[9] || (t2[9] = (e3) => a.submitForm("searchForm")) }, { default: Vue.withCtx(() => [Vue.createTextVNode(Vue.toDisplayString(e2.$t("imatrixUIPublicModel.sure")), 1)]), _: 1 }, 8, ["loading"]), Vue.createVNode(d, { loading: i2.loading, size: "default", onClick: t2[10] || (t2[10] = (e3) => a.resetForm("searchForm")) }, { default: Vue.withCtx(() => [Vue.createTextVNode(Vue.toDisplayString(e2.$t("imatrixUIPublicModel.reset")), 1)]), _: 1 }, 8, ["loading"]), Vue.createVNode(d, { size: "default", onClick: a.saveCondition }, { default: Vue.withCtx(() => [Vue.createTextVNode(Vue.toDisplayString(e2.$t("superGrid.saveCondition")), 1)]), _: 1 }, 8, ["onClick"]), null !== i2.advancedQuery && void 0 !== i2.advancedQuery && true === i2.advancedQuery && null !== i2.normalQuery && void 0 !== i2.normalQuery && true === i2.normalQuery ? (Vue.openBlock(), Vue.createElementBlock("span", _hoisted_4$v, ["advanced" === i2.searchType ? (Vue.openBlock(), Vue.createBlock(d, { key: 0, size: "default", onClick: t2[11] || (t2[11] = (e3) => i2.searchType = "normal") }, { default: Vue.withCtx(() => [Vue.createTextVNode(Vue.toDisplayString(e2.$t("imatrixUIPublicModel.switchToNormalQuery")), 1)]), _: 1 })) : Vue.createCommentVNode("", true), "normal" === i2.searchType ? (Vue.openBlock(), Vue.createBlock(d, { key: 1, size: "default", onClick: t2[12] || (t2[12] = (e3) => i2.searchType = "advanced") }, { default: Vue.withCtx(() => [Vue.createTextVNode(Vue.toDisplayString(e2.$t("imatrixUIPublicModel.switchToAdvancedQuery")), 1)]), _: 1 })) : Vue.createCommentVNode("", true)])) : Vue.createCommentVNode("", true)])) : Vue.createCommentVNode("", true)], 64)), i2.isShowSearchCondition ? (Vue.openBlock(), Vue.createBlock(p, { key: 2, onClose: a.saveConditionValue }, null, 8, ["onClose"])) : Vue.createCommentVNode("", true)]);
6973
7092
  }
6974
- const SearchForm$1 = _export_sfc(_sfc_main$1K, [["render", _sfc_render$10], ["__scopeId", "data-v-8ae4e3f5"]]), _sfc_main$1J = { name: "SearchFormDialog", components: { SearchForm: SearchForm$1 }, props: { columns: { type: Array, default: null }, code: { type: String, default: null }, url: { type: String, default: null }, pagination: { type: Object, default: null }, query: { type: Object, default: null }, searchParam: { type: Object, default: null }, initSearchProps: { type: Array, default: null } }, data: () => ({}), computed: {}, created() {
7093
+ const SearchForm$1 = _export_sfc(_sfc_main$1K, [["render", _sfc_render$10], ["__scopeId", "data-v-8f3059a4"]]), _sfc_main$1J = { name: "SearchFormDialog", components: { SearchForm: SearchForm$1 }, props: { columns: { type: Array, default: null }, code: { type: String, default: null }, url: { type: String, default: null }, pagination: { type: Object, default: null }, query: { type: Object, default: null }, searchParam: { type: Object, default: null }, initSearchProps: { type: Array, default: null }, loadCompleteQuery: { type: Boolean, default: false }, searchFormInfo: { type: Object, default: () => ({}) }, listToolbarFormData: { type: Object, default: null } }, data() {
7094
+ return { visible: this.dialogVisible };
7095
+ }, computed: {}, created() {
6975
7096
  }, methods: { doSearch(e2) {
6976
- $emit(this, "search", e2);
7097
+ $emit(this, "search", e2), this.visible = false;
6977
7098
  }, resetSearch() {
6978
- $emit(this, "reset");
7099
+ $emit(this, "reset"), this.visible = false;
7100
+ }, searchComplete() {
7101
+ this.$refs && this.$refs.sform && (this.$refs.sform.loading = false, this.$refs.sform.searchComplete());
7102
+ }, closeDialog() {
7103
+ this.visible = false, $emit(this, "close");
7104
+ }, showSubTableSearchDialog() {
7105
+ const e2 = this;
7106
+ setTimeout(() => {
7107
+ e2.$refs && e2.$refs.sform && e2.$refs.sform.openFoldFunc(true);
7108
+ }, 100), this.visible = true;
6979
7109
  } }, emits: ["close", "search", "reset"] };
6980
7110
  function _sfc_render$$(e2, t2, o, n, i2, a) {
6981
7111
  const l = Vue.resolveComponent("search-form"), s = Vue.resolveComponent("el-dialog");
6982
- return Vue.openBlock(), Vue.createBlock(s, { "show-close": true, "append-to-body": true, title: "查询条件", "model-value": "", onClose: t2[0] || (t2[0] = (t3) => e2.$emit("close")) }, { default: Vue.withCtx(() => [Vue.createVNode(l, { ref: "sf", columns: o.columns, code: o.code, url: o.url, pagination: o.pagination, query: o.query, "search-param": o.searchParam, "init-search-props": o.initSearchProps, onSearch: a.doSearch, onReset: a.resetSearch }, null, 8, ["columns", "code", "url", "pagination", "query", "search-param", "init-search-props", "onSearch", "onReset"])]), _: 1 });
7112
+ return Vue.openBlock(), Vue.createBlock(s, { "show-close": true, "append-to-body": true, title: e2.$t("superGrid.searchCondition"), modelValue: i2.visible, "onUpdate:modelValue": t2[0] || (t2[0] = (e3) => i2.visible = e3), width: "60%", onClose: a.closeDialog }, { default: Vue.withCtx(() => [Vue.createVNode(l, { ref: "sform", columns: o.columns, code: o.code, url: o.url, pagination: o.pagination, query: o.query, "search-form-info": o.searchFormInfo, "search-param": e2.searchFormContent, "init-search-props": o.initSearchProps, "list-toolbar-form-data": o.listToolbarFormData, "load-complete-query": o.loadCompleteQuery, onSearch: a.doSearch, onReset: a.resetSearch }, null, 8, ["columns", "code", "url", "pagination", "query", "search-form-info", "search-param", "init-search-props", "list-toolbar-form-data", "load-complete-query", "onSearch", "onReset"])]), _: 1 }, 8, ["title", "modelValue", "onClose"]);
6983
7113
  }
6984
7114
  const searchFormDialog = _export_sfc(_sfc_main$1J, [["render", _sfc_render$$]]), _sfc_main$1I = { name: "RowDetail", components: { ElView: ElementPlusIconsVue.View }, props: { column: { type: Object, default: null }, listCode: { type: String, default: null } }, data() {
6985
7115
  }, computed: {}, created() {
@@ -6990,7 +7120,7 @@
6990
7120
  const l = Vue.resolveComponent("ElView"), s = Vue.resolveComponent("el-icon"), r = Vue.resolveComponent("el-table-column");
6991
7121
  return Vue.openBlock(), Vue.createBlock(r, { align: "center", "class-name": o.column.prop, fixed: "left", "header-align": "center", prop: o.column.prop, width: 80, label: o.column.label }, { default: Vue.withCtx((e3) => [Vue.createVNode(s, { onClick: (t3) => a.showDetail(e3.$index) }, { default: Vue.withCtx(() => [Vue.createVNode(l)]), _: 2 }, 1032, ["onClick"])]), _: 1 }, 8, ["class-name", "prop", "label"]);
6992
7122
  }
6993
- const RowDetail = _export_sfc(_sfc_main$1I, [["render", _sfc_render$_]]), index_vue_vue_type_style_index_0_scoped_8aab68fc_lang = "", _sfc_main$1H = { __name: "index", props: { showScrollShadow: { type: Boolean, default: true }, triggerDistance: { type: Number, default: 0 }, dispatch: { type: Boolean, default: false }, setMaxHeight: { type: [Function, void 0], default: () => {
7123
+ const RowDetail = _export_sfc(_sfc_main$1I, [["render", _sfc_render$_]]), index_vue_vue_type_style_index_0_scoped_dba8fdf8_lang = "", _sfc_main$1H = { __name: "index", props: { showScrollShadow: { type: Boolean, default: true }, triggerDistance: { type: Number, default: 0 }, dispatch: { type: Boolean, default: false }, setMaxHeight: { type: [Function, void 0], default: () => {
6994
7124
  } }, setHeight: { type: [Function, void 0], default: () => {
6995
7125
  } } }, emits: ["scrollToTop", "scrollToBottom"], setup(e2, { emit: t2 }) {
6996
7126
  var _a;
@@ -7009,7 +7139,7 @@
7009
7139
  if (!e3)
7010
7140
  return;
7011
7141
  const n2 = e3.scrollTop <= o.triggerDistance;
7012
- e3.scrollTop + e3.clientHeight >= e3.scrollHeight - o.triggerDistance ? (!["at-bottom"].includes(a.value) && t2("scrollToBottom"), a.value = "at-bottom") : n2 ? (!["at-top"].includes(a.value) && t2("scrollToTop"), a.value = "at-top") : a.value = void 0;
7142
+ e3.scrollTop + e3.clientHeight + 1 >= e3.scrollHeight - o.triggerDistance ? (!["at-bottom"].includes(a.value) && t2("scrollToBottom"), a.value = "at-bottom") : n2 ? (!["at-top"].includes(a.value) && t2("scrollToTop"), a.value = "at-top") : a.value = void 0;
7013
7143
  }, p = () => {
7014
7144
  var _a2;
7015
7145
  const e3 = (_a2 = i2.value) == null ? void 0 : _a2.$el.querySelector(".el-scrollbar__wrap");
@@ -7033,7 +7163,7 @@
7033
7163
  }, (e3, t3) => {
7034
7164
  e3 !== t3 && setTimeout(p, 500);
7035
7165
  }, { deep: true }), (e3, t3) => (Vue.openBlock(), Vue.createBlock(Vue.unref(elementPlus.ElScrollbar), Vue.mergeProps(c.value, { class: { "is-dispatch": o.dispatch }, ref_key: "scrollbarRef", ref: i2 }), { default: Vue.withCtx(() => [Vue.renderSlot(e3.$slots, "default", {}, void 0, true)]), _: 3 }, 16, ["class"]));
7036
- } }, Scrollbar = _export_sfc(_sfc_main$1H, [["__scopeId", "data-v-8aab68fc"]]);
7166
+ } }, Scrollbar = _export_sfc(_sfc_main$1H, [["__scopeId", "data-v-dba8fdf8"]]);
7037
7167
  function _isSlot$1(e2) {
7038
7168
  return "function" == typeof e2 || "[object Object]" === Object.prototype.toString.call(e2) && !Vue.isVNode(e2);
7039
7169
  }
@@ -7041,7 +7171,8 @@
7041
7171
  } }, no: { type: [Number, String, void 0], default: () => {
7042
7172
  } }, isChecked: { type: Boolean, default: () => false }, isCheck: { type: Boolean, default: () => false }, isSubTable: { type: Boolean, default: () => false }, isShowDetailsMore: { type: Boolean, default: () => false }, isMore: { type: Boolean, default: () => true }, setMaxHeight: { type: [Function, void 0], default: () => {
7043
7173
  } }, setHeight: { type: [Function, void 0], default: () => {
7044
- } } }, setup(e2, { attrs: t2, emit: o, slots: n }) {
7174
+ } }, isEnableEdit: { type: Boolean, default: () => false } }, setup(e2, { attrs: t2, emit: o, slots: n }) {
7175
+ Vue.defineEmits(["checked", "showSubTable", "rowDblclick", "rowClick"]);
7045
7176
  const i2 = Vue.ref(e2.isShowDetailsMore), { t: a } = vueI18n.useI18n(), l = Vue.ref(void 0), s = Vue.ref(null), r = () => {
7046
7177
  o("checked");
7047
7178
  }, u = (t3) => {
@@ -7067,7 +7198,9 @@
7067
7198
  let t3;
7068
7199
  return Vue.createVNode(elementPlus.ElCard, { key: `card_${((_a = e2.form) == null ? void 0 : _a.$rowDataGuId) || `${(_b = e2.form) == null ? void 0 : _b.id}_${e2.no}`}`, "header-padding": true, "body-padding": true, shadow: "hover", class: { "yx-card-main": true, "is-checked": e2.isChecked } }, { default: () => [Vue.createVNode("div", { class: "yx-flex-wrap", vertical: true, style: { gap: "0", height: "100%" }, onClick: p, onDblclick: m }, [Vue.createVNode(Scrollbar, { ref: s, dispatch: e2.isShowDetailsMore && i2.value, "scrollable-main": true, "max-height": i2.value ? "100%" : "50vh", "set-max-height": d, "set-height": e2.setHeight }, _isSlot$1(t3 = Vue.createVNode("div", { class: "yx-card-body" }, [u(n.children)])) ? t3 : { default: () => [t3] }), e2.isShowDetailsMore && Vue.createVNode(elementPlus.ElButton, { text: true, icon: Vue.createVNode(elementPlus.ElIcon, null, { default: () => [i2.value ? Vue.createVNode(ElementPlusIconsVue.Bottom, null, null) : Vue.createVNode(Vue.resolveComponent("Top"), null, null)] }), onClick: (e3) => {
7069
7200
  e3.stopPropagation(), i2.value = !i2.value;
7070
- } }, { default: () => [i2.value ? a("imatrixUIPublicModel.expand") : a("imatrixUIPublicModel.collapse")] })])], header: () => Vue.createVNode("div", { class: "yx-flex-wrap", justify: "space-between", align: "center", onClick: p, onDblclick: m }, [Vue.createVNode("div", { class: "yx-flex-wrap", align: "center", style: { gap: "10px", flex: "1 1 auto", maxWidth: "calc(100% - 80px)" } }, [e2.no && Vue.createVNode(elementPlus.ElTag, { type: "primary", size: "small" }, { default: () => [e2.no] }), Vue.createVNode("div", { "layout-title": true, class: "ellipsis" }, [u(n.titleSlot)])]), Vue.createVNode("div", { class: "yx-flex-wrap", align: "center", style: { gap: "10px" } }, [u(n.headerRightSlot), e2.isSubTable && Vue.createVNode(elementPlus.ElButton, { text: true, icon: Vue.createVNode(elementPlus.ElIcon, null, { default: () => [Vue.createVNode(ElementPlusIconsVue.Tickets, null, null)] }), onClick: (t4) => {
7201
+ } }, { default: () => [i2.value ? a("imatrixUIPublicModel.expand") : a("imatrixUIPublicModel.collapse")] })])], header: () => Vue.createVNode("div", { class: "yx-flex-wrap", justify: "space-between", align: "center", onClick: p, onDblclick: m }, [Vue.createVNode("div", { class: "yx-flex-wrap", align: "center", style: { gap: "10px", flex: "1 1 auto", maxWidth: "calc(100% - 80px)" } }, [e2.no && Vue.createVNode(elementPlus.ElTag, { type: "primary", size: "small" }, { default: () => [e2.no] }), Vue.createVNode("div", { "layout-title": true, class: "ellipsis" }, [u(n.titleSlot)])]), Vue.createVNode("div", { class: "yx-flex-wrap", align: "center", style: { gap: "10px" } }, [u(n.headerRightSlot), e2.isEnableEdit && Vue.createVNode(elementPlus.ElButton, { text: true, icon: Vue.createVNode(elementPlus.ElIcon, null, { default: () => [Vue.createVNode(ElementPlusIconsVue.Edit, null, null)] }), onClick: (e3) => {
7202
+ e3.stopPropagation(), o("rowDblclick", e3);
7203
+ } }, null), e2.isSubTable && Vue.createVNode(elementPlus.ElButton, { text: true, icon: Vue.createVNode(elementPlus.ElIcon, null, { default: () => [Vue.createVNode(ElementPlusIconsVue.Tickets, null, null)] }), onClick: (t4) => {
7071
7204
  t4.stopPropagation(), o("showSubTable", e2.form);
7072
7205
  } }, null), e2.isCheck && Vue.createVNode(elementPlus.ElCheckbox, { "model-value": e2.isChecked, disabled: !!e2.form.$editing, style: "height: auto;", onClick: (e3) => {
7073
7206
  e3.stopPropagation();
@@ -7077,96 +7210,96 @@
7077
7210
  function _isSlot(e2) {
7078
7211
  return "function" == typeof e2 || "[object Object]" === Object.prototype.toString.call(e2) && !Vue.isVNode(e2);
7079
7212
  }
7080
- const MobileCard = Vue.defineComponent({ name: "MobileTableCard", components: { NormalColumnContent, CardView: Card, Scrollbar }, mixins: [apisMixin], props: { showFieldCount: { type: [Number, void 0], default: () => 5 }, columns: { type: Array, default: () => [] }, data: { type: Array, default: () => [] }, getColumnComponentData: { type: [Function, void 0], default: void 0 }, currentPage: { type: [Number], default: 1 }, pageSize: { type: [Number], default: 20 }, pageTotal: { type: [Number], default: 0 }, isStackingPaginatedData: { type: Boolean, default: () => false } }, setup(e2, t2) {
7081
- Vue.defineEmits(["currentChange", "update:current-page", "select"]);
7082
- const { t: o } = vueI18n.useI18n(), { attrs: n, emit: i2, expose: a } = t2, l = Vue.ref(false), s = Vue.ref([]), r = Vue.ref([]), u = Vue.ref(void 0), c = Vue.ref(void 0), d = Vue.ref(false), p = Vue.ref([]), m = Vue.ref(void 0), h2 = (t3) => {
7213
+ const MobileCard = Vue.defineComponent({ name: "MobileTableCard", components: { NormalColumnContent, CardView: Card, Scrollbar }, mixins: [apisMixin], props: { showFieldCount: { type: [Number, void 0], default: () => 5 }, columns: { type: Array, default: () => [] }, data: { type: Array, default: () => [] }, getColumnComponentData: { type: [Function, void 0], default: void 0 }, currentPage: { type: [Number], default: 1 }, pageSize: { type: [Number], default: 20 }, pageTotal: { type: [Number], default: 0 }, isStackingPaginatedData: { type: Boolean, default: () => false }, listCode: { type: String, default: null }, isEnableEdit: { type: Boolean, default: () => false } }, setup(e2, t2) {
7214
+ Vue.defineEmits(["currentChange", "update:current-page", "select", "selectionChange", "rowDblclick", "rowClick"]);
7215
+ const { t: o } = vueI18n.useI18n(), { attrs: n, emit: i2, expose: a } = t2, l = Vue.ref(false), s = Vue.ref([]), r = Vue.ref([]), u = Vue.ref(void 0), c = Vue.ref(void 0), d = Vue.ref(false), p = Vue.ref([]), m = Vue.ref(false), h2 = Vue.ref(void 0), g = (t3) => {
7083
7216
  e2.isStackingPaginatedData ? s.value[(e2.currentPage ?? 1) - 1] = t3 : s.value[0] = t3, l.value = false;
7084
7217
  };
7085
- h2(e2.data);
7086
- const g = Vue.computed(() => {
7218
+ g(e2.data);
7219
+ const f = Vue.computed(() => {
7087
7220
  var _a, _b, _c, _d;
7088
- const e3 = store$1.get(n.listCode), t3 = ((_a = e3 == null ? void 0 : e3.options) == null ? void 0 : _a.showOperationButton) ?? false, o2 = ((_b = e3 == null ? void 0 : e3.options) == null ? void 0 : _b.isFormSubTable) ?? false, i3 = ((_c = e3 == null ? void 0 : e3.options) == null ? void 0 : _c.subTableCanAdd) ?? false, a2 = (_d = C.value) == null ? void 0 : _d.some(({ prop: e4 }) => ["operation"].includes(e4));
7089
- return m ?? (t3 && o2 && i3 && a2);
7221
+ const t3 = store$1.get(e2.listCode), o2 = ((_a = t3 == null ? void 0 : t3.options) == null ? void 0 : _a.showOperationButton) ?? false, n2 = ((_b = t3 == null ? void 0 : t3.options) == null ? void 0 : _b.isFormSubTable) ?? false, i3 = ((_c = t3 == null ? void 0 : t3.options) == null ? void 0 : _c.subTableCanAdd) ?? false, a2 = (_d = V.value) == null ? void 0 : _d.some(({ prop: e3 }) => ["operation"].includes(e3));
7222
+ return h2 ?? (o2 && n2 && i3 && a2);
7090
7223
  });
7091
- bus.$on("change-add-state", (e3) => m.value = e3);
7092
- const f = Vue.computed(() => e2.isStackingPaginatedData ? s.value.flatMap((t3, o2) => o2 + 1 <= e2.currentPage ? t3 : []) : s.value[0] ?? []), A = Vue.computed(() => {
7224
+ bus.$on("change-add-state", (e3) => h2.value = e3);
7225
+ const A = Vue.computed(() => e2.isStackingPaginatedData ? s.value.flatMap((t3, o2) => o2 + 1 <= e2.currentPage ? t3 : []) : s.value[0] ?? []), y = Vue.computed(() => {
7093
7226
  const e3 = (t3) => (t3 == null ? void 0 : t3.flatMap((t4) => {
7094
7227
  var _a;
7095
7228
  return ((_a = t4 == null ? void 0 : t4.children) == null ? void 0 : _a.length) ? [t4, ...e3(t4.children)] : [t4];
7096
7229
  })) ?? [];
7097
- return e3(f.value);
7098
- }), y = Vue.computed(() => {
7099
- var _a;
7100
- return e2.isStackingPaginatedData ? (((_a = s.value[e2.currentPage - 1]) == null ? void 0 : _a.length) ?? 0) > 0 : f.value.length < e2.pageSize * e2.currentPage && v.value >= e2.currentPage;
7230
+ return e3(A.value);
7101
7231
  }), w = Vue.computed(() => {
7102
7232
  var _a;
7103
- return ((_a = p.value[p.value.length - 1]) == null ? void 0 : _a.children) ?? [];
7233
+ return e2.isStackingPaginatedData ? (((_a = s.value[e2.currentPage - 1]) == null ? void 0 : _a.length) ?? 0) > 0 : A.value.length < e2.pageSize * e2.currentPage && b.value >= e2.currentPage;
7104
7234
  }), C = Vue.computed(() => {
7235
+ var _a;
7236
+ return ((_a = p.value[p.value.length - 1]) == null ? void 0 : _a.children) ?? [];
7237
+ }), V = Vue.computed(() => {
7105
7238
  const t3 = (e3) => (e3 == null ? void 0 : e3.flatMap((e4) => {
7106
7239
  var _a;
7107
7240
  return ((_a = e4 == null ? void 0 : e4.children) == null ? void 0 : _a.length) ? t3(e4.children) : [e4];
7108
7241
  })) ?? [];
7109
7242
  return t3(e2.columns.filter((e3) => !!e3 && !["$selection", "$index"].includes(e3 == null ? void 0 : e3.prop)));
7110
- }), V = Vue.computed(() => {
7111
- const e3 = C.value.map((e4, t4) => (e4.operations ? e4.layoutModelType = "footer" : e4.layoutModelType = "content", e4)), t3 = e3.filter(({ layoutModelType: e4 }) => ["content"].includes(e4));
7243
+ }), v = Vue.computed(() => {
7244
+ const e3 = V.value.map((e4, t4) => (e4.operations ? e4.layoutModelType = "footer" : e4.layoutModelType = "content", e4)), t3 = e3.filter(({ layoutModelType: e4 }) => ["content"].includes(e4));
7112
7245
  return { header: t3[0] ? [t3[0]] : [], content: t3, footer: e3.filter(({ layoutModelType: e4 }) => ["footer"].includes(e4)) };
7113
- }), v = Vue.computed(() => e2.pageTotal ? Math.ceil(e2.pageTotal / e2.pageSize) : 0), b = Vue.computed(() => !!(e2.showFieldCount && V.value.content.length > e2.showFieldCount)), I = Vue.computed(() => V.value.footer.length > 0), S = Vue.computed(() => 7 * V.value.content.map((e3) => (e3 == null ? void 0 : e3.label) ?? 0).reduce((e3, t3) => Math.max(e3, [...t3].reduce((e4, t4) => /[\u4e00-\u9fff]/.test(t4) ? e4 + 2 : e4 + 1, 0)), 0) + 15), k = Vue.computed(() => e2.columns.some((e3) => ["$selection"].includes(e3 == null ? void 0 : e3.prop))), x = Vue.computed(() => e2.columns.some((e3) => ["$index"].includes(e3 == null ? void 0 : e3.prop))), E = Vue.computed(() => f.value[c.value]), D = (e3) => {
7114
- k.value && (r.value.includes(e3) ? r.value = r.value.filter((t3) => t3 !== e3) : r.value = [.../* @__PURE__ */ new Set([...r.value, e3])], u.value = e3);
7115
- }, B = (t3, o2, n2, i3 = false) => {
7246
+ }), b = Vue.computed(() => e2.pageTotal ? Math.ceil(e2.pageTotal / e2.pageSize) : 0), I = Vue.computed(() => !!(e2.showFieldCount && v.value.content.length > e2.showFieldCount)), S = Vue.computed(() => v.value.footer.length > 0), k = Vue.computed(() => 7 * v.value.content.map((e3) => (e3 == null ? void 0 : e3.label) ?? 0).reduce((e3, t3) => Math.max(e3, [...t3].reduce((e4, t4) => /[\u4e00-\u9fff]/.test(t4) ? e4 + 2 : e4 + 1, 0)), 0) + 15), x = Vue.computed(() => e2.columns.some((e3) => ["$selection"].includes(e3 == null ? void 0 : e3.prop))), E = Vue.computed(() => e2.columns.some((e3) => ["$index"].includes(e3 == null ? void 0 : e3.prop))), D = Vue.computed(() => A.value[c.value]), B = (e3) => {
7247
+ x.value && (r.value.includes(e3) ? r.value = r.value.filter((t3) => t3 !== e3) : r.value = [.../* @__PURE__ */ new Set([...r.value, e3])], u.value = e3);
7248
+ }, N = (t3, o2, n2, i3 = false) => {
7116
7249
  var _a;
7117
- const { $bind: a2 = {}, $on: l2 = {} } = ((_a = e2.getColumnComponentData) == null ? void 0 : _a.call(e2, t3)) ?? {}, s2 = store$1.get(a2["list-code"]), r2 = s2 == null ? void 0 : s2.options, u2 = s2.lineEdit ?? false, c2 = { ...a2, options: r2, row: o2, rowIndex: n2, "right-click-menu-arr": r2 == null ? void 0 : r2.rightClickMenuArr, "line-edit": u2 }, d2 = { ...Object.fromEntries(Object.keys(l2).map((e3) => [`on${e3.charAt(0).toUpperCase()}${e3.slice(1).replace(/-([a-z])/g, (e4, t4) => t4.toUpperCase())}`, l2[e3]])) };
7250
+ const { $bind: a2 = {}, $on: l2 = {} } = ((_a = e2.getColumnComponentData) == null ? void 0 : _a.call(e2, t3)) ?? {}, s2 = store$1.get(a2["list-code"]), r2 = s2 == null ? void 0 : s2.options, u2 = s2.lineEdit ?? false, c2 = { ...a2, "page-grid-data": e2.data, "is-data-children": m.value, options: r2, row: o2, rowIndex: n2, "right-click-menu-arr": r2 == null ? void 0 : r2.rightClickMenuArr, "line-edit": u2 }, d2 = { ...Object.fromEntries(Object.keys(l2).map((e3) => [`on${e3.charAt(0).toUpperCase()}${e3.slice(1).replace(/-([a-z])/g, (e4, t4) => t4.toUpperCase())}`, l2[e3]])) };
7118
7251
  return Vue.createVNode(NormalColumnContent, Vue.mergeProps({ isContentViewText: i3 }, c2, d2), null);
7119
- }, N = (e3, t3 = E.value, o2 = c.value, n2 = void 0) => Vue.createVNode(elementPlus.ElDescriptions, { column: 1, "label-width": S.value, align: "right", direction: "horizontal", layout: "form" }, { default: () => {
7252
+ }, P = (e3, t3 = D.value, o2 = c.value, n2 = void 0) => Vue.createVNode(elementPlus.ElDescriptions, { column: 1, "label-width": k.value, align: "right", direction: "horizontal", layout: "form" }, { default: () => {
7120
7253
  var _a, _b;
7121
- return [(_b = n2 ? (_a = e3 == null ? void 0 : e3.slice) == null ? void 0 : _a.call(e3, 0, n2) : e3) == null ? void 0 : _b.map((e4, n3) => Vue.createVNode(elementPlus.ElDescriptionsItem, { key: e4.label + n3 }, { default: () => [B(e4, t3, o2) || "-"], label: () => Vue.createVNode("div", { innerHTML: e4.label ? `${e4.label}:` : "" }, null) }))];
7254
+ return [(_b = n2 ? (_a = e3 == null ? void 0 : e3.slice) == null ? void 0 : _a.call(e3, 0, n2) : e3) == null ? void 0 : _b.map((e4, n3) => Vue.createVNode(elementPlus.ElDescriptionsItem, { key: e4.label + n3 }, { default: () => [N(e4, t3, o2) || "-"], label: () => Vue.createVNode("div", { innerHTML: e4.label ? `${e4.label}:` : "" }, null) }))];
7122
7255
  } });
7123
7256
  Vue.watch(() => n.selection, (e3) => {
7124
7257
  r.value = e3.map(({ $rowDataGuId: e4 }) => e4);
7125
7258
  }, { deep: true }), Vue.watch(r, (e3, t3) => {
7126
7259
  if (n.selection.length === e3.length && n.selection.every(({ $rowDataGuId: t4 }) => e3.includes(t4)))
7127
7260
  return;
7128
- const o2 = A.value.filter(({ $rowDataGuId: t4 }) => e3 == null ? void 0 : e3.includes(t4)), a2 = u.value ? A.value.find(({ $rowDataGuId: e4 }) => u.value === e4) : void 0;
7261
+ const o2 = y.value.filter(({ $rowDataGuId: t4 }) => e3 == null ? void 0 : e3.includes(t4)), a2 = u.value ? y.value.find(({ $rowDataGuId: e4 }) => u.value === e4) : void 0;
7129
7262
  e3.length > (t3 == null ? void 0 : t3.length) && a2 && i2("select", o2, a2), e3.length < (t3 == null ? void 0 : t3.length) && a2 && i2("select", o2, a2), i2("selectionChange", o2), u.value = void 0;
7130
7263
  }, { deep: true }), Vue.watch(() => e2.data, (e3) => {
7131
- h2(e3);
7264
+ m.value = e3.some((e4) => Array.isArray(e4 == null ? void 0 : e4.children)), g(e3);
7132
7265
  }, { deep: true });
7133
- const P = () => {
7134
- if (v.value, e2.currentPage, v.value > 1 && v.value > e2.currentPage && (f.value.length, e2.pageSize, e2.currentPage, f.value.length === e2.pageSize * e2.currentPage)) {
7266
+ const T = () => {
7267
+ if (b.value, e2.currentPage, b.value > 1 && b.value > e2.currentPage && (A.value.length, e2.pageSize, e2.currentPage, A.value.length === e2.pageSize * e2.currentPage)) {
7135
7268
  l.value = true;
7136
7269
  const t3 = e2.currentPage + 1;
7137
- v.value, i2("update:current-page", t3), i2("currentChange", t3);
7270
+ b.value, i2("update:current-page", t3), i2("currentChange", t3);
7138
7271
  }
7139
7272
  };
7140
7273
  Vue.onUnmounted(() => {
7141
7274
  bus.$off("change-add-state");
7142
7275
  });
7143
- return { getAddBtn: (e3) => {
7144
- let t3;
7145
- return g.value && Vue.createVNode(elementPlus.ElButton, { type: "primary", plain: true, icon: Vue.createVNode(ElementPlusIconsVue.CirclePlus, null, null), onClick: () => e3 == null ? void 0 : e3(n.listCode) }, _isSlot(t3 = o("imatrixUIPublicModel.add")) ? t3 : { default: () => [t3] });
7146
- }, renderDom: (t3) => Vue.createVNode(Scrollbar, { onScrollToBottom: P, "flex-auto": true, "set-max-height": (e3) => {
7276
+ return { getAddBtn: (t3) => {
7277
+ let n2;
7278
+ return f.value && Vue.createVNode(elementPlus.ElButton, { type: "primary", plain: true, icon: Vue.createVNode(ElementPlusIconsVue.CirclePlus, null, null), onClick: () => t3 == null ? void 0 : t3(e2.listCode) }, _isSlot(n2 = o("imatrixUIPublicModel.add")) ? n2 : { default: () => [n2] });
7279
+ }, renderDom: (t3) => Vue.createVNode(Scrollbar, { onScrollToBottom: T, "flex-auto": true, "set-max-height": (e3) => {
7147
7280
  if (e3 == null ? void 0 : e3.windowHeight) {
7148
7281
  const t4 = (e3 == null ? void 0 : e3.windowHeight) - 70;
7149
7282
  return t4 > 400 ? t4 : 400;
7150
7283
  }
7151
- } }, { default: () => [Vue.createVNode(elementPlus.ElDrawer, { modelValue: d.value, "onUpdate:modelValue": (e3) => d.value = e3, "modal-class": "yx-drawer yx-scrollbar-body", "with-header": true, direction: "btt", "append-to-body": true, size: "90vh", onClosed: () => p.value = [] }, { default: () => [Vue.createVNode(Scrollbar, { "scrollable-main": true, "max-height": "100%", style: { flex: "1 1 auto" } }, { default: () => [Vue.createVNode("div", { class: "yx-flex-wrap", vertical: true, style: { gap: "15px" } }, [w.value.map((t4, o2) => {
7284
+ } }, { default: () => [Vue.createVNode(elementPlus.ElDrawer, { modelValue: d.value, "onUpdate:modelValue": (e3) => d.value = e3, "modal-class": "yx-drawer yx-scrollbar-body", "with-header": true, direction: "btt", "append-to-body": true, size: "90vh", onClosed: () => p.value = [] }, { default: () => [Vue.createVNode(Scrollbar, { "scrollable-main": true, "max-height": "100%", style: { flex: "1 1 auto" } }, { default: () => [Vue.createVNode("div", { class: "yx-flex-wrap", vertical: true, style: { gap: "15px" } }, [C.value.map((t4, o2) => {
7152
7285
  var _a, _b, _c, _d;
7153
- const n2 = r.value.includes(t4.$rowDataGuId), a2 = !!((((_a = t4 == null ? void 0 : t4.children) == null ? void 0 : _a.length) ?? 0) > 0), l2 = ((_b = V.value.content) == null ? void 0 : _b.find(({ property: e3 }) => e3)) ?? V.value.content[0];
7154
- return Vue.createVNode(Card, { form: t4, no: x ? o2 + 1 : void 0, isChecked: n2, isSubTable: a2, isCheck: k.value, isMore: !t4.$editing, isShowDetailsMore: b.value, onChecked: () => !t4.$editing && D(t4.$rowDataGuId), onShowSubTable: () => {
7286
+ const n2 = r.value.includes(t4.$rowDataGuId), a2 = !!((((_a = t4 == null ? void 0 : t4.children) == null ? void 0 : _a.length) ?? 0) > 0), l2 = ((_b = v.value.content) == null ? void 0 : _b.find(({ property: e3 }) => e3)) ?? v.value.content[0], s2 = e2.isEnableEdit;
7287
+ return Vue.createVNode(Card, { form: t4, no: E ? o2 + 1 : void 0, isChecked: n2, isSubTable: a2, isCheck: x.value, isMore: !t4.$editing, isShowDetailsMore: I.value, isEnableEdit: s2, onChecked: () => !t4.$editing && B(t4.$rowDataGuId), onShowSubTable: () => {
7155
7288
  p.value = [...p.value, t4];
7156
- }, onRowClick: (e3) => i2("rowClick", t4, l2, e3), onRowDblclick: (e3) => i2("rowDblclick", t4, l2, e3) }, { titleSlot: V.value.header && ((_c = V.value.header) == null ? void 0 : _c.map((e3) => B(e3, t4, o2, true))), children: ({ isMore: n3 }) => N(V.value.content, t4, o2, n3 ? e2.showFieldCount : void 0), footerSlot: I.value && Vue.createVNode("div", { class: "yx-flex-wrap", wrap: true, style: { gap: "15px" } }, [(_d = V.value.footer) == null ? void 0 : _d.map((e3) => B(e3, t4, o2))]) });
7289
+ }, onRowClick: (e3) => i2("rowClick", t4, l2, e3), onRowDblclick: (e3) => i2("rowDblclick", t4, l2, e3) }, { titleSlot: v.value.header && ((_c = v.value.header) == null ? void 0 : _c.map((e3) => N(e3, t4, o2, true))), children: ({ isMore: n3 }) => P(v.value.content, t4, o2, n3 ? e2.showFieldCount : void 0), footerSlot: S.value && Vue.createVNode("div", { class: "yx-flex-wrap", wrap: true, style: { gap: "15px" } }, [(_d = v.value.footer) == null ? void 0 : _d.map((e3) => N(e3, t4, o2))]) });
7157
7290
  })])] })], header: () => {
7158
7291
  let e3;
7159
- return Vue.createVNode("div", { class: "yx-flex-wrap", style: { gap: "10px" } }, [V.value.header[0] && `${V.value.header[0].label}: `, Vue.createVNode(elementPlus.ElBreadcrumb, { "separator-icon": Vue.createVNode(Vue.resolveComponent("ArrowRight"), null, null) }, _isSlot(e3 = p.value.map((e4, t4) => {
7160
- const o2 = B(V.value.header[0], e4, void 0, true);
7292
+ return Vue.createVNode("div", { class: "yx-flex-wrap", style: { gap: "10px" } }, [v.value.header[0] && `${v.value.header[0].label}: `, Vue.createVNode(elementPlus.ElBreadcrumb, { "separator-icon": Vue.createVNode(Vue.resolveComponent("ArrowRight"), null, null) }, _isSlot(e3 = p.value.map((e4, t4) => {
7293
+ const o2 = N(v.value.header[0], e4, void 0, true);
7161
7294
  return Vue.createVNode(Vue.resolveComponent("ElBreadcrumbItem"), null, { default: () => [p.value.length - 1 === t4 ? o2 : Vue.createVNode(elementPlus.ElLink, { onClick: () => p.value = p.value.slice(0, t4 + 1) }, _isSlot(o2) ? o2 : { default: () => [o2] })] });
7162
7295
  })) ? e3 : { default: () => [e3] })]);
7163
- } }), Vue.createVNode("div", { class: "yx-flex-wrap", vertical: true, style: "gap: 15px;" }, [0 === f.value.length && Vue.createVNode(elementPlus.ElEmpty, null, _isSlot(t3) ? t3 : { default: () => [t3] }), f.value.map((t4, o2) => {
7296
+ } }), Vue.createVNode("div", { class: "yx-flex-wrap", vertical: true, style: "gap: 15px;" }, [0 === A.value.length && Vue.createVNode(elementPlus.ElEmpty, { description: o("imatrixUIPublicModel.noData") }, _isSlot(t3) ? t3 : { default: () => [t3] }), A.value.map((t4, o2) => {
7164
7297
  var _a, _b, _c, _d;
7165
- const n2 = r.value.includes(t4.$rowDataGuId), a2 = !!((_a = t4 == null ? void 0 : t4.children) == null ? void 0 : _a.length), l2 = ((_b = V.value.content) == null ? void 0 : _b.find(({ property: e3 }) => e3)) ?? V.value.content[0];
7166
- return Vue.createVNode(Card, { form: t4, no: x ? o2 + 1 : void 0, isChecked: n2, isSubTable: a2, isCheck: k.value, isMore: !t4.$editing, isShowDetailsMore: b.value, onChecked: () => !t4.$editing && D(t4.$rowDataGuId), onShowSubTable: () => {
7298
+ const n2 = r.value.includes(t4.$rowDataGuId), a2 = !!((_a = t4 == null ? void 0 : t4.children) == null ? void 0 : _a.length), l2 = ((_b = v.value.content) == null ? void 0 : _b.find(({ property: e3 }) => e3)) ?? v.value.content[0], s2 = e2.isEnableEdit;
7299
+ return Vue.createVNode(Card, { form: t4, no: E ? o2 + 1 : void 0, isChecked: n2, isSubTable: a2, isCheck: x.value, isMore: !t4.$editing, isShowDetailsMore: I.value, isEnableEdit: s2, onChecked: () => !t4.$editing && B(t4.$rowDataGuId), onShowSubTable: () => {
7167
7300
  p.value = [t4], d.value = true;
7168
- }, onRowClick: (e3) => i2("rowClick", t4, l2, e3), onRowDblclick: (e3) => i2("rowDblclick", t4, l2, e3) }, { titleSlot: V.value.header && ((_c = V.value.header) == null ? void 0 : _c.map((e3) => B(e3, t4, o2, true))), children: ({ isMore: n3 }) => N(V.value.content, t4, o2, n3 ? e2.showFieldCount : void 0), footerSlot: I.value && Vue.createVNode("div", { class: "yx-flex-wrap", wrap: true, style: { gap: "15px" } }, [(_d = V.value.footer) == null ? void 0 : _d.map((e3) => B(e3, t4, o2))]) });
7169
- }), f.value.length > 0 && t3, f.value.length > 0 && v.value > 1 && Vue.createVNode(elementPlus.ElDivider, null, { default: () => [v.value > e2.currentPage || l.value ? Vue.createVNode(elementPlus.ElIcon, { "loading-rotate": true, size: 25, color: "#409eff", style: { margin: "15px auto" } }, { default: () => [Vue.createVNode(ElementPlusIconsVue.Loading, null, null)] }) : v.value <= e2.currentPage && y.value && "END"] })])] }) };
7301
+ }, onRowClick: (e3) => i2("rowClick", t4, l2, e3), onRowDblclick: (e3) => i2("rowDblclick", t4, l2, e3) }, { titleSlot: v.value.header && ((_c = v.value.header) == null ? void 0 : _c.map((e3) => N(e3, t4, o2, true))), children: ({ isMore: n3 }) => P(v.value.content, t4, o2, n3 ? e2.showFieldCount : void 0), footerSlot: S.value && Vue.createVNode("div", { class: "yx-flex-wrap", wrap: true, style: { gap: "15px" } }, [(_d = v.value.footer) == null ? void 0 : _d.map((e3) => N(e3, t4, o2))]) });
7302
+ }), A.value.length > 0 && t3, A.value.length > 0 && b.value > 1 && Vue.createVNode(elementPlus.ElDivider, null, { default: () => [b.value > e2.currentPage || l.value ? Vue.createVNode(elementPlus.ElIcon, { "loading-rotate": true, size: 25, color: "#409eff", style: { margin: "15px auto" } }, { default: () => [Vue.createVNode(ElementPlusIconsVue.Loading, null, null)] }) : b.value <= e2.currentPage && w.value && o("imatrixUIPublicModel.noMoreData")] })])] }) };
7170
7303
  }, render() {
7171
7304
  return this.renderDom(this.getAddBtn(this.createRow));
7172
7305
  } }), events$1 = { select: function(e2, t2) {
@@ -7608,7 +7741,7 @@
7608
7741
  function _sfc_render$Z(e2, t2, o, n, i2, a) {
7609
7742
  return Vue.openBlock(), Vue.createElementBlock("ul", _hoisted_1$1i, [(Vue.openBlock(true), Vue.createElementBlock(Vue.Fragment, null, Vue.renderList(o.buttomArr, (e3) => (Vue.openBlock(), Vue.createElementBlock("li", { key: e3.name }, [Vue.createElementVNode("i", { class: Vue.normalizeClass(e3.icon) }, null, 2), Vue.createElementVNode("span", { onClick: (t3) => a.buttonClick(e3.event, e3) }, Vue.toDisplayString(e3.label), 9, _hoisted_2$T)]))), 128))]);
7610
7743
  }
7611
- const headerContextMenu = _export_sfc(_sfc_main$1G, [["render", _sfc_render$Z], ["__scopeId", "data-v-040fcf55"]]), superGrid_vue_vue_type_style_index_0_scoped_2eb1c8ec_rel_stylesheet_2Fscss_lang = "", _sfc_main$1F = { components: { IndexColumn, SelectionColumn, NormalColumn, GroupColumn, ColumnsConfig, SearchForm: SearchForm$1, headerContextMenu, searchFormDialog, ElIconSetting: ElementPlusIconsVue.Setting, ElIconRefresh: ElementPlusIconsVue.Refresh, RowDetail, MobileCard }, name: "SuperGrid", props: { isShowAutoCard: { type: Boolean, default: true }, code: { type: String, default: "" }, url: { type: String, default: "" }, options: { type: Object, default: function() {
7744
+ const headerContextMenu = _export_sfc(_sfc_main$1G, [["render", _sfc_render$Z], ["__scopeId", "data-v-040fcf55"]]), superGrid_vue_vue_type_style_index_0_scoped_664b8a45_rel_stylesheet_2Fscss_lang = "", _sfc_main$1F = { components: { IndexColumn, SelectionColumn, NormalColumn, GroupColumn, ColumnsConfig, SearchForm: SearchForm$1, headerContextMenu, searchFormDialog, ElIconSetting: ElementPlusIconsVue.Setting, ElIconRefresh: ElementPlusIconsVue.Refresh, RowDetail, MobileCard }, name: "SuperGrid", props: { isShowAutoCard: { type: Boolean, default: true }, code: { type: String, default: "" }, url: { type: String, default: "" }, options: { type: Object, default: function() {
7612
7745
  return {};
7613
7746
  } }, publishVersion: { type: Number, default: 0 }, customFormatter: { type: Object, default: null }, searchFormInfo: { type: Object, default: () => ({}) }, showPagination: { type: Boolean, default: true }, listToolbarFormData: { type: Object, default: null }, settings: { type: Object, default: null }, additionalParamMap: { type: Object, default: null }, manualHeightOffset: { type: [void 0, Number], default: void 0 }, isDialog: { type: Boolean, default: false } }, data() {
7614
7747
  let e2;
@@ -7626,7 +7759,7 @@
7626
7759
  void 0 === m && (m = false), this.options && this.options.tableStyle && (u = this.options.tableStyle), u || (u = {}), u.width = "100%", this.options && this.options.tableClass && (c = this.options.tableClass), c || (c = ""), c += " elTable", this.options && this.options.configureObj && (d = this.options.configureObj), this.options && this.options.pageContext && (p = this.options.pageContext);
7627
7760
  const h2 = isMobileBrowser();
7628
7761
  let g = false;
7629
- return this.options.checkStrictly && (g = true), { isLoading: false, currentPage: 1, showColumnConfig: false, basicInfo: { summary: "no" }, columns: [], loadCompleteQuery: false, pagination: null, query: null, lineEdit: null, gridData: [], summaries: null, sortInfo: null, pageSize: null, showSearch: false, myCustomFormatter: null, height: null, timer: null, timer2: null, isSql: false, parentProp: e2, checkStrictly: g, hasLoadData: false, mergeFields: a, newWidth: null, dragColumnProp: null, hasLoadedColumns: false, backgroundColorMap: {}, showHeaderContextmenu: false, rightClickColumn: null, externalClickFlag: false, dataTableCode: null, dynamicColumnInfo: null, mainDefaultValueColumns: null, dynamicServiceName: null, searchFormContent: null, initSearchProps: [], refreshGrid: true, optionTableHeight: o, isFormSubTable: false, isShowPageDialog: false, jumpPageSetting: null, pageCode: n, maxHeight: void 0, tableHeight: void 0, pageHeight: i2, currentSelectCell: null, isLazy: l, defaultExpandAll: s, parentFormData: null, stripe: true, dataSourceType: r, pageDevMode: m, toolbarFieldParam: [], tableName: null, listName: null, subTableData: [], isShowPage: false, isSubTableShowPage: false, isDelete: false, tableStyle: u, tableClass: c, pageContext: p, configureObj: d, isMobile: h2, isShowMobileSearch: false, subTableStyle: {}, detailColumn: null, currentEditRowIndex: null, showRowForm: false, baseURL: null, hasFilterDataEvent: false, selectionTableData: [], isScrollbarOnTop: false };
7762
+ return this.options.checkStrictly && (g = true), { isLoading: false, currentPage: 1, showColumnConfig: false, basicInfo: { summary: "no" }, columns: [], loadCompleteQuery: false, pagination: null, query: null, lineEdit: null, gridData: [], summaries: null, sortInfo: null, pageSize: null, showSearch: false, myCustomFormatter: null, height: null, timer: null, timer2: null, isSql: false, parentProp: e2, checkStrictly: g, hasLoadData: false, mergeFields: a, newWidth: null, dragColumnProp: null, hasLoadedColumns: false, backgroundColorMap: {}, showHeaderContextmenu: false, rightClickColumn: null, externalClickFlag: false, dataTableCode: null, dynamicColumnInfo: null, mainDefaultValueColumns: null, dynamicServiceName: null, searchFormContent: null, initSearchProps: [], refreshGrid: true, optionTableHeight: o, isFormSubTable: false, isShowPageDialog: false, jumpPageSetting: null, pageCode: n, maxHeight: void 0, tableHeight: void 0, pageHeight: i2, currentSelectCell: null, isLazy: l, defaultExpandAll: s, parentFormData: null, stripe: true, dataSourceType: r, pageDevMode: m, toolbarFieldParam: [], tableName: null, listName: null, subTableData: [], isShowPage: false, isSubTableShowPage: false, isDelete: false, tableStyle: u, tableClass: c, pageContext: p, configureObj: d, isMobile: h2, isShowMobileSearch: false, subTableStyle: {}, detailColumn: null, currentEditRowIndex: null, showRowForm: false, baseURL: null, hasFilterDataEvent: false, selectionTableData: [], isScrollbarOnTop: false, showSubTableSearchDialog: false, subTableDataSearch: [], isSubSearch: false, isHasSearchColumn: false, orderField: null, orderType: "ascending", orderColumns: [], orderColumn: null, columnsMap: null };
7630
7763
  }, computed: { heightOffset() {
7631
7764
  var _a, _b, _c, _d, _e;
7632
7765
  return Number(this.manualHeightOffset ?? ((_e = (_d = (_c = (_b = (_a = this.options) == null ? void 0 : _a.configureObj) == null ? void 0 : _b.props) == null ? void 0 : _c.size) == null ? void 0 : _d.pc) == null ? void 0 : _e.heightOffset) ?? 0);
@@ -7638,33 +7771,43 @@
7638
7771
  return this.tableHeight <= 100 ? 100 : this.tableHeight + (0 !== this.heightOffset ? this.heightOffset : 30);
7639
7772
  }, isMobileListCard: () => store$3.getters.isMobileListCard, isShowCard() {
7640
7773
  var _a, _b, _c, _d;
7641
- return this.isShowAutoCard && this.isMobileListCard && !this.options.isAdministerListView && (((_d = (_c = (_b = (_a = this.options) == null ? void 0 : _a.configureObj) == null ? void 0 : _b.props) == null ? void 0 : _c.base) == null ? void 0 : _d.isMobileCard) ?? true);
7774
+ return this.isMobile || this.isShowAutoCard && this.isMobileListCard && !this.options.isAdministerListView && (((_d = (_c = (_b = (_a = this.options) == null ? void 0 : _a.configureObj) == null ? void 0 : _b.props) == null ? void 0 : _c.base) == null ? void 0 : _d.isMobileCard) ?? true);
7642
7775
  }, visibleColumns() {
7643
7776
  const e2 = store$1.get(this.code), t2 = this.getOptionOperations();
7644
7777
  e2.canntEdit = false;
7645
7778
  const o = (e3) => e3.map((e4) => ({ property: e4.prop, ...e4 }));
7646
- return t2 && t2.operation && t2.operation.length > 0 && t2.operation.forEach((t3) => {
7779
+ if (t2 && t2.operation && t2.operation.length > 0 && t2.operation.forEach((t3) => {
7647
7780
  "lineEditUpdate" === t3.props.code && checkPermission(t3.props.functionCode, this.basicInfo.systemCode) && (e2.canntEdit = true);
7648
- }), void 0 !== this.options.isAdministerListView && null != this.options.isAdministerListView && true === this.options.isAdministerListView ? o(this.columns) : o(this.columns.filter((o2) => {
7649
- if (void 0 !== this.options.multiple && false === this.options.multiple && "$selection" === o2.prop)
7650
- return false;
7651
- if (void 0 !== this.options.showIndex && false === this.options.showIndex && "$index" === o2.prop)
7652
- return false;
7653
- let n;
7654
- if (this.storeHasDefaultValueColumns(o2, e2), void 0 === o2.show || o2.show) {
7655
- n = true;
7656
- const i2 = this.options.hiddenColumns;
7657
- if (o2.children && o2.children.length > 0 && this.packageHiddenColumnsWithChildren(o2, i2), i2 && i2.length > 0 && o2.prop && -1 !== i2.indexOf(o2.prop))
7658
- return n = false, n;
7659
- this.initColumnOperation(o2, t2), e2.$dataTypeMap || (e2.$dataTypeMap = {}), e2.$dataTypeMap[o2.prop] = o2.dataType;
7660
- } else
7661
- n = false;
7662
- return n;
7663
- }));
7781
+ }), void 0 !== this.options.isAdministerListView && null != this.options.isAdministerListView && true === this.options.isAdministerListView)
7782
+ return o(this.columns);
7783
+ {
7784
+ const n = this.options.updateColumnsInfo;
7785
+ let i2;
7786
+ n && (i2 = {}, n.forEach((e3) => {
7787
+ e3.prop && (i2[e3.prop] = e3);
7788
+ }));
7789
+ let a = {}, l = [];
7790
+ return o(this.columns.filter((o2) => {
7791
+ if (!this.isHasSearchColumn && o2.queryType && "normal" === o2.queryType && (this.isHasSearchColumn = true), void 0 !== this.options.multiple && false === this.options.multiple && "$selection" === o2.prop)
7792
+ return false;
7793
+ if (void 0 !== this.options.showIndex && false === this.options.showIndex && "$index" === o2.prop)
7794
+ return false;
7795
+ let n2;
7796
+ if (this.storeHasDefaultValueColumns(o2, e2), void 0 === o2.show || o2.show) {
7797
+ n2 = true;
7798
+ const s = this.options.hiddenColumns;
7799
+ if (s && s.length > 0 && o2.prop && -1 !== s.indexOf(o2.prop) && (n2 = false), n2 = this.packageUpdateColunmInfo(o2, i2), o2.children && o2.children.length > 0 ? this.packageHiddenColumnsWithChildren(o2, s, l, i2, a) : this.isMobileOrderColumn(o2) && l.push(o2), o2.prop && (a[o2.prop] = o2), this.orderColumns = l, this.columnsMap = a, !n2)
7800
+ return n2;
7801
+ this.initColumnOperation(o2, t2), e2.$dataTypeMap || (e2.$dataTypeMap = {}), e2.$dataTypeMap[o2.prop] = o2.dataType;
7802
+ } else
7803
+ n2 = false;
7804
+ return n2;
7805
+ }));
7806
+ }
7664
7807
  }, visibleColumnsComponentData() {
7665
7808
  return this.visibleColumns.map((e2) => this.getColumnComponentData(e2, this.myCustomFormatter));
7666
7809
  }, mobileColumns: () => "Layout", tableDatas() {
7667
- const e2 = store$1.get(this.code), t2 = this.hasFilterDataEvent ? this.filterGridData : this.gridData;
7810
+ const e2 = store$1.get(this.code), t2 = this.hasFilterDataEvent ? this.filterGridData : this.isFormSubTable && !this.isShowPageArea ? this.isSubSearch ? this.subTableDataSearch : this.subTableData : this.gridData;
7668
7811
  return e2 && e2.options && e2 && e2.options.allEditable && t2.forEach((e3) => {
7669
7812
  e3.$editing = true;
7670
7813
  }), t2;
@@ -7685,24 +7828,20 @@
7685
7828
  var _a;
7686
7829
  this.resizeTableHeight(), (_a = this.$refs.superGrid) == null ? void 0 : _a.doLayout();
7687
7830
  });
7688
- } }, tableDatas: { deep: true, immediate: true, handler(e2, t2) {
7689
7831
  } }, "options.SuperGrid": { deep: true, handler: function() {
7690
7832
  this.externalClickFlag = true, this.initSetting(), this.initialize();
7691
- } }, gridData: { deep: true, handler: function(e2) {
7692
- this.isSubTableShowPage || $emit(this, "change-grid-data", this.gridData);
7693
7833
  } }, subTableData: { deep: true, immediate: true, handler: function() {
7694
- if (this.isSubTableShowPage) {
7695
- const e2 = store$1.get(this.code);
7696
- if ($emit(this, "change-grid-data", this.subTableData), void 0 !== e2.isChangePage && e2.isChangePage || void 0 !== e2.isDelete && e2.isDelete) {
7834
+ const e2 = store$1.get(this.code);
7835
+ if (e2)
7836
+ if ($emit(this, "change-grid-data", this.subTableData), void 0 !== e2.isAddRow && e2.isAddRow || void 0 !== e2.isChangePage && e2.isChangePage || void 0 !== e2.isDelete && e2.isDelete) {
7697
7837
  if (void 0 !== e2.isChangePage && e2.isChangePage) {
7698
7838
  const t2 = getRowIndexPage(this.pageSize, e2.addRowIndex);
7699
7839
  this.currentPage = t2, this.changePage();
7700
7840
  } else
7701
- this.gridData = this.getSubTableGridData(this.subTableData), e2.gridData = this.gridData, e2.orgGridData = [].concat(JSON.parse(JSON.stringify(this.gridData)));
7702
- e2.lineEdit.editingCell && (e2.lineEdit.editingCell.row = this.gridData.length), e2.isChangePage = false, e2.isDelete = false;
7841
+ this.isSubSearch ? this.gridData = this.getSubTableGridData(this.subTableDataSearch) : this.gridData = this.getSubTableGridData(this.subTableData), e2.gridData = this.gridData, e2.orgGridData = [].concat(JSON.parse(JSON.stringify(this.gridData)));
7842
+ e2.lineEdit.editingCell && (e2.lineEdit.editingCell.row = this.gridData.length), e2.isChangePage = false, e2.isDelete = false, e2.isAddRow = false;
7703
7843
  } else
7704
- this.gridData = this.getSubTableGridData(this.subTableData), e2.gridData = this.gridData, e2.orgGridData = [].concat(JSON.parse(JSON.stringify(this.gridData))), e2.isChangePage = false, e2.isDelete = false;
7705
- }
7844
+ this.isSubSearch ? this.gridData = this.getSubTableGridData(this.subTableDataSearch) : this.gridData = this.getSubTableGridData(this.subTableData), e2.gridData = this.gridData, e2.orgGridData = [].concat(JSON.parse(JSON.stringify(this.gridData))), e2.isChangePage = false, e2.isDelete = false, e2.isAddRow = false;
7706
7845
  } }, currentSelectCell: { deep: true, handler: function(e2, t2) {
7707
7846
  this.$nextTick(() => {
7708
7847
  t2 && (t2.style.border = "");
@@ -7716,8 +7855,6 @@
7716
7855
  e2 && e2.options && (e2.options.subTableCanAdd = this.options.subTableCanAdd, store$1.set(this.code, e2));
7717
7856
  } }, pageSize: { deep: true, handler(e2, t2) {
7718
7857
  $emit(this, "change-rows-per-page", this.pageSize);
7719
- } }, "options.extraParam.entityMap": { deep: true, handler(e2, t2) {
7720
- this.parentFormData = e2, this.$emit("change-form-data", this.parentFormData);
7721
7858
  } } }, provide: () => ({}), created() {
7722
7859
  var _a;
7723
7860
  (_a = store$3 == null ? void 0 : store$3.dispatch) == null ? void 0 : _a.call(store$3, "startListeningToResize"), store$1.set(this.code, getGridParams$3()), store$1.set("_list_code", this.code), this.initSetting(), this.judgeIsFormSubTable();
@@ -7734,7 +7871,7 @@
7734
7871
  }, { immediate: true, deep: true }), window.addEventListener("resize", this.resizeTableHeight), this.isFormSubTable && this.initScrollbarPositionCheck(), this.$watch("hasLoadData", function(e4, t3) {
7735
7872
  true === e4 && this.$nextTick(() => {
7736
7873
  const e5 = store$1.get(this.code);
7737
- isHasOptionFunction$1("gridComplete", this.code) && e5.options.gridComplete.call(this, { gridData: this.isSubTableShowPage ? this.subTableData : this.gridData, columns: e5.columns, superGrid: this.$refs.superGrid, pageGridData: this.isSubTableShowPage ? this.gridData : null, listCode: this.code, additionalParamMap: e5.additionalParamMap, pageContext: this.pageContext, configureObj: this.configureObj }), this.$emit("gridComplete", { gridData: this.isSubTableShowPage ? this.subTableData : this.gridData, columns: e5.columns, superGrid: this.$refs.superGrid, isMobile: false, listCode: this.code, pageGridData: this.isSubTableShowPage ? this.gridData : null, additionalParamMap: e5.additionalParamMap });
7874
+ isHasOptionFunction$1("gridComplete", this.code) && e5.options.gridComplete.call(this, { gridData: this.isFormSubTable ? this.subTableData : this.gridData, columns: e5.columns, superGrid: this.$refs.superGrid, pageGridData: this.isSubTableShowPage ? this.gridData : null, listCode: this.code, additionalParamMap: e5.additionalParamMap, pageContext: this.pageContext, configureObj: this.configureObj }), this.$emit("gridComplete", { gridData: this.isFormSubTable ? this.subTableData : this.gridData, columns: e5.columns, superGrid: this.$refs.superGrid, isMobile: false, listCode: this.code, pageGridData: this.isSubTableShowPage ? this.gridData : null, additionalParamMap: e5.additionalParamMap });
7738
7875
  });
7739
7876
  }, { immediate: true, deep: true });
7740
7877
  const e3 = this, t2 = null !== document.querySelector(".user-tree");
@@ -7751,10 +7888,19 @@
7751
7888
  });
7752
7889
  }, beforeDestroy() {
7753
7890
  window.removeEventListener("resize", this.resizeTableHeight), this.isFormSubTable && (window.removeEventListener("scroll", this.checkScrollbarPosition, true), window.removeEventListener("resize", this.checkScrollbarPosition));
7754
- }, methods: { ...events$1, ...publicMethods, ...superGridService$1, ...searchMethods$1, ...apis$2, packageHiddenColumnsWithChildren(e2, t2) {
7891
+ }, methods: { ...events$1, ...publicMethods, ...superGridService$1, ...searchMethods$1, ...apis$2, isMobileOrderColumn(e2) {
7892
+ return this.isMobile && e2.prop && "$selection" !== e2.prop && "$index" !== e2.prop && ("true" === e2.sortable || true === e2.sortable);
7893
+ }, getColumnLabel: (e2) => getHeaderLable(e2), packageHiddenColumnsWithChildren(e2, t2, o, n, i2) {
7755
7894
  e2.children && e2.children.length > 0 && e2.children.forEach((e3) => {
7756
- (void 0 === e3.show || e3.show) && (e3.children && e3.children.length > 0 && this.packageHiddenColumnsWithChildren(e3, t2), t2 && t2.length > 0 && e3.prop && -1 !== t2.indexOf(e3.prop) ? e3.dyn_show = false : e3.dyn_show = true);
7895
+ !this.isHasSearchColumn && e3.queryType && "normal" === e3.queryType && (this.isHasSearchColumn = true), (void 0 === e3.show || e3.show) && (e3.children && e3.children.length > 0 && this.packageHiddenColumnsWithChildren(e3, t2, o, n, i2), t2 && t2.length > 0 && e3.prop && -1 !== t2.indexOf(e3.prop) ? e3.dyn_show = false : e3.dyn_show = true, this.packageUpdateColunmInfo(e3, n), e3.dyn_show && (this.isMobileOrderColumn(e3) && o.push(e3), e3.prop && (i2[e3.prop] = e3)));
7757
7896
  });
7897
+ }, packageUpdateColunmInfo(e2, t2) {
7898
+ if (t2 && e2.prop && t2[e2.prop]) {
7899
+ const o = t2[e2.prop];
7900
+ void 0 !== o.show && false === o.show ? e2.dyn_show = false : void 0 !== o.show && o.show && (e2.dyn_show = true), o.label ? void 0 !== o.label && o.label && (e2.orgLabel || (e2.orgLabel = e2.label), e2.label = o.label) : e2.orgLabel && (e2.label = e2.orgLabel);
7901
+ } else
7902
+ t2 && e2.prop && !t2[e2.prop] && (e2.dyn_show = e2.show, e2.orgLabel && (e2.label = e2.orgLabel));
7903
+ return !(void 0 !== e2.dyn_show && !e2.dyn_show) || e2.dyn_show;
7758
7904
  }, onResize(e2) {
7759
7905
  this.resizeTableHeight(), this.isFormSubTable && this.checkScrollbarPosition();
7760
7906
  }, initScrollbarPositionCheck() {
@@ -8008,7 +8154,7 @@
8008
8154
  i2.gridData = this.gridData;
8009
8155
  }
8010
8156
  } else if (i2.options && i2.options.isFormSubTable && i2.options.subTableData && i2.options.subTableData.length > 0)
8011
- this.packageSubTableData(i2, i2.options.subTableData);
8157
+ this.packageSubTableData(i2, i2.options.subTableData, e2 == null ? void 0 : e2.sorts);
8012
8158
  else {
8013
8159
  if (this.canRefreshTableData(i2))
8014
8160
  return this.fetchListData(e2, t2, o, n);
@@ -8018,35 +8164,50 @@
8018
8164
  }
8019
8165
  this.hasLoadData = true, i2.loaded = true;
8020
8166
  }
8021
- }, isSubTableEmpty: (e2) => e2.options && e2.options.isFormSubTable && (void 0 === e2.options.subTableData || null === e2.options.subTableData || 0 === e2.options.subTableData.length), packageSubTableData(e2, t2) {
8167
+ }, isSubTableEmpty: (e2) => e2.options && e2.options.isFormSubTable && (void 0 === e2.options.subTableData || null === e2.options.subTableData || 0 === e2.options.subTableData.length), packageSubTableData(e2, t2, o, n, i2) {
8022
8168
  this.hasLoadData = false, e2.loaded = true;
8023
- let o = [];
8169
+ let a = [];
8024
8170
  if (isHasOptionFunction$1("gridDataLoaded", this.code)) {
8025
- const n = e2.options.gridDataLoaded.call(this, { gridData: t2, columns: e2.columns, additionalParamMap: e2.additionalParamMap, pageContext: this.pageContext, configureObj: this.configureObj });
8026
- n ? (o = n, this.hasLoadData = true) : (o = t2, this.hasLoadData = true);
8171
+ const o2 = e2.options.gridDataLoaded.call(this, { gridData: t2, columns: e2.columns, additionalParamMap: e2.additionalParamMap, pageContext: this.pageContext, configureObj: this.configureObj });
8172
+ o2 ? (a = o2, this.hasLoadData = true) : (a = t2, this.hasLoadData = true);
8027
8173
  } else
8028
- o = t2, this.hasLoadData = true;
8029
- o && o.forEach((t3) => {
8030
- this.setColumnsDefaultValue(e2.allColumns, t3);
8031
- }), this.pagination && true === this.isSubTableShowPage ? (this.subTableData = o, this.pagination.total = this.subTableData.length, e2.subTableData = this.subTableData, this.gridData = this.getSubTableGridData(this.subTableData)) : (this.subTableAddGuId(o), this.gridData = o), e2.gridData = this.gridData, e2.orgGridData = [].concat(JSON.parse(JSON.stringify(this.gridData)));
8174
+ a = t2, this.hasLoadData = true;
8175
+ if (a) {
8176
+ const t3 = o && o.length > 0 ? o[0] : null, n2 = t3 && t3.prop ? t3.prop : null, l = t3 && t3.order ? t3.order : null;
8177
+ let s = [];
8178
+ a.forEach((t4) => {
8179
+ this.setColumnsDefaultValue(e2.allColumns, t4);
8180
+ }), i2 ? s.push(i2) : this.getSortColumn(this.visibleColumns, { property: n2 }, s), this.sortSubTableData(a, n2, l, s);
8181
+ }
8182
+ this.pagination && true === this.isSubTableShowPage ? (this.pagination.total = a.length, n ? (this.subTableDataSearch = a, this.gridData = this.getSubTableGridData(this.subTableDataSearch)) : (this.subTableDataSearch = [], this.subTableData = a, this.gridData = this.getSubTableGridData(this.subTableData))) : (this.subTableAddGuId(a), n ? this.subTableDataSearch = a : (this.subTableDataSearch = [], this.subTableData = a), this.gridData = a), e2.subTableData = this.subTableData, e2.subTableDataSearch = this.subTableDataSearch, e2.gridData = this.gridData, e2.orgGridData = [].concat(JSON.parse(JSON.stringify(this.gridData)));
8183
+ }, sortSubTableData(e2, t2, o, n) {
8184
+ if (t2 && o && n.length > 0) {
8185
+ let i2 = n[0];
8186
+ e2.sort((e3, n2) => void 0 !== e3[t2] && null !== e3[t2] || void 0 !== n2[t2] && null !== n2[t2] ? void 0 !== e3[t2] && null !== e3[t2] || void 0 === n2[t2] || null === n2[t2] ? void 0 === e3[t2] || null === e3[t2] || void 0 !== n2[t2] && null !== n2[t2] ? "INTEGER" === i2.dataType || "LONG" === i2.dataType || "FLOAT" === i2.dataType || "DOUBLE" === i2.dataType || "DATE" === i2.dataType || "TIME" === i2.dataType ? "asc" === o || "ascending" === o ? e3[t2] - n2[t2] : n2[t2] - e3[t2] : "asc" === o || "ascending" === o ? e3[t2] < n2[t2] ? -1 : e3[t2] > n2[t2] ? 1 : 0 : e3[t2] < n2[t2] ? 1 : e3[t2] > n2[t2] ? -1 : 0 : "asc" === o || "ascending" === o ? 1 : -1 : "asc" === o || "ascending" === o ? -1 : 1 : 0);
8187
+ }
8032
8188
  }, canRefreshTableData(e2) {
8033
8189
  let t2 = false;
8034
8190
  return (e2.options && !e2.options.isFormSubTable || e2.options && e2.options.isFormSubTable && void 0 !== e2.options.canRrefreshSubtableData && true === e2.options.canRrefreshSubtableData) && (t2 = true), t2;
8035
8191
  }, getSubTableGridData(e2, t2) {
8036
- let o = e2;
8037
- if (true === this.isSubTableShowPage && e2 && e2.length > 0) {
8038
- this.pagination.total = e2.length;
8039
- let n = null != t2 ? t2 : this.currentPage;
8040
- null == n && (n = 1);
8041
- let i2 = this.pageSize;
8042
- null === i2 && this.pagination && (i2 = this.pagination.pageSize), null == i2 && (i2 = 20);
8043
- const a = (n - 1) * i2;
8044
- let l = a + i2;
8045
- e2.length > a && (l > e2.length && (l = e2.length), o = e2.slice(a, l));
8046
- }
8047
- return null == o && (o = []), this.subTableAddGuId(o), o;
8192
+ let o = null != t2 ? t2 : this.currentPage;
8193
+ null == o && (o = 1);
8194
+ let n = e2;
8195
+ if (true === this.isSubTableShowPage) {
8196
+ if (e2 && e2.length > 0) {
8197
+ this.pagination.total = e2.length;
8198
+ let t4 = this.pageSize;
8199
+ null === t4 && this.pagination && (t4 = this.pagination.pageSize), null == t4 && (t4 = 20);
8200
+ const i2 = (o - 1) * t4;
8201
+ let a = i2 + t4;
8202
+ e2.length > i2 && (a > e2.length && (a = e2.length), n = e2.slice(i2, a));
8203
+ }
8204
+ let t3 = [];
8205
+ this.isShowCard && o > 1 && (this.gridData.length !== e2.length ? (t3 = this.gridData.concat(n), n = t3) : n = e2);
8206
+ }
8207
+ return null == n && (n = []), this.subTableAddGuId(n), n;
8048
8208
  }, subTableAddGuId(e2) {
8049
- e2.forEach((e3) => {
8209
+ const t2 = e2.filter((e3) => !e3.$rowDataGuId);
8210
+ t2 && t2.length > 0 && t2.forEach((e3) => {
8050
8211
  e3.$rowDataGuId || (e3.$rowDataGuId = getGuId());
8051
8212
  });
8052
8213
  }, fetchListData(e2, t2, o, n) {
@@ -8082,25 +8243,27 @@
8082
8243
  i2.loaded = true, t3(e4);
8083
8244
  }) : (i2.loaded = true, e3()) : (console.error("beforeRequest result is false!!"), i2.loaded = true, e3());
8084
8245
  });
8246
+ }, getChildren(e2) {
8247
+ return (e2 == null ? void 0 : e2.map((e3) => {
8248
+ var _a;
8249
+ return { $rowDataGuId: e3.$rowDataGuId ? e3.$rowDataGuId : getGuId(), ...e3, ...((_a = e3 == null ? void 0 : e3.children) == null ? void 0 : _a.length) ? { children: this.getChildren(e3.children) } : {} };
8250
+ })) ?? [];
8085
8251
  }, doRequest(e2, t2, o, n, i2) {
8086
8252
  return new Promise((a, l) => {
8087
8253
  this.$http.post(e2, t2).then((e3) => {
8088
8254
  if (null == o) {
8089
- const t3 = (e4) => (e4 == null ? void 0 : e4.map((e5) => {
8090
- var _a;
8091
- return { $rowDataGuId: getGuId(), ...e5, ...((_a = e5 == null ? void 0 : e5.children) == null ? void 0 : _a.length) ? { children: t3(e5.children) } : {} };
8092
- })) ?? [], o2 = [...this.isShowCard && this.currentPage > 1 ? this.gridData : [], ...t3((e3 == null ? void 0 : e3.data) ?? [])];
8093
- let i3 = [];
8255
+ const t3 = [...this.isShowCard && this.currentPage > 1 ? this.gridData : [], ...this.getChildren((e3 == null ? void 0 : e3.data) ?? [])];
8256
+ let o2 = [];
8094
8257
  if (isHasOptionFunction$1("gridDataLoaded", this.code)) {
8095
- const e4 = { gridData: o2, columns: n.columns, additionalParamMap: n.additionalParamMap, pageContext: this.pageContext, configureObj: this.configureObj };
8258
+ const e4 = { gridData: t3, columns: n.columns, additionalParamMap: n.additionalParamMap, pageContext: this.pageContext, configureObj: this.configureObj };
8096
8259
  n.searchParam && (e4.searchForm = n.searchParam.searchForm, e4.additionalParamMap = n.searchParam.additionalParamMap);
8097
- const t4 = n.options.gridDataLoaded.call(this, e4);
8098
- i3 = t4 || o2;
8260
+ const i3 = n.options.gridDataLoaded.call(this, e4);
8261
+ o2 = i3 || t3;
8099
8262
  } else
8100
- i3 = o2;
8101
- i3 || (i3 = []), n.options.isFormSubTable ? (i3 && i3.forEach((e4) => {
8263
+ o2 = t3;
8264
+ o2 || (o2 = []), n.options.isFormSubTable ? (o2 && o2.forEach((e4) => {
8102
8265
  this.setColumnsDefaultValue(n.allColumns, e4);
8103
- }), this.pagination && true === this.isSubTableShowPage ? (this.subTableData = i3, this.gridData = this.getSubTableGridData(this.subTableData), n.subTableData = this.subTableData) : this.gridData = i3, this.pagination && (this.pagination.total = i3.length)) : (this.gridData = i3, this.pagination && (this.pagination.total = e3.total)), e3.summaries && Object.keys(e3.summaries).length > 0 && (this.summaries = e3.summaries), n.gridData = this.gridData, n.orgGridData = [].concat(JSON.parse(JSON.stringify(this.gridData))), n.pagination = this.pagination, n.loaded = true, this.lineEdit && this.lineEdit.editable && ("undefined" != typeof isSearch && false !== isSearch || (0 === this.gridData.length && this.options && null !== this.options.isDefaultShowEdit && void 0 !== this.options.isDefaultShowEdit && true === this.options.isDefaultShowEdit && this.createRow(this.code, null, this.gridData), this.gridData.length > 0 && (this.lineEdit.editingCell = { row: 0, prop: getFirstEditableColumn(this.code) }))), this.hasLoadData = true;
8266
+ }), this.pagination && true === this.isSubTableShowPage ? (this.subTableData = o2, this.gridData = this.getSubTableGridData(this.subTableData), n.subTableData = this.subTableData) : this.gridData = o2, this.pagination && (this.pagination.total = o2.length)) : (this.gridData = o2, this.pagination && (this.pagination.total = e3.total)), e3.summaries && Object.keys(e3.summaries).length > 0 && (this.summaries = e3.summaries), n.gridData = this.gridData, n.orgGridData = [].concat(JSON.parse(JSON.stringify(this.gridData))), n.pagination = this.pagination, n.loaded = true, this.lineEdit && this.lineEdit.editable && ("undefined" != typeof isSearch && false !== isSearch || (0 === this.gridData.length && this.options && null !== this.options.isDefaultShowEdit && void 0 !== this.options.isDefaultShowEdit && true === this.options.isDefaultShowEdit && this.createRow(this.code, null, this.gridData), this.gridData.length > 0 && (this.lineEdit.editingCell = { row: 0, prop: getFirstEditableColumn(this.code) }))), this.hasLoadData = true;
8104
8267
  } else
8105
8268
  n.loaded = true, isHasOptionFunction$1("gridDataLoaded", this.code) && n.options.gridDataLoaded.call(this, { gridData: e3, additionalParamMap: n.additionalParamMap, pageContext: this.pageContext, configureObj: this.configureObj }), isHasOptionFunction$1("loadChildrenComplete", this.code) && n.options.loadChildrenComplete.call(this, { parentRowIds: o, gridData: e3, columns: n.columns, additionalParamMap: n.additionalParamMap, pageContext: this.pageContext, configureObj: this.configureObj }), null != i2 ? (this.removeGridStoreSelection(o), i2(e3[o[0]])) : (o.forEach((t3) => {
8106
8269
  this.$refs.superGrid && (this.$refs.superGrid.store.states.lazyTreeNodeMap[t3] = e3[t3], this.$refs.superGrid.store.states.treeData[t3].children = e3[t3]);
@@ -8119,28 +8282,15 @@
8119
8282
  const i2 = e3.propValue;
8120
8283
  t3 && t3.indexOf(".") > 0 ? addDynamicProp$1(this.searchFormContent, t3, i2) : this.searchFormContent[t3] = i2;
8121
8284
  }), t2.searchForm = e2, this.showSearchForm()) : t2.searchForm = null;
8122
- }, showDemo() {
8123
- this.isLoading = true, this.$http.get(this.url).then((e2) => {
8124
- this.getShowColumns(e2), Object.assign(this, e2);
8125
- const t2 = store$1.get(this.code);
8126
- if (t2.listCode = this.code, t2.columns = this.columns, t2.columns && this.options.dynamicColumns)
8127
- for (var o = 0; o < this.options.dynamicColumns.length; o++)
8128
- this.options.dynamicColumns[o].dynamic = true, t2.columns.push(this.options.dynamicColumns[o]);
8129
- if (t2.lineEdit = this.lineEdit, t2.basicInfo = this.basicInfo, t2.pagination = this.pagination, t2.query = this.query, this.gridData = e2.gridData, isHasOptionFunction$1("gridDataLoaded", this.code)) {
8130
- const o2 = t2.options.gridDataLoaded.call(this, { gridData: e2.gridData, additionalParamMap: t2.additionalParamMap, pageContext: this.pageContext, configureObj: this.configureObj });
8131
- this.gridData = o2 || e2.gridData;
8132
- } else
8133
- this.gridData = e2.gridData;
8134
- this.pagination && (this.pagination.total = e2.total), this.gridData || (this.gridData = []), t2.gridData = this.gridData, t2.orgGridData = [].concat(JSON.parse(JSON.stringify(this.gridData))), t2.pagination = this.pagination, this.lineEdit.editable && (0 === this.gridData.length && this.createRow(this.code, null, this.gridData), this.lineEdit.editingCell = { row: 0, prop: getFirstEditableColumn(this.code) }), isHasOptionFunction$1("gridComplete", this.code) && t2.options.gridComplete.call(this, this.gridData, t2.columns, this.pageContext, this.configureObj);
8135
- }).catch((e2) => {
8136
- if (isHasOptionFunction$1("loadError", this.code)) {
8137
- store$1.get(this.code).options.loadError.call(this, this.code, e2);
8138
- }
8139
- });
8140
8285
  }, doSearch(e2) {
8141
8286
  this.currentPage = 1, e2 && e2.length > 0 ? this.toolbarFieldParam && this.toolbarFieldParam.length > 0 && (1 === e2.length && (e2[0].leftBracket = "(", e2[0].rightBracket = ")"), "or" === e2[e2.length - 1].joinSign && (e2[e2.length - 1].joinSign = "and"), Array.prototype.push.apply(e2, this.toolbarFieldParam)) : this.toolbarFieldParam && this.toolbarFieldParam.length > 0 && (e2 = this.toolbarFieldParam), this.search(e2, true);
8142
8287
  }, doSearchDialog(e2) {
8143
8288
  this.currentPage = 1, this.search(e2, true), this.closeSearchFormDialog();
8289
+ }, searSubTable(e2, t2) {
8290
+ let o = [];
8291
+ return e2 && e2.forEach((e3) => {
8292
+ caculateSearchCondition(t2, e3) && o.push(e3);
8293
+ }), o;
8144
8294
  }, search(e2, t2, o) {
8145
8295
  $emit(this, "refresh");
8146
8296
  const n = this;
@@ -8152,8 +8302,8 @@
8152
8302
  isHasOptionFunction$1("gridDataLoaded", n.code) ? (e3 = l.options.gridDataLoaded.call(this, { gridData: l.options.SuperGrid.simulationDate, columns: l.columns, additionalParamMap: l.additionalParamMap, pageContext: this.pageContext, configureObj: this.configureObj }), e3 || (e3 = l.options.SuperGrid.simulationDate)) : e3 = l.options.SuperGrid.simulationDate, i2(e3);
8153
8303
  }
8154
8304
  } else if (l.options && l.options.isFormSubTable && l.options.subTableData && l.options.subTableData.length > 0) {
8155
- let e3;
8156
- n.hasLoadData = false, l.loaded = true, isHasOptionFunction$1("gridDataLoaded", n.code) ? (e3 = l.options.gridDataLoaded.call(this, { gridData: l.options.subTableData, columns: l.columns, additionalParamMap: l.additionalParamMap, pageContext: this.pageContext, configureObj: this.configureObj }), e3 || (e3 = l.options.subTableData, n.hasLoadData = true)) : (e3 = l.options.subTableData, n.hasLoadData = true), i2(e3);
8305
+ let o2 = l.options.subTableData;
8306
+ this.searchSubTable(o2, e2, t2, l), n.$refs && n.$refs.sf && (n.$refs.sf.loading = false, n.$refs.sf.searchComplete()), n.$refs && n.$refs.sfDialog && (n.$refs.sfDialog.loading = false, n.$refs.sfDialog.searchComplete()), n.showSubTableSearchDialog = false, $emit(n, "cancel-search"), i2(o2);
8157
8307
  } else
8158
8308
  n.fetchData(n.getSearchParam(), t2, o).then((e3) => {
8159
8309
  void 0 !== l && void 0 !== l.options && void 0 !== l.options.isHiddenSearchForm && true === l.options.isHiddenSearchForm && (n.showSearch = false, $emit(n, "cancel-search")), n.$refs && n.$refs.sf && (n.$refs.sf.loading = false, n.$refs.sf.searchComplete()), this.resizeTableHeight(), i2(e3);
@@ -8161,6 +8311,9 @@
8161
8311
  n.$refs.sf && (n.$refs.sf.loading = false, n.$refs.sf.searchComplete()), a(e3);
8162
8312
  });
8163
8313
  });
8314
+ }, searchSubTable(e2, t2, o, n) {
8315
+ let i2 = e2;
8316
+ o && (i2 = this.searSubTable(e2, t2)), this.packageSubTableData(n, i2, this.sortInfo, o, this.orderColumn), o ? (n.isSubSearch = true, this.isSubSearch = true, this.subTableDataSearch = i2) : (n.isSubSearch = false, this.isSubSearch = false, this.subTableDataSearch = []);
8164
8317
  }, getPaginationInfo() {
8165
8318
  const e2 = store$1.get(this.code);
8166
8319
  if (this.pagination) {
@@ -8200,21 +8353,31 @@
8200
8353
  }, handleSizeChange(e2) {
8201
8354
  this.options && this.options.isPageShow || (this.currentPage = 1, this.pageSize = e2, this.pagination.pageSize = e2, this.changePage());
8202
8355
  }, handleCurrentChange(e2) {
8203
- this.options && this.options.isPageShow || this.changePage();
8356
+ this.options && this.options.isPageShow || this.changePage(e2);
8204
8357
  }, changePage(e2) {
8205
8358
  var _a;
8206
8359
  if ((_a = this.$refs.superGrid) == null ? void 0 : _a.clearFilter(), this.isSubTableShowPage) {
8207
- this.gridData = this.getSubTableGridData(this.subTableData, e2);
8208
- const t2 = store$1.get(this.code);
8209
- t2.gridData = this.gridData, t2.orgGridData = [].concat(JSON.parse(JSON.stringify(this.gridData)));
8360
+ let t2;
8361
+ t2 = this.isSubSearch ? this.getSubTableGridData(this.subTableDataSearch, e2) : this.getSubTableGridData(this.subTableData, e2), this.gridData = t2;
8362
+ const o = store$1.get(this.code);
8363
+ o.gridData = this.gridData, o.orgGridData = [].concat(JSON.parse(JSON.stringify(this.gridData)));
8210
8364
  } else
8211
8365
  this.fetchData(this.getSearchParam());
8366
+ }, getSortColumn(e2, t2, o) {
8367
+ for (let n = 0; n < e2.length; n++) {
8368
+ const i2 = e2[n];
8369
+ if (i2.children && i2.children.length > 0)
8370
+ this.getSortColumn(i2.children, t2, o);
8371
+ else if (t2.property === i2.prop) {
8372
+ o.push(i2);
8373
+ break;
8374
+ }
8375
+ }
8212
8376
  }, handleSortChange({ column: e2, prop: t2, order: o }) {
8213
8377
  var _a;
8214
8378
  if (!this.options || !this.options.isPageShow) {
8215
- let n = null;
8216
- const i2 = this.visibleColumns.filter((t3) => e2.property === t3.prop);
8217
- if (i2 && i2.length > 0 && (n = i2[0]), isCanRefreshGrid(this.code)) {
8379
+ let n = null, i2 = [];
8380
+ if (this.getSortColumn(this.visibleColumns, e2, i2), i2 && i2.length > 0 && (n = i2[0]), isCanRefreshGrid(this.code)) {
8218
8381
  if (null !== t2 && n && null !== n) {
8219
8382
  let e3 = n.orgProp;
8220
8383
  const t3 = "__";
@@ -8252,7 +8415,13 @@
8252
8415
  const { columns: o } = e2, n = [];
8253
8416
  return o.forEach((e3, o2) => {
8254
8417
  const i2 = e3.property, a = t2[i2];
8255
- n[o2] = null != a ? a : "";
8418
+ if (null != a) {
8419
+ let e4;
8420
+ i2 && this.columnsMap && this.columnsMap[i2] && (e4 = this.columnsMap[i2]);
8421
+ let t3 = a;
8422
+ e4 && (t3 = doFormat$1(e4, a)), n[o2] = t3;
8423
+ } else
8424
+ n[o2] = "";
8256
8425
  }), n;
8257
8426
  }, getDefaultSummaries(e2) {
8258
8427
  const t2 = [], o = this.packageSummaryColumnProps();
@@ -8264,16 +8433,22 @@
8264
8433
  const s = e3.property;
8265
8434
  if (s && "$selection" !== s && "$index" !== s && null == a)
8266
8435
  return a = n2, void (t2[n2] = "合计");
8267
- o.indexOf(s) >= 0 ? (i2 && i2.forEach((e4) => {
8268
- let t3, o2 = getEntityFieldValueWithOutCase(e4, s);
8269
- if (null != o2)
8270
- t3 = Number(o2);
8271
- else {
8272
- const n3 = /[A-Z]+/;
8273
- this.isSql && n3.test(s) && (o2 = getEntityFieldValueWithOutCase(e4, s.toLowerCase()), null != o2 && (t3 = Number(o2)));
8274
- }
8275
- null == t3 || isNaN(t3) || (l += t3);
8276
- }), t2[n2] = l) : t2[n2] = "";
8436
+ if (o.indexOf(s) >= 0) {
8437
+ let e4;
8438
+ i2 && i2.forEach((e5) => {
8439
+ let t3, o3 = getEntityFieldValueWithOutCase(e5, s);
8440
+ if (null != o3)
8441
+ t3 = Number(o3);
8442
+ else {
8443
+ const n3 = /[A-Z]+/;
8444
+ this.isSql && n3.test(s) && (o3 = getEntityFieldValueWithOutCase(e5, s.toLowerCase()), null != o3 && (t3 = Number(o3)));
8445
+ }
8446
+ null == t3 || isNaN(t3) || (l += t3);
8447
+ }), s && this.columnsMap && this.columnsMap[s] && (e4 = this.columnsMap[s]), this.columnsMap;
8448
+ let o2 = l;
8449
+ e4 && (o2 = doFormat$1(e4, l)), t2[n2] = o2;
8450
+ } else
8451
+ t2[n2] = "";
8277
8452
  });
8278
8453
  }
8279
8454
  return t2;
@@ -8430,7 +8605,7 @@
8430
8605
  }, rowDbClickEditRow(e2, t2) {
8431
8606
  var _a;
8432
8607
  let o;
8433
- o = this.isSubTableShowPage ? this.subTableData.filter((e3) => void 0 !== e3.$editing && true === e3.$editing) : this.gridData.filter((e3) => void 0 !== e3.$editing && true === e3.$editing), o && o.length > 0 && o.forEach((e3) => {
8608
+ o = this.isFormSubTable ? this.subTableData.filter((e3) => void 0 !== e3.$editing && true === e3.$editing) : this.gridData.filter((e3) => void 0 !== e3.$editing && true === e3.$editing), o && o.length > 0 && o.forEach((e3) => {
8434
8609
  setEntityFieldValue(e3, "$editing", false), bus.$emit("un-edit", { row: e3 });
8435
8610
  }), e2.isEditRow = false;
8436
8611
  false !== parseSubTableActionCondition(e2, this.parentFormData, t2, (_a = e2.options.actionPermission) == null ? void 0 : _a.updateCondition) ? (setEntityFieldValue(t2, "$editing", true), e2.$editRow = t2, e2.isEditRow = true) : window.$vueApp.config.globalProperties.$message({ showClose: true, message: this.$t("superGrid.rowCanntEditTip"), type: "warning" });
@@ -8451,7 +8626,7 @@
8451
8626
  } else
8452
8627
  "popup" === t2 ? (this.jumpPageSetting = o, this.$emit("open-grid-dialog", this.jumpPageSetting), this.isShowPageDialog = true) : "refresh" === t2 && this.$router.push({ path: "/dsc/page", query: o });
8453
8628
  }, closeSearchFormDialog() {
8454
- this.showSearch = false;
8629
+ this.showSearch = false, this.showSubTableSearchDialog = false;
8455
8630
  }, getQueryMode() {
8456
8631
  return this.query && "popup" === this.query.showType ? "popup" : "embedded";
8457
8632
  }, selectCell(e2, t2, o, n) {
@@ -8561,7 +8736,7 @@
8561
8736
  var _a, _b;
8562
8737
  try {
8563
8738
  const o = this.getComponentType(e2);
8564
- return { column: e2, getComponentType: this.getComponentType, customFormat: t2, $bind: { column: e2, ref: e2.prop, "is-sql": this.isSql, "list-code": this.code, "new-width": this.newWidth, "drag-column-prop": this.dragColumnProp, "right-click-menu-arr": (_a = this.options) == null ? void 0 : _a.rightClickMenuArr, "table-name": this.tableName, "page-code": this.pageCode, "list-name": this.listName, options: this.options, "current-page": this.currentPage, pagination: this.pagination, "is-data-children": this.tableDatas.some((e3) => Array.isArray(e3 == null ? void 0 : e3.children)), "grid-data": this.isSubTableShowPage ? this.subTableData : this.gridData, "page-grid-data": this.isSubTableShowPage ? this.getSubTableGridData(this.subTableData) : this.gridData, ...t2 ? { "custom-format": ["GroupColumn"].includes(o) ? t2 : t2[e2.prop] } : { "is-line-edit": ((_b = this.lineEdit) == null ? void 0 : _b.editable) ?? false, "list-toolbar-form-data": this.listToolbarFormData } }, $on: { "open-page": this.openPageDialog, refresData: this.refresData, "refresh-list": this.refreshList, refresPortData: this.refresPortData, refresPortsData: this.refresPortsData, refresMainTableFields: this.refresMainTableFields, prohibitToEdit: this.prohibitToEdit, batchDeleteSubTableRow: this.batchDeleteSubTableRow } };
8739
+ return { column: e2, getComponentType: this.getComponentType, customFormat: t2, $bind: { column: e2, ref: e2.prop, "is-sql": this.isSql, "list-code": this.code, "new-width": this.newWidth, "drag-column-prop": this.dragColumnProp, "right-click-menu-arr": (_a = this.options) == null ? void 0 : _a.rightClickMenuArr, "table-name": this.tableName, "page-code": this.pageCode, "list-name": this.listName, options: this.options, "current-page": this.currentPage, pagination: this.pagination, "grid-data": this.isFormSubTable ? this.isSubSearch ? this.subTableDataSearch : this.subTableData : this.gridData, ...t2 ? { "custom-format": ["GroupColumn"].includes(o) ? t2 : t2[e2.prop] } : { "is-line-edit": ((_b = this.lineEdit) == null ? void 0 : _b.editable) ?? false, "list-toolbar-form-data": this.listToolbarFormData } }, $on: { "open-page": this.openPageDialog, refresData: this.refresData, "refresh-list": this.refreshList, refresPortData: this.refresPortData, refresPortsData: this.refresPortsData, refresMainTableFields: this.refresMainTableFields, prohibitToEdit: this.prohibitToEdit, batchDeleteSubTableRow: this.batchDeleteSubTableRow } };
8565
8740
  } catch (t3) {
8566
8741
  return console.error(t3), { column: e2 };
8567
8742
  }
@@ -8619,13 +8794,33 @@
8619
8794
  i2 && (n[i2.label] = e3[t3]);
8620
8795
  }), t2.push(n);
8621
8796
  }), t2;
8622
- }, rowDoFormat: (e2, t2) => doFormat$1(e2, t2) }, emits: ["change-grid-data", "change-rows-per-page", "set-select-options", "setSearchType", "sort-change", "changeHederWidth", "header-click", "un-edit", "refresMainTableFields", "refresh", "cancel-search", "changeOperationAddState"] }, _hoisted_1$1h = { key: 2, class: "super-grid-main-table-footer-view" }, _hoisted_2$S = { class: "yx-flex-wrap", style: { gap: "10px" } }, _hoisted_3$F = ["title"], _hoisted_4$u = ["title"];
8797
+ }, rowDoFormat: (e2, t2) => doFormat$1(e2, t2), showSubTableSearch() {
8798
+ this.isMobile ? this.showMobileSearch() : (this.showSubTableSearchDialog = true, this.$refs.sfDialog && this.$refs.sfDialog.showSubTableSearchDialog());
8799
+ }, sortChangeColumn(e2) {
8800
+ if (e2 && this.orderColumns) {
8801
+ const t2 = this.orderColumns.filter((t3) => t3.prop && t3.prop === e2);
8802
+ t2 && t2.length > 0 && (this.orderColumn = t2[0]), e2 && this.orderType && this.sortChangeFunc(e2, this.orderType);
8803
+ } else
8804
+ this.orderColumn = null;
8805
+ }, sortChangeType(e2) {
8806
+ this.orderField && e2 && this.sortChangeFunc(this.orderField, e2);
8807
+ }, sortChangeFunc(e2, t2) {
8808
+ if (e2 && t2)
8809
+ if (this.sortInfo = [{ prop: e2, order: t2 }], this.isFormSubTable) {
8810
+ let e3;
8811
+ e3 = this.isSubSearch ? this.subTableDataSearch : this.subTableData;
8812
+ const t3 = store$1.get(this.code);
8813
+ let o = [];
8814
+ void 0 !== t3.searchForm && (o = t3.searchForm), this.searchSubTable(e3, o, this.isSubSearch, t3);
8815
+ } else
8816
+ this.search(null, true);
8817
+ } }, emits: ["change-grid-data", "change-rows-per-page", "set-select-options", "setSearchType", "sort-change", "changeHederWidth", "header-click", "un-edit", "refresMainTableFields", "refresh", "cancel-search", "changeOperationAddState"] }, _hoisted_1$1h = { class: "yx-flex-wrap", justify: "space-between" }, _hoisted_2$S = { style: { flex: "'1 1 auto'", width: "60px" } }, _hoisted_3$F = { key: 0, class: "yx-flex-wrap" }, _hoisted_4$u = { key: 2, class: "super-grid-main-table-footer-view" }, _hoisted_5$o = { class: "yx-flex-wrap", style: { gap: "10px" } }, _hoisted_6$j = { key: 0, style: { width: "16px", height: "16px" } }, _hoisted_7$c = ["title"], _hoisted_8$9 = ["title"];
8623
8818
  function _sfc_render$Y(e2, t2, o, n, i2, a) {
8624
- var _a, _b, _c;
8625
- const l = Vue.resolveComponent("search-form"), s = Vue.resolveComponent("search-form-dialog"), r = Vue.resolveComponent("MobileCard"), u = Vue.resolveComponent("row-detail"), c = Vue.resolveComponent("el-table"), d = Vue.resolveComponent("el-icon-setting"), p = Vue.resolveComponent("el-icon-refresh"), m = Vue.resolveComponent("el-pagination"), h2 = Vue.resolveComponent("columns-config"), g = Vue.resolveComponent("header-context-menu"), f = Vue.resolveComponent("row-form"), A = Vue.resolveDirective("resize");
8626
- return Vue.withDirectives((Vue.openBlock(), Vue.createElementBlock("div", { "data-v": "1.0.0", class: "super-grid-main-view", style: Vue.normalizeStyle(i2.subTableStyle), onClick: t2[9] || (t2[9] = (...t3) => e2.onClickTableMain && e2.onClickTableMain(...t3)) }, [!i2.isFormSubTable && i2.hasLoadedColumns && i2.query && "embedded" === i2.query.showType ? Vue.withDirectives((Vue.openBlock(), Vue.createBlock(l, { key: 0, ref: "sf", columns: i2.columns, code: o.code, url: o.url, pagination: i2.pagination, query: i2.query, "search-form-info": o.searchFormInfo, "search-param": i2.searchFormContent, "init-search-props": i2.initSearchProps, "list-toolbar-form-data": o.listToolbarFormData, "load-complete-query": i2.loadCompleteQuery, class: "super-grid-main-search-view", onSearch: a.doSearch, onReset: a.resetSearch, onOpenFold: a.openFold, onCanShowMobileSearch: t2[0] || (t2[0] = (t3) => e2.$emit("can-show-mobile-search", o.code)), onCloseMobileSearch: t2[1] || (t2[1] = (e3) => i2.isShowMobileSearch = false) }, null, 8, ["columns", "code", "url", "pagination", "query", "search-form-info", "search-param", "init-search-props", "list-toolbar-form-data", "load-complete-query", "onSearch", "onReset", "onOpenFold"])), [[Vue.vShow, !i2.isMobile || i2.isMobile && i2.isShowMobileSearch]]) : Vue.createCommentVNode("", true), i2.hasLoadedColumns && i2.query && "popup" === i2.query.showType ? (Vue.openBlock(), Vue.createBlock(s, { key: 1, ref: "sfDialog", columns: i2.columns, code: o.code, url: o.url, pagination: i2.pagination, query: i2.query, "search-param": i2.searchFormContent, "init-search-props": i2.initSearchProps, onSearch: a.doSearchDialog, onReset: a.resetSearch, onClose: a.closeSearchFormDialog }, null, 8, ["columns", "code", "url", "pagination", "query", "search-param", "init-search-props", "onSearch", "onReset", "onClose"])) : Vue.createCommentVNode("", true), Vue.createElementVNode("div", { ref: "superGridMain", class: Vue.normalizeClass(["grid-area " + o.code, "super-grid-main-body"]) }, [a.isShowCard ? (Vue.openBlock(), Vue.createBlock(r, { key: 0, selection: i2.selectionTableData, columns: a.visibleColumns, listCode: o.code, getColumnComponentData: a.getColumnComponentData, data: a.tableDatas, "current-page": i2.currentPage, "onUpdate:currentPage": t2[2] || (t2[2] = (e3) => i2.currentPage = e3), "page-size": (_b = (_a = i2.pagination) == null ? void 0 : _a.pageSizes) == null ? void 0 : _b[0], "page-total": (_c = i2.pagination) == null ? void 0 : _c.total, class: "super-grid-main-card-view", onSelect: a.selectRecord, onSelectionChange: a.cardSelectionChangeEvent, onCurrentChange: a.handleCurrentChange, onRowClick: a.rowClickEvent, onRowDblclick: a.rowDblclickEvent }, null, 8, ["selection", "columns", "listCode", "getColumnComponentData", "data", "current-page", "page-size", "page-total", "onSelect", "onSelectionChange", "onCurrentChange", "onRowClick", "onRowDblclick"])) : i2.refreshGrid && i2.hasLoadedColumns && !a.isShowCard ? (Vue.openBlock(), Vue.createBlock(c, { key: 1, ref: "superGrid", data: a.tableDatas, "row-key": a.getRowKeyProp, "show-summary": a.showSummary, "summary-method": a.getSummaries, style: Vue.normalizeStyle(i2.tableStyle), stripe: i2.stripe, border: true, "default-expand-all": i2.defaultExpandAll, lazy: i2.isLazy, load: a.loadChildren, "row-style": a.changeRowStyle, "cell-style": a.changeCellStyle, "header-cell-style": a.changeHeaderStyle, "highlight-current-row": true, "span-method": a.rowSpan, "max-height": a.hasMaxHeight, height: a.hasTableHeight, class: Vue.normalizeClass([i2.tableClass, "super-grid-main-table-view"]), "tree-props": a.getTreeProps(i2.parentProp, i2.isSql, i2.isLazy, i2.dataSourceType), "scrollbar-always-on": a.scrollbarAlwaysOn, onSortChange: a.handleSortChange, onSelect: a.selectRecord, onSelectAll: a.selectAllRecord, onSelectionChange: a.selectionChangeEvent, onRowClick: a.rowClickEvent, onRowDblclick: a.rowDblclickEvent, onExpandChange: a.expandChange, onHeaderClick: a.headerClickEvent, onHeaderDragend: a.changeHederWidth, onHeaderContextmenu: a.headerContextmenu, onCellClick: a.selectCell, onCellDblclick: e2.cellDblClick }, { default: Vue.withCtx(() => [i2.detailColumn ? (Vue.openBlock(), Vue.createBlock(u, { key: 0, column: i2.detailColumn, "list-code": o.code, onShowDetail: a.openRowForm }, null, 8, ["column", "list-code", "onShowDetail"])) : Vue.createCommentVNode("", true), (Vue.openBlock(true), Vue.createElementBlock(Vue.Fragment, null, Vue.renderList(a.visibleColumnsComponentData, ({ column: e3, ...t3 }, o2) => (Vue.openBlock(), Vue.createBlock(Vue.resolveDynamicComponent(a.getComponentType(e3)), Vue.mergeProps({ ref_for: true, ref: e3.prop, key: e3.label + o2 }, t3.$bind, Vue.toHandlers(t3.$on)), null, 16))), 128))]), _: 1 }, 8, ["data", "row-key", "show-summary", "summary-method", "style", "stripe", "default-expand-all", "lazy", "load", "row-style", "cell-style", "header-cell-style", "span-method", "max-height", "height", "class", "tree-props", "scrollbar-always-on", "onSortChange", "onSelect", "onSelectAll", "onSelectionChange", "onRowClick", "onRowDblclick", "onExpandChange", "onHeaderClick", "onHeaderDragend", "onHeaderContextmenu", "onCellClick", "onCellDblclick"])) : Vue.createCommentVNode("", true), o.showPagination && !a.isShowCard ? (Vue.openBlock(), Vue.createElementBlock("div", _hoisted_1$1h, [Vue.createElementVNode("div", _hoisted_2$S, [i2.basicInfo.customConfig && !i2.isFormSubTable ? (Vue.openBlock(), Vue.createElementBlock("div", { key: 0, class: "el-icon-setting", title: e2.$t("superGrid.columnConfig"), onClick: t2[3] || (t2[3] = (...e3) => a.configColumns && a.configColumns(...e3)) }, [Vue.createVNode(d, { style: { width: "16px", height: "16px", color: "#777", cursor: "pointer" } })], 8, _hoisted_3$F)) : Vue.createCommentVNode("", true), i2.isFormSubTable ? Vue.createCommentVNode("", true) : (Vue.openBlock(), Vue.createElementBlock("div", { key: 1, class: "el-icon-refresh", title: e2.$t("superGrid.refresh"), onClick: t2[4] || (t2[4] = (...e3) => a.refreshGridData && a.refreshGridData(...e3)) }, [Vue.createVNode(p, { style: { width: "16px", height: "16px", color: "#777", cursor: "pointer" } })], 8, _hoisted_4$u))]), i2.pagination && i2.isShowPage ? (Vue.openBlock(), Vue.createBlock(m, { key: 0, "current-page": i2.currentPage, "onUpdate:currentPage": t2[5] || (t2[5] = (e3) => i2.currentPage = e3), "page-size": i2.pagination.pageSize, "onUpdate:pageSize": t2[6] || (t2[6] = (e3) => i2.pagination.pageSize = e3), background: "", "page-sizes": i2.pagination.pageSizes, layout: i2.pagination.layout, total: i2.pagination.showTotal ? void 0 !== i2.pagination.total && "" !== i2.pagination.total && null !== i2.pagination.total ? i2.pagination.total : 0 : 1e11, onSizeChange: a.handleSizeChange, onCurrentChange: a.handleCurrentChange }, null, 8, ["current-page", "page-size", "page-sizes", "layout", "total", "onSizeChange", "onCurrentChange"])) : Vue.createCommentVNode("", true)])) : Vue.createCommentVNode("", true)], 2), i2.showColumnConfig ? (Vue.openBlock(), Vue.createBlock(h2, { key: 2, "visible-columns": a.visibleColumns, "list-code": o.code, "is-sql": i2.isSql, onClose: t2[7] || (t2[7] = (e3) => a.closeCustomConfig(e3)), onReset: t2[8] || (t2[8] = (e3) => a.resetCustomConfig(e3)) }, null, 8, ["visible-columns", "list-code", "is-sql"])) : Vue.createCommentVNode("", true), i2.showHeaderContextmenu ? (Vue.openBlock(), Vue.createBlock(g, { key: 3, ref: "headerMenu", "buttom-arr": o.options.rightClickMenuArr, column: i2.rightClickColumn, onClearHeaderContextmenu: a.clearHeaderContextmenu }, null, 8, ["buttom-arr", "column", "onClearHeaderContextmenu"])) : Vue.createCommentVNode("", true), i2.showRowForm ? (Vue.openBlock(), Vue.createBlock(f, { key: 4, "parent-form-data": i2.parentFormData, columns: a.visibleColumns, "row-index": i2.currentEditRowIndex, "list-code": o.code, "drag-column-prop": i2.dragColumnProp, "is-sql": i2.isSql, "base-url": i2.baseURL, options: o.options, "table-name": i2.tableName, "page-code": i2.pageCode, "list-toolbar-form-data": o.listToolbarFormData, "list-name": i2.listName, "current-page": i2.currentPage, "grid-data": i2.isSubTableShowPage ? i2.subTableData : i2.gridData, "page-grid-data": i2.isSubTableShowPage ? a.getSubTableGridData(i2.subTableData) : i2.gridData, "line-edit": i2.lineEdit, "show-page": i2.pagination && i2.isShowPage, "page-size": i2.pagination ? i2.pagination.pageSize : null, onClose: a.closeRowForm, onRefresData: a.refresData, onRefresPortData: a.refresPortData, onRefresPortsData: a.refresPortsData, onRefresMainTableFields: a.refresMainTableFields, onOpenPage: a.openPageDialog, onProhibitToEdit: a.prohibitToEdit, onRefreshList: a.refreshList }, null, 8, ["parent-form-data", "columns", "row-index", "list-code", "drag-column-prop", "is-sql", "base-url", "options", "table-name", "page-code", "list-toolbar-form-data", "list-name", "current-page", "grid-data", "page-grid-data", "line-edit", "show-page", "page-size", "onClose", "onRefresData", "onRefresPortData", "onRefresPortsData", "onRefresMainTableFields", "onOpenPage", "onProhibitToEdit", "onRefreshList"])) : Vue.createCommentVNode("", true)], 4)), [[A, a.onResize]]);
8819
+ var _a, _b, _c, _d;
8820
+ const l = Vue.resolveComponent("search-form"), s = Vue.resolveComponent("el-button"), r = Vue.resolveComponent("el-option"), u = Vue.resolveComponent("el-select"), c = Vue.resolveComponent("search-form-dialog"), d = Vue.resolveComponent("MobileCard"), p = Vue.resolveComponent("row-detail"), m = Vue.resolveComponent("el-table"), h2 = Vue.resolveComponent("el-icon-setting"), g = Vue.resolveComponent("el-icon-refresh"), f = Vue.resolveComponent("el-pagination"), A = Vue.resolveComponent("columns-config"), y = Vue.resolveComponent("header-context-menu"), w = Vue.resolveComponent("row-form"), C = Vue.resolveDirective("resize");
8821
+ return Vue.withDirectives((Vue.openBlock(), Vue.createElementBlock("div", { "data-v": "1.0.0", class: "super-grid-main-view", style: Vue.normalizeStyle(i2.subTableStyle), onClick: t2[11] || (t2[11] = (...t3) => e2.onClickTableMain && e2.onClickTableMain(...t3)) }, [(i2.isFormSubTable && i2.isMobile && i2.isHasSearchColumn && i2.query && ("embedded" === i2.query.showType || "popup" === i2.query.showType) || !i2.isFormSubTable && i2.query && "embedded" === i2.query.showType) && i2.hasLoadedColumns ? Vue.withDirectives((Vue.openBlock(), Vue.createBlock(l, { key: 0, ref: "sf", columns: i2.columns, code: o.code, url: o.url, pagination: i2.pagination, query: i2.query, "search-form-info": o.searchFormInfo, "search-param": i2.searchFormContent, "init-search-props": i2.initSearchProps, "list-toolbar-form-data": o.listToolbarFormData, "load-complete-query": i2.loadCompleteQuery, class: "super-grid-main-search-view", onSearch: a.doSearch, onReset: a.resetSearch, onOpenFold: a.openFold, onCanShowMobileSearch: t2[0] || (t2[0] = (t3) => e2.$emit("can-show-mobile-search", o.code)), onCloseMobileSearch: t2[1] || (t2[1] = (e3) => i2.isShowMobileSearch = false) }, null, 8, ["columns", "code", "url", "pagination", "query", "search-form-info", "search-param", "init-search-props", "list-toolbar-form-data", "load-complete-query", "onSearch", "onReset", "onOpenFold"])), [[Vue.vShow, !i2.isMobile || i2.isMobile && i2.isShowMobileSearch]]) : Vue.createCommentVNode("", true), Vue.createElementVNode("div", _hoisted_1$1h, [Vue.createElementVNode("div", _hoisted_2$S, [i2.isFormSubTable && i2.isHasSearchColumn && i2.query && ("embedded" === i2.query.showType || "popup" === i2.query.showType) ? (Vue.openBlock(), Vue.createBlock(s, { key: 0, size: "small", onClick: a.showSubTableSearch }, { default: Vue.withCtx(() => [Vue.createTextVNode(Vue.toDisplayString(e2.$t("imatrixUIMessage.search")), 1)]), _: 1 }, 8, ["onClick"])) : Vue.createCommentVNode("", true)]), i2.isMobile && i2.orderColumns.length > 0 ? (Vue.openBlock(), Vue.createElementBlock("div", _hoisted_3$F, [Vue.createVNode(u, { style: { width: "120px", "padding-right": "10px" }, placeholder: e2.$t("superGrid.orderField"), clearable: "", filterable: "", modelValue: i2.orderField, "onUpdate:modelValue": t2[2] || (t2[2] = (e3) => i2.orderField = e3), onChange: a.sortChangeColumn }, { default: Vue.withCtx(() => [(Vue.openBlock(true), Vue.createElementBlock(Vue.Fragment, null, Vue.renderList(i2.orderColumns, (e3) => (Vue.openBlock(), Vue.createBlock(r, { key: e3.prop, value: e3.prop, label: a.getColumnLabel(e3) }, null, 8, ["value", "label"]))), 128))]), _: 1 }, 8, ["placeholder", "modelValue", "onChange"]), Vue.createVNode(u, { style: { width: "120px" }, placeholder: e2.$t("superGrid.orderType"), clearable: "", modelValue: i2.orderType, "onUpdate:modelValue": t2[3] || (t2[3] = (e3) => i2.orderType = e3), onChange: a.sortChangeType }, { default: Vue.withCtx(() => [Vue.createVNode(r, { value: "ascending", label: e2.$t("superGrid.orderTypeAsc") }, null, 8, ["label"]), Vue.createVNode(r, { value: "descending", label: e2.$t("superGrid.orderTypeDesc") }, null, 8, ["label"])]), _: 1 }, 8, ["placeholder", "modelValue", "onChange"])])) : Vue.createCommentVNode("", true)]), i2.hasLoadedColumns ? (Vue.openBlock(), Vue.createBlock(c, { key: 1, ref: "sfDialog", columns: i2.columns, code: o.code, url: o.url, pagination: i2.pagination, query: i2.query, "search-form-info": o.searchFormInfo, "search-param": i2.searchFormContent, "init-search-props": i2.initSearchProps, "list-toolbar-form-data": o.listToolbarFormData, "load-complete-query": i2.loadCompleteQuery, onSearch: a.doSearchDialog, onReset: a.resetSearch, onClose: a.closeSearchFormDialog }, null, 8, ["columns", "code", "url", "pagination", "query", "search-form-info", "search-param", "init-search-props", "list-toolbar-form-data", "load-complete-query", "onSearch", "onReset", "onClose"])) : Vue.createCommentVNode("", true), Vue.createElementVNode("div", { ref: "superGridMain", class: Vue.normalizeClass(["grid-area " + o.code, "super-grid-main-body"]) }, [a.isShowCard ? (Vue.openBlock(), Vue.createBlock(d, { key: 0, selection: i2.selectionTableData, columns: a.visibleColumns, listCode: o.code, getColumnComponentData: a.getColumnComponentData, data: a.tableDatas, isEnableEdit: (_a = i2.lineEdit) == null ? void 0 : _a.editable, "current-page": i2.currentPage, "onUpdate:currentPage": t2[4] || (t2[4] = (e3) => i2.currentPage = e3), "page-size": (_c = (_b = i2.pagination) == null ? void 0 : _b.pageSizes) == null ? void 0 : _c[0], "page-total": (_d = i2.pagination) == null ? void 0 : _d.total, class: "super-grid-main-card-view", onSelect: a.selectRecord, onSelectionChange: a.cardSelectionChangeEvent, onCurrentChange: a.handleCurrentChange, onRowClick: a.rowClickEvent, onRowDblclick: a.rowDblclickEvent }, null, 8, ["selection", "columns", "listCode", "getColumnComponentData", "data", "isEnableEdit", "current-page", "page-size", "page-total", "onSelect", "onSelectionChange", "onCurrentChange", "onRowClick", "onRowDblclick"])) : i2.refreshGrid && i2.hasLoadedColumns && !a.isShowCard ? (Vue.openBlock(), Vue.createBlock(m, { key: 1, ref: "superGrid", data: a.tableDatas, "row-key": a.getRowKeyProp, "show-summary": a.showSummary, "summary-method": a.getSummaries, style: Vue.normalizeStyle(i2.tableStyle), stripe: i2.stripe, border: true, "default-expand-all": i2.defaultExpandAll, lazy: i2.isLazy, load: a.loadChildren, "row-style": a.changeRowStyle, "cell-style": a.changeCellStyle, "header-cell-style": a.changeHeaderStyle, "highlight-current-row": true, "span-method": a.rowSpan, "max-height": a.hasMaxHeight, height: a.hasTableHeight, class: Vue.normalizeClass([i2.tableClass, "super-grid-main-table-view"]), "tree-props": a.getTreeProps(i2.parentProp, i2.isSql, i2.isLazy, i2.dataSourceType), "scrollbar-always-on": a.scrollbarAlwaysOn, onSortChange: a.handleSortChange, onSelect: a.selectRecord, onSelectAll: a.selectAllRecord, onSelectionChange: a.selectionChangeEvent, onRowClick: a.rowClickEvent, onRowDblclick: a.rowDblclickEvent, onExpandChange: a.expandChange, onHeaderClick: a.headerClickEvent, onHeaderDragend: a.changeHederWidth, onHeaderContextmenu: a.headerContextmenu, onCellClick: a.selectCell, onCellDblclick: e2.cellDblClick }, { default: Vue.withCtx(() => [i2.detailColumn ? (Vue.openBlock(), Vue.createBlock(p, { key: 0, column: i2.detailColumn, "list-code": o.code, onShowDetail: a.openRowForm }, null, 8, ["column", "list-code", "onShowDetail"])) : Vue.createCommentVNode("", true), (Vue.openBlock(true), Vue.createElementBlock(Vue.Fragment, null, Vue.renderList(a.visibleColumnsComponentData, ({ column: e3, ...t3 }, o2) => (Vue.openBlock(), Vue.createBlock(Vue.resolveDynamicComponent(a.getComponentType(e3)), Vue.mergeProps({ ref_for: true, ref: e3.prop, key: e3.label + o2 }, t3.$bind, Vue.toHandlers(t3.$on)), null, 16))), 128))]), _: 1 }, 8, ["data", "row-key", "show-summary", "summary-method", "style", "stripe", "default-expand-all", "lazy", "load", "row-style", "cell-style", "header-cell-style", "span-method", "max-height", "height", "class", "tree-props", "scrollbar-always-on", "onSortChange", "onSelect", "onSelectAll", "onSelectionChange", "onRowClick", "onRowDblclick", "onExpandChange", "onHeaderClick", "onHeaderDragend", "onHeaderContextmenu", "onCellClick", "onCellDblclick"])) : Vue.createCommentVNode("", true), o.showPagination && !a.isShowCard ? (Vue.openBlock(), Vue.createElementBlock("div", _hoisted_4$u, [Vue.createElementVNode("div", _hoisted_5$o, [i2.isFormSubTable && i2.pagination && i2.isShowPage ? (Vue.openBlock(), Vue.createElementBlock("div", _hoisted_6$j)) : Vue.createCommentVNode("", true), i2.basicInfo.customConfig && !i2.isFormSubTable ? (Vue.openBlock(), Vue.createElementBlock("div", { key: 1, class: "el-icon-setting", title: e2.$t("superGrid.columnConfig"), onClick: t2[5] || (t2[5] = (...e3) => a.configColumns && a.configColumns(...e3)) }, [Vue.createVNode(h2, { style: { width: "16px", height: "16px", color: "#777", cursor: "pointer" } })], 8, _hoisted_7$c)) : Vue.createCommentVNode("", true), i2.isFormSubTable ? Vue.createCommentVNode("", true) : (Vue.openBlock(), Vue.createElementBlock("div", { key: 2, class: "el-icon-refresh", title: e2.$t("superGrid.refresh"), onClick: t2[6] || (t2[6] = (...e3) => a.refreshGridData && a.refreshGridData(...e3)) }, [Vue.createVNode(g, { style: { width: "16px", height: "16px", color: "#777", cursor: "pointer" } })], 8, _hoisted_8$9))]), i2.pagination && i2.isShowPage ? (Vue.openBlock(), Vue.createBlock(f, { key: 0, "current-page": i2.currentPage, "onUpdate:currentPage": t2[7] || (t2[7] = (e3) => i2.currentPage = e3), "page-size": i2.pagination.pageSize, "onUpdate:pageSize": t2[8] || (t2[8] = (e3) => i2.pagination.pageSize = e3), background: "", "page-sizes": i2.pagination.pageSizes, layout: i2.pagination.layout, total: i2.pagination.showTotal ? void 0 !== i2.pagination.total && "" !== i2.pagination.total && null !== i2.pagination.total ? i2.pagination.total : 0 : 1e11, onSizeChange: a.handleSizeChange, onCurrentChange: a.handleCurrentChange }, null, 8, ["current-page", "page-size", "page-sizes", "layout", "total", "onSizeChange", "onCurrentChange"])) : Vue.createCommentVNode("", true)])) : Vue.createCommentVNode("", true)], 2), i2.showColumnConfig ? (Vue.openBlock(), Vue.createBlock(A, { key: 2, "visible-columns": a.visibleColumns, "list-code": o.code, "is-sql": i2.isSql, onClose: t2[9] || (t2[9] = (e3) => a.closeCustomConfig(e3)), onReset: t2[10] || (t2[10] = (e3) => a.resetCustomConfig(e3)) }, null, 8, ["visible-columns", "list-code", "is-sql"])) : Vue.createCommentVNode("", true), i2.showHeaderContextmenu ? (Vue.openBlock(), Vue.createBlock(y, { key: 3, ref: "headerMenu", "buttom-arr": o.options.rightClickMenuArr, column: i2.rightClickColumn, onClearHeaderContextmenu: a.clearHeaderContextmenu }, null, 8, ["buttom-arr", "column", "onClearHeaderContextmenu"])) : Vue.createCommentVNode("", true), i2.showRowForm ? (Vue.openBlock(), Vue.createBlock(w, { key: 4, "parent-form-data": i2.parentFormData, columns: a.visibleColumns, "row-index": i2.currentEditRowIndex, "list-code": o.code, "drag-column-prop": i2.dragColumnProp, "is-sql": i2.isSql, "base-url": i2.baseURL, options: o.options, "table-name": i2.tableName, "page-code": i2.pageCode, "list-toolbar-form-data": o.listToolbarFormData, "list-name": i2.listName, "current-page": i2.currentPage, "grid-data": i2.isSubTableShowPage ? i2.subTableData : i2.gridData, "page-grid-data": i2.isSubTableShowPage ? a.getSubTableGridData(i2.subTableData) : i2.gridData, "line-edit": i2.lineEdit, "show-page": i2.pagination && i2.isShowPage, "page-size": i2.pagination ? i2.pagination.pageSize : null, onClose: a.closeRowForm, onRefresData: a.refresData, onRefresPortData: a.refresPortData, onRefresPortsData: a.refresPortsData, onRefresMainTableFields: a.refresMainTableFields, onOpenPage: a.openPageDialog, onProhibitToEdit: a.prohibitToEdit, onRefreshList: a.refreshList }, null, 8, ["parent-form-data", "columns", "row-index", "list-code", "drag-column-prop", "is-sql", "base-url", "options", "table-name", "page-code", "list-toolbar-form-data", "list-name", "current-page", "grid-data", "page-grid-data", "line-edit", "show-page", "page-size", "onClose", "onRefresData", "onRefresPortData", "onRefresPortsData", "onRefresMainTableFields", "onOpenPage", "onProhibitToEdit", "onRefreshList"])) : Vue.createCommentVNode("", true)], 4)), [[C, a.onResize]]);
8627
8822
  }
8628
- const SuperGrid = _export_sfc(_sfc_main$1F, [["render", _sfc_render$Y], ["__scopeId", "data-v-2eb1c8ec"]]);
8823
+ const SuperGrid = _export_sfc(_sfc_main$1F, [["render", _sfc_render$Y], ["__scopeId", "data-v-664b8a45"]]);
8629
8824
  SuperGrid.install = function(e2) {
8630
8825
  e2.component(SuperGrid.name, SuperGrid);
8631
8826
  };
@@ -8678,7 +8873,7 @@
8678
8873
  if (null !== t2)
8679
8874
  for (const o in t2)
8680
8875
  e2.hasOwnProperty(o) && (e2[o] = t2[o]);
8681
- this.filterText = "", this.searchValue = "", this.packageSelectResult(e2), this.setMemoryCacheData(e2, "departmentUser"), $emit(this, "result", this.selectNodeInfo);
8876
+ this.closeOnAutocomplete && (this.filterText = "", this.searchValue = ""), this.packageSelectResult(e2), this.setMemoryCacheData(e2, "departmentUser"), $emit(this, "result", this.selectNodeInfo);
8682
8877
  });
8683
8878
  }, search(e2) {
8684
8879
  this.searchValue = e2;
@@ -8823,7 +9018,7 @@
8823
9018
  const l = Vue.resolveComponent("CirclePlus"), s = Vue.resolveComponent("el-icon"), r = Vue.resolveComponent("GroupList");
8824
9019
  return Vue.openBlock(), Vue.createElementBlock("span", _hoisted_1$1c, [Vue.createVNode(s, null, { default: Vue.withCtx(() => [Vue.createVNode(l, { onClick: t2[0] || (t2[0] = (e3) => i2.isShowList = true) })]), _: 1 }), i2.isShowList ? (Vue.openBlock(), Vue.createBlock(r, { key: 0, onCloseDialog: t2[1] || (t2[1] = (e3) => a.closeList()) })) : Vue.createCommentVNode("", true)]);
8825
9020
  }
8826
- const GroupUser = _export_sfc(_sfc_main$1A, [["render", _sfc_render$V]]), departmentUserSingleTreeInline_vue_vue_type_style_index_0_lang = "", _sfc_main$1z = { data: () => ({ filterText: "", defaultProps: { id: "id", label: "showName", children: "children", isLeaf: "leaf" }, searchParam: { userField: null, searchValue: null, treeType: "MAN_DEPARTMENT_TREE", departmentInfo: null }, count: 0, containBranch: false, tenantNodeId: -1, searchFields: [], searchField: "name", restaurants: [], searchValue: null, searchResult: [], searchStoreKey: "searchDepartmentUser", tenantInfo: {}, selectUser: null, selectNodeInfo: null, notMultipleClickNum: null, notMultipleClickNode: null, memoryCacheKey: "DEPARTMENT_USER_MEMORY_KEY", memoryCacheData: [], ElIconSearch: ElementPlusIconsVue.Search, activeTab: "orgTree", isShowGroupTree: true, canShowOrgTree: false }), name: "InlineDepartmentUserSingleTree", components: { UserResult, GroupUserSingleTree, GroupUser, EmptyState: _sfc_main$2i }, props: { departmentInfo: { type: Array, default: null }, height: { type: String, default: "300px" }, isNeedVirtualUser: { type: Boolean, default: false }, limitFilterColumn: { type: String, default: "code" } }, computed: {}, watch: { filterText(e2) {
9021
+ const GroupUser = _export_sfc(_sfc_main$1A, [["render", _sfc_render$V]]), departmentUserSingleTreeInline_vue_vue_type_style_index_0_lang = "", _sfc_main$1z = { data: () => ({ filterText: "", defaultProps: { id: "id", label: "showName", children: "children", isLeaf: "leaf" }, searchParam: { userField: null, searchValue: null, treeType: "MAN_DEPARTMENT_TREE", departmentInfo: null }, count: 0, containBranch: false, tenantNodeId: -1, searchFields: [], searchField: "name", restaurants: [], searchValue: null, searchResult: [], searchStoreKey: "searchDepartmentUser", tenantInfo: {}, selectUser: null, selectNodeInfo: null, notMultipleClickNum: null, notMultipleClickNode: null, memoryCacheKey: "DEPARTMENT_USER_MEMORY_KEY", memoryCacheData: [], ElIconSearch: ElementPlusIconsVue.Search, activeTab: "orgTree", isShowGroupTree: true, canShowOrgTree: false }), name: "InlineDepartmentUserSingleTree", components: { UserResult, GroupUserSingleTree, GroupUser, EmptyState: _sfc_main$2i }, props: { departmentInfo: { type: Array, default: null }, height: { type: String, default: "300px" }, isNeedVirtualUser: { type: Boolean, default: false }, limitFilterColumn: { type: String, default: "code" }, closeOnAutocomplete: { type: Boolean, default: true } }, computed: {}, watch: { filterText(e2) {
8827
9022
  e2 || (this.searchValue = e2, this.departmentInfo && this.departmentInfo.length > 0 ? this.loadPointDepartments(this) : this.loadDepartment(this.tenantNodeId, this.tenantNodeId + ""));
8828
9023
  } }, created() {
8829
9024
  utils.canShowOrgTree().then((e2) => {
@@ -10180,14 +10375,14 @@
10180
10375
  }, InlineDepartmentTree.install = function(e2) {
10181
10376
  e2.component(InlineDepartmentTree.name, InlineDepartmentTree);
10182
10377
  };
10183
- const _sfc_main$1c = { name: "InlineDepartmentUserTree", components: { InlineDepartmentUserSingleTree, InlineDepartmentUserMultiTree }, props: { multiple: { type: Boolean, default: true }, departmentInfo: { type: Array, default: null }, height: { type: String, default: "300px" }, isNeedVirtualUser: { type: Boolean, default: false }, selectUserInfo: { type: [String, Number], default: null }, searchField: { type: String, default: "loginName" }, separator: { type: String, default: "," }, limitFilterColumn: { type: String, default: "code" } }, data: () => ({ selectNodeInfo: null }), methods: { result(e2) {
10378
+ const _sfc_main$1c = { name: "InlineDepartmentUserTree", components: { InlineDepartmentUserSingleTree, InlineDepartmentUserMultiTree }, props: { multiple: { type: Boolean, default: true }, departmentInfo: { type: Array, default: null }, height: { type: String, default: "300px" }, isNeedVirtualUser: { type: Boolean, default: false }, selectUserInfo: { type: [String, Number], default: null }, searchField: { type: String, default: "loginName" }, separator: { type: String, default: "," }, limitFilterColumn: { type: String, default: "code" }, closeOnAutocomplete: { type: Boolean, default: true } }, data: () => ({ selectNodeInfo: null }), methods: { result(e2) {
10184
10379
  this.selectNodeInfo = e2, $emit(this, "result", e2);
10185
10380
  }, confirmSelectUser() {
10186
10381
  this.$refs.userTree.confirmSelectUser();
10187
10382
  } }, emits: ["result"] };
10188
10383
  function _sfc_render$I(e2, t2, o, n, i2, a) {
10189
10384
  const l = Vue.resolveComponent("inline-department-user-multi-tree"), s = Vue.resolveComponent("inline-department-user-single-tree");
10190
- return Vue.openBlock(), Vue.createElementBlock("div", null, [o.multiple ? (Vue.openBlock(), Vue.createBlock(l, { key: 0, ref: "userTree", height: o.height, "department-info": o.departmentInfo, "limit-filter-column": o.limitFilterColumn, "select-user-info": o.selectUserInfo, "search-field": o.searchField, separator: o.separator, onResult: a.result }, null, 8, ["height", "department-info", "limit-filter-column", "select-user-info", "search-field", "separator", "onResult"])) : Vue.createCommentVNode("", true), o.multiple ? Vue.createCommentVNode("", true) : (Vue.openBlock(), Vue.createBlock(s, { key: 1, ref: "userTree", height: o.height, "limit-filter-column": o.limitFilterColumn, "department-info": o.departmentInfo, onResult: a.result }, null, 8, ["height", "limit-filter-column", "department-info", "onResult"]))]);
10385
+ return Vue.openBlock(), Vue.createElementBlock("div", null, [o.multiple ? (Vue.openBlock(), Vue.createBlock(l, { key: 0, ref: "userTree", height: o.height, "department-info": o.departmentInfo, "limit-filter-column": o.limitFilterColumn, "select-user-info": o.selectUserInfo, "search-field": o.searchField, separator: o.separator, onResult: a.result }, null, 8, ["height", "department-info", "limit-filter-column", "select-user-info", "search-field", "separator", "onResult"])) : Vue.createCommentVNode("", true), o.multiple ? Vue.createCommentVNode("", true) : (Vue.openBlock(), Vue.createBlock(s, { key: 1, ref: "userTree", height: o.height, "limit-filter-column": o.limitFilterColumn, "department-info": o.departmentInfo, "close-on-autocomplete": o.closeOnAutocomplete, onResult: a.result }, null, 8, ["height", "limit-filter-column", "department-info", "close-on-autocomplete", "onResult"]))]);
10191
10386
  }
10192
10387
  const InlineDepartmentUserTree = _export_sfc(_sfc_main$1c, [["render", _sfc_render$I]]);
10193
10388
  InlineDepartmentUserTree.install = function(e2) {
@@ -12152,7 +12347,7 @@
12152
12347
  d.value = true, async function() {
12153
12348
  const e4 = new FormData(), t3 = [], n2 = [];
12154
12349
  let i3 = o.limitFileSize;
12155
- void 0 === i3 && (i3 = 30);
12350
+ null == i3 && (i3 = 30);
12156
12351
  let a2 = false;
12157
12352
  const l2 = p.value.files;
12158
12353
  for (let e5 = 0; e5 < l2.length; e5++) {
@@ -12258,7 +12453,7 @@
12258
12453
  function s(e3) {
12259
12454
  const t3 = Array.from(n.fileList, ({ serverPath: e4 }) => e4);
12260
12455
  JSON.stringify(n.fileList), JSON.stringify(e3), e3.forEach((e4) => {
12261
- t3.indexOf(e4.serverPath) < 0 && n.fileList.push({ showName: e4.name, serverPath: e4.serverPath });
12456
+ t3.indexOf(e4.serverPath) < 0 && n.fileList.push({ name: e4.name, showName: e4.name, serverPath: e4.serverPath });
12262
12457
  }), JSON.stringify(n.fileList), JSON.stringify(e3), a.value = n.fileList.map((e4) => e4.showName).join(","), a.value, n.onSuccess();
12263
12458
  }
12264
12459
  function r(e3) {
@@ -13884,7 +14079,7 @@
13884
14079
  var c = s2.SHA512 = n2.extend({ _doReset: function() {
13885
14080
  this._hash = new l2.init([new a2.init(1779033703, 4089235720), new a2.init(3144134277, 2227873595), new a2.init(1013904242, 4271175723), new a2.init(2773480762, 1595750129), new a2.init(1359893119, 2917565137), new a2.init(2600822924, 725511199), new a2.init(528734635, 4215389547), new a2.init(1541459225, 327033209)]);
13886
14081
  }, _doProcessBlock: function(e5, t5) {
13887
- for (var o3 = this._hash.words, n3 = o3[0], i4 = o3[1], a3 = o3[2], l3 = o3[3], s3 = o3[4], c2 = o3[5], d = o3[6], p = o3[7], m = n3.high, h2 = n3.low, g = i4.high, f = i4.low, A = a3.high, y = a3.low, w = l3.high, C = l3.low, V = s3.high, v = s3.low, b = c2.high, I = c2.low, S = d.high, k = d.low, x = p.high, E = p.low, D = m, B = h2, N = g, P = f, M = A, T = y, O = w, U = C, L = V, j = v, F = b, R = I, Q = S, z = k, q = x, K = E, H = 0; H < 80; H++) {
14082
+ for (var o3 = this._hash.words, n3 = o3[0], i4 = o3[1], a3 = o3[2], l3 = o3[3], s3 = o3[4], c2 = o3[5], d = o3[6], p = o3[7], m = n3.high, h2 = n3.low, g = i4.high, f = i4.low, A = a3.high, y = a3.low, w = l3.high, C = l3.low, V = s3.high, v = s3.low, b = c2.high, I = c2.low, S = d.high, k = d.low, x = p.high, E = p.low, D = m, B = h2, N = g, P = f, T = A, M = y, O = w, U = C, L = V, F = v, j = b, R = I, Q = S, z = k, q = x, K = E, H = 0; H < 80; H++) {
13888
14083
  var G, J, Y = u[H];
13889
14084
  if (H < 16)
13890
14085
  J = Y.high = 0 | e5[t5 + 2 * H], G = Y.low = 0 | e5[t5 + 2 * H + 1];
@@ -13892,10 +14087,10 @@
13892
14087
  var W = u[H - 15], Z = W.high, X = W.low, _ = (Z >>> 1 | X << 31) ^ (Z >>> 8 | X << 24) ^ Z >>> 7, $ = (X >>> 1 | Z << 31) ^ (X >>> 8 | Z << 24) ^ (X >>> 7 | Z << 25), ee = u[H - 2], te = ee.high, oe = ee.low, ne = (te >>> 19 | oe << 13) ^ (te << 3 | oe >>> 29) ^ te >>> 6, ie = (oe >>> 19 | te << 13) ^ (oe << 3 | te >>> 29) ^ (oe >>> 6 | te << 26), ae = u[H - 7], le = ae.high, se = ae.low, re = u[H - 16], ue = re.high, ce = re.low;
13893
14088
  J = (J = (J = _ + le + ((G = $ + se) >>> 0 < $ >>> 0 ? 1 : 0)) + ne + ((G += ie) >>> 0 < ie >>> 0 ? 1 : 0)) + ue + ((G += ce) >>> 0 < ce >>> 0 ? 1 : 0), Y.high = J, Y.low = G;
13894
14089
  }
13895
- var de, pe = L & F ^ ~L & Q, me = j & R ^ ~j & z, he = D & N ^ D & M ^ N & M, ge = B & P ^ B & T ^ P & T, fe = (D >>> 28 | B << 4) ^ (D << 30 | B >>> 2) ^ (D << 25 | B >>> 7), Ae = (B >>> 28 | D << 4) ^ (B << 30 | D >>> 2) ^ (B << 25 | D >>> 7), ye = (L >>> 14 | j << 18) ^ (L >>> 18 | j << 14) ^ (L << 23 | j >>> 9), we = (j >>> 14 | L << 18) ^ (j >>> 18 | L << 14) ^ (j << 23 | L >>> 9), Ce = r[H], Ve = Ce.high, ve = Ce.low, be = q + ye + ((de = K + we) >>> 0 < K >>> 0 ? 1 : 0), Ie = Ae + ge;
13896
- q = Q, K = z, Q = F, z = R, F = L, R = j, L = O + (be = (be = (be = be + pe + ((de += me) >>> 0 < me >>> 0 ? 1 : 0)) + Ve + ((de += ve) >>> 0 < ve >>> 0 ? 1 : 0)) + J + ((de += G) >>> 0 < G >>> 0 ? 1 : 0)) + ((j = U + de | 0) >>> 0 < U >>> 0 ? 1 : 0) | 0, O = M, U = T, M = N, T = P, N = D, P = B, D = be + (fe + he + (Ie >>> 0 < Ae >>> 0 ? 1 : 0)) + ((B = de + Ie | 0) >>> 0 < de >>> 0 ? 1 : 0) | 0;
14090
+ var de, pe = L & j ^ ~L & Q, me = F & R ^ ~F & z, he = D & N ^ D & T ^ N & T, ge = B & P ^ B & M ^ P & M, fe = (D >>> 28 | B << 4) ^ (D << 30 | B >>> 2) ^ (D << 25 | B >>> 7), Ae = (B >>> 28 | D << 4) ^ (B << 30 | D >>> 2) ^ (B << 25 | D >>> 7), ye = (L >>> 14 | F << 18) ^ (L >>> 18 | F << 14) ^ (L << 23 | F >>> 9), we = (F >>> 14 | L << 18) ^ (F >>> 18 | L << 14) ^ (F << 23 | L >>> 9), Ce = r[H], Ve = Ce.high, ve = Ce.low, be = q + ye + ((de = K + we) >>> 0 < K >>> 0 ? 1 : 0), Ie = Ae + ge;
14091
+ q = Q, K = z, Q = j, z = R, j = L, R = F, L = O + (be = (be = (be = be + pe + ((de += me) >>> 0 < me >>> 0 ? 1 : 0)) + Ve + ((de += ve) >>> 0 < ve >>> 0 ? 1 : 0)) + J + ((de += G) >>> 0 < G >>> 0 ? 1 : 0)) + ((F = U + de | 0) >>> 0 < U >>> 0 ? 1 : 0) | 0, O = T, U = M, T = N, M = P, N = D, P = B, D = be + (fe + he + (Ie >>> 0 < Ae >>> 0 ? 1 : 0)) + ((B = de + Ie | 0) >>> 0 < de >>> 0 ? 1 : 0) | 0;
13897
14092
  }
13898
- h2 = n3.low = h2 + B, n3.high = m + D + (h2 >>> 0 < B >>> 0 ? 1 : 0), f = i4.low = f + P, i4.high = g + N + (f >>> 0 < P >>> 0 ? 1 : 0), y = a3.low = y + T, a3.high = A + M + (y >>> 0 < T >>> 0 ? 1 : 0), C = l3.low = C + U, l3.high = w + O + (C >>> 0 < U >>> 0 ? 1 : 0), v = s3.low = v + j, s3.high = V + L + (v >>> 0 < j >>> 0 ? 1 : 0), I = c2.low = I + R, c2.high = b + F + (I >>> 0 < R >>> 0 ? 1 : 0), k = d.low = k + z, d.high = S + Q + (k >>> 0 < z >>> 0 ? 1 : 0), E = p.low = E + K, p.high = x + q + (E >>> 0 < K >>> 0 ? 1 : 0);
14093
+ h2 = n3.low = h2 + B, n3.high = m + D + (h2 >>> 0 < B >>> 0 ? 1 : 0), f = i4.low = f + P, i4.high = g + N + (f >>> 0 < P >>> 0 ? 1 : 0), y = a3.low = y + M, a3.high = A + T + (y >>> 0 < M >>> 0 ? 1 : 0), C = l3.low = C + U, l3.high = w + O + (C >>> 0 < U >>> 0 ? 1 : 0), v = s3.low = v + F, s3.high = V + L + (v >>> 0 < F >>> 0 ? 1 : 0), I = c2.low = I + R, c2.high = b + j + (I >>> 0 < R >>> 0 ? 1 : 0), k = d.low = k + z, d.high = S + Q + (k >>> 0 < z >>> 0 ? 1 : 0), E = p.low = E + K, p.high = x + q + (E >>> 0 < K >>> 0 ? 1 : 0);
13899
14094
  }, _doFinalize: function() {
13900
14095
  var e5 = this._data, t5 = e5.words, o3 = 8 * this._nDataBytes, n3 = 8 * e5.sigBytes;
13901
14096
  return t5[n3 >>> 5] |= 128 << 24 - n3 % 32, t5[30 + (n3 + 128 >>> 10 << 5)] = Math.floor(o3 / 4294967296), t5[31 + (n3 + 128 >>> 10 << 5)] = o3, e5.sigBytes = 4 * t5.length, this._process(), this._hash.toX32();
@@ -14017,9 +14212,9 @@
14017
14212
  var u2 = t4 + l2, c2 = e4[u2];
14018
14213
  e4[u2] = 16711935 & (c2 << 8 | c2 >>> 24) | 4278255360 & (c2 << 24 | c2 >>> 8);
14019
14214
  }
14020
- var d2, p2, m2, C2, V2, v, b, I, S, k, x, E = this._hash.words, D = y.words, B = w.words, N = h2.words, P = g.words, M = f.words, T = A.words;
14215
+ var d2, p2, m2, C2, V2, v, b, I, S, k, x, E = this._hash.words, D = y.words, B = w.words, N = h2.words, P = g.words, T = f.words, M = A.words;
14021
14216
  for (v = d2 = E[0], b = p2 = E[1], I = m2 = E[2], S = C2 = E[3], k = V2 = E[4], l2 = 0; l2 < 80; l2 += 1)
14022
- x = d2 + e4[t4 + N[l2]] | 0, x += l2 < 16 ? o2(p2, m2, C2) + D[0] : l2 < 32 ? n2(p2, m2, C2) + D[1] : l2 < 48 ? i3(p2, m2, C2) + D[2] : l2 < 64 ? a2(p2, m2, C2) + D[3] : s2(p2, m2, C2) + D[4], x = (x = r(x |= 0, M[l2])) + V2 | 0, d2 = V2, V2 = C2, C2 = r(m2, 10), m2 = p2, p2 = x, x = v + e4[t4 + P[l2]] | 0, x += l2 < 16 ? s2(b, I, S) + B[0] : l2 < 32 ? a2(b, I, S) + B[1] : l2 < 48 ? i3(b, I, S) + B[2] : l2 < 64 ? n2(b, I, S) + B[3] : o2(b, I, S) + B[4], x = (x = r(x |= 0, T[l2])) + k | 0, v = k, k = S, S = r(I, 10), I = b, b = x;
14217
+ x = d2 + e4[t4 + N[l2]] | 0, x += l2 < 16 ? o2(p2, m2, C2) + D[0] : l2 < 32 ? n2(p2, m2, C2) + D[1] : l2 < 48 ? i3(p2, m2, C2) + D[2] : l2 < 64 ? a2(p2, m2, C2) + D[3] : s2(p2, m2, C2) + D[4], x = (x = r(x |= 0, T[l2])) + V2 | 0, d2 = V2, V2 = C2, C2 = r(m2, 10), m2 = p2, p2 = x, x = v + e4[t4 + P[l2]] | 0, x += l2 < 16 ? s2(b, I, S) + B[0] : l2 < 32 ? a2(b, I, S) + B[1] : l2 < 48 ? i3(b, I, S) + B[2] : l2 < 64 ? n2(b, I, S) + B[3] : o2(b, I, S) + B[4], x = (x = r(x |= 0, M[l2])) + k | 0, v = k, k = S, S = r(I, 10), I = b, b = x;
14023
14218
  x = E[1] + m2 + S | 0, E[1] = E[2] + C2 + k | 0, E[2] = E[3] + V2 + v | 0, E[3] = E[4] + d2 + b | 0, E[4] = E[0] + p2 + I | 0, E[0] = x;
14024
14219
  }, _doFinalize: function() {
14025
14220
  var e4 = this._data, t4 = e4.words, o3 = 8 * this._nDataBytes, n3 = 8 * e4.sigBytes;
@@ -14747,7 +14942,7 @@
14747
14942
  const n2 = Vue.resolveComponent("el-icon");
14748
14943
  return Vue.unref(l) ? (Vue.openBlock(), Vue.createElementBlock("span", _hoisted_1$m, ["UNDEFINED" === Vue.unref(o) || "CLOSED" === Vue.unref(o) ? (Vue.openBlock(), Vue.createBlock(n2, { key: 0, color: "#409EFF", onClick: A }, { default: Vue.withCtx(() => [Vue.createVNode(Vue.unref(ElementPlusIconsVue.Microphone))]), _: 1 })) : (Vue.openBlock(), Vue.createBlock(n2, { key: 1, class: "send-icon", color: "red" }, { default: Vue.withCtx(() => [Vue.createVNode(Vue.unref(ElementPlusIconsVue.Mute))]), _: 1 }))])) : Vue.createCommentVNode("", true);
14749
14944
  };
14750
- } }, _withScopeId$5 = (e2) => (Vue.pushScopeId("data-v-0b0c189e"), e2 = e2(), Vue.popScopeId(), e2), _hoisted_1$l = { class: "sender-additional-data-tag" }, _hoisted_2$b = { style: { display: "flex", "align-items": "center", "flex-wrap": "wrap" } }, _hoisted_3$8 = { style: { display: "flex", "align-items": "center", gap: "16px" } }, _hoisted_4$6 = _withScopeId$5(() => Vue.createElementVNode("div", { class: "ai-generate-tip" }, "内容由AI生成,仅供参考", -1)), _sfc_main$w = Vue.defineComponent({ __name: "chat-sender", props: { loading: { type: Boolean, default: false } }, emits: ["submit-question", "handle-cancel", "view-json", "change-ai-model", "voice-answer", "command-answer"], setup(e2, { expose: t2, emit: o }) {
14945
+ } }, _withScopeId$5 = (e2) => (Vue.pushScopeId("data-v-6da81be3"), e2 = e2(), Vue.popScopeId(), e2), _hoisted_1$l = { class: "sender-additional-data-tag" }, _hoisted_2$b = { style: { display: "flex", "align-items": "center", "flex-wrap": "wrap" } }, _hoisted_3$8 = { style: { display: "flex", "align-items": "center", gap: "16px" } }, _hoisted_4$6 = _withScopeId$5(() => Vue.createElementVNode("div", { class: "ai-generate-tip" }, "内容由AI生成,仅供参考", -1)), _sfc_main$w = Vue.defineComponent({ __name: "chat-sender", props: { loading: { type: Boolean, default: false } }, emits: ["submit-question", "handle-cancel", "view-json", "change-ai-model", "voice-answer", "command-answer"], setup(e2, { expose: t2, emit: o }) {
14751
14946
  vueI18n.useI18n();
14752
14947
  const n = [{ label: "流程体系类", value: AI_MODELS.RAGFLOW }, { label: "QMS数据库类", value: AI_MODELS.DATABASE }, { label: "DeepSeek问答", value: AI_MODELS.DEEPSEEK }, { label: "系统交互", value: AI_MODELS.INTERACTION }, { label: "生成PPT", value: AI_MODELS.PPT_GENERATION }];
14753
14948
  let i2 = null;
@@ -14821,8 +15016,6 @@
14821
15016
  }
14822
15017
  }
14823
15018
  function x(e3) {
14824
- if (e3 === AI_MODELS.DATABASE)
14825
- return elementPlus.ElMessage({ message: "QMS数据库类模型正在开发中,敬请期待!", type: "warning" }), void (u.value = AI_MODELS.RAGFLOW);
14826
15019
  e3 === AI_MODELS.DEEPSEEK && m.value.length > 0 ? c.value.openHeader() : c.value.closeHeader(), e3 === AI_MODELS.DEEPSEEK || e3 === AI_MODELS.PPT_GENERATION ? (h2.value = true, g.value = true) : (h2.value = false, g.value = false, I()), o("change-ai-model", e3);
14827
15020
  }
14828
15021
  function E(e3) {
@@ -14852,12 +15045,12 @@
14852
15045
  let i3;
14853
15046
  if (n2 = isValidDate(e4[0]), n2 && (n2 = isValidDate(e4[1])), 3 === e4.length && (i3 = e4[2]), e4.length, n2 && i3 && i3.indexOf(",") > 0) {
14854
15047
  const t4 = i3.split(","), n3 = t4[0], a2 = t4[1];
14855
- o2 = M(n3, e4[0], o2), o2 = M(a2, e4[1], o2);
15048
+ o2 = T(n3, e4[0], o2), o2 = T(a2, e4[1], o2);
14856
15049
  }
14857
15050
  }
14858
- return n2 || (o2 = M(e3, t3, o2)), o2;
15051
+ return n2 || (o2 = T(e3, t3, o2)), o2;
14859
15052
  }
14860
- function M(e3, t3, o2) {
15053
+ function T(e3, t3, o2) {
14861
15054
  if (null == e3 || e3 + "" == "")
14862
15055
  return o2;
14863
15056
  if (null == t3 || t3 + "" == "")
@@ -14888,10 +15081,10 @@
14888
15081
  }, newChatSession: function() {
14889
15082
  u.value === AI_MODELS.DEEPSEEK && (m.value = []), r.value = "";
14890
15083
  } }), (t3, o2) => {
14891
- const i3 = Vue.resolveComponent("Paperclip"), s2 = Vue.resolveComponent("el-icon"), f2 = Vue.resolveComponent("super-icon"), A2 = Vue.resolveComponent("el-tooltip"), y2 = Vue.resolveComponent("el-tag"), w2 = Vue.resolveComponent("el-option"), C2 = Vue.resolveComponent("el-select"), P2 = Vue.resolveComponent("SuperIcon"), M2 = Vue.resolveComponent("el-upload"), T = Vue.resolveComponent("el-divider"), O = Vue.resolveComponent("el-button"), U = Vue.resolveDirective("loading");
14892
- return Vue.openBlock(), Vue.createElementBlock(Vue.Fragment, null, [a.value ? (Vue.openBlock(), Vue.createBlock(y2, { key: 0, type: "primary" }, { default: Vue.withCtx(() => [Vue.createElementVNode("div", _hoisted_1$l, [Vue.createVNode(s2, null, { default: Vue.withCtx(() => [Vue.createVNode(i3)]), _: 1 }), Vue.createTextVNode(" " + Vue.toDisplayString(l.value) + " ", 1), Vue.createVNode(A2, { content: "预览" }, { default: Vue.withCtx(() => [Vue.createVNode(f2, { iconValue: "amb-color-icon-yulan", style: { cursor: "pointer" }, onClick: S })]), _: 1 }), Vue.createVNode(A2, { content: "下载" }, { default: Vue.withCtx(() => [Vue.createVNode(f2, { iconValue: "amb-color-icon-xiazai", style: { cursor: "pointer" }, onClick: k })]), _: 1 }), Vue.createVNode(A2, { content: "移除" }, { default: Vue.withCtx(() => [Vue.createVNode(f2, { iconValue: "amb-color-icon-shanchu", style: { cursor: "pointer" }, onClick: I })]), _: 1 })])]), _: 1 })) : Vue.createCommentVNode("", true), Vue.createVNode(Vue.unref(vueElementPlusX.Sender), { modelValue: r.value, "onUpdate:modelValue": o2[2] || (o2[2] = (e3) => r.value = e3), variant: "updown", "auto-size": { minRows: 2, maxRows: 5 }, clearable: "", ref_key: "senderRef", ref: c, submitType: "enter", loading: e2.loading, "allow-speech": "", onSubmit: o2[3] || (o2[3] = (e3) => V()), placeholder: "请您描述问题" }, { header: Vue.withCtx(() => [Vue.createVNode(Vue.unref(vueElementPlusX.Attachments), { items: m.value, drag: "", overflow: "scrollX", "hide-upload": true }, { "file-list": Vue.withCtx((e3) => [(Vue.openBlock(true), Vue.createElementBlock(Vue.Fragment, null, Vue.renderList(e3.items, (e4) => (Vue.openBlock(), Vue.createBlock(Vue.unref(vueElementPlusX.FilesCard), { key: e4.id, maxWidth: "150px", style: { margin: "10px 5px" }, name: e4.name, percent: e4.percent, uid: e4.id, status: e4.status, "show-del-icon": "", "img-variant": "square", onDelete: N }, null, 8, ["name", "percent", "uid", "status"]))), 128))]), _: 1 }, 8, ["items"])]), prefix: Vue.withCtx(() => [Vue.createElementVNode("div", _hoisted_2$b, [Vue.createVNode(C2, { style: { width: "146px", height: "32px" }, plain: "", modelValue: u.value, "onUpdate:modelValue": o2[0] || (o2[0] = (e3) => u.value = e3), onChange: x }, { default: Vue.withCtx(() => [(Vue.openBlock(), Vue.createElementBlock(Vue.Fragment, null, Vue.renderList(n, (e3) => Vue.createVNode(w2, { key: e3.value, label: e3.label, value: e3.value }, null, 8, ["label", "value"])), 64))]), _: 1 }, 8, ["modelValue"])])]), "action-list": Vue.withCtx(() => [Vue.createElementVNode("div", _hoisted_3$8, [h2.value ? (Vue.openBlock(), Vue.createBlock(A2, { key: 0, content: "上传附件" }, { default: Vue.withCtx(() => [Vue.createVNode(M2, { ref_key: "uploadRef", ref: d, action: p.value, multiple: true, headers: { Authorization: Vue.unref(getToken)() }, accept: ".txt,.docx,.pdf,.xlsx,.epub,.mobi,.md,.csv,.json,.bmp,.png,.jpg,.jpeg,.gif,.pdf", "show-file-list": false, "on-progress": D, "on-success": B, "before-upload": E }, { default: Vue.withCtx(() => [Vue.createVNode(P2, { iconValue: "amb-icon-fujianshangchuan" })]), _: 1 }, 8, ["action", "headers"])]), _: 1 })) : Vue.createCommentVNode("", true), g.value ? (Vue.openBlock(), Vue.createBlock(A2, { key: 1, content: "附加页面数据" }, { default: Vue.withCtx(() => [Vue.createVNode(P2, { onClick: b, iconValue: "amb-icon-fujiabiaogeshu", class: "send-icon" })]), _: 1 })) : Vue.createCommentVNode("", true), Vue.createVNode(A2, { content: "语音" }, { default: Vue.withCtx(() => [Vue.createVNode(_sfc_main$x, { onUserMessage: V, class: "send-icon" })]), _: 1 }), Vue.createVNode(T, { direction: "vertical" }), e2.loading ? (Vue.openBlock(), Vue.createBlock(A2, { key: 2, content: "取消" }, { default: Vue.withCtx(() => [Vue.withDirectives((Vue.openBlock(), Vue.createBlock(O, { type: "primary", style: { "border-radius": "10px" }, plain: "", round: "", onClick: v }, { default: Vue.withCtx(() => [Vue.createTextVNode(" 取消 ")]), _: 1 })), [[U, e2.loading]])]), _: 1 })) : (Vue.openBlock(), Vue.createBlock(O, { key: 3, style: { "border-radius": "10px" }, disabled: !r.value || !r.value.trim(), plain: "", circle: "", round: "", onClick: o2[1] || (o2[1] = (e3) => V()) }, { default: Vue.withCtx(() => [Vue.createVNode(P2, { iconValue: "amb-icon-fasong2" })]), _: 1 }, 8, ["disabled"]))])]), _: 1 }, 8, ["modelValue", "loading"]), _hoisted_4$6], 64);
15084
+ const i3 = Vue.resolveComponent("Paperclip"), s2 = Vue.resolveComponent("el-icon"), f2 = Vue.resolveComponent("super-icon"), A2 = Vue.resolveComponent("el-tooltip"), y2 = Vue.resolveComponent("el-tag"), w2 = Vue.resolveComponent("el-option"), C2 = Vue.resolveComponent("el-select"), P2 = Vue.resolveComponent("SuperIcon"), T2 = Vue.resolveComponent("el-upload"), M = Vue.resolveComponent("el-divider"), O = Vue.resolveComponent("el-button"), U = Vue.resolveDirective("loading");
15085
+ return Vue.openBlock(), Vue.createElementBlock(Vue.Fragment, null, [a.value ? (Vue.openBlock(), Vue.createBlock(y2, { key: 0, type: "primary" }, { default: Vue.withCtx(() => [Vue.createElementVNode("div", _hoisted_1$l, [Vue.createVNode(s2, null, { default: Vue.withCtx(() => [Vue.createVNode(i3)]), _: 1 }), Vue.createTextVNode(" " + Vue.toDisplayString(l.value) + " ", 1), Vue.createVNode(A2, { content: "预览" }, { default: Vue.withCtx(() => [Vue.createVNode(f2, { iconValue: "amb-color-icon-yulan", style: { cursor: "pointer" }, onClick: S })]), _: 1 }), Vue.createVNode(A2, { content: "下载" }, { default: Vue.withCtx(() => [Vue.createVNode(f2, { iconValue: "amb-color-icon-xiazai", style: { cursor: "pointer" }, onClick: k })]), _: 1 }), Vue.createVNode(A2, { content: "移除" }, { default: Vue.withCtx(() => [Vue.createVNode(f2, { iconValue: "amb-color-icon-shanchu", style: { cursor: "pointer" }, onClick: I })]), _: 1 })])]), _: 1 })) : Vue.createCommentVNode("", true), Vue.createVNode(Vue.unref(vueElementPlusX.Sender), { modelValue: r.value, "onUpdate:modelValue": o2[2] || (o2[2] = (e3) => r.value = e3), variant: "updown", "auto-size": { minRows: 2, maxRows: 5 }, clearable: "", ref_key: "senderRef", ref: c, submitType: "enter", loading: e2.loading, "allow-speech": "", onSubmit: o2[3] || (o2[3] = (e3) => V()), placeholder: "请您描述问题" }, { header: Vue.withCtx(() => [Vue.createVNode(Vue.unref(vueElementPlusX.Attachments), { items: m.value, drag: "", overflow: "scrollX", "hide-upload": true }, { "file-list": Vue.withCtx((e3) => [(Vue.openBlock(true), Vue.createElementBlock(Vue.Fragment, null, Vue.renderList(e3.items, (e4) => (Vue.openBlock(), Vue.createBlock(Vue.unref(vueElementPlusX.FilesCard), { key: e4.id, maxWidth: "150px", style: { margin: "10px 5px" }, name: e4.name, percent: e4.percent, uid: e4.id, status: e4.status, "show-del-icon": "", "img-variant": "square", onDelete: N }, null, 8, ["name", "percent", "uid", "status"]))), 128))]), _: 1 }, 8, ["items"])]), prefix: Vue.withCtx(() => [Vue.createElementVNode("div", _hoisted_2$b, [Vue.createVNode(C2, { style: { width: "146px", height: "32px" }, plain: "", modelValue: u.value, "onUpdate:modelValue": o2[0] || (o2[0] = (e3) => u.value = e3), onChange: x }, { default: Vue.withCtx(() => [(Vue.openBlock(), Vue.createElementBlock(Vue.Fragment, null, Vue.renderList(n, (e3) => Vue.createVNode(w2, { key: e3.value, label: e3.label, value: e3.value }, null, 8, ["label", "value"])), 64))]), _: 1 }, 8, ["modelValue"])])]), "action-list": Vue.withCtx(() => [Vue.createElementVNode("div", _hoisted_3$8, [h2.value ? (Vue.openBlock(), Vue.createBlock(A2, { key: 0, content: "上传附件" }, { default: Vue.withCtx(() => [Vue.createVNode(T2, { ref_key: "uploadRef", ref: d, action: p.value, multiple: true, headers: { Authorization: Vue.unref(getToken)() }, accept: ".txt,.docx,.pdf,.xlsx,.epub,.mobi,.md,.csv,.json,.bmp,.png,.jpg,.jpeg,.gif,.pdf", "show-file-list": false, "on-progress": D, "on-success": B, "before-upload": E }, { default: Vue.withCtx(() => [Vue.createVNode(P2, { iconValue: "amb-icon-fujianshangchuan" })]), _: 1 }, 8, ["action", "headers"])]), _: 1 })) : Vue.createCommentVNode("", true), g.value ? (Vue.openBlock(), Vue.createBlock(A2, { key: 1, content: "附加页面数据" }, { default: Vue.withCtx(() => [Vue.createVNode(P2, { onClick: b, iconValue: "amb-icon-fujiabiaogeshu", class: "send-icon" })]), _: 1 })) : Vue.createCommentVNode("", true), Vue.createVNode(A2, { content: "语音" }, { default: Vue.withCtx(() => [Vue.createVNode(_sfc_main$x, { onUserMessage: V, class: "send-icon" })]), _: 1 }), Vue.createVNode(M, { direction: "vertical" }), e2.loading ? (Vue.openBlock(), Vue.createBlock(A2, { key: 2, content: "取消" }, { default: Vue.withCtx(() => [Vue.withDirectives((Vue.openBlock(), Vue.createBlock(O, { type: "primary", style: { "border-radius": "10px" }, plain: "", round: "", onClick: v }, { default: Vue.withCtx(() => [Vue.createTextVNode(" 取消 ")]), _: 1 })), [[U, e2.loading]])]), _: 1 })) : (Vue.openBlock(), Vue.createBlock(O, { key: 3, style: { "border-radius": "10px" }, disabled: !r.value || !r.value.trim(), plain: "", circle: "", round: "", onClick: o2[1] || (o2[1] = (e3) => V()) }, { default: Vue.withCtx(() => [Vue.createVNode(P2, { iconValue: "amb-icon-fasong2" })]), _: 1 }, 8, ["disabled"]))])]), _: 1 }, 8, ["modelValue", "loading"]), _hoisted_4$6], 64);
14893
15086
  };
14894
- } }), chatSender_vue_vue_type_style_index_0_scoped_0b0c189e_lang = "", ChatSender = _export_sfc(_sfc_main$w, [["__scopeId", "data-v-0b0c189e"]]), _sfc_main$v = Vue.defineComponent({ name: "JsonView", inheritAttrs: false, __name: "json-view", props: { jsonObject: { type: Object, default: () => {
15087
+ } }), chatSender_vue_vue_type_style_index_0_scoped_6da81be3_lang = "", ChatSender = _export_sfc(_sfc_main$w, [["__scopeId", "data-v-6da81be3"]]), _sfc_main$v = Vue.defineComponent({ name: "JsonView", inheritAttrs: false, __name: "json-view", props: { jsonObject: { type: Object, default: () => {
14895
15088
  } }, height: { type: Number, default: 0 }, theme: { type: String, default: null } }, setup(e2) {
14896
15089
  const t2 = e2, o = Vue.ref(null), n = Vue.ref(), i2 = Vue.ref("400px");
14897
15090
  function a() {
@@ -15006,12 +15199,12 @@
15006
15199
  d.value = [], p.value = [], c.value = "", e3();
15007
15200
  }
15008
15201
  return (e3, t3) => {
15009
- const V = Vue.resolveComponent("el-radio-button"), v = Vue.resolveComponent("el-radio-group"), b = Vue.resolveComponent("el-form-item"), I = Vue.resolveComponent("el-option"), S = Vue.resolveComponent("el-select"), k = Vue.resolveComponent("el-button"), x = Vue.resolveComponent("el-col"), E = Vue.resolveComponent("Plus"), D = Vue.resolveComponent("el-icon"), B = Vue.resolveComponent("Delete"), N = Vue.resolveComponent("el-form"), P = Vue.resolveComponent("el-table-column"), M = Vue.resolveComponent("el-link"), T = Vue.resolveComponent("el-table"), O = Vue.resolveComponent("el-dialog"), U = Vue.resolveDirective("loading");
15202
+ const V = Vue.resolveComponent("el-radio-button"), v = Vue.resolveComponent("el-radio-group"), b = Vue.resolveComponent("el-form-item"), I = Vue.resolveComponent("el-option"), S = Vue.resolveComponent("el-select"), k = Vue.resolveComponent("el-button"), x = Vue.resolveComponent("el-col"), E = Vue.resolveComponent("Plus"), D = Vue.resolveComponent("el-icon"), B = Vue.resolveComponent("Delete"), N = Vue.resolveComponent("el-form"), P = Vue.resolveComponent("el-table-column"), T = Vue.resolveComponent("el-link"), M = Vue.resolveComponent("el-table"), O = Vue.resolveComponent("el-dialog"), U = Vue.resolveDirective("loading");
15010
15203
  return Vue.openBlock(), Vue.createElementBlock("div", _hoisted_1$j, [Vue.createVNode(N, { style: { "max-height": "200px", "overflow-y": "auto" }, size: "small", inline: true, model: a.value, "label-width": "60" }, { default: Vue.withCtx(() => [Vue.createVNode(x, null, { default: Vue.withCtx(() => [Vue.createVNode(b, { label: "展示方式" }, { default: Vue.withCtx(() => [Vue.createVNode(v, { modelValue: n.value, "onUpdate:modelValue": t3[0] || (t3[0] = (e4) => n.value = e4), size: "small" }, { default: Vue.withCtx(() => [Vue.createVNode(V, { label: "表格", value: "table" }), Vue.createVNode(V, { label: "图表", value: "chart" })]), _: 1 }, 8, ["modelValue"])]), _: 1 }), "chart" === n.value ? (Vue.openBlock(), Vue.createBlock(b, { key: 0, label: "图表类型" }, { default: Vue.withCtx(() => [Vue.createVNode(S, { style: { width: "100px" }, modelValue: a.value.chartType, "onUpdate:modelValue": t3[1] || (t3[1] = (e4) => a.value.chartType = e4), placeholder: "选择图标类型", onChange: y, clearable: "" }, { default: Vue.withCtx(() => [Vue.createVNode(I, { label: "柱折图", value: "barLine" }), Vue.createVNode(I, { label: "饼状图", value: "pie" }), Vue.createVNode(I, { label: "雷达图", value: "radar" })]), _: 1 }, 8, ["modelValue"])]), _: 1 })) : Vue.createCommentVNode("", true), "chart" === n.value ? (Vue.openBlock(), Vue.createBlock(b, { key: 1, label: "维度" }, { default: Vue.withCtx(() => [Vue.createVNode(S, { style: { width: "150px" }, modelValue: a.value.xAxis, "onUpdate:modelValue": t3[2] || (t3[2] = (e4) => a.value.xAxis = e4), placeholder: "选择图标类型", clearable: "" }, { default: Vue.withCtx(() => [(Vue.openBlock(true), Vue.createElementBlock(Vue.Fragment, null, Vue.renderList(h2.value, (e4) => (Vue.openBlock(), Vue.createBlock(I, { key: e4, label: e4, value: e4 }, null, 8, ["label", "value"]))), 128))]), _: 1 }, 8, ["modelValue"])]), _: 1 })) : Vue.createCommentVNode("", true), "chart" === n.value ? (Vue.openBlock(), Vue.createBlock(b, { key: 2 }, { default: Vue.withCtx(() => [Vue.createVNode(k, { type: "primary", onClick: w }, { default: Vue.withCtx(() => [Vue.createTextVNode("生成图表")]), _: 1 })]), _: 1 })) : Vue.createCommentVNode("", true)]), _: 1 }), "chart" === n.value ? (Vue.openBlock(true), Vue.createElementBlock(Vue.Fragment, { key: 0 }, Vue.renderList(a.value.series, (e4, t4) => (Vue.openBlock(), Vue.createElementBlock("div", { key: t4 }, ["barLine" === a.value.chartType ? (Vue.openBlock(), Vue.createBlock(b, { key: 0, label: "类型" }, { default: Vue.withCtx(() => [Vue.createVNode(S, { style: { width: "100px" }, modelValue: e4.type, "onUpdate:modelValue": (t5) => e4.type = t5, placeholder: "选择显示类型", clearable: "" }, { default: Vue.withCtx(() => [Vue.createVNode(I, { label: "柱形", value: "bar" }), Vue.createVNode(I, { label: "折线", value: "line" })]), _: 2 }, 1032, ["modelValue", "onUpdate:modelValue"])]), _: 2 }, 1024)) : Vue.createCommentVNode("", true), Vue.createVNode(b, { label: "数据项" }, { default: Vue.withCtx(() => [Vue.createVNode(S, { style: { width: "150px" }, modelValue: e4.yAxis, "onUpdate:modelValue": (t5) => e4.yAxis = t5, placeholder: "选择数据项", clearable: "" }, { default: Vue.withCtx(() => [(Vue.openBlock(true), Vue.createElementBlock(Vue.Fragment, null, Vue.renderList(h2.value, (e5) => (Vue.openBlock(), Vue.createBlock(I, { key: e5, label: e5, value: e5 }, null, 8, ["label", "value"]))), 128))]), _: 2 }, 1032, ["modelValue", "onUpdate:modelValue"])]), _: 2 }, 1024), Vue.createVNode(b, { label: "计算方式" }, { default: Vue.withCtx(() => [Vue.createVNode(S, { style: { width: "100px" }, modelValue: e4.calculation, "onUpdate:modelValue": (t5) => e4.calculation = t5, placeholder: "选择计算方式", clearable: "" }, { default: Vue.withCtx(() => [Vue.createVNode(I, { label: "计数", value: "count" }), Vue.createVNode(I, { label: "求和", value: "sum" }), Vue.createVNode(I, { label: "平均值", value: "average" }), Vue.createVNode(I, { label: "最大值", value: "max" }), Vue.createVNode(I, { label: "最小值", value: "min" })]), _: 2 }, 1032, ["modelValue", "onUpdate:modelValue"])]), _: 2 }, 1024), "pie" !== a.value.chartType ? (Vue.openBlock(), Vue.createBlock(b, { key: 1 }, { default: Vue.withCtx(() => [Vue.createVNode(D, { size: "14", style: { color: "#5893ef", cursor: "pointer", "font-weight": "bold", "margin-right": "8px" }, onClick: (e5) => {
15011
15204
  a.value.series.push({ type: "bar", yAxis: "", calculation: "count" });
15012
15205
  } }, { default: Vue.withCtx(() => [Vue.createVNode(E)]), _: 2 }, 1032, ["onClick"]), Vue.createVNode(D, { size: "14", style: { color: "#5893ef", cursor: "pointer" }, onClick: (e5) => function(e6) {
15013
15206
  a.value.series.length > 1 ? a.value.series.splice(e6, 1) : elementPlus.ElMessage.warning("至少保留一个系列");
15014
- }(t4) }, { default: Vue.withCtx(() => [Vue.createVNode(B)]), _: 2 }, 1032, ["onClick"])]), _: 2 }, 1024)) : Vue.createCommentVNode("", true)]))), 128)) : Vue.createCommentVNode("", true)]), _: 1 }, 8, ["model"]), "table" === n.value ? (Vue.openBlock(), Vue.createBlock(T, { key: 0, size: "small", data: l.value, fit: "", border: true, resizable: true, style: { width: "100%" }, "max-height": "500px" }, { default: Vue.withCtx(() => [A.value && A.value.length > 0 ? (Vue.openBlock(), Vue.createElementBlock(Vue.Fragment, { key: 0 }, [Vue.createVNode(P, { type: "index", width: "50", label: "序号" }), Vue.withDirectives(Vue.createVNode(P, { align: "center", fit: "", label: "关联数据", width: "180" }, { default: Vue.withCtx((e4) => [(Vue.openBlock(true), Vue.createElementBlock(Vue.Fragment, null, Vue.renderList(A.value, (t4) => (Vue.openBlock(), Vue.createElementBlock("div", null, [Vue.createElementVNode("div", _hoisted_2$9, [Vue.createVNode(M, { onClick: (o2) => function(e5, t5, o3) {
15207
+ }(t4) }, { default: Vue.withCtx(() => [Vue.createVNode(B)]), _: 2 }, 1032, ["onClick"])]), _: 2 }, 1024)) : Vue.createCommentVNode("", true)]))), 128)) : Vue.createCommentVNode("", true)]), _: 1 }, 8, ["model"]), "table" === n.value ? (Vue.openBlock(), Vue.createBlock(M, { key: 0, size: "small", data: l.value, fit: "", border: true, resizable: true, style: { width: "100%" }, "max-height": "500px" }, { default: Vue.withCtx(() => [A.value && A.value.length > 0 ? (Vue.openBlock(), Vue.createElementBlock(Vue.Fragment, { key: 0 }, [Vue.createVNode(P, { type: "index", width: "50", label: "序号" }), Vue.withDirectives(Vue.createVNode(P, { align: "center", fit: "", label: "关联数据", width: "180" }, { default: Vue.withCtx((e4) => [(Vue.openBlock(true), Vue.createElementBlock(Vue.Fragment, null, Vue.renderList(A.value, (t4) => (Vue.openBlock(), Vue.createElementBlock("div", null, [Vue.createElementVNode("div", _hoisted_2$9, [Vue.createVNode(T, { onClick: (o2) => function(e5, t5, o3) {
15015
15208
  var _a;
15016
15209
  if (m.value = true, d.value = [], p.value = [], (_a = s[t5.ID]) == null ? void 0 : _a[o3.id]) {
15017
15210
  const e6 = /* @__PURE__ */ new Set();
@@ -15035,7 +15228,7 @@
15035
15228
  }).catch(() => {
15036
15229
  u.value = true, m.value = false;
15037
15230
  });
15038
- }(e4.$index, e4.row, t4), type: "primary" }, { default: Vue.withCtx(() => [Vue.createTextVNode(Vue.toDisplayString(t4.alias), 1)]), _: 2 }, 1032, ["onClick"]), Vue.createTextVNode("  "), Vue.createVNode(D, { style: { color: "#409eff" } }, { default: Vue.withCtx(() => [Vue.createVNode(Vue.unref(ElementPlusIconsVue.InfoFilled))]), _: 1 })])]))), 256))]), _: 1 }, 512), [[Vue.vShow, A.value && A.value.length > 0]])], 64)) : Vue.createCommentVNode("", true), (Vue.openBlock(true), Vue.createElementBlock(Vue.Fragment, null, Vue.renderList(h2.value, (e4) => (Vue.openBlock(), Vue.createBlock(P, { key: e4, prop: e4, label: e4 }, null, 8, ["prop", "label"]))), 128))]), _: 1 }, 8, ["data"])) : "chart" === n.value && i2.value ? (Vue.openBlock(), Vue.createBlock(Vue.unref(VChart), { key: 1, ref_key: "chartRef", ref: o, style: { height: "400px" }, option: g.value, autoresize: "" }, null, 8, ["option"])) : Vue.createCommentVNode("", true), Vue.createVNode(O, { modelValue: u.value, "onUpdate:modelValue": t3[4] || (t3[4] = (e4) => u.value = e4), "destroy-on-close": true, title: c.value, "before-close": C }, { footer: Vue.withCtx(() => [Vue.createElementVNode("div", _hoisted_3$6, [Vue.createVNode(k, { onClick: t3[3] || (t3[3] = (e4) => u.value = false) }, { default: Vue.withCtx(() => [Vue.createTextVNode("关闭")]), _: 1 })])]), default: Vue.withCtx(() => [Vue.withDirectives((Vue.openBlock(), Vue.createBlock(T, { data: d.value, size: "small", style: { width: "100%" } }, { default: Vue.withCtx(() => [Vue.createVNode(P, { type: "index", width: "50", label: "序号" }), (Vue.openBlock(true), Vue.createElementBlock(Vue.Fragment, null, Vue.renderList(p.value, (e4) => (Vue.openBlock(), Vue.createBlock(P, { key: e4.prop, prop: e4.prop, label: e4.label }, null, 8, ["prop", "label"]))), 128))]), _: 1 }, 8, ["data"])), [[U, m.value]])]), _: 1 }, 8, ["modelValue", "title"])]);
15231
+ }(e4.$index, e4.row, t4), type: "primary" }, { default: Vue.withCtx(() => [Vue.createTextVNode(Vue.toDisplayString(t4.alias), 1)]), _: 2 }, 1032, ["onClick"]), Vue.createTextVNode("  "), Vue.createVNode(D, { style: { color: "#409eff" } }, { default: Vue.withCtx(() => [Vue.createVNode(Vue.unref(ElementPlusIconsVue.InfoFilled))]), _: 1 })])]))), 256))]), _: 1 }, 512), [[Vue.vShow, A.value && A.value.length > 0]])], 64)) : Vue.createCommentVNode("", true), (Vue.openBlock(true), Vue.createElementBlock(Vue.Fragment, null, Vue.renderList(h2.value, (e4) => (Vue.openBlock(), Vue.createBlock(P, { key: e4, prop: e4, label: e4 }, null, 8, ["prop", "label"]))), 128))]), _: 1 }, 8, ["data"])) : "chart" === n.value && i2.value ? (Vue.openBlock(), Vue.createBlock(Vue.unref(VChart), { key: 1, ref_key: "chartRef", ref: o, style: { height: "400px" }, option: g.value, autoresize: "" }, null, 8, ["option"])) : Vue.createCommentVNode("", true), Vue.createVNode(O, { modelValue: u.value, "onUpdate:modelValue": t3[4] || (t3[4] = (e4) => u.value = e4), "destroy-on-close": true, title: c.value, "before-close": C }, { footer: Vue.withCtx(() => [Vue.createElementVNode("div", _hoisted_3$6, [Vue.createVNode(k, { onClick: t3[3] || (t3[3] = (e4) => u.value = false) }, { default: Vue.withCtx(() => [Vue.createTextVNode("关闭")]), _: 1 })])]), default: Vue.withCtx(() => [Vue.withDirectives((Vue.openBlock(), Vue.createBlock(M, { data: d.value, size: "small", style: { width: "100%" } }, { default: Vue.withCtx(() => [Vue.createVNode(P, { type: "index", width: "50", label: "序号" }), (Vue.openBlock(true), Vue.createElementBlock(Vue.Fragment, null, Vue.renderList(p.value, (e4) => (Vue.openBlock(), Vue.createBlock(P, { key: e4.prop, prop: e4.prop, label: e4.label }, null, 8, ["prop", "label"]))), 128))]), _: 1 }, 8, ["data"])), [[U, m.value]])]), _: 1 }, 8, ["modelValue", "title"])]);
15039
15232
  };
15040
15233
  } }), answerInteractionData_vue_vue_type_style_index_0_scoped_b9f40acf_lang = "", AnswerInteractionData = _export_sfc(_sfc_main$s, [["__scopeId", "data-v-b9f40acf"]]), _hoisted_1$i = { style: { "max-height": "700px" } }, _hoisted_2$8 = { key: 0, style: { "text-align": "center", color: "#999", "margin-top": "20px" } }, _sfc_main$r = Vue.defineComponent({ __name: "answer-auto-chart", props: { chartProps: { type: Object, default: {} } }, setup(e2) {
15041
15234
  const t2 = e2;
@@ -15191,7 +15384,7 @@
15191
15384
  });
15192
15385
  }(t5, e5), trigger: "click" }, { dropdown: Vue.withCtx(() => [Vue.createVNode(A, null, { default: Vue.withCtx(() => [e5.collected ? Vue.createCommentVNode("", true) : (Vue.openBlock(), Vue.createBlock(f, { key: 0, command: "collect" }, { default: Vue.withCtx(() => [Vue.createVNode(g, null, { default: Vue.withCtx(() => [Vue.createVNode(Vue.unref(ElementPlusIconsVue.StarFilled))]), _: 1 }), Vue.createTextVNode("收藏 ")]), _: 1 })), e5.collected ? (Vue.openBlock(), Vue.createBlock(f, { key: 1, command: "uncollect" }, { default: Vue.withCtx(() => [Vue.createVNode(g, null, { default: Vue.withCtx(() => [Vue.createVNode(Vue.unref(ElementPlusIconsVue.Star))]), _: 1 }), Vue.createTextVNode("取消收藏 ")]), _: 1 })) : Vue.createCommentVNode("", true), e5.useful ? Vue.createCommentVNode("", true) : (Vue.openBlock(), Vue.createBlock(f, { key: 2, command: "useful" }, { default: Vue.withCtx(() => [Vue.createTextVNode("有用")]), _: 1 })), e5.useful ? (Vue.openBlock(), Vue.createBlock(f, { key: 3, command: "unuseful" }, { default: Vue.withCtx(() => [Vue.createTextVNode("取消有用")]), _: 1 })) : Vue.createCommentVNode("", true), Vue.createVNode(f, { command: "delete" }, { default: Vue.withCtx(() => [Vue.createTextVNode("删除")]), _: 1 })]), _: 2 }, 1024)]), default: Vue.withCtx(() => [Vue.createVNode(g, { class: "more-filled" }, { default: Vue.withCtx(() => [Vue.createVNode(Vue.unref(ElementPlusIconsVue.MoreFilled))]), _: 1 })]), _: 2 }, 1032, ["onCommand"])], 2))), 256))])) : Vue.createCommentVNode("", true)], 64))), 128))]), _: 1 }), Vue.createVNode(C, { type: "primary", class: "new-session-button", onClick: p }, { icon: Vue.withCtx(() => [Vue.createVNode(u2, { iconValue: "amb-icon-xinjianhuihua" })]), default: Vue.withCtx(() => [Vue.createTextVNode(" 新建会话 ")]), _: 1 })], 512), [[Vue.vShow, c.value]])], 64);
15193
15386
  };
15194
- } }), sidebarItem_vue_vue_type_style_index_0_scoped_1e62eff8_lang = "", SidebarItem$3 = _export_sfc(_sfc_main$q, [["__scopeId", "data-v-1e62eff8"]]), _withScopeId$3 = (e2) => (Vue.pushScopeId("data-v-e25b360d"), e2 = e2(), Vue.popScopeId(), e2), _hoisted_1$g = { key: 0 }, _hoisted_2$6 = ["src"], _hoisted_3$4 = { class: "chat-content" }, _hoisted_4$4 = { style: { display: "flex", "flex-direction": "row" } }, _hoisted_5$4 = { class: "chat-embed__main_content" }, _hoisted_6$2 = ["href", "title"], _hoisted_7$1 = ["href", "target"], _hoisted_8$1 = { style: { "font-size": "10px", color: "#999", "text-align": "right" } }, _hoisted_9$1 = { key: 1, style: { "margin-top": "5px", width: "100%" } }, _hoisted_10$1 = _withScopeId$3(() => Vue.createElementVNode("div", { class: "content-container-header" }, "引用文件", -1)), _hoisted_11$1 = ["onClick"], _hoisted_12 = { style: { display: "none" } }, _sfc_main$p = Vue.defineComponent({ __name: "index", setup(e2) {
15387
+ } }), sidebarItem_vue_vue_type_style_index_0_scoped_1e62eff8_lang = "", SidebarItem$3 = _export_sfc(_sfc_main$q, [["__scopeId", "data-v-1e62eff8"]]), _withScopeId$3 = (e2) => (Vue.pushScopeId("data-v-e84e6e12"), e2 = e2(), Vue.popScopeId(), e2), _hoisted_1$g = { key: 0 }, _hoisted_2$6 = ["src"], _hoisted_3$4 = { class: "chat-content" }, _hoisted_4$4 = { style: { display: "flex", "flex-direction": "row" } }, _hoisted_5$4 = { class: "chat-embed__main_content" }, _hoisted_6$2 = ["href", "title"], _hoisted_7$1 = ["href", "target"], _hoisted_8$1 = { style: { "font-size": "10px", color: "#999", "text-align": "right" } }, _hoisted_9$1 = { key: 1, style: { "margin-top": "5px", width: "100%" } }, _hoisted_10$1 = _withScopeId$3(() => Vue.createElementVNode("div", { class: "content-container-header" }, "引用文件", -1)), _hoisted_11$1 = ["onClick"], _hoisted_12 = { style: { display: "none" } }, _sfc_main$p = Vue.defineComponent({ __name: "index", setup(e2) {
15195
15388
  var _a, _b, _c;
15196
15389
  const t2 = function() {
15197
15390
  try {
@@ -15201,9 +15394,9 @@
15201
15394
  return console.error("获取customSystem参数失败"), null;
15202
15395
  }
15203
15396
  }();
15204
- const o = Vue.ref(((_c = (_b = (_a = window.$vueApp) == null ? void 0 : _a.config) == null ? void 0 : _b.globalProperties) == null ? void 0 : _c.enableAiChat) || false), { startStream: n, cancel: i2, data: a, error: l, isLoading: s } = vueElementPlusX.useXStream(), { t: r } = vueI18n.useI18n(), u = Vue.ref(), c = Vue.ref(true), d = Vue.ref([]), p = Vue.ref({}), m = Vue.ref(false), h2 = Vue.ref(AI_MODELS.RAGFLOW), g = Vue.ref({}), f = {}, A = Vue.ref(true), y = Vue.ref(null), w = Vue.ref(false), C = Vue.ref(false), V = Vue.ref(0), v = Vue.ref(""), b = Vue.ref("500px"), I = Vue.ref(250), S = Vue.ref("https://cube.elemecdn.com/0/88/03b0d39583f48206768a7534e55bcpng.png"), k = Vue.ref(false), x = Vue.ref({}), E = Vue.ref(), D = Vue.ref(), B = Vue.ref(), N = Vue.ref(), P = Vue.ref(), M = Vue.ref(false);
15205
- let T = null;
15206
- const O = Vue.ref(null), U = document.documentElement.clientWidth - 100, L = document.documentElement.clientHeight - 100, { x: j, y: F, style: R } = core$1.useDraggable(u, { initialValue: { x: U, y: L }, preventDefault: true, onStart() {
15397
+ const o = Vue.ref(((_c = (_b = (_a = window.$vueApp) == null ? void 0 : _a.config) == null ? void 0 : _b.globalProperties) == null ? void 0 : _c.enableAiChat) || false), { startStream: n, cancel: i2, data: a, error: l, isLoading: s } = vueElementPlusX.useXStream(), { t: r } = vueI18n.useI18n(), u = Vue.ref(), c = Vue.ref(true), d = Vue.ref([]), p = Vue.ref({}), m = Vue.ref(false), h2 = Vue.ref(AI_MODELS.RAGFLOW), g = Vue.ref({}), f = {}, A = Vue.ref(true), y = Vue.ref(null), w = Vue.ref(false), C = Vue.ref(false), V = Vue.ref(0), v = Vue.ref(""), b = Vue.ref("500px"), I = Vue.ref(250), S = Vue.ref("https://cube.elemecdn.com/0/88/03b0d39583f48206768a7534e55bcpng.png"), k = Vue.ref(false), x = Vue.ref({}), E = Vue.ref(), D = Vue.ref(), B = Vue.ref(), N = Vue.ref(), P = Vue.ref(), T = Vue.ref(false);
15398
+ let M = null;
15399
+ const O = Vue.ref(null), U = document.documentElement.clientWidth - 100, L = document.documentElement.clientHeight - 100, { x: F, y: j, style: R } = core$1.useDraggable(u, { initialValue: { x: U, y: L }, preventDefault: true, onStart() {
15207
15400
  c.value = true;
15208
15401
  }, onMove(e3) {
15209
15402
  c.value = false, function(e4) {
@@ -15218,7 +15411,7 @@
15218
15411
  if (!u.value)
15219
15412
  return;
15220
15413
  const e3 = window.innerWidth - u.value.offsetWidth, t3 = window.innerHeight - u.value.offsetHeight;
15221
- j.value > e3 && (j.value = e3), F.value > t3 && (F.value = t3);
15414
+ F.value > e3 && (F.value = e3), j.value > t3 && (j.value = t3);
15222
15415
  }
15223
15416
  function z(e3) {
15224
15417
  var _a2;
@@ -15247,13 +15440,13 @@
15247
15440
  ((_a2 = D.value) == null ? void 0 : _a2._resizeObserver) && D.value._resizeObserver.disconnect();
15248
15441
  }), Vue.onUnmounted(() => {
15249
15442
  window.removeEventListener("resize", Q), function() {
15250
- T && (T.abort(), T = null);
15251
- i2(), M.value = false, m.value = false;
15443
+ M && (M.abort(), M = null);
15444
+ i2(), T.value = false, m.value = false;
15252
15445
  }();
15253
15446
  });
15254
15447
  const G = Vue.computed(() => {
15255
15448
  var _a2, _b2, _c2;
15256
- if (!M.value || !a.value.length)
15449
+ if (!T.value || !a.value.length)
15257
15450
  return "";
15258
15451
  const e3 = a.value[a.value.length - 1];
15259
15452
  try {
@@ -15284,7 +15477,7 @@
15284
15477
  o2 && (p.value.thinkingContent = o2), n2 && (e3.isChunk ? p.value.content += n2 : p.value.content = n2);
15285
15478
  }
15286
15479
  function Y() {
15287
- if (m.value = false, T && (T.abort(), T = null), M.value && (i2(), M.value = false, d.value.length > 0)) {
15480
+ if (m.value = false, M && (M.abort(), M = null), T.value && (i2(), T.value = false, d.value.length > 0)) {
15288
15481
  const e3 = d.value[d.value.length - 1];
15289
15482
  e3 && "ai" === e3.role && (e3.thinkingStatus = MESSAGE_STATUS.END, e3.content || (e3.content = "回答已取消"));
15290
15483
  }
@@ -15303,7 +15496,7 @@
15303
15496
  });
15304
15497
  }
15305
15498
  function X(e3) {
15306
- switch (m.value && Y(), e3.systemCode = t2, M.value = false, e3.aiModel) {
15499
+ switch (m.value && Y(), e3.systemCode = t2, T.value = false, e3.aiModel) {
15307
15500
  case AI_MODELS.RAGFLOW:
15308
15501
  !function(e4) {
15309
15502
  if (!e4)
@@ -15355,7 +15548,7 @@
15355
15548
  if (!e4.question)
15356
15549
  return;
15357
15550
  const o2 = createUserMessage(e4);
15358
- d.value.push(o2), M.value = true, m.value = true, p.value = createAiMessage(e4, true), d.value.push(p.value);
15551
+ d.value.push(o2), T.value = true, m.value = true, p.value = createAiMessage(e4, true), d.value.push(p.value);
15359
15552
  const n2 = H(h2.value);
15360
15553
  window.$vueApp.config.globalProperties.$http.post(window.$vueApp.config.globalProperties.baseAPI + "/component/aippt/createPpt", { menuName: e4.menuName, menuCode: e4.menuCode, question: e4.question, additionalDataLabel: e4.additionalDataLabel, additionalData: JSON.stringify(e4.additionalData), fileId: e4.fileId, fileInfos: e4.fileInfos, systemCode: t2, messageId: n2 }).then((e5) => {
15361
15554
  if (e5.fileUrl) {
@@ -15409,10 +15602,10 @@
15409
15602
  if (e3.question)
15410
15603
  try {
15411
15604
  const o2 = createUserMessage(e3);
15412
- d.value.push(o2), M.value = true, m.value = true;
15605
+ d.value.push(o2), T.value = true, m.value = true;
15413
15606
  const i3 = H(h2.value);
15414
- p.value = createAiMessage(e3, true), d.value.push(p.value), T = new AbortController();
15415
- const a2 = getToken(), l2 = await fetch(window.$vueApp.config.globalProperties.baseAPI + "/component/ai/multiple-fuck", { method: "POST", headers: { "Content-Type": "application/json", authorization: a2 || "" }, body: JSON.stringify({ question: e3.question, messageId: i3, data: JSON.stringify(e3.additionalData), fileId: e3.fileId, systemCode: t2 }), signal: T.signal });
15607
+ p.value = createAiMessage(e3, true), d.value.push(p.value), M = new AbortController();
15608
+ const a2 = getToken(), l2 = await fetch(window.$vueApp.config.globalProperties.baseAPI + "/component/ai/multiple-fuck", { method: "POST", headers: { "Content-Type": "application/json", authorization: a2 || "" }, body: JSON.stringify({ question: e3.question, messageId: i3, data: JSON.stringify(e3.additionalData), fileId: e3.fileId, systemCode: t2 }), signal: M.signal });
15416
15609
  if (!l2.body)
15417
15610
  throw new Error("No response body");
15418
15611
  await n({ readableStream: l2.body });
@@ -15422,8 +15615,8 @@
15422
15615
  }
15423
15616
  async function ae(e3) {
15424
15617
  try {
15425
- M.value = true, p.value = createAiMessage({ question: e3 }, true), p.value.messageType = "realtime", d.value.push(p.value), T = new AbortController();
15426
- const o2 = getToken(), i3 = await fetch(window.$vueApp.config.globalProperties.baseAPI + "/mc/rag-flow/converse-with-chat-stream", { method: "POST", headers: { "Content-Type": "text/event-stream", authorization: o2 }, body: JSON.stringify({ question: e3, stream: true, systemCode: t2, session_id: g.value[h2.value] }), signal: T.signal });
15618
+ T.value = true, p.value = createAiMessage({ question: e3 }, true), p.value.messageType = "realtime", d.value.push(p.value), M = new AbortController();
15619
+ const o2 = getToken(), i3 = await fetch(window.$vueApp.config.globalProperties.baseAPI + "/mc/rag-flow/converse-with-chat-stream", { method: "POST", headers: { "Content-Type": "text/event-stream", authorization: o2 }, body: JSON.stringify({ question: e3, stream: true, systemCode: t2, session_id: g.value[h2.value] }), signal: M.signal });
15427
15620
  if (!i3.body)
15428
15621
  throw new Error("No response body");
15429
15622
  await n({ readableStream: i3.body });
@@ -15465,9 +15658,9 @@
15465
15658
  y.value.value = e4;
15466
15659
  }), dialogFullScreen: C.value, aiModel: h2.value }, null, 8, ["style", "dialogFullScreen", "aiModel"]), Vue.createElementVNode("div", _hoisted_3$4, [Vue.createVNode(Header, { aiAvatar: S.value, aiModel: h2.value, chatSessionId: g.value, dialogFullScreen: C.value, aiHistory: y.value, onExpandDialog: W, onShowChatDialog: K, onNewChatSession: ee }, null, 8, ["aiAvatar", "aiModel", "chatSessionId", "dialogFullScreen", "aiHistory"]), Vue.createElementVNode("div", _hoisted_4$4, [(Vue.openBlock(), Vue.createElementBlock("div", { ref_key: "talkMainRef", ref: N, class: "chat-embed__main", key: V.value }, [Vue.createElementVNode("div", _hoisted_5$4, [Vue.createVNode(Vue.unref(vueElementPlusX.BubbleList), { ref_key: "bubbleListRef", ref: E, list: d.value, "max-height": b.value, "is-fog": true }, { avatar: Vue.withCtx(({ item: e4 }) => []), content: Vue.withCtx(({ item: e4 }) => {
15467
15660
  var _a2;
15468
- return [e4.isRecommend || null === e4.thinkingContent ? Vue.createCommentVNode("", true) : (Vue.openBlock(), Vue.createElementBlock(Vue.Fragment, { key: 0 }, ["failed" !== e4.messageStatus ? (Vue.openBlock(), Vue.createBlock(Vue.unref(vueElementPlusX.Thinking), { key: 0, "button-width": "180px", style: { "margin-bottom": "5px" }, modelValue: e4.showThinkingContent, "onUpdate:modelValue": (t4) => e4.showThinkingContent = t4, status: e4.thinkingStatus, "auto-collapse": "", content: e4.thinkingContent, typing: { interval: 20 }, duration: ".3s" }, null, 8, ["modelValue", "onUpdate:modelValue", "status", "content"])) : Vue.createCommentVNode("", true)], 64)), e4.link ? (Vue.openBlock(), Vue.createElementBlock("a", { key: 1, href: e4.link, title: e4.linkTitle, target: "blank" }, Vue.toDisplayString(e4.content), 9, _hoisted_6$2)) : e4.content ? (Vue.openBlock(), Vue.createElementBlock(Vue.Fragment, { key: 2 }, [Vue.createElementVNode("div", { class: Vue.normalizeClass(["ai" === e4.role ? "content-container" : "content-borderless-container", "chat-content-font"]) }, ["ai" !== e4.role || e4.isRecommend ? "user" === e4.role ? (Vue.openBlock(), Vue.createElementBlock(Vue.Fragment, { key: 1 }, [Vue.createTextVNode(Vue.toDisplayString(e4.content) + " ", 1), ((_a2 = e4.additionalData) == null ? void 0 : _a2.length) > 0 ? (Vue.openBlock(), Vue.createBlock(ChatAdditionData, { key: 0, item: e4, onViewJson: oe, onDownloadJson: ne }, null, 8, ["item"])) : Vue.createCommentVNode("", true)], 64)) : (Vue.openBlock(), Vue.createElementBlock(Vue.Fragment, { key: 2 }, [Vue.createTextVNode(Vue.toDisplayString(e4.content), 1)], 64)) : (Vue.openBlock(), Vue.createElementBlock(Vue.Fragment, { key: 0 }, [e4.messageType && "history" !== e4.messageType ? (Vue.openBlock(), Vue.createBlock(Vue.unref(vueElementPlusX.Typewriter), { key: 1, allowHtml: "", content: e4.content, typing: true, "is-markdown": true, "is-fog": "" }, null, 8, ["content"])) : (Vue.openBlock(), Vue.createBlock(Vue.unref(vueElementPlusX.XMarkdown), { key: 0, markdown: e4.content, allowHtml: true, content: e4.content, typing: { interval: 10 }, "is-markdown": true }, { "amb-ai-tip": Vue.withCtx(({ ...t4 }) => [Vue.createVNode(ChatAiAnswerTip, { item: e4, itemProps: t4, onClickDocAgg: le }, null, 8, ["item", "itemProps"])]), "amb-alink": Vue.withCtx(({ ...e5 }) => [Vue.createElementVNode("a", { href: e5.href, target: e5.target }, Vue.toDisplayString(e5.text), 9, _hoisted_7$1)]), "amb-home-chart": Vue.withCtx(({ ...e5 }) => [Vue.createVNode(AnswerHomeChart, { chartProps: e5, class: "chat-chart-container" }, null, 8, ["chartProps"])]), "amb-interaction-data": Vue.withCtx(({ ...e5 }) => [Vue.createVNode(AnswerInteractionData, { chartProps: e5, class: "chat-chart-container" }, null, 8, ["chartProps"])]), "amb-auto-chart": Vue.withCtx(({ ...e5 }) => [Vue.createVNode(AnswerAutoChart, { chartProps: e5, class: "chat-chart-container" }, null, 8, ["chartProps"])]), _: 2 }, 1032, ["markdown", "content"]))], 64)), Vue.createElementVNode("div", _hoisted_8$1, [Vue.createElementVNode("span", null, Vue.toDisplayString(e4.sendTime), 1)])], 2), e4.recommendations && e4.recommendations.length > 0 ? (Vue.openBlock(), Vue.createBlock(RecommendationMessage, { key: 0, item: e4, onClickRecommendation: $ }, null, 8, ["item"])) : Vue.createCommentVNode("", true), e4.docAggs && e4.docAggs.length > 0 ? (Vue.openBlock(), Vue.createElementBlock("div", _hoisted_9$1, [_hoisted_10$1, (Vue.openBlock(true), Vue.createElementBlock(Vue.Fragment, null, Vue.renderList(e4.docAggs, (e5, t4) => (Vue.openBlock(), Vue.createElementBlock("div", { onClick: (t5) => le(e5), class: "doc-agg-item" }, Vue.toDisplayString(e5.doc_name), 9, _hoisted_11$1))), 256))])) : Vue.createCommentVNode("", true)], 64)) : Vue.createCommentVNode("", true)];
15661
+ return [e4.isRecommend || null === e4.thinkingContent ? Vue.createCommentVNode("", true) : (Vue.openBlock(), Vue.createElementBlock(Vue.Fragment, { key: 0 }, ["failed" !== e4.messageStatus ? (Vue.openBlock(), Vue.createBlock(Vue.unref(vueElementPlusX.Thinking), { key: 0, "button-width": "180px", style: { "margin-bottom": "5px" }, modelValue: e4.showThinkingContent, "onUpdate:modelValue": (t4) => e4.showThinkingContent = t4, status: e4.thinkingStatus, "auto-collapse": "", content: e4.thinkingContent, typing: { interval: 20 }, duration: ".3s" }, null, 8, ["modelValue", "onUpdate:modelValue", "status", "content"])) : Vue.createCommentVNode("", true)], 64)), e4.link ? (Vue.openBlock(), Vue.createElementBlock("a", { key: 1, href: e4.link, title: e4.linkTitle, target: "blank" }, Vue.toDisplayString(e4.content), 9, _hoisted_6$2)) : e4.content ? (Vue.openBlock(), Vue.createElementBlock(Vue.Fragment, { key: 2 }, [Vue.createElementVNode("div", { class: Vue.normalizeClass(["ai" === e4.role ? "content-container" : "content-borderless-container", "chat-content-font"]) }, ["ai" !== e4.role || e4.isRecommend ? "user" === e4.role ? (Vue.openBlock(), Vue.createElementBlock(Vue.Fragment, { key: 1 }, [Vue.createTextVNode(Vue.toDisplayString(e4.content) + " ", 1), ((_a2 = e4.additionalData) == null ? void 0 : _a2.length) > 0 && e4.additionalDataLabel ? (Vue.openBlock(), Vue.createBlock(ChatAdditionData, { key: 0, item: e4, onViewJson: oe, onDownloadJson: ne }, null, 8, ["item"])) : Vue.createCommentVNode("", true)], 64)) : (Vue.openBlock(), Vue.createElementBlock(Vue.Fragment, { key: 2 }, [Vue.createTextVNode(Vue.toDisplayString(e4.content), 1)], 64)) : (Vue.openBlock(), Vue.createElementBlock(Vue.Fragment, { key: 0 }, [e4.messageType && "history" !== e4.messageType ? (Vue.openBlock(), Vue.createBlock(Vue.unref(vueElementPlusX.Typewriter), { key: 1, allowHtml: "", content: e4.content, typing: true, "is-markdown": true, "is-fog": "" }, null, 8, ["content"])) : (Vue.openBlock(), Vue.createBlock(Vue.unref(vueElementPlusX.XMarkdown), { key: 0, markdown: e4.content, allowHtml: true, content: e4.content, typing: { interval: 10 }, "is-markdown": true }, { "amb-ai-tip": Vue.withCtx(({ ...t4 }) => [Vue.createVNode(ChatAiAnswerTip, { item: e4, itemProps: t4, onClickDocAgg: le }, null, 8, ["item", "itemProps"])]), "amb-alink": Vue.withCtx(({ ...e5 }) => [Vue.createElementVNode("a", { href: e5.href, target: e5.target }, Vue.toDisplayString(e5.text), 9, _hoisted_7$1)]), "amb-home-chart": Vue.withCtx(({ ...e5 }) => [Vue.createVNode(AnswerHomeChart, { chartProps: e5, class: "chat-chart-container" }, null, 8, ["chartProps"])]), "amb-interaction-data": Vue.withCtx(({ ...e5 }) => [Vue.createVNode(AnswerInteractionData, { chartProps: e5, class: "chat-chart-container" }, null, 8, ["chartProps"])]), "amb-auto-chart": Vue.withCtx(({ ...e5 }) => [Vue.createVNode(AnswerAutoChart, { chartProps: e5, class: "chat-chart-container" }, null, 8, ["chartProps"])]), _: 2 }, 1032, ["markdown", "content"]))], 64)), Vue.createElementVNode("div", _hoisted_8$1, [Vue.createElementVNode("span", null, Vue.toDisplayString(e4.sendTime), 1)])], 2), e4.recommendations && e4.recommendations.length > 0 ? (Vue.openBlock(), Vue.createBlock(RecommendationMessage, { key: 0, item: e4, onClickRecommendation: $ }, null, 8, ["item"])) : Vue.createCommentVNode("", true), e4.docAggs && e4.docAggs.length > 0 ? (Vue.openBlock(), Vue.createElementBlock("div", _hoisted_9$1, [_hoisted_10$1, (Vue.openBlock(true), Vue.createElementBlock(Vue.Fragment, null, Vue.renderList(e4.docAggs, (e5, t4) => (Vue.openBlock(), Vue.createElementBlock("div", { onClick: (t5) => le(e5), class: "doc-agg-item" }, Vue.toDisplayString(e5.doc_name), 9, _hoisted_11$1))), 256))])) : Vue.createCommentVNode("", true)], 64)) : Vue.createCommentVNode("", true)];
15469
15662
  }), footer: Vue.withCtx(({ item: e4 }) => [Vue.createVNode(ChatBubbleFooter, { item: e4, onRegenerate: _ }, null, 8, ["item"])]), _: 1 }, 8, ["list", "max-height"]), Vue.createElementVNode("div", _hoisted_12, Vue.toDisplayString(G.value), 1)]), Vue.createElementVNode("div", { ref_key: "talkInputRef", ref: D, class: "chat-embed__input_container" }, [Vue.createVNode(ChatSender, { loading: m.value, ref_key: "chatSenderRef", ref: O, onSubmitQuestion: X, onCommandAnswer: se, onHandleCancel: Y, onViewJson: oe, onChangeAiModel: te }, null, 8, ["loading"])], 512)]))])])], 2), [[Vue.vShow, w.value]])]), _: 1 }), Vue.createVNode(Vue.unref(_sfc_main$u), { modelValue: k.value, "onUpdate:modelValue": t3[1] || (t3[1] = (e4) => k.value = e4), "json-object": x.value, "append-to-body": true, title: "预览数据" }, null, 8, ["modelValue", "json-object"])])) : Vue.createCommentVNode("", true);
15470
- } }), index_vue_vue_type_style_index_0_scoped_e25b360d_lang = "", ChatEmbed = _export_sfc(_sfc_main$p, [["__scopeId", "data-v-e25b360d"]]);
15663
+ } }), index_vue_vue_type_style_index_0_scoped_e84e6e12_lang = "", ChatEmbed = _export_sfc(_sfc_main$p, [["__scopeId", "data-v-e84e6e12"]]);
15471
15664
  ChatEmbed.install = function(e2) {
15472
15665
  window.$vueApp.component("ChatEmbed", ChatEmbed);
15473
15666
  }, _sfc_main$x.install = function(e2) {
@@ -16436,5 +16629,5 @@
16436
16629
  return Vue.openBlock(), Vue.createElementBlock("div", null, [i2.src && null !== i2.src ? (Vue.openBlock(), Vue.createElementBlock("iframe", { key: 0, ref: "menuContent", src: i2.src, name: "menu-content", title: "Main content", frameborder: "0" }, null, 8, _hoisted_1)) : Vue.createCommentVNode("", true)]);
16437
16630
  }
16438
16631
  const tabContentIframeIndex = _export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-20dccb82"]]), tabContentIframeIndex$1 = Object.freeze(Object.defineProperty({ __proto__: null, default: tabContentIframeIndex }, Symbol.toStringTag, { value: "Module" }));
16439
- exports.Breadcrumb = Breadcrumb$1, exports.Card = Card, exports.ChatEmbed = ChatEmbed, exports.DatePickerRange = DatePickerRange, exports.DepartmentTree = DepartmentTree, exports.DepartmentTreeMobile = _sfc_main$2b, exports.DepartmentUserTree = DepartmentUserTree, exports.DepartmentUserTreeMobile = _sfc_main$1r, exports.DynamicSourceSelect = DynamicSourceSelect, exports.EmptyLayout = EmptyLayout, exports.FsPreview = FsPreview, exports.FsUpload = FsUpload, exports.FsUploadList = FsUploadList, exports.FsUploadNew = _sfc_main$H, exports.GLOBAL_PROP = GLOBAL_PROP, exports.Hamburger = hamburger, exports.InlineDepartmentTree = InlineDepartmentTree, exports.InlineDepartmentUserTree = InlineDepartmentUserTree, exports.InlineWorkgroupTree = InlineWorkgroupTree, exports.InlineWorkgroupUserTree = InlineWorkgroupUserTree, exports.IntervalSelection = SectionDate, exports.Layout = Layout, exports.Menubar = Menubar, exports.MultipartUpload = MultipartUpload, exports.NewLayout = NewLayout, exports.OrganizationInput = OrganizationInput, exports.RemoveDepartment = RemoveDepartment, exports.RemoveUser = RemoveUser, exports.RemoveWorkgroup = RemoveWorkgroup, exports.RichEditor = RichEditor, exports.RowForm = RowForm, exports.ScanCodeInput = ScanCodeInput, exports.ScanCodeInputBrowser = ScanCodeInputBrowser, exports.Scrollbar = Scrollbar, exports.SecretInfo = SecretInfo, exports.Sidebar = Sidebar$1, exports.SuperGrid = SuperGrid, exports.SuperIcon = SuperIcon$1, exports.SuperNineGrid = SuperNineGrid, exports.SvgIcon = SvgIcon, exports.TabContent = TabContent$1, exports.ValidCode = ValidCode, exports.VoiceButton = _sfc_main$x, exports.WorkflowButton = WorkflowButton, exports.WorkflowHistoryList = WorkflowHistoryList, exports.WorkgroupTree = WorkgroupTree, exports.WorkgroupTreeMobile = _sfc_main$1l, exports.WorkgroupUserTree = WorkgroupUserTree, exports.YearRangePicker = YearRangePicker, exports.YxAffix = YxAffix, exports.abUIEn = en, exports.abUIcn = cn, exports.abUiInstall = abUiInstall, exports.addListRefToStore = addListRefToStore, exports.analysisCondition = analysisCondition, exports.analysisValue = analysisValue, exports.apiUrlMappings = apiUrlMappings, exports.authApi = authApi, exports.b64ToUtf8 = b64ToUtf8, exports.cacheAllEnableGlobalPropUtil = cacheAllEnableGlobalPropUtil, exports.cacheAllGlobalPropCache = cacheAllGlobalPropCache, exports.cacheAllLanguagesUtil = cacheAllLanguagesUtil, exports.cacheCanShowOrgTree = cacheCanShowOrgTree, exports.cacheCurrentLanguageUtil = cacheCurrentLanguageUtil, exports.cacheGlobalProp = cacheGlobalProp, exports.cacheLangs = cacheLangs, exports.cachePermissionsWhenLoginWithToken = cachePermissionsWhenLoginWithToken, exports.cacheProjectSetting = cacheProjectSetting, exports.cacheSystemUrl = cacheSystemUrl, exports.cacheVoiceLeafMenu = cacheVoiceLeafMenu, exports.cacheVoiceSetting = cacheVoiceSetting, exports.cacheWatermark = cacheWatermark, exports.checkPermission = checkPermission, exports.clearPermission = clearPermission, exports.clearVoiceCache = clearVoiceCache, exports.errorRouterMap = errorRouterMap, exports.eventBus = bus$1, exports.executeExpression = executeExpression, exports.findDynamicDataSourceByCode = findDynamicDataSourceByCode, exports.findOptionsByDynamicDataSource = findOptionsByDynamicDataSource, exports.findRedisButtonGeneralIcon = findRedisButtonGeneralIcon, exports.findSystemInfoByCode = findSystemInfoByCode, exports.formatCustomParams = formatCustomParams, exports.formatDate = formatDate$1, exports.formatFileName = formatFileName, exports.formatTime = formatTime, exports.formatTimefn = formatTimefn, exports.getAllLanguages = getAllLanguages, exports.getAllThemes = getAllThemes, exports.getAuthSource = getAuthSource, exports.getCanShowOrgTree = getCanShowOrgTree, exports.getCookieCache = getCookieCache, exports.getCurrentSystemCode = getCurrentSystemCode$1, exports.getCurrentUser = getCurrentUser$1, exports.getCustomMenus = getCustomMenus, exports.getDateRangeSelectorDefaultValue = getDateRangeSelectorDefaultValue, exports.getDefaultMenuCode = getDefaultMenuCode, exports.getEntityFieldValue = getEntityFieldValue, exports.getEntityFieldValueWithOutCase = getEntityFieldValueWithOutCase, exports.getFileIconByName = getFileIconByName, exports.getFirstDayOfSeason = getFirstDayOfSeason, exports.getGlobalProp = getGlobalProp, exports.getGuId = getGuId, exports.getI18n = getI18n, exports.getI18nName = getI18nName, exports.getKkFilePreviewUrl = getKkFilePreviewUrl, exports.getLangByShort = getLangByShort, exports.getLangs = getLangs, exports.getLanguage = getLanguage, exports.getLanguageWithLocale = getLanguageWithLocale, exports.getLastNDate = getLastNDate, exports.getLocaleByLang = getLocaleByLang, exports.getLoginName = getLoginName, exports.getLoginTimeoutUrlInfo = getLoginTimeoutUrlInfo, exports.getLoginUrl = getLoginUrl, exports.getMenus = getMenus, exports.getOrignUrl = getOrignUrl, exports.getParentObjectUtil = getParentObjectUtil, exports.getPermissions = getPermissions, exports.getPropNameWhenJoinTable = getPropNameWhenJoinTable, exports.getPropValue = getPropValue, exports.getPropValueNew = getPropValueNew, exports.getRedisButtonGeneralIcon = getRedisButtonGeneralIcon, exports.getRelativeBaseUrl = getRelativeBaseUrl, exports.getReplaceUrlDomain = getReplaceUrlDomain, exports.getRouter = getRouter, exports.getRunCurrentRole = getRunCurrentRole, exports.getRunInfoKey = getRunInfoKey, exports.getS4 = getS4, exports.getServerConfigUtil = getServerConfigUtil, exports.getSessionCache = getSessionCache, exports.getStore = getStore, exports.getSystemBackendUrl = getSystemBackendUrl, exports.getSystemCode = getSystemCode, exports.getSystemFrontendUrl = getSystemFrontendUrl, exports.getSystemFrontendUrlWith = getSystemFrontendUrlWith, exports.getTenantUsername = getTenantUsername, exports.getTheme = getTheme, exports.getTimeZone = getTimeZone, exports.getToken = getToken, exports.getTotalPermissions = getTotalPermissions, exports.getURLSearchParamObj = getURLSearchParamObj, exports.getUsername = getUsername, exports.getUuidv4 = getUuidv4, exports.getValueByField = getValueByField, exports.getVoiceLeafMenuCache = getVoiceLeafMenuCache, exports.getVoiceSetting = getVoiceSetting, exports.getWatermark = getWatermark, exports.getWeekOfSeason = getWeekOfSeason, exports.http = service, exports.i18nOperation = i18nOperation, exports.i18nUtil = i18nUtil, exports.initialization = initialization, exports.insertFontIconCss = insertFontIconCss, exports.insertThirdLoginJs = insertThirdLoginJs, exports.isDevpAccess = isDevpAccess, exports.isDevpSystem = isDevpSystem, exports.isDingTalkEnv = isDingTalkEnv, exports.isExternal = isExternal, exports.isFaIcon = isFaIcon, exports.isImage = isImage, exports.isLogoutTimeout = isLogoutTimeout, exports.isMobileBrowser = isMobileBrowser, exports.isPlateSys = isPlateSys, exports.isPromise = isPromise, exports.isShowMenuRoute = isShowMenuRoute, exports.isShowSystemMenu = isShowSystemMenu, exports.isValidDate = isValidDate, exports.jumpToPage = jumpToPage, exports.loadCSS = loadCSS, exports.localStorage = localStorage$1, exports.openPage = openPage, exports.parseLooseJSON = parseLooseJSON, exports.parseSubTablePermissionCondition = parseSubTablePermissionCondition, exports.parseTime = parseTime, exports.parseVoiceMsg = parseVoiceMsg, exports.permissionUtil = checkPermission, exports.protectedRouterMap = protectedRouterMap, exports.pushCustomControlValidatorRef = pushCustomControlValidatorRef, exports.removeAllGlobalPropCache = removeAllGlobalPropCache, exports.removeAllSystemPermissions = removeAllSystemPermissions, exports.removeAllThemes = removeAllThemes, exports.removeCanShowOrgTree = removeCanShowOrgTree, exports.removeCookieCache = removeCookieCache, exports.removeCurrentUser = removeCurrentUser, exports.removeCustomControlValidatorRef = removeCustomControlValidatorRef, exports.removeCustomMenus = removeCustomMenus, exports.removeDefaultMenuCode = removeDefaultMenuCode, exports.removeDevpPermissions = removeDevpPermissions, exports.removeGlobalProp = removeGlobalProp, exports.removeMenus = removeMenus, exports.removeProjectCode = removeProjectCode, exports.removeProjectSettings = removeProjectSettings, exports.removeSessionCache = removeSessionCache, exports.removeSystemCacheUrl = removeSystemCacheUrl, exports.removeTenantUsername = removeTenantUsername, exports.removeTheme = removeTheme, exports.removeToken = removeToken, exports.removeUsername = removeUsername, exports.removeVoiceCache = removeVoiceCache, exports.removeVoiceLeafMenu = removeVoiceLeafMenu, exports.removeVoiceSetting = removeVoiceSetting, exports.removeWatermark = removeWatermark, exports.replacePlaceholders = replacePlaceholders, exports.replacePrefix = replacePrefix, exports.request = request, exports.resizeMixin = resizeMixin, exports.restfulInterfaceTo = restfulInterfaceTo, exports.router = router, exports.setActiveMenuToChatAiStore = setActiveMenuToChatAiStore, exports.setAllLanguages = setAllLanguages, exports.setAllThemes = setAllThemes, exports.setCookieCache = setCookieCache, exports.setCurrentUser = setCurrentUser, exports.setCustomMenus = setCustomMenus, exports.setCustomSystemBackendUrl = setCustomSystemBackendUrl, exports.setDefaultMenuCode = setDefaultMenuCode, exports.setEntityFieldValue = setEntityFieldValue, exports.setLanguage = setLanguage, exports.setMenus = setMenus, exports.setPageDataToChatAiStore = setPageDataToChatAiStore, exports.setPageInfoToChatStore = setPageInfoToChatStore, exports.setPermissions = setPermissions, exports.setSessionCache = setSessionCache, exports.setTenantUsername = setTenantUsername, exports.setTheme = setTheme, exports.setToken = setToken, exports.setUsername = setUsername, exports.ssoService = ssoService, exports.store = store$3, exports.updateWithPageValue = updateWithPageValue, exports.utf8ToB64 = utf8ToB64, exports.validUsername = validUsername, exports.validateAlphabets = validateAlphabets, exports.validateLowerCase = validateLowerCase, exports.validateURL = validateURL, exports.validateUpperCase = validateUpperCase, exports.watchPageContextDynamicVariable = watchPageContextDynamicVariable, exports.windowOpenUrl = windowOpenUrl, Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
16632
+ exports.Breadcrumb = Breadcrumb$1, exports.Card = Card, exports.ChatEmbed = ChatEmbed, exports.DatePickerRange = DatePickerRange, exports.DepartmentTree = DepartmentTree, exports.DepartmentTreeMobile = _sfc_main$2b, exports.DepartmentUserTree = DepartmentUserTree, exports.DepartmentUserTreeMobile = _sfc_main$1r, exports.DynamicSourceSelect = DynamicSourceSelect, exports.EmptyLayout = EmptyLayout, exports.FsPreview = FsPreview, exports.FsUpload = FsUpload, exports.FsUploadList = FsUploadList, exports.FsUploadNew = _sfc_main$H, exports.GLOBAL_PROP = GLOBAL_PROP, exports.Hamburger = hamburger, exports.InlineDepartmentTree = InlineDepartmentTree, exports.InlineDepartmentUserTree = InlineDepartmentUserTree, exports.InlineWorkgroupTree = InlineWorkgroupTree, exports.InlineWorkgroupUserTree = InlineWorkgroupUserTree, exports.IntervalSelection = SectionDate, exports.Layout = Layout, exports.Menubar = Menubar, exports.MultipartUpload = MultipartUpload, exports.NewLayout = NewLayout, exports.OrganizationInput = OrganizationInput, exports.RemoveDepartment = RemoveDepartment, exports.RemoveUser = RemoveUser, exports.RemoveWorkgroup = RemoveWorkgroup, exports.RichEditor = RichEditor, exports.RowForm = RowForm, exports.ScanCodeInput = ScanCodeInput, exports.ScanCodeInputBrowser = ScanCodeInputBrowser, exports.Scrollbar = Scrollbar, exports.SecretInfo = SecretInfo, exports.Sidebar = Sidebar$1, exports.SuperGrid = SuperGrid, exports.SuperIcon = SuperIcon$1, exports.SuperNineGrid = SuperNineGrid, exports.SvgIcon = SvgIcon, exports.TabContent = TabContent$1, exports.ValidCode = ValidCode, exports.VoiceButton = _sfc_main$x, exports.WorkflowButton = WorkflowButton, exports.WorkflowHistoryList = WorkflowHistoryList, exports.WorkgroupTree = WorkgroupTree, exports.WorkgroupTreeMobile = _sfc_main$1l, exports.WorkgroupUserTree = WorkgroupUserTree, exports.YearRangePicker = YearRangePicker, exports.YxAffix = YxAffix, exports.abUIEn = en, exports.abUIcn = cn, exports.abUiInstall = abUiInstall, exports.addListRefToStore = addListRefToStore, exports.analysisCondition = analysisCondition, exports.analysisValue = analysisValue, exports.apiUrlMappings = apiUrlMappings, exports.authApi = authApi, exports.b64ToUtf8 = b64ToUtf8, exports.cacheAllEnableGlobalPropUtil = cacheAllEnableGlobalPropUtil, exports.cacheAllGlobalPropCache = cacheAllGlobalPropCache, exports.cacheAllLanguagesUtil = cacheAllLanguagesUtil, exports.cacheCanShowOrgTree = cacheCanShowOrgTree, exports.cacheCurrentLanguageUtil = cacheCurrentLanguageUtil, exports.cacheGlobalProp = cacheGlobalProp, exports.cacheLangs = cacheLangs, exports.cachePermissionsWhenLoginWithToken = cachePermissionsWhenLoginWithToken, exports.cacheProjectSetting = cacheProjectSetting, exports.cacheSystemUrl = cacheSystemUrl, exports.cacheVoiceLeafMenu = cacheVoiceLeafMenu, exports.cacheVoiceSetting = cacheVoiceSetting, exports.cacheWatermark = cacheWatermark, exports.checkPermission = checkPermission, exports.clearPermission = clearPermission, exports.clearVoiceCache = clearVoiceCache, exports.errorRouterMap = errorRouterMap, exports.eventBus = bus$1, exports.executeExpression = executeExpression, exports.findDynamicDataSourceByCode = findDynamicDataSourceByCode, exports.findOptionsByDynamicDataSource = findOptionsByDynamicDataSource, exports.findRedisButtonGeneralIcon = findRedisButtonGeneralIcon, exports.findSystemInfoByCode = findSystemInfoByCode, exports.formatCustomParams = formatCustomParams, exports.formatDate = formatDate$1, exports.formatFileName = formatFileName, exports.formatTime = formatTime, exports.formatTimefn = formatTimefn, exports.getAllLanguages = getAllLanguages, exports.getAllThemes = getAllThemes, exports.getAuthSource = getAuthSource, exports.getCacheSystemUrlWithSystemCode = getCacheSystemUrlWithSystemCode, exports.getCanShowOrgTree = getCanShowOrgTree, exports.getCookieCache = getCookieCache, exports.getCurrentSystemCode = getCurrentSystemCode$1, exports.getCurrentUser = getCurrentUser$1, exports.getCustomMenus = getCustomMenus, exports.getDateRangeSelectorDefaultValue = getDateRangeSelectorDefaultValue, exports.getDefaultMenuCode = getDefaultMenuCode, exports.getEntityFieldValue = getEntityFieldValue, exports.getEntityFieldValueWithOutCase = getEntityFieldValueWithOutCase, exports.getFileIconByName = getFileIconByName, exports.getFirstDayOfSeason = getFirstDayOfSeason, exports.getGlobalProp = getGlobalProp, exports.getGuId = getGuId, exports.getI18n = getI18n, exports.getI18nName = getI18nName, exports.getKkFilePreviewUrl = getKkFilePreviewUrl, exports.getLangByShort = getLangByShort, exports.getLangs = getLangs, exports.getLanguage = getLanguage, exports.getLanguageWithLocale = getLanguageWithLocale, exports.getLastNDate = getLastNDate, exports.getLocaleByLang = getLocaleByLang, exports.getLoginName = getLoginName, exports.getLoginTimeoutUrlInfo = getLoginTimeoutUrlInfo, exports.getLoginUrl = getLoginUrl, exports.getMenus = getMenus, exports.getOrignUrl = getOrignUrl, exports.getParentObjectUtil = getParentObjectUtil, exports.getPermissions = getPermissions, exports.getPropNameWhenJoinTable = getPropNameWhenJoinTable, exports.getPropValue = getPropValue, exports.getPropValueNew = getPropValueNew, exports.getRedisButtonGeneralIcon = getRedisButtonGeneralIcon, exports.getRelativeBaseUrl = getRelativeBaseUrl, exports.getReplaceUrlDomain = getReplaceUrlDomain, exports.getRouter = getRouter, exports.getRunCurrentRole = getRunCurrentRole, exports.getRunInfoKey = getRunInfoKey, exports.getS4 = getS4, exports.getServerConfigUtil = getServerConfigUtil, exports.getSessionCache = getSessionCache, exports.getStore = getStore, exports.getSystemBackendUrl = getSystemBackendUrl, exports.getSystemCode = getSystemCode, exports.getSystemFrontendUrl = getSystemFrontendUrl, exports.getSystemFrontendUrlWith = getSystemFrontendUrlWith, exports.getTenantUsername = getTenantUsername, exports.getTheme = getTheme, exports.getTimeZone = getTimeZone, exports.getToken = getToken, exports.getTotalPermissions = getTotalPermissions, exports.getURLSearchParamObj = getURLSearchParamObj, exports.getUsername = getUsername, exports.getUuidv4 = getUuidv4, exports.getValueByField = getValueByField, exports.getVoiceLeafMenuCache = getVoiceLeafMenuCache, exports.getVoiceSetting = getVoiceSetting, exports.getWatermark = getWatermark, exports.getWatermarkSetting = getWatermarkSetting, exports.getWeekOfSeason = getWeekOfSeason, exports.http = service, exports.i18nOperation = i18nOperation, exports.i18nUtil = i18nUtil, exports.initialization = initialization, exports.insertFontIconCss = insertFontIconCss, exports.insertThirdLoginJs = insertThirdLoginJs, exports.isDevpAccess = isDevpAccess, exports.isDevpSystem = isDevpSystem, exports.isDingTalkEnv = isDingTalkEnv, exports.isExternal = isExternal, exports.isFaIcon = isFaIcon, exports.isImage = isImage, exports.isLogoutTimeout = isLogoutTimeout, exports.isMobileBrowser = isMobileBrowser, exports.isPlateSys = isPlateSys, exports.isPromise = isPromise, exports.isShowMenuRoute = isShowMenuRoute, exports.isShowSystemMenu = isShowSystemMenu, exports.isValidDate = isValidDate, exports.jumpToPage = jumpToPage, exports.loadCSS = loadCSS, exports.localStorage = localStorage$1, exports.openPage = openPage, exports.parseLooseJSON = parseLooseJSON, exports.parseSubTablePermissionCondition = parseSubTablePermissionCondition, exports.parseTime = parseTime, exports.parseVoiceMsg = parseVoiceMsg, exports.permissionUtil = checkPermission, exports.protectedRouterMap = protectedRouterMap, exports.pushCustomControlValidatorRef = pushCustomControlValidatorRef, exports.removeAllGlobalPropCache = removeAllGlobalPropCache, exports.removeAllSystemPermissions = removeAllSystemPermissions, exports.removeAllThemes = removeAllThemes, exports.removeCanShowOrgTree = removeCanShowOrgTree, exports.removeCookieCache = removeCookieCache, exports.removeCurrentUser = removeCurrentUser, exports.removeCustomControlValidatorRef = removeCustomControlValidatorRef, exports.removeCustomMenus = removeCustomMenus, exports.removeDefaultMenuCode = removeDefaultMenuCode, exports.removeDevpPermissions = removeDevpPermissions, exports.removeGlobalProp = removeGlobalProp, exports.removeMenus = removeMenus, exports.removeProjectCode = removeProjectCode, exports.removeProjectSettings = removeProjectSettings, exports.removeSessionCache = removeSessionCache, exports.removeSystemCacheUrl = removeSystemCacheUrl, exports.removeTenantUsername = removeTenantUsername, exports.removeTheme = removeTheme, exports.removeToken = removeToken, exports.removeUsername = removeUsername, exports.removeVoiceCache = removeVoiceCache, exports.removeVoiceLeafMenu = removeVoiceLeafMenu, exports.removeVoiceSetting = removeVoiceSetting, exports.removeWatermark = removeWatermark, exports.replacePlaceholders = replacePlaceholders, exports.replacePrefix = replacePrefix, exports.request = request, exports.resizeMixin = resizeMixin, exports.restfulInterfaceTo = restfulInterfaceTo, exports.router = router, exports.setActiveMenuToChatAiStore = setActiveMenuToChatAiStore, exports.setAllLanguages = setAllLanguages, exports.setAllThemes = setAllThemes, exports.setCookieCache = setCookieCache, exports.setCurrentUser = setCurrentUser, exports.setCustomMenus = setCustomMenus, exports.setCustomSystemBackendUrl = setCustomSystemBackendUrl, exports.setDefaultMenuCode = setDefaultMenuCode, exports.setEntityFieldValue = setEntityFieldValue, exports.setLanguage = setLanguage, exports.setMenus = setMenus, exports.setPageDataToChatAiStore = setPageDataToChatAiStore, exports.setPageInfoToChatStore = setPageInfoToChatStore, exports.setPermissions = setPermissions, exports.setSessionCache = setSessionCache, exports.setTenantUsername = setTenantUsername, exports.setTheme = setTheme, exports.setToken = setToken, exports.setUsername = setUsername, exports.showWatermark = showWatermark, exports.showWatermarkNew = showWatermarkNew, exports.ssoService = ssoService, exports.store = store$3, exports.updateWithPageValue = updateWithPageValue, exports.utf8ToB64 = utf8ToB64, exports.validUsername = validUsername, exports.validateAlphabets = validateAlphabets, exports.validateLowerCase = validateLowerCase, exports.validateURL = validateURL, exports.validateUpperCase = validateUpperCase, exports.watchPageContextDynamicVariable = watchPageContextDynamicVariable, exports.windowOpenUrl = windowOpenUrl, Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
16440
16633
  });