Browse Source

zry 代码

zhangrenyuan/feature-20250714163943-金币前端二期
lihui 3 weeks ago
parent
commit
b89ee8d69d
  1. 172
      src/components/changePassword.vue
  2. 54
      src/views/refund/addCoinRefund.vue

172
src/components/changePassword.vue

@ -10,9 +10,9 @@
<h3 class="form-title">修改密码</h3>
<!-- 原密码 -->
<el-form-item prop="oldVal" label="原密码">
<el-form-item prop="oldPassword" label="原密码">
<el-input
v-model.trim="passwd.oldVal"
v-model.trim="passwd.oldPassword"
type="password"
placeholder="请输入原密码"
show-password
@ -20,9 +20,9 @@
</el-form-item>
<!-- 新密码 -->
<el-form-item prop="newVal" label="新密码">
<el-form-item prop="newPassword" label="新密码">
<el-input
v-model.trim="passwd.newVal"
v-model.trim="passwd.newPassword"
type="password"
placeholder="请输入新密码"
show-password
@ -30,9 +30,9 @@
</el-form-item>
<!-- 重复密码 -->
<el-form-item prop="repeatNewVal" label="重复密码">
<el-form-item prop="againPassword" label="重复密码">
<el-input
v-model.trim="passwd.repeatNewVal"
v-model.trim="passwd.againPassword"
type="password"
placeholder="请再次输入新密码"
show-password
@ -79,7 +79,7 @@
</template>
<script setup>
import {ref, reactive, computed, watch} from 'vue'
import {ref, reactive, computed, watch, onMounted} from 'vue'
import {CircleCloseFilled, SuccessFilled} from '@element-plus/icons-vue'
import {ElMessage} from "element-plus";
import API from '@/util/http'
@ -91,22 +91,34 @@ const emit = defineEmits(['confirm'])
const passwdFormRef = ref(null)
const passwd = reactive({
oldVal: '',
newVal: '',
repeatNewVal: ''
account: '',
oldPassword: '',
newPassword: '',
againPassword: ''
})
const errorMsg = ref('')
//account
const getAccount= async function() {
try {
const adminData = ref({})
const result = await API({ url: '/admin/userinfo', data: {} })
adminData.value = result
console.log('管理员用户信息', adminData.value)
passwd.account = adminData.value.account
} catch (error) {
console.log('请求失败', error)
}
}
//
const isLengthValid = computed(() => passwd.newVal.length >= 8 && passwd.newVal.length <= 16)
const isLengthValid = computed(() => passwd.newPassword.length >= 8 && passwd.newPassword.length <= 16)
const isComplexValid = computed(() => {
const rules = [/\d/, /[a-z]/, /[A-Z]/, /[^a-zA-Z0-9]/]
return rules.filter((r) => r.test(passwd.newVal)).length >= 2
return rules.filter((r) => r.test(passwd.newPassword)).length >= 2
})
watch(() => passwd.newVal, (val) => {
if (val && val === passwd.oldVal) {
watch(() => passwd.newPassword, (val) => {
if (val && val === passwd.oldPassword) {
errorMsg.value = '新密码不能与旧密码一致'
} else {
errorMsg.value = ''
@ -116,12 +128,12 @@ watch(() => passwd.newVal, (val) => {
const loading = ref(false)
//
const rules = reactive({
oldVal: [{required: true, message: '请输入原密码', trigger: 'blur'}],
newVal: [
oldPassword: [{required: true, message: '请输入原密码', trigger: 'blur'}],
newPassword: [
{required: true, message: '新密码不能为空', trigger: 'blur'},
{
validator: (rule, value, callback) => {
if (value === passwd.oldVal) {
if (value === passwd.oldPassword) {
callback(new Error('新密码不能与旧密码一致'))
} else if (value.length < 8 || value.length > 16) {
callback(new Error('长度应在 8 到 16 个字符'))
@ -138,11 +150,11 @@ const rules = reactive({
trigger: 'blur'
}
],
repeatNewVal: [
againPassword: [
{required: true, message: '请再次输入新密码', trigger: 'blur'},
{
validator: (rule, value, callback) => {
if (value !== passwd.newVal) {
if (value !== passwd.newPassword) {
callback(new Error('两次输入密码不一致'))
} else {
callback()
@ -153,72 +165,74 @@ const rules = reactive({
]
})
// //
// const changePassword = async function () {
// try {
// const params = {
// oldVal: passwd.oldVal,
// newVal: passwd.newVal
// }
//
// const result = await API({url: '/user/changePassword', data: params})
// console.log('@@@@@@@@@@@:', result)
// if(result.status === 200){
// //
//
// ElMessage.success('')
// //
// resetFields()
// router.replace ('/PasswordSuccess');
// }else if(result === 400){
// //todo
// }
//
// } catch (error) {
// console.log('re:', result)
// console.error('', error)
// ElMessage.error('')
// // finally
// throw error
// }
// }
//
//
const changePassword = async function () {
try {
// API
const result = {
status: 200,
data: {success: true, message: '密码修改成功'}
};
console.log('修改密码结果:', result);
const params = {
account: passwd.account,
oldPassword: passwd.oldPassword,
newPassword: passwd.newPassword,
againPassword: passwd.againPassword
}
//
if (result.status === 200 ) {
//
ElMessage.success(result.data.message || '修改密码成功');
const result = await API({url: '/admin/password', data: params})
console.log('@@@@@@@@@@@修改密码结果:', result)
if(result.status === 200){
//
ElMessage.success('修改密码成功')
//
resetFields();
resetFields()
router.replace ('/PasswordSuccess');
return result;
} else {
// API
const errorMsg = result.data.message || '密码修改失败';
ElMessage.error(errorMsg);
throw new Error(errorMsg);
}else if(result === 400){
//todo
}
} catch (error) {
// API
console.error('修改密码失败:', error);
ElMessage.error(error.message || '操作失败,请重试');
throw error;
console.log('re:', result)
console.error('修改密码失败', error)
ElMessage.error('操作失败')
// finally
throw error
}
};
}
//
// const changePassword = async function () {
// try {
// // API
// const result = {
// status: 200,
// data: {success: true, message: ''}
// };
// console.log(':', result);
// //
// if (result.status === 200 ) {
// //
// ElMessage.success(result.data.message || '');
// //
// resetFields();
// router.replace ('/PasswordSuccess');
// return result;
// } else {
// // API
// const errorMsg = result.data.message || '';
// ElMessage.error(errorMsg);
// throw new Error(errorMsg);
// }
// } catch (error) {
// // API
// console.error(':', error);
// ElMessage.error(error.message || '');
// throw error;
// }
// };
//
const resetFields = () => {
@ -247,6 +261,10 @@ const onSubmit = () => {
})
}
onMounted(() => {
getAccount()
})
</script>
<style scoped>

54
src/views/refund/addCoinRefund.vue

@ -1,11 +1,11 @@
<script setup>
import { onMounted, reactive } from 'vue'
import { ref, computed, watch } from 'vue'
import { ElMessage } from 'element-plus'
import { Plus } from '@element-plus/icons-vue'
import {onMounted, reactive} from 'vue'
import {ref, computed, watch} from 'vue'
import {ElMessage} from 'element-plus'
import {Plus} from '@element-plus/icons-vue'
import axios from 'axios'
import { ElMessageBox } from 'element-plus'
import {ElMessageBox} from 'element-plus'
import API from '@/util/http'
import moment from 'moment'
// import _ from 'lodash'
@ -15,12 +15,11 @@ const addRe = ref({
})
//
const adminData = ref({})
const getAdminData = async function () {
try {
const result = await API({ url: '/admin/userinfo', data: {} })
const result = await API({url: '/admin/userinfo', data: {}})
adminData.value = result
addRefund.value.adminId = adminData.value.id
console.log('请求成功', result)
@ -85,7 +84,8 @@ const add = async function () {
}
// POST
const result = await API({ url: '/refund/add',
const result = await API({
url: '/refund/add',
data: processedRefund
})
if (result.code === 0) {
@ -108,7 +108,7 @@ const addBefore = () => {
if (valid) {
try {
await getUser(refund.value.jwcode);
await getUser(addRefund.value.jwcode);
if (!user.value.jwcode) {
ElMessage.error('请先验证有效的精网号');
return;
@ -139,7 +139,8 @@ const addBefore = () => {
//
//
const Ref = ref(null)
const startChange = (val) => {}
const startChange = (val) => {
}
const validateJwCode = (rule, value, callback) => {
if (!value) {
callback(new Error('精网号不能为空'));
@ -152,16 +153,16 @@ const validateJwCode = (rule, value, callback) => {
callback();
};
const rules = reactive({
jwcode: [{ required: true, validator:validateJwCode, trigger: 'blur' }],
refundType: [{ required: true, message: '请选择退款类型', trigger: 'blur' }],
goodsName: [{ required: true, message: '请选择退款商品', trigger: 'blur' }],
taskGold: [{ required: true, message: '请输入任务金币', trigger: 'blur' }],
freeGold: [{ required: true, message: '请输入免费金币', trigger: 'blur' }],
jwcode: [{required: true, validator: validateJwCode, trigger: 'blur'}],
refundType: [{required: true, message: '请选择退款类型', trigger: 'blur'}],
goodsName: [{required: true, message: '请选择退款商品', trigger: 'blur'}],
taskGold: [{required: true, message: '请输入任务金币', trigger: 'blur'}],
freeGold: [{required: true, message: '请输入免费金币', trigger: 'blur'}],
permanentGold: [
{ required: true, message: '请输入永久金币', trigger: 'blur' }
{required: true, message: '请输入永久金币', trigger: 'blur'}
],
sumGold: [
{ required: true, message: '请选择付款方式', trigger: 'blur' },
{required: true, message: '请选择付款方式', trigger: 'blur'},
{
validator: (rule, value) => {
if (value === 0) {
@ -198,7 +199,7 @@ const user = ref({
})
const getUser = async function (jwcode) {
trimJwCode();
cancelExceptJwcode();
// cancelExceptJwcode();
try {
// POST
const result = await API({
@ -236,10 +237,8 @@ const getUser = async function (jwcode) {
}
// 退退
const refundType = ref([{ value: '商品退款', label: '商品退款' }]);
const refundType = ref([{value: '商品退款', label: '商品退款'}]);
// 退
// const getRefundTypes = async function () {
@ -264,8 +263,6 @@ const refundType = ref([{ value: '商品退款', label: '商品退款' }]);
// }
//
const goodsName = ref([])
const getGoods = async function (jwcode) {
@ -316,7 +313,7 @@ const selectedGoodsGold = ref({
})
// 退退退退
const handleRefundModelChange = () =>{
const handleRefundModelChange = () => {
if (addRe.value.typeR === '0') {
// 退
addRefund.value.permanentGold = selectedGoodsGold.value.permanentGold;
@ -423,7 +420,7 @@ onMounted(async function () {
</script>
<template>
<div >
<div>
<el-form
:model="addRefund"
@ -444,7 +441,8 @@ onMounted(async function () {
type="primary"
@click="getUser(addRefund.jwcode)"
style="margin-left: 20px"
>查询</el-button
>查询
</el-button
>
</el-form-item>
<el-form-item prop="refundType" label="退款类型">
@ -544,7 +542,7 @@ onMounted(async function () {
/>
</el-form-item>
<el-button type="success" @click="cancel()" style="margin-left: 280px">重置</el-button>
<el-button type="primary" @click="addBefore"> 提交 </el-button>
<el-button type="primary" @click="addBefore"> 提交</el-button>
</el-form>
<!-- 客户信息栏 -->
@ -629,7 +627,7 @@ onMounted(async function () {
</el-col>
</el-row>
</el-form>
</el-card>
</el-card>
</div>
</template>

Loading…
Cancel
Save