From b8fc0ec44bc61966a60a7d0f6a0d93f7b68928a5 Mon Sep 17 00:00:00 2001
From: admin <344137771@qq.com>
Date: Tue, 20 Jan 2026 17:35:22 +0800
Subject: [PATCH] 1
---
src/views/modules/user-relation/basics-variety-add-or-update.vue | 4
src/views/modules/c2c/c2c-order-time-update.vue | 197 +++++++++++++++++++++++++++++++++++++++++++++++++
src/views/modules/c2c/c2c_pay_order.vue | 14 +++
3 files changed, 213 insertions(+), 2 deletions(-)
diff --git a/src/views/modules/c2c/c2c-order-time-update.vue b/src/views/modules/c2c/c2c-order-time-update.vue
new file mode 100644
index 0000000..384f2ff
--- /dev/null
+++ b/src/views/modules/c2c/c2c-order-time-update.vue
@@ -0,0 +1,197 @@
+<template>
+ <el-dialog
+ :title="'修改时间'"
+ :close-on-click-modal="false"
+ :visible.sync="visible"
+ :append-to-body="true"
+ width="700px"
+ @close="handClose"
+ >
+ <el-form
+ :model="dataForm"
+ :rules="dataRule"
+ ref="dataForm"
+ @keyup.enter.native="dataFormSubmit()"
+ label-width="120px"
+ >
+ <el-form-item label="创建时间" prop="create_time">
+ <el-date-picker
+ v-model="dataForm.create_time"
+ type="datetime"
+ placeholder="选择创建时间"
+ format="yyyy-MM-dd HH:mm:ss"
+ value-format="yyyy-MM-dd HH:mm:ss"
+ style="width: 100%"
+ >
+ </el-date-picker>
+ </el-form-item>
+ <el-form-item label="处理时间" prop="handle_time">
+ <el-date-picker
+ v-model="dataForm.handle_time"
+ type="datetime"
+ placeholder="选择处理时间"
+ format="yyyy-MM-dd HH:mm:ss"
+ value-format="yyyy-MM-dd HH:mm:ss"
+ style="width: 100%"
+ >
+ </el-date-picker>
+ </el-form-item>
+ <el-form-item label="关闭时间" prop="close_time">
+ <el-date-picker
+ v-model="dataForm.close_time"
+ type="datetime"
+ placeholder="选择关闭时间"
+ format="yyyy-MM-dd HH:mm:ss"
+ value-format="yyyy-MM-dd HH:mm:ss"
+ style="width: 100%"
+ >
+ </el-date-picker>
+ </el-form-item>
+ <el-form-item label="支付时间" prop="pay_time">
+ <el-date-picker
+ v-model="dataForm.pay_time"
+ type="datetime"
+ placeholder="选择支付时间"
+ format="yyyy-MM-dd HH:mm:ss"
+ value-format="yyyy-MM-dd HH:mm:ss"
+ style="width: 100%"
+ >
+ </el-date-picker>
+ </el-form-item>
+ </el-form>
+ <span slot="footer" class="dialog-footer">
+ <el-button @click="visible = false">取消</el-button>
+ <el-button type="primary" @click="dataFormSubmit()">确定</el-button>
+ </span>
+ </el-dialog>
+</template>
+
+<script>
+import { Debounce } from "@/utils/debounce";
+export default {
+ data() {
+ return {
+ visible: false,
+ dataForm: {
+ order_no: "",
+ create_time: "",
+ handle_time: "",
+ close_time: "",
+ pay_time: "",
+ },
+ dataRule: {},
+ };
+ },
+ methods: {
+ // 格式化时间为 yyyy-MM-dd HH:mm:ss 格式
+ formatDateTimeForPicker(dateTime) {
+ if (!dateTime) return "";
+
+ let date;
+ // 如果是字符串格式(可能包含T)
+ if (typeof dateTime === "string") {
+ // 替换T为空格,移除毫秒和时区
+ const cleaned = dateTime.replace("T", " ").replace(/\.\d{3}Z?$/, "").replace(/Z$/, "");
+ // 如果已经是 yyyy-MM-dd HH:mm:ss 格式,直接返回
+ if (/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$/.test(cleaned)) {
+ return cleaned;
+ }
+ date = new Date(dateTime);
+ } else if (dateTime instanceof Date) {
+ date = dateTime;
+ } else {
+ return "";
+ }
+
+ // 检查日期是否有效
+ if (isNaN(date.getTime())) {
+ return "";
+ }
+
+ // 格式化为 yyyy-MM-dd HH:mm:ss
+ 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}`;
+ },
+ init(row) {
+ this.dataForm = {
+ order_no: row.order_no || "",
+ create_time: this.formatDateTimeForPicker(row.create_time),
+ handle_time: this.formatDateTimeForPicker(row.handle_time),
+ close_time: this.formatDateTimeForPicker(row.close_time),
+ pay_time: this.formatDateTimeForPicker(row.pay_time),
+ };
+ this.visible = true;
+ },
+ handClose() {
+ // 关闭时重置表单
+ this.$nextTick(() => {
+ if (this.$refs["dataForm"]) {
+ this.$refs["dataForm"].clearValidate();
+ }
+ });
+ },
+ // 表单提交
+ dataFormSubmit: Debounce(function () {
+ this.$refs["dataForm"].validate((valid) => {
+ if (!valid) {
+ return;
+ }
+
+ // 格式化时间字段,确保不包含"T"
+ const formatTime = (time) => {
+ if (!time) return "";
+ return time.toString().replace("T", " ").replace(/\.\d{3}Z?$/, "");
+ };
+
+ this.$http({
+ url: this.$http.adornUrl(`/c2cOrder/updateDate`),
+ method: "post",
+ data: this.$http.adornData({
+ orderNo: this.dataForm.order_no,
+ createDate: formatTime(this.dataForm.create_time),
+ handleTime: formatTime(this.dataForm.handle_time),
+ closeDate: formatTime(this.dataForm.close_time),
+ payDate: formatTime(this.dataForm.pay_time),
+ }),
+ }).then(({ data }) => {
+ if (data.code == 0) {
+ this.$message({
+ message: "修改时间成功",
+ type: "success",
+ duration: 1500,
+ onClose: () => {
+ this.visible = false;
+ this.$emit("refreshDataList", this.page);
+ },
+ });
+ } else {
+ this.$message({
+ message: data.msg || "修改时间失败",
+ type: "error",
+ duration: 1500,
+ });
+ }
+ });
+ });
+ }),
+ },
+};
+</script>
+
+<style lang="scss" scoped>
+::v-deep .el-dialog__body {
+ padding: 20px 20px;
+}
+
+::v-deep .avue-crud__menu {
+ height: auto;
+ min-height: 0px;
+}
+</style>
+
diff --git a/src/views/modules/c2c/c2c_pay_order.vue b/src/views/modules/c2c/c2c_pay_order.vue
index 10af444..8c4de19 100644
--- a/src/views/modules/c2c/c2c_pay_order.vue
+++ b/src/views/modules/c2c/c2c_pay_order.vue
@@ -58,6 +58,8 @@
" @click.stop="passtHandle(scope.row, 'n')">手动放行</el-button>
<el-button type="primary" icon="el-icon-edit" size="small" v-if="scope.row.state == '0'"
@click.stop="passtHandle(scope.row)">一键通过</el-button>
+ <el-button type="primary" icon="el-icon-time" size="small"
+ @click.stop="updateTimeHandle(scope.row)">修改时间</el-button>
</template>
</avue-crud>
<!-- 弹窗, 新增 / 修改 -->
@@ -80,6 +82,9 @@
<!-- 取消订单 -->
<passtpn v-if="passtpnVisible" @refreshDataList="getDataList" ref="passtpnUpdate">
</passtpn>
+ <!-- 修改时间 -->
+ <timeUpdate v-if="timeUpdateVisible" @refreshDataList="getDataList" ref="timeUpdate">
+ </timeUpdate>
</div>
</template>
<script>
@@ -91,6 +96,7 @@
import otherMsg from "./c2c-order-other-msg";
import deletMsg from "./c2c-ord-delet";
import passtpn from "./c2c-ord-passtpn";
+import timeUpdate from "./c2c-order-time-update";
export default {
data() {
return {
@@ -104,6 +110,7 @@
payMsgVisible: false,
parametersFlag: false,
lastVisible: false,
+ timeUpdateVisible: false,
tableOption: tableOption,
page: {
total: 0, // 总页数
@@ -120,6 +127,7 @@
otherMsg,
deletMsg,
passtpn,
+ timeUpdate,
},
created() {
this.getC2cPaymentMethodType();
@@ -240,6 +248,12 @@
this.$refs.passtpnUpdate.init(row, n);
});
},
+ updateTimeHandle(row) {
+ this.timeUpdateVisible = true;
+ this.$nextTick(() => {
+ this.$refs.timeUpdate.init(row);
+ });
+ },
// 删除
deleteHandle(id) {
var userIds = id
diff --git a/src/views/modules/user-relation/basics-variety-add-or-update.vue b/src/views/modules/user-relation/basics-variety-add-or-update.vue
index 7f4ab9b..60c5781 100644
--- a/src/views/modules/user-relation/basics-variety-add-or-update.vue
+++ b/src/views/modules/user-relation/basics-variety-add-or-update.vue
@@ -55,7 +55,7 @@
></el-input>
</el-form-item>
- <span>证件照</span>
+ <!-- <span>证件照</span>
<el-divider></el-divider>
<el-row>
<el-col :span="8">
@@ -103,7 +103,7 @@
</el-upload>
</el-form-item>
</el-col>
- </el-row>
+ </el-row> -->
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="visible = false">关闭</el-button>
--
Gitblit v1.9.3