|
@@ -0,0 +1,69 @@
|
|
|
+import { BasicColumn } from '/@/components/Table';
|
|
|
+import { h } from 'vue';
|
|
|
+import { Select, DatePicker } from 'ant-design-vue';
|
|
|
+import Input from './Input.vue';
|
|
|
+import InputNumber from './InputNumber.vue';
|
|
|
+import moment from 'moment';
|
|
|
+
|
|
|
+export const columns: BasicColumn[] = [
|
|
|
+ {
|
|
|
+ title: '变量标题',
|
|
|
+ align: 'left',
|
|
|
+ dataIndex: 'title',
|
|
|
+ width: 130,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '变量值',
|
|
|
+ align: 'left',
|
|
|
+ dataIndex: 'value',
|
|
|
+ width: 250,
|
|
|
+ customRender: ({ record }) => {
|
|
|
+ switch (record.type) {
|
|
|
+ case 'Input':
|
|
|
+ const onchange = (evt) => {
|
|
|
+ console.log(evt);
|
|
|
+ console.log(evt.target.value);
|
|
|
+ record.value = evt.target.value;
|
|
|
+ };
|
|
|
+ return h(Input, {
|
|
|
+ value: record.value,
|
|
|
+ tip: record.tip,
|
|
|
+ style: { width: '100%' },
|
|
|
+ onChange: onchange,
|
|
|
+ });
|
|
|
+ case 'InputNumber':
|
|
|
+ const onNumberChange = (val) => {
|
|
|
+ console.log(val);
|
|
|
+ record.value = val;
|
|
|
+ };
|
|
|
+ return h(InputNumber, {
|
|
|
+ value: record.value,
|
|
|
+ tip: record.tip,
|
|
|
+ style: { width: '100%' },
|
|
|
+ onChange: onNumberChange,
|
|
|
+ });
|
|
|
+ case 'Select':
|
|
|
+ return h(Select, { value: record.value, style: { width: '65%' } });
|
|
|
+ case 'DatePicker':
|
|
|
+ const onDataPickerChange = (v) => {
|
|
|
+ // console.log('=========ok==========');
|
|
|
+ // console.log(`v`, moment(v._d, 'YYYY-MM-DD'));
|
|
|
+ // console.log(`v`, v);
|
|
|
+ record.value = v;
|
|
|
+ };
|
|
|
+ return h(DatePicker, {
|
|
|
+ value: moment(record.value, 'YYYY-MM-DD'),
|
|
|
+ style: { width: '65%' },
|
|
|
+ // onChange: onDataPickerChange,
|
|
|
+ onChange: onDataPickerChange,
|
|
|
+ });
|
|
|
+ }
|
|
|
+ },
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '变量名',
|
|
|
+ align: 'left',
|
|
|
+ dataIndex: 'name',
|
|
|
+ width: 150,
|
|
|
+ },
|
|
|
+];
|