diff --git a/mobile-oa-h5/src/oa/components/OaStubField.vue b/mobile-oa-h5/src/oa/components/OaStubField.vue new file mode 100644 index 00000000..5927ba23 --- /dev/null +++ b/mobile-oa-h5/src/oa/components/OaStubField.vue @@ -0,0 +1,55 @@ + + + + + diff --git a/mobile-oa-h5/src/oa/kitchen-sink-rule.js b/mobile-oa-h5/src/oa/kitchen-sink-rule.js new file mode 100644 index 00000000..c3661ed6 --- /dev/null +++ b/mobile-oa-h5/src/oa/kitchen-sink-rule.js @@ -0,0 +1,84 @@ +/** 按 zkxw-sc 已发布模板实际出现的 type 构造;非设计器理论全集 */ +export const kitchenSinkRule = [ + { type: 'input', field: 'title', title: '单行文本', value: '', $required: true }, + { type: 'textarea', field: 'remark', title: '多行文本', value: '' }, + { + type: 'select', + field: 'level', + title: '下拉', + value: '', + options: [ + { label: '普通', value: 'normal' }, + { label: '紧急', value: 'urgent' } + ] + }, + { type: 'inputNumber', field: 'qty', title: '数字', value: 1 }, + { + type: 'datePicker', + field: 'bizDate', + title: '日期', + value: '', + props: { type: 'date' } + }, + { type: 'upload', field: 'files', title: '附件 upload', value: [] }, + { type: 'money', field: 'amount', title: '金额 money', value: '' }, + { + type: 'relatedApproval', + field: 'related', + title: '关联审批 relatedApproval', + value: [] + }, + { + type: 'receiveAccount', + field: 'payAccount', + title: '收款账户 receiveAccount', + value: [] + }, + { type: 'dept', field: 'deptId', title: '部门 dept', value: '' }, + { type: 'person', field: 'personIds', title: '人员 person', value: [] }, + { + type: 'ownerPerson', + field: 'ownerPerson', + title: '所属人 ownerPerson', + value: '' + }, + { + type: 'ownerDept', + field: 'ownerDept', + title: '所属部门 ownerDept', + value: '' + }, + { type: 'post', field: 'postId', title: '岗位 post', value: '' }, + { type: 'leaveKit', field: 'leaveKit', title: '请假套件 leaveKit', value: {} }, + { + type: 'overtimeKit', + field: 'overtimeKit', + title: '加班套件 overtimeKit', + value: {} + }, + { + type: 'confirmationKit', + field: 'confirmationKit', + title: '转正套件 confirmationKit', + value: {} + }, + { + type: 'resignationKit', + field: 'resignationKit', + title: '离职套件 resignationKit', + value: {} + }, + { type: 'tripKit', field: 'tripKit', title: '差旅套件 tripKit', value: {} }, + { + type: 'tripItinerary', + field: 'tripItinerary', + title: '行程 tripItinerary', + value: [] + } +] + +export const kitchenSinkOption = { + submitBtn: false, + resetBtn: false, + form: { labelPosition: 'top' } +} diff --git a/mobile-oa-h5/src/oa/register-components.js b/mobile-oa-h5/src/oa/register-components.js index c5d8db7b..7a7ac34f 100644 --- a/mobile-oa-h5/src/oa/register-components.js +++ b/mobile-oa-h5/src/oa/register-components.js @@ -1,3 +1,27 @@ +import OaStubField from './components/OaStubField.vue' + +/** 与 web-admin formCreate.component 名称对齐;阶段一可用 stub */ +const CUSTOM_TYPES = [ + 'upload', + 'money', + 'relatedApproval', + 'receiveAccount', + 'dept', + 'person', + 'ownerPerson', + 'ownerDept', + 'post', + 'leaveKit', + 'overtimeKit', + 'confirmationKit', + 'resignationKit', + 'tripKit', + 'tripItinerary' +] + export function registerOaComponents(formCreate) { - // Task 3 will replace with real registrations + if (!formCreate || typeof formCreate.component !== 'function') return + for (const name of CUSTOM_TYPES) { + formCreate.component(name, OaStubField) + } } diff --git a/mobile-oa-h5/src/views/FormSink.vue b/mobile-oa-h5/src/views/FormSink.vue index 8b856cb9..ae1912b5 100644 --- a/mobile-oa-h5/src/views/FormSink.vue +++ b/mobile-oa-h5/src/views/FormSink.vue @@ -1,3 +1,75 @@ + + + +