agilebuilder-ui 1.1.36-sit4 → 1.1.36-sit5

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.
@@ -1,5 +1,5 @@
1
1
  import { openBlock as r, createElementBlock as t, createCommentVNode as o } from "vue";
2
- import { _ as s } from "./index-c739d5d5.js";
2
+ import { _ as s } from "./index-09cd1ad3.js";
3
3
  const u = ["src"], f = s({ data: () => ({ src: null }), watch: { $route(n, c) {
4
4
  this.src = this.$route.query.src;
5
5
  } }, mounted() {
@@ -1,4 +1,4 @@
1
- import { _ as f, c as _, g as x, b as P, s as h, m as M, M as O, i as I } from "./index-c739d5d5.js";
1
+ import { _ as f, c as _, g as x, b as P, s as h, m as M, M as O, i as I } from "./index-09cd1ad3.js";
2
2
  import { resolveComponent as u, openBlock as d, createBlock as b, withCtx as g, createVNode as v, TransitionGroup as L, createElementBlock as p, Fragment as T, renderList as C, createElementVNode as m, toDisplayString as w, normalizeClass as S, createCommentVNode as y } from "vue";
3
3
  const k = { class: "no-redirect" }, A = f({ name: "Breadcrumb", data: () => ({ levelList: null }), computed: { levelListWithTitle() {
4
4
  return this.levelList.filter((e) => e.meta.title !== void 0 && e.meta.title !== null);
@@ -1,5 +1,5 @@
1
1
  import { resolveComponent as t, openBlock as a, createElementBlock as s, createElementVNode as y, createVNode as l, withCtx as r, createTextVNode as n, toDisplayString as p, createCommentVNode as c, createBlock as h } from "vue";
2
- import { _ as I } from "./index-c739d5d5.js";
2
+ import { _ as I } from "./index-09cd1ad3.js";
3
3
  const g = { style: { "padding-bottom": "10px" } }, k = { key: 0, class: "graphDiv" }, N = I({ name: "TacheSubprocessHistory", data: () => ({ type: "graph", workflowId: null }), created() {
4
4
  const o = this.$route.query.workflowId;
5
5
  o && (this.workflowId = parseInt(o));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agilebuilder-ui",
3
- "version": "1.1.36-sit4",
3
+ "version": "1.1.36-sit5",
4
4
  "type": "module",
5
5
  "private": false,
6
6
  "main": "./lib/super-ui.js",
@@ -468,6 +468,7 @@
468
468
  :check-strictly="isCheckStrictly"
469
469
  :department-info="departmentInfo"
470
470
  :disabled="disabled"
471
+ :limit-filter-column="controlConfig?.limitFilterColumn"
471
472
  :fields="fields"
472
473
  :is-join-table="isJoinTable"
473
474
  :models="row"
@@ -528,7 +529,12 @@ import {
528
529
  getControlConfig
529
530
  } from './utils'
530
531
  import dynamicSourceSelect from '../../dynamic-source-select/src/dynamic-source-select.vue'
531
- import { getEntityFieldValue, setEntityFieldValue } from '../../../src/utils/util'
532
+ import {
533
+ getEntityFieldValue,
534
+ setEntityFieldValue,
535
+ getPropValueNew,
536
+ watchPageContextDynamicVariable
537
+ } from '../../../src/utils/util'
532
538
  import { getToken } from '../../../src/utils/auth'
533
539
  import apis from './apis'
534
540
  import ViewImageDialog from './view-image-dialog.vue'
@@ -831,6 +837,7 @@ export default {
831
837
  }
832
838
  }
833
839
  }
840
+
834
841
  if (this.column.orgTreeSet) {
835
842
  const orgTreeSet = JSON.parse(this.column.orgTreeSet)
836
843
  if (this.type.indexOf('DeptTree') > 0 && orgTreeSet.checkStrictly) {
@@ -1032,6 +1039,7 @@ export default {
1032
1039
  // 说明是工作组树
1033
1040
  this.wgTree = true
1034
1041
  }
1042
+ this.deptScopeLimit()
1035
1043
  }
1036
1044
  },
1037
1045
  orgTreeSetSort() {
@@ -2010,6 +2018,54 @@ export default {
2010
2018
  // 表示没有跳转页面配置
2011
2019
  this.callCustomEvent(eventName)
2012
2020
  }
2021
+ },
2022
+ deptScopeLimit() {
2023
+ debugger
2024
+ if (this.controlConfig && this.controlConfig.deptScope) {
2025
+ // 表示有部门范围限制
2026
+ if (this.controlConfig.deptScope == 'field' && this.controlConfig.deptScopeField) {
2027
+ if (this.controlConfig.deptScopeField.indexOf('${row.') === 0) {
2028
+ // 表示是行记录的字段
2029
+ const fieldName = this.controlConfig.deptScopeField.replace('${row.', '').replace('}', '')
2030
+ if (this.row[fieldName]) {
2031
+ this.departmentInfo = this.row[fieldName].split(',')
2032
+ } else {
2033
+ this.departmentInfo = []
2034
+ }
2035
+ this.$watch('row.' + fieldName, (newVal, oldVal) => {
2036
+ if (newVal) {
2037
+ this.departmentInfo = newVal.split(',')
2038
+ } else {
2039
+ this.departmentInfo = []
2040
+ }
2041
+ })
2042
+ } else {
2043
+ // 表示是页面pageContext的字段
2044
+ this.setLimitDepartmentInfo()
2045
+ if (!this.controlConfig.deptScopeField.indexOf('${fixed.') === 0) {
2046
+ watchPageContextDynamicVariable(
2047
+ this,
2048
+ this.pageContext,
2049
+ this.controlConfig.deptScopeField,
2050
+ (newVal, oldVal) => {
2051
+ this.setLimitDepartmentInfo()
2052
+ }
2053
+ )
2054
+ }
2055
+ }
2056
+ } else if (this.controlConfig.deptScope == 'depts' && this.controlConfig.deptScopeCodes) {
2057
+ // 表示固定部门范围
2058
+ this.departmentInfo = this.controlConfig.deptScopeCodes.split(',')
2059
+ }
2060
+ }
2061
+ },
2062
+ setLimitDepartmentInfo() {
2063
+ const deptScopeFieldValue = getPropValueNew(this.controlConfig.deptScopeField, this.pageContext, this.row)
2064
+ if (deptScopeFieldValue) {
2065
+ this.departmentInfo = deptScopeFieldValue.split(',')
2066
+ } else {
2067
+ this.departmentInfo = []
2068
+ }
2013
2069
  }
2014
2070
  }
2015
2071
  }
package/src/utils/util.js CHANGED
@@ -624,6 +624,7 @@ export function getPropValueNew(propValue, pageContext, row) {
624
624
  let value = null
625
625
  if (propValue && propValue !== null && propValue !== '') {
626
626
  const entity = pageContext && pageContext.entity ? pageContext.entity.data : null
627
+ const pageVar = pageContext && pageContext.entity ? pageContext.entity.page : null
627
628
  const additionalParamMap = getAdditionalParamMap(pageContext)
628
629
  const contextParameterMap = pageContext && pageContext.entity ? pageContext.entity.context : null
629
630
  const parentEntity =
@@ -643,6 +644,9 @@ export function getPropValueNew(propValue, pageContext, row) {
643
644
  const propName = propValue.replace('${row.', '').replace('}', '')
644
645
  value = getEntityFieldValue(row, propName)
645
646
  }
647
+ } else if (propValue.indexOf('${page.') === 0) {
648
+ const variable = propValue.replace('${page.', '').replace('}', '')
649
+ value = pageVar ? pageVar[variable] : null
646
650
  } else if (
647
651
  propValue.includes('${context.') ||
648
652
  propValue.includes('${request.') ||
@@ -930,3 +934,18 @@ export function isImage(fileName) {
930
934
  return false
931
935
  }
932
936
  }
937
+
938
+ export function watchPageContextDynamicVariable(that, pageContext, variable, callback) {
939
+ const match = variable.match(/\${(.*?)}/)
940
+ if (!match) return
941
+ const path = match ? match[1].split('.') : []
942
+ if (path && path.length > 0) {
943
+ // 监听 pageContext.entity[type][field][xxx]... 的变化
944
+ that.$watch(
945
+ () => path.reduce((obj, key) => obj[key], pageContext.entity),
946
+ (newVal, oldVal) => {
947
+ callback(newVal, oldVal)
948
+ }
949
+ )
950
+ }
951
+ }