fix(time): 统一将日期时间格式修改为仅日期格式
- 将所有日期选择器的类型从 datetime 更改为 date
- 将所有日期格式化字符串从 YYYY-MM-DD HH:mm:ss 更改为 YYYY-MM-DD
- 更新日期时间处理函数以仅返回日期部分
- 修改多个表单和表格中的日期字段显示格式
- 调整日期范围选择器的时间类型和格式设置
| | |
| | | const year = now.getFullYear(); // 获取年份 |
| | | const month = String(now.getMonth() + 1).padStart(2, '0'); // 月份从0开始,要+1,并补零 |
| | | const day = String(now.getDate()).padStart(2, '0'); // 日期补零 |
| | | const hours = String(now.getHours()).padStart(2, '0'); // 小时补零 |
| | | const minutes = String(now.getMinutes()).padStart(2, '0'); // 分钟补零 |
| | | const seconds = String(now.getSeconds()).padStart(2, '0'); // 秒数补零 |
| | | return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`; |
| | | return `${year}-${month}-${day}`; |
| | | }, |
| | | // 获取用户信息 |
| | | getInfo() { |
| | |
| | | ? "0" + (date.getMonth() + 1)
|
| | | : date.getMonth() + 1;
|
| | | var day = date.getDate() < 10 ? "0" + date.getDate() : date.getDate();
|
| | | var hours = date.getHours() < 10 ? "0" + date.getHours() : date.getHours();
|
| | | var minutes =
|
| | | date.getMinutes() < 10 ? "0" + date.getMinutes() : date.getMinutes();
|
| | | var seconds =
|
| | | date.getSeconds() < 10 ? "0" + date.getSeconds() : date.getSeconds();
|
| | | return (
|
| | | year + "-" + month + "-" + day + " " + hours + ":" + minutes + ":" + seconds
|
| | | );
|
| | | return year + "-" + month + "-" + day;
|
| | | }
|
| | |
|
| | | /**
|
| | |
| | | if (arguments.length === 0 || !time) {
|
| | | return null
|
| | | }
|
| | | const format = pattern || '{y}-{m}-{d} {h}:{i}:{s}'
|
| | | const format = pattern || '{y}-{m}-{d}'
|
| | | let date
|
| | | if (typeof time === 'object') {
|
| | | date = time
|
| | |
| | | <el-form-item label="提醒时间:" |
| | | prop="reminderTime"> |
| | | <el-date-picker v-model="reminderForm.reminderTime" |
| | | type="datetime" |
| | | value-format="YYYY-MM-DD HH:mm:ss" |
| | | format="YYYY-MM-DD HH:mm:ss" |
| | | type="date" |
| | | value-format="YYYY-MM-DD" |
| | | format="YYYY-MM-DD" |
| | | placeholder="请选择提醒时间" |
| | | style="width: 100%" /> |
| | | </el-form-item> |
| | |
| | | <el-form-item label="跟进时间:" |
| | | prop="followUpTime"> |
| | | <el-date-picker v-model="negotiationForm.followUpTime" |
| | | type="datetime" |
| | | value-format="YYYY-MM-DD HH:mm:ss" |
| | | format="YYYY-MM-DD HH:mm:ss" |
| | | type="date" |
| | | value-format="YYYY-MM-DD" |
| | | format="YYYY-MM-DD" |
| | | placeholder="请选择" |
| | | style="width: 100%" /> |
| | | </el-form-item> |
| | |
| | | <el-form-item label="提醒时间:" |
| | | prop="reminderTime"> |
| | | <el-date-picker v-model="reminderForm.reminderTime" |
| | | type="datetime" |
| | | value-format="YYYY-MM-DD HH:mm:ss" |
| | | format="YYYY-MM-DD HH:mm:ss" |
| | | type="date" |
| | | value-format="YYYY-MM-DD" |
| | | format="YYYY-MM-DD" |
| | | placeholder="请选择提醒时间" |
| | | style="width: 100%" /> |
| | | </el-form-item> |
| | |
| | | <el-form-item label="跟进时间:" |
| | | prop="followUpTime"> |
| | | <el-date-picker v-model="negotiationForm.followUpTime" |
| | | type="datetime" |
| | | value-format="YYYY-MM-DD HH:mm:ss" |
| | | format="YYYY-MM-DD HH:mm:ss" |
| | | type="date" |
| | | value-format="YYYY-MM-DD" |
| | | format="YYYY-MM-DD" |
| | | placeholder="请选择" |
| | | style="width: 100%" /> |
| | | </el-form-item> |
| | |
| | | <el-form-item label="出差开始时间:" prop="startDateTime"> |
| | | <el-date-picker |
| | | v-model="form.startDateTime" |
| | | type="datetime" |
| | | type="date" |
| | | placeholder="请选择开始时间" |
| | | value-format="YYYY-MM-DD HH:mm" |
| | | format="YYYY-MM-DD HH:mm" |
| | | value-format="YYYY-MM-DD" |
| | | format="YYYY-MM-DD" |
| | | clearable |
| | | style="width: 100%" |
| | | /> |
| | |
| | | <el-form-item label="出差结束时间:" prop="endDateTime"> |
| | | <el-date-picker |
| | | v-model="form.endDateTime" |
| | | type="datetime" |
| | | type="date" |
| | | placeholder="请选择结束时间" |
| | | value-format="YYYY-MM-DD HH:mm" |
| | | format="YYYY-MM-DD HH:mm" |
| | | value-format="YYYY-MM-DD" |
| | | format="YYYY-MM-DD" |
| | | clearable |
| | | style="width: 100%" |
| | | /> |
| | |
| | | <el-form-item label="开始时间" prop="startTime"> |
| | | <el-date-picker |
| | | v-model="meetingForm.startTime" |
| | | type="datetime" |
| | | value-format="YYYY-MM-DD HH:mm:ss" |
| | | format="YYYY-MM-DD HH:mm:ss" |
| | | type="date" |
| | | value-format="YYYY-MM-DD" |
| | | format="YYYY-MM-DD" |
| | | placeholder="请选择开始时间" |
| | | style="width: 100%" |
| | | /> |
| | |
| | | // 格式化日期时间 |
| | | const formatDateTime = (dateTime) => { |
| | | if (!dateTime) return '' |
| | | return dateTime.replace(' ', '\n') |
| | | return dateTime.split(' ')[0] |
| | | } |
| | | |
| | | // 页面加载时获取数据 |
| | |
| | | // 格式化日期时间 |
| | | const formatDateTime = (dateTime) => { |
| | | if (!dateTime) return '' |
| | | return dateTime.replace(' ', '\n') |
| | | return dateTime.split(' ')[0] |
| | | } |
| | | |
| | | // 提交审批 |
| | |
| | | // 格式化日期时间 |
| | | const formatDateTime = (dateTime) => { |
| | | if (!dateTime) return '' |
| | | return dateTime.replace(' ', '\n') |
| | | return dateTime.split(' ')[0] |
| | | } |
| | | |
| | | // 提交发布 |
| | |
| | | // 格式化日期时间 |
| | | const formatDateTime = (dateTime) => { |
| | | if (!dateTime) return '' |
| | | return dateTime.replace(' ', '\n') |
| | | return dateTime.split(' ')[0] |
| | | } |
| | | |
| | | // 页面加载时获取数据 |
| | |
| | | const year = date.getFullYear() |
| | | const month = String(date.getMonth() + 1).padStart(2, '0') |
| | | const day = String(date.getDate()).padStart(2, '0') |
| | | const hours = String(date.getHours()).padStart(2, '0') |
| | | const minutes = String(date.getMinutes()).padStart(2, '0') |
| | | const sends = String(date.getSeconds()).padStart(2, '0') |
| | | return `${year}-${month}-${day} ${hours}:${minutes}:${sends}` |
| | | return `${year}-${month}-${day}` |
| | | } |
| | | |
| | | // 提交审批 |
| | |
| | | const year = now.getFullYear(); |
| | | const month = String(now.getMonth() + 1).padStart(2, "0"); |
| | | const day = String(now.getDate()).padStart(2, "0"); |
| | | const hours = String(now.getHours()).padStart(2, "0"); |
| | | const minutes = String(now.getMinutes()).padStart(2, "0"); |
| | | const seconds = String(now.getSeconds()).padStart(2, "0"); |
| | | return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`; |
| | | return `${year}-${month}-${day}`; |
| | | } |
| | | |
| | | // 添加行类名方法 |
| | |
| | | <el-form-item label="生效时间" |
| | | prop="effectiveTime"> |
| | | <el-date-picker v-model="regulationForm.effectiveTime" |
| | | type="datetime" |
| | | format="YYYY-MM-DD HH:mm:ss" |
| | | value-format="YYYY-MM-DD HH:mm:ss" |
| | | type="date" |
| | | format="YYYY-MM-DD" |
| | | value-format="YYYY-MM-DD" |
| | | placeholder="选择生效时间" |
| | | style="width: 100%" /> |
| | | </el-form-item> |
| | |
| | | if (statusItem) { |
| | | // 如果找到记录,更新状态和确认时间 |
| | | statusItem.status = "confirmed"; |
| | | // 格式化时间为"YYYY-MM-DD HH:mm:ss"格式 |
| | | // 格式化时间为"YYYY-MM-DD"格式 |
| | | const now = new Date(); |
| | | statusItem.confirmTime = `${now.getFullYear()}-${String( |
| | | now.getMonth() + 1 |
| | | ).padStart(2, "0")}-${String(now.getDate()).padStart(2, "0")} ${String( |
| | | now.getHours() |
| | | ).padStart(2, "0")}:${String(now.getMinutes()).padStart( |
| | | 2, |
| | | "0" |
| | | )}:${String(now.getSeconds()).padStart(2, "0")}`; |
| | | ).padStart(2, "0")}-${String(now.getDate()).padStart(2, "0")}`; |
| | | // statusItem.confirmTime = new Date().toISOString().replace('T', ' ').split('.')[0]; |
| | | |
| | | updateReadingStatus(statusItem).then(res => { |
| | |
| | | const yyyy = d.getFullYear() |
| | | const MM = String(d.getMonth() + 1).padStart(2, '0') |
| | | const dd = String(d.getDate()).padStart(2, '0') |
| | | const hh = String(d.getHours()).padStart(2, '0') |
| | | const mm = String(d.getMinutes()).padStart(2, '0') |
| | | const ss = String(d.getSeconds()).padStart(2, '0') |
| | | return `${yyyy}-${MM}-${dd} ${hh}:${mm}:${ss}` |
| | | return `${yyyy}-${MM}-${dd}` |
| | | } |
| | | </script> |
| | | |
| | |
| | | const year = date.getFullYear() |
| | | const month = String(date.getMonth() + 1).padStart(2, '0') |
| | | const day = String(date.getDate()).padStart(2, '0') |
| | | const hours = String(date.getHours()).padStart(2, '0') |
| | | const minutes = String(date.getMinutes()).padStart(2, '0') |
| | | return `${year}-${month}-${day} ${hours}:${minutes}` |
| | | return `${year}-${month}-${day}` |
| | | }, |
| | | |
| | | // 搜索 |
| | |
| | | formatData: cell => { |
| | | if (!cell) return "-"; |
| | | try { |
| | | return dayjs(cell).format("YYYY-MM-DD HH:mm:ss"); |
| | | return dayjs(cell).format("YYYY-MM-DD"); |
| | | } catch { |
| | | return cell; |
| | | } |
| | |
| | | <el-form-item label="验收时间" prop="acceptanceTime"> |
| | | <el-date-picker |
| | | v-model="form.acceptanceTime" |
| | | type="datetime" |
| | | type="date" |
| | | placeholder="请选择验收时间" |
| | | format="YYYY-MM-DD HH:mm:ss" |
| | | value-format="YYYY-MM-DD HH:mm:ss" |
| | | format="YYYY-MM-DD" |
| | | value-format="YYYY-MM-DD" |
| | | style="width: 100%" |
| | | /> |
| | | </el-form-item> |
| | |
| | | |
| | | const form = reactive({ |
| | | acceptanceName: undefined, |
| | | acceptanceTime: dayjs().format("YYYY-MM-DD HH:mm:ss"), |
| | | acceptanceTime: dayjs().format("YYYY-MM-DD"), |
| | | acceptanceRemark: undefined, |
| | | }); |
| | | |
| | |
| | | repairId.value = row.id; |
| | | visible.value = true; |
| | | form.acceptanceName = undefined; |
| | | form.acceptanceTime = dayjs().format("YYYY-MM-DD HH:mm:ss"); |
| | | form.acceptanceTime = dayjs().format("YYYY-MM-DD"); |
| | | form.acceptanceRemark = undefined; |
| | | sparePartsDetails.value = []; |
| | | try { |
| | |
| | | <el-date-picker |
| | | v-model="form.maintenanceTime" |
| | | placeholder="请选择维修日期" |
| | | format="YYYY-MM-DD HH:mm:ss" |
| | | value-format="YYYY-MM-DD HH:mm:ss" |
| | | type="datetime" |
| | | format="YYYY-MM-DD" |
| | | value-format="YYYY-MM-DD" |
| | | type="date" |
| | | clearable |
| | | style="width: 100%" |
| | | /> |
| | |
| | | form.reasonAnalysis = data.reasonAnalysis; |
| | | form.handlingMeasures = data.handlingMeasures; |
| | | form.maintenanceTime = |
| | | data.maintenanceTime |
| | | ? dayjs(data.maintenanceTime).format("YYYY-MM-DD HH:mm:ss") |
| | | : dayjs().format("YYYY-MM-DD HH:mm:ss"); |
| | | data.maintenanceTime |
| | | ? dayjs(data.maintenanceTime).format("YYYY-MM-DD") |
| | | : dayjs().format("YYYY-MM-DD"); |
| | | form.status = 1; // 默认状态为完结 |
| | | // multiple 选择器要求数组;后端常返回 "1,2,3" |
| | | if (Array.isArray(data?.sparePartsIds)) { |
| | |
| | | <el-form-item label="实际保养日期"> |
| | | <el-date-picker v-model="form.maintenanceActuallyTime" |
| | | placeholder="请选择实际保养日期" |
| | | format="YYYY-MM-DD HH:mm:ss" |
| | | value-format="YYYY-MM-DD HH:mm:ss" |
| | | type="datetime" |
| | | format="YYYY-MM-DD" |
| | | value-format="YYYY-MM-DD" |
| | | type="date" |
| | | clearable |
| | | style="width: 100%" /> |
| | | </el-form-item> |
| | |
| | | form.maintenanceActuallyName = |
| | | data.maintenanceActuallyName ?? userStore.nickName; |
| | | form.maintenanceActuallyTime = data.maintenanceActuallyTime |
| | | ? dayjs(data.maintenanceActuallyTime).format("YYYY-MM-DD HH:mm:ss") |
| | | : dayjs().format("YYYY-MM-DD HH:mm:ss"); |
| | | ? dayjs(data.maintenanceActuallyTime).format("YYYY-MM-DD") |
| | | : dayjs().format("YYYY-MM-DD"); |
| | | form.maintenanceResult = data.maintenanceResult; |
| | | form.runningStatus = data.runningStatus; |
| | | form.status = 1; // 默认状态为完结 |
| | |
| | | style="width: 100%" |
| | | v-model="form.maintenancePlanTime" |
| | | format="YYYY-MM-DD" |
| | | value-format="YYYY-MM-DD HH:mm:ss" |
| | | value-format="YYYY-MM-DD" |
| | | type="date" |
| | | placeholder="请选择计划保养日期日期" |
| | | clearable |
| | |
| | | form.executorId = data.executorId; |
| | | if (data.maintenancePlanTime) { |
| | | form.maintenancePlanTime = dayjs(data.maintenancePlanTime).format( |
| | | "YYYY-MM-DD HH:mm:ss" |
| | | "YYYY-MM-DD" |
| | | ); |
| | | } |
| | | form.storageBlobDTOs = data.storageBlobVOs || []; |
| | |
| | | label: "登记日期", |
| | | minWidth: 100, |
| | | formatData: cell => |
| | | cell ? dayjs(cell).format("YYYY-MM-DD HH:mm:ss") : "-", |
| | | cell ? dayjs(cell).format("YYYY-MM-DD") : "-", |
| | | }, |
| | | { |
| | | fixed: "right", |
| | |
| | | align: "center", |
| | | prop: "maintenanceActuallyTime", |
| | | formatData: cell => |
| | | cell ? dayjs(cell).format("YYYY-MM-DD HH:mm:ss") : "-", |
| | | cell ? dayjs(cell).format("YYYY-MM-DD") : "-", |
| | | }, |
| | | { |
| | | label: "保养结果", |
| | |
| | | return date.toLocaleString('zh-CN', { |
| | | year: 'numeric', |
| | | month: '2-digit', |
| | | day: '2-digit', |
| | | hour: '2-digit', |
| | | minute: '2-digit' |
| | | day: '2-digit' |
| | | }) |
| | | } |
| | | |
| | |
| | | ); |
| | | |
| | | const updateNowTime = () => { |
| | | nowTime.value = dayjs().format("YYYY-MM-DD HH:mm:ss"); |
| | | nowTime.value = dayjs().format("YYYY-MM-DD"); |
| | | }; |
| | | |
| | | const formatNumber = (value) => { |
| | |
| | | const year = date.getFullYear(); |
| | | const month = String(date.getMonth() + 1).padStart(2, "0"); |
| | | const day = String(date.getDate()).padStart(2, "0"); |
| | | const hours = String(date.getHours()).padStart(2, "0"); |
| | | const minutes = String(date.getMinutes()).padStart(2, "0"); |
| | | const seconds = String(date.getSeconds()).padStart(2, "0"); |
| | | return `${year}/${month}/${day} ${hours}:${minutes}:${seconds}`; |
| | | return `${year}/${month}/${day}`; |
| | | }; |
| | | onMounted(() => { |
| | | getList(); |
| | |
| | | <el-input-number v-model="rechargeDialog.form.rechargeAmount" :min="0.01" :precision="2" :step="100" style="width: 100%;" placeholder="请输入充值金额" /> |
| | | </el-form-item> |
| | | <el-form-item label="充值日期" prop="rechargeDate"> |
| | | <el-date-picker v-model="rechargeDialog.form.rechargeDate" type="datetime" placeholder="选择充值时间" value-format="YYYY-MM-DD HH:mm:ss" style="width: 100%;" /> |
| | | <el-date-picker v-model="rechargeDialog.form.rechargeDate" type="date" placeholder="选择充值时间" value-format="YYYY-MM-DD" style="width: 100%;" /> |
| | | </el-form-item> |
| | | <el-form-item label="备注" prop="remark"> |
| | | <el-input v-model="rechargeDialog.form.remark" type="textarea" placeholder="请输入备注内容" /> |
| | |
| | | <el-form-item label="预警时间:" prop="warningTime"> |
| | | <el-date-picker |
| | | v-model="form.warningTime" |
| | | type="datetime" |
| | | type="date" |
| | | placeholder="请选择预警时间" |
| | | style="width: 100%" |
| | | value-format="YYYY-MM-DD HH:mm:ss" |
| | | value-format="YYYY-MM-DD" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | <el-form-item label="预计充装时间:" prop="expectedRefillTime"> |
| | | <el-date-picker |
| | | v-model="form.expectedRefillTime" |
| | | type="datetime" |
| | | type="date" |
| | | placeholder="请选择预计充装时间" |
| | | style="width: 100%" |
| | | value-format="YYYY-MM-DD HH:mm:ss" |
| | | value-format="YYYY-MM-DD" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | <el-form-item label="预计缺气时间:" prop="expectedShortageTime"> |
| | | <el-date-picker |
| | | v-model="form.expectedShortageTime" |
| | | type="datetime" |
| | | type="date" |
| | | placeholder="请选择预计缺气时间" |
| | | style="width: 100%" |
| | | value-format="YYYY-MM-DD HH:mm:ss" |
| | | value-format="YYYY-MM-DD" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | <el-form-item label="装货时间:" prop="loadTime"> |
| | | <el-date-picker |
| | | v-model="form.loadTime" |
| | | type="datetime" |
| | | value-format="YYYY-MM-DD HH:mm:ss" |
| | | format="YYYY-MM-DD HH:mm" |
| | | type="date" |
| | | value-format="YYYY-MM-DD" |
| | | format="YYYY-MM-DD" |
| | | placeholder="请选择装货时间" |
| | | style="width: 100%" |
| | | /> |
| | |
| | | <el-form-item label="送货时间:" prop="deliveryTime"> |
| | | <el-date-picker |
| | | v-model="form.deliveryTime" |
| | | type="datetime" |
| | | value-format="YYYY-MM-DD HH:mm:ss" |
| | | format="YYYY-MM-DD HH:mm" |
| | | type="date" |
| | | value-format="YYYY-MM-DD" |
| | | format="YYYY-MM-DD" |
| | | placeholder="请选择送货时间" |
| | | style="width: 100%" |
| | | /> |
| | |
| | | <el-form-item label="签收时间:" prop="signTime"> |
| | | <el-date-picker |
| | | v-model="form.signTime" |
| | | type="datetime" |
| | | value-format="YYYY-MM-DD HH:mm:ss" |
| | | format="YYYY-MM-DD HH:mm" |
| | | type="date" |
| | | value-format="YYYY-MM-DD" |
| | | format="YYYY-MM-DD" |
| | | placeholder="请选择签收时间" |
| | | style="width: 100%" |
| | | /> |
| | |
| | | <el-form-item label="登录时间" style="width: 308px">
|
| | | <el-date-picker
|
| | | v-model="dateRange"
|
| | | value-format="YYYY-MM-DD HH:mm:ss"
|
| | | value-format="YYYY-MM-DD"
|
| | | type="daterange"
|
| | | range-separator="-"
|
| | | start-placeholder="开始日期"
|
| | |
| | | <el-form-item label="操作时间" style="width: 308px">
|
| | | <el-date-picker
|
| | | v-model="dateRange"
|
| | | value-format="YYYY-MM-DD HH:mm:ss"
|
| | | value-format="YYYY-MM-DD"
|
| | | type="daterange"
|
| | | range-separator="-"
|
| | | start-placeholder="开始日期"
|
| | |
| | | <el-date-picker |
| | | v-else-if="field.type === 'datetimerange'" |
| | | v-model="formPayload[field.key]" |
| | | type="datetimerange" |
| | | type="daterange" |
| | | range-separator="至" |
| | | start-placeholder="开始时间" |
| | | end-placeholder="结束时间" |
| | | format="YYYY-MM-DD HH:mm:ss" |
| | | value-format="YYYY-MM-DD HH:mm:ss" |
| | | format="YYYY-MM-DD" |
| | | value-format="YYYY-MM-DD" |
| | | style="width: 100%" |
| | | /> |
| | | <el-select |
| | |
| | | function normalizeTimeValue(val) { |
| | | if (val == null || val === "") return ""; |
| | | if (Array.isArray(val) && val.length >= 3) { |
| | | const [y, m, d, h = 0, min = 0, s = 0] = val; |
| | | return dayjs(new Date(y, m - 1, d, h, min, s)).format("YYYY-MM-DD HH:mm:ss"); |
| | | const [y, m, d] = val; |
| | | return dayjs(new Date(y, m - 1, d)).format("YYYY-MM-DD"); |
| | | } |
| | | if (typeof val === "number") { |
| | | const d = val > 1e12 ? dayjs(val) : dayjs.unix(val); |
| | | return d.isValid() ? d.format("YYYY-MM-DD HH:mm:ss") : ""; |
| | | return d.isValid() ? d.format("YYYY-MM-DD") : ""; |
| | | } |
| | | const s = String(val).trim(); |
| | | if (!s) return ""; |
| | | const parsed = dayjs(s.includes("T") ? s : s.replace(/-/g, "/")); |
| | | return parsed.isValid() ? parsed.format("YYYY-MM-DD HH:mm:ss") : s; |
| | | return parsed.isValid() ? parsed.format("YYYY-MM-DD") : s; |
| | | } |
| | | |
| | | export function formatDisplayTime(val) { |
| | |
| | | <el-date-picker |
| | | v-else-if="field.type === 'datetimerange'" |
| | | v-model="field.defaultValue" |
| | | type="datetimerange" |
| | | type="daterange" |
| | | range-separator="至" |
| | | start-placeholder="开始时间" |
| | | end-placeholder="结束时间" |
| | | format="YYYY-MM-DD HH:mm:ss" |
| | | value-format="YYYY-MM-DD HH:mm:ss" |
| | | format="YYYY-MM-DD" |
| | | value-format="YYYY-MM-DD" |
| | | style="width: 100%" |
| | | :disabled="isFieldLocked(field)" |
| | | clearable |
| | |
| | | }; |
| | | } |
| | | |
| | | /** 列表/详情时间展示(ISO → YYYY-MM-DD HH:mm:ss) */ |
| | | /** 列表/详情时间展示(ISO → YYYY-MM-DD) */ |
| | | export function formatReimbursementDateTime(val) { |
| | | if (val == null || val === "") return ""; |
| | | const d = dayjs(val); |
| | | if (!d.isValid()) return String(val); |
| | | const raw = String(val); |
| | | const hasTime = raw.includes("T") || /:\d{2}/.test(raw); |
| | | return hasTime ? d.format("YYYY-MM-DD HH:mm:ss") : d.format("YYYY-MM-DD"); |
| | | return d.format("YYYY-MM-DD"); |
| | | } |
| | | |
| | | /** 接口行 → 差旅报销列表行(兼容 useTravelReimburse 字段) */ |
| | |
| | | <el-form-item label="出差开始" prop="travelStartTime"> |
| | | <el-date-picker |
| | | v-model="form.travelStartTime" |
| | | type="datetime" |
| | | type="date" |
| | | placeholder="开始时间" |
| | | format="YYYY-MM-DD HH:mm:ss" |
| | | value-format="YYYY-MM-DD HH:mm:ss" |
| | | format="YYYY-MM-DD" |
| | | value-format="YYYY-MM-DD" |
| | | style="width: 100%" |
| | | @change="onTravelRangeChange" |
| | | /> |
| | |
| | | <el-form-item label="出差结束" prop="travelEndTime"> |
| | | <el-date-picker |
| | | v-model="form.travelEndTime" |
| | | type="datetime" |
| | | type="date" |
| | | placeholder="结束时间" |
| | | format="YYYY-MM-DD HH:mm:ss" |
| | | value-format="YYYY-MM-DD HH:mm:ss" |
| | | format="YYYY-MM-DD" |
| | | value-format="YYYY-MM-DD" |
| | | style="width: 100%" |
| | | @change="onTravelRangeChange" |
| | | /> |
| | |
| | | <el-form-item label="操作时间" style="width: 308px"> |
| | | <el-date-picker |
| | | v-model="dateRange" |
| | | value-format="YYYY-MM-DD HH:mm:ss" |
| | | value-format="YYYY-MM-DD" |
| | | type="daterange" |
| | | range-separator="-" |
| | | start-placeholder="开始日期" |
| | |
| | | <el-form-item label="折扣有效期"> |
| | | <el-date-picker |
| | | v-model="formData.discountEndTime" |
| | | type="datetime" |
| | | type="date" |
| | | placeholder="选择结束时间" |
| | | style="width: 100%" |
| | | /> |
| | |
| | | <el-row :gutter="20"> |
| | | <el-col :span="12"> |
| | | <el-form-item label="生效时间" prop="effectiveTime"> |
| | | <el-date-picker v-model="formData.effectiveTime" type="datetime" placeholder="选择生效时间" style="width: 100%" /> |
| | | <el-date-picker v-model="formData.effectiveTime" type="date" placeholder="选择生效时间" style="width: 100%" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="失效时间"> |
| | | <el-date-picker v-model="formData.expireTime" type="datetime" placeholder="选择失效时间" style="width: 100%" /> |
| | | <el-date-picker v-model="formData.expireTime" type="date" placeholder="选择失效时间" style="width: 100%" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="生效时间"> |
| | | <el-date-picker v-model="batchDiscountForm.effectiveTime" type="datetime" placeholder="选择生效时间" style="width: 100%" /> |
| | | <el-date-picker v-model="batchDiscountForm.effectiveTime" type="date" placeholder="选择生效时间" style="width: 100%" /> |
| | | </el-form-item> |
| | | <el-form-item label="失效时间"> |
| | | <el-date-picker v-model="batchDiscountForm.expireTime" type="datetime" placeholder="选择失效时间" style="width: 100%" /> |
| | | <el-date-picker v-model="batchDiscountForm.expireTime" type="date" placeholder="选择失效时间" style="width: 100%" /> |
| | | </el-form-item> |
| | | <el-form-item label="适用商品"> |
| | | <div class="selected-items"> |
| | |
| | | <el-input v-model="formData.newPrice" placeholder="请输入新价格" type="number" /> |
| | | </el-form-item> |
| | | <el-form-item label="生效时间"> |
| | | <el-date-picker v-model="formData.effectiveTime" type="datetime" placeholder="选择生效时间" style="width: 100%" /> |
| | | <el-date-picker v-model="formData.effectiveTime" type="date" placeholder="选择生效时间" style="width: 100%" /> |
| | | </el-form-item> |
| | | <el-form-item label="调价原因"> |
| | | <el-select v-model="formData.reason" placeholder="请选择调价原因" style="width: 100%"> |
| | |
| | | label: "登记日期", |
| | | prop: "registrationtDate", |
| | | formatData: cell => |
| | | cell ? dayjs(cell).format("YYYY-MM-DD HH:mm:ss") : "-", |
| | | cell ? dayjs(cell).format("YYYY-MM-DD") : "-", |
| | | }, |
| | | ]); |
| | | const tableData = ref([]); |
| | |
| | | <el-form-item label="反馈时间" prop="feedbackTime"> |
| | | <el-date-picker |
| | | v-model="form.feedbackTime" |
| | | type="datetime" |
| | | value-format="YYYY-MM-DD HH:mm:ss" |
| | | format="YYYY-MM-DD HH:mm" |
| | | type="date" |
| | | value-format="YYYY-MM-DD" |
| | | format="YYYY-MM-DD" |
| | | placeholder="请选择反馈时间" |
| | | style="width: 100%" |
| | | /> |
| | |
| | | prop="happenTime"> |
| | | <el-date-picker style="width: 100%" |
| | | v-model="form.happenTime" |
| | | value-format="YYYY-MM-DD HH:mm:ss" |
| | | format="YYYY-MM-DD HH:mm:ss" |
| | | type="datetime" |
| | | value-format="YYYY-MM-DD" |
| | | format="YYYY-MM-DD" |
| | | type="date" |
| | | placeholder="请选择" |
| | | clearable /> |
| | | </el-form-item> |
| | |
| | | prop="createTime"> |
| | | <el-date-picker style="width: 100%" |
| | | v-model="form.createTime" |
| | | value-format="YYYY-MM-DD HH:mm:ss" |
| | | format="YYYY-MM-DD HH:mm:ss" |
| | | type="datetime" |
| | | value-format="YYYY-MM-DD" |
| | | format="YYYY-MM-DD" |
| | | type="date" |
| | | disabled |
| | | placeholder="请选择" |
| | | clearable /> |
| | |
| | | </el-col> |
| | | <el-col :span="4"> |
| | | <el-form-item label="制单时间:" prop="makeTime"> |
| | | <el-date-picker v-model="form.makeTime" type="datetime" style="width:100%" value-format="YYYY-MM-DD HH:mm:ss" format="YYYY-MM-DD HH:mm:ss" /> |
| | | <el-date-picker v-model="form.makeTime" type="date" style="width:100%" value-format="YYYY-MM-DD" format="YYYY-MM-DD" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <!-- <el-col :span="4"> |
| | |
| | | > |
| | | <template #default="scope"> |
| | | <dict-tag |
| | | :options="checkout_payment" |
| | | :options="receipt_payment_type" |
| | | :value="scope.row.paymentMethod" |
| | | /> |
| | | </template> |
| | |
| | | :disabled="operationType === 'view'" |
| | | > |
| | | <el-option |
| | | v-for="item in checkout_payment" |
| | | v-for="item in receipt_payment_type" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | |
| | | const route = useRoute(); |
| | | const userStore = useUserStore(); |
| | | const { proxy } = getCurrentInstance(); |
| | | const { tax_rate, checkout_payment } = proxy.useDict("tax_rate", "checkout_payment"); |
| | | const { tax_rate, receipt_payment_type } = proxy.useDict("tax_rate", "receipt_payment_type"); |
| | | const tableData = ref([]); |
| | | const productData = ref([]); |
| | | const selectedRows = ref([]); |
| | |
| | | // 格式化日期 |
| | | const formatDate = (dateString) => { |
| | | if (!dateString) return getCurrentDate(); |
| | | return dayjs(dateString).format("YYYY/MM/DD HH:mm:ss"); |
| | | return dayjs(dateString).format("YYYY/MM/DD"); |
| | | }; |
| | | // 格式化日期时间 |
| | | const formatDateTime = (date) => { |
| | | const year = date.getFullYear(); |
| | | const month = String(date.getMonth() + 1).padStart(2, "0"); |
| | | const day = String(date.getDate()).padStart(2, "0"); |
| | | const hours = String(date.getHours()).padStart(2, "0"); |
| | | const minutes = String(date.getMinutes()).padStart(2, "0"); |
| | | const seconds = String(date.getSeconds()).padStart(2, "0"); |
| | | return `${year}/${month}/${day} ${hours}:${minutes}:${seconds}`; |
| | | return `${year}/${month}/${day}`; |
| | | }; |
| | | // 计算产品总数量 |
| | | const getTotalQuantity = (products) => { |
| | |
| | | <el-table-column label="版本号" prop="version" align="center" width="120"/> |
| | | <el-table-column label="创建时间" prop="createTime" align="center" width="170"> |
| | | <template #default="scope"> |
| | | <span>{{ parseTime(scope.row.createTime, "{y}-{m}-{d} {h}:{i}:{s}") }}</span> |
| | | <span>{{ parseTime(scope.row.createTime, "{y}-{m}-{d}") }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="更新时间" prop="updateTime" align="center" width="170"> |
| | | <template #default="scope"> |
| | | <span>{{ parseTime(scope.row.updateTime, "{y}-{m}-{d} {h}:{i}:{s}") }}</span> |
| | | <span>{{ parseTime(scope.row.updateTime, "{y}-{m}-{d}") }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="创建人" prop="createUser" align="center" width="100"/> |