GitBucket
4.23.0
Toggle navigation
Sign in
Files
Branches
1
Releases
Issues
Pull requests
Labels
Priorities
Milestones
Wiki
Forks
fujun
/
dxCard-admin
Browse code
bug fixed
master
1 parent
9c33112
commit
0fc5f2063b1129b5fa6da51cb58eedf78702fbdc
jiangqihao
authored
7 days ago
Patch
Showing
3 changed files
src/views/delivery/CardDeliveryPerson.data.ts
src/views/delivery/CardDeliveryPersonList.vue
src/views/delivery/components/CardDeliveryPersonModal.vue
Ignore Space
Show notes
View
src/views/delivery/CardDeliveryPerson.data.ts
import {BasicColumn} from '/@/components/Table'; import {FormSchema} from '/@/components/Table'; import { rules} from '/@/utils/helper/validator'; import { render } from '/@/utils/common/renderUtils'; import { getWeekMonthQuarterYear } from '/@/utils'; import { on } from 'events'; //列表数据 export const columns: BasicColumn[] = [ { title: '送卡人姓名', align:"center", dataIndex: 'name' }, { title: '手机号', align:"center", dataIndex: 'phone' }, { title: '电信工号', align:"center", dataIndex: 'dxWorkNo' }, { title: '应收办卡费用', align:"center", dataIndex: 'receivableFee' }, { title: '全部办卡费用', align:"center", dataIndex: 'allFee' }, { title: '省市区', align:"center", dataIndex: 'area', }, { title: '详细地址', align:"center", dataIndex: 'address' }, { title: '状态', align:"center", dataIndex: 'status', customRender:({text}) => { return render.renderSwitch(text, [{text:'正常',value:'1'},{text:'失效',value:'0'}]) }, }, ]; //查询数据 export const searchFormSchema: FormSchema[] = [ { label: "送卡人姓名", field: 'name', component: 'Input', //colProps: {span: 6}, }, { label: "手机号", field: 'phone', component: 'Input', //colProps: {span: 6}, }, { label: "省市区", field: 'area', component: 'JAreaLinkage', componentProps: { saveCode: 'all', }, //colProps: {span: 6}, }, { label: "状态", field: 'status', component: 'JSwitch', componentProps:{ query:true, }, //colProps: {span: 6}, }, ]; //表单数据 export const formSchema: FormSchema[] = [ { label: '送卡人姓名', field: 'name', component: 'Input', dynamicRules: ({model,schema}) => { return [ { required: true, message: '请输入送卡人姓名!'}, ]; }, }, { label: '手机号', field: 'phone', component: 'Input', dynamicRules: ({model,schema}) => { return [ { required: true, message: '请输入手机号!'}, { pattern: /^1[3456789]\d{9}$/, message: '请输入正确的手机号码!'}, ]; }, }, { label: '电信工号', field: 'dxWorkNo', component: 'Input', }, { label: '省市区', field: 'areaAll', component: 'JAreaLinkage', componentProps: { saveCode: 'all', showAll: true, }, }, { label: '详细地址', field: 'address', component: 'Input', }, { label: '状态', field: 'status', component: 'JSwitch', componentProps:{ options: ['1','0'], labelOptions: ['正常','失效'], checked: true, }, }, // TODO 主键隐藏字段,目前写死为ID { label: '', field: 'id', component: 'Input', show: false }, ]; // 高级查询数据 export const superQuerySchema = { name: {title: '送卡人姓名',order: 0,view: 'text', type: 'string',}, phone: {title: '手机号',order: 1,view: 'text', type: 'string',}, dxWorkNo: {title: '电信工号',order: 2,view: 'text', type: 'string',}, receivableFee: {title: '应收办卡费用',order: 3,view: 'number', type: 'number',}, allFee: {title: '全部办卡费用',order: 4,view: 'number', type: 'number',}, province: {title: '省',order: 5,view: 'pca', type: 'string',}, city: {title: '市',order: 6,view: 'pca', type: 'string',}, area: {title: '区',order: 7,view: 'pca', type: 'string',}, address: {title: '详细地址',order: 8,view: 'text', type: 'string',}, status: {title: '状态',order: 9,view: 'switch', type: 'string',}, }; /** * 流程表单调用这个方法获取formSchema * @param param */ export function getBpmFormSchema(_formData): FormSchema[]{ // 默认和原始表单保持一致 如果流程中配置了权限数据,这里需要单独处理formSchema return formSchema; }
import {BasicColumn} from '/@/components/Table'; import {FormSchema} from '/@/components/Table'; import { rules} from '/@/utils/helper/validator'; import { render } from '/@/utils/common/renderUtils'; import { getWeekMonthQuarterYear } from '/@/utils'; import { on } from 'events'; //列表数据 export const columns: BasicColumn[] = [ { title: '送卡人姓名', align:"center", dataIndex: 'name' }, { title: '手机号', align:"center", dataIndex: 'phone' }, { title: '电信工号', align:"center", dataIndex: 'dxWorkNo' }, { title: '应收办卡费用', align:"center", dataIndex: 'receivableFee' }, { title: '全部办卡费用', align:"center", dataIndex: 'allFee' }, { title: '省市区', align:"center", dataIndex: 'area', }, { title: '详细地址', align:"center", dataIndex: 'address' }, { title: '状态', align:"center", dataIndex: 'status', customRender:({text}) => { return render.renderSwitch(text, [{text:'正常',value:'1'},{text:'失效',value:'0'}]) }, }, ]; //查询数据 export const searchFormSchema: FormSchema[] = [ { label: "送卡人姓名", field: 'name', component: 'Input', //colProps: {span: 6}, }, { label: "手机号", field: 'phone', component: 'Input', //colProps: {span: 6}, }, { label: "区", field: 'area', component: 'JAreaLinkage', componentProps: { saveCode: 'region', }, //colProps: {span: 6}, }, { label: "状态", field: 'status', component: 'JSwitch', componentProps:{ query:true, }, //colProps: {span: 6}, }, ]; //表单数据 export const formSchema: FormSchema[] = [ { label: '送卡人姓名', field: 'name', component: 'Input', dynamicRules: ({model,schema}) => { return [ { required: true, message: '请输入送卡人姓名!'}, ]; }, }, { label: '手机号', field: 'phone', component: 'Input', dynamicRules: ({model,schema}) => { return [ { required: true, message: '请输入手机号!'}, { pattern: /^1[3456789]\d{9}$/, message: '请输入正确的手机号码!'}, ]; }, }, { label: '电信工号', field: 'dxWorkNo', component: 'Input', }, { label: '省市区', field: 'area', component: 'JAreaLinkage', componentProps: { saveCode: 'all', showAll: true, }, }, { label: '详细地址', field: 'address', component: 'Input', }, { label: '状态', field: 'status', component: 'JSwitch', componentProps:{ options: ['1','0'], labelOptions: ['正常','失效'], checked: true, }, }, // TODO 主键隐藏字段,目前写死为ID { label: '', field: 'id', component: 'Input', show: false }, ]; // 高级查询数据 export const superQuerySchema = { name: {title: '送卡人姓名',order: 0,view: 'text', type: 'string',}, phone: {title: '手机号',order: 1,view: 'text', type: 'string',}, dxWorkNo: {title: '电信工号',order: 2,view: 'text', type: 'string',}, receivableFee: {title: '应收办卡费用',order: 3,view: 'number', type: 'number',}, allFee: {title: '全部办卡费用',order: 4,view: 'number', type: 'number',}, province: {title: '省',order: 5,view: 'pca', type: 'string',}, city: {title: '市',order: 6,view: 'pca', type: 'string',}, area: {title: '区',order: 7,view: 'pca', type: 'string',}, address: {title: '详细地址',order: 8,view: 'text', type: 'string',}, status: {title: '状态',order: 9,view: 'switch', type: 'string',}, }; /** * 流程表单调用这个方法获取formSchema * @param param */ export function getBpmFormSchema(_formData): FormSchema[]{ // 默认和原始表单保持一致 如果流程中配置了权限数据,这里需要单独处理formSchema return formSchema; }
Ignore Space
Show notes
View
src/views/delivery/CardDeliveryPersonList.vue
<template> <div> <!--引用表格--> <BasicTable @register="registerTable" :rowSelection="rowSelection"> <!--插槽:table标题--> <template #tableTitle> <a-button type="primary" v-auth="'card_delivery_person:add'" @click="handleAdd" preIcon="ant-design:plus-outlined"> 新增</a-button> <a-button type="primary" v-auth="'card_delivery_person:exportXls'" preIcon="ant-design:export-outlined" @click="onExportXls"> 导出</a-button> <j-upload-button type="primary" v-auth="'card_delivery_person:importExcel'" preIcon="ant-design:import-outlined" @click="onImportXls">导入</j-upload-button> <a-dropdown v-if="selectedRowKeys.length > 0"> <template #overlay> <a-menu> <a-menu-item key="1" @click="batchHandleDelete"> <Icon icon="ant-design:delete-outlined"></Icon> 删除 </a-menu-item> </a-menu> </template> <a-button v-auth="'card_delivery_person:deleteBatch'">批量操作 <Icon icon="mdi:chevron-down"></Icon> </a-button> </a-dropdown> <!-- 高级查询 --> <super-query :config="superQueryConfig" @search="handleSuperQuery" /> </template> <!--操作栏--> <template #action="{ record }"> <TableAction :actions="getTableAction(record)" :dropDownActions="getDropDownAction(record)"/> </template> <!--字段回显插槽--> <template v-slot:bodyCell="{ column, record, index, text }"> <template v-if="column.dataIndex==='province'"> <!--省市区字段回显插槽--> {{ getAreaTextByCode(text) }} </template> <template v-if="column.dataIndex==='city'"> <!--省市区字段回显插槽--> {{ getAreaTextByCode(text) }} </template> <template v-if="column.dataIndex==='area'"> <!--省市区字段回显插槽--> {{ getAreaTextByCode(text) }} </template> </template> </BasicTable> <!-- 表单区域 --> <CardDeliveryPersonModal @register="registerModal" @success="handleSuccess"></CardDeliveryPersonModal> </div> </template> <script lang="ts" name="org.jeecg.modules.system-cardDeliveryPerson" setup> import {ref, reactive, computed, unref} from 'vue'; import {BasicTable, useTable, TableAction} from '/@/components/Table'; import {useModal} from '/@/components/Modal'; import { useListPage } from '/@/hooks/system/useListPage' import CardDeliveryPersonModal from './components/CardDeliveryPersonModal.vue' import {columns, searchFormSchema, superQuerySchema} from './CardDeliveryPerson.data'; import {list, deleteOne, batchDelete, getImportUrl,getExportUrl} from './CardDeliveryPerson.api'; import { downloadFile } from '/@/utils/common/renderUtils'; import { useUserStore } from '/@/store/modules/user'; import { useMessage } from '/@/hooks/web/useMessage'; import { getAreaTextByCode } from '/@/components/Form/src/utils/Area'; import { getDateByPicker } from '/@/utils'; //日期个性化选择 const fieldPickers = reactive({ }); const queryParam = reactive<any>({}); const checkedKeys = ref<Array<string | number>>([]); const userStore = useUserStore(); const { createMessage } = useMessage(); //注册model const [registerModal, {openModal}] = useModal(); //注册table数据 const { prefixCls,tableContext,onExportXls,onImportXls } = useListPage({ tableProps:{ title: '送卡人管理', api: list, columns, canResize:true, formConfig: { //labelWidth: 120, schemas: searchFormSchema, autoSubmitOnEnter:true, showAdvancedButton:true, fieldMapToNumber: [ ], fieldMapToTime: [ ], }, actionColumn: { width: 120, fixed:'right' }, beforeFetch: (params) => { if (params && fieldPickers) { for (let key in fieldPickers) { if (params[key]) { params[key] = getDateByPicker(params[key], fieldPickers[key]); } } } return Object.assign(params, queryParam); }, }, exportConfig: { name:"送卡人管理", url: getExportUrl, params: queryParam, }, importConfig: { url: getImportUrl, success: handleSuccess }, }) const [registerTable, {reload},{ rowSelection, selectedRowKeys }] = tableContext // 高级查询配置 const superQueryConfig = reactive(superQuerySchema); /** * 高级查询事件 */ function handleSuperQuery(params) { Object.keys(params).map((k) => { queryParam[k] = params[k]; }); reload(); } /** * 新增事件 */ function handleAdd() { openModal(true, { isUpdate: false, showFooter: true, }); } function formatAreaField(record: Recordable){ let arr = []; if(record.province){ arr.push(record.province); } if(record.city){ arr.push(record.city); } if(record.area){ arr.push(record.area); } return arr.join(','); } /** * 编辑事件 */ function handleEdit(record: Recordable) { record.areaAll = formatAreaField(record); console.log('edit record',record); openModal(true, { record, isUpdate: true, showFooter: true, }); } /** * 详情 */ function handleDetail(record: Recordable) { record.areaAll = formatAreaField(record); console.log('detail record',record); openModal(true, { record, isUpdate: true, showFooter: false, }); } /** * 删除事件 */ async function handleDelete(record) { await deleteOne({id: record.id}, handleSuccess); } /** * 批量删除事件 */ async function batchHandleDelete() { await batchDelete({ids: selectedRowKeys.value}, handleSuccess); } /** * 成功回调 */ function handleSuccess() { (selectedRowKeys.value = []) && reload(); } /** * 操作栏 */ function getTableAction(record){ return [ { label: '编辑', onClick: handleEdit.bind(null, record), auth: 'card_delivery_person:edit' } ] } /** * 下拉操作栏 */ function getDropDownAction(record){ return [ { label: '详情', onClick: handleDetail.bind(null, record), }, { label: '删除', popConfirm: { title: '是否确认删除', confirm: handleDelete.bind(null, record), placement: 'topLeft', }, auth: 'card_delivery_person:delete' } ] } </script> <style lang="less" scoped> :deep(.ant-picker),:deep(.ant-input-number){ width: 100%; } </style>
<template> <div> <!--引用表格--> <BasicTable @register="registerTable" :rowSelection="rowSelection"> <!--插槽:table标题--> <template #tableTitle> <a-button type="primary" v-auth="'card_delivery_person:add'" @click="handleAdd" preIcon="ant-design:plus-outlined"> 新增</a-button> <a-button type="primary" v-auth="'card_delivery_person:exportXls'" preIcon="ant-design:export-outlined" @click="onExportXls"> 导出</a-button> <j-upload-button type="primary" v-auth="'card_delivery_person:importExcel'" preIcon="ant-design:import-outlined" @click="onImportXls">导入</j-upload-button> <a-dropdown v-if="selectedRowKeys.length > 0"> <template #overlay> <a-menu> <a-menu-item key="1" @click="batchHandleDelete"> <Icon icon="ant-design:delete-outlined"></Icon> 删除 </a-menu-item> </a-menu> </template> <a-button v-auth="'card_delivery_person:deleteBatch'">批量操作 <Icon icon="mdi:chevron-down"></Icon> </a-button> </a-dropdown> <!-- 高级查询 --> <super-query :config="superQueryConfig" @search="handleSuperQuery" /> </template> <!--操作栏--> <template #action="{ record }"> <TableAction :actions="getTableAction(record)" :dropDownActions="getDropDownAction(record)"/> </template> <!--字段回显插槽--> <template v-slot:bodyCell="{ column, record, index, text }"> <template v-if="column.dataIndex==='province'"> <!--省市区字段回显插槽--> {{ getAreaTextByCode(text) }} </template> <template v-if="column.dataIndex==='city'"> <!--省市区字段回显插槽--> {{ getAreaTextByCode(text) }} </template> <template v-if="column.dataIndex==='area'"> <!--省市区字段回显插槽--> {{ getAreaTextByCode(text) }} </template> </template> </BasicTable> <!-- 表单区域 --> <CardDeliveryPersonModal @register="registerModal" @success="handleSuccess"></CardDeliveryPersonModal> </div> </template> <script lang="ts" name="org.jeecg.modules.system-cardDeliveryPerson" setup> import {ref, reactive, computed, unref} from 'vue'; import {BasicTable, useTable, TableAction} from '/@/components/Table'; import {useModal} from '/@/components/Modal'; import { useListPage } from '/@/hooks/system/useListPage' import CardDeliveryPersonModal from './components/CardDeliveryPersonModal.vue' import {columns, searchFormSchema, superQuerySchema} from './CardDeliveryPerson.data'; import {list, deleteOne, batchDelete, getImportUrl,getExportUrl} from './CardDeliveryPerson.api'; import { downloadFile } from '/@/utils/common/renderUtils'; import { useUserStore } from '/@/store/modules/user'; import { useMessage } from '/@/hooks/web/useMessage'; import { getAreaTextByCode } from '/@/components/Form/src/utils/Area'; import { getDateByPicker } from '/@/utils'; //日期个性化选择 const fieldPickers = reactive({ }); const queryParam = reactive<any>({}); const checkedKeys = ref<Array<string | number>>([]); const userStore = useUserStore(); const { createMessage } = useMessage(); //注册model const [registerModal, {openModal}] = useModal(); //注册table数据 const { prefixCls,tableContext,onExportXls,onImportXls } = useListPage({ tableProps:{ title: '送卡人管理', api: list, columns, canResize:true, formConfig: { //labelWidth: 120, schemas: searchFormSchema, autoSubmitOnEnter:true, showAdvancedButton:true, fieldMapToNumber: [ ], fieldMapToTime: [ ], }, actionColumn: { width: 120, fixed:'right' }, beforeFetch: (params) => { if (params && fieldPickers) { for (let key in fieldPickers) { if (params[key]) { params[key] = getDateByPicker(params[key], fieldPickers[key]); } } } return Object.assign(params, queryParam); }, }, exportConfig: { name:"送卡人管理", url: getExportUrl, params: queryParam, }, importConfig: { url: getImportUrl, success: handleSuccess }, }) const [registerTable, {reload},{ rowSelection, selectedRowKeys }] = tableContext // 高级查询配置 const superQueryConfig = reactive(superQuerySchema); /** * 高级查询事件 */ function handleSuperQuery(params) { Object.keys(params).map((k) => { queryParam[k] = params[k]; }); reload(); } /** * 新增事件 */ function handleAdd() { openModal(true, { isUpdate: false, showFooter: true, }); } /** * 编辑事件 */ function handleEdit(record: Recordable) { openModal(true, { record, isUpdate: true, showFooter: true, }); } /** * 详情 */ function handleDetail(record: Recordable) { openModal(true, { record, isUpdate: true, showFooter: false, }); } /** * 删除事件 */ async function handleDelete(record) { await deleteOne({id: record.id}, handleSuccess); } /** * 批量删除事件 */ async function batchHandleDelete() { await batchDelete({ids: selectedRowKeys.value}, handleSuccess); } /** * 成功回调 */ function handleSuccess() { (selectedRowKeys.value = []) && reload(); } /** * 操作栏 */ function getTableAction(record){ return [ { label: '编辑', onClick: handleEdit.bind(null, record), auth: 'card_delivery_person:edit' } ] } /** * 下拉操作栏 */ function getDropDownAction(record){ return [ { label: '详情', onClick: handleDetail.bind(null, record), }, { label: '删除', popConfirm: { title: '是否确认删除', confirm: handleDelete.bind(null, record), placement: 'topLeft', }, auth: 'card_delivery_person:delete' } ] } </script> <style lang="less" scoped> :deep(.ant-picker),:deep(.ant-input-number){ width: 100%; } </style>
Ignore Space
Show notes
View
src/views/delivery/components/CardDeliveryPersonModal.vue
<template> <BasicModal v-bind="$attrs" @register="registerModal" destroyOnClose :title="title" :width="800" @ok="handleSubmit"> <BasicForm @register="registerForm" name="CardDeliveryPersonForm" /> </BasicModal> </template> <script lang="ts" setup> import {ref, computed, unref, reactive} from 'vue'; import {BasicModal, useModalInner} from '/@/components/Modal'; import {BasicForm, useForm} from '/@/components/Form/index'; import {formSchema} from '../CardDeliveryPerson.data'; import {saveOrUpdate} from '../CardDeliveryPerson.api'; import { useMessage } from '/@/hooks/web/useMessage'; import { getDateByPicker } from '/@/utils'; const { createMessage } = useMessage(); // Emits声明 const emit = defineEmits(['register','success']); const isUpdate = ref(true); const isDetail = ref(false); //表单配置 const [registerForm, { setProps,resetFields, setFieldsValue, validate, scrollToField }] = useForm({ labelWidth: 150, schemas: formSchema, showActionButtonGroup: false, baseColProps: {span: 24} }); //表单赋值 const [registerModal, {setModalProps, closeModal}] = useModalInner(async (data) => { //重置表单 await resetFields(); setModalProps({confirmLoading: false,showCancelBtn:!!data?.showFooter,showOkBtn:!!data?.showFooter}); isUpdate.value = !!data?.isUpdate; isDetail.value = !!data?.showFooter; if (unref(isUpdate)) { //表单赋值 await setFieldsValue({ ...data.record, }); } // 隐藏底部时禁用整个表单 setProps({ disabled: !data?.showFooter }) }); //日期个性化选择 const fieldPickers = reactive({ }); //设置标题 const title = computed(() => (!unref(isUpdate) ? '新增' : !unref(isDetail) ? '详情' : '编辑')); //表单提交事件 async function handleSubmit(v) { try { let values = await validate(); console.log('提交数据:',values); let arr = [] if(values.areaAll) { arr = values.areaAll.split(','); } else if(values.area) { arr = values.area.split(','); } if(arr.length==3){ values.province = arr[0]; values.city = arr[1]; values.area = arr[2]; } // 预处理日期数据 changeDateValue(values); setModalProps({confirmLoading: true}); //提交表单 await saveOrUpdate(values, isUpdate.value); //关闭弹窗 closeModal(); //刷新列表 emit('success'); } catch ({ errorFields }) { if (errorFields) { const firstField = errorFields[0]; if (firstField) { scrollToField(firstField.name, { behavior: 'smooth', block: 'center' }); } } return Promise.reject(errorFields); } finally { setModalProps({confirmLoading: false}); } } /** * 处理日期值 * @param formData 表单数据 */ const changeDateValue = (formData) => { if (formData && fieldPickers) { for (let key in fieldPickers) { if (formData[key]) { formData[key] = getDateByPicker(formData[key], fieldPickers[key]); } } } }; </script> <style lang="less" scoped> /** 时间和数字输入框样式 */ :deep(.ant-input-number) { width: 100%; } :deep(.ant-calendar-picker) { width: 100%; } </style>
<template> <BasicModal v-bind="$attrs" @register="registerModal" destroyOnClose :title="title" :width="800" @ok="handleSubmit"> <BasicForm @register="registerForm" name="CardDeliveryPersonForm" /> </BasicModal> </template> <script lang="ts" setup> import {ref, computed, unref, reactive} from 'vue'; import {BasicModal, useModalInner} from '/@/components/Modal'; import {BasicForm, useForm} from '/@/components/Form/index'; import {formSchema} from '../CardDeliveryPerson.data'; import {saveOrUpdate} from '../CardDeliveryPerson.api'; import { useMessage } from '/@/hooks/web/useMessage'; import { getDateByPicker } from '/@/utils'; const { createMessage } = useMessage(); // Emits声明 const emit = defineEmits(['register','success']); const isUpdate = ref(true); const isDetail = ref(false); //表单配置 const [registerForm, { setProps,resetFields, setFieldsValue, validate, scrollToField }] = useForm({ labelWidth: 150, schemas: formSchema, showActionButtonGroup: false, baseColProps: {span: 24} }); //表单赋值 const [registerModal, {setModalProps, closeModal}] = useModalInner(async (data) => { //重置表单 await resetFields(); setModalProps({confirmLoading: false,showCancelBtn:!!data?.showFooter,showOkBtn:!!data?.showFooter}); isUpdate.value = !!data?.isUpdate; isDetail.value = !!data?.showFooter; if (unref(isUpdate)) { //表单赋值 await setFieldsValue({ ...data.record, }); } // 隐藏底部时禁用整个表单 setProps({ disabled: !data?.showFooter }) }); //日期个性化选择 const fieldPickers = reactive({ }); //设置标题 const title = computed(() => (!unref(isUpdate) ? '新增' : !unref(isDetail) ? '详情' : '编辑')); //表单提交事件 async function handleSubmit(v) { try { let values = await validate(); if(values.area) { const arr = values.area.split(','); values.province = arr[0]; values.city = arr[1]; values.area = arr[2]; } // 预处理日期数据 changeDateValue(values); setModalProps({confirmLoading: true}); //提交表单 await saveOrUpdate(values, isUpdate.value); //关闭弹窗 closeModal(); //刷新列表 emit('success'); } catch ({ errorFields }) { if (errorFields) { const firstField = errorFields[0]; if (firstField) { scrollToField(firstField.name, { behavior: 'smooth', block: 'center' }); } } return Promise.reject(errorFields); } finally { setModalProps({confirmLoading: false}); } } /** * 处理日期值 * @param formData 表单数据 */ const changeDateValue = (formData) => { if (formData && fieldPickers) { for (let key in fieldPickers) { if (formData[key]) { formData[key] = getDateByPicker(formData[key], fieldPickers[key]); } } } }; </script> <style lang="less" scoped> /** 时间和数字输入框样式 */ :deep(.ant-input-number) { width: 100%; } :deep(.ant-calendar-picker) { width: 100%; } </style>
Show line notes below