UNPKG

ttk-app-core

Version:
175 lines (172 loc) 4.3 kB
export function getMeta() { return { name: 'root', component: 'Layout', className: 'ttk-edf-app-basecard', children: [{ name: 'header', component: 'Layout', className: 'ttk-edf-app-basecard-header', _visible: '{{!data.other.isPop}}', children: [{ name: 'left', component: 'Layout', className: 'ttk-edf-app-basecard-header-left', children: [{ name: 'page', component: 'Button.Group', children: [{ name: 'prev', component: 'Button', icon: 'left', onClick: '{{$prev}}' }, { name: 'next', component: 'Button', icon: 'right', onClick: '{{$next}}' }] }] }, { name: 'right', component: 'Layout', className: 'ttk-edf-app-basecard-header-right', children: [{ name: 'add', component: 'Button', children: '新增', type: 'ghost', style: { marginRight: 10 }, onClick: '{{$add}}' }, { name: 'save', component: 'Button', children: '保存', type: 'primary', onClick: '{{$save}}' }] }] }, { name: 'form', component: 'Form', className: 'ttk-edf-app-basecard-form', children: [{ name: 'nameItem', component: 'Form.Item', label: '姓名', required: true, validateStatus: "{{data.other.error.name?'error':'success'}}", help: '{{data.other.error.name}}', children: [{ name: 'name', component: 'Input', value: '{{data.form.name}}', onChange: `{{(e)=>$fieldChange('data.form.name',e.target.value)}}`, }] }, { name: 'sexItem', component: 'Form.Item', label: '性别', required: true, children: [{ name: 'sex', component: 'Select', showSearch: false, value: '{{data.form.sex}}', onChange: "{{(v)=>$setField('data.form.sex', v)}}", children: [{ name: 'man', component: 'Select.Option', value: '0', children: '男' }, { name: 'woman', component: 'Select.Option', value: '1', children: '女' }] }] }, { name: 'mobileItem', component: 'Form.Item', label: '手机', required: true, validateStatus: "{{data.other.error.mobile?'error':'success'}}", help: '{{data.other.error.mobile}}', children: [{ name: 'mobile', component: 'Input.Number', value: '{{data.form.mobile}}', onChange: `{{(v)=>$fieldChange('data.form.mobile',v)}}`, }] }, { name: 'birthdayItem', component: 'Form.Item', label: '生日', required: true, children: [{ name: 'birthday', component: 'DatePicker', value: '{{$stringToMoment(data.form.birthday)}}', onChange: "{{(v)=>$sf('data.form.birthday', $momentToString(v,'YYYY-MM-DD'))}}", }] }, { name: 'departmentItem', component: 'Form.Item', label: '部门', children: [{ name: 'department', component: 'Select', dropdownFooter: { name: 'add', component: 'Button', type: 'primary', style: { width: '100%' }, children: '新增', onClick: '{{$addDepartment}}' }, value: '{{data.form.department}}', onFocus: '{{$departmentFocus}}', onChange: "{{(v)=>$setField('data.form.department', v)}}", children: { name: 'option', component: 'Select.Option', value: '{{data.other.departments[_rowIndex].code}}', children: '{{data.other.departments[_rowIndex].name}}', _power: 'for in data.other.departments' } }] }, { name: 'addressItem', component: 'Form.Item', label: '地址', children: [{ name: 'address', component: 'Input', value: '{{data.form.address}}', onChange: "{{(e)=>$setField('data.form.address',e.target.value)}}" }] }] }] } } export function getInitState(option) { var state = { data: { form: { name: '', sex: '0', birthday: '1981-1-1', mobile: '', department: '', address: '北京海淀' }, other: { departments: [], error: {} } } } state.data.other.isPop = !!option.isPop //是否弹出卡片使用 return state }