From 8ef71c69fb1d43704644fef4e908f3f2bae01f35 Mon Sep 17 00:00:00 2001 From: yuanteng <1876787513@qq.com> Date: Tue, 25 Mar 2025 09:36:50 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E9=80=80=E6=AC=BE=E9=80=9F?= =?UTF-8?q?=E5=BA=A6=E6=85=A2=EF=BC=8C=E5=86=99=E7=9C=9F=E9=80=80=E6=AC=BE?= =?UTF-8?q?=E5=A4=B1=E8=B4=A5=E9=97=AE=E9=A2=98v2.0.1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/layout/components/richTextUtil.vue | 3 +- src/views/Commodity/EntityProductDetail.vue | 8 +-- src/views/Commodity/MerchandiseCenter.vue | 2 +- .../CostumeAppointments/AppointmentOrder.vue | 23 +++---- src/views/Login.vue | 26 ++++++-- src/views/Orders/OrderList.vue | 20 +++--- src/views/Orders/PendingServiceOrderList.vue | 66 ++----------------- src/views/Orders/ServiceOrderList.vue | 22 ++++--- .../OtherManagement/CourseCarouseCenter.vue | 10 +-- .../OtherManagement/EntityCarouseCenter.vue | 12 ++-- .../OtherManagement/FestivalManagement.vue | 2 +- .../OutfitLease/OutfitLeaseOrderCenter.vue | 20 +++--- src/views/User/PersonalCenter.vue | 3 +- src/views/User/SingleUserDetail.vue | 2 +- 14 files changed, 96 insertions(+), 123 deletions(-) diff --git a/src/layout/components/richTextUtil.vue b/src/layout/components/richTextUtil.vue index 26d4e42..b8520c5 100644 --- a/src/layout/components/richTextUtil.vue +++ b/src/layout/components/richTextUtil.vue @@ -42,7 +42,7 @@ const editorConfig = { } editorConfig.readOnly = props.disableRich //控制富文本是否启用 -editorConfig.autoFocus = false +editorConfig.autoFocus = false //默认不对焦 editorConfig.MENU_CONF['uploadImage'] = { allowedFileTypes: ['image/*'], //限定只能上传图片格式 maxFileSize: 1024 * 1024 * 10, //最大图片10M @@ -73,7 +73,6 @@ onBeforeUnmount(() => { const handleCreated = (editor) => { editorRef.value = editor // 记录 editor 实例,重要! - console.log(editor.getAllMenuKeys()) } const handleChange = (editor) => { //当选项改变时触发emit传值 diff --git a/src/views/Commodity/EntityProductDetail.vue b/src/views/Commodity/EntityProductDetail.vue index 3daf8fa..b28545c 100644 --- a/src/views/Commodity/EntityProductDetail.vue +++ b/src/views/Commodity/EntityProductDetail.vue @@ -37,7 +37,7 @@ <div class="festivalBox"> <el-form-item label="节日名称" prop="festivalName" style="width: 300px;"> <el-select v-model="detailFrom.festivalName" placeholder="请选择" > - <el-option v-for="item in festivalArr" :key="item" :label="item.name" :value="item.name" /> + <el-option v-for="(item,index) in festivalArr" :key="index" :label="item.name" :value="item.name" /> </el-select> </el-form-item> <el-form-item label="产品类别" prop="type" style="width: 240px;"> @@ -137,12 +137,12 @@ const getFestivalArr = async () => { const getProductInfo = async () => { //商品信息 const res = await myAxios.post('/goods/getById',{ id: route.params.id }) - console.log('后端查询商品--->',res.data.data) + console.log('后端查询商品--->',res.data) if(res.data.code === 1) { previewImgUrl.value = res.data.data.goodImg detailFrom.value = res.data.data previewRichText.value = res.data.data.richText - detailFrom.value.festivalName = res.data.data.festivalName.substring(0,1) + detailFrom.value.festivalName = res.data.data.festivalName.split(';')[0] labelList.value = res.data.data.label.split(';') } } @@ -156,7 +156,7 @@ const getTypeList = async () => { //获取类别列表作为可选项 //提交表单 const onSubmit = async () => { - console.log('提交前的表格',detailFrom.value) + // console.log('提交前的表格',detailFrom.value) const values = Object.values(detailFrom.value ); // 使用some()方法来检查是否有任何值为空 if (values.some((value: any) => value === null || value === undefined || value === '' || value === 'PHA+PGJyPjwvcD4=')) { diff --git a/src/views/Commodity/MerchandiseCenter.vue b/src/views/Commodity/MerchandiseCenter.vue index 60bfef1..2fc6663 100644 --- a/src/views/Commodity/MerchandiseCenter.vue +++ b/src/views/Commodity/MerchandiseCenter.vue @@ -126,7 +126,7 @@ onMounted(() => { //页面加载时获取商品列表和分类页表 const getProductList = async () => { try { const res = await myAxios.post('/goods/list/page', {...searchParams.value}); - console.log('res--->', res.data) + // console.log('res--->', res.data) if (res.data.code === 1) { tableData.value = res.data.data.records; total.value = parseInt(res.data.data.total) //总数据量,用于分页 diff --git a/src/views/CostumeAppointments/AppointmentOrder.vue b/src/views/CostumeAppointments/AppointmentOrder.vue index b6ef4d4..8d3df32 100644 --- a/src/views/CostumeAppointments/AppointmentOrder.vue +++ b/src/views/CostumeAppointments/AppointmentOrder.vue @@ -34,7 +34,7 @@ </template> </el-popconfirm> <el-popconfirm confirm-button-text='是' cancel-button-text='否' icon="InfoFilled" icon-color="red" - title="拍摄是否完成?" @confirm="changeOrderStatus(scope.row)" width=180 v-if="['待发货'].includes(scope.row.orderStatus)"> + title="拍摄是否完成?" @confirm="changeOrderStatus(scope.row,'交易成功')" width=180 v-if="['待发货'].includes(scope.row.orderStatus)"> <template #reference> <el-button size="small" type="primary" plain>拍摄完成</el-button> </template> @@ -99,7 +99,7 @@ const getOrderList = async () => { if (res.data.code === 1) { tableData.value = res.data.data.records; total.value = parseInt(res.data.data.total) - console.log('表单信息--->', tableData.value); + // console.log('表单信息--->', tableData.value); } else { ElMessage({ message: '获取数据失败', @@ -120,30 +120,31 @@ const showDetail = (row: any) => { } }) }; -const changeOrderStatus = async (row: any) => { //改变订单状态 +const changeOrderStatus = async (row: any,msg: string) => { //改变订单状态 const res = await myAxios.post('/advanceOrder/update/orderStatus',{ id: row.id, - orderStatus: '交易成功' + orderStatus: msg }) if(res.data.code === 1) { await getOrderList() - SuccessInfo('订单确认完成') + SuccessInfo(msg) } else { WarnInfo(res.data.message) } } const deleteOrder = async (row: any) => { //微信退款 loading.value = true - console.log('row-->', row) - const res = await myAxios.post('/wechat/refund/create', { id: row.id }) //传入订单号取消订单并退款 - console.log(res) - setTimeout(() => { + // console.log('row-->', row) + const res = await myAxios.post('/wechat/refund/photo/create', { id: row.id }) //传入订单号取消订单并退款 + // console.log(res) + setTimeout(async () => { if (res.data.code === 1) { SuccessInfo('退款成功') - getOrderList() + await changeOrderStatus(row,'已退款') + await getOrderList() loading.value = false } - }, 10000) + }, 3000) } const reset = () => { //重置搜索框 orderNumber.value = '' diff --git a/src/views/Login.vue b/src/views/Login.vue index 2cba877..85c8bb5 100644 --- a/src/views/Login.vue +++ b/src/views/Login.vue @@ -20,15 +20,16 @@ <el-input size="large" style="margin: 10px 0;" :prefix-icon="Lock" show-password v-model="password"></el-input> </el-form-item> <div style="margin: 10px 0; text-align: right"> - <div style="display: block; + <el-button + style="display: block; font-size: 15px; width: 80%; margin: 35px auto 0 auto; text-align: center; border-radius: 20px; - background-color: rgb(172, 115, 82); - line-height: 40px; - " @click="Login">登录</div> + background-color: #AC7352; + " + @click="Login()" @keydown.enter="keyDown" size="large" ><p style="color: #ffffff">登录</p></el-button> </div> </el-form> @@ -41,8 +42,7 @@ </template> <script setup lang="ts"> -import { ref } from 'vue' -import { ElMessage } from 'element-plus' +import {onMounted, onUnmounted, ref} from 'vue' import { SuccessInfo, ErrorInfo, WarnInfo, CommInfo } from '@/utils/messageInfo'; import {useRouter} from 'vue-router' import myAxios from '@/api/myAxios'; @@ -55,6 +55,20 @@ const password = ref('') const router = useRouter() const store = userStore() +onMounted(()=>{ + window.addEventListener('keydown',keyDown) +}) + +onUnmounted(()=>{ + window.removeEventListener('keydown',keyDown,false) +}) + +//点击回车键登录 +const keyDown = (e:any) => { + if (e.keyCode == 13 || e.keyCode == 100) { + Login() + } +} const Login = async ()=>{ if(username.value === '' || password.value === '') { diff --git a/src/views/Orders/OrderList.vue b/src/views/Orders/OrderList.vue index 0dfaf33..f1071b6 100644 --- a/src/views/Orders/OrderList.vue +++ b/src/views/Orders/OrderList.vue @@ -66,7 +66,7 @@ 发货 </el-button> <el-popconfirm confirm-button-text='是' cancel-button-text='否' icon="InfoFilled" icon-color="red" - title="订单是否完成?" @confirm="successfulTransaction(scope.row.id)" width=180> + title="订单是否完成?" @confirm="orderTransaction(scope.row.id,'交易完成')" width=180> <template #reference> <el-button v-if="['待收货'].includes(scope.row.orderStatus)" size="small" type="success" plain>交易完成</el-button> @@ -273,17 +273,19 @@ const deleteOrder = async (row: any) => { //微信退款 console.log('row-->', row) const res = await myAxios.post('/wechat/refund/create', { id: row.id }) //传入订单号取消订单并退款 console.log(res) - setTimeout(() => { + setTimeout(async () => { if (res.data.code === 1) { SuccessInfo('退款成功') - getOrderList() + await orderTransaction(row.id,'已退款') + await getOrderList() loading.value = false } - }, 3) + }, 3000) } const reset = () => { //重置搜索框 orderNumber.value = ''; -}; +} + const load = (onum : any) => { //搜索的方法 searchParams.value.orderNumber = onum searchParams.value.current = 1 @@ -293,21 +295,21 @@ const cancelOrder = async (row: any) => { //取消订单的方法(未支付能 console.log('点击的这一行--->', row); const res = await myAxios.post('/order/cancel/id', { id: row.id }) if (res.data.code === 1) { - getOrderList() + await getOrderList() SuccessInfo('取消订单成功') } else { ErrorInfo('请求错误') } } -const successfulTransaction = async (oid: any) => { +const orderTransaction = async (oid: any,msg: string) => { // console.log('当前订单信息---->',oid) // loading.value = true const res = await myAxios.post('/order/update/all/orderStatus',{ id: oid, - orderStatus: '交易完成' + orderStatus: msg }) if (res.data.code === 1) { - SuccessInfo('订单完成') + SuccessInfo(msg) await getOrderList() loading.value = false } else { diff --git a/src/views/Orders/PendingServiceOrderList.vue b/src/views/Orders/PendingServiceOrderList.vue index df30ea3..1abc116 100644 --- a/src/views/Orders/PendingServiceOrderList.vue +++ b/src/views/Orders/PendingServiceOrderList.vue @@ -131,27 +131,13 @@ </div> </template> </el-dialog> - <!-- 发货弹窗--> - <el-dialog title="发货" v-model="shipments" width="60%"> - <el-form label-width="100px" size="default"> - <el-form-item label="快递单号" style="width: 300px;"> - <el-input v-model="shipment.trackingNumber"></el-input> - </el-form-item> - </el-form> - <template #footer> - <div class="dialog-footer"> - <el-button style="height: 30px;" @click=" shipments = false">取消</el-button> - <el-button style="height: 30px" type="primary" @click="deliverGoods">确认</el-button> - </div> - </template> - </el-dialog> </template> <script lang="ts" setup> import { onMounted, ref } from "vue"; import myAxios from "@/api/myAxios"; import { ElMessage } from "element-plus"; -import { SuccessInfo, ErrorInfo } from "@/utils/messageInfo"; +import {SuccessInfo, ErrorInfo, WarnInfo} from "@/utils/messageInfo"; import DatePicker from "@/layout/components/DatePicker.vue"; import TimePicker from "@/layout/components/TimePicker.vue"; import emitter from "@/utils/emitter"; @@ -162,11 +148,7 @@ const totalPage = ref(0); const title = ref('') const disabled = ref(true) const editForm: any = ref({});//编辑表单 -const shipment: any = ref({ - trackingNumber: null -})//物流单号 const DialogVisible = ref(false); //详情展示 -const shipments = ref(false) const goodId = ref('') const reservationDate = ref('') @@ -174,13 +156,10 @@ const timeSlot = ref('') const searchParams: any = ref({ //封装分页 current: 1, //当前页码 pageSize: 5, //每页显示条数 - // sortField: "id", //根据ID分类 sortOrder: "descend", //降序 - // goodId: goodId.value, - // reservationDate: reservationDate.value, - // timeSlot: timeSlot.value }) const loading = ref(false) + onMounted(() => { emitter.on('getReservationDate', (val: any) => { reservationDate.value = val @@ -245,33 +224,10 @@ const showDetail = (index: number, row: any) => { editForm.value = row; console.log('editForm--->', editForm.value); }; -//发货方法 -const currentId = ref<number | null>(null); -const openShipmentDialog = (id: number) => { - shipments.value = true; - currentId.value = id; -} -const deliverGoods = async () => { //发货方法 - if (currentId.value) { - const res = await myAxios.post('/order/update', { - id: currentId.value, - trackingNumber: shipment.value.trackingNumber - }) - if (res.data.code === 1) { - ElMessage({ - type: 'success', - message: '发货成功' - }) - getOrderList(); - } - } else { - ElMessage.error('更新失败,请检查字段') - } - shipments.value = false; -} + const refundOrder = async (row : any) => { //微信退款 loading.value = true - console.log('row-------------------------------------------------------------------------------------------------------------------------------->',row) + // console.log('row-------------------------------------------------------------------------------------------------------------------------------->',row) const res = await myAxios.post('/wechat/refund/part/create', { id: row.orderItemId }) //传入订单号取消订单并退款 console.log(res) if(res.data.code === 1) { @@ -279,9 +235,10 @@ const refundOrder = async (row : any) => { //微信退款 SuccessInfo('退款成功') getOrderList() loading.value = false - }, 5000) + }, 10000) } } + const reset = () => { //重置搜索框 goodId.value = '' reservationDate.value = '' @@ -298,16 +255,7 @@ const reset = () => { //重置搜索框 const load = () => { getOrderList() } //搜索的方法 -const cancelOrder = async (row: any) => { //取消订单的方法(未支付能取消) - console.log('点击的这一行--->', row); - const res = await myAxios.post('/order/cancel/id', { id: row.id }) - if (res.data.code === 1) { - getOrderList() - SuccessInfo('取消订单成功') - } else { - ErrorInfo('请求错误') - } -} + </script> <style lang="scss" scoped> diff --git a/src/views/Orders/ServiceOrderList.vue b/src/views/Orders/ServiceOrderList.vue index c5661b7..3952e56 100644 --- a/src/views/Orders/ServiceOrderList.vue +++ b/src/views/Orders/ServiceOrderList.vue @@ -62,7 +62,7 @@ </template> </el-popconfirm> <el-popconfirm confirm-button-text='是' cancel-button-text='否' icon="InfoFilled" icon-color="red" - title="订单已完成?" @confirm="successfulTransaction(scope.row.id)" width=180> + title="订单已完成?" @confirm="orderTransaction(scope.row.id,'交易完成')" width=180> <template #reference> <el-button v-if="['待收货'].includes(scope.row.orderStatus)" size="small" type="primary" plain>完成订单</el-button> @@ -144,16 +144,17 @@ const getOrderList = async () => { const deleteOrder = async (row : any) => { //微信退款 loading.value = true - console.log('row-->',row) + // console.log('row-->',row) const res = await myAxios.post('/wechat/refund/create', { id: row.id }) //传入订单号取消订单并退款 - console.log(res) - setTimeout(()=>{ + // console.log(res) + setTimeout(async ()=>{ if(res.data.code === 1) { SuccessInfo('退款成功') - getOrderList() + await orderTransaction(row.id,'已退款') + await getOrderList() loading.value = false } - },10000) + },3000) } const reset = () => { //重置搜索框 orderNumber.value = '' @@ -162,7 +163,7 @@ const load = () => { getOrderList() } //搜索的方法 const cancelOrder = async (row:any)=>{ //取消订单的方法(未支付能取消) - console.log('点击的这一行--->',row); + // console.log('点击的这一行--->',row); const res = await myAxios.post('/order/cancel/id',{ id: row.id }) if(res.data.code === 1) { getOrderList() @@ -171,10 +172,13 @@ const cancelOrder = async (row:any)=>{ //取消订单的方法(未支付能取 ErrorInfo('请求错误') } } -const successfulTransaction = async (oid: any) => { //订单完成方法 +const orderTransaction = async (oid: any, msg: string) => { //订单完成方法 // console.log('当前订单信息---->',oid) // loading.value = true - const res = await myAxios.post('',{}) + const res = await myAxios.post('/order/update/all/orderStatus',{ + id: oid, + orderStatus: msg + }) if (res.data.code === 1) { SuccessInfo('订单完成') getOrderList() diff --git a/src/views/OtherManagement/CourseCarouseCenter.vue b/src/views/OtherManagement/CourseCarouseCenter.vue index 9c87ffa..a9e2d8b 100644 --- a/src/views/OtherManagement/CourseCarouseCenter.vue +++ b/src/views/OtherManagement/CourseCarouseCenter.vue @@ -109,7 +109,8 @@ const searchParams: any = ref({ //每页显示条数 pageSize: 5, //轮播图类别 - type: '服务类' + type: '服务类', + sortOrder: 'descend' }) const title : any = ref('编辑表单') @@ -123,7 +124,8 @@ const getCourseList = async () => { const res = await myAxios.post('/banner/query/web',{ current: searchParams.value.current, pageSize: searchParams.value.pageSize, - type: searchParams.value.type + type: searchParams.value.type, + sortOrder: searchParams.value.sortOrder }) // console.log('分页后端返回---->',res.data) if(res.data.code === 1) { @@ -138,12 +140,12 @@ const handleSelectionChange = (val:any)=>{ // 处理行数大小变化 const handleSizeChange = (newSize:any) => { searchParams.value.pageSize = newSize //新的页面条数 - //重新发起请求 + getCourseList() }; // 处理当前页变化 const handleCurrentChange = (Current:any) => { searchParams.value.current = Current //新的当前页面 - //重新发起请求 + getCourseList() }; const restForm =()=> { diff --git a/src/views/OtherManagement/EntityCarouseCenter.vue b/src/views/OtherManagement/EntityCarouseCenter.vue index 8171ecd..f1cdac0 100644 --- a/src/views/OtherManagement/EntityCarouseCenter.vue +++ b/src/views/OtherManagement/EntityCarouseCenter.vue @@ -109,7 +109,8 @@ const searchParams: any = ref({ //每页显示条数 pageSize: 5, //轮播图类别 - type: '实体类' + type: '实体类', + sortOrder: 'descend' }) const title : any = ref('编辑表单') @@ -123,9 +124,10 @@ const getCourseList = async () => { const res = await myAxios.post('/banner/query/web',{ current: searchParams.value.current, pageSize: searchParams.value.pageSize, - type: searchParams.value.type + type: searchParams.value.type, + sortOrder: searchParams.value.sortOrder }) - console.log('分页后端返回---->',res.data) + // console.log('分页后端返回---->',res.data) if(res.data.code === 1) { tableData.value = res.data.data.records total.value = parseInt(res.data.data.total) @@ -138,12 +140,12 @@ const handleSelectionChange = (val:any)=>{ // 处理行数大小变化 const handleSizeChange = (newSize:any) => { searchParams.value.pageSize = newSize //新的页面条数 - //重新发起请求 + getCourseList() }; // 处理当前页变化 const handleCurrentChange = (Current:any) => { searchParams.value.current = Current //新的当前页面 - //重新发起请求 + getCourseList() }; const restForm =()=> { diff --git a/src/views/OtherManagement/FestivalManagement.vue b/src/views/OtherManagement/FestivalManagement.vue index 7ec6415..9821809 100644 --- a/src/views/OtherManagement/FestivalManagement.vue +++ b/src/views/OtherManagement/FestivalManagement.vue @@ -79,7 +79,7 @@ onMounted(() => { //获取类别列表 const getFestivalList = async () => { const res = await myAxios.get('/festival/get') - console.log('表格数据--->',res.data) + // console.log('表格数据--->',res.data) if (res.data.code === 1) { tableData.value = res.data.data } else { diff --git a/src/views/OutfitLease/OutfitLeaseOrderCenter.vue b/src/views/OutfitLease/OutfitLeaseOrderCenter.vue index f126360..3edb349 100644 --- a/src/views/OutfitLease/OutfitLeaseOrderCenter.vue +++ b/src/views/OutfitLease/OutfitLeaseOrderCenter.vue @@ -35,7 +35,7 @@ <el-table-column prop="totalAmount" label="订单实付金额(元)" width="180"></el-table-column> <el-table-column prop="orderStatus" label="订单状态"> <template #default="scope"> - {{ scope.row.orderStatus === '待发货' ? '待取货' : '已取货' }} + {{ scope.row.orderStatus === '待发货' ? '待取货' : scope.row.orderStatus }} </template> </el-table-column> <el-table-column label="操作" width="260px" fixed="right"> @@ -95,7 +95,6 @@ const searchParams: any = ref({ //封装分页 pageSize: 5, //每页显示条数 sortField: "id", //根据ID分类 sortOrder: "descend", //降序 - orderType: 'service' }) const router = useRouter() const loading = ref(false) @@ -120,7 +119,7 @@ const getOrderList = async () => { try { searchParams.value.orderNumber = orderNumber.value const res = await myAxios.post('/clothesRent/list', { ...searchParams.value }); - console.log('订单信息--->', res.data.data); + // console.log('订单信息--->', res.data.data); if (res.data.code === 1) { tableData.value = res.data.data.records; total.value = parseInt(res.data.data.total) @@ -152,23 +151,24 @@ const changeOrderStatus = async (row: any, msg : string) => { //改变订单 }) if(res.data.code === 1) { await getOrderList() - SuccessInfo('更新成功') + SuccessInfo(msg) } else { WarnInfo(res.data.message) } } const deleteOrder = async (row: any) => { //微信退款 loading.value = true - console.log('row-->', row) + // console.log('row-->', row) const res = await myAxios.post('/wechat/refund/clothesRent/create', { id: row.id }) //传入订单号取消订单并退款 - console.log(res) - setTimeout(() => { + // console.log(res) + setTimeout(async () => { if (res.data.code === 1) { SuccessInfo('退款成功') - getOrderList() + await changeOrderStatus(row, '已退款') + await getOrderList() loading.value = false } - }, 10000) + }, 3000) } const reset = () => { //重置搜索框 orderNumber.value = '' @@ -177,7 +177,7 @@ const load = () => { getOrderList() } //搜索的方法 const cancelOrder = async (row: any) => { //取消订单的方法(未支付能取消) - console.log('点击的这一行--->', row); + // console.log('点击的这一行--->', row); const res = await myAxios.post('/order/cancel/id', { id: row.id }) if (res.data.code === 1) { getOrderList() diff --git a/src/views/User/PersonalCenter.vue b/src/views/User/PersonalCenter.vue index 86a68b3..c96237c 100644 --- a/src/views/User/PersonalCenter.vue +++ b/src/views/User/PersonalCenter.vue @@ -20,7 +20,7 @@ </div> <div style="display: flex;"> <el-form-item label="积分"> - <el-input v-model="userForm.points"></el-input> + <el-input-number v-model="userForm.points" min="0" :precision="0" :step="1" max="10000000"/> </el-form-item> </div> </el-form> @@ -37,6 +37,7 @@ import { ref, onBeforeMount } from 'vue' import { SuccessInfo, WarnInfo } from '@/utils/messageInfo'; import { useRoute } from "vue-router"; import PreviewSingleImgUpload from "@/utils/imgUpload/PreviewSingleImgUpload.vue"; +import {invInput} from "@/utils/entityProduct/globalVar"; const disabled = ref(true) //表单是否禁用 diff --git a/src/views/User/SingleUserDetail.vue b/src/views/User/SingleUserDetail.vue index 2883068..84e9bd7 100644 --- a/src/views/User/SingleUserDetail.vue +++ b/src/views/User/SingleUserDetail.vue @@ -20,7 +20,7 @@ </div> <div style="display: flex;"> <el-form-item label="积分"> - <el-input v-model="userForm.points"></el-input> + <el-input-number v-model="userForm.points" min="0" :precision="0" :step="1" max="10000000"/> </el-form-item> </div> </el-form>