Merge branch 'dev_海西州_北京同仁堂' into dev_海西州_惠牧
| | |
| | | ownerUserDeptName?: string; // 负责人的部门名称 |
| | | lockStatus?: boolean; |
| | | dealStatus?: boolean; |
| | | autoPoolEnabled?: boolean; // 是否流入公海,关闭时取消公海可见度 |
| | | mobile: string; // 手机号 |
| | | telephone: string; // 电话 |
| | | qq: string; // QQ |
| | |
| | | |
| | | import { DICT_TYPE } from '@vben/constants'; |
| | | import { getDictLabel, getDictObj } from '@vben/hooks'; |
| | | import { formatDateTime } from '@vben/utils'; |
| | | import { formatDate } from '@vben/utils'; |
| | | |
| | | import { Tag, Timeline } from 'ant-design-vue'; |
| | | |
| | |
| | | |
| | | withDefaults(defineProps<OperateLogProps>(), { |
| | | logList: () => [], |
| | | dateFormat: 'YYYY-MM-DD HH:mm:ss', |
| | | }); |
| | | |
| | | /** 获得 userType 颜色 */ |
| | |
| | | </template> |
| | | <div class="ml-2 flex flex-wrap items-center gap-2 leading-[22px]"> |
| | | <span class="w-[140px] shrink-0 text-[13px] text-gray-400"> |
| | | {{ formatDateTime(log.createTime) }} |
| | | {{ formatDate(log.createTime, dateFormat) }} |
| | | </span> |
| | | <Tag color="success" class="!mr-0">{{ log.userName }}</Tag> |
| | | <span>{{ log.action }}</span> |
| | |
| | | import type { SystemOperateLogApi } from '#/api/system/operate-log'; |
| | | |
| | | export interface OperateLogProps { |
| | | /** 仅控制日期展示,不改变日志原始时间。 */ |
| | | dateFormat?: string; |
| | | logList: SystemOperateLogApi.OperateLog[]; // 操作日志列表 |
| | | } |
| | |
| | | field: "createTime", |
| | | title: "创建时间", |
| | | minWidth: 180, |
| | | formatter: "formatDateTime", |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | field: "isBatchManaged", |
| | |
| | | field: 'createTime', |
| | | title: '创建时间', |
| | | minWidth: 180, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | title: '操作', |
| | |
| | | field: 'createTime', |
| | | title: '创建时间', |
| | | width: 170, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | title: '操作', |
| | |
| | | field: 'createTime', |
| | | title: '创建时间', |
| | | width: 170, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | title: '操作', |
| | |
| | | return formatNumber(v); |
| | | } |
| | | |
| | | // 大屏表格里的日期列只展示到天(形如 2026-09-01 10:23:45 的值切成 2026-09-01), |
| | | // 图表 SQL 里的 order_time / receipt_date / create_time / hire_date 都是带时分秒的 |
| | | const DATE_TIME_RE = /^\d{4}-\d{2}-\d{2}[ T]\d{2}:\d{2}(?::\d{2})?(?:\.\d+)?$/; |
| | | |
| | | function getCellValue(row: unknown, col: string): unknown { |
| | | return (row as Record<string, unknown>)[col]; |
| | | const val = (row as Record<string, unknown>)[col]; |
| | | if (typeof val === 'string' && DATE_TIME_RE.test(val)) { |
| | | return val.slice(0, 10); |
| | | } |
| | | return val; |
| | | } |
| | | |
| | | // ======== 看板主题色 ======== |
| | |
| | | component: 'DatePicker', |
| | | componentProps: { |
| | | showTime: false, |
| | | format: 'YYYY-MM-DD HH:mm:ss', |
| | | format: 'YYYY-MM-DD', |
| | | valueFormat: 'YYYY-MM-DD HH:mm:ss', |
| | | placeholder: '请选择预计成交日期', |
| | | }, |
| | |
| | | { |
| | | field: 'contactNextTime', |
| | | title: '下次联系时间', |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | width: 180, |
| | | }, |
| | | { |
| | |
| | | { |
| | | field: 'contactLastTime', |
| | | title: '最后跟进时间', |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | width: 180, |
| | | }, |
| | | { |
| | | field: 'updateTime', |
| | | title: '更新时间', |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | width: 180, |
| | | }, |
| | | { |
| | | field: 'createTime', |
| | | title: '创建时间', |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | width: 180, |
| | | }, |
| | | { |
| | |
| | | import type { CrmBusinessApi } from '#/api/crm/business'; |
| | | import type { DescriptionItemSchema } from '#/components/description'; |
| | | |
| | | import { erpPriceInputFormatter, formatDateTime } from '@vben/utils'; |
| | | import { erpPriceInputFormatter, formatDate } from '@vben/utils'; |
| | | |
| | | import { |
| | | getBusinessStatusSimpleList, |
| | |
| | | { |
| | | field: 'createTime', |
| | | label: '创建时间', |
| | | render: (val) => formatDateTime(val) as string, |
| | | render: (val) => formatDate(val) as string, |
| | | }, |
| | | ]; |
| | | } |
| | |
| | | { |
| | | field: 'dealTime', |
| | | label: '预计成交日期', |
| | | render: (val) => formatDateTime(val) as string, |
| | | render: (val) => formatDate(val) as string, |
| | | }, |
| | | { |
| | | field: 'contactNextTime', |
| | | label: '下次联系时间', |
| | | render: (val) => formatDateTime(val) as string, |
| | | render: (val) => formatDate(val) as string, |
| | | }, |
| | | { |
| | | field: 'statusTypeName', |
| | |
| | | /> |
| | | </Tabs.TabPane> |
| | | <Tabs.TabPane tab="操作日志" key="6" :force-render="true"> |
| | | <OperateLog :log-list="logList" /> |
| | | <OperateLog :log-list="logList" date-format="YYYY-MM-DD" /> |
| | | </Tabs.TabPane> |
| | | <Tabs.TabPane tab="团队成员" key="7" :force-render="true"> |
| | | <PermissionList |
| | |
| | | { |
| | | field: 'createTime', |
| | | title: '创建时间', |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | title: '操作', |
| | |
| | | component: 'DatePicker', |
| | | componentProps: { |
| | | showTime: true, |
| | | format: 'YYYY-MM-DD HH:mm:ss', |
| | | format: 'YYYY-MM-DD', |
| | | valueFormat: 'YYYY-MM-DD HH:mm:ss', |
| | | placeholder: '请选择下次联系时间', |
| | | }, |
| | |
| | | component: 'RangePicker', |
| | | componentProps: { |
| | | ...getRangePickerDefaultProps(), |
| | | format: 'YYYY-MM-DD', |
| | | allowClear: true, |
| | | placeholder: ['开始日期', '结束日期'], |
| | | }, |
| | |
| | | { |
| | | field: 'contactNextTime', |
| | | title: '下次联系时间', |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | minWidth: 180, |
| | | }, |
| | | { |
| | |
| | | { |
| | | field: 'contactLastTime', |
| | | title: '最后跟进时间', |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | minWidth: 180, |
| | | }, |
| | | { |
| | |
| | | { |
| | | field: 'updateTime', |
| | | title: '更新时间', |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | minWidth: 180, |
| | | }, |
| | | { |
| | | field: 'createTime', |
| | | title: '创建时间', |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | minWidth: 180, |
| | | }, |
| | | { |
| | |
| | | import { h } from 'vue'; |
| | | |
| | | import { DICT_TYPE } from '@vben/constants'; |
| | | import { formatDateTime } from '@vben/utils'; |
| | | import { formatDate } from '@vben/utils'; |
| | | |
| | | import { DictTag } from '#/components/dict-tag'; |
| | | |
| | |
| | | { |
| | | field: 'createTime', |
| | | label: '创建时间', |
| | | render: (val) => formatDateTime(val) as string, |
| | | render: (val) => formatDate(val) as string, |
| | | }, |
| | | ]; |
| | | } |
| | |
| | | { |
| | | field: 'contactNextTime', |
| | | label: '下次联系时间', |
| | | render: (val) => formatDateTime(val) as string, |
| | | render: (val) => formatDate(val) as string, |
| | | }, |
| | | { |
| | | field: 'remark', |
| | |
| | | /> |
| | | </Tabs.TabPane> |
| | | <Tabs.TabPane tab="操作日志" key="4" :force-render="true"> |
| | | <OperateLog :log-list="logList" /> |
| | | <OperateLog :log-list="logList" date-format="YYYY-MM-DD" /> |
| | | </Tabs.TabPane> |
| | | </Tabs> |
| | | </Card> |
| | |
| | | component: 'DatePicker', |
| | | componentProps: { |
| | | showTime: true, |
| | | format: 'YYYY-MM-DD HH:mm:ss', |
| | | format: 'YYYY-MM-DD', |
| | | valueFormat: 'YYYY-MM-DD HH:mm:ss', |
| | | placeholder: '请选择下次联系时间', |
| | | }, |
| | |
| | | { |
| | | field: 'contactNextTime', |
| | | title: '下次联系时间', |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | minWidth: 180, |
| | | }, |
| | | { |
| | |
| | | { |
| | | field: 'contactLastTime', |
| | | title: '最后跟进时间', |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | minWidth: 180, |
| | | }, |
| | | { |
| | |
| | | { |
| | | field: 'updateTime', |
| | | title: '更新时间', |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | minWidth: 180, |
| | | }, |
| | | { |
| | | field: 'createTime', |
| | | title: '创建时间', |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | minWidth: 180, |
| | | }, |
| | | { |
| | |
| | | import { h } from 'vue'; |
| | | |
| | | import { DICT_TYPE } from '@vben/constants'; |
| | | import { formatDateTime } from '@vben/utils'; |
| | | import { formatDate } from '@vben/utils'; |
| | | |
| | | import { DictTag } from '#/components/dict-tag'; |
| | | |
| | |
| | | { |
| | | field: 'createTime', |
| | | label: '创建时间', |
| | | render: (val) => formatDateTime(val) as string, |
| | | render: (val) => formatDate(val) as string, |
| | | }, |
| | | ]; |
| | | } |
| | |
| | | { |
| | | field: 'contactNextTime', |
| | | label: '下次联系时间', |
| | | render: (val) => formatDateTime(val) as string, |
| | | render: (val) => formatDate(val) as string, |
| | | }, |
| | | { |
| | | field: 'remark', |
| | |
| | | <Info :contact="contact" /> |
| | | </Tabs.TabPane> |
| | | <Tabs.TabPane tab="操作日志" key="3" :force-render="true"> |
| | | <OperateLog :log-list="logList" /> |
| | | <OperateLog :log-list="logList" date-format="YYYY-MM-DD" /> |
| | | </Tabs.TabPane> |
| | | <Tabs.TabPane tab="团队成员" key="4" :force-render="true"> |
| | | <PermissionList |
| | |
| | | /> |
| | | </Tabs.TabPane> |
| | | <Tabs.TabPane tab="操作日志" key="6" :force-render="true"> |
| | | <OperateLog :log-list="logList" /> |
| | | <OperateLog :log-list="logList" date-format="YYYY-MM-DD" /> |
| | | </Tabs.TabPane> |
| | | </Tabs> |
| | | </Card> |
| | |
| | | component: 'DatePicker', |
| | | componentProps: { |
| | | showTime: true, |
| | | format: 'YYYY-MM-DD HH:mm:ss', |
| | | format: 'YYYY-MM-DD', |
| | | valueFormat: 'YYYY-MM-DD HH:mm:ss', |
| | | placeholder: '请选择下次联系时间', |
| | | allowClear: true, |
| | | }, |
| | | }, |
| | | { |
| | | fieldName: 'autoPoolEnabled', |
| | | label: '是否流入公海', |
| | | component: 'Switch', |
| | | defaultValue: true, |
| | | componentProps: { |
| | | checkedChildren: '是', |
| | | unCheckedChildren: '否', |
| | | }, |
| | | help: '关闭后不自动流入公海,并取消普通用户的公海可见度;保留负责人和团队权限,超级管理员仍可查看。', |
| | | }, |
| | | { |
| | | fieldName: 'remark', |
| | |
| | | }, |
| | | }, |
| | | { |
| | | fieldName: 'autoPoolEnabled', |
| | | label: '是否流入公海', |
| | | component: 'Select', |
| | | componentProps: { |
| | | options: [ |
| | | { label: '是', value: true }, |
| | | { label: '否', value: false }, |
| | | ], |
| | | placeholder: '请选择', |
| | | allowClear: true, |
| | | }, |
| | | }, |
| | | { |
| | | fieldName: 'createTime', |
| | | label: '创建时间', |
| | | component: 'RangePicker', |
| | | componentProps: { |
| | | ...getRangePickerDefaultProps(), |
| | | format: 'YYYY-MM-DD', |
| | | placeholder: ['开始日期', '结束日期'], |
| | | allowClear: true, |
| | | }, |
| | |
| | | label: '客户数据', |
| | | component: 'Upload', |
| | | rules: 'required', |
| | | help: '仅允许导入 xls、xlsx 格式文件', |
| | | help: '仅允许导入 xls、xlsx 格式文件。“是否流入公海”列填写是/否;留空时新增默认是,覆盖保留原值。关闭后取消公海可见度。', |
| | | }, |
| | | { |
| | | fieldName: 'updateSupport', |
| | |
| | | { |
| | | field: 'contactNextTime', |
| | | title: '下次联系时间', |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | minWidth: 180, |
| | | }, |
| | | { |
| | |
| | | }, |
| | | }, |
| | | { |
| | | field: 'autoPoolEnabled', |
| | | title: '是否流入公海', |
| | | minWidth: 140, |
| | | cellRender: { |
| | | name: 'CellDict', |
| | | props: { type: DICT_TYPE.INFRA_BOOLEAN_STRING }, |
| | | }, |
| | | }, |
| | | { |
| | | field: 'dealStatus', |
| | | title: '成交状态', |
| | | minWidth: 120, |
| | |
| | | { |
| | | field: 'contactLastTime', |
| | | title: '最后跟进时间', |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | minWidth: 180, |
| | | }, |
| | | { |
| | |
| | | { |
| | | field: 'updateTime', |
| | | title: '更新时间', |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | minWidth: 180, |
| | | }, |
| | | { |
| | | field: 'createTime', |
| | | title: '创建时间', |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | minWidth: 180, |
| | | }, |
| | | { |
| | |
| | | |
| | | import { DICT_TYPE } from '@vben/constants'; |
| | | import { useUserStore } from '@vben/stores'; |
| | | import { formatDateTime } from '@vben/utils'; |
| | | import { formatDate } from '@vben/utils'; |
| | | |
| | | import { getSimpleUserList } from '#/api/system/user'; |
| | | import { DictTag } from '#/components/dict-tag'; |
| | |
| | | h(DictTag, { type: DICT_TYPE.CRM_CUSTOMER_LEVEL, value: val }), |
| | | }, |
| | | { |
| | | field: 'autoPoolEnabled', |
| | | label: '是否流入公海', |
| | | render: (val) => (val === false ? '否' : '是'), |
| | | }, |
| | | { |
| | | field: 'dealStatus', |
| | | label: '成交状态', |
| | | render: (val) => (val ? '已成交' : '未成交'), |
| | |
| | | { |
| | | field: 'createTime', |
| | | label: '创建时间', |
| | | render: (val) => formatDateTime(val) as string, |
| | | render: (val) => formatDate(val) as string, |
| | | }, |
| | | ]; |
| | | } |
| | |
| | | { |
| | | field: 'contactNextTime', |
| | | label: '下次联系时间', |
| | | render: (val) => formatDateTime(val) as string, |
| | | render: (val) => formatDate(val) as string, |
| | | }, |
| | | { |
| | | field: 'remark', |
| | |
| | | <ReceivableDetailsList :customer-id="customerId" /> |
| | | </Tabs.TabPane> |
| | | <Tabs.TabPane tab="操作日志" key="8" :force-render="true"> |
| | | <OperateLog :log-list="logList" /> |
| | | <OperateLog :log-list="logList" date-format="YYYY-MM-DD" /> |
| | | </Tabs.TabPane> |
| | | </Tabs> |
| | | </Card> |
| | |
| | | { |
| | | field: 'createTime', |
| | | title: '创建时间', |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | title: '操作', |
| | |
| | | title: '下次联系时间', |
| | | field: 'contactNextTime', |
| | | minWidth: 180, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | title: '备注', |
| | |
| | | title: '最后跟进时间', |
| | | field: 'contactLastTime', |
| | | minWidth: 180, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | title: '最后跟进记录', |
| | |
| | | minWidth: 200, |
| | | }, |
| | | { |
| | | title: '负责人', |
| | | field: 'ownerUserName', |
| | | minWidth: 100, |
| | | }, |
| | | { |
| | | title: '所属部门', |
| | | field: 'ownerUserDeptName', |
| | | minWidth: 100, |
| | | }, |
| | | { |
| | | title: '更新时间', |
| | | field: 'updateTime', |
| | | minWidth: 180, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | title: '创建时间', |
| | | field: 'createTime', |
| | | minWidth: 180, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | title: '创建人', |
| | |
| | | const records: CrmCustomerApi.Customer[] = row |
| | | ? [row] |
| | | : gridApi.grid.getCheckboxRecords(); |
| | | if ( |
| | | records.some( |
| | | (item) => item.ownerUserId != null || item.autoPoolEnabled === false, |
| | | ) |
| | | ) { |
| | | message.warning('仅可领取或分配无负责人且允许流入公海的客户'); |
| | | return []; |
| | | } |
| | | const ids = records.map((item) => item.id!); |
| | | if (ids.length === 0) { |
| | | message.warning('请先勾选客户'); |
| | |
| | | columns: useGridColumns(), |
| | | height: 'auto', |
| | | keepSource: true, |
| | | checkboxConfig: { |
| | | checkMethod: ({ row }: { row: CrmCustomerApi.Customer }) => |
| | | row.ownerUserId == null && row.autoPoolEnabled !== false, |
| | | }, |
| | | proxyConfig: { |
| | | ajax: { |
| | | query: async ({ page }, formValues) => { |
| | |
| | | type: 'link', |
| | | auth: ['crm:customer:receive'], |
| | | disabled: receiving, |
| | | ifShow: row.ownerUserId == null && row.autoPoolEnabled !== false, |
| | | onClick: () => handleReceive(row), |
| | | }, |
| | | { |
| | |
| | | type: 'link', |
| | | auth: ['crm:customer:distribute'], |
| | | disabled: receiving, |
| | | ifShow: row.ownerUserId == null && row.autoPoolEnabled !== false, |
| | | onClick: () => handleDistribute(row), |
| | | }, |
| | | ]" |
| | |
| | | |
| | | import { DICT_TYPE } from '@vben/constants'; |
| | | import { getDictOptions } from '@vben/hooks'; |
| | | import { formatDateTime } from '@vben/utils'; |
| | | import { formatDate } from '@vben/utils'; |
| | | |
| | | import { getBusinessPageByCustomer } from '#/api/crm/business'; |
| | | import { getContactPageByCustomer } from '#/api/crm/contact'; |
| | |
| | | component: 'DatePicker', |
| | | componentProps: { |
| | | showTime: true, |
| | | format: 'YYYY-MM-DD HH:mm:ss', |
| | | format: 'YYYY-MM-DD', |
| | | valueFormat: 'YYYY-MM-DD HH:mm:ss', |
| | | placeholder: '请选择下次联系时间', |
| | | }, |
| | |
| | | { |
| | | field: 'createTime', |
| | | title: '创建时间', |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { field: 'creatorName', title: '跟进人' }, |
| | | { |
| | |
| | | { |
| | | field: 'nextTime', |
| | | title: '下次联系时间', |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | field: 'contacts', |
| | |
| | | { |
| | | field: 'contactLastTime', |
| | | label: '最后跟进时间', |
| | | render: (val) => formatDateTime(val) as string, |
| | | render: (val) => formatDate(val) as string, |
| | | }, |
| | | { |
| | | field: 'creatorName', |
| | |
| | | { |
| | | field: 'createTime', |
| | | label: '创建时间', |
| | | render: (val) => formatDateTime(val) as string, |
| | | render: (val) => formatDate(val) as string, |
| | | }, |
| | | { |
| | | field: 'updateTime', |
| | | label: '更新时间', |
| | | render: (val) => formatDateTime(val) as string, |
| | | render: (val) => formatDate(val) as string, |
| | | }, |
| | | ]; |
| | | } |
| | |
| | | title: '开票日期', |
| | | field: 'invoiceTime', |
| | | minWidth: 150, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | title: '备注', |
| | |
| | | title: '更新时间', |
| | | field: 'updateTime', |
| | | minWidth: 150, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | title: '创建时间', |
| | | field: 'createTime', |
| | | minWidth: 150, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | title: '创建人', |
| | |
| | | |
| | | import { ContentWrap } from '@vben/common-ui'; |
| | | import { DICT_TYPE } from '@vben/constants'; |
| | | import { erpPriceInputFormatter, formatDateTime } from '@vben/utils'; |
| | | import { erpPriceInputFormatter, formatDate } from '@vben/utils'; |
| | | |
| | | import { Spin } from 'ant-design-vue'; |
| | | |
| | |
| | | { |
| | | label: '开票日期', |
| | | field: 'invoiceTime', |
| | | render: (val) => formatDateTime(val) as string, |
| | | render: (val) => formatDate(val) as string, |
| | | }, |
| | | { |
| | | label: '审批状态', |
| | |
| | | { |
| | | label: '创建时间', |
| | | field: 'createTime', |
| | | render: (val) => formatDateTime(val) as string, |
| | | render: (val) => formatDate(val) as string, |
| | | }, |
| | | { label: '备注', field: 'remark', render: textRender }, |
| | | ] as DescriptionItemSchema[], |
| | |
| | | import { h } from 'vue'; |
| | | |
| | | import { DICT_TYPE } from '@vben/constants'; |
| | | import { erpPriceInputFormatter, formatDateTime } from '@vben/utils'; |
| | | import { erpPriceInputFormatter, formatDate } from '@vben/utils'; |
| | | |
| | | import { DictTag } from '#/components/dict-tag'; |
| | | |
| | |
| | | { |
| | | field: 'invoiceTime', |
| | | label: '开票日期', |
| | | render: (val) => formatDateTime(val) as string, |
| | | render: (val) => formatDate(val) as string, |
| | | }, |
| | | { |
| | | field: 'invoiceType', |
| | |
| | | { |
| | | field: 'invoiceTime', |
| | | label: '开票日期', |
| | | render: (val) => formatDateTime(val) as string, |
| | | render: (val) => formatDate(val) as string, |
| | | }, |
| | | { |
| | | field: 'remark', |
| | |
| | | { |
| | | field: 'createTime', |
| | | label: '创建时间', |
| | | render: (val) => formatDateTime(val) as string, |
| | | render: (val) => formatDate(val) as string, |
| | | }, |
| | | { |
| | | field: 'updateTime', |
| | | label: '更新时间', |
| | | render: (val) => formatDateTime(val) as string, |
| | | render: (val) => formatDate(val) as string, |
| | | }, |
| | | ]; |
| | | } |
| | |
| | | import { OperateLog } from '#/components/operate-log'; |
| | | import { ACTION_ICON, TableAction } from '#/components/table-action'; |
| | | import { $t } from '#/locales'; |
| | | import { automaticApproval } from '#/store/audit-policy'; |
| | | import { PermissionList } from '#/views/crm/permission'; |
| | | |
| | | import InvoiceForm from '../modules/form.vue'; |
| | |
| | | type: 'primary', |
| | | icon: ACTION_ICON.EDIT, |
| | | auth: ['crm:invoice:update'], |
| | | ifShow: permissionListRef?.validateWrite, |
| | | ifShow: permissionListRef?.validateWrite && (automaticApproval || invoice.auditStatus === 0 || invoice.auditStatus === 10), |
| | | onClick: handleEdit, |
| | | }, |
| | | ]" |
| | |
| | | <Info :invoice="invoice" /> |
| | | </Tabs.TabPane> |
| | | <Tabs.TabPane tab="操作日志" key="2" :force-render="true"> |
| | | <OperateLog :log-list="logList" /> |
| | | <OperateLog :log-list="logList" date-format="YYYY-MM-DD" /> |
| | | </Tabs.TabPane> |
| | | <Tabs.TabPane tab="团队成员" key="3" :force-render="true"> |
| | | <PermissionList |
| | |
| | | icon: ACTION_ICON.EDIT, |
| | | auth: ['crm:invoice:update'], |
| | | onClick: handleEdit.bind(null, row), |
| | | ifShow: automaticApproval || row.auditStatus === 0 || row.auditStatus === 10, |
| | | }, |
| | | { |
| | | label: '提交审核', |
| | |
| | | { |
| | | field: 'createTime', |
| | | title: '加入时间', |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | ]; |
| | | } |
| | |
| | | { |
| | | field: 'createTime', |
| | | title: '创建时间', |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | field: 'actions', |
| | |
| | | { |
| | | field: 'updateTime', |
| | | title: '更新时间', |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | minWidth: 180, |
| | | }, |
| | | { |
| | |
| | | { |
| | | field: 'createTime', |
| | | title: '创建时间', |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | minWidth: 180, |
| | | }, |
| | | { |
| | |
| | | <Info :product="product" /> |
| | | </Tabs.TabPane> |
| | | <Tabs.TabPane tab="操作日志" key="2" :force-render="true"> |
| | | <OperateLog :log-list="logList" /> |
| | | <OperateLog :log-list="logList" date-format="YYYY-MM-DD" /> |
| | | </Tabs.TabPane> |
| | | </Tabs> |
| | | </Card> |
| | |
| | | title: '回款日期', |
| | | field: 'returnTime', |
| | | minWidth: 150, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | title: '回款金额(元)', |
| | |
| | | title: '回款日期', |
| | | field: 'returnTime', |
| | | minWidth: 150, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | title: '回款金额(元)', |
| | |
| | | title: '更新时间', |
| | | field: 'updateTime', |
| | | minWidth: 150, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | title: '创建时间', |
| | | field: 'createTime', |
| | | minWidth: 150, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | title: '创建人', |
| | |
| | | |
| | | import { ContentWrap } from '@vben/common-ui'; |
| | | import { DICT_TYPE } from '@vben/constants'; |
| | | import { erpPriceInputFormatter, formatDateTime } from '@vben/utils'; |
| | | import { erpPriceInputFormatter, formatDate } from '@vben/utils'; |
| | | |
| | | import { Spin } from 'ant-design-vue'; |
| | | |
| | |
| | | { |
| | | label: '回款日期', |
| | | field: 'returnTime', |
| | | render: (val) => formatDateTime(val) as string, |
| | | render: (val) => formatDate(val) as string, |
| | | }, |
| | | { |
| | | label: '回款金额(元)', |
| | |
| | | { |
| | | label: '创建时间', |
| | | field: 'createTime', |
| | | render: (val) => formatDateTime(val) as string, |
| | | render: (val) => formatDate(val) as string, |
| | | }, |
| | | { label: '备注', field: 'remark', render: textRender }, |
| | | ] as DescriptionItemSchema[], |
| | |
| | | import { h } from 'vue'; |
| | | |
| | | import { DICT_TYPE } from '@vben/constants'; |
| | | import { erpPriceInputFormatter, formatDateTime } from '@vben/utils'; |
| | | import { erpPriceInputFormatter, formatDate } from '@vben/utils'; |
| | | |
| | | import { DictTag } from '#/components/dict-tag'; |
| | | |
| | |
| | | { |
| | | field: 'returnTime', |
| | | label: '回款日期', |
| | | render: (val) => formatDateTime(val) as string, |
| | | render: (val) => formatDate(val) as string, |
| | | }, |
| | | { |
| | | field: 'price', |
| | |
| | | { |
| | | field: 'returnTime', |
| | | label: '回款日期', |
| | | render: (val) => formatDateTime(val) as string, |
| | | render: (val) => formatDate(val) as string, |
| | | }, |
| | | { |
| | | field: 'price', |
| | |
| | | { |
| | | field: 'createTime', |
| | | label: '创建时间', |
| | | render: (val) => formatDateTime(val) as string, |
| | | render: (val) => formatDate(val) as string, |
| | | }, |
| | | { |
| | | field: 'updateTime', |
| | | label: '更新时间', |
| | | render: (val) => formatDateTime(val) as string, |
| | | render: (val) => formatDate(val) as string, |
| | | }, |
| | | ]; |
| | | } |
| | |
| | | <Info :receivable="receivable" /> |
| | | </Tabs.TabPane> |
| | | <Tabs.TabPane tab="操作日志" key="2" :force-render="true"> |
| | | <OperateLog :log-list="logList" /> |
| | | <OperateLog :log-list="logList" date-format="YYYY-MM-DD" /> |
| | | </Tabs.TabPane> |
| | | <Tabs.TabPane tab="团队成员" key="3" :force-render="true"> |
| | | <PermissionList |
| | |
| | | title: '计划回款日期', |
| | | field: 'returnTime', |
| | | minWidth: 150, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | title: '提前几天提醒', |
| | |
| | | title: '提醒日期', |
| | | field: 'remindTime', |
| | | minWidth: 150, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | title: '负责人', |
| | |
| | | title: '计划回款日期', |
| | | field: 'returnTime', |
| | | minWidth: 180, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | title: '提前几天提醒', |
| | |
| | | title: '提醒日期', |
| | | field: 'remindTime', |
| | | minWidth: 180, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | title: '回款方式', |
| | |
| | | title: '实际回款日期', |
| | | field: 'receivable.returnTime', |
| | | minWidth: 180, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | title: '未回款金额(元)', |
| | |
| | | title: '更新时间', |
| | | field: 'updateTime', |
| | | minWidth: 180, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | title: '创建时间', |
| | | field: 'createTime', |
| | | minWidth: 180, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | title: '创建人', |
| | |
| | | import { h } from 'vue'; |
| | | |
| | | import { DICT_TYPE } from '@vben/constants'; |
| | | import { erpPriceInputFormatter, formatDateTime } from '@vben/utils'; |
| | | import { erpPriceInputFormatter, formatDate } from '@vben/utils'; |
| | | |
| | | import { DictTag } from '#/components/dict-tag'; |
| | | |
| | |
| | | { |
| | | field: 'returnTime', |
| | | label: '计划回款日期', |
| | | render: (val) => formatDateTime(val) as string, |
| | | render: (val) => formatDate(val) as string, |
| | | }, |
| | | { |
| | | field: 'receivable', |
| | |
| | | { |
| | | field: 'returnTime', |
| | | label: '计划回款日期', |
| | | render: (val) => formatDateTime(val) as string, |
| | | render: (val) => formatDate(val) as string, |
| | | }, |
| | | { |
| | | field: 'price', |
| | |
| | | { |
| | | field: 'receivable.returnTime', |
| | | label: '实际回款日期', |
| | | render: (val) => formatDateTime(val) as string, |
| | | render: (val) => formatDate(val) as string, |
| | | }, |
| | | { |
| | | field: 'remark', |
| | |
| | | { |
| | | field: 'createTime', |
| | | label: '创建时间', |
| | | render: (val) => formatDateTime(val) as string, |
| | | render: (val) => formatDate(val) as string, |
| | | }, |
| | | { |
| | | field: 'updateTime', |
| | | label: '更新时间', |
| | | render: (val) => formatDateTime(val) as string, |
| | | render: (val) => formatDate(val) as string, |
| | | }, |
| | | ]; |
| | | } |
| | |
| | | <ReceivablePlanDetailsInfo :receivable-plan="receivablePlan" /> |
| | | </Tabs.TabPane> |
| | | <Tabs.TabPane tab="操作日志" key="2" :force-render="true"> |
| | | <OperateLog :log-list="logList" /> |
| | | <OperateLog :log-list="logList" date-format="YYYY-MM-DD" /> |
| | | </Tabs.TabPane> |
| | | <Tabs.TabPane tab="团队成员" key="3" :force-render="true"> |
| | | <PermissionList |
| | |
| | | import { ref } from 'vue'; |
| | | |
| | | import { IconifyIcon } from '@vben/icons'; |
| | | import { formatDate } from '@vben/utils'; |
| | | |
| | | import { Modal, Button, Upload, Descriptions, Table, Tag, message, Alert } from 'ant-design-vue'; |
| | | |
| | |
| | | <Tag color="orange">{{ ocrResult.customerName }}</Tag> |
| | | </Descriptions.Item> |
| | | <Descriptions.Item v-if="ocrResult.quotationTime" label="报价日期"> |
| | | {{ ocrResult.quotationTime }} |
| | | {{ formatDate(ocrResult.quotationTime) }} |
| | | </Descriptions.Item> |
| | | <Descriptions.Item v-if="ocrResult.validUntil" label="有效期至"> |
| | | {{ ocrResult.validUntil }} |
| | |
| | | field: 'createTime', |
| | | title: '创建时间', |
| | | minWidth: 160, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | field: 'creatorName', |
| | |
| | | component: 'RangePicker', |
| | | componentProps: { |
| | | ...getRangePickerDefaultProps(), |
| | | format: 'YYYY-MM-DD', |
| | | }, |
| | | defaultValue: [ |
| | | formatDateTime(beginOfDay(new Date(Date.now() - 3600 * 1000 * 24 * 7))), |
| | |
| | | field: 'createTime', |
| | | title: '创建时间', |
| | | minWidth: 200, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | field: 'orderDate', |
| | | title: '下单日期', |
| | | minWidth: 200, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | ]; |
| | | } |
| | |
| | | component: 'RangePicker', |
| | | componentProps: { |
| | | ...getRangePickerDefaultProps(), |
| | | format: 'YYYY-MM-DD', |
| | | }, |
| | | defaultValue: [ |
| | | formatDateTime(beginOfDay(new Date(Date.now() - 3600 * 1000 * 24 * 7))), |
| | |
| | | field: 'dealTime', |
| | | title: '预计成交日期', |
| | | minWidth: 200, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | field: 'ownerUserName', |
| | |
| | | field: 'contactLastTime', |
| | | title: '最后跟进时间', |
| | | minWidth: 200, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | field: 'updateTime', |
| | | title: '更新时间', |
| | | minWidth: 200, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | field: 'createTime', |
| | | title: '创建时间', |
| | | minWidth: 200, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | field: 'creatorName', |
| | |
| | | field: 'dealTime', |
| | | title: '预计成交日期', |
| | | minWidth: 200, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | field: 'ownerUserName', |
| | |
| | | field: 'contactLastTime', |
| | | title: '最后跟进时间', |
| | | minWidth: 200, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | field: 'updateTime', |
| | | title: '更新时间', |
| | | minWidth: 200, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | field: 'createTime', |
| | | title: '创建时间', |
| | | minWidth: 200, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | field: 'creatorName', |
| | |
| | | component: 'RangePicker', |
| | | componentProps: { |
| | | ...getRangePickerDefaultProps(), |
| | | format: 'YYYY-MM-DD', |
| | | }, |
| | | defaultValue: [ |
| | | formatDateTime(beginOfDay(new Date(Date.now() - 3600 * 1000 * 24 * 7))), |
| | |
| | | component: 'RangePicker', |
| | | componentProps: { |
| | | ...getRangePickerDefaultProps(), |
| | | format: 'YYYY-MM-DD', |
| | | }, |
| | | defaultValue: [ |
| | | formatDateTime(beginOfDay(new Date(Date.now() - 3600 * 1000 * 24 * 7))), |
| | |
| | | field: 'createTime', |
| | | title: '创建时间', |
| | | minWidth: 180, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | title: '操作', |
| | |
| | | componentProps: { |
| | | disabled: formType === 'detail', |
| | | placeholder: '选择付款时间', |
| | | showTime: true, |
| | | format: 'YYYY-MM-DD HH:mm:ss', |
| | | showTime: false, |
| | | format: 'YYYY-MM-DD', |
| | | valueFormat: 'YYYY-MM-DD HH:mm:ss', |
| | | }, |
| | | rules: 'required', |
| | |
| | | |
| | | import { ContentWrap } from '@vben/common-ui'; |
| | | import { DICT_TYPE } from '@vben/constants'; |
| | | import { erpPriceInputFormatter, formatDateTime } from '@vben/utils'; |
| | | import { erpPriceInputFormatter, formatDate } from '@vben/utils'; |
| | | |
| | | import { Spin } from 'ant-design-vue'; |
| | | |
| | |
| | | { |
| | | label: '付款时间', |
| | | field: 'paymentTime', |
| | | render: (val) => formatDateTime(val) as string, |
| | | render: (val) => formatDate(val) as string, |
| | | }, |
| | | { |
| | | label: '合计金额(元)', |
| | |
| | | { |
| | | label: '创建时间', |
| | | field: 'createTime', |
| | | render: (val) => formatDateTime(val) as string, |
| | | render: (val) => formatDate(val) as string, |
| | | }, |
| | | { label: '备注', field: 'remark', render: textRender }, |
| | | ] as DescriptionItemSchema[], |
| | |
| | | componentProps: { |
| | | disabled: formType === 'detail', |
| | | placeholder: '选择收款时间', |
| | | showTime: true, |
| | | format: 'YYYY-MM-DD HH:mm:ss', |
| | | showTime: false, |
| | | format: 'YYYY-MM-DD', |
| | | valueFormat: 'YYYY-MM-DD HH:mm:ss', |
| | | }, |
| | | rules: 'required', |
| | |
| | | { |
| | | field: 'createTime', |
| | | title: '创建时间', |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | title: '操作', |
| | |
| | | field: 'createTime', |
| | | title: '创建时间', |
| | | minWidth: 180, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | title: '操作', |
| | |
| | | field: 'createTime', |
| | | title: '创建时间', |
| | | minWidth: 180, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | title: '操作', |
| | |
| | | componentProps: { |
| | | disabled: formType === 'detail', |
| | | placeholder: '选择入库时间', |
| | | showTime: true, |
| | | format: 'YYYY-MM-DD HH:mm:ss', |
| | | showTime: false, |
| | | format: 'YYYY-MM-DD', |
| | | valueFormat: 'YYYY-MM-DD HH:mm:ss', |
| | | }, |
| | | rules: 'required', |
| | |
| | | title: '来票日期', |
| | | field: 'invoiceTime', |
| | | minWidth: 150, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | title: '备注', |
| | |
| | | import { onMounted, ref } from 'vue'; |
| | | |
| | | import { ContentWrap } from '@vben/common-ui'; |
| | | import { erpPriceInputFormatter, formatDateTime } from '@vben/utils'; |
| | | import { erpPriceInputFormatter, formatDate } from '@vben/utils'; |
| | | |
| | | import { Spin } from 'ant-design-vue'; |
| | | |
| | |
| | | { |
| | | label: '开票日期', |
| | | field: 'invoiceTime', |
| | | render: (val) => formatDateTime(val) as string, |
| | | render: (val) => formatDate(val) as string, |
| | | }, |
| | | { label: '创建人', field: 'creatorName', render: textRender }, |
| | | { |
| | | label: '创建时间', |
| | | field: 'createTime', |
| | | render: (val) => formatDateTime(val) as string, |
| | | render: (val) => formatDate(val) as string, |
| | | }, |
| | | { label: '备注', field: 'remark', render: textRender }, |
| | | ] as DescriptionItemSchema[], |
| | |
| | | component: 'DatePicker', |
| | | componentProps: { |
| | | placeholder: '选择订单时间', |
| | | showTime: true, |
| | | format: 'YYYY-MM-DD HH:mm:ss', |
| | | showTime: false, |
| | | format: 'YYYY-MM-DD', |
| | | valueFormat: 'YYYY-MM-DD HH:mm:ss', |
| | | }, |
| | | rules: 'required', |
| | |
| | | |
| | | import { ContentWrap } from '@vben/common-ui'; |
| | | import { DICT_TYPE } from '@vben/constants'; |
| | | import { |
| | | erpCountInputFormatter, |
| | | erpPriceInputFormatter, |
| | | formatDateTime, |
| | | } from '@vben/utils'; |
| | | import { erpCountInputFormatter, erpPriceInputFormatter, formatDate } from '@vben/utils'; |
| | | |
| | | import { Spin, Tag } from 'ant-design-vue'; |
| | | |
| | |
| | | { |
| | | label: '订单时间', |
| | | field: 'orderTime', |
| | | render: (val) => formatDateTime(val) as string, |
| | | render: (val) => formatDate(val) as string, |
| | | }, |
| | | { |
| | | label: '合计数量', |
| | |
| | | { |
| | | label: '创建时间', |
| | | field: 'createTime', |
| | | render: (val) => formatDateTime(val) as string, |
| | | render: (val) => formatDate(val) as string, |
| | | }, |
| | | { label: '备注', field: 'remark', render: textRender }, |
| | | ] as DescriptionItemSchema[], |
| | |
| | | component: 'DatePicker', |
| | | componentProps: { |
| | | placeholder: '选择申请时间', |
| | | showTime: true, |
| | | format: 'YYYY-MM-DD HH:mm:ss', |
| | | showTime: false, |
| | | format: 'YYYY-MM-DD', |
| | | valueFormat: 'YYYY-MM-DD HH:mm:ss', |
| | | disabled: formType === 'detail', |
| | | }, |
| | |
| | | |
| | | import { ContentWrap } from '@vben/common-ui'; |
| | | import { DICT_TYPE } from '@vben/constants'; |
| | | import { |
| | | erpCountInputFormatter, |
| | | erpPriceInputFormatter, |
| | | formatDateTime, |
| | | } from '@vben/utils'; |
| | | import { erpCountInputFormatter, erpPriceInputFormatter, formatDate } from '@vben/utils'; |
| | | |
| | | import { Spin } from 'ant-design-vue'; |
| | | |
| | |
| | | { |
| | | label: '申请时间', |
| | | field: 'requestTime', |
| | | render: (val) => formatDateTime(val) as string, |
| | | render: (val) => formatDate(val) as string, |
| | | }, |
| | | { label: '供应商名称', field: 'supplierName', render: textRender }, |
| | | { |
| | |
| | | { |
| | | label: '创建时间', |
| | | field: 'createTime', |
| | | render: (val) => formatDateTime(val) as string, |
| | | render: (val) => formatDate(val) as string, |
| | | }, |
| | | { label: '备注', field: 'remark', render: textRender }, |
| | | ] as DescriptionItemSchema[], |
| | |
| | | componentProps: { |
| | | disabled: formType === 'detail', |
| | | placeholder: '选择退货时间', |
| | | showTime: true, |
| | | format: 'YYYY-MM-DD HH:mm:ss', |
| | | showTime: false, |
| | | format: 'YYYY-MM-DD', |
| | | valueFormat: 'YYYY-MM-DD HH:mm:ss', |
| | | }, |
| | | rules: 'required', |
| | |
| | | field: 'createTime', |
| | | title: '创建时间', |
| | | minWidth: 180, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | title: '操作', |
| | |
| | | componentProps: { |
| | | disabled: formType === 'detail', |
| | | placeholder: '选择出库时间', |
| | | showTime: true, |
| | | format: 'YYYY-MM-DD HH:mm:ss', |
| | | showTime: false, |
| | | format: 'YYYY-MM-DD', |
| | | valueFormat: 'YYYY-MM-DD HH:mm:ss', |
| | | }, |
| | | rules: 'required', |
| | |
| | | componentProps: { |
| | | disabled: formType === 'detail', |
| | | placeholder: '选择退货时间', |
| | | showTime: true, |
| | | format: 'YYYY-MM-DD HH:mm:ss', |
| | | showTime: false, |
| | | format: 'YYYY-MM-DD', |
| | | valueFormat: 'YYYY-MM-DD HH:mm:ss', |
| | | }, |
| | | rules: 'required', |
| | |
| | | component: 'DatePicker', |
| | | componentProps: { |
| | | placeholder: '选择盘点时间', |
| | | showTime: true, |
| | | format: 'YYYY-MM-DD HH:mm:ss', |
| | | showTime: false, |
| | | format: 'YYYY-MM-DD', |
| | | valueFormat: 'YYYY-MM-DD HH:mm:ss', |
| | | }, |
| | | rules: 'required', |
| | |
| | | component: 'DatePicker', |
| | | componentProps: { |
| | | placeholder: '选择入库时间', |
| | | showTime: true, |
| | | format: 'YYYY-MM-DD HH:mm:ss', |
| | | showTime: false, |
| | | format: 'YYYY-MM-DD', |
| | | valueFormat: 'YYYY-MM-DD HH:mm:ss', |
| | | }, |
| | | rules: 'required', |
| | |
| | | component: 'DatePicker', |
| | | componentProps: { |
| | | placeholder: '选择调度时间', |
| | | showTime: true, |
| | | format: 'YYYY-MM-DD HH:mm:ss', |
| | | showTime: false, |
| | | format: 'YYYY-MM-DD', |
| | | valueFormat: 'YYYY-MM-DD HH:mm:ss', |
| | | }, |
| | | rules: 'required', |
| | |
| | | component: 'DatePicker', |
| | | componentProps: { |
| | | placeholder: '选择出库时间', |
| | | showTime: true, |
| | | format: 'YYYY-MM-DD HH:mm:ss', |
| | | showTime: false, |
| | | format: 'YYYY-MM-DD', |
| | | valueFormat: 'YYYY-MM-DD HH:mm:ss', |
| | | }, |
| | | rules: 'required', |
| | |
| | | field: 'createTime', |
| | | title: '出入库日期', |
| | | width: 180, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | field: 'count', |
| | |
| | | field: 'createTime', |
| | | title: '创建时间', |
| | | minWidth: 180, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | title: '操作', |
| | |
| | | field: 'createTime', |
| | | title: '创建时间', |
| | | width: 180, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | title: '操作', |
| | |
| | | field: 'createTime', |
| | | title: '创建时间', |
| | | width: 180, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | title: '操作', |
| | |
| | | |
| | | import { ContentWrap } from '@vben/common-ui'; |
| | | import { DICT_TYPE } from '@vben/constants'; |
| | | import { formatDateTime } from '@vben/utils'; |
| | | import { formatDateTime, formatDate } from '@vben/utils'; |
| | | |
| | | import { Spin } from 'ant-design-vue'; |
| | | |
| | |
| | | { |
| | | label: '创建时间', |
| | | field: 'createTime', |
| | | render: (val) => formatDateTime(val) as string, |
| | | render: (val) => formatDate(val) as string, |
| | | }, |
| | | ] as DescriptionItemSchema[], |
| | | }); |
| | |
| | | field: 'createTime', |
| | | title: '创建时间', |
| | | width: 180, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | title: '操作', |
| | |
| | | field: 'createTime', |
| | | title: '创建时间', |
| | | width: 180, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | title: '操作', |
| | |
| | | field: 'createTime', |
| | | title: '创建时间', |
| | | width: 180, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | title: '操作', |
| | |
| | | field: 'createTime', |
| | | title: '创建时间', |
| | | width: 180, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | title: '操作', |
| | |
| | | |
| | | import { ContentWrap } from '@vben/common-ui'; |
| | | import { DICT_TYPE } from '@vben/constants'; |
| | | import { formatDateTime } from '@vben/utils'; |
| | | import { formatDateTime, formatDate } from '@vben/utils'; |
| | | |
| | | import { Spin } from 'ant-design-vue'; |
| | | |
| | |
| | | { |
| | | label: '创建时间', |
| | | field: 'createTime', |
| | | render: (val) => formatDateTime(val) as string, |
| | | render: (val) => formatDate(val) as string, |
| | | }, |
| | | ] as DescriptionItemSchema[], |
| | | }); |
| | |
| | | field: 'createTime', |
| | | title: '创建时间', |
| | | width: 180, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | title: '操作', |
| | |
| | | |
| | | import { ContentWrap } from '@vben/common-ui'; |
| | | import { DICT_TYPE } from '@vben/constants'; |
| | | import { formatDateTime } from '@vben/utils'; |
| | | import { formatDate } from '@vben/utils'; |
| | | |
| | | import { Spin, Tag } from 'ant-design-vue'; |
| | | |
| | |
| | | field: 'status', |
| | | render: (value) => h(DictTag, { type: DICT_TYPE.HRM_AUDIT_STATUS, value }), |
| | | }, |
| | | { label: '创建时间', field: 'createTime', render: (value) => formatDateTime(value) as string }, |
| | | { label: '创建时间', field: 'createTime', render: (value) => formatDate(value) as string }, |
| | | ] as DescriptionItemSchema[], |
| | | }); |
| | | |
| | |
| | | field: 'createTime', |
| | | title: '创建时间', |
| | | width: 180, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | title: '操作', |
| | |
| | | |
| | | import { ContentWrap } from '@vben/common-ui'; |
| | | import { DICT_TYPE } from '@vben/constants'; |
| | | import { formatDateTime } from '@vben/utils'; |
| | | import { formatDate } from '@vben/utils'; |
| | | |
| | | import { Spin } from 'ant-design-vue'; |
| | | |
| | |
| | | { |
| | | label: '预计离职日期', |
| | | field: 'expectedDate', |
| | | render: (val) => formatDateTime(val) as string, |
| | | render: (val) => formatDate(val) as string, |
| | | }, |
| | | { label: '离职原因', field: 'reason', render: textRender }, |
| | | { label: '交接人', field: 'handoverUserName', render: textRender }, |
| | |
| | | { |
| | | label: '创建时间', |
| | | field: 'createTime', |
| | | render: (val) => formatDateTime(val) as string, |
| | | render: (val) => formatDate(val) as string, |
| | | }, |
| | | ] as DescriptionItemSchema[], |
| | | }); |
| | |
| | | field: 'createTime', |
| | | title: '创建时间', |
| | | width: 180, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | title: '操作', |
| | |
| | | field: 'createTime', |
| | | title: '创建时间', |
| | | width: 180, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | title: '操作', |
| | |
| | | field: 'createTime', |
| | | title: '创建时间', |
| | | width: 180, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | title: '操作', |
| | |
| | | field: 'createTime', |
| | | title: '创建时间', |
| | | width: 180, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | title: '操作', |
| | |
| | | field: 'createTime', |
| | | title: '创建时间', |
| | | width: 180, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | field: 'actions', |
| | |
| | | field: 'createTime', |
| | | title: '创建时间', |
| | | width: 180, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | title: '操作', |
| | |
| | | |
| | | import { ContentWrap } from '@vben/common-ui'; |
| | | import { DICT_TYPE } from '@vben/constants'; |
| | | import { formatDateTime } from '@vben/utils'; |
| | | import { formatDate } from '@vben/utils'; |
| | | |
| | | import { Spin } from 'ant-design-vue'; |
| | | |
| | |
| | | { |
| | | label: '生效日期', |
| | | field: 'effectiveDate', |
| | | render: (val) => formatDateTime(val) as string, |
| | | render: (val) => formatDate(val) as string, |
| | | }, |
| | | { label: '调岗原因', field: 'reason', render: textRender }, |
| | | { |
| | |
| | | { |
| | | label: '创建时间', |
| | | field: 'createTime', |
| | | render: (val) => formatDateTime(val) as string, |
| | | render: (val) => formatDate(val) as string, |
| | | }, |
| | | ] as DescriptionItemSchema[], |
| | | }); |
| | |
| | | field: 'createTime', |
| | | title: '创建时间', |
| | | width: 180, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | title: '操作', |
| | |
| | | field: 'createTime', |
| | | title: '创建时间', |
| | | width: 180, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | title: '操作', |
| | |
| | | field: 'createTime', |
| | | title: '创建时间', |
| | | width: 180, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | title: '操作', |
| | |
| | | label: '点检时间', |
| | | component: 'DatePicker', |
| | | componentProps: { |
| | | format: 'YYYY-MM-DD HH:mm:ss', |
| | | format: 'YYYY-MM-DD', |
| | | placeholder: '请选择点检时间', |
| | | showTime: true, |
| | | showTime: false, |
| | | valueFormat: 'YYYY-MM-DD HH:mm:ss', |
| | | }, |
| | | rules: 'required', |
| | |
| | | field: 'checkTime', |
| | | title: '点检时间', |
| | | width: 180, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { field: 'nickname', title: '点检人', minWidth: 120 }, |
| | | { |
| | |
| | | field: 'createTime', |
| | | title: '创建时间', |
| | | width: 180, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | title: '操作', |
| | |
| | | componentProps: { |
| | | class: '!w-full', |
| | | disabled: true, |
| | | format: 'YYYY-MM-DD HH:mm:ss', |
| | | showTime: true, |
| | | format: 'YYYY-MM-DD', |
| | | showTime: false, |
| | | valueFormat: 'YYYY-MM-DD HH:mm:ss', |
| | | }, |
| | | dependencies: { |
| | |
| | | componentProps: { |
| | | class: '!w-full', |
| | | disabled: true, |
| | | format: 'YYYY-MM-DD HH:mm:ss', |
| | | showTime: true, |
| | | format: 'YYYY-MM-DD', |
| | | showTime: false, |
| | | valueFormat: 'YYYY-MM-DD HH:mm:ss', |
| | | }, |
| | | dependencies: { |
| | |
| | | field: 'lastCheckTime', |
| | | title: '最近点检时间', |
| | | width: 180, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | field: 'lastMaintenTime', |
| | | title: '最近保养时间', |
| | | width: 180, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | field: 'createTime', |
| | | title: '创建时间', |
| | | width: 180, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | title: '操作', |
| | |
| | | field: 'createTime', |
| | | title: '创建时间', |
| | | width: 160, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | ]; |
| | | } |
| | |
| | | field: 'checkTime', |
| | | title: '点检时间', |
| | | width: 180, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { field: 'nickname', title: '操作人', minWidth: 120 }, |
| | | { |
| | |
| | | field: 'maintenTime', |
| | | title: '保养时间', |
| | | width: 180, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { field: 'nickname', title: '操作人', minWidth: 120 }, |
| | | { |
| | |
| | | field: 'requireDate', |
| | | title: '报修日期', |
| | | width: 180, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { field: 'nickname', title: '操作人', minWidth: 120 }, |
| | | { |
| | |
| | | field: 'createTime', |
| | | title: '创建时间', |
| | | width: 180, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | title: '操作', |
| | |
| | | label: '保养时间', |
| | | component: 'DatePicker', |
| | | componentProps: { |
| | | format: 'YYYY-MM-DD HH:mm:ss', |
| | | format: 'YYYY-MM-DD', |
| | | placeholder: '请选择保养时间', |
| | | showTime: true, |
| | | showTime: false, |
| | | valueFormat: 'YYYY-MM-DD HH:mm:ss', |
| | | }, |
| | | rules: 'required', |
| | |
| | | field: 'maintenTime', |
| | | title: '保养时间', |
| | | width: 180, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { field: 'nickname', title: '保养人', minWidth: 120 }, |
| | | { |
| | |
| | | field: 'createTime', |
| | | title: '创建时间', |
| | | width: 180, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | title: '操作', |
| | |
| | | field: 'createTime', |
| | | title: '创建时间', |
| | | width: 180, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | title: '操作', |
| | |
| | | field: 'createTime', |
| | | title: '创建时间', |
| | | width: 180, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | title: '操作', |
| | |
| | | field: 'requireDate', |
| | | title: '报修日期', |
| | | width: 180, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | field: 'finishDate', |
| | | title: '完成日期', |
| | | width: 180, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | field: 'result', |
| | |
| | | field: 'createTime', |
| | | title: '创建时间', |
| | | width: 180, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | title: '操作', |
| | |
| | | field: 'createTime', |
| | | title: '创建时间', |
| | | width: 180, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | title: '操作', |
| | |
| | | field: 'createTime', |
| | | title: '创建时间', |
| | | width: 180, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | title: '操作', |
| | |
| | | field: 'createTime', |
| | | title: '创建时间', |
| | | width: 180, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | title: '操作', |
| | |
| | | field: 'createTime', |
| | | title: '创建时间', |
| | | width: 180, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | ]; |
| | | } |
| | |
| | | field: 'createTime', |
| | | title: '创建时间', |
| | | width: 180, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | title: '操作', |
| | |
| | | field: 'createTime', |
| | | title: '创建时间', |
| | | width: 180, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | title: '操作', |
| | |
| | | field: 'archiveTime', |
| | | title: '归档时间', |
| | | minWidth: 160, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { field: 'updaterNickname', title: '更新人', minWidth: 100 }, |
| | | { |
| | | field: 'updateTime', |
| | | title: '更新时间', |
| | | minWidth: 160, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | |
| | | |
| | |
| | | field: "createTime", |
| | | title: "创建时间", |
| | | minWidth: 160, |
| | | formatter: "formatDateTime", |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | field: "action", |
| | |
| | | field: "uploadTime", |
| | | title: "上传时间", |
| | | minWidth: 160, |
| | | formatter: "formatDateTime", |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | field: "action", |
| | |
| | | import { h } from 'vue'; |
| | | |
| | | import { DICT_TYPE } from '#/packages/constants/src'; |
| | | import { formatDate, formatDateTime } from '#/packages/utils/src'; |
| | | import { formatDate } from '#/packages/utils/src'; |
| | | |
| | | import { DictTag } from '#/components/dict-tag'; |
| | | |
| | |
| | | { |
| | | field: 'createTime', |
| | | label: '创建时间', |
| | | render: (val) => (val ? formatDateTime(val) : '-'), |
| | | render: (val) => (val ? formatDate(val) : '-'), |
| | | }, |
| | | { field: 'remark', label: '备注' }, |
| | | ]; |
| | |
| | | field: 'createTime', |
| | | title: '创建时间', |
| | | minWidth: 160, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | field: 'action', |
| | |
| | | field: 'createTime', |
| | | title: '申请时间', |
| | | minWidth: 160, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | ]; |
| | | |
| | |
| | | field: 'createTime', |
| | | title: '发起时间', |
| | | width: 180, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { field: 'reason', title: '呼叫原因', minWidth: 160 }, |
| | | { |
| | |
| | | MesProWorkOrderStatusEnum, |
| | | } from '@vben/constants'; |
| | | import { getDictOptions } from '@vben/hooks'; |
| | | import { formatDate } from '@vben/utils'; |
| | | |
| | | import { Button } from 'ant-design-vue'; |
| | | |
| | |
| | | import { getRouteProcessByRouteAndProcess } from '#/api/mes/pro/route/process'; |
| | | import { getSimpleUserList } from '#/api/system/user'; |
| | | import { loadParamDetails } from './param-state'; |
| | | |
| | | import { getRangePickerDefaultProps } from '#/utils'; |
| | | import { MdItemSelect } from '#/views/mes/md/item/components'; |
| | | import { MdWorkstationSelect } from '#/views/mes/md/workstation/components'; |
| | |
| | | field: 'feedbackTime', |
| | | title: '报工时间', |
| | | width: 180, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { field: 'approveUserNickname', title: '审核人', width: 100 }, |
| | | { |
| | |
| | | { field: 'materialScrapQuantity', label: '料废数量' }, |
| | | { field: 'otherScrapQuantity', label: '其他废品' }, |
| | | { field: 'feedbackUserNickname', label: '报工人' }, |
| | | { field: 'feedbackTime', label: '报工时间' }, |
| | | { |
| | | field: 'feedbackTime', |
| | | label: '报工时间', |
| | | render: (val) => formatDate(val) as string, |
| | | }, |
| | | { field: 'approveUserNickname', label: '审核人' }, |
| | | { field: 'remark', label: '备注' }, |
| | | ]; |
| | |
| | | fieldName: 'expireDate', |
| | | label: '有效期', |
| | | component: 'DatePicker', |
| | | componentProps: { class: 'w-full', format: 'YYYY-MM-DD', valueFormat: 'YYYY-MM-DD HH:mm:ss', showTime: true, placeholder: '请选择有效期' }, |
| | | componentProps: { class: 'w-full', format: 'YYYY-MM-DD', valueFormat: 'YYYY-MM-DD HH:mm:ss', showTime: false, placeholder: '请选择有效期' }, |
| | | rules: 'required', |
| | | }); |
| | | } |
| | |
| | | fieldName: 'receiptDate', |
| | | label: '入库日期', |
| | | component: 'DatePicker', |
| | | componentProps: { class: 'w-full', format: 'YYYY-MM-DD', valueFormat: 'YYYY-MM-DD HH:mm:ss', showTime: true, placeholder: '请选择入库日期' }, |
| | | componentProps: { class: 'w-full', format: 'YYYY-MM-DD', valueFormat: 'YYYY-MM-DD HH:mm:ss', showTime: false, placeholder: '请选择入库日期' }, |
| | | rules: 'required', |
| | | }); |
| | | } |
| | |
| | | field: 'createTime', |
| | | title: '创建时间', |
| | | width: 180, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | title: '操作', |
| | |
| | | field: 'createTime', |
| | | title: '创建时间', |
| | | width: 180, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | title: '操作', |
| | |
| | | field: 'createTime', |
| | | title: '创建时间', |
| | | width: 180, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | title: '操作', |
| | |
| | | field: 'createTime', |
| | | title: '创建时间', |
| | | width: 180, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | title: '操作', |
| | |
| | | field: 'createTime', |
| | | title: '创建时间', |
| | | width: 180, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | ]; |
| | | } |
| | |
| | | field: "createTime", |
| | | title: "创建时间", |
| | | width: 180, |
| | | formatter: "formatDateTime", |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | title: "操作", |
| | |
| | | field: 'createTime', |
| | | title: '创建时间', |
| | | width: 180, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | title: '操作', |
| | |
| | | field: "createTime", |
| | | title: "创建时间", |
| | | width: 180, |
| | | formatter: "formatDateTime", |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | title: "操作", |
| | |
| | | field: "createTime", |
| | | title: "创建时间", |
| | | width: 180, |
| | | formatter: "formatDateTime", |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | title: "操作", |
| | |
| | | field: 'receiptDate', |
| | | title: '入库日期', |
| | | minWidth: 160, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | field: 'purchaseOrderCode', |
| | |
| | | field: 'salesDate', |
| | | title: '出库日期', |
| | | minWidth: 160, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | field: 'salesOrderCode', |
| | |
| | | field: 'createTime', |
| | | title: '创建时间', |
| | | width: 180, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | title: '操作', |
| | |
| | | field: 'createTime', |
| | | title: '创建时间', |
| | | width: 180, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | title: '操作', |
| | |
| | | field: 'inspectDate', |
| | | title: '检测日期', |
| | | width: 170, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | field: 'status', |
| | |
| | | allowClear: true, |
| | | class: '!w-full', |
| | | placeholder: '请选择创建时间', |
| | | showTime: true, |
| | | showTime: false, |
| | | type: 'date', |
| | | }, |
| | | }, |
| | |
| | | field: 'createTime', |
| | | title: '创建时间', |
| | | width: 180, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | title: '操作', |
| | |
| | | field: 'createTime', |
| | | title: '生成时间', |
| | | width: 180, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | title: '操作', |
| | |
| | | field: 'createTime', |
| | | title: '创建时间', |
| | | width: 180, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | title: '操作', |
| | |
| | | label: '检测日期', |
| | | component: 'DatePicker', |
| | | componentProps: { |
| | | format: 'YYYY-MM-DD HH:mm:ss', |
| | | format: 'YYYY-MM-DD', |
| | | placeholder: '请选择检测日期', |
| | | showTime: true, |
| | | showTime: false, |
| | | valueFormat: 'YYYY-MM-DD HH:mm:ss', |
| | | }, |
| | | rules: 'required', |
| | |
| | | field: 'inspectDate', |
| | | title: '检测日期', |
| | | width: 160, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | field: 'inspectorNickname', |
| | |
| | | field: 'createTime', |
| | | title: '创建时间', |
| | | width: 180, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | title: '操作', |
| | |
| | | MesToolStatusEnum, |
| | | } from '@vben/constants'; |
| | | import { getDictOptions } from '@vben/hooks'; |
| | | import { formatDateTime } from '@vben/utils'; |
| | | import { formatDate } from '@vben/utils'; |
| | | |
| | | import { Button } from 'ant-design-vue'; |
| | | |
| | |
| | | label: '下次保养日期', |
| | | component: 'DatePicker', |
| | | componentProps: { |
| | | format: 'YYYY-MM-DD HH:mm:ss', |
| | | showTime: true, |
| | | format: 'YYYY-MM-DD', |
| | | showTime: false, |
| | | valueFormat: 'YYYY-MM-DD HH:mm:ss', |
| | | }, |
| | | dependencies: { |
| | |
| | | formatter: ({ row }) => { |
| | | if (row.maintenType === MesMaintenTypeEnum.REGULAR) { |
| | | return row.nextMaintenDate |
| | | ? formatDateTime(row.nextMaintenDate) |
| | | ? formatDate(row.nextMaintenDate) |
| | | : '-'; |
| | | } |
| | | if (row.maintenType === MesMaintenTypeEnum.USAGE) { |
| | |
| | | field: 'createTime', |
| | | title: '创建时间', |
| | | width: 180, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | title: '操作', |
| | |
| | | field: 'createTime', |
| | | title: '创建时间', |
| | | width: 180, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | ]; |
| | | } |
| | |
| | | field: 'createTime', |
| | | title: '创建时间', |
| | | width: 180, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | title: '操作', |
| | |
| | | field: 'feedbackTime', |
| | | title: '报工时间', |
| | | width: 170, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | title: '操作', |
| | |
| | | import { h, onMounted, ref } from 'vue'; |
| | | |
| | | import { ContentWrap } from '@vben/common-ui'; |
| | | import { formatDateTime } from '@vben/utils'; |
| | | import { formatDate } from '@vben/utils'; |
| | | |
| | | import { Spin, Tag } from 'ant-design-vue'; |
| | | |
| | |
| | | { |
| | | label: '申请时间', |
| | | field: 'applyTime', |
| | | render: (val) => formatDateTime(val) as string, |
| | | render: (val) => formatDate(val) as string, |
| | | }, |
| | | { label: '供应商名称', field: 'supplierName', render: textRender }, |
| | | { label: '供应商类型', field: 'supplierType', render: textRender }, |
| | |
| | | field: 'createTime', |
| | | title: '创建时间', |
| | | minWidth: 180, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | title: '操作', |
| | |
| | | field: 'createTime', |
| | | title: '创建时间', |
| | | minWidth: 180, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | title: '操作', |
| | |
| | | title: '创建时间', |
| | | field: 'createTime', |
| | | minWidth: 180, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | title: '操作', |
| | |
| | | import { h } from 'vue'; |
| | | |
| | | import { DICT_TYPE } from '@vben/constants'; |
| | | import { formatDateTime } from '@vben/utils'; |
| | | import { formatDate } from '@vben/utils'; |
| | | |
| | | import { DictTag } from '#/components/dict-tag'; |
| | | import { getRangePickerDefaultProps } from '#/utils'; |
| | |
| | | field: 'createTime', |
| | | title: '登录日期', |
| | | minWidth: 180, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | title: '操作', |
| | |
| | | { |
| | | field: 'createTime', |
| | | label: '登录日期', |
| | | render: (val) => formatDateTime(val) as string, |
| | | render: (val) => formatDate(val) as string, |
| | | }, |
| | | ]; |
| | | } |
| | |
| | | import { h } from 'vue'; |
| | | |
| | | import { DICT_TYPE } from '@vben/constants'; |
| | | import { formatDateTime } from '@vben/utils'; |
| | | import { formatDate } from '@vben/utils'; |
| | | |
| | | import { getSimpleUserList } from '#/api/system/user'; |
| | | import { DictTag } from '#/components/dict-tag'; |
| | |
| | | field: 'createTime', |
| | | title: '操作时间', |
| | | minWidth: 180, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | field: 'bizId', |
| | |
| | | { |
| | | field: 'createTime', |
| | | label: '操作时间', |
| | | render: (val) => formatDateTime(val) as string, |
| | | render: (val) => formatDate(val) as string, |
| | | }, |
| | | { |
| | | field: 'bizId', |
| | |
| | | field: 'createTime', |
| | | title: '创建时间', |
| | | minWidth: 180, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | title: '操作', |
| | |
| | | field: 'createTime', |
| | | title: '创建时间', |
| | | minWidth: 180, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | title: '操作', |
| | |
| | | field: 'createTime', |
| | | title: '创建时间', |
| | | minWidth: 180, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | title: '操作', |
| | |
| | | MesProWorkOrderStatusEnum, |
| | | } from '@vben/constants'; |
| | | import { getDictOptions } from '@vben/hooks'; |
| | | import { formatDateTime } from '@vben/utils'; |
| | | import { formatDate } from '@vben/utils'; |
| | | |
| | | import { z } from '#/adapter/form'; |
| | | import { generateBarcodeContent } from '#/api/mes/wm/barcode'; |
| | |
| | | field: 'createTime', |
| | | title: '创建时间', |
| | | width: 180, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | title: '操作', |
| | |
| | | { |
| | | field: 'createTime', |
| | | label: '创建时间', |
| | | render: (value) => formatDateTime(value) || '-', |
| | | render: (value) => formatDate(value) || '-', |
| | | }, |
| | | ]; |
| | | } |
| | |
| | | field: 'receiptTime', |
| | | title: '入库日期', |
| | | width: 180, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | field: 'frozen', |
| | |
| | | field: 'receiptTime', |
| | | title: '入库日期', |
| | | width: 180, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | field: 'frozen', |
| | |
| | | component: 'DatePicker', |
| | | componentProps: { |
| | | class: '!w-full', |
| | | format: 'YYYY-MM-DD HH:mm:ss', |
| | | format: 'YYYY-MM-DD', |
| | | placeholder: '请选择需求时间', |
| | | showTime: true, |
| | | showTime: false, |
| | | valueFormat: 'YYYY-MM-DD HH:mm:ss', |
| | | }, |
| | | rules: 'required', |
| | |
| | | field: 'requiredTime', |
| | | title: '需求时间', |
| | | width: 180, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | field: 'status', |
| | |
| | | component: 'DatePicker', |
| | | componentProps: { |
| | | class: '!w-full', |
| | | format: 'YYYY-MM-DD HH:mm:ss', |
| | | format: 'YYYY-MM-DD', |
| | | placeholder: '请选择退料日期', |
| | | showTime: true, |
| | | showTime: false, |
| | | valueFormat: 'YYYY-MM-DD HH:mm:ss', |
| | | }, |
| | | }, |
| | |
| | | field: 'returnDate', |
| | | title: '退料日期', |
| | | width: 180, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | field: 'status', |
| | |
| | | component: 'DatePicker', |
| | | componentProps: { |
| | | class: '!w-full', |
| | | format: 'YYYY-MM-DD HH:mm:ss', |
| | | format: 'YYYY-MM-DD', |
| | | placeholder: '请选择退货日期', |
| | | showTime: true, |
| | | showTime: false, |
| | | valueFormat: 'YYYY-MM-DD HH:mm:ss', |
| | | }, |
| | | rules: 'required', |
| | |
| | | field: 'returnDate', |
| | | title: '退货日期', |
| | | width: 180, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | field: 'status', |
| | |
| | | field: 'createTime', |
| | | title: '生成时间', |
| | | width: 180, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | title: '操作', |
| | |
| | | field: 'createTime', |
| | | title: '生成时间', |
| | | width: 180, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | title: '操作', |
| | |
| | | field: 'transactionTime', |
| | | title: '事务时间', |
| | | width: 160, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | ]; |
| | | } |
| | |
| | | field: 'createTime', |
| | | title: '创建时间', |
| | | width: 180, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | title: '操作', |
| | |
| | | field: 'createTime', |
| | | title: '创建时间', |
| | | width: 180, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | title: '操作', |
| | |
| | | field: 'createTime', |
| | | title: '创建时间', |
| | | width: 180, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | title: '操作', |
| | |
| | | field: 'createTime', |
| | | title: '创建时间', |
| | | width: 180, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | title: '操作', |
| | |
| | | field: 'createTime', |
| | | title: '创建时间', |
| | | width: 180, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | title: '操作', |
| | |
| | | field: 'createTime', |
| | | title: '创建时间', |
| | | width: 180, |
| | | formatter: 'formatDateTime', |
| | | formatter: 'formatDate', |
| | | }, |
| | | { |
| | | title: '操作', |
| | |
| | | |
| | | import { DICT_TYPE } from '@vben/constants'; |
| | | import { getDictOptions } from '@vben/hooks'; |
| | | import { formatDate, formatDateTime } from '@vben/utils'; |
| | | import { formatDate } from '@vben/utils'; |
| | | |
| | | import { z } from '#/adapter/form'; |
| | | import { getSimpleUserList } from '#/api/system/user'; |
| | |
| | | { |
| | | field: 'createTime', |
| | | label: '创建时间', |
| | | render: (val) => formatDateTime(val) || '-', |
| | | render: (val) => formatDate(val) || '-', |
| | | }, |
| | | { |
| | | field: 'creatorName', |
| | |
| | | { |
| | | field: 'updateTime', |
| | | label: '更新时间', |
| | | render: (val) => formatDateTime(val) || '-', |
| | | render: (val) => formatDate(val) || '-', |
| | | }, |
| | | { |
| | | field: 'updaterName', |
| | |
| | | OrderStatusEnum, |
| | | OrderUpdateStatusList, |
| | | } from '@vben/constants'; |
| | | import { downloadFileFromBlobPart, formatDateTime } from '@vben/utils'; |
| | | import { downloadFileFromBlobPart, formatDate } from '@vben/utils'; |
| | | |
| | | import { message } from 'ant-design-vue'; |
| | | |
| | |
| | | </template> |
| | | <template #operateInfo="{ row }"> |
| | | <div> |
| | | 创建:{{ formatDateTime(row.createTime) || '-' }} / |
| | | 创建:{{ formatDate(row.createTime) || '-' }} / |
| | | {{ row.creatorName || row.creator || '-' }} |
| | | </div> |
| | | <div> |
| | | 更新:{{ formatDateTime(row.updateTime) || '-' }} / |
| | | 更新:{{ formatDate(row.updateTime) || '-' }} / |
| | | {{ row.updaterName || row.updater || '-' }} |
| | | </div> |
| | | </template> |
| | |
| | | import { Barcode, BarcodeFormatEnum } from '@vben/common-ui'; |
| | | import { DICT_TYPE } from '@vben/constants'; |
| | | import { getDictLabel } from '@vben/hooks'; |
| | | import { formatDate, formatDateTime } from '@vben/utils'; |
| | | import { formatDate } from '@vben/utils'; |
| | | |
| | | import { |
| | | getCheckOrder, |
| | |
| | | </div> |
| | | <div class="col-span-3 grid grid-cols-2 gap-x-6"> |
| | | <div> |
| | | 创建:{{ formatDateTime(printData.createTime) || '-' }} / |
| | | 创建:{{ formatDate(printData.createTime) || '-' }} / |
| | | {{ printData.creatorName || printData.creator || '-' }} |
| | | </div> |
| | | <div> |
| | | 更新:{{ formatDateTime(printData.updateTime) || '-' }} / |
| | | 更新:{{ formatDate(printData.updateTime) || '-' }} / |
| | | {{ printData.updaterName || printData.updater || '-' }} |
| | | </div> |
| | | </div> |
| | |
| | | |
| | | import { DICT_TYPE } from '@vben/constants'; |
| | | import { getDictOptions } from '@vben/hooks'; |
| | | import { formatDate, formatDateTime } from '@vben/utils'; |
| | | import { formatDate } from '@vben/utils'; |
| | | |
| | | import { z } from '#/adapter/form'; |
| | | import { getSimpleUserList } from '#/api/system/user'; |
| | |
| | | { |
| | | field: 'createTime', |
| | | label: '创建时间', |
| | | render: (val) => formatDateTime(val) || '-', |
| | | render: (val) => formatDate(val) || '-', |
| | | }, |
| | | { |
| | | field: 'creatorName', |
| | |
| | | { |
| | | field: 'updateTime', |
| | | label: '更新时间', |
| | | render: (val) => formatDateTime(val) || '-', |
| | | render: (val) => formatDate(val) || '-', |
| | | }, |
| | | { |
| | | field: 'updaterName', |
| | |
| | | OrderStatusEnum, |
| | | OrderUpdateStatusList, |
| | | } from '@vben/constants'; |
| | | import { downloadFileFromBlobPart, formatDateTime } from '@vben/utils'; |
| | | import { downloadFileFromBlobPart, formatDate } from '@vben/utils'; |
| | | |
| | | import { message } from 'ant-design-vue'; |
| | | |
| | |
| | | </template> |
| | | <template #operateInfo="{ row }"> |
| | | <div> |
| | | 创建:{{ formatDateTime(row.createTime) || '-' }} / |
| | | 创建:{{ formatDate(row.createTime) || '-' }} / |
| | | {{ row.creatorName || row.creator || '-' }} |
| | | </div> |
| | | <div> |
| | | 更新:{{ formatDateTime(row.updateTime) || '-' }} / |
| | | 更新:{{ formatDate(row.updateTime) || '-' }} / |
| | | {{ row.updaterName || row.updater || '-' }} |
| | | </div> |
| | | </template> |
| | |
| | | import { Barcode, BarcodeFormatEnum } from '@vben/common-ui'; |
| | | import { DICT_TYPE } from '@vben/constants'; |
| | | import { getDictLabel } from '@vben/hooks'; |
| | | import { formatDate, formatDateTime } from '@vben/utils'; |
| | | import { formatDate } from '@vben/utils'; |
| | | |
| | | import { |
| | | getMovementOrder, |
| | |
| | | <div>总金额:{{ formatPrice(printData.totalPrice) || '-' }}</div> |
| | | <div class="col-span-3 grid grid-cols-2 gap-x-6"> |
| | | <div> |
| | | 创建:{{ formatDateTime(printData.createTime) || '-' }} / |
| | | 创建:{{ formatDate(printData.createTime) || '-' }} / |
| | | {{ printData.creatorName || printData.creator || '-' }} |
| | | </div> |
| | | <div> |
| | | 更新:{{ formatDateTime(printData.updateTime) || '-' }} / |
| | | 更新:{{ formatDate(printData.updateTime) || '-' }} / |
| | | {{ printData.updaterName || printData.updater || '-' }} |
| | | </div> |
| | | </div> |
| | |
| | | |
| | | import { DICT_TYPE } from '@vben/constants'; |
| | | import { getDictOptions } from '@vben/hooks'; |
| | | import { formatDate, formatDateTime } from '@vben/utils'; |
| | | import { formatDate } from '@vben/utils'; |
| | | |
| | | import { z } from '#/adapter/form'; |
| | | import { getSimpleUserList } from '#/api/system/user'; |
| | |
| | | { |
| | | field: 'createTime', |
| | | label: '创建时间', |
| | | render: (val) => formatDateTime(val) || '-', |
| | | render: (val) => formatDate(val) || '-', |
| | | }, |
| | | { |
| | | field: 'creatorName', |
| | |
| | | { |
| | | field: 'updateTime', |
| | | label: '更新时间', |
| | | render: (val) => formatDateTime(val) || '-', |
| | | render: (val) => formatDate(val) || '-', |
| | | }, |
| | | { |
| | | field: 'updaterName', |
| | |
| | | OrderStatusEnum, |
| | | OrderUpdateStatusList, |
| | | } from '@vben/constants'; |
| | | import { downloadFileFromBlobPart, formatDateTime } from '@vben/utils'; |
| | | import { downloadFileFromBlobPart, formatDate } from '@vben/utils'; |
| | | |
| | | import { message } from 'ant-design-vue'; |
| | | |
| | |
| | | </template> |
| | | <template #operateInfo="{ row }"> |
| | | <div> |
| | | 创建:{{ formatDateTime(row.createTime) || '-' }} / |
| | | 创建:{{ formatDate(row.createTime) || '-' }} / |
| | | {{ row.creatorName || row.creator || '-' }} |
| | | </div> |
| | | <div> |
| | | 更新:{{ formatDateTime(row.updateTime) || '-' }} / |
| | | 更新:{{ formatDate(row.updateTime) || '-' }} / |
| | | {{ row.updaterName || row.updater || '-' }} |
| | | </div> |
| | | </template> |
| | |
| | | import { Barcode, BarcodeFormatEnum } from '@vben/common-ui'; |
| | | import { DICT_TYPE } from '@vben/constants'; |
| | | import { getDictLabel } from '@vben/hooks'; |
| | | import { formatDate, formatDateTime } from '@vben/utils'; |
| | | import { formatDate } from '@vben/utils'; |
| | | |
| | | import { |
| | | getReceiptOrder, |
| | |
| | | <div>总金额:{{ formatPrice(printData.totalPrice) || '-' }}</div> |
| | | <div class="col-span-3 grid grid-cols-2 gap-x-6"> |
| | | <div> |
| | | 创建:{{ formatDateTime(printData.createTime) || '-' }} / |
| | | 创建:{{ formatDate(printData.createTime) || '-' }} / |
| | | {{ printData.creatorName || printData.creator || '-' }} |
| | | </div> |
| | | <div> |
| | | 更新:{{ formatDateTime(printData.updateTime) || '-' }} / |
| | | 更新:{{ formatDate(printData.updateTime) || '-' }} / |
| | | {{ printData.updaterName || printData.updater || '-' }} |
| | | </div> |
| | | </div> |
| | |
| | | |
| | | import { DICT_TYPE } from '@vben/constants'; |
| | | import { getDictOptions } from '@vben/hooks'; |
| | | import { formatDate, formatDateTime } from '@vben/utils'; |
| | | import { formatDate } from '@vben/utils'; |
| | | |
| | | import { z } from '#/adapter/form'; |
| | | import { getSimpleUserList } from '#/api/system/user'; |
| | |
| | | { |
| | | field: 'createTime', |
| | | label: '创建时间', |
| | | render: (val) => formatDateTime(val) || '-', |
| | | render: (val) => formatDate(val) || '-', |
| | | }, |
| | | { |
| | | field: 'creatorName', |
| | |
| | | { |
| | | field: 'updateTime', |
| | | label: '更新时间', |
| | | render: (val) => formatDateTime(val) || '-', |
| | | render: (val) => formatDate(val) || '-', |
| | | }, |
| | | { |
| | | field: 'updaterName', |
| | |
| | | OrderStatusEnum, |
| | | OrderUpdateStatusList, |
| | | } from '@vben/constants'; |
| | | import { downloadFileFromBlobPart, formatDateTime } from '@vben/utils'; |
| | | import { downloadFileFromBlobPart, formatDate } from '@vben/utils'; |
| | | |
| | | import { message } from 'ant-design-vue'; |
| | | |
| | |
| | | </template> |
| | | <template #operateInfo="{ row }"> |
| | | <div> |
| | | 创建:{{ formatDateTime(row.createTime) || '-' }} / |
| | | 创建:{{ formatDate(row.createTime) || '-' }} / |
| | | {{ row.creatorName || row.creator || '-' }} |
| | | </div> |
| | | <div> |
| | | 更新:{{ formatDateTime(row.updateTime) || '-' }} / |
| | | 更新:{{ formatDate(row.updateTime) || '-' }} / |
| | | {{ row.updaterName || row.updater || '-' }} |
| | | </div> |
| | | </template> |
| | |
| | | import { Barcode, BarcodeFormatEnum } from '@vben/common-ui'; |
| | | import { DICT_TYPE } from '@vben/constants'; |
| | | import { getDictLabel } from '@vben/hooks'; |
| | | import { formatDate, formatDateTime } from '@vben/utils'; |
| | | import { formatDate } from '@vben/utils'; |
| | | |
| | | import { |
| | | getShipmentOrder, |
| | |
| | | <div>总金额:{{ formatPrice(printData.totalPrice) || '-' }}</div> |
| | | <div class="col-span-3 grid grid-cols-2 gap-x-6"> |
| | | <div> |
| | | 创建:{{ formatDateTime(printData.createTime) || '-' }} / |
| | | 创建:{{ formatDate(printData.createTime) || '-' }} / |
| | | {{ printData.creatorName || printData.creator || '-' }} |
| | | </div> |
| | | <div> |
| | | 更新:{{ formatDateTime(printData.updateTime) || '-' }} / |
| | | 更新:{{ formatDate(printData.updateTime) || '-' }} / |
| | | {{ printData.updaterName || printData.updater || '-' }} |
| | | </div> |
| | | </div> |