Commit ede9a08a authored by 田翔's avatar 田翔

fix: 本人相关信息修改,隐藏增加变量

parent 013fdc8f
{ {
"name": "panda-xform", "name": "panda-xform",
"version": "5.3.4", "version": "5.3.5",
"description": "5.3.4 关联表单隐藏分组也隐藏", "description": "5.3.5 本人相关信息修改,隐藏增加变量",
"keywords": [ "keywords": [
"panda-xform" "panda-xform"
], ],
......
...@@ -237,6 +237,16 @@ export function GetFieldValueFromTable(accountName, fieldName, filter) { ...@@ -237,6 +237,16 @@ export function GetFieldValueFromTable(accountName, fieldName, filter) {
}); });
} }
export function getUserName(userID) {
return request({
headers: {
'Civ-Site': window?.globalConfig?.userInfo?.site
},
url: `PandaOMS/OMS/UserCenter/GetUserName?userIds=${userID}`,
method: 'get',
});
}
// 台账表单的提交 // 台账表单的提交
export function SubmitAccountData(tableName, key, value, data) { export function SubmitAccountData(tableName, key, value, data) {
return request({ return request({
......
...@@ -178,12 +178,16 @@ const textWidgets = [ ...@@ -178,12 +178,16 @@ const textWidgets = [
default: false, default: false,
width: '33%', width: '33%',
disabled: disabled, disabled: disabled,
dependencies: ['tableTypeParent', 'IsSystemField'], hidden: "{{rootValue.isStoreID}}",
dependencies: ['tableTypeParent', 'IsSystemField', 'isStoreID'],
}, },
isStoreID: { isStoreID: {
title: '是否存储ID', title: '是否存储ID',
type: 'boolean', type: 'boolean',
widget: 'BooleanSwitch',
default: false, default: false,
displayType: 'row',
labelWidth: 120,
hidden: "{{!['【本人姓名】','【本人部门】'].includes(rootValue.presetValue) }}", hidden: "{{!['【本人姓名】','【本人部门】'].includes(rootValue.presetValue) }}",
disabled: disabled, disabled: disabled,
dependencies: ['presetValue', 'tableTypeParent', 'IsSystemField'], dependencies: ['presetValue', 'tableTypeParent', 'IsSystemField'],
......
...@@ -21,8 +21,11 @@ const XRender = (props, ref) => { ...@@ -21,8 +21,11 @@ const XRender = (props, ref) => {
} }
)) ))
const { schemaValues, disabledFields, disabled, codes } = props const { schemaValues, disabledFields, disabled, codes, env } = props
window.pandaXform = { codes } window.pandaXform = {
codes,
env,
}
const { formJson, values } = schemaValues const { formJson, values } = schemaValues
const { getPrefixCls } = useContext(ConfigProvider.ConfigContext) const { getPrefixCls } = useContext(ConfigProvider.ConfigContext)
...@@ -68,7 +71,7 @@ const XRender = (props, ref) => { ...@@ -68,7 +71,7 @@ const XRender = (props, ref) => {
childObj[s] = { childObj[s] = {
...child[s], ...child[s],
presetValue: disabled ? (value || '') : (value || child[s].presetValue), presetValue: disabled ? (value || '') : (value || child[s].presetValue),
textDefalut: disabled ? '' : child[s].presetValue, textDefalut: child[s].presetValue,
disabled: disabledField, disabled: disabledField,
required required
} }
......
...@@ -28,7 +28,7 @@ export const jsonToValues = (data, paths) => { ...@@ -28,7 +28,7 @@ export const jsonToValues = (data, paths) => {
}) })
} }
}) })
let values = [] let values = Array.isArray(window.pandaXform.env) ? window.pandaXform.env : []
if (Array.isArray(paths)) { if (Array.isArray(paths)) {
paths.forEach(v => { paths.forEach(v => {
let fieldName = v.path.split('.')[1] let fieldName = v.path.split('.')[1]
......
...@@ -429,6 +429,7 @@ const RelationForm = (props) => { ...@@ -429,6 +429,7 @@ const RelationForm = (props) => {
useEffect(() => { useEffect(() => {
try { try {
setTimeout(() => { setTimeout(() => {
if (addons) {
let dataPath = addons?.dataPath?.split('.')[0] let dataPath = addons?.dataPath?.split('.')[0]
let group = addons?.formData?.[dataPath] let group = addons?.formData?.[dataPath]
let paths = Object.keys(group) let paths = Object.keys(group)
...@@ -443,6 +444,7 @@ const RelationForm = (props) => { ...@@ -443,6 +444,7 @@ const RelationForm = (props) => {
hidden = false hidden = false
} }
addons?.setSchemaByPath(dataPath, { hidden: hidden }) addons?.setSchemaByPath(dataPath, { hidden: hidden })
}
}, 500) }, 500)
} catch (e) { } catch (e) {
console.log('error', error) console.log('error', error)
......
...@@ -147,7 +147,13 @@ const FileUpload = (props) => { ...@@ -147,7 +147,13 @@ const FileUpload = (props) => {
} else { } else {
message.info('不支持该类型预览') message.info('不支持该类型预览')
} }
} },
onRemove: async (file) => {
let files = value?.split(",") || [];
let list = files.filter(v => v !== file.name);
onChange(list.join(","))
setShowList(await valueToList(list.join(",")))
},
} }
const elemet = () => { const elemet = () => {
......
...@@ -16,6 +16,13 @@ const BooleanSwitch = (props) => { ...@@ -16,6 +16,13 @@ const BooleanSwitch = (props) => {
addons.setValue('isMultiple', false) addons.setValue('isMultiple', false)
} }
} }
if (widget === 'TextInput') {
if (schema.$id === 'isStoreID') {
if (value) {
addons.setValue('disabled', true)
}
}
}
}, [value]) }, [value])
return ( return (
......
...@@ -25,6 +25,13 @@ const HiddenCondition = (props) => { ...@@ -25,6 +25,13 @@ const HiddenCondition = (props) => {
let { code, data, msg } = await ReloadTableFields({ tableName: tableNameParent }) let { code, data, msg } = await ReloadTableFields({ tableName: tableNameParent })
if (code === 0) { if (code === 0) {
setFieldList([ setFieldList([
{
title: '环境变量',
key: '环境变量',
children: [
{ title: '当前节点名称', key: '$env.nodeName' },
]
},
{ {
title: tableNameParent, title: tableNameParent,
key: tableNameParent, key: tableNameParent,
...@@ -51,8 +58,12 @@ const HiddenCondition = (props) => { ...@@ -51,8 +58,12 @@ const HiddenCondition = (props) => {
const onSelect = (prop, treeNode) => { const onSelect = (prop, treeNode) => {
if (!treeNode.node.children) { if (!treeNode.node.children) {
if (['$env.nodeName'].includes(treeNode.node.key)) {
insert(treeNode.node.key)
} else {
insert(`{${treeNode.node.key}}`) insert(`{${treeNode.node.key}}`)
} }
}
setCurrentSelectId(prop[0]); setCurrentSelectId(prop[0]);
} }
......
...@@ -2,7 +2,7 @@ import React, { useState, useEffect, useMemo, useContext } from 'react' ...@@ -2,7 +2,7 @@ import React, { useState, useEffect, useMemo, useContext } from 'react'
import { Input, message, ConfigProvider } from 'antd' import { Input, message, ConfigProvider } from 'antd'
import Icon, { PlusOutlined } from '@ant-design/icons' import Icon, { PlusOutlined } from '@ant-design/icons'
import * as icons from '@ant-design/icons' import * as icons from '@ant-design/icons'
import { GetFieldValueFromTable } from '../../../../apis/process' import { GetFieldValueFromTable, getUserName } from '../../../../apis/process'
import styles from './index.less' import styles from './index.less'
const iconList = Object.keys(icons).filter((item) => typeof icons[item] === 'object') const iconList = Object.keys(icons).filter((item) => typeof icons[item] === 'object')
...@@ -34,41 +34,41 @@ const TextInput = (props) => { ...@@ -34,41 +34,41 @@ const TextInput = (props) => {
const { value, onChange, schema, addons } = props const { value, onChange, schema, addons } = props
const { title, disabled, placeholder, presetValue, addonBefore, addonAfter, maxLength, rules, uniqueVerify, tableName, fieldName, isStoreID, textDefalut } = schema const { title, disabled, placeholder, presetValue, addonBefore, addonAfter, maxLength, rules, uniqueVerify, tableName, fieldName, isStoreID, textDefalut } = schema
console.log('props', props)
const handleChange = (e) => { const handleChange = (e) => {
if (addons) { if (addons) {
onChange(e.target.value) onChange(e.target.value)
} }
} }
const valueShow = useMemo(() => { //仅仅支持本人姓名
if (isStoreID) { const getUserInfo = async (userID) => {
if (textDefalut === '【本人姓名】') { const { code, data } = await getUserName(userID)
return userInfo.fullName if (code === 0) {
if (Array.isArray(data) && data.length > 0) {
onChange(data[0])
} }
if (textDefalut === '【本人部门】') {
return userInfo.depart.name
} }
} }
return value
}, [textDefalut, value, isStoreID])
useEffect(() => { useEffect(() => {
let value = presetValue let value = presetValue
if (preview !== 'preview') { if (preview !== 'preview') {
if (loaclPaths.includes(value)) { if (!disabled) {
if (value === '【本人姓名】') { if (textDefalut === '【本人姓名】') {
if (isStoreID) { if (isStoreID) {
value = userInfo.OID + '' value = userInfo.OID + ''
} else { } else {
value = userInfo.fullName value = userInfo.fullName
} }
} else if (value === '【本人部门】') { } else if (textDefalut === '【本人部门】') {
if (isStoreID) { if (isStoreID) {
value = userInfo.depart.OID + '' value = userInfo.depart.OID + ''
} else { } else {
value = userInfo.depart.name value = userInfo.depart.name
} }
} else if (value === '【本人电话】') { } else if (textDefalut === '【本人电话】') {
value = userInfo.Phone value = userInfo.Phone
} }
} }
...@@ -78,7 +78,10 @@ const TextInput = (props) => { ...@@ -78,7 +78,10 @@ const TextInput = (props) => {
} else { } else {
onChange(value || '') onChange(value || '')
} }
}, [presetValue]) if (isStoreID && value) {
getUserInfo(value)
}
}, [])
useEffect(() => { useEffect(() => {
if (uniqueVerify === '表名/字段名' && tableName && fieldName) { if (uniqueVerify === '表名/字段名' && tableName && fieldName) {
...@@ -107,7 +110,7 @@ const TextInput = (props) => { ...@@ -107,7 +110,7 @@ const TextInput = (props) => {
<Input <Input
style={{ color: loaclPaths.includes(presetValue) ? 'blue' : '' }} style={{ color: loaclPaths.includes(presetValue) ? 'blue' : '' }}
disabled={disabled} disabled={disabled}
value={valueShow} value={value}
maxLength={maxLength} maxLength={maxLength}
placeholder={disabled ? (placeholder || '') : (placeholder || '请输入内容')} placeholder={disabled ? (placeholder || '') : (placeholder || '请输入内容')}
onChange={handleChange} onChange={handleChange}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment