diff --git a/gold-system/package-lock.json b/gold-system/package-lock.json
index 4883770..b00b0eb 100644
--- a/gold-system/package-lock.json
+++ b/gold-system/package-lock.json
@@ -16,6 +16,7 @@
"mathjs": "^14.0.1",
"moment": "^2.30.1",
"pinia": "^3.0.2",
+ "pinyin-match": "^1.2.8",
"vue": "^3.5.12",
"vue-icons-plus": "^0.1.7",
"vue-json-excel": "^0.3.0",
@@ -4232,6 +4233,11 @@
"@vue/devtools-kit": "^7.7.2"
}
},
+ "node_modules/pinyin-match": {
+ "version": "1.2.8",
+ "resolved": "https://registry.npmmirror.com/pinyin-match/-/pinyin-match-1.2.8.tgz",
+ "integrity": "sha512-5rBwNuOjnOtZNEgX4OlTLYsmBcE9XSV1oF/KN9mLEsVNr8HdqMb2YRhR6iqHMeU8ZBKbx/oYBgHr04uIvOlxGg=="
+ },
"node_modules/postcss": {
"version": "8.5.1",
"resolved": "https://mirrors.huaweicloud.com/repository/npm/postcss/-/postcss-8.5.1.tgz",
diff --git a/gold-system/package.json b/gold-system/package.json
index a47c39c..34155ed 100644
--- a/gold-system/package.json
+++ b/gold-system/package.json
@@ -20,6 +20,7 @@
"mathjs": "^14.0.1",
"moment": "^2.30.1",
"pinia": "^3.0.2",
+ "pinyin-match": "^1.2.8",
"vue": "^3.5.12",
"vue-icons-plus": "^0.1.7",
"vue-json-excel": "^0.3.0",
diff --git a/gold-system/src/views/consume/addConsume.vue b/gold-system/src/views/consume/addConsume.vue
index 02954f7..db48630 100644
--- a/gold-system/src/views/consume/addConsume.vue
+++ b/gold-system/src/views/consume/addConsume.vue
@@ -121,7 +121,7 @@ const checkFreeGoldRadio = function (rule, value, callback) {
};
const rules = reactive({
jwcode: [{ required: true, message: "请输入精网号", trigger: "blur" }],
- productName: [{ required: true, message: "请选择消费商品", trigger: "blur" }],
+ productName: [{ required: true, message: "请选择消费商品", trigger: "change" }], // 修改为 change
taskCoin: [{ required: true, message: "请输入任务金币", trigger: "blur" }],
freeCoin: [{ required: true, message: "请输入免费金币", trigger: "blur" }],
rechargeCoin: [
@@ -191,37 +191,39 @@ const getUser = async function (jwcode) {
}
};
-//这是查询用户金币信息的接口
-const userGold = ref({});
-const getUserGold = async function (jwcode) {
- trimJwCode();
- try {
- // 发送POST请求
- const result = await request({
- url: "/recharge/user",
- data: {
- jwcode: addConsume.value.jwcode,
- area: adminData.value.area,
- },
- });
- // 将响应结果存储到响应式数据中
- console.log("请求成功", result);
- if (result.code === 0) {
- ElMessage.error(result.msg);
- } else {
- // 存储表格数据
- userGold.value = result.data;
- addConsume.value.username = result.data.name;
- addConsume.value.area = result.data.area;
- ElMessage.success(result.msg);
- }
- } catch (error) {
- console.log("请求失败", error);
- ElMessage.error("无此精网号");
- addConsume.value.jwcode = "";
- // 在这里可以处理错误逻辑,比如显示错误提示等
- }
-};
+
+//下面这个也是校验精网号是否存在的方法,通过脱离文本框实现,但是上面方法绑定了信息面板,在输入正确的精网号后能显示。
+// //这是查询用户金币信息的接口
+// const userGold = ref({});
+// const getUserGold = async function (jwcode) {
+// trimJwCode();
+// try {
+// // 发送POST请求
+// const result = await request({
+// url: "/recharge/user",
+// data: {
+// jwcode: addConsume.value.jwcode,
+// area: adminData.value.area,
+// },
+// });
+// // 将响应结果存储到响应式数据中
+// console.log("请求成功", result);
+// if (result.code === 0) {
+// ElMessage.error(result.msg);
+// } else {
+// // 存储表格数据
+// userGold.value = result.data;
+// addConsume.value.username = result.data.name;
+// addConsume.value.area = result.data.area;
+// ElMessage.success(result.msg);
+// }
+// } catch (error) {
+// console.log("请求失败", error);
+// ElMessage.error("无此精网号");
+// addConsume.value.jwcode = "";
+// // 在这里可以处理错误逻辑,比如显示错误提示等
+// }
+// };
function calculateCoins() {
if (
@@ -317,26 +319,85 @@ const getIndexs = async function (type) {
// 选择商品名称是时触发的方法
const isHC = ref(0);
-const handleProductSelect = (productName) => {
- // 根据商品名称获取对应的商品信息
- // indexs.value.productName = productName;为什么直接绑定???
+// const handleProductSelect = (productName) => {
+// // 根据商品名称获取对应的商品信息
+// // indexs.value.productName = productName;为什么直接绑定???
+// if (productName === "homilychart") {
+// isHC.value = 1;
+// addConsume.value.productName = "homilychart"; // 商品名
+// addConsume.value.indexName = ""; // 指标名
+// } else {
+// isHC.value = 0;
+// addConsume.value.productName = productName;
+// addConsume.value.indexName = "";
+// }
+// };
+const indexs = ref([]);
+// const handleIndexSelect = () => {
+// if (isHC.value === 1 && addConsume.value.indexName) {
+// addConsume.value.productName = "homilychart" + addConsume.value.indexName;
+// }
+// };
+
+// 商品搜索逻辑
+const queryProductSearch = (queryString, cb) => {
+ const results = queryString
+ ? goods.value.filter(item =>
+ item.name.toLowerCase().includes(queryString.toLowerCase())
+ )
+ : goods.value;
+ cb(results);
+};
+
+// 指标搜索逻辑
+const queryIndexSearch = (queryString, cb) => {
+ const results = queryString
+ ? index.value.filter(item => // 将 indexData 替换为 index
+ item.name.toLowerCase().includes(queryString.toLowerCase())
+ )
+ : index.value;
+ cb(results);
+};
+
+// 商品选择处理(重点修改)
+const handleProductSelect = async (selectedItem) => {
+ const productName = typeof selectedItem === 'string'
+ ? selectedItem
+ : selectedItem?.name || '';
+
if (productName === "homilychart") {
isHC.value = 1;
- addConsume.value.productName = "homilychart"; // 商品名
- addConsume.value.indexName = ""; // 指标名
+ addConsume.value.productName = "homilychart";
+ addConsume.value.indexName = "";
+ // 动态获取指标数据
+ await getIndexs("homilychart");
} else {
isHC.value = 0;
addConsume.value.productName = productName;
addConsume.value.indexName = "";
}
};
-const indexs = ref([]);
-const handleIndexSelect = () => {
- if (isHC.value === 1 && addConsume.value.indexName) {
- addConsume.value.productName = "homilychart" + addConsume.value.indexName;
+
+// 指标选择处理(重点修改)
+const handleIndexSelect = (selectedItem) => {
+ if (isHC.value === 1) {
+ const indexName = typeof selectedItem === 'string'
+ ? selectedItem
+ : selectedItem?.name || '';
+ // 仅更新指标名称字段
+ addConsume.value.indexName = indexName;
+ }
+};
+
+// 处理自由输入指标
+const handleIndexBlur = (e) => {
+ if (isHC.value === 1 && e.target.value) {
+ // 仅更新指标名称字段
+ addConsume.value.indexName = e.target.value;
}
};
+
// 挂载
onMounted(async function () {
await getAdminData();
@@ -368,7 +429,7 @@ const handleSelectBlur = (value) => {
ref="Ref"
:rules="rules"
label-width="auto"
- style="max-width: 750px"
+ style="max-width: 750px;"
class="form-style"
>
@@ -384,53 +445,50 @@ const handleSelectBlur = (value) => {
>查询
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
{
} else if (column.prop === 'createTime') {
sortField.value = 'create_time'
}
- sortOrder.value = column.order === 'ascending' ? 'ASC' : 'DESC'
+ sortOrder.value = column.order === 'ascending' ? 'DESC' : 'ASC'
get()
}
const handlePageSizeChange = function (val) {
diff --git a/gold-system/src/views/recharge/addRecharge.vue b/gold-system/src/views/recharge/addRecharge.vue
index b78cb46..ddabbb3 100644
--- a/gold-system/src/views/recharge/addRecharge.vue
+++ b/gold-system/src/views/recharge/addRecharge.vue
@@ -265,7 +265,7 @@ const getCurrency = async function () {
const handleAvatarSuccess = (response, uploadFile) => {
imageUrl.value = URL.createObjectURL(uploadFile.raw)
console.log('图片上传成功', response, uploadFile)
- addRecharge.value.rechargeVoucher = `http://54.251.137.151:10702/home/java/haiwaiyanfa/gold1/${response.data}`
+ addRecharge.value.rechargeVoucher = `http://54.251.137.151:10702/upload/${response.data}`
console.log('图片名称', addRecharge.value.rechargeVoucher)
}
@@ -650,7 +650,7 @@ const changeVoucher = function (row) {
const handleBatchAvatarSuccess = (response, uploadFile) => {
imageUrl.value = URL.createObjectURL(uploadFile.raw)
console.log('图片上传成功', response, uploadFile)
- rechargeVoucher.value = `http://54.251.137.151:10702/home/java/haiwaiyanfa/gold1/${response.data}`
+ rechargeVoucher.value = `http://54.251.137.151:10702/upload/${response.data}`
console.log('图片名称', rechargeVoucher.value)
}
//批量充值确认按钮
@@ -782,7 +782,7 @@ const batchSettingInit = function () {
const batchSettingHandleAvatarSuccess = (response, uploadFile) => {
batchSettingObj.value.imageUrl = URL.createObjectURL(uploadFile.raw)
console.log('图片上传成功', response, uploadFile)
- batchSettingObj.value.rechargeVoucher = `http://54.251.137.151:10702/home/java/haiwaiyanfa/gold1/${response.data}`
+ batchSettingObj.value.rechargeVoucher = `http://54.251.137.151:10702/upload/${response.data}`
console.log('图片名称', batchSettingObj.value.rechargeVoucher)
}
// 批量设置取消按钮
@@ -971,7 +971,7 @@ onMounted(async function () {
style="margin-bottom: 5px"
>
{
sortField.value = 'recharge_time'
} else if (column.prop === 'createTime') {
sortField.value = 'create_time'
- } else if (column.prop === 'paidMoney') {
- sortField.value = 'paid_gold'
- }
+ }
sortOrder.value = column.order === 'ascending' ? 'ASC' : 'DESC'
+ console.log('传递给后端的排序字段:', sortField.value)
+ console.log('传递给后端的排序方式:', sortOrder.value)
get()
}
@@ -585,20 +585,20 @@ const handleSortChange = (column) => {
{
/>
@@ -666,7 +666,7 @@ const handleSortChange = (column) => {