diff --git a/src/App.vue b/src/App.vue index 59cb3ae..eb9cacc 100644 --- a/src/App.vue +++ b/src/App.vue @@ -88,29 +88,5 @@ background-color: #fff; } - .formViewStyle { - - .ant-input-number-disabled, input.ant-input-disabled,.ant-picker.ant-picker-disabled { - border: none !important; - background-color: transparent !important; - padding-left: 0 !important; - color: rgb(0 0 0 / 85%) !important; - ::placeholder { - opacity: 0; - } - } - input.ant-input-disabled:placeholder-shown{ - opacity: 0 !important; - } - .ant-picker-input > input[disabled], .ant-radio-disabled + span { - color: rgb(0 0 0 / 85%) !important; - } - - .ant-picker.ant-picker-disabled .ant-picker-input .ant-picker-suffix { - display: none !important; - } - .ant-input-search > .ant-input-group > .ant-input-group-addon-disabled:last-child { - display: none !important; - } - } + diff --git a/src/api/contract/ContractSales/index.ts b/src/api/contract/ContractSales/index.ts index 8d39f87..5f18bf5 100644 --- a/src/api/contract/ContractSales/index.ts +++ b/src/api/contract/ContractSales/index.ts @@ -7,12 +7,40 @@ enum Api { List = '/contract/contractSales/list', Info = '/contract/contractSales/info', LngContract = '/contract/contractSales', - + PointTransList = '/magic-api/contract/queryLngContractSalesPngPointTransList', + PointPurList = '/magic-api/contract/queryLngContractSalesPngPointPurList' } - +/** + * @description: //管输(自主托运)列表 + */ +export async function getTransList(ksppId: String, mode: ErrorMessageMode = 'modal') { + return defHttp.get( + { + url: Api.PointTransList, + params: { ksppId }, + }, + { + errorMessageMode: mode, + }, + ); +} +/** + * @description: //上载信息列表 + */ +export async function getPurList(ksppId: String, mode: ErrorMessageMode = 'modal') { + return defHttp.get( + { + url: Api.PointPurList, + params: { ksppId }, + }, + { + errorMessageMode: mode, + }, + ); +} /** * @description: 查询LngContract分页列表 */ diff --git a/src/components/SimpleForm/src/components/SimpleFormItem.vue b/src/components/SimpleForm/src/components/SimpleFormItem.vue index 9e16f5c..52a91ab 100644 --- a/src/components/SimpleForm/src/components/SimpleFormItem.vue +++ b/src/components/SimpleForm/src/components/SimpleFormItem.vue @@ -501,4 +501,11 @@ .ant-input-disabled { color: rgb(0 0 0 / 85%) !important; } + .ant-input[disabled] { + border: none !important; + background-color: transparent !important; + } + .page-bg-wrap .ant-form-item-label > label { + color: rgba(0, 0, 0, 0.65) !important; + } diff --git a/src/components/common/correlationApproList.vue b/src/components/common/correlationApproList.vue index df5cadf..9cd17af 100644 --- a/src/components/common/correlationApproList.vue +++ b/src/components/common/correlationApproList.vue @@ -108,7 +108,7 @@ } if (btn == 'view') { router.push({ - path: '/approve/Appro/form', + path: '/approve/Appro/viewForm', query: { id: record.id || record.approId, disabled: true diff --git a/src/components/common/correlationContractFactList.vue b/src/components/common/correlationContractFactList.vue index 81f8a78..aa571c6 100644 --- a/src/components/common/correlationContractFactList.vue +++ b/src/components/common/correlationContractFactList.vue @@ -63,6 +63,7 @@ } const handleSuccess = (val) =>{ val.forEach(v => { + v.kFactId = v.id v.id = null }) if (!dataList.value.length) { @@ -109,7 +110,7 @@ } if (btn == 'view') { router.push({ - path: '/contract/ContractFact/form', + path: '/contract/ContractFact/viewForm', query: { id: record.id || record.approId, disabled: true diff --git a/src/design/index.less b/src/design/index.less index e345bdd..960a9d1 100644 --- a/src/design/index.less +++ b/src/design/index.less @@ -42,3 +42,38 @@ svg, span { outline: none !important; } + +.formViewStyle { + margin-left: 1px ; + margin-right: 1px ; + padding: 3px; + .ant-input-number-disabled, input.ant-input-disabled,.ant-picker.ant-picker-disabled { + border: none !important; + background-color: transparent !important; + padding-left: 0 !important; + color: rgb(0 0 0 / 85%) !important; + ::placeholder { + opacity: 0; + } + } + input.ant-input-disabled:placeholder-shown{ + opacity: 0 !important; + } + .ant-picker-input > input[disabled], .ant-radio-disabled + span { + color: rgb(0 0 0 / 85%) !important; + } + + .ant-picker.ant-picker-disabled .ant-picker-input .ant-picker-suffix { + display: none !important; + } + .ant-input-search > .ant-input-group > .ant-input-group-addon-disabled:last-child { + display: none !important; + } + .ant-input[disabled] { + border: none !important; + background-color: transparent !important; + } + .ant-form-item-label > label { + color: rgba(0, 0, 0, 0.65) !important; + } +} \ No newline at end of file diff --git a/src/design/theme.less b/src/design/theme.less index c31ce80..6bd7d45 100644 --- a/src/design/theme.less +++ b/src/design/theme.less @@ -90,6 +90,45 @@ html[data-theme='light'] { .page-bg-wrap { background-color: #fff; - padding: 12px 12px 0 12px; - margin: 12px 12px 0 12px; + // padding: 12px 12px 0 12px; + margin: 6px 12px 0 12px; + } +.ant-card-head { + padding: 0 12px !important; +} +.ant-card-head { + min-height: 32px !important; +} + + +.ant-card-body { + padding: 12px !important; +} + +.formViewStyle { + .ant-card { + box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1), 0 4px 8px rgba(0, 0, 0, 0.1) !important; + // box-shadow: 0 4px 4px 4px #0000001a !important; /* 扩散半径为4px,模糊半径为12px */ + // box-shadow: -8px 2px 4px #0000001a; + // box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2); + margin-bottom: 15px; + border-radius: 5px; + } + + .ant-card-head-title::before { + content: ''; + display: inline-block; + width: 2px; + height: 1em; + background-color: #5e95ff; /* 竖线的颜色 */ + margin-right: 8px; /* 与标题内容的间距 */ + vertical-align: middle; + } + .ant-card-head-title { + padding: 10px 0 !important; + display: flex !important; + align-items: center !important; + + } +} \ No newline at end of file diff --git a/src/layouts/default/header/components/notify/data.ts b/src/layouts/default/header/components/notify/data.ts index 63ffc4e..2319a55 100644 --- a/src/layouts/default/header/components/notify/data.ts +++ b/src/layouts/default/header/components/notify/data.ts @@ -44,12 +44,12 @@ export const tabListData: TabItem[] = [ list: [], unreadNum: 0, }, - { - key: '3', - name: t('日程'), - list: [], - unreadNum: 0, - }, + // { + // key: '3', + // name: t('日程'), + // list: [], + // unreadNum: 0, + // }, { key: '4', name: t('工作流'), diff --git a/src/router/routes/basic.ts b/src/router/routes/basic.ts index 12af665..fb80364 100644 --- a/src/router/routes/basic.ts +++ b/src/router/routes/basic.ts @@ -255,7 +255,7 @@ export const PAGE_CUSTOM_ROUTE: AppRouteRecordRaw[] = [{ component: LAYOUT, children: [ { - path: '/approve/Appro/form', + path: '/approve/Appro/viewForm', name: 'ApproForm', component: () => import('/@/views/approve/Appro/components/createForm.vue'), meta: { @@ -263,7 +263,7 @@ export const PAGE_CUSTOM_ROUTE: AppRouteRecordRaw[] = [{ } }, { - path: '/contract/ContractFact/form', + path: '/contract/ContractFact/viewForm', name: 'ContractFactForm', component: () => import('/@/views/contract/ContractFact/components/createForm.vue'), meta: { diff --git a/src/views/approve/Appro/components/createForm.vue b/src/views/approve/Appro/components/createForm.vue index 2637a9c..cc49b29 100644 --- a/src/views/approve/Appro/components/createForm.vue +++ b/src/views/approve/Appro/components/createForm.vue @@ -267,8 +267,8 @@ await formRef.value.validateFields(); let obj = { ...formState, - lngFileUploadList: dataFile.value - + lngFileUploadList: dataFile.value, + approCode: pageType.value=='update' ? 'WTJ' : formState.approCode } spinning.value = true; let request = !formState.id ? addLngAppro :updateLngAppro diff --git a/src/views/approve/Appro/index.vue b/src/views/approve/Appro/index.vue index 7f39ee8..8644951 100644 --- a/src/views/approve/Appro/index.vue +++ b/src/views/approve/Appro/index.vue @@ -74,9 +74,9 @@ const tableRef = ref(); //所有按钮 - const buttons = ref([{"isUse":true,"name":"新增","code":"add","icon":"ant-design:plus-outlined","isDefault":true,"type":"primary"},{"isUse":true,"name":"编辑","code":"edit","icon":"ant-design:form-outlined","isDefault":true},{"isUse":true,"name":"刷新","code":"refresh","icon":"ant-design:reload-outlined","isDefault":true},{"isUse":true,"name":"查看","code":"view","icon":"ant-design:eye-outlined","isDefault":true},{"isUse":true,"name":"发起审批","code":"startwork","icon":"ant-design:form-outlined","isDefault":true},{"isUse":true,"name":"查看流转记录","code":"flowRecord","icon":"ant-design:form-outlined","isDefault":true},,{"name":"变更","code":"update","icon":"ant-design:edit-filled","isDefault":false,"isUse":true},{"isUse":true,"name":"删除","code":"delete","icon":"ant-design:delete-outlined","isDefault":true}]); + const buttons = ref([{"isUse":true,"name":"新增","code":"add","icon":"ant-design:plus-outlined","isDefault":true,"type":"primary"},{"isUse":true,"name":"编辑","code":"edit","icon":"ant-design:form-outlined","isDefault":true},{"isUse":true,"name":"刷新","code":"refresh","icon":"ant-design:reload-outlined","isDefault":true},{"isUse":true,"name":"查看","code":"view","icon":"ant-design:eye-outlined","isDefault":true},{"isUse":true,"name":"发起审批","code":"startwork","icon":"ant-design:form-outlined","isDefault":true},{"isUse":true,"name":"查看流转记录","code":"flowRecord","icon":"ant-design:form-outlined","isDefault":true},{"name":"审批","code":"approve","icon":"ant-design:check-outlined","isDefault":false,"isUse":true},{"name":"变更","code":"update","icon":"ant-design:edit-filled","isDefault":false,"isUse":true},{"isUse":true,"name":"删除","code":"delete","icon":"ant-design:delete-outlined","isDefault":true}]); //展示在列表内的按钮 - const actionButtons = ref(['view', 'edit','datalog', 'copyData', 'delete','update', 'startwork','flowRecord']); + const actionButtons = ref(['view', 'edit','datalog', 'copyData', 'delete','update', 'startwork','flowRecord', 'approve']); const buttonConfigs = computed(()=>{ return filterButtonAuth(buttons.value); }) @@ -89,7 +89,7 @@ return buttonConfigs.value?.filter((x) => actionButtons.value.includes(x.code)); }); - const btnEvent = {add : handleAdd,edit : handleEdit,refresh : handleRefresh,view : handleView,startwork : handleStartwork,flowRecord : handleFlowRecord,delete : handleDelete,update: handleUpdate} + const btnEvent = {add : handleAdd,edit : handleEdit,refresh : handleRefresh,view : handleView,startwork : handleStartwork,flowRecord : handleFlowRecord,delete : handleDelete,update: handleUpdate, approve: handleApprove} const { currentRoute } = useRouter(); const router = useRouter(); @@ -160,7 +160,8 @@ taskId: taskIds[0], formName: formName, formId:currentRoute.value.meta.formId, - id: record.id + id: record.id, + readonly: 1, } }); } else if (schemaId && !taskIds && processId) { @@ -249,20 +250,35 @@ } } - function handleUpdate(record: Recordable) { - const { processId, taskIds, schemaId, status } = record.workflowData || {}; - router.push({ - path: '/flow/' + schemaId + '/' + processId + '/approveFlow', - query: { - readonly: 1, - taskId: '', - formName: formName, - formId:currentRoute.value.meta.formId, - id: record.id, - status - } - }); - + function handleUpdate(record: Recordable) { + const { processId, taskIds, schemaId } = record.workflowData || {}; + if (schemaIdComputedRef.value) { + router.push({ + path: '/flow/' + schemaIdComputedRef.value + '/0/createFlow', + query: { + formPath: 'approve/Appro', + formName: formName, + formId:currentRoute.value.meta.formId, + type:'update', + id: record.id, + processId: processId + } + }); + } + } + function handleApprove(record: Recordable) { + const { processId, taskIds, schemaId } = record.workflowData || {}; + if (taskIds && taskIds.length) { + router.push({ + path: '/flow/' + schemaId + '/' + (processId || '') + '/approveFlow', + query: { + taskId: taskIds[0], + formName: formName, + formId:currentRoute.value.meta.formId, + id: record.id + } + }); + } } function handleDelete(record: Recordable) { deleteList([record.id]); @@ -323,9 +339,11 @@ let actionsList: ActionItem[] = []; let editAndDelBtn: ActionItem[] = []; - let hasFlowRecord = false; + let updateBtn: ActionItem[] = []; + let approveBtn: ActionItem[] = []; + let hasFlowRecord = false; actionButtonConfig.value?.map((button) => { - if (['view', 'copyData'].includes(button.code)) { + if (['view', 'copyData', 'enable', 'disable'].includes(button.code)) { actionsList.push({ icon: button?.icon, tooltip: button?.name, @@ -340,27 +358,49 @@ onClick: btnEvent[button.code].bind(null, record), }); } - if (button.code === 'flowRecord') hasFlowRecord = true; - if (record.approCode == 'YSP' && button.code== 'update') { - let idx = actionsList.findIndex(v =>v.tooltip == '变更') - idx<0 && actionsList.push({icon: button?.icon, + if (['update'].includes(button.code)) { + updateBtn.push({ + icon: button?.icon, tooltip: button?.name, - onClick: btnEvent[button.code].bind(null, record),}) - } + onClick: btnEvent[button.code].bind(null, record), + }); + } + if (['approve'].includes(button.code)) { + approveBtn.push({ + icon: button?.icon, + tooltip: button?.name, + onClick: btnEvent[button.code].bind(null, record), + }); + } + if (button.code === 'flowRecord') hasFlowRecord = true; }); - if (record.workflowData?.enabled) { - //与工作流有关联的表单 - if (record.workflowData.status) { - // actionsList.unshift(setIndexFlowStatus(record.workflowData)) - } else { - actionsList = actionsList.concat(editAndDelBtn); - } - } else { - if (!record.workflowData?.processId) { - //与工作流没有关联的表单并且在当前页面新增的数据 如选择编辑、删除按钮则加上 - actionsList = actionsList.concat(editAndDelBtn); - } + // 未提交或已驳回 + if (record.approCode == 'WTJ' || record.approCode == 'YBH' ) { + actionsList = actionsList.concat(editAndDelBtn); } + // 审批中SPZ + if (record.workflowData?.editable) { + actionsList = actionsList.concat(approveBtn); + } + // 已审批 + if (record.approCode == 'YSP') { + actionsList = actionsList.concat(updateBtn); + } + + // if (record.workflowData?.enabled) { + // //与工作流有关联的表单 + // if (record.workflowData.status) { + // actionsList.unshift(setIndexFlowStatus(record.workflowData)) + // } else { + // actionsList = actionsList.concat(editAndDelBtn); + // } + // } else { + // if (!record.workflowData?.processId) { + // //与工作流没有关联的表单并且在当前页面新增的数据 如选择编辑、删除按钮则加上 + // actionsList = actionsList.concat(editAndDelBtn); + // } + // } + return actionsList; } function handleStartwork(record: Recordable) { diff --git a/src/views/contract/ContractFact/components/createForm.vue b/src/views/contract/ContractFact/components/createForm.vue index dad62b5..c50172b 100644 --- a/src/views/contract/ContractFact/components/createForm.vue +++ b/src/views/contract/ContractFact/components/createForm.vue @@ -568,7 +568,8 @@ ...formState, lngFileUploadList: dataFile.value, lngContractFactCpList: dataList.value, - lngContractApproRelList: dataListAppro.value + lngContractApproRelList: dataListAppro.value, + approCode: pageType.value=='update' ? 'WTJ' : formState.approCode } spinning.value = true; diff --git a/src/views/contract/ContractFact/index.vue b/src/views/contract/ContractFact/index.vue index 4262165..45537f7 100644 --- a/src/views/contract/ContractFact/index.vue +++ b/src/views/contract/ContractFact/index.vue @@ -74,9 +74,9 @@ const tableRef = ref(); //所有按钮 - const buttons = ref([{"name":"新增","code":"add","icon":"ant-design:plus-outlined","isDefault":true,"isUse":true,"type":"primary"},{"name":"编辑","code":"edit","icon":"ant-design:form-outlined","isDefault":true,"isUse":true},{"name":"刷新","code":"refresh","icon":"ant-design:reload-outlined","isDefault":true,"isUse":true},{"name":"查看","code":"view","icon":"ant-design:eye-outlined","isDefault":true,"isUse":true},{"name":"发起审批","code":"startwork","icon":"ant-design:form-outlined","isDefault":true,"isUse":true},{"name":"查看流转记录","code":"flowRecord","icon":"ant-design:form-outlined","isDefault":true,"isUse":true},{"name":"变更","code":"update","icon":"ant-design:edit-filled","isDefault":false,"isUse":true},{"name":"删除","code":"delete","icon":"ant-design:delete-outlined","isDefault":true,"isUse":true}]); + const buttons = ref([{"name":"新增","code":"add","icon":"ant-design:plus-outlined","isDefault":true,"isUse":true,"type":"primary"},{"name":"编辑","code":"edit","icon":"ant-design:form-outlined","isDefault":true,"isUse":true},{"name":"刷新","code":"refresh","icon":"ant-design:reload-outlined","isDefault":true,"isUse":true},{"name":"查看","code":"view","icon":"ant-design:eye-outlined","isDefault":true,"isUse":true},{"name":"发起审批","code":"startwork","icon":"ant-design:form-outlined","isDefault":true,"isUse":true},{"name":"查看流转记录","code":"flowRecord","icon":"ant-design:form-outlined","isDefault":true,"isUse":true},{"name":"审批","code":"approve","icon":"ant-design:check-outlined","isDefault":false,"isUse":true},{"name":"变更","code":"update","icon":"ant-design:edit-filled","isDefault":false,"isUse":true},{"name":"删除","code":"delete","icon":"ant-design:delete-outlined","isDefault":true,"isUse":true}]); //展示在列表内的按钮 - const actionButtons = ref(['view', 'edit','datalog', 'copyData', 'delete','update', 'startwork','flowRecord']); + const actionButtons = ref(['view', 'edit','datalog', 'copyData', 'delete','update', 'startwork','flowRecord','approve']); const buttonConfigs = computed(()=>{ return filterButtonAuth(buttons.value); }) @@ -89,7 +89,7 @@ return buttonConfigs.value?.filter((x) => actionButtons.value.includes(x.code)); }); - const btnEvent = {add : handleAdd,edit : handleEdit,refresh : handleRefresh,view : handleView,startwork : handleStartwork,flowRecord : handleFlowRecord,delete : handleDelete,update: handleUpdate} + const btnEvent = {add : handleAdd,edit : handleEdit,refresh : handleRefresh,view : handleView,startwork : handleStartwork,flowRecord : handleFlowRecord,delete : handleDelete,update: handleUpdate, approve: handleApprove} const { currentRoute } = useRouter(); const router = useRouter(); @@ -160,7 +160,8 @@ taskId: taskIds[0], formName: formName, formId:currentRoute.value.meta.formId, - id: record.id + id: record.id, + readonly: 1, } }); } else if (schemaId && !taskIds && processId) { @@ -248,20 +249,35 @@ }); } } - function handleUpdate(record: Recordable) { - const { processId, taskIds, schemaId, status } = record.workflowData || {}; - router.push({ - path: '/flow/' + schemaId + '/' + processId + '/approveFlow', - query: { - readonly: 1, - taskId: '', - formName: formName, - formId:currentRoute.value.meta.formId, - id: record.id, - status - } - }); - + function handleUpdate(record: Recordable) { + const { processId, taskIds, schemaId } = record.workflowData || {}; + if (schemaIdComputedRef.value) { + router.push({ + path: '/flow/' + schemaIdComputedRef.value + '/0/createFlow', + query: { + formPath: 'contract/ContractFact', + formName: formName, + formId:currentRoute.value.meta.formId, + type:'update', + id: record.id, + processId: processId + } + }); + } + } + function handleApprove(record: Recordable) { + const { processId, taskIds, schemaId } = record.workflowData || {}; + if (taskIds && taskIds.length) { + router.push({ + path: '/flow/' + schemaId + '/' + (processId || '') + '/approveFlow', + query: { + taskId: taskIds[0], + formName: formName, + formId:currentRoute.value.meta.formId, + id: record.id + } + }); + } } function handleDelete(record: Recordable) { deleteList([record.id]); @@ -322,9 +338,11 @@ let actionsList: ActionItem[] = []; let editAndDelBtn: ActionItem[] = []; - let hasFlowRecord = false; + let updateBtn: ActionItem[] = []; + let approveBtn: ActionItem[] = []; + let hasFlowRecord = false; actionButtonConfig.value?.map((button) => { - if (['view', 'copyData'].includes(button.code)) { + if (['view', 'copyData', 'enable', 'disable'].includes(button.code)) { actionsList.push({ icon: button?.icon, tooltip: button?.name, @@ -339,27 +357,49 @@ onClick: btnEvent[button.code].bind(null, record), }); } - if (button.code === 'flowRecord') hasFlowRecord = true; - if (record.approCode == 'YSP' && button.code== 'update') { - let idx = actionsList.findIndex(v =>v.tooltip == '变更') - idx<0 && actionsList.push({icon: button?.icon, + if (['update'].includes(button.code)) { + updateBtn.push({ + icon: button?.icon, tooltip: button?.name, - onClick: btnEvent[button.code].bind(null, record),}) - } + onClick: btnEvent[button.code].bind(null, record), + }); + } + if (['approve'].includes(button.code)) { + approveBtn.push({ + icon: button?.icon, + tooltip: button?.name, + onClick: btnEvent[button.code].bind(null, record), + }); + } + if (button.code === 'flowRecord') hasFlowRecord = true; }); - if (record.workflowData?.enabled) { - //与工作流有关联的表单 - if (record.workflowData.status) { - // actionsList.unshift(setIndexFlowStatus(record.workflowData)) - } else { - actionsList = actionsList.concat(editAndDelBtn); - } - } else { - if (!record.workflowData?.processId) { - //与工作流没有关联的表单并且在当前页面新增的数据 如选择编辑、删除按钮则加上 - actionsList = actionsList.concat(editAndDelBtn); - } + // 未提交或已驳回 + if (record.approCode == 'WTJ' || record.approCode == 'YBH' ) { + actionsList = actionsList.concat(editAndDelBtn); } + // 审批中SPZ + if (record.workflowData?.editable) { + actionsList = actionsList.concat(approveBtn); + } + // 已审批 + if (record.approCode == 'YSP') { + actionsList = actionsList.concat(updateBtn); + } + + // if (record.workflowData?.enabled) { + // //与工作流有关联的表单 + // if (record.workflowData.status) { + // actionsList.unshift(setIndexFlowStatus(record.workflowData)) + // } else { + // actionsList = actionsList.concat(editAndDelBtn); + // } + // } else { + // if (!record.workflowData?.processId) { + // //与工作流没有关联的表单并且在当前页面新增的数据 如选择编辑、删除按钮则加上 + // actionsList = actionsList.concat(editAndDelBtn); + // } + // } + return actionsList; } function handleStartwork(record: Recordable) { diff --git a/src/views/contract/ContractPurPng/components/config.ts b/src/views/contract/ContractPurPng/components/config.ts index 9a63199..1a4fcd4 100644 --- a/src/views/contract/ContractPurPng/components/config.ts +++ b/src/views/contract/ContractPurPng/components/config.ts @@ -9,7 +9,7 @@ export const searchFormSchema: FormSchema[] = [ { field: 'kNo', - label: '合同号/合同名称', + label: '合同号/名称', component: 'Input', }, { diff --git a/src/views/contract/ContractPurPng/components/createForm.vue b/src/views/contract/ContractPurPng/components/createForm.vue index 61f1728..c3963e2 100644 --- a/src/views/contract/ContractPurPng/components/createForm.vue +++ b/src/views/contract/ContractPurPng/components/createForm.vue @@ -15,9 +15,9 @@ - - - + + + {{ item.name }} @@ -50,7 +50,7 @@ - + @@ -70,7 +70,7 @@ - + {{ item.name }} @@ -79,7 +79,7 @@ - + {{ item.name }} @@ -88,7 +88,7 @@ - + {{ item.name }} @@ -113,12 +113,18 @@
- + + - + + {{ item.name }} @@ -132,7 +138,10 @@ - + +
@@ -169,42 +178,42 @@