feat(绑定/寄件):逻辑修改
This commit is contained in:
parent
70067fb4dd
commit
9a30ed22f6
|
@ -195,6 +195,14 @@ export default {
|
|||
data: data,
|
||||
});
|
||||
},
|
||||
//寄件修改,从我的样本列表进入,
|
||||
sampleEdit(data, sampleId) {
|
||||
return request({
|
||||
url: BASE_API + `/sample/bind/edit/${sampleId}/`,
|
||||
method: "post",
|
||||
data: data,
|
||||
});
|
||||
},
|
||||
//上传文件
|
||||
uploadFile(data) {
|
||||
return request({
|
||||
|
|
|
@ -36,7 +36,14 @@
|
|||
</view>
|
||||
<view class="bind-samples-box-btns">
|
||||
<button @click="reScan">重新扫码</button>
|
||||
<button class="button2" @click="bingSample">确定</button>
|
||||
|
||||
<button
|
||||
v-if="fromType == 'sampleList'"
|
||||
class="button2"
|
||||
@click="bingSample2">
|
||||
确定2
|
||||
</button>
|
||||
<button v-else class="button2" @click="bingSample">确定1</button>
|
||||
</view>
|
||||
</view>
|
||||
<modalCount :isShow="isShow" :content="content"></modalCount>
|
||||
|
@ -69,13 +76,19 @@ import { sampleTypeList } from "@/common/js/data.js";
|
|||
|
||||
const sampleId = ref();
|
||||
onLoad((query) => {
|
||||
console.log("query", query);
|
||||
console.log("样本绑定页面,要绑定的样本是", query.sampleId);
|
||||
sampleId.value = query.sampleId;
|
||||
getMemberList();
|
||||
uni.$on("memberListRefresh", () => {
|
||||
getMemberList();
|
||||
});
|
||||
if (query.from == "sampleList") {
|
||||
//从样本列表,点击进入取件地址,点击成员进入
|
||||
fromType.value = query.from;
|
||||
}
|
||||
});
|
||||
const fromType = ref("");
|
||||
|
||||
/* 获取成员列表 */
|
||||
const memberList = ref([]);
|
||||
|
@ -180,61 +193,45 @@ onMounted(() => {
|
|||
isShow.value = false;
|
||||
});
|
||||
uni.$on("to-bind-sample", () => {
|
||||
console.log("to-bind-sample");
|
||||
//跳转
|
||||
uni.redirectTo({
|
||||
uni.navigateTo({
|
||||
url: "/pages/scan/bindSamples/bindSamples?sampleId=" + sampleCode.value,
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
//绑定
|
||||
//确定,跳转取件地址页面
|
||||
const bingSample = () => {
|
||||
console.log("要绑定的成员数据", memberList.value[selectedIndex.value]);
|
||||
console.log("要绑定的样本id", sampleId.value);
|
||||
if (!memberList.value[selectedIndex.value]) {
|
||||
uni.showToast({
|
||||
title: "请选择要绑定的成员",
|
||||
icon: "none",
|
||||
});
|
||||
return;
|
||||
}
|
||||
let data = {
|
||||
code: sampleId.value,
|
||||
member: memberList.value[selectedIndex.value].id,
|
||||
upload_time: "2024-10-14 16:44:00",
|
||||
};
|
||||
console.log("data", data);
|
||||
proxy.$api.user.bingSample(data).then((res) => {
|
||||
//绑定成功,跳转填写取件地址页面
|
||||
console.log("绑定样本结果", res);
|
||||
if (res.code == 200) {
|
||||
//存储绑定的信息
|
||||
proxy.$store.user.useUserStore().bindSample = sampleId.value;
|
||||
proxy.$store.user.useUserStore().bingPerson =
|
||||
memberList.value[selectedIndex.value].id;
|
||||
uni.showToast({
|
||||
title: res.msg,
|
||||
icon: "none",
|
||||
});
|
||||
setTimeout(() => {
|
||||
uni.redirectTo({
|
||||
url:
|
||||
"/pages/user/address/fillInAddress/fillInAddress?sampleId=" +
|
||||
sampleId.value,
|
||||
});
|
||||
}, 2000);
|
||||
//取件地址页面需要的数据
|
||||
proxy.$store.user.useUserStore().fillInAddressMember =
|
||||
memberList.value[selectedIndex.value];
|
||||
proxy.$store.user.useUserStore().fillInAddressSample = sampleId.value;
|
||||
proxy.$store.user.useUserStore().fillInAddressSampleId = res.data.id;
|
||||
} else {
|
||||
uni.showToast({
|
||||
title: res.msg,
|
||||
icon: "none",
|
||||
proxy.$store.user.useUserStore().fillInAddressSample = sampleId.value;
|
||||
proxy.$store.user.useUserStore().bindPerson =
|
||||
memberList.value[selectedIndex.value];
|
||||
uni.navigateTo({
|
||||
url: "/pages/user/address/fillInAddress/fillInAddress",
|
||||
});
|
||||
}
|
||||
};
|
||||
//从样本列表,点击进入取件地址,点击成员进入,选择成员后,点击确定,再返回取件地址并更新成员
|
||||
const bingSample2 = () => {
|
||||
if (!memberList.value[selectedIndex.value]) {
|
||||
uni.showToast({
|
||||
title: "请选择要绑定的成员",
|
||||
icon: "none",
|
||||
});
|
||||
return;
|
||||
} else {
|
||||
proxy.$store.user.useUserStore().fillInAddressSample = sampleId.value;
|
||||
proxy.$store.user.useUserStore().bindPerson =
|
||||
memberList.value[selectedIndex.value];
|
||||
uni.navigateBack({ delta: 1 });
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
|
|
|
@ -10,8 +10,9 @@
|
|||
<text class="name">{{ sendInfo.name }}</text>
|
||||
<text class="mobile">{{ sendInfo.mobile }}</text>
|
||||
</view>
|
||||
<view class="sender-info-right" @click="toPage">
|
||||
<text>地址簿</text>
|
||||
<view class="sender-info-right">
|
||||
<text v-if="props.sampleStatus && props.fromType == 1">查看</text>
|
||||
<text v-else="!props.sampleStatus" @click="toPage">地址簿</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="sender-info-left-info-row2">
|
||||
|
@ -34,6 +35,18 @@ import {
|
|||
nextTick,
|
||||
} from "vue";
|
||||
import { onShow, onHide, onReady, onLoad, onLaunch } from "@dcloudio/uni-app";
|
||||
|
||||
const props = defineProps({
|
||||
fromType: {
|
||||
type: Number, //1是从样本列表进入,2 从样本绑定进入
|
||||
default: 0,
|
||||
},
|
||||
sampleStatus: {
|
||||
type: Boolean,
|
||||
default: true,
|
||||
},
|
||||
});
|
||||
|
||||
//工具
|
||||
const { proxy } = getCurrentInstance();
|
||||
const toPage = () => {
|
||||
|
|
|
@ -9,27 +9,62 @@
|
|||
<view class="content-nopadding-box">
|
||||
<personInfoSample
|
||||
:memberInfo="memberData"
|
||||
:click="false"
|
||||
:click="true"
|
||||
:toPage="`/pages/scan/bindSamples/bindSamples?sampleId=${
|
||||
proxy.$store.user.useUserStore().fillInAddressSample
|
||||
}&from=sampleList`"
|
||||
:showSample="true"
|
||||
:sampleCode="
|
||||
proxy.$store.user.useUserStore().fillInAddressSample
|
||||
"></personInfoSample>
|
||||
<senderInfo></senderInfo>
|
||||
<view class="fill-address-time-row">
|
||||
<view class="fill-address-left">
|
||||
<image
|
||||
src="@/common/img/scan/time.svg"
|
||||
mode="scaleToFill"
|
||||
class="image" />
|
||||
<view class="fill-address-left-text">采样时间</view>
|
||||
</view>
|
||||
<view class="fill-address-right">
|
||||
<uni-datetime-picker
|
||||
type="date"
|
||||
v-model="formData.upload_time"
|
||||
:disabled="sampleStatus2 && fromType == 1"
|
||||
placeholder="选择采样时间"
|
||||
@change="changeSampleTime" />
|
||||
</view>
|
||||
</view>
|
||||
<senderInfo
|
||||
:fromType="fromType"
|
||||
:sampleStatus="sampleStatus"></senderInfo>
|
||||
<view v-if="true" class="fill-address-time-row">
|
||||
<view class="fill-address-left">
|
||||
<image
|
||||
src="@/common/img/scan/time.svg"
|
||||
mode="scaleToFill"
|
||||
class="image" />
|
||||
<view class="fill-address-left-text">取件时间</view>
|
||||
</view>
|
||||
<view class="fill-address-right">
|
||||
<uni-datetime-picker
|
||||
type="datetime"
|
||||
v-model="formData.sendStartTm"
|
||||
placeholder="选择取件时间"
|
||||
@change="changeLog" />
|
||||
@change="changeSendTime" />
|
||||
</view>
|
||||
<button class="button-blue-single-bottom" @click="sendConfirm">
|
||||
保存
|
||||
</view>
|
||||
<button
|
||||
v-if="!sampleStatus"
|
||||
class="button-blue-single-bottom"
|
||||
@click="bindSample">
|
||||
保存1
|
||||
</button>
|
||||
<!-- pending,waiting_pickup,可以修改成员和采样时间的 -->
|
||||
<button
|
||||
v-if="sampleStatus && fromType == 1"
|
||||
class="button-blue-single-bottom"
|
||||
@click="editSample">
|
||||
保存2
|
||||
</button>
|
||||
</view>
|
||||
</view>
|
||||
|
@ -48,6 +83,7 @@ import {
|
|||
} from "vue";
|
||||
import { onShow, onHide, onReady, onLoad, onLaunch } from "@dcloudio/uni-app";
|
||||
import { boxHeight } from "@/utils/systemInfo.js";
|
||||
import { getLabelFromValue, formatDate } from "@/utils/tools";
|
||||
//组件
|
||||
import senderInfo from "../components/senderInfo.vue";
|
||||
//
|
||||
|
@ -60,20 +96,52 @@ onLoad((query) => {
|
|||
if (query.from == "sampleList") {
|
||||
//从样本列表进入
|
||||
console.log("样本列表进入");
|
||||
formData.value.sendStartTm =
|
||||
proxy.$store.user.useUserStore().fillInAddressInfo.sendStartTm; //取件时间
|
||||
formData.value.upload_time = proxy.$store.user.useUserStore().sampleTime; //取件时间
|
||||
fromType.value = 1;
|
||||
} else {
|
||||
//从样本绑定进入
|
||||
console.log("从样本绑定进入");
|
||||
fromType.value = 2;
|
||||
//采样时间默认今天
|
||||
formData.value.upload_time = formatDate(new Date());
|
||||
}
|
||||
memberData.value = proxy.$store.user.useUserStore().fillInAddressMember;
|
||||
formData.value.sendStartTm =
|
||||
proxy.$store.user.useUserStore().fillInAddressInfo.sendStartTm; //取件时间
|
||||
memberData.value = proxy.$store.user.useUserStore().bindPerson;
|
||||
console.log("fromType.value", fromType.value);
|
||||
});
|
||||
onShow(() => {
|
||||
console.log(
|
||||
"当前地址信息",
|
||||
proxy.$store.user.useUserStore().fillInAddressAddress
|
||||
);
|
||||
memberData.value = proxy.$store.user.useUserStore().bindPerson;
|
||||
/* ('pending', '待寄样'), //都可以改
|
||||
('waiting_pickup', '待上门取件'), //可以改人员和采样时间
|
||||
('shipping', '运输中'), // 都不可以改
|
||||
('testing', '检测中'),// 都不可以改
|
||||
('completed', '已完成'), // 都不可以改
|
||||
*/
|
||||
|
||||
if (proxy.$store.user.useUserStore().sampleStatus == "pending") {
|
||||
sampleStatus.value = false;
|
||||
} else {
|
||||
sampleStatus.value = true; //已下订单,不可修改,只能退单再寄
|
||||
}
|
||||
if (
|
||||
proxy.$store.user.useUserStore().sampleStatus !== "pending" &&
|
||||
proxy.$store.user.useUserStore().sampleStatus !== "waiting_pickup"
|
||||
) {
|
||||
sampleStatus2.value = true; //已寄出,
|
||||
} else {
|
||||
sampleStatus2.value = false; //未寄出
|
||||
}
|
||||
});
|
||||
|
||||
const fromType = ref(0); //1-从样本列表进入,2-从样本绑定进入
|
||||
const sampleStatus = ref(false); //true样本已下单/false未下单,proxy.$store.user.useUserStore().sampleStatus
|
||||
const sampleStatus2 = ref(false); //true已寄出/false未寄出,样本是否寄出,已寄出就不显示取件时间
|
||||
|
||||
const formData = ref({
|
||||
cargoDetails: [
|
||||
{
|
||||
|
@ -102,33 +170,14 @@ const formData = ref({
|
|||
},
|
||||
],
|
||||
remark: "",
|
||||
sendStartTm: null,
|
||||
sendStartTm: null, //取件时间
|
||||
upload_time: null, //采样时间
|
||||
});
|
||||
|
||||
/* 保存 */
|
||||
const fillInAddressSampleId = ref("");
|
||||
const fullAddress = ref("");
|
||||
const sendConfirm = () => {
|
||||
// console.log("formData", formData.value);
|
||||
console.log(
|
||||
"fillInAddressMember",
|
||||
proxy.$store.user.useUserStore().fillInAddressMember
|
||||
);
|
||||
console.log(
|
||||
"fillInAddressAddress",
|
||||
proxy.$store.user.useUserStore().fillInAddressAddress
|
||||
);
|
||||
console.log(
|
||||
"fillInAddressSample",
|
||||
proxy.$store.user.useUserStore().fillInAddressSample
|
||||
);
|
||||
let fullAddress =
|
||||
proxy.$store.user.useUserStore().fillInAddressAddress.address.province +
|
||||
proxy.$store.user.useUserStore().fillInAddressAddress.address.city +
|
||||
proxy.$store.user.useUserStore().fillInAddressAddress.address.district +
|
||||
proxy.$store.user.useUserStore().fillInAddressAddress.address
|
||||
.detail_address;
|
||||
if (
|
||||
hasValue(fullAddress, "请选择寄件地址") &&
|
||||
hasValue(formData.value.sendStartTm, "请选择时间")
|
||||
) {
|
||||
let data = {
|
||||
cargoDetails: [
|
||||
{
|
||||
|
@ -140,12 +189,12 @@ const sendConfirm = () => {
|
|||
],
|
||||
contactInfoList: [
|
||||
{
|
||||
address: fullAddress, //-地址
|
||||
address: fullAddress.value, //-地址
|
||||
company: "", //-公司
|
||||
contact: proxy.$store.user.useUserStore().fillInAddressMember.name, //-寄件人
|
||||
contact: proxy.$store.user.useUserStore().bindPerson.name, //-寄件人
|
||||
contactType: 1, //寄
|
||||
country: "CN",
|
||||
mobile: proxy.$store.user.useUserStore().fillInAddressMember.mobile, //-寄件人电话
|
||||
mobile: proxy.$store.user.useUserStore().bindPerson.mobile, //-寄件人电话
|
||||
},
|
||||
{
|
||||
address: "广东省广州市白云区湖北大厦",
|
||||
|
@ -160,9 +209,7 @@ const sendConfirm = () => {
|
|||
sendStartTm: formData.value.sendStartTm,
|
||||
};
|
||||
console.log("data", data);
|
||||
proxy.$api.user
|
||||
.sendSample(data, proxy.$store.user.useUserStore().fillInAddressSampleId)
|
||||
.then((res) => {
|
||||
proxy.$api.user.sendSample(data, fillInAddressSampleId.value).then((res) => {
|
||||
console.log("res", res);
|
||||
if (res.code == 200) {
|
||||
uni.showToast({
|
||||
|
@ -176,6 +223,84 @@ const sendConfirm = () => {
|
|||
}, 2000);
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
//从绑定样本进入,保存
|
||||
const bindSample = () => {
|
||||
console.log(
|
||||
"proxy.$store.user.useUserStore().bindPerson",
|
||||
proxy.$store.user.useUserStore().bindPerson
|
||||
);
|
||||
|
||||
if (
|
||||
hasValue(
|
||||
proxy.$store.user.useUserStore().fillInAddressAddress.address,
|
||||
"请选择寄件地址"
|
||||
) &&
|
||||
hasValue(formData.value.sendStartTm, "请选择取件时间") &&
|
||||
hasValue(formData.value.upload_time, "请选择采样时间")
|
||||
) {
|
||||
fullAddress.value =
|
||||
proxy.$store.user.useUserStore().fillInAddressAddress.address.province +
|
||||
proxy.$store.user.useUserStore().fillInAddressAddress.address.city +
|
||||
proxy.$store.user.useUserStore().fillInAddressAddress.address.district +
|
||||
proxy.$store.user.useUserStore().fillInAddressAddress.address
|
||||
.detail_address;
|
||||
let data = {
|
||||
code: proxy.$store.user.useUserStore().fillInAddressSample,
|
||||
member: proxy.$store.user.useUserStore().bindPerson.id,
|
||||
upload_time: formData.value.upload_time,
|
||||
};
|
||||
console.log("data", data);
|
||||
proxy.$api.user.bingSample(data).then((res) => {
|
||||
//绑定成功,跳转填写取件地址页面
|
||||
console.log("绑定样本结果", res);
|
||||
if (res.code == 200) {
|
||||
fillInAddressSampleId.value = res.data.id;
|
||||
sendConfirm();
|
||||
} else {
|
||||
uni.showToast({
|
||||
title: res.msg,
|
||||
icon: "none",
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
};
|
||||
const editSample = () => {
|
||||
console.log("编辑样本");
|
||||
//sampleEdit
|
||||
if (hasValue(formData.value.upload_time, "请选择采样时间")) {
|
||||
let data = {
|
||||
member: proxy.$store.user.useUserStore().bindPerson.id,
|
||||
upload_time: formData.value.upload_time,
|
||||
};
|
||||
console.log("data", data);
|
||||
proxy.$api.user
|
||||
.sampleEdit(data, proxy.$store.user.useUserStore().fillInAddressSampleId)
|
||||
.then((res) => {
|
||||
//绑定成功,跳转填写取件地址页面
|
||||
console.log("绑定样本结果", res);
|
||||
if (res.code == 200) {
|
||||
// fillInAddressSampleId.value = res.data.id;
|
||||
// sendConfirm();
|
||||
uni.showToast({
|
||||
title: res.msg,
|
||||
icon: "none",
|
||||
});
|
||||
setTimeout(() => {
|
||||
uni.redirectTo({
|
||||
url: "pages/user/sampleManagement/sampleManagement",
|
||||
});
|
||||
});
|
||||
uni.$emit("refreshSampleList");
|
||||
} else {
|
||||
uni.showToast({
|
||||
title: res.msg,
|
||||
icon: "none",
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -209,14 +334,21 @@ const hasValue = (value, msg) => {
|
|||
border-radius: $uni-card-radius;
|
||||
padding: 15rpx 24rpx;
|
||||
margin-top: 24rpx;
|
||||
margin-bottom: 24rpx;
|
||||
.fill-address-left {
|
||||
// display: in;
|
||||
width: 300rpx;
|
||||
.image {
|
||||
width: 48rpx;
|
||||
height: 48rpx;
|
||||
margin-right: 24rpx;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.fill-address-left-text {
|
||||
display: inline-flex;
|
||||
}
|
||||
}
|
||||
.fill-address-right {
|
||||
text-align: right;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -230,5 +362,8 @@ const hasValue = (value, msg) => {
|
|||
.icon-calendar {
|
||||
display: none;
|
||||
}
|
||||
.uni-date__x-input {
|
||||
color: $uni-primary;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -77,18 +77,22 @@ const sampleClick = (id) => {
|
|||
let memberInfo = {
|
||||
...props.sampleInfo.member,
|
||||
};
|
||||
proxy.$store.user.useUserStore().fillInAddressMember = memberInfo;
|
||||
proxy.$store.user.useUserStore().bindPerson = memberInfo;
|
||||
} else if (Object.keys(props.sampleInfo.member).length === 0) {
|
||||
let memberInfo = {
|
||||
...uni.getStorageSync("userInfo"),
|
||||
relation: "自己",
|
||||
};
|
||||
proxy.$store.user.useUserStore().fillInAddressMember = memberInfo;
|
||||
proxy.$store.user.useUserStore().bindPerson = memberInfo;
|
||||
}
|
||||
proxy.$store.user.useUserStore().fillInAddressSample = props.sampleInfo.code;
|
||||
proxy.$store.user.useUserStore().fillInAddressSampleId = id;
|
||||
proxy.$store.user.useUserStore().fillInAddressSample =
|
||||
props.sampleInfo.code || "";
|
||||
proxy.$store.user.useUserStore().fillInAddressSampleId = id || "";
|
||||
proxy.$store.user.useUserStore().fillInAddressInfo =
|
||||
props.sampleInfo.express.data;
|
||||
props.sampleInfo.express.data || "";
|
||||
proxy.$store.user.useUserStore().sampleTime =
|
||||
props.sampleInfo.upload_time || "";
|
||||
proxy.$store.user.useUserStore().sampleStatus = props.sampleInfo.status || "";
|
||||
};
|
||||
const formatDateTime = (dateTimeString) => {
|
||||
return dateTimeString.replace("T", " ");
|
||||
|
|
|
@ -5,14 +5,16 @@ export const useUserStore = defineStore("user", () => {
|
|||
const memberList = ref([]); //成员管理列表
|
||||
const editMember = ref({}); //要修改的成员信息
|
||||
const editAddress = ref({}); //要修改的地址信
|
||||
const bindSample = ref(""); //绑定样本页面,要绑定的样本id
|
||||
const bingPerson = ref({}); //绑定样本页面,要绑定的成员信息
|
||||
const fillInAddressMember = ref({}); //填写取件地址,成员/用户
|
||||
const bindSample = ref(""); //绑定样本页面,要绑定的样本码
|
||||
const bindPerson = ref({}); //绑定样本页面,要绑定的成员信息,bindPerson就可以
|
||||
const fillInAddressMember = ref({}); //填写取件地址,成员/用户,
|
||||
const fillInAddressSample = ref(""); //填写取件地址,样本码
|
||||
const fillInAddressSampleId = ref(""); //填写取件地址,样本id
|
||||
const fillInAddressAddress = ref({}); //填写取件地址,地址信息
|
||||
const fillInAddressTime = ref({}); //填写取件地址,时间信息
|
||||
const fillInAddressInfo = ref({}); //填写取件地址,寄件人信息,寄件之后再进入
|
||||
const sampleTime = ref(""); //采样时间,从我的样本进入时回显
|
||||
const sampleStatus = ref(""); //从样本列表进入取件地址,选取的样本的状态
|
||||
//获取用户信息,并存储到本地,然后更新我的页面的数据
|
||||
const getUserInfo = async () => {
|
||||
request({
|
||||
|
@ -31,13 +33,15 @@ export const useUserStore = defineStore("user", () => {
|
|||
editMember,
|
||||
editAddress,
|
||||
bindSample,
|
||||
bingPerson,
|
||||
bindPerson,
|
||||
fillInAddressMember,
|
||||
fillInAddressAddress,
|
||||
fillInAddressTime,
|
||||
fillInAddressSample,
|
||||
fillInAddressSampleId,
|
||||
fillInAddressInfo,
|
||||
sampleTime,
|
||||
sampleStatus,
|
||||
getUserInfo,
|
||||
};
|
||||
});
|
||||
|
|
|
@ -151,6 +151,20 @@ export const calculateAge = (birthDateString) => {
|
|||
|
||||
return age;
|
||||
};
|
||||
//把new Date()的时间改为:2023-5-31格式
|
||||
export const formatDate = (date) => {
|
||||
const year = date.getFullYear();
|
||||
const month = (date.getMonth() + 1).toString().padStart(2, "0");
|
||||
const day = date.getDate().toString().padStart(2, "0");
|
||||
return `${year}-${month}-${day}`;
|
||||
};
|
||||
//把时间改为 2024年5月32号这样的格式
|
||||
export const formatDate1 = (date) => {
|
||||
const year = date.getFullYear();
|
||||
const month = (date.getMonth() + 1).toString().padStart(2, "0");
|
||||
const day = date.getDate().toString().padStart(2, "0");
|
||||
return `${year}年${month}月${day}日`;
|
||||
};
|
||||
|
||||
/* 图片工具 */
|
||||
//图片转base64
|
||||
|
|
Loading…
Reference in New Issue
Block a user