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

fix: '表字段形态优化,数据库升级功能优化可支持选择'

parent 51c90761
Pipeline #61426 passed with stages
......@@ -10,7 +10,7 @@ const VerifyModal = props => {
{ lable: '身份证号(identity)', value: 'identity' },
{ lable: '手机号(mobile)', value: 'mobile' },
{ lable: '银行卡号(bankAccount)', value: 'bankAccount' },
{ lable: '时间控制(timeControl)', value: 'timeControl' },
// { lable: '时间控制(timeControl)', value: 'timeControl' },
]); // 单选框数据
const [checkDefaultValue, setCheckDefaultValue] = useState([]); // 复选框选择的数据
const [maxLengthVlaue, setMaxLengthVlaue] = useState(''); // 最大字节长度值
......@@ -106,11 +106,15 @@ const VerifyModal = props => {
onChange={CheckboxOnChange}
defaultValue={checkDefaultValue}
>
<Checkbox value="required">必填(required)</Checkbox>
<Checkbox value="emphasis">强调(emphasis)</Checkbox>
<Checkbox value="sensitive" style={{ marginBottom: '10px' }}>
敏感(sensitive)
<Checkbox value="required" style={{ marginBottom: '10px' }}>
必填(required)
</Checkbox>
<Checkbox value="emphasis" style={{ marginBottom: '10px' }}>
强调(emphasis)
</Checkbox>
{/* <Checkbox value="sensitive" style={{ marginBottom: '10px' }}>
敏感(sensitive)
</Checkbox> */}
<br />
<Input.Group size="small">
......
/* eslint-disable no-cond-assign */
/* eslint-disable prefer-promise-reject-errors */
/* eslint-disable prettier/prettier */
/* eslint-disable guard-for-in */
......@@ -99,9 +100,7 @@ const AddModal = props => {
'选择器',
'搜索选择器',
'值选择器',
'值复选器',
'可编辑值选择器',
'平铺值选择器',
'站点选择器',
'人员选择器',
'城市选择器',
......@@ -113,7 +112,7 @@ const AddModal = props => {
{
name: '附件类',
ID: 2,
children: ['附件', '可预览附件', '图片', '可预览图片', '录音', '视频'],
children: ['附件', '图片', '录音', '视频'],
},
{
name: '时间类',
......@@ -151,6 +150,7 @@ const AddModal = props => {
picture: '',
must: '',
coordinates: '',
});
const [currentSelectOrg, setCurrentSelectOrg] = useState([]);
const [checkedList, setCheckedList] = useState([]); // 选中的复选框内容
......@@ -158,7 +158,9 @@ const AddModal = props => {
const [valueData, setValueData] = useState([]); // 保存所有修改数据
const [keep, setKeep] = useState();
const [chee, setChee] = useState('');
const [cheestyle, setCheestyle] = useState('');
const [radio, setRadio] = useState('');
const [radiostyle, setRadiostyle] = useState('');
const [radio1, setRadio1] = useState('');
const [radio3, setRadio3] = useState('');
const [detail, setDetail] = useState('');
......@@ -174,6 +176,27 @@ const AddModal = props => {
const [popeleShape, setPopeleShape] = useState('');
const [gl, setGl] = useState('');
const [cse, setCse] = useState('');
const [view, setView] = useState(true);
const [preView, setPreView] = useState(true);
const [viewMuise, setViewMuise] = useState(true);
const [preViewVideo, setPreViewVideo] = useState(true);
const onChangeView = e =>{
setView(e.target.checked)
}
const onChangePreView = e =>{
setPreView(e.target.checked)
}
const onChangePreViewMuise = e =>{
setViewMuise(e.target.checked)
}
const onChangePreViewVideo = e =>{
setPreViewVideo(e.target.checked)
}
// 提交
const onSubmit = () => {
// 不切换树
......@@ -189,6 +212,7 @@ const AddModal = props => {
} else {
aa = 0;
}
console.log(Shape)
let data = [
{
Unit: obj.Unit || '',
......@@ -211,7 +235,7 @@ const AddModal = props => {
ExceptionEventFields: characterValue,
},
];
console.log(radio);
console.log(data);
switch (Shape) {
case '编码':
data[0].Config = `${obj.code}.${obj.prefix ? obj.prefix : ''}`;
......@@ -225,12 +249,17 @@ const AddModal = props => {
data[0].Preset = pramData.picture ? '拍照相册' : '';
data[0].ValidationRule = pramData.must ? 'required' : '';
break;
case '平铺值选择器':
case '值选择器':
case '搜索选择器':
if (obj.Config.endsWith('.n')) {
data[0].Config = obj.Config;
} else {
data[0].Config = radio == 0 ? `${obj.Config}` : `${obj.Config}.n`;
if(radiostyle==1){
// 平铺值选择器
data[0].Config = radio == 0 ? `${obj.Config}` : `${obj.Config}.n`;
}else{
data[0].Config=obj.Config
}
}
break;
case '部门选择器':
......@@ -335,6 +364,46 @@ const AddModal = props => {
data[0].Config = obj.Config;
}
console.log(data);
if(Shape=='图片'){
if(view){
data[0].Shape='可预览图片'
}else{
data[0].Shape='图片'
}
}
if(Shape=='附件'){
if(preView){
data[0].Shape='可预览附件'
}else{
data[0].Shape='附件'
}
}
if(Shape=='录音'){
if(viewMuise){
data[0].Shape='可预览录音'
}else{
data[0].Shape='录音'
}
}
if(Shape=='视频'){
if(preViewVideo){
data[0].Shape='可预览视频'
}else{
data[0].Shape='视频'
}
}
if(Shape=='值选择器'){
if(radiostyle==0){
if(radio==0){
data[0].Shape='值选择器'
}else{
data[0].Shape='值复选器'
}
}else{
data[0].Shape='平铺值选择器'
}
}
console.log(data)
UpdateFields(data).then(res => {
setLoading(false);
if (res.msg === 'Ok' || res.msg === '') {
......@@ -398,7 +467,6 @@ const AddModal = props => {
form.setFieldsValue({ SyncEvent: false });
setSynchronization(false);
}
setShape(res[0].data.root.Shape);
console.log(res[0].data.root.Shape);
if (res[0].data.root.Shape == '文本') {
setDetail('输入内容将显示在前端输入框提示信息中');
......@@ -412,7 +480,7 @@ const AddModal = props => {
setDetail('数据字典名称');
} else if (
res[0].data.root.Shape == '值选择器' ||
res[0].data.root.Shape == '值复选器'
res[0].data.root.Shape == '值复选器'
) {
setDetail('用英文逗号分隔自定义的值,可设置初始值');
} else if (res[0].data.root.Shape == '可编辑值选择器') {
......@@ -426,6 +494,7 @@ const AddModal = props => {
let coordinates = false,
picture = false,
must = false;
switch (res[0].data.root.Shape) {
case '坐标控件':
res[0].data.root.Config === '当前坐标'
......@@ -457,11 +526,15 @@ const AddModal = props => {
}
break;
case '图片':
case '可预览图片':
// res[0].data.root.Config === '拍照相册' ? (picture = true) : (picture = false);
res[0].data.root.Preset === '拍照相册' ? (picture = true) : (picture = false);
res[0].data.root.ValidationRule === 'required' ? (must = true) : (must = false);
res[0].data.root.ValidationRule === 'required' ? (must = true) : (must = false);
break;
case '可预览图片':
// res[0].data.root.Config === '拍照相册' ? (picture = true) : (picture = false);
res[0].data.root.Preset === '拍照相册' ? (picture = true) : (picture = false);
res[0].data.root.ValidationRule === 'required' ? (must = true) : (must = false);
break;
case '编码':
let code = res[0].data.root.Config.split('.');
form.setFieldsValue({
......@@ -494,7 +567,6 @@ const AddModal = props => {
}
}
break;
case '平铺值选择器':
case '搜索选择器':
let data = res[0].data.root.Config.split('.');
form.setFieldsValue({
......@@ -512,6 +584,27 @@ const AddModal = props => {
setRadio(0);
}
break;
case '平铺值选择器':
let dataa = res[0].data.root.Config.split('.');
form.setFieldsValue({
Config: dataa[0] || '',
});
if (res[0].data.root.Config.endsWith('.n')) {
form.setFieldsValue({
check: 1,
});
setRadio(1);
} else {
form.setFieldsValue({
check: 0,
});
setRadio(0);
}
form.setFieldsValue({
style: 1,
});
setRadiostyle(1);
break;
case '唯一值文本':
let arr = res[0].data.root.Config.split('.');
form.setFieldsValue({
......@@ -741,6 +834,47 @@ const AddModal = props => {
break;
}
if(res[0].data.root.Shape=='可预览图片'){
setView(true);
}else if(res[0].data.root.Shape=='图片'){
setView(false);
}else if(res[0].data.root.Shape=='可预览附件'){
setPreView(true);
}else if(res[0].data.root.Shape=='附件'){
setPreView(false);
}else if(res[0].data.root.Shape=='可预览录音'){
setViewMuise(true);
}else if(res[0].data.root.Shape=='录音'){
setViewMuise(false);
}else if(res[0].data.root.Shape=='可预览视频'){
setPreViewVideo(true);
}else if(res[0].data.root.Shape=='视频'){
setPreViewVideo(false);
}else if(res[0].data.root.Shape=='值选择器'){
setRadiostyle(0);
setRadio(0);
form.setFieldsValue({check:0,style:0})
}else if(res[0].data.root.Shape=='值复选器'){
setRadiostyle(0);
setRadio(1);
form.setFieldsValue({check:1,style:0})
}
if(res[0].data.root.Shape=='可预览图片'){
setShape('图片')
}else if(res[0].data.root.Shape=='可预览附件'){
setShape('附件')
}else if(res[0].data.root.Shape=='可预览录音'){
setShape('录音')
}else if(res[0].data.root.Shape=='可预览视频'){
setShape('视频')
}else if(res[0].data.root.Shape=='平铺值选择器'){
setShape('值选择器')
}else if(res[0].data.root.Shape=='值复选器'){
setShape('值选择器')
}else {
setShape(res[0].data.root.Shape)
}
setPramData({ ...res[0].data.root, coordinates, must, picture });
// if (
// res[0].data.root.Shape == '多行文本' ||
......@@ -760,9 +894,7 @@ const AddModal = props => {
// }
// }
// 清空表单数据
let index = res[2].data.root.find(item => {
return item.Name == res[0].data.root.ExceptionEvent;
});
let index = res[2].data.root.find(item => item.Name == res[0].data.root.ExceptionEvent);
console.log(index);
getFieldData(index.TableName);
}
......@@ -775,7 +907,9 @@ const AddModal = props => {
setPramData([]);
form.resetFields();
setChee('');
setCheestyle('');
setRadio('');
setRadiostyle('');
setRadio1('');
setRadio3('');
setPep('');
......@@ -922,6 +1056,7 @@ const AddModal = props => {
filterValue: '',
standingBook: '',
check: 0,
style: 0,
AllID: '0',
All: '0',
AllID1: '',
......@@ -935,9 +1070,14 @@ const AddModal = props => {
farterData: '',
});
}
setView(true);
setPreView(true);
setViewMuise(true);
setPreViewVideo(true);
setCse('');
setPopeleShape('');
setRadio(0);
setRadiostyle(0);
setRadio3('0');
setRadio1('0');
setGl('');
......@@ -959,7 +1099,7 @@ const AddModal = props => {
setDetail('输入内容将显示在前端输入框提示信息中');
} else if (value == '选择器') {
setDetail('数据字典名称');
} else if (value == '值选择器' || value == '值复选器') {
} else if (value == '值选择器' || value == '值复选器') {
setDetail('用英文逗号分隔自定义的值,可设置初始值');
} else if (value == '可编辑值选择器') {
setDetail('用英文逗号分隔自定义的值,可编辑,可设置初始值');
......@@ -1080,7 +1220,7 @@ const AddModal = props => {
};
};
const onSelect = (i, e) => {
console.log(e);
console.log(e)
setKeep(e);
if (e.node) {
setCurrentSelectOrg(e.node.org.ID);
......@@ -1096,20 +1236,61 @@ const AddModal = props => {
let req1 = getField({ fieldID: e.node.org.ID });
let req2 = loadTableFields({ tableName: formObj1 });
let req3 = LoadEventType({});
console.log(valueData);
let bb = [];
valueData.map(i => {
bb.push(i.ID.toString());
});
console.log(bb);
console.log(e.node.org.ID);
console.log(bb.indexOf(e.node.org.ID.toString()));
console.log(valueData)
console.log(bb)
console.log(e.node.org.ID)
if (bb.indexOf(e.node.org.ID) != -1) {
let aa = valueData.find(i => i.ID == e.node.org.ID);
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);
if (res[0].msg === 'Ok') {
console.log(aa)
if(aa.Shape=='可预览图片'){
setView(true);
}else if(aa.Shape=='图片'){
setView(false)
}else if(aa.Shape=='可预览附件'){
setPreView(true);
}else if(aa.Shape=='附件'){
setPreView(false)
}else if(aa.Shape=='可预览录音'){
setViewMuise(true);
}else if(aa.Shape=='录音'){
setViewMuise(false);
}else if(aa.Shape=='可预览视频'){
setPreViewVideo(true);
}else if(aa.Shape=='视频'){
setPreViewVideo(false);
}else if(aa.Shape=='值选择器'){
setRadiostyle(0);
setRadio(0);
form.setFieldsValue({check:0,style:0})
}else if(aa.Shape=='值复选器'){
setRadiostyle(0);
setRadio(1);
form.setFieldsValue({check:1,style:0})
}
if(aa.Shape=='可预览图片'){
setShape('图片');
}else if(aa.Shape=='可预览附件'){
setShape('附件')
}else if(aa.Shape=='可预览录音'){
setShape('录音')
}else if(aa.Shape=='可预览视频'){
setShape('视频')
}else if(aa.Shape=='平铺值选择器'){
setShape('值选择器')
}else if(aa.Shape=='值复选器'){
setShape('值选择器')
}else{
setShape(aa.Shape);
}
form.setFieldsValue({ ...aa });
if (aa.ExceptionEventFields === '') {
setCharacterValue('');
......@@ -1127,7 +1308,7 @@ const AddModal = props => {
form.setFieldsValue({ SyncEvent: false });
setSynchronization(false);
}
setShape(aa.Shape);
if (aa.Shape == '文本') {
setDetail('输入内容将显示在前端输入框提示信息中');
} else if (aa.Shape == '多行文本') {
......@@ -1138,7 +1319,7 @@ const AddModal = props => {
setDetail('输入内容将显示在前端输入框提示信息中');
} else if (aa.Shape == '选择器') {
setDetail('数据字典名称');
} else if (aa.Shape == '值选择器' || aa.Shape == '值复选器') {
} else if (aa.Shape == '值选择器' || aa.Shape == '值复选器') {
setDetail('用英文逗号分隔自定义的值,可设置初始值');
} else if (aa.Shape == '可编辑值选择器') {
setDetail('用英文逗号分隔自定义的值,可编辑,可设置初始值');
......@@ -1147,8 +1328,6 @@ const AddModal = props => {
} else {
setDetail('');
}
console.log(aa.Shape);
console.log(aa.Config);
let coordinates = false,
picture = false,
must = false;
......@@ -1194,7 +1373,6 @@ const AddModal = props => {
prefix: code[1] === 'undefined' ? '' : code[1],
});
break;
case '平铺值选择器':
case '搜索选择器':
let data = aa.Config.split('.');
form.setFieldsValue({
......@@ -1212,6 +1390,27 @@ const AddModal = props => {
setRadio(0);
}
break;
case '平铺值选择器':
let dataa = aa.Config.split('.');
form.setFieldsValue({
Config: dataa[0] || '',
});
if (aa.Config.endsWith('.n')) {
form.setFieldsValue({
check: 1,
});
setRadio(1);
} else {
form.setFieldsValue({
check: 0,
});
setRadio(0);
}
form.setFieldsValue({
style: 1,
});
setRadiostyle(1)
break;
case '唯一值文本':
let arr = aa.Config.split('.');
form.setFieldsValue({
......@@ -1238,9 +1437,9 @@ const AddModal = props => {
}
break;
case '站点选择器':
console.log(aa.Config);
let site = aa.Config.split('.');
console.log(site[1]);
if (site[0] == '本人') {
if (aa.Config.endsWith('.n')) {
form.setFieldsValue({ pepole: true, choose: true });
......@@ -1265,7 +1464,7 @@ const AddModal = props => {
break;
case '部门选择器':
let department = aa.Config;
console.log(department);
if (department == '.n') {
form.setFieldsValue({
check: 1,
......@@ -1306,7 +1505,7 @@ const AddModal = props => {
}
break;
case '选择器':
console.log(aa.Config);
let sele = aa.Config.split('.');
if (sele[1] && sele[1] != 'n') {
form.setFieldsValue({
......@@ -1316,7 +1515,7 @@ const AddModal = props => {
});
setCse(true);
} else {
console.log(sele[0]);
form.setFieldsValue({
Association: false,
Config: sele[0],
......@@ -1333,7 +1532,7 @@ const AddModal = props => {
break;
case '人员选择器':
let pepole = aa.Config.split('.');
console.log(pepole);
form.setFieldsValue({ ShowConfig: aa.Config });
if (pepole[0] == '全部') {
setHide(false);
......@@ -1467,9 +1666,8 @@ const AddModal = props => {
}
setValue1();
setPramData({ ...aa, coordinates, must, picture });
let index = res[2].data.root.find(item => {
return item.Name == aa.ExceptionEvent;
});
let index = res[2].data.root.find(item => item.Name == aa.ExceptionEvent);
getFieldData(index.TableName);
}
});
......@@ -1478,6 +1676,48 @@ const AddModal = props => {
res[1].msg === 'Ok' && setFieldName(res[1].data.root);
res[2].msg === 'Ok' && setEventList(res[2].data.root);
if (res[0].msg === 'Ok') {
console.log(res[0].data.root.Shape);
if(res[0].data.root.Shape=='可预览图片'){
setView(true)
}else if(res[0].data.root.Shape=='图片'){
setView(false)
}else if(res[0].data.root.Shape=='可预览附件'){
setPreView(true)
}else if(res[0].data.root.Shape=='附件'){
setPreView(false)
}else if(res[0].data.root.Shape=='可预览录音'){
setViewMuise(true);
}else if(res[0].data.root.Shape=='录音'){
setViewMuise(false);
}else if(res[0].data.root.Shape=='可预览视频'){
setPreViewVideo(true);
}else if(res[0].data.root.Shape=='视频'){
setPreViewVideo(false);
}else if(res[0].data.root.Shape=='值选择器'){
setRadiostyle(0);
setRadio(0);
form.setFieldsValue({check:0,style:0})
}else if(res[0].data.root.Shape=='值复选器'){
setRadiostyle(0);
setRadio(1);
form.setFieldsValue({check:1,style:0})
}
if(res[0].data.root.Shape=='可预览图片'){
setShape('图片');
}else if(res[0].data.root.Shape=='可预览附件'){
setShape('附件');
}
else if(res[0].data.root.Shape=='可预览录音'){
setShape('录音');
}else if(res[0].data.root.Shape=='可预览视频'){
setShape('视频');
}else if(res[0].data.root.Shape=='平铺值选择器'){
setShape('值选择器');
}else if(res[0].data.root.Shape=='值复选器'){
setShape('值选择器');
}else{
setShape(res[0].data.root.Shape)
}
form.setFieldsValue({ ...res[0].data.root });
if (res[0].data.root.ExceptionEventFields === '') {
setCharacterValue('');
......@@ -1495,8 +1735,8 @@ const AddModal = props => {
form.setFieldsValue({ SyncEvent: false });
setSynchronization(false);
}
setShape(res[0].data.root.Shape);
console.log(res[0].data.root.Shape);
let coordinates = false,
picture = false,
must = false;
......@@ -1543,7 +1783,7 @@ const AddModal = props => {
prefix: code[1] === 'undefined' ? '' : code[1],
});
break;
case '平铺值选择器':
case '搜索选择器':
let data = res[0].data.root.Config.split('.');
form.setFieldsValue({
......@@ -1561,6 +1801,27 @@ const AddModal = props => {
setRadio(0);
}
break;
case '平铺值选择器':
let dataa = res[0].data.root.Config.split('.');
form.setFieldsValue({
Config: dataa[0] || '',
});
if (res[0].data.root.Config.endsWith('.n')) {
form.setFieldsValue({
check: 1,
});
setRadio(1);
} else {
form.setFieldsValue({
check: 0,
});
setRadio(0);
}
form.setFieldsValue({
style: 1,
});
setRadiostyle(1)
break;
case '唯一值文本':
let arr = res[0].data.root.Config.split('.');
form.setFieldsValue({
......@@ -1570,8 +1831,7 @@ const AddModal = props => {
break;
case '站点选择器':
let site = res[0].data.root.Config.split('.');
console.log(res[0].data.root.Config);
console.log(site[1]);
if (site[0] == '本人') {
if (res[0].data.root.Config.endsWith('.n')) {
form.setFieldsValue({ pepole: true, choose: true });
......@@ -1596,7 +1856,7 @@ const AddModal = props => {
break;
case '业务选择器':
let list = res[0].data.root.Config.split('.');
console.log(list);
form.setFieldsValue({
tableName: list[0] || '',
fieldName: list[1] || '',
......@@ -1615,7 +1875,7 @@ const AddModal = props => {
break;
case '部门选择器':
let department = res[0].data.root.Config;
console.log(department);
if (department == '.n') {
form.setFieldsValue({
check: 1,
......@@ -1665,7 +1925,7 @@ const AddModal = props => {
});
setCse(true);
} else {
console.log(sele[0]);
form.setFieldsValue({
Association: false,
Config: sele[0],
......@@ -1682,7 +1942,7 @@ const AddModal = props => {
break;
case '人员选择器':
let pepole = res[0].data.root.Config.split('.');
console.log(pepole);
form.setFieldsValue({ ShowConfig: res[0].data.root.Config });
if (pepole[0] == '全部') {
setHide(false);
......@@ -1815,17 +2075,15 @@ const AddModal = props => {
}
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;
});
console.log('index', index);
let index = res[2].data.root.find(item => item.Name == res[0].data.root.ExceptionEvent);
getFieldData(index.TableName);
}
});
}
}
form.validateFields().then(validate => {
console.log(pramData);
if (validate) {
setLoading(true);
let obj = form.getFieldsValue();
......@@ -1835,6 +2093,7 @@ const AddModal = props => {
} else {
aa = 0;
}
console.log(obj)
let data = [
{
Unit: obj.Unit || '',
......@@ -1857,6 +2116,47 @@ const AddModal = props => {
ExceptionEventFields: characterValue,
},
];
console.log(Shape)
if(Shape=='图片'){
if(view){
data[0].Shape='可预览图片'
}else{
data[0].Shape='图片'
}
}
if(Shape=='附件'){
if(preView){
data[0].Shape='可预览附件'
}else{
data[0].Shape='附件'
}
}
if(Shape=='录音'){
if(viewMuise){
data[0].Shape='可预览录音'
}else{
data[0].Shape='录音'
}
}
if(Shape=='视频'){
if(preViewVideo){
data[0].Shape='可预览视频'
}else{
data[0].Shape='视频'
}
}
if(Shape=='值选择器'){
if(radiostyle==0){
if(radio==0){
data[0].Shape='值选择器'
}else{
data[0].Shape='值复选器'
}
}else{
data[0].Shape='平铺值选择器'
}
}
switch (Shape) {
case '编码':
......@@ -1871,12 +2171,18 @@ const AddModal = props => {
data[0].Preset = pramData.picture ? '拍照相册' : '';
data[0].ValidationRule = pramData.must ? 'required' : '';
break;
case '平铺值选择器':
case '值选择器':
case '搜索选择器':
if (obj.Config.endsWith('.n')) {
data[0].Config = obj.Config;
} else {
data[0].Config = radio == 0 ? `${obj.Config}` : `${obj.Config}.n`;
if(radiostyle==1){
// 平铺值选择器
data[0].Config = radio == 0 ? `${obj.Config}` : `${obj.Config}.n`;
}else{
data[0].Config=obj.Config
}
}
break;
case '唯一值文本':
......@@ -1959,7 +2265,7 @@ const AddModal = props => {
}
} else if (popeleShape == '下拉框') {
let str = cho ? `${obj.Config}.n` : `${obj.Config}`;
console.log(str);
data[0].Config = str;
} else if (popeleShape == '树形模态') {
if (gl) {
......@@ -1974,26 +2280,33 @@ const AddModal = props => {
default:
data[0].Config = obj.Config;
}
console.log(data[0]);
if (keepTreeFirst.indexOf(e.node.org.name) == -1) {
if (valueData.length > 0) {
console.log(data[0])
let aadata = valueData;
console.log(keepTreeFirst)
console.log(e.node.org.name)
// if (keepTreeFirst.indexOf(e.node.org.name) == -1) {
if (aadata.length > 0) {
let aa = [];
valueData.map(i => {
aadata.map(i => {
aa.push(i.ID);
});
if (aa.indexOf(data[0].ID) != -1) {
valueData.map((i, j) => {
aadata.map((i, j) => {
if (i.ID == data[0].ID) {
valueData[j] = data[0];
aadata[j] = data[0];
}
});
} else {
valueData.push(data[0]);
aadata.push(data[0]);
}
} else {
valueData.push(data[0]);
aadata.push(data[0]);
}
}
// }
console.log(valueData)
console.log(aadata)
setValueData(aadata)
form.setFieldsValue({
Association: '',
Config: '',
......@@ -2020,6 +2333,7 @@ const AddModal = props => {
setCse('');
setPopeleShape('');
setRadio(0);
setRadiostyle(0);
setRadio3('0');
setRadio1('0');
setGl('');
......@@ -2061,6 +2375,10 @@ const AddModal = props => {
setValue1();
};
const onChangestyle = e =>{
setRadiostyle(e.target.value);
}
const timeDataOnVChange = e => {
console.log(e.target.value);
setTimeData(e.target.value);
......@@ -2201,15 +2519,13 @@ const AddModal = props => {
}
};
const mapTreeSelect = org => {
return org.children ? (
const mapTreeSelect = org => org.children ? (
<TreeNode value={org.name} title={org.name} disabled>
{org.children.map(item => mapTreeSelect(item))}
</TreeNode>
) : (
<TreeNode value={org} title={org} key={org} />
);
};
const changePepole = e => {
setPep(e.target.checked);
......@@ -2451,38 +2767,38 @@ const AddModal = props => {
</Item>
</>
);
case '值选择器':
case '值复选器':
return (
<>
{' '}
<Item label="可选值" name="Config" labelCol={{ span: 4 }}>
<TextArea
allowClear
placeholder="用英文逗号分隔自定义的值,可设置初始值"
/>
</Item>
{/* <Item colon={false} label=" " labelCol={{ span: 3 }}>
{' '}
<div style={{ display: 'flex', alignItems: 'center' }}>
<span style={{ marginRight: '0.4rem' }}>
以英文逗号为分隔符填写,或其他分隔符粘贴:
</span>
<Select onChange={handleSeparator} style={{ width: '30.8%' }}>
<Select.Option value="0">以,分隔(英文逗号)</Select.Option>
<Select.Option value="1">以/分隔(正斜杠)</Select.Option>
<Select.Option value="2">以\\分隔(反斜杠)</Select.Option>
<Select.Option value="3">以、分隔(中文顿号)</Select.Option>
<Select.Option value="4">以;分隔(英文分号)</Select.Option>
<Select.Option value="5">以;分隔(中文分号)</Select.Option>
<Select.Option value="6">(是)/否</Select.Option>
<Select.Option value="7">是/(否)</Select.Option>
<Select.Option value="8">(否)/是</Select.Option>
</Select>
</div>
</Item> */}
</>
);
// case '值选择器':
// case '值复选器':
// return (
// <>
// {' '}
// <Item label="可选值" name="Config" labelCol={{ span: 4 }}>
// <TextArea
// allowClear
// placeholder="用英文逗号分隔自定义的值,可设置初始值"
// />
// </Item>
// {/* <Item colon={false} label=" " labelCol={{ span: 3 }}>
// {' '}
// <div style={{ display: 'flex', alignItems: 'center' }}>
// <span style={{ marginRight: '0.4rem' }}>
// 以英文逗号为分隔符填写,或其他分隔符粘贴:
// </span>
// <Select onChange={handleSeparator} style={{ width: '30.8%' }}>
// <Select.Option value="0">以,分隔(英文逗号)</Select.Option>
// <Select.Option value="1">以/分隔(正斜杠)</Select.Option>
// <Select.Option value="2">以\\分隔(反斜杠)</Select.Option>
// <Select.Option value="3">以、分隔(中文顿号)</Select.Option>
// <Select.Option value="4">以;分隔(英文分号)</Select.Option>
// <Select.Option value="5">以;分隔(中文分号)</Select.Option>
// <Select.Option value="6">(是)/否</Select.Option>
// <Select.Option value="7">是/(否)</Select.Option>
// <Select.Option value="8">(否)/是</Select.Option>
// </Select>
// </div>
// </Item> */}
// </>
// );
case '可编辑值选择器':
return (
<>
......@@ -2495,7 +2811,7 @@ const AddModal = props => {
</Item>
</>
);
case '平铺值选择器':
case '值选择器':
return (
<>
{' '}
......@@ -2505,6 +2821,12 @@ const AddModal = props => {
placeholder="用英文逗号分隔自定义的值,勾选,可设置初始值"
/>
</Item>
<Item colon={false} name="style" label="样式:" labelCol={{ span: 4 }}>
<Radio.Group onChange={onChangestyle} value={radiostyle} defaultValue={cheestyle}>
<Radio value={0}>通用</Radio>
<Radio value={1}>平铺</Radio>
</Radio.Group>
</Item>
<Item colon={false} name="check" label="配置:" labelCol={{ span: 4 }}>
<Radio.Group onChange={onChange2} value={radio} defaultValue={chee}>
<Radio value={0}>单选</Radio>
......@@ -2516,13 +2838,11 @@ const AddModal = props => {
case '图片':
case '可预览图片':
return (
<Item name="ReadOnly" label="选项" labelCol={{ span: 4 }}>
<Item name="ReadOnly" label="配置" labelCol={{ span: 4 }}>
<div>
<Checkbox
checked={pramData.picture}
onChange={e => onChangeReady(e, 'picture')}
>
允许从相册选取
<Checkbox
checked={view} onChange={onChangeView}>
可预览
</Checkbox>
<Checkbox
checked={pramData.must}
......@@ -2530,9 +2850,57 @@ const AddModal = props => {
>
必填字段
</Checkbox>
<Checkbox
checked={pramData.picture}
onChange={e => onChangeReady(e, 'picture')}
>
允许从相册选取
</Checkbox>
</div>
</Item>
);
case '附件':
case '可预览附件':
return (
<Item label="配置" labelCol={{ span: 4 }}>
<div>
<Checkbox
checked={preView}
onChange={onChangePreView}
>
可预览
</Checkbox>
</div>
</Item>
);
case '录音':
case '可预览录音':
return (
<Item label="配置" labelCol={{ span: 4 }}>
<div>
<Checkbox
checked={viewMuise}
onChange={onChangePreViewMuise}
>
可预览
</Checkbox>
</div>
</Item>
);
case '视频':
case '可预览视频':
return (
<Item label="配置" labelCol={{ span: 4 }}>
<div>
<Checkbox
checked={preViewVideo}
onChange={onChangePreViewVideo}
>
可预览
</Checkbox>
</div>
</Item>
);
case '唯一值文本':
return (
<Row>
......@@ -2993,10 +3361,6 @@ const AddModal = props => {
case '本人姓名':
case '本人ID':
case '城市选择器':
case '附件':
case '可预览附件':
case '录音':
case '视频':
case '设备选择':
case '区域控件':
case '路径控件':
......
......@@ -18,6 +18,7 @@ import styles from './ManagementDataBase.less';
import {
tableCheck,
tableCheckNew,
newUpdateDateBase,
updateDateBase,
databaseStandardGetLog,
databaseStandardGetLogNew,
......@@ -42,6 +43,8 @@ const ManagementDataBase = () => {
const [repairTypeList, setRepairTypeList] = useState([]);
const [keepValue, setKeepValue] = useState([]);
const [list, setlist] = useState(['表', '字段', '主外键', '主键', '索引', '复合索引']);
const [selectedRowKeys, setSelectedRowKeys] = useState([]); // 保存已选自动升级表键值
const [keepCheckList, setKeepChecklist] = useState([]); // 保存已选自动升级表值
// 检查数据库表
useEffect(() => {
setCheckLoading(true);
......@@ -99,6 +102,16 @@ const ManagementDataBase = () => {
}
});
console.log(data);
console.log(arr);
let datalist = [];
if (arr.length > 0) {
arr.map(i => {
datalist.push(i.key);
});
}
console.log(datalist);
setSelectedRowKeys(datalist);
setKeepChecklist(arr);
setKeepValue(res.RepairTypeList);
setRepairTypeList(data);
setAutoCheck(arr);
......@@ -157,10 +170,12 @@ const ManagementDataBase = () => {
};
// 升级功能
const handleUpdate = () => {
console.log(keepCheckList);
console.log(selectedRowKeys);
if (repairTypeList.length > 0) {
if (keepValue.length > 0) {
if (keepValue.length > 0 && keepCheckList.length > 0) {
setCheckLoading(true);
updateDateBase({ checkeRepairTypes: keepValue.toString() })
newUpdateDateBase(keepCheckList)
.then(res => {
setCheckLoading(false);
setCheckFlag(checkFlag + 1);
......@@ -409,47 +424,116 @@ const ManagementDataBase = () => {
};
const check = e => {
console.log(e);
setCheckSql(e);
};
const onChange = e => {
console.log(e);
console.log(autoCheckList);
let aa = [...autoCheck];
let data = [];
let name = [];
aa.map(i => {
if (e.indexOf(i.Type) != -1) {
data.push(i);
}
});
console.log(data);
setAutoCheckList(data);
let a = [...keepCheckList];
let b = [...selectedRowKeys];
if (e.length > keepValue.length) {
e.map(k => {
if (keepValue.indexOf(k) == -1) {
aa.map(j => {
if (j.Type == k) {
a.push(j);
b.push(j.key);
}
});
}
});
setKeepChecklist(a);
setSelectedRowKeys(b);
} else {
let listaa = [];
let listbb = [];
a.map(i => {
if (data.indexOf(i) != -1) {
listaa.push(i);
listbb.push(i.key);
}
});
setKeepChecklist(listaa);
setSelectedRowKeys(listbb);
}
setKeepValue(e);
};
// 复选框
const rowSelection = {
selectedRowKeys,
onChange: (RowKeys, Rows) => {
console.log(RowKeys);
console.log(Rows);
setSelectedRowKeys(RowKeys);
setKeepChecklist(Rows);
let aa = [];
Rows.map(i => {
aa.push(i.Type);
});
let data = [...new Set(aa)];
// setKeepValue(data);
},
};
return (
<>
<PageContainer>
<Card>
<div className={styles.tableTitle}>
<span style={{ marginRight: '100px' }}>升级详情</span>
{repairTypeList.length > 0 && (
<>
<span>升级类型:</span>
<div style={{ display: 'inline-block' }}>
<Checkbox.Group options={repairTypeList} value={keepValue} onChange={onChange} />
</div>
</>
)}
<div style={{ display: 'inline-block' }}>
<span style={{ marginRight: '100px' }}>升级详情</span>
{repairTypeList.length > 0 && (
<>
<span>类型筛选:</span>
<div style={{ display: 'inline-block' }}>
<Checkbox.Group
options={repairTypeList}
value={keepValue}
onChange={onChange}
/>
</div>
</>
)}
</div>
<div style={{ display: 'inline-block' }}>
<strong>
(已选
<span style={{ color: 'rgb(24, 144, 255)' }}>{keepCheckList.length}</span>/共
{autoCheckList.length}条)
</strong>
</div>
</div>
<Spin tip="loading..." spinning={checkLoading}>
<Table
rowSelection={{
type: 'checkbox',
...rowSelection,
}}
className={styles.mgTop20}
columns={autoCheckColumns}
dataSource={autoCheckList}
bordered
size="small"
scroll={{
y: '390px',
}}
pagination={{
showTotal: (total, range) => `第${range[0]}-${range[1]} 条/共 ${total} 条`,
pageSizeOptions: [10, 20],
defaultPageSize: 10,
showQuickJumper: true,
showSizeChanger: true,
}}
/>
<div className={styles.btnBox}>
<Space>
......@@ -458,7 +542,7 @@ const ManagementDataBase = () => {
</Button>
<Popconfirm
title="
是否根据已选类型,升级当前连接数据库?"
是否根据已选数据,升级当前连接数据库?"
okText="确认"
cancelText="取消"
onConfirm={() => {
......
.tableTitle{
font-size: 16px;
display: flex;
justify-content: space-between;
}
.mgTop20{
margin-top: 20px !important;
......
......@@ -56,6 +56,7 @@ const VectorData = props => {
{
title: '编辑',
align: 'center',
width: 260,
render: (text, record, index) => (
<Space>
<Button type="primary" size="small" onClick={() => metadata(record)}>
......
......@@ -98,6 +98,10 @@ export const databaseStandardGetLogNew = params =>
// 更新
export const updateDateBase = params => get(`${PUBLISH_SERVICE}/DBManager/UpdateDataBase`, params);
// 更新
export const newUpdateDateBase = params =>
post(`${PUBLISH_SERVICE}/DBManager/UpdateDataBase`, params);
/**
* @数据库连接配置
*/
......
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