Commit e6206ea2 authored by 皮倩雯's avatar 皮倩雯

fix: '字段形态配置修改'

parent 614f64fe
Pipeline #53205 waiting for manual action with stages
/* eslint-disable prefer-promise-reject-errors */
/* eslint-disable prettier/prettier */
/* eslint-disable guard-for-in */
/* eslint-disable eqeqeq */
/* eslint-disable no-lonely-if */
/* eslint-disable no-restricted-syntax */
/* eslint-disable indent */
......@@ -23,6 +27,7 @@ import {
Empty,
Col,
Row,
TreeSelect,
} from 'antd';
import {
......@@ -33,11 +38,9 @@ import {
UpdateFields,
} from '@/services/tablemanager/tablemanager';
import styles from './index.less';
import ChangeAdd from './changeAdd';
import VerifyModal from './VerifyModal';
import { PlusSquareOutlined, UnorderedListOutlined, FontColorsOutlined } from '@ant-design/icons';
import Tree from '@/components/ExpendableTree';
import { shape } from 'prop-types';
const AddModal = props => {
const {
callBackSubmit = () => {},
......@@ -56,6 +59,7 @@ const AddModal = props => {
const [treeValue, setTreeValue] = useState([]);
const [verification, setVerification] = useState([]);
const [Shape, setShape] = useState('');
const [treeSelectValue, setTreeSelectValue] = useState(undefined);
const [characteristics, setCharacteristics] = useState([
'文本',
'数值',
......@@ -78,6 +82,7 @@ const AddModal = props => {
// '人员选择器新',
'城市选择器',
'台账选择器',
'部门选择器',
'附件',
'可预览附件',
'图片',
......@@ -100,6 +105,63 @@ const AddModal = props => {
'位置坐标',
'富文本',
]);
const [characteristics1, setCharacteristics1] = useState([
{
name: '文本类',
ID: 0,
children: [
'文本',
'唯一值文本',
'多行文本',
'本人部门',
'本人姓名',
'数值',
'地址',
'设备二维码',
'本人ID',
'富文本',
],
},
{
name: '选择器类',
ID: 1,
children: [
'选择器',
'搜索选择器',
'值选择器',
'值复选器',
'可编辑值选择器',
'平铺值选择器',
'站点选择器',
'人员选择器',
'城市选择器',
'台账选择器',
'业务选择器',
'部门选择器',
],
},
{
name: '附件类',
ID: 2,
children: ['附件', '可预览附件', '图片', '可预览图片', '录音', '视频'],
},
{
name: '时间类',
ID: 3,
children: ['日期时间', '日期', '日期月份', '日期年份', '日期周', '时分秒'],
},
{
name: '地图类',
ID: 4,
children: ['坐标控件', '设备选择', '区域控件', '路径控件', '位置坐标'],
},
{
name: '台账专有类',
ID: 5,
children: ['编码', '智能抄表'],
},
]);
const [visible, setVisible] = useState(false); // 弹窗
const [isShow, setIsShow] = useState(false); // 弹窗
const [type, setType] = useState(''); // 弹窗类型
......@@ -125,9 +187,15 @@ const AddModal = props => {
const [expendKey, setExpendKey] = useState(''); // 保存默认展开项
const [valueData, setValueData] = useState([]); // 保存所有修改数据
const [keep, setKeep] = useState();
const [chee, setChee] = useState('');
const [radio, setRadio] = useState('');
const [radio1, setRadio1] = useState('');
const [radio3, setRadio3] = useState('');
const [detail, setDetail] = useState('');
const { TextArea } = Input;
const [form] = Form.useForm();
const { Item } = Form;
const { TreeNode } = TreeSelect;
// 提交
const onSubmit = () => {
// 不切换树
......@@ -159,7 +227,7 @@ const AddModal = props => {
ExceptionEventFields: characterValue,
},
];
console.log(radio);
switch (Shape) {
case '编码':
data[0].Config = `${obj.code}.${obj.prefix ? obj.prefix : ''}`;
......@@ -172,9 +240,89 @@ const AddModal = props => {
data[0].Preset = pramData.picture ? '拍照相册' : '';
data[0].ValidationRule = pramData.must ? 'required' : '';
break;
case '平铺值选择器':
case '搜索选择器':
if (obj.Config.endsWith('.n')) {
data[0].Config = obj.Config;
} else {
data[0].Config = radio == 0 ? `${obj.Config}` : `${obj.Config}.n`;
}
break;
case '部门选择器':
if (obj.check == 0) {
data[0].Config = '';
} else {
data[0].Config = '.n';
}
break;
case '唯一值文本':
data[0].Config = obj.fieldName
? `${obj.tableName}.${obj.fieldName}`
: `${obj.tableName}`;
break;
case '业务选择器':
if (obj.fieldName.endsWith('.n')) {
data[0].Config = obj.fieldName
? `${obj.tableName}.${obj.fieldName}`
: `${obj.tableName}`;
} else {
if (obj.fieldName) {
data[0].Config =
radio == 0
? `${obj.tableName}.${obj.fieldName}`
: `${obj.tableName}.${obj.fieldName}.n`;
} else {
data[0].Config = radio == 0 ? `${obj.tableName}` : `${obj.tableName}.n`;
}
}
break;
case '台账选择器':
if (obj.fieldName.endsWith('.n')) {
data[0].Config = `${obj.standingBook}.${obj.fieldName}`;
} else {
if (obj.fieldName) {
data[0].Config =
radio == 0
? `${obj.standingBook}.${obj.fieldName}`
: `${obj.standingBook}.${obj.fieldName}.n`;
} else {
data[0].Config = radio == 0 ? `${obj.standingBook}` : `${obj.standingBook}.n`;
}
}
if (obj.filterName && obj.filterValue) {
data[0].Config = `${data[0].Config}?${obj.filterName}='${obj.filterValue}'`;
}
break;
case '人员选择器':
if (radio1 == '全部') {
if (radio3 == '全部ID') {
if (obj.ConfigName) {
let str =
radio == 0 ? `全部ID.${obj.ConfigName}` : `全部ID.${obj.ConfigName}.n`;
data[0].Config = str;
} else {
let str = radio == 0 ? `全部ID` : `全部ID.n`;
data[0].Config = str;
}
} else {
if (obj.ConfigName) {
let str = radio == 0 ? `全部.${obj.ConfigName}` : `全部.${obj.ConfigName}.n`;
data[0].Config = str;
} else {
let str = radio == 0 ? `全部` : `全部.n`;
data[0].Config = str;
}
}
} else {
let str = radio == 0 ? `${obj.Config}` : `${obj.Config}.n`;
console.log(str);
data[0].Config = str;
}
break;
default:
data[0].Config = obj.Config;
}
console.log(data);
UpdateFields(data).then(res => {
setLoading(false);
if (res.msg === 'Ok' || res.msg === '') {
......@@ -232,6 +380,30 @@ const AddModal = props => {
setCheckedList(res[0].data.root.ExceptionEventFields.split(','));
}
setShape(res[0].data.root.Shape);
console.log(res[0].data.root.Shape);
if (res[0].data.root.Shape == '文本') {
setDetail('输入内容将显示在前端输入框提示信息中');
} else if (res[0].data.root.Shape == '多行文本') {
setDetail('输入内容将显示在前端输入框提示信息中');
} else if (res[0].data.root.Shape == '数值') {
setDetail('输入内容将显示在前端输入框提示信息中');
} else if (res[0].data.root.Shape == '设备二维码') {
setDetail('输入内容将显示在前端输入框提示信息中');
} else if (res[0].data.root.Shape == '选择器') {
setDetail('数据字典名称');
} else if (
res[0].data.root.Shape == '值选择器' ||
res[0].data.root.Shape == '值复选择器'
) {
setDetail('用英文逗号分隔自定义的值,可设置初始值');
} else if (res[0].data.root.Shape == '可编辑值选择器') {
setDetail('用英文逗号分隔自定义的值,可编辑,可设置初始值');
} else if (res[0].data.root.Shape == '平铺值选择器') {
setDetail('用英文逗号分隔自定义的值,勾选,可设置初始值值后加.n可调整为复选');
} else {
setDetail('');
}
let coordinates = false,
picture = false,
must = false;
......@@ -253,6 +425,151 @@ const AddModal = props => {
prefix: code[1] === 'undefined' ? '' : code[1],
});
break;
case '平铺值选择器':
case '搜索选择器':
let data = res[0].data.root.Config.split('.');
form.setFieldsValue({
Config: data[0] || '',
});
if (res[0].data.root.Config.endsWith('.n')) {
form.setFieldsValue({
check: 1,
});
setRadio(1);
} else {
form.setFieldsValue({
check: 0,
});
setRadio(0);
}
break;
case '唯一值文本':
let arr = res[0].data.root.Config.split('.');
form.setFieldsValue({
tableName: arr[0] || '',
fieldName: arr[1] || '',
});
break;
case '业务选择器':
let list = res[0].data.root.Config.split('.');
console.log(list);
form.setFieldsValue({
tableName: list[0] || '',
fieldName: list[1] || '',
});
if (res[0].data.root.Config.endsWith('.n')) {
form.setFieldsValue({
check: 1,
});
setRadio(1);
} else {
form.setFieldsValue({
check: 0,
});
setRadio(0);
}
break;
case '部门选择器':
let department = res[0].data.root.Config;
console.log(department);
if (department == '.n') {
form.setFieldsValue({
check: 1,
});
setRadio(1);
} else {
form.setFieldsValue({
check: 0,
});
setRadio(0);
}
break;
case '台账选择器':
let book = res[0].data.root.Config.split('.');
let bb = book[1].split('?');
form.setFieldsValue({
standingBook: book[0] || '',
fieldName: bb[0] || '',
});
let book1 = res[0].data.root.Config.split('?');
if (book1[1]) {
let aa = book1[1].split('=');
form.setFieldsValue({
filterName: aa[0],
filterValue: aa[1].substring(1, aa[1].length - 1),
});
}
if (book1[0].endsWith('.n')) {
form.setFieldsValue({
check: 1,
});
setRadio(1);
} else {
form.setFieldsValue({
check: 0,
});
setRadio(0);
}
break;
case '人员选择器':
let pepole = res[0].data.root.Config.split('.');
console.log(pepole);
form.setFieldsValue({ ShowConfig: res[0].data.root.Config });
if (pepole[0] == '全部') {
setRadio1('全部');
setRadio3('0');
if (pepole[1] != 'n') {
form.setFieldsValue({
All: '全部',
AllID: '0',
// Config: pepole[0],
ConfigName: pepole[1],
});
} else {
form.setFieldsValue({
All: '全部',
AllID: '0',
// Config: pepole[0],
ConfigName: '',
});
}
} else if (pepole[0] == '全部ID') {
setRadio1('全部');
setRadio3('全部ID');
if (pepole[1] != 'n') {
form.setFieldsValue({
All: '全部',
AllID: '全部ID',
// Config: pepole[0],
ConfigName: pepole[1],
});
} else {
form.setFieldsValue({
All: '全部',
AllID: '全部ID',
// Config: pepole[0],
ConfigName: '',
});
}
} else {
setRadio1('0');
setRadio3('0');
form.setFieldsValue({
All: '0',
AllID: '0',
Config: pepole[0],
});
}
if (res[0].data.root.Config.endsWith('.n')) {
console.log(111);
form.setFieldsValue({ check: 1 });
setRadio(1);
} else {
console.log(222);
form.setFieldsValue({ check: 0 });
setRadio(0);
}
break;
}
setPramData({ ...res[0].data.root, coordinates, must, picture });
if (
......@@ -284,6 +601,10 @@ const AddModal = props => {
} else {
setPramData([]);
form.resetFields();
setChee('');
setRadio('');
setRadio1('');
setRadio3('');
}
}, [isVisible]);
......@@ -311,7 +632,7 @@ const AddModal = props => {
setCharacterValue(prop.str);
}
};
const add = type => {
const add = aa => {
let obj = form.getFieldsValue();
let data = { numerical: '', rule: [] };
console.log(obj.ValidationRule, 'ValidationRule');
......@@ -344,7 +665,7 @@ const AddModal = props => {
} else {
data = { rule: [], numerical: '' };
}
setType(type);
setType(aa);
setFormObj(data);
setVisible(true);
};
......@@ -379,14 +700,14 @@ const AddModal = props => {
if (!name) {
return '请传入对象属性';
}
//先获取一下这个数组中有多少个"name"
// 先获取一下这个数组中有多少个"name"
let nameArr = [];
for (let i in initialArr) {
if (nameArr.indexOf(initialArr[i][`${name}`]) === -1) {
nameArr.push(initialArr[i][`${name}`]);
}
}
//新建一个包含多个list的结果对象
// 新建一个包含多个list的结果对象
let tempObj = {};
// 根据不同的"name"生成多个数组
for (let k in nameArr) {
......@@ -408,7 +729,42 @@ const AddModal = props => {
return tempObj;
};
const handleCharacteristics = value => {
form.setFieldsValue({
Config: '',
tableName: '',
fieldName: '',
filterName: '',
filterValue: '',
standingBook: '',
check: 0,
AllID: '0',
All: '0',
ShowConfig: '',
});
setRadio(0);
setRadio3('0');
setRadio1('0');
console.log(value);
if (value == '文本') {
setDetail('输入内容将显示在前端输入框提示信息中');
} else if (value == '多行文本') {
setDetail('输入内容将显示在前端输入框提示信息中');
} else if (value == '数值') {
setDetail('输入内容将显示在前端输入框提示信息中');
} else if (value == '设备二维码') {
setDetail('输入内容将显示在前端输入框提示信息中');
} else if (value == '选择器') {
setDetail('数据字典名称');
} else if (value == '值选择器' || value == '值复选择器') {
setDetail('用英文逗号分隔自定义的值,可设置初始值');
} else if (value == '可编辑值选择器') {
setDetail('用英文逗号分隔自定义的值,可编辑,可设置初始值');
} else if (value == '平铺值选择器') {
setDetail('用英文逗号分隔自定义的值,勾选,可设置初始值值后加.n可调整为复选');
} else {
setDetail('');
}
if (
value == '多行文本' ||
value == '附件' ||
......@@ -419,6 +775,8 @@ const AddModal = props => {
value == '视频'
) {
form.setFieldsValue({ RowSpan: 6 });
} else if (value == '站点选择器') {
form.setFieldsValue({ Config: '全局.n' });
} else {
if (pramData.RowSpan) {
form.setFieldsValue({ RowSpan: pramData.RowSpan });
......@@ -545,9 +903,7 @@ const AddModal = props => {
console.log(e.node.org.ID);
console.log(bb.indexOf(e.node.org.ID.toString()));
if (bb.indexOf(e.node.org.ID) != -1) {
console.log(34353535);
let aa = valueData.find(i => i.ID == e.node.org.ID);
console.log(aa);
Promise.all([req1, req2, req3]).then(res => {
res[1].msg === 'Ok' && setFieldName(res[1].data.root);
res[2].msg === 'Ok' && setEventList(res[2].data.root);
......@@ -563,6 +919,26 @@ const AddModal = props => {
setCheckedList(aa.ExceptionEventFields.split(','));
}
setShape(aa.Shape);
if (aa.Shape == '文本') {
setDetail('输入内容将显示在前端输入框提示信息中');
} else if (aa.Shape == '多行文本') {
setDetail('输入内容将显示在前端输入框提示信息中');
} else if (aa.Shape == '数值') {
setDetail('输入内容将显示在前端输入框提示信息中');
} else if (aa.Shape == '设备二维码') {
setDetail('输入内容将显示在前端输入框提示信息中');
} else if (aa.Shape == '选择器') {
setDetail('数据字典名称');
} else if (aa.Shape == '值选择器' || aa.Shape == '值复选择器') {
setDetail('用英文逗号分隔自定义的值,可设置初始值');
} else if (aa.Shape == '可编辑值选择器') {
setDetail('用英文逗号分隔自定义的值,可编辑,可设置初始值');
} else if (aa.Shape == '平铺值选择器') {
setDetail('用英文逗号分隔自定义的值,勾选,可设置初始值值后加.n可调整为复选');
} else {
setDetail('');
}
let coordinates = false,
picture = false,
must = false;
......@@ -582,18 +958,142 @@ const AddModal = props => {
prefix: code[1] === 'undefined' ? '' : code[1],
});
break;
case '平铺值选择器':
case '搜索选择器':
let data = aa.Config.split('.');
form.setFieldsValue({
Config: data[0] || '',
});
if (aa.Config.endsWith('.n')) {
form.setFieldsValue({
check: 1,
});
setRadio(1);
} else {
form.setFieldsValue({
check: 0,
});
setRadio(0);
}
break;
case '唯一值文本':
let arr = aa.Config.split('.');
form.setFieldsValue({
tableName: arr[0] || '',
fieldName: arr[1] || '',
});
break;
case '业务选择器':
let list = aa.Config.split('.');
form.setFieldsValue({
tableName: list[0] || '',
fieldName: list[1] || '',
});
if (aa.Config.endsWith('.n')) {
form.setFieldsValue({
check: 1,
});
setRadio(1);
} else {
form.setFieldsValue({
check: 0,
});
setRadio(0);
}
console.log(aa);
break;
case '台账选择器':
let book = aa.Config.split('.');
let ad = book[1].split('?');
form.setFieldsValue({
standingBook: book[0] || '',
fieldName: ad[0] || '',
});
let book1 = aa.Config.split('?');
if (book1[1]) {
let cc = book1[1].split('=');
form.setFieldsValue({
filterName: cc[0],
filterValue: cc[1].substring(1, cc[1].length - 1),
});
}
if (book1[0].endsWith('.n')) {
form.setFieldsValue({
check: 1,
});
setRadio(1);
} else {
form.setFieldsValue({
check: 0,
});
setRadio(0);
}
break;
case '人员选择器':
let pepole = aa.Config.split('.');
// form.setFieldsValue({ ShowConfig: pepole });
if (pepole[0] == '全部') {
setRadio1('全部');
setRadio3('0');
if (pepole[1] != 'n') {
form.setFieldsValue({
All: '全部',
AllID: '0',
ConfigName: pepole[1],
});
} else {
form.setFieldsValue({
All: '全部',
AllID: '0',
ConfigName: '',
});
}
} else if (pepole[0] == '全部ID') {
setRadio1('全部');
setRadio3('全部ID');
if (pepole[1] != 'n') {
form.setFieldsValue({
All: '全部',
AllID: '全部ID',
ConfigName: pepole[1],
});
} else {
form.setFieldsValue({
All: '全部',
AllID: '全部ID',
ConfigName: '',
});
}
} else {
setRadio1('0');
setRadio3('0');
form.setFieldsValue({
All: '0',
AllID: '0',
Config: pepole[0],
});
}
if (aa.Config.endsWith('.n')) {
form.setFieldsValue({
check: 1,
});
setRadio(1);
} else {
form.setFieldsValue({
check: 0,
});
setRadio(0);
}
break;
}
setValue1();
setPramData({ ...aa, coordinates, must, picture });
let index = res[2].data.root.find(item => {
return item.Name == aa.ExceptionEvent;
});
console.log('index', index);
getFieldData(index.TableName);
}
});
} else {
console.log(1212122);
Promise.all([req1, req2, req3]).then(res => {
res[1].msg === 'Ok' && setFieldName(res[1].data.root);
res[2].msg === 'Ok' && setEventList(res[2].data.root);
......@@ -630,7 +1130,140 @@ const AddModal = props => {
prefix: code[1] === 'undefined' ? '' : code[1],
});
break;
case '平铺值选择器':
case '搜索选择器':
let data = res[0].data.root.Config.split('.');
form.setFieldsValue({
Config: data[0] || '',
});
if (res[0].data.root.Config.endsWith('.n')) {
form.setFieldsValue({
check: 1,
});
setRadio(1);
} else {
form.setFieldsValue({
check: 0,
});
setRadio(0);
}
break;
case '唯一值文本':
let arr = res[0].data.root.Config.split('.');
form.setFieldsValue({
tableName: arr[0] || '',
fieldName: arr[1] || '',
});
break;
case '业务选择器':
let list = res[0].data.root.Config.split('.');
console.log(list);
form.setFieldsValue({
tableName: list[0] || '',
fieldName: list[1] || '',
});
if (res[0].data.root.Config.endsWith('.n')) {
form.setFieldsValue({
check: 1,
});
setRadio(1);
} else {
form.setFieldsValue({
check: 0,
});
setRadio(0);
}
break;
case '台账选择器':
let book = res[0].data.root.Config.split('.');
let ab = book[1].split('?');
form.setFieldsValue({
standingBook: book[0] || '',
fieldName: ab[0] || '',
});
let book1 = res[0].data.root.Config.split('?');
if (book1[1]) {
let aa = book1[1].split('=');
form.setFieldsValue({
filterName: aa[0],
filterValue: aa[1].substring(1, aa[1].length - 1),
});
}
if (book1[0].endsWith('.n')) {
form.setFieldsValue({
check: 1,
});
setRadio(1);
} else {
form.setFieldsValue({
check: 0,
});
setRadio(0);
}
break;
case '人员选择器':
let pepole = res[0].data.root.Config.split('.');
// form.setFieldsValue({ ShowConfig: pepole });
console.log(pepole);
if (pepole[0] == '全部') {
setRadio1('全部');
setRadio3('全部');
if (pepole[1] != 'n') {
form.setFieldsValue({
All: '全部',
AllID: '0',
// Config: pepole[0],
ConfigName: pepole[1],
});
} else {
form.setFieldsValue({
All: '全部',
AllID: '0',
// Config: pepole[0],
ConfigName: '',
});
}
} else if (pepole[0] == '全部ID') {
setRadio1('全部');
setRadio3('全部ID');
if (pepole[1] != 'n') {
form.setFieldsValue({
All: '全部',
AllID: '全部ID',
// Config: pepole[0],
ConfigName: pepole[1],
});
} else {
form.setFieldsValue({
All: '全部',
AllID: '全部ID',
// Config: pepole[0],
ConfigName: '',
});
}
} else {
setRadio1('0');
setRadio3('0');
form.setFieldsValue({
All: '0',
AllID: '0',
Config: pepole[0],
});
}
if (res[0].data.root.Config.endsWith('.n')) {
form.setFieldsValue({
check: 1,
});
setRadio(1);
} else {
form.setFieldsValue({
check: 0,
});
setRadio(0);
}
break;
}
setValue1();
setPramData({ ...res[0].data.root, coordinates, must, picture });
let index = res[2].data.root.find(item => {
return item.Name == res[0].data.root.ExceptionEvent;
......@@ -681,7 +1314,84 @@ const AddModal = props => {
data[0].Preset = pramData.picture ? '拍照相册' : '';
data[0].ValidationRule = pramData.must ? 'required' : '';
break;
default:
case '平铺值选择器':
case '搜索选择器':
if (obj.Config.endsWith('.n')) {
data[0].Config = obj.Config;
} else {
data[0].Config = radio == 0 ? `${obj.Config}` : `${obj.Config}.n`;
}
break;
case '唯一值文本':
data[0].Config = obj.fieldName
? `${obj.tableName}.${obj.fieldName}`
: `${obj.tableName}`;
break;
case '业务选择器':
if (obj.fieldName.endsWith('.n')) {
data[0].Config = obj.fieldName
? `${obj.tableName}.${obj.fieldName}`
: `${obj.tableName}`;
} else {
if (obj.fieldName) {
data[0].Config =
radio == 0
? `${obj.tableName}.${obj.fieldName}`
: `${obj.tableName}.${obj.fieldName}.n`;
} else {
data[0].Config = radio == 0 ? `${obj.tableName}` : `${obj.tableName}.n`;
}
}
break;
case '台账选择器':
if (obj.fieldName.endsWith('.n')) {
data[0].Config = `${obj.standingBook}.${obj.fieldName}`;
} else {
if (obj.fieldName) {
data[0].Config =
radio == 0
? `${obj.standingBook}.${obj.fieldName}`
: `${obj.standingBook}.${obj.fieldName}.n`;
} else {
data[0].Config = radio == 0 ? `${obj.standingBook}` : `${obj.standingBook}.n`;
}
}
if (obj.filterName && obj.filterValue) {
data[0].Config = `${data[0].Config}?${obj.filterName}='${obj.filterValue}'`;
}
break;
case '人员选择器':
console.log(obj.ConfigName);
console.log(form.getFieldValue().ConfigName);
console.log(radio1);
console.log(radio3);
console.log(form.getFieldValue().All);
console.log(form.getFieldValue().AllID);
if (radio1 == '全部') {
if (radio3 == '全部ID') {
if (obj.ConfigName) {
let str = radio == 0 ? `全部ID.${obj.ConfigName}` : `全部ID.${obj.ConfigName}.n`;
data[0].Config = str;
} else {
let str = radio == 0 ? `全部ID` : `全部ID.n`;
data[0].Config = str;
}
} else {
if (obj.ConfigName) {
let str = radio == 0 ? `全部.${obj.ConfigName}` : `全部.${obj.ConfigName}.n`;
data[0].Config = str;
} else {
let str = radio == 0 ? `全部` : `全部.n`;
data[0].Config = str;
}
}
} else {
let str = radio == 0 ? `${obj.Config}` : `${obj.Config}.n`;
console.log(str);
data[0].Config = str;
}
break;
default:
data[0].Config = obj.Config;
}
console.log(data[0]);
......@@ -704,6 +1414,18 @@ const AddModal = props => {
valueData.push(data[0]);
}
}
form.setFieldsValue({
tableName: '',
fieldName: '',
standingBook: '',
filterName: '',
filterValue: '',
ConfigName: '',
check: '',
ShowConfig: '',
All: '',
AllID: '',
});
if (i == 1.14) {
console.log(valueData);
UpdateFields(valueData).then(res => {
......@@ -728,6 +1450,200 @@ const AddModal = props => {
}
});
};
const onChange2 = e => {
setRadio(e.target.value);
setValue1();
};
const inputOnChange = e => {
setValue1();
};
const inputOnchange = e => {
setValue1();
};
const onChange3 = e => {
// if (e.target.value == '全部ID') {
// form.setFieldsValue({ Config: '全部ID' });
// }
// if (e.target.value == '0' && radio1 == '全部') {
// form.setFieldsValue({ Config: '全部' });
// }
setRadio3(e.target.value);
setValue1();
};
const onChange1 = e => {
let aa = form.getFieldsValue().ConfigName;
let bb = form.getFieldsValue().Config;
console.log(aa);
console.log(bb);
if (e.target.value == '全部') {
// if (radio3 == '全部ID') {
// form.setFieldsValue({ Config: '全部ID' });
// } else {
// form.setFieldsValue({ Config: '全部' });
// }
form.setFieldsValue({ ConfigName: bb });
} else {
form.setFieldsValue({ Config: aa, AllID: '0' });
setRadio3('0');
}
setRadio1(e.target.value);
setValue();
};
const setValue = () => {
let aa = form.getFieldsValue().ConfigName;
let bb = form.getFieldsValue().Config;
let cc = form.getFieldsValue().All;
let dd = form.getFieldsValue().AllID;
let ff = form.getFieldsValue().check;
console.log(aa);
console.log(bb);
console.log(ff);
if (cc == '全部') {
if (dd == '全部ID') {
if (bb) {
if (ff == 1) {
console.log(1);
form.setFieldsValue({ ShowConfig: `全部ID.${bb}.n` });
} else {
console.log(2);
form.setFieldsValue({ ShowConfig: `全部ID.${bb}` });
}
} else {
if (ff == 1) {
console.log(3);
form.setFieldsValue({ ShowConfig: `全部ID.n` });
} else {
console.log(4);
form.setFieldsValue({ ShowConfig: `全部ID` });
}
}
} else {
if (bb) {
if (ff == 1) {
console.log(5);
form.setFieldsValue({ ShowConfig: `全部.${bb}.n` });
} else {
console.log(6);
form.setFieldsValue({ ShowConfig: `全部.${bb}` });
}
} else {
if (ff == 1) {
console.log(7);
form.setFieldsValue({ ShowConfig: `全部.n` });
} else {
console.log(8);
form.setFieldsValue({ ShowConfig: `全部` });
}
}
}
} else {
if (aa) {
if (ff == 1) {
console.log(9);
form.setFieldsValue({ ShowConfig: `${aa}.n` });
} else {
console.log(10);
form.setFieldsValue({ ShowConfig: `${aa}` });
}
} else {
if (ff == 1) {
console.log(11);
form.setFieldsValue({ ShowConfig: `.n` });
} else {
console.log(12);
form.setFieldsValue({ ShowConfig: '' });
}
}
}
};
const setValue1 = () => {
let aa = form.getFieldsValue().ConfigName;
let bb = form.getFieldsValue().Config;
let cc = form.getFieldsValue().All;
let dd = form.getFieldsValue().AllID;
let ff = form.getFieldsValue().check;
console.log(valueData);
console.log(aa);
console.log(bb);
console.log(ff);
console.log(cc);
console.log(dd);
if (cc == '全部') {
if (dd == '全部ID') {
if (aa) {
if (ff == 1) {
console.log(1);
form.setFieldsValue({ ShowConfig: `全部ID.${aa}.n` });
} else {
console.log(2);
form.setFieldsValue({ ShowConfig: `全部ID.${aa}` });
}
} else {
if (ff == 1) {
console.log(3);
form.setFieldsValue({ ShowConfig: `全部ID.n` });
} else {
console.log(4);
form.setFieldsValue({ ShowConfig: `全部ID` });
}
}
} else {
if (aa) {
if (ff == 1) {
console.log(5);
form.setFieldsValue({ ShowConfig: `全部.${aa}.n` });
} else {
console.log(6);
form.setFieldsValue({ ShowConfig: `全部.${aa}` });
}
} else {
if (ff == 1) {
console.log(7);
form.setFieldsValue({ ShowConfig: `全部.n` });
} else {
console.log(8);
form.setFieldsValue({ ShowConfig: `全部` });
}
}
}
} else {
if (bb) {
if (ff == 1) {
console.log(9);
form.setFieldsValue({ ShowConfig: `${bb}.n` });
} else {
console.log(10);
form.setFieldsValue({ ShowConfig: `${bb}` });
}
} else {
if (ff == 1) {
console.log(11);
form.setFieldsValue({ ShowConfig: `.n` });
} else {
console.log(12);
form.setFieldsValue({ ShowConfig: '' });
}
}
}
};
const mapTreeSelect = org => {
return org.children ? (
<TreeNode value={org.name} title={org.name} disabled>
{org.children.map(item => mapTreeSelect(item))}
</TreeNode>
) : (
<TreeNode value={org} title={org} key={org} />
);
};
return (
<>
<Drawer
......@@ -814,22 +1730,23 @@ const AddModal = props => {
<Col span={12}>
<Item label="形态" labelCol={{ span: 6 }}>
<div className={styles.listEvent}>
<Select
<TreeSelect
style={{ width: '95%' }}
value={Shape}
onChange={handleCharacteristics}
showSearch
dropdownStyle={{ maxHeight: 400, overflow: 'auto' }}
placeholder="请选择表名 "
allowClear
treeDefaultExpandAll
showCheckedStrategy
>
{characteristics.length
? characteristics.map((item, index) => {
return (
<Select.Option key={index} value={item}>
{item}
</Select.Option>
);
})
: ''}
</Select>
{characteristics1 ? (
characteristics1.map(i => mapTreeSelect(i))
) : (
<Empty image={Empty.PRESENTED_IMAGE_SIMPLE} />
)}
</TreeSelect>
{/* <div className={styles.unit}>
单位:
<Input
......@@ -865,6 +1782,8 @@ const AddModal = props => {
</Item>
</Col>
</Row>
{/* <div style={{ border: '1px dashed red' }}> */}
{(() => {
switch (Shape) {
case '编码':
......@@ -890,15 +1809,17 @@ const AddModal = props => {
);
case '值选择器':
case '值复选器':
case '可编辑值选择器':
case '平铺值选择器':
return (
<>
{' '}
<Item label="可选值" name="Config" labelCol={{ span: 3 }}>
<TextArea allowClear style={{ width: '93%' }} />
<TextArea
allowClear
style={{ width: '93%' }}
placeholder="用英文逗号分隔自定义的值,可设置初始值"
/>
</Item>
<Item colon={false} label=" " labelCol={{ span: 3 }}>
{/* <Item colon={false} label=" " labelCol={{ span: 3 }}>
{' '}
<div style={{ display: 'flex', alignItems: 'center' }}>
<span style={{ marginRight: '0.4rem' }}>
......@@ -916,11 +1837,53 @@ const AddModal = props => {
<Select.Option value="8">(否)/是</Select.Option>
</Select>
</div>
</Item> */}
</>
);
case '可编辑值选择器':
return (
<>
{' '}
<Item label="可选值" name="Config" labelCol={{ span: 3 }}>
<TextArea
allowClear
style={{ width: '93%' }}
placeholder="用英文逗号分隔自定义的值,可编辑,可设置初始值"
/>
</Item>
</>
);
case '平铺值选择器':
return (
<>
{' '}
<Item
label="可选值"
name="Config"
labelCol={{ span: 3 }}
rules={[{ required: true, message: '请输入表名' }]}
>
<TextArea
allowClear
style={{ width: '93%' }}
placeholder="用英文逗号分隔自定义的值,勾选,可设置初始值"
/>
</Item>
<Item
colon={false}
name="check"
label="形态功能:"
labelCol={{ span: 3 }}
>
<Radio.Group onChange={onChange2} value={radio} defaultValue={chee}>
<Radio value={0}>单选</Radio>
<Radio value={1}>多选</Radio>
</Radio.Group>
</Item>
</>
);
case '图片':
case '可预览图片':
// case '可预览图片':
return (
<Item name="ReadOnly" label="选项" labelCol={{ span: 3 }}>
<div>
......@@ -939,85 +1902,456 @@ const AddModal = props => {
</div>
</Item>
);
case '日期时间':
case '日期':
case '日期月份':
case '日期年份':
case '日期周':
case '时分秒':
case '唯一值文本':
return (
<Row>
<Col span={12}>
<Item
label="表名"
name="tableName"
labelCol={{ span: 6 }}
rules={[{ required: true, message: '请输入表名' }]}
>
<Input style={{ width: '95%' }} placeholder="请输入表名" />
</Item>
</Col>
<Col span={12}>
<Item
label="字段名"
name="fieldName"
labelCol={{ span: 5 }}
rules={[{ required: true, message: '请输入表名' }]}
>
<Input style={{ width: '85%' }} placeholder="请输入字段名" />
</Item>
</Col>
</Row>
);
case '业务选择器':
return (
<Item label="选项" name="Config" labelCol={{ span: 3 }}>
<Radio.Group style={{ marginTop: '0.3rem' }}>
<Radio
value="默认为空"
defaultChecked
style={{ width: '18rem', marginBottom: '0.5rem' }}
<>
<Row>
<Col span={12}>
<Item
label="表名"
name="tableName"
labelCol={{ span: 6 }}
rules={[{ required: true, message: '请输入表名' }]}
>
默认为空
</Radio>
<Radio value="">默认为当前时间</Radio>
<Radio value="不可选择" style={{ width: '18rem' }}>
锁定为当前时间(通过用户点击刷新)
</Radio>
<Radio value="不超过当前时间">不超过当前时间</Radio>
<Input style={{ width: '95%' }} placeholder="请输入表名" />
</Item>
</Col>
<Col span={12}>
<Item
label="字段名"
name="fieldName"
labelCol={{ span: 5 }}
rules={[{ required: true, message: '请输入表名' }]}
>
<Input style={{ width: '85%' }} placeholder="请输入字段名" />
</Item>
</Col>
</Row>
<Item
colon={false}
name="check"
label="形态功能:"
labelCol={{ span: 3 }}
>
<Radio.Group onChange={onChange2} value={radio} defaultValue={chee}>
<Radio value={0}>单选</Radio>
<Radio value={1}>多选</Radio>
</Radio.Group>
</Item>
</>
);
case '坐标控件':
case '选择器':
return (
<Item label="选项" name="Config" labelCol={{ span: 3 }}>
<div>
<Checkbox
value="当前坐标"
style={{ marginRight: '0.2rem' }}
checked={pramData.coordinates}
onChange={e => onChangeReady(e, 'coordinates')}
<>
<Item
label="配置"
name="Config"
labelCol={{ span: 3 }}
rules={[{ required: true, message: '请输入数据字典名称' }]}
>
<TextArea
allowClear
style={{ width: '92%' }}
placeholder="请输入数据字典名称"
/>
锁定为当前位置坐标
</div>
</Item>
</>
);
case '搜索选择器':
return (
<>
<Item
label="数据字典名称"
name="Config"
labelCol={{ span: 5 }}
rules={[{ required: true, message: '请输入数据字典名称' }]}
>
<Input
allowClear
style={{ width: '92%' }}
placeholder="请输入数据字典名称"
/>
</Item>
<Item
colon={false}
name="check"
label="形态功能:"
labelCol={{ span: 3 }}
>
<Radio.Group onChange={onChange2} value={radio} defaultValue={chee}>
<Radio value={0}>单选</Radio>
<Radio value={1}>多选</Radio>
</Radio.Group>
</Item>
</>
);
case '部门选择器':
return (
<>
<Item
colon={false}
name="check"
label="形态功能:"
labelCol={{ span: 3 }}
>
<Radio.Group onChange={onChange2} value={radio} defaultValue={chee}>
<Radio value={0}>单选</Radio>
<Radio value={1}>多选</Radio>
</Radio.Group>
</Item>
</>
);
case '站点选择器':
return (
<Item
label="配置"
name="Config"
labelCol={{ span: 3 }}
rules={[{ required: true, message: '选择配置' }]}
>
<Select
placeholder="默认为全局.n即全局多选,.n为多选(全局时勾选由问题)"
style={{ width: '93%' }}
>
<Select.Option value="全局.n">全局(多选)</Select.Option>
<Select.Option value="全局">全局</Select.Option>
<Select.Option value="本人.n">本人(多选)</Select.Option>
<Select.Option value="本人">本人</Select.Option>
</Select>
</Item>
);
case '台账选择器':
return (
<>
<Row>
<Col span={12}>
<Item
label="台账名"
name="standingBook"
labelCol={{ span: 6 }}
rules={[{ required: true, message: '请输入台账名' }]}
>
<Input style={{ width: '95%' }} placeholder="请输入台账名" />
</Item>
</Col>
<Col span={12}>
<Item
label="字段名"
name="fieldName"
labelCol={{ span: 6 }}
rules={[{ required: true, message: '请输入字段名' }]}
>
<Input style={{ width: '85%' }} placeholder="请输入字段名" />
</Item>
</Col>
<Col span={12}>
<Item label="台账过滤条件" name="filterName" labelCol={{ span: 9 }}>
<Input style={{ width: '94%' }} placeholder="请输入字段名" />
</Item>
</Col>
<Col span={3}>
<span style={{ marginLeft: '25px' }}>=</span>
</Col>
<Col span={9}>
<Item name="filterValue" labelCol={{ span: 5 }}>
<Input style={{ width: '85%' }} placeholder="请输入过滤条件" />
</Item>
</Col>
</Row>
<Item
colon={false}
name="check"
label="形态功能:"
labelCol={{ span: 3 }}
>
<Radio.Group onChange={onChange2} value={radio} defaultValue={chee}>
<Radio value={0}>单选</Radio>
<Radio value={1}>多选</Radio>
</Radio.Group>
</Item>
</>
);
case '人员选择器':
return (
<>
<Item colon={false} label="全部:" name="All" labelCol={{ span: 3 }}>
<Radio.Group onChange={onChange1} value={radio1}>
<Radio value="0"></Radio>
<Radio value="全部"></Radio>
</Radio.Group>
</Item>
{(() => {
switch (radio1) {
case '全部':
return (
<>
<Item
colon={false}
label="全部ID:"
name="AllID"
labelCol={{ span: 3 }}
>
<Radio.Group onChange={onChange3} value={radio3}>
<Radio value="0"></Radio>
<Radio value="全部ID"></Radio>
</Radio.Group>
</Item>
<Item
colon={false}
name="check"
label="形态功能:"
labelCol={{ span: 3 }}
>
<Radio.Group onChange={onChange2} value={radio}>
<Radio value={0}>单选</Radio>
<Radio value={1}>多选</Radio>
</Radio.Group>
</Item>
{/* <Row> */}
{/* <Col span={10}>
<Item
label="配置"
name="Config"
labelCol={{ span: 7 }}
rules={[
{ required: true, message: '请输入全部或全部ID' },
]}
>
<Input
allowClear
style={{ width: '100%' }}
placeholder="请输入输入全部或全部ID"
/>
</Item>
</Col> */}
{/* <Col span={1} /> */}
{/* <Col span={18}> */}
<Item
label="角色或机构名称"
name="ConfigName"
labelCol={{ span: 5 }}
rules={[
{
validator: (rule, value) => {
let str = /[.]/g;
if (str.test(form.getFieldValue().ConfigName)) {
return Promise.reject('.作为分隔符,请勿输入');
}
return Promise.resolve();
},
},
]}
>
<Input
allowClear
style={{ width: '92%' }}
placeholder="请输入角色或机构名称"
onChange={inputOnChange}
/>
</Item>
{/* </Col>
</Row> */}
<Item label="配置" name="ShowConfig" labelCol={{ span: 5 }}>
<Input allowClear style={{ width: '92%' }} disabled />
</Item>
</>
);
case '0':
return (
<>
<Item
colon={false}
name="check"
label="形态功能:"
labelCol={{ span: 3 }}
>
<Radio.Group onChange={onChange2} value={radio}>
<Radio value={0}>单选</Radio>
<Radio value={1}>多选</Radio>
</Radio.Group>
</Item>
<Item
label="角色或机构或部门名称"
name="Config"
labelCol={{ span: 7 }}
rules={[
{
required: true,
message: '请输入角色或机构或部门名称',
},
{
validator: (rule, value) => {
let str = /[.]/g;
if (str.test(form.getFieldValue().Config)) {
return Promise.reject('.作为分隔符,请勿输入');
}
return Promise.resolve();
},
},
]}
>
<Input
allowClear
style={{ width: '93%' }}
placeholder="请输入角色或机构或部门名称"
onChange={inputOnchange}
/>
</Item>
<Item label="配置" name="ShowConfig" labelCol={{ span: 5 }}>
<Input allowClear style={{ width: '92%' }} disabled />
</Item>
</>
);
}
})()}
</>
);
// case '日期时间':
// case '日期':
// case '日期月份':
// case '日期年份':
// case '日期周':
// case '时分秒':
// return (
// <Item label="选项" name="Config" labelCol={{ span: 3 }}>
// <Radio.Group style={{ marginTop: '0.3rem' }}>
// <Radio
// value="默认为空"
// defaultChecked
// style={{ width: '18rem', marginBottom: '0.5rem' }}
// >
// 默认为空
// </Radio>
// <Radio value="">默认为当前时间</Radio>
// <Radio value="不可选择" style={{ width: '18rem' }}>
// 锁定为当前时间(通过用户点击刷新)
// </Radio>
// <Radio value="不超过当前时间">不超过当前时间</Radio>
// </Radio.Group>
// </Item>
// );
// case '坐标控件':
// return (
// <Item label="选项" name="Config" labelCol={{ span: 3 }}>
// <div>
// <Checkbox
// value="当前坐标"
// style={{ marginRight: '0.2rem' }}
// checked={pramData.coordinates}
// onChange={e => onChangeReady(e, 'coordinates')}
// />
// 锁定为当前位置坐标
// </div>
// </Item>
// );
case '位置坐标':
return (
<Item label="字段名称" name="Config" labelCol={{ span: 3 }}>
<Input
allowClear
style={{ width: '93%' }}
placeholder="请输入坐标位置"
/>
</Item>
);
case '地址':
case '本人部门':
case '本人姓名':
case '本人ID':
case '城市选择器':
case '附件':
case '可预览附件':
case '可预览图片':
case '录音':
case '视频':
case '日期':
case '日期时间':
case '日期月份':
case '日期年份':
case '日期周':
case '时分秒':
case '设备选择':
case '坐标控件':
case '区域控件':
case '路径控件':
case '智能抄表':
// case '位置坐标':
return <></>;
default:
return (
<Item label="配置" name="Config" labelCol={{ span: 3 }}>
<TextArea allowClear style={{ width: '93%' }} />
<TextArea allowClear style={{ width: '93%' }} placeholder={detail} />
</Item>
);
}
})()}
{/* </div> */}
{Shape === '图片' || Shape === '可预览图片' ? (
''
) : (
<Item label="预设值" labelCol={{ span: 3 }}>
<div className={styles.listEvent}>
{/* <div className={styles.listEvent}> */}
<Row>
<Col span={11}>
<Input
style={{ width: '42%', height: '1.8rem' }}
// style={{ width: '41%', height: '1.8rem' }}
value={pramData.Preset}
onChange={e => handleInput(e, 'Preset')}
placeholder=""
allowClear
/>
</Col>
<Col span={10}>
<Item
style={{ marginLeft: '1rem' }}
label="验证"
labelCol={{ span: 4 }}
labelCol={{ span: 5 }}
name="ValidationRule"
style={{ margin: '0 0 0 1rem' }}
>
<Input style={{ width: '97%' }} placeholder="" allowClear />
<Input style={{ width: '92%' }} placeholder="" allowClear />
</Item>
</Col>
<Col span={3}>
<Tooltip title="选择验证规则">
<PlusSquareOutlined
onClick={() => add('rule')}
onClick={() => {
add('rule');
}}
style={{
fontSize: '24px',
color: '#1890FF',
display: 'flex',
alignItems: 'center',
marginTop: '8px',
}}
/>
</Tooltip>
</div>
</Col>
</Row>
</Item>
)}
{/* <Item label="异常值">
......
......@@ -63,9 +63,12 @@ const AddModal = props => {
const [selectGroup, setSelectGroup] = useState([]);
const editor = record => {
console.log(record);
if (!record.children) {
setIsType('edit');
setIsVisible(true);
setItemData(record);
}
};
const Submit = prop => {
setIsVisible(false);
......@@ -571,6 +574,7 @@ const AddModal = props => {
}
};
const mapTree = org => {
console.log(org);
const haveChildren = Array.isArray(org.children) && org.children.length > 0;
return haveChildren ? (
<TreeNode value={org.name} title={org.name} disabled>
......
......@@ -244,6 +244,7 @@ const TableManager = props => {
}
}
setKeepTreeFirst(bb);
console.log(aa);
setKeepTreeSelect(aa);
initNum.current += 1;
}
......
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