|
@@ -12,6 +12,7 @@ import Radio from './customComponents/Radio.vue';
|
|
|
import DatePicker from './customComponents/DatePicker.vue';
|
|
|
import TimePicker from './customComponents/TimePicker.vue';
|
|
|
import Switch from './customComponents/Switch.vue';
|
|
|
+import { configNameExist } from '/@/api/sys/general';
|
|
|
|
|
|
export const columns: BasicColumn[] = [
|
|
|
{
|
|
@@ -29,7 +30,6 @@ export const columns: BasicColumn[] = [
|
|
|
switch (record.type) {
|
|
|
case 'string':
|
|
|
const onchange = (val) => {
|
|
|
- console.log(val);
|
|
|
record.value = val;
|
|
|
};
|
|
|
return h(Input, {
|
|
@@ -53,35 +53,30 @@ export const columns: BasicColumn[] = [
|
|
|
onChange: onNumberChange,
|
|
|
});
|
|
|
case 'select':
|
|
|
+ console.log(`record`, record);
|
|
|
const onSelectChange = (val) => {
|
|
|
- record.value = [val.toString()];
|
|
|
+ record.value = val;
|
|
|
};
|
|
|
- const opt: object[] = [];
|
|
|
- record.content.map((item, index) => {
|
|
|
- if (index) {
|
|
|
- opt.push({ label: item, value: index });
|
|
|
- }
|
|
|
- });
|
|
|
return h(Select, {
|
|
|
- value: opt[record.value[0] - 1]['label'],
|
|
|
- options: opt,
|
|
|
+ value: record.value,
|
|
|
+ options: record.content,
|
|
|
tip: record.tip,
|
|
|
mode: 'SECRET_COMBOBOX_MODE_DO_NOT_USE',
|
|
|
placeholder: '没有选中任何项',
|
|
|
onChange: onSelectChange,
|
|
|
});
|
|
|
- case 'MultipleSelect':
|
|
|
+ case 'selects':
|
|
|
const onMultipleChange = (val) => {
|
|
|
record.value = val;
|
|
|
};
|
|
|
return h(MultipleSelect, {
|
|
|
value: record.value,
|
|
|
- options: record.option,
|
|
|
+ options: record.content,
|
|
|
tip: record.tip,
|
|
|
placeholder: '没有选中任何项',
|
|
|
onChange: onMultipleChange,
|
|
|
});
|
|
|
- case 'DatePicker':
|
|
|
+ case 'date':
|
|
|
const onDatePickerChange = (val) => {
|
|
|
record.value = val;
|
|
|
};
|
|
@@ -91,7 +86,7 @@ export const columns: BasicColumn[] = [
|
|
|
tip: record.tip,
|
|
|
onChange: onDatePickerChange,
|
|
|
});
|
|
|
- case 'TimePicker':
|
|
|
+ case 'time':
|
|
|
const onTimePickerChange = (val) => {
|
|
|
record.value = val;
|
|
|
};
|
|
@@ -103,7 +98,6 @@ export const columns: BasicColumn[] = [
|
|
|
});
|
|
|
case 'text':
|
|
|
const onTextAreaChange = (val) => {
|
|
|
- console.log(val);
|
|
|
record.value = val;
|
|
|
};
|
|
|
return h(InputTextArea, {
|
|
@@ -114,7 +108,7 @@ export const columns: BasicColumn[] = [
|
|
|
style: { width: '100%' },
|
|
|
onChange: onTextAreaChange,
|
|
|
});
|
|
|
- case 'Switch':
|
|
|
+ case 'switch':
|
|
|
const onSwitchChange = (val) => {
|
|
|
record.value = val;
|
|
|
};
|
|
@@ -123,24 +117,23 @@ export const columns: BasicColumn[] = [
|
|
|
tip: record.tip,
|
|
|
onChange: onSwitchChange,
|
|
|
});
|
|
|
- case 'Checkbox':
|
|
|
+ case 'checkbox':
|
|
|
const onCheckboxChange = (val) => {
|
|
|
- console.log(val);
|
|
|
record.value = val;
|
|
|
};
|
|
|
return h(Checkbox, {
|
|
|
value: record.value,
|
|
|
- options: record.option,
|
|
|
+ options: record.content,
|
|
|
tip: record.tip,
|
|
|
onChange: onCheckboxChange,
|
|
|
});
|
|
|
- case 'Radio':
|
|
|
+ case 'radio':
|
|
|
const onRadioChange = (val) => {
|
|
|
record.value = val;
|
|
|
};
|
|
|
return h(Radio, {
|
|
|
value: record.value,
|
|
|
- options: record.option,
|
|
|
+ options: record.content,
|
|
|
tip: record.tip,
|
|
|
onChange: onRadioChange,
|
|
|
});
|
|
@@ -150,7 +143,7 @@ export const columns: BasicColumn[] = [
|
|
|
};
|
|
|
return h(ArrayCom, {
|
|
|
value: record.value,
|
|
|
- // options: record.option,
|
|
|
+ // options: record.content,
|
|
|
// style: { width: '65%' },
|
|
|
onChange: onArrayChange,
|
|
|
});
|
|
@@ -194,19 +187,19 @@ export const schemas: FormSchema[] = [
|
|
|
},
|
|
|
{
|
|
|
label: '日期',
|
|
|
- value: 'time',
|
|
|
+ value: 'date',
|
|
|
},
|
|
|
{
|
|
|
- label: '日期时间',
|
|
|
- value: 'Datetime',
|
|
|
+ label: '时间',
|
|
|
+ value: 'time',
|
|
|
},
|
|
|
{
|
|
|
label: '列表',
|
|
|
- value: 'list',
|
|
|
+ value: 'select',
|
|
|
},
|
|
|
{
|
|
|
label: '列表多选',
|
|
|
- value: 'mutipleList',
|
|
|
+ value: 'selects',
|
|
|
},
|
|
|
{
|
|
|
label: '图片',
|
|
@@ -222,7 +215,7 @@ export const schemas: FormSchema[] = [
|
|
|
},
|
|
|
{
|
|
|
label: '文件(多)',
|
|
|
- value: 'MutipleFile',
|
|
|
+ value: 'multipleFile',
|
|
|
},
|
|
|
{
|
|
|
label: '开关',
|
|
@@ -230,18 +223,18 @@ export const schemas: FormSchema[] = [
|
|
|
},
|
|
|
{
|
|
|
label: '复选',
|
|
|
- value: 'multipleSelect',
|
|
|
+ value: 'checkbox',
|
|
|
},
|
|
|
{
|
|
|
label: '单选',
|
|
|
- value: 'select',
|
|
|
+ value: 'radio',
|
|
|
},
|
|
|
{
|
|
|
label: '数组',
|
|
|
value: 'array',
|
|
|
},
|
|
|
{
|
|
|
- label: '数组',
|
|
|
+ label: '自定义',
|
|
|
value: 'custom',
|
|
|
},
|
|
|
],
|
|
@@ -290,16 +283,15 @@ export const schemas: FormSchema[] = [
|
|
|
rules: [
|
|
|
{
|
|
|
required: true,
|
|
|
- validator: async (rule: any, value: any) => {
|
|
|
- console.log(`rule`, rule);
|
|
|
- console.log(`value`, value);
|
|
|
+ validator: async (_, value: any) => {
|
|
|
if (!value) {
|
|
|
return Promise.reject('请输入变量名');
|
|
|
}
|
|
|
if (value.length < 3 || value.lenght > 30) {
|
|
|
return Promise.reject('请填写3到30个字符');
|
|
|
}
|
|
|
- if (value == 111) {
|
|
|
+ const isExit = await configNameExist({ name: value });
|
|
|
+ if (isExit.bool) {
|
|
|
return Promise.reject('变量名已经存在');
|
|
|
}
|
|
|
},
|
|
@@ -326,6 +318,30 @@ export const schemas: FormSchema[] = [
|
|
|
},
|
|
|
},
|
|
|
{
|
|
|
+ field: 'content',
|
|
|
+ component: 'InputTextArea',
|
|
|
+ label: '数据列表',
|
|
|
+ colProps: {
|
|
|
+ span: 20,
|
|
|
+ },
|
|
|
+ defaultValue: `label1|value1\nlabel2|value2`,
|
|
|
+ componentProps: {
|
|
|
+ placeholder: 'label1|value1\nlabel2|value2',
|
|
|
+ },
|
|
|
+ required: true,
|
|
|
+ show: ({ values }) => {
|
|
|
+ if (
|
|
|
+ values.type === 'radio' ||
|
|
|
+ values.type === 'checkbox' ||
|
|
|
+ values.type === 'selects' ||
|
|
|
+ values.type === 'select'
|
|
|
+ ) {
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ return false;
|
|
|
+ },
|
|
|
+ },
|
|
|
+ {
|
|
|
field: 'tip',
|
|
|
component: 'Input',
|
|
|
label: '提示信息',
|