+
@@ -371,17 +367,17 @@ import { buildSelectOption } from "@/utils/system-helper";
export default {
name: "InfocardManageView",
- setup() {
+ setup () {
return {};
},
- created() {
+ created () {
this.$nextTick(function () {
this.initPartition();
this.initData();
});
},
methods: {
- initData() {
+ initData () {
$(function () {
$("#table").bootstrapTable("destroy");
$("#table").bootstrapTable({
@@ -409,6 +405,9 @@ export default {
if ((val & 16) != 0) {
value += "英语2区
";
}
+ if ((val & 32) != 0) {
+ value += "葡萄牙语
";
+ }
return value;
},
},
@@ -436,6 +435,12 @@ export default {
align: "middle",
width: "5%",
},
+ {
+ field: "name.pr",
+ title: "葡萄牙语装扮名称",
+ align: "middle",
+ width: "5%",
+ },
{
field: "pic",
title: "装扮图片",
@@ -560,14 +565,14 @@ export default {
cache: false,
striped: true,
showRefresh: false,
- pageSize: 10,
+ pageSize: 20,
pagination: true,
- pageList: [10, 20, 30, 50],
+ pageList: [20, 50],
search: false,
sidePagination: "server", //表示服务端请求
queryParamsType: "-",
uniqueId: "id",
- queryParams: function queryParams(params) {
+ queryParams: function queryParams (params) {
//设置查询参数
var param = {
page: params.pageNumber,
@@ -599,6 +604,8 @@ export default {
zh: value,
ar: value,
en: value,
+ tr: value,
+ pr: value,
};
}
return i;
@@ -640,7 +647,9 @@ export default {
name &&
Object.prototype.hasOwnProperty.call(name, "zh") &&
Object.prototype.hasOwnProperty.call(name, "ar") &&
- Object.prototype.hasOwnProperty.call(name, "en")
+ Object.prototype.hasOwnProperty.call(name, "en") &&
+ Object.prototype.hasOwnProperty.call(name, "tr") &&
+ Object.prototype.hasOwnProperty.call(name, "pr")
) {
$("#addForm #modal_name").val(row.name.zh);
// 阿语
@@ -649,6 +658,7 @@ export default {
$("#addForm #en_modal_name").val(row.name.en);
// 土耳其
$("#addForm #tr_modal_name").val(row.name.tr);
+ $("#addForm #pr_modal_name").val(row.name.pr);
} else {
$("#addForm #modal_name").val(name);
// 阿语
@@ -657,6 +667,7 @@ export default {
$("#addForm #en_modal_name").val(name);
// 土耳其
$("#addForm #tr_modal_name").val(name);
+ $("#addForm #pr_modal_name").val(name);
}
$("#addIconPicUrl").attr("src", row.pic);
$("#addIconPicUrl2").attr("src", row.effect);
@@ -691,6 +702,11 @@ export default {
} else {
$("input:checkbox[name='partitionFlag']")[4].checked = false;
}
+ if ((partitionFlag & 32) != 0) {
+ $("input:checkbox[name='partitionFlag']")[5].checked = true;
+ } else {
+ $("input:checkbox[name='partitionFlag']")[5].checked = false;
+ }
$("#addModal").modal("show");
});
@@ -755,6 +771,7 @@ export default {
var arName = $("#ar_modal_name").val();
var enName = $("#en_modal_name").val();
var trName = $("#tr_modal_name").val();
+ var prName = $("#pr_modal_name").val();
//做下数据校验
if (isEmpty(name)) {
$("#tipMsg").text("装扮名字不能为空");
@@ -776,6 +793,11 @@ export default {
$("#tipModal").modal("show");
return;
}
+ if (isEmpty(prName)) {
+ $("#tipMsg").text("葡萄牙装扮名字不能为空");
+ $("#tipModal").modal("show");
+ return;
+ }
if (isEmpty(pic)) {
$("#tipMsg").text("图片不能为空");
$("#tipModal").modal("show");
@@ -792,7 +814,7 @@ export default {
}, {});
// 国际化字段
- var jsonName = { zh: name, ar: arName, en: enName, tr: trName };
+ var jsonName = { zh: name, ar: arName, en: enName, tr: trName, pr: prName };
const nameValue = JSON.stringify(jsonName);
// 修改属性值
formData.name = nameValue; // 将giftName修改为"newGiftName"
@@ -809,7 +831,7 @@ export default {
// 将修改后的对象转换回序列化字符串
formData.pic = $('#addIconPicUrl').attr('src');
formData.effect = $('#addIconPicUrl2').attr('src');
- console.log(formData,2222222222222);
+ console.log(formData, 2222222222222);
let newSerializeStr = $.param(formData);
$.ajax({
type: "post",
@@ -915,7 +937,7 @@ export default {
});
});
},
- initPartition() {
+ initPartition () {
getPartitionInfoList().then((res) => {
let data = res.data;
buildSelectOption(
@@ -940,7 +962,7 @@ export default {
},
};
-function cleanModal() {
+function cleanModal () {
$("#id").val("");
$("#addIconPicUrl").attr("src", "");
$("#addIconPicUrl2").attr("src", "");
@@ -958,7 +980,7 @@ function cleanModal() {
});
}
//判断空值
-function isEmpty(data) {
+function isEmpty (data) {
if (data == null || data == undefined || data == "") {
return true;
}
diff --git a/src/views/medal/MedalInfo.vue b/src/views/medal/MedalInfo.vue
index f63bee5..4be6842 100644
--- a/src/views/medal/MedalInfo.vue
+++ b/src/views/medal/MedalInfo.vue
@@ -3,75 +3,136 @@
勋章ID
-
+
勋章昵称
-
+
-
+
查询
- 新增
+ 新增
-
-
-
+
+
+
{{
partitionFlagFun(scope.row.partitionFlag, 1)
}}
-
+
{{ getJsonField(scope.row.name, 'zh') }}
-
+
{{ getJsonField(scope.row.name, 'en') }}
-
+
{{ getJsonField(scope.row.name, 'ar') }}
-
+
{{ getJsonField(scope.row.name, 'tr') }}
-
+
+ {{ getJsonField(scope.row.name, 'pr') }}
+
+
{{ getJsonField(scope.row.medalDesc, 'zh')}}
-
+
{{ getJsonField(scope.row.medalDesc, 'en')}}
-
+
{{ getJsonField(scope.row.medalDesc, 'ar')}}
-
+
{{ getJsonField(scope.row.medalDesc, 'tr')}}
-
+
+ {{ getJsonField(scope.row.medalDesc, 'pr')}}
+
+
-
+
-
+
{{
scope.row.enable ? "生效" : "不生效"
}}
-
-
+
+
-
+
编辑
-
+
发放
@@ -79,95 +140,172 @@
-
+
-
+
- 地区
-
-
+ 地区
+
+
- 勋章名称-华语
-
+ 勋章名称-华语
+
- 勋章名称-英语
-
+ 勋章名称-英语
+
- 勋章名称-阿语
-
+ 勋章名称-阿语
+
- 勋章名称-土耳其
-
+ 勋章名称-土耳其
+
+
+
+ 勋章名称-葡萄牙语
+
- 勋章获得方式-华语
-
+ 勋章获得方式-华语
+
- 勋章获得方式-英语
-
+ 勋章获得方式-英语
+
- 勋章获得方式-阿语
-
+ 勋章获得方式-阿语
+
- 勋章获得方式-土耳其
-
+ 勋章获得方式-土耳其
+
+
+
+ 勋章获得方式-葡萄牙语
+
-
勋章图片
-
-
+ 勋章图片
+
+
- 勋章动态图
-
-
- 状态
-
-
+ 状态
+
+
@@ -175,7 +313,8 @@
@@ -183,37 +322,57 @@
-
+
- 勋章名称
-
+ 勋章名称
+
- 发放对象平台号
-
+ 发放对象平台号
+
- 发放天数
-
+ 发放天数
+
- 备注
-
+ 备注
+
@@ -230,7 +389,7 @@ import PartitionSelect from "@/views/common/partitionSelect.vue";
export default {
name: "MedalInfo",
components: { PartitionSelect },
- data() {
+ data () {
return {
loading: false,
//查询所需条件对象
@@ -238,7 +397,7 @@ export default {
id: "",
nick: "",
partitionId: undefined,
- options:[]
+ options: []
},
// 表格
tableData: [],
@@ -257,6 +416,7 @@ export default {
nickEn: "",
nickAr: "",
nickTr: "",
+ nickPr: "",
imageUrl1: "",
imageUrl2: '',
value2: "",
@@ -264,6 +424,7 @@ export default {
medalDescEn: '',
medalDescAr: '',
medalDescTr: '',
+ medalDescPr: '',
options2: [
{
desc: "生效",
@@ -288,12 +449,12 @@ export default {
};
},
methods: {
- afterPartitionInit() {
+ afterPartitionInit () {
this.controlsObj.options = this.inquire.options;
this.getData();
},
// 查询接口
- getData() {
+ getData () {
this.loading = true;
medalPage({
id: this.inquire.id,
@@ -316,7 +477,7 @@ export default {
});
},
// 添加
- add() {
+ add () {
this.controlsTitle = "新增";
this.controlsType = 1;
this.controlsObj.value = [];
@@ -324,17 +485,19 @@ export default {
this.controlsObj.nickEn = "";
this.controlsObj.nickAr = "";
this.controlsObj.nickTr = "";
+ this.controlsObj.nickPr = "";
this.controlsObj.imageUrl1 = "";
this.controlsObj.imageUrl2 = "";
this.controlsObj.medalDescZh = "";
this.controlsObj.medalDescEn = "";
this.controlsObj.medalDescAr = "";
this.controlsObj.medalDescTr = "";
+ this.controlsObj.medalDescPr = "";
this.controlsObj.value2 = "";
this.controlsDialog = true;
},
// 编辑
- eidFun(val) {
+ eidFun (val) {
this.controlsTitle = "编辑";
this.controlsType = 2;
this.controlsObj.value = this.partitionFlagFun(val.partitionFlag, 2);
@@ -342,11 +505,13 @@ export default {
this.controlsObj.nickEn = JSON.parse(val.name).en;
this.controlsObj.nickAr = JSON.parse(val.name).ar;
this.controlsObj.nickTr = JSON.parse(val.name).tr;
+ this.controlsObj.nickPr = JSON.parse(val.name).pr;
if (val.medalDesc) {
this.controlsObj.medalDescZh = JSON.parse(val.medalDesc).zh;
this.controlsObj.medalDescEn = JSON.parse(val.medalDesc).en;
this.controlsObj.medalDescAr = JSON.parse(val.medalDesc).ar;
this.controlsObj.medalDescTr = JSON.parse(val.medalDesc).tr;
+ this.controlsObj.medalDescPr = JSON.parse(val.medalDesc).pr;
}
this.controlsObj.imageUrl1 = val.picUrl;
this.controlsObj.imageUrl2 = val.mp4Url;
@@ -355,7 +520,7 @@ export default {
this.controlsDialog = true;
},
// 确认保存按钮
- controlsDialogOut() {
+ controlsDialogOut () {
if (this.controlsType == 1) {
// 新增
var obj = {};
@@ -371,6 +536,7 @@ export default {
en: this.controlsObj.nickEn,
ar: this.controlsObj.nickAr,
tr: this.controlsObj.nickTr,
+ pr: this.controlsObj.nickPr,
});
obj.medalDesc = JSON.stringify({
@@ -378,6 +544,7 @@ export default {
en: this.controlsObj.medalDescEn,
ar: this.controlsObj.medalDescAr,
tr: this.controlsObj.medalDescTr,
+ pr: this.controlsObj.medalDescPr,
});
obj.picUrl = this.controlsObj.imageUrl1;
obj.mp4Url = this.controlsObj.imageUrl2;
@@ -408,20 +575,20 @@ export default {
en: this.controlsObj.nickEn,
ar: this.controlsObj.nickAr,
tr: this.controlsObj.nickTr,
+ pr: this.controlsObj.nickPr,
});
obj1.medalDesc = JSON.stringify({
zh: this.controlsObj.medalDescZh,
en: this.controlsObj.medalDescEn,
ar: this.controlsObj.medalDescAr,
tr: this.controlsObj.medalDescTr,
+ pr: this.controlsObj.medalDescPr,
});
obj1.picUrl = this.controlsObj.imageUrl1;
obj1.mp4Url = this.controlsObj.imageUrl2;
obj1.enable = this.controlsObj.value2;
obj1.id = this.controlsObj.id;
- console.log(1111111111, this.controlsObj.value);
- console.log(this.controlsObj.options);
- console.log(obj1);
+
medalSave(obj1).then((res) => {
if (res.code == 200) {
this.getData();
@@ -437,13 +604,13 @@ export default {
}
},
//发放按钮
- grantFun(val) {
+ grantFun (val) {
this.grantObjNew = val;
this.grantObj.nick = JSON.parse(val.name).zh;
this.grantDialog = true;
},
// 确认发放
- grantOut() {
+ grantOut () {
medalSend({
days: this.grantObj.days,
erbanNoStr: this.grantObj.userId,
@@ -466,7 +633,7 @@ export default {
}
});
},
- partitionFlagFun(num, type) {
+ partitionFlagFun (num, type) {
//1 2 4
var val = '';
let valArr = [];
@@ -486,6 +653,9 @@ export default {
if ((num & 16) != 0) {
valArr.push(16);
}
+ if ((num & 32) != 0) {
+ valArr.push(32);
+ }
return valArr;
} else {
if ((num & 1) != 0) {
@@ -503,25 +673,28 @@ export default {
if ((num & 16) != 0) {
val += '英语2区 ';
}
+ if ((num & 32) != 0) {
+ val += '葡萄牙语区';
+ }
return val;
}
-
+
},
- beforeAvatarUpload() {
+ beforeAvatarUpload () {
ElMessage({
showClose: true,
message: "上传中~",
type: "warning",
});
},
- handleAvatarError() {
+ handleAvatarError () {
ElMessage({
showClose: true,
message: "上传失败!",
type: "error",
});
},
- handleAvatarSuccess(res, file) {
+ handleAvatarSuccess (res, file) {
console.log(file);
this.controlsObj.imageUrl1 = file.response.data;
ElMessage({
@@ -530,8 +703,7 @@ export default {
type: "success",
});
},
- handleAvatarSuccess2(res, file) {
- console.log(file);
+ handleAvatarSuccess2 (res, file) {
this.controlsObj.imageUrl2 = file.response.data;
ElMessage({
showClose: true,
@@ -539,7 +711,7 @@ export default {
type: "success",
});
},
- beforeAvatarUploadMp4(file) {
+ beforeAvatarUploadMp4 (file) {
const dotIndex = (file.name).indexOf('.'); // 找到 '.' 的位置
if (dotIndex !== -1) {
const result = (file.name).substring(dotIndex + 1); // 从 '.' 之后开始截取
@@ -561,21 +733,21 @@ export default {
}
},
// 解析json字段
- getJsonField(jsonStr, field) {
- try {
- if (!jsonStr) return '';
- const obj = JSON.parse(jsonStr);
- return obj?.[field] || '';
- } catch (e) {
- console.error('JSON 解析失败:', jsonStr);
- return '';
- }
- },
+ getJsonField (jsonStr, field) {
+ try {
+ if (!jsonStr) return '';
+ const obj = JSON.parse(jsonStr);
+ return obj?.[field] || '';
+ } catch (e) {
+ console.error('JSON 解析失败:', jsonStr);
+ return '';
+ }
+ },
// 分页导航
- handleSizeChange() {
+ handleSizeChange () {
this.getData();
},
- handleCurrentChange() {
+ handleCurrentChange () {
this.getData();
},
},
diff --git a/src/views/medal/MedalLevelManagement.vue b/src/views/medal/MedalLevelManagement.vue
index d0e1124..7c15c2c 100644
--- a/src/views/medal/MedalLevelManagement.vue
+++ b/src/views/medal/MedalLevelManagement.vue
@@ -1,168 +1,266 @@
-
-
-
- 勋章类型
-
-
-
-
-
- 勋章等级
-
-
-
-
-
查询
-
新增
-
-
-
-
- {{ getJsonField(scope.row.seriesName, 'zh') }}
-
-
- {{ getJsonField(scope.row.seriesName, 'en') }}
-
-
- {{ getJsonField(scope.row.seriesName, 'ar') }}
-
-
- {{ getJsonField(scope.row.seriesName, 'tr') }}
-
-
- {{
+
+
+
+ 勋章类型
+
+
+
+
+
+ 勋章等级
+
+
+
+
+
查询
+
新增
+
+
+
+
+ {{ getJsonField(scope.row.seriesName, 'zh') }}
+
+
+ {{ getJsonField(scope.row.seriesName, 'en') }}
+
+
+ {{ getJsonField(scope.row.seriesName, 'ar') }}
+
+
+ {{ getJsonField(scope.row.seriesName, 'tr') }}
+
+
+ {{ getJsonField(scope.row.seriesName, 'pr') }}
+
+
+ {{
partitionFlagFun(scope.row.partitionFlag, 1)
}}
-
-
- {{
+
+
+ {{
scope.row.type == 1 ? '任务勋章' : scope.row.type == 2 ? '活动勋章' : '荣耀勋章'
}}
-
-
-
-
- {{ scope.row.squareShow == 1 ? '展示' : '不展示' }}
-
-
-
-
- {{ scope.row.status == 1 ? '上架' : '下架'}}
-
-
-
-
-
+
+
+
+ {{ scope.row.squareShow == 1 ? '展示' : '不展示' }}
+
+
+
+
+ {{ scope.row.status == 1 ? '上架' : '下架'}}
+
+
+
+
+ 编辑
-
-
-
+ "
+ size="default">编辑
+
+
+
-
-
+
+
-
-
- 分区
-
-
-
-
-
-
-
- 勋章等级名称-华语
-
-
-
-
- 勋章等级名称-英语
-
-
-
-
- 勋章等级名称-阿语
-
-
-
-
- 勋章等级名称-土耳其
-
-
+
+
+ 分区
+
+
+
+
+
+
+
+ 勋章等级名称-华语
+
+
+
+
+ 勋章等级名称-英语
+
+
+
+
+ 勋章等级名称-阿语
+
+
+
+
+ 勋章等级名称-土耳其
+
+
+
+ 勋章等级名称-葡萄牙语
+
+
-
- 勋章类型
-
-
-
-
-
-
-
- 勋章等级
-
-
-
-
-
-
- 勋章ID LV{{ index + 1 }}
-
-
-
-
- 是否展示在勋章广场
-
-
-
-
-
-
- 状态
-
-
-
-
-
-
- 排序
-
-
-
-
-
-
+
+ 勋章类型
+
+
+
+
+
+
+
+ 勋章等级
+
+
+
+
+
+
+ 勋章ID LV{{ index + 1 }}
+
+
+
+
+ 是否展示在勋章广场
+
+
+
+
+
+
+ 状态
+
+
+
+
+
+
+ 排序
+
+
+
+
+
+
-
+
@@ -173,299 +271,309 @@ import { ElMessage, ElMessageBox } from "element-plus";
import { getMedalSeriesList, saveOrUpdate, updateStatus } from "@/api/medal/MedalLevelManagement";
export default {
- name: 'MedalLevelManagement',
- components: {
- PartitionSelect
- },
- setup() {
- const formData = reactive({
- partitionId: undefined,
- pageNo: 1,
- pageSize: 10,
- level: '',
- type: ''
- })
- const LevelList = ref([
- { label: '全部', value: '' },
- { label: '1级', value: 1 },
- { label: '2级', value: 2 },
- { label: '3级', value: 3 },
- { label: '4级', value: 4 },
- { label: '5级', value: 5 },
- { label: '6级', value: 6 },
- ])
- const addLevelList = ref([
- { label: '1级', value: 1 },
- { label: '2级', value: 2 },
- { label: '3级', value: 3 },
- { label: '4级', value: 4 },
- { label: '5级', value: 5 },
- { label: '6级', value: 6 },
- ])
- const TypeList = ref([
- { label: '任务勋章 ', value: 1 },
- { label: '活动勋章', value: 2 },
- { label: '荣耀勋章', value: 3 },
- ])
- const addFormData = reactive({
- partitionFlag: undefined,
- type: "1",
- partitionInfosList: [],
- medalLevel: '',
- medalSeriesRefs: [
- { medalId: '', level: 1 },
- { medalId: '', level: 2 },
- { medalId: '', level: 3 },
- { medalId: '', level: 4 },
- { medalId: '', level: 5 },
- { medalId: '', level: 6 },
- ],
- status: "1",
- squareShow: "1",
- seriesNameZh: '',
- seriesNameEn: '',
- seriesNameAr: '',
- seriesNameTr: '',
- seq: '',
- seriesId: '',
- })
- const tableData = reactive({
- data: [],
- total: 0,
- loading: false,
- })
- const Dialogtitle = ref('')
- const addDialog = ref(false)
- const selectedCount = ref(0)
- const getData = () => {
- tableData.loading = true;
- getMedalSeriesList(formData).then(res => {
- if (res.code == 200) {
- tableData.data = res.data.rows
- tableData.loading = false;
- tableData.total = res.data.total
+ name: 'MedalLevelManagement',
+ components: {
+ PartitionSelect
+ },
+ setup () {
+ const formData = reactive({
+ partitionId: undefined,
+ pageNo: 1,
+ pageSize: 10,
+ level: '',
+ type: ''
+ })
+ const LevelList = ref([
+ { label: '全部', value: '' },
+ { label: '1级', value: 1 },
+ { label: '2级', value: 2 },
+ { label: '3级', value: 3 },
+ { label: '4级', value: 4 },
+ { label: '5级', value: 5 },
+ { label: '6级', value: 6 },
+ ])
+ const addLevelList = ref([
+ { label: '1级', value: 1 },
+ { label: '2级', value: 2 },
+ { label: '3级', value: 3 },
+ { label: '4级', value: 4 },
+ { label: '5级', value: 5 },
+ { label: '6级', value: 6 },
+ ])
+ const TypeList = ref([
+ { label: '任务勋章 ', value: 1 },
+ { label: '活动勋章', value: 2 },
+ { label: '荣耀勋章', value: 3 },
+ ])
+ const addFormData = reactive({
+ partitionFlag: undefined,
+ type: "1",
+ partitionInfosList: [],
+ medalLevel: '',
+ medalSeriesRefs: [
+ { medalId: '', level: 1 },
+ { medalId: '', level: 2 },
+ { medalId: '', level: 3 },
+ { medalId: '', level: 4 },
+ { medalId: '', level: 5 },
+ { medalId: '', level: 6 },
+ ],
+ status: "1",
+ squareShow: "1",
+ seriesNameZh: '',
+ seriesNameEn: '',
+ seriesNameAr: '',
+ seriesNameTr: '',
+ seriesNamePr: '',
+ seq: '',
+ seriesId: '',
+ })
+ const tableData = reactive({
+ data: [],
+ total: 0,
+ loading: false,
+ })
+ const Dialogtitle = ref('')
+ const addDialog = ref(false)
+ const selectedCount = ref(0)
+ const getData = () => {
+ tableData.loading = true;
+ getMedalSeriesList(formData).then(res => {
+ if (res.code == 200) {
+ tableData.data = res.data.rows
+ tableData.loading = false;
+ tableData.total = res.data.total
- } else {
- tableData.loading = false;
- ElMessage.error(res.message);
- }
- })
- };
+ } else {
+ tableData.loading = false;
+ ElMessage.error(res.message);
+ }
+ })
+ };
- // 增加
- const addFun = () => {
- let obj = {}
- // 过滤 medalId 为空的项
- const filteredRefs = addFormData.medalSeriesRefs.filter(
- item => item.medalId.trim() !== ''
- );
- addFormData.partitionFlag.forEach((res, i) => {
- let resArr = addFormData.partitionInfosList.find(item => item.id === res)
- obj.partitionFlag |= resArr.id
-
- });
- obj.seriesName = JSON.stringify({
- zh: addFormData.seriesNameZh,
- en: addFormData.seriesNameEn,
- ar: addFormData.seriesNameAr,
- tr: addFormData.seriesNameTr,
- });
- obj.status = addFormData.status;
- obj.squareShow = addFormData.squareShow;
- obj.seq = addFormData.seq;
- obj.type = addFormData.type;
- obj.medalLevel = addFormData.medalLevel;
- obj.medalSeriesRefs = filteredRefs;
- if (addFormData.seriesId) {
- obj.seriesId = addFormData.seriesId;
- }
- saveOrUpdate(obj).then(res => {
- if (res.code == 200) {
- ElMessage.success('添加成功');
- resetAddFormData();
- addDialog.value = false;
- getData();
- selectedCount.value = 0;
- } else {
- ElMessage.error(res.message);
- addDialog.value = false
- selectedCount.value = 0;
- }
- })
- }
- // 详情
- const detailPageFun = (val) => {
- resetAddFormData();
- // 执行赋值
- val.medalSeriesRefs.forEach(item => {
- const target = addFormData.medalSeriesRefs.find(ref => ref.level == item.level);
- if (target) {
- target.medalId = String(item.medalId);
- }
- });
- addFormData.status = String(val.status);
- addFormData.squareShow = String(val.squareShow);
- addFormData.seq = val.seq;
- addFormData.type = String(val.type);
- addFormData.medalLevel = val.medalLevel;
- addFormData.partitionFlag = partitionFlagFun(val.partitionFlag, 2)
- if (val.seriesName) {
- addFormData.seriesNameZh = JSON.parse(val.seriesName).zh;
- addFormData.seriesNameEn = JSON.parse(val.seriesName).en;
- addFormData.seriesNameAr = JSON.parse(val.seriesName).ar;
- addFormData.seriesNameTr = JSON.parse(val.seriesName).tr;
- }
- selectedCount.value = val.medalLevel;
- addDialog.value = true;
- Dialogtitle.value = "编辑";
- addFormData.seriesId = val.seriesId;
- }
- const medalLevelFun = (val) => {
- selectedCount.value = parseInt(val)
- }
- // 处理分区
- const partitionFlagFun = (num, type) => {
- //1 2 4
- var val = '';
- let valArr = [];
- if (type == 2) {
- if ((num & 1) != 0) {
- valArr.push(1);
- }
- if ((num & 2) != 0) {
- valArr.push(2);
- }
- if ((num & 4) != 0) {
- valArr.push(4);
- }
- if ((num & 8) != 0) {
- valArr.push(8);
- }
- if ((num & 16) != 0) {
- valArr.push(16);
- }
- return valArr;
- } else {
- if ((num & 1) != 0) {
- val += '英语区 ';
- }
- if ((num & 2) != 0) {
- val += '阿拉伯语区 ';
- }
- if ((num & 4) != 0) {
- val += '华语区 ';
- }
- if ((num & 8) != 0) {
- val += '土耳其 ';
- }
- if ((num & 16) != 0) {
- val += '英语2区 ';
- }
- return val;
- }
+ // 增加
+ const addFun = () => {
+ let obj = {}
+ // 过滤 medalId 为空的项
+ const filteredRefs = addFormData.medalSeriesRefs.filter(
+ item => item.medalId.trim() !== ''
+ );
+ addFormData.partitionFlag.forEach((res, i) => {
+ let resArr = addFormData.partitionInfosList.find(item => item.id === res)
+ obj.partitionFlag |= resArr.id
- };
- //重置
- const resetAddFormData = () => {
- Object.assign(addFormData, {
- partitionFlag: undefined,
- type: "1",
- // partitionInfosList: [],
- medalLevel: '',
- medalSeriesRefs: [
- { medalId: '', level: 1 },
- { medalId: '', level: 2 },
- { medalId: '', level: 3 },
- { medalId: '', level: 4 },
- { medalId: '', level: 5 },
- { medalId: '', level: 6 },
- ],
- status: "1",
- squareShow: "1",
- seriesNameZh: '',
- seriesNameEn: '',
- seriesNameAr: '',
- seriesNameTr: '',
- seq: '',
- seriesId: '',
- });
- };
- const getpartitionInfosList = (e) => {
- console.log(e);
- addFormData.partitionInfosList = JSON.parse(JSON.stringify(e));
- addFormData.partitionInfosList.shift();
- };
- // 解析json字段
- const getJsonField =(jsonStr, field) =>{
- try {
- if (!jsonStr) return '';
- const obj = JSON.parse(jsonStr);
- return obj?.[field] || '';
- } catch (e) {
- console.error('JSON 解析失败:', jsonStr);
- return '';
+ });
+ obj.seriesName = JSON.stringify({
+ zh: addFormData.seriesNameZh,
+ en: addFormData.seriesNameEn,
+ ar: addFormData.seriesNameAr,
+ tr: addFormData.seriesNameTr,
+ pr: addFormData.seriesNamePr,
+ });
+ obj.status = addFormData.status;
+ obj.squareShow = addFormData.squareShow;
+ obj.seq = addFormData.seq;
+ obj.type = addFormData.type;
+ obj.medalLevel = addFormData.medalLevel;
+ obj.medalSeriesRefs = filteredRefs;
+ if (addFormData.seriesId) {
+ obj.seriesId = addFormData.seriesId;
+ }
+ saveOrUpdate(obj).then(res => {
+ if (res.code == 200) {
+ ElMessage.success('添加成功');
+ resetAddFormData();
+ addDialog.value = false;
+ getData();
+ selectedCount.value = 0;
+ } else {
+ ElMessage.error(res.message);
+ addDialog.value = false
+ selectedCount.value = 0;
+ }
+ })
}
- };
- const handleSizeChange = (val) => {
- formData.pageSize = val;
- getData();
- };
- const handleCurrentChange = (val) => {
- formData.pageNo = val;
- getData();
- };
-
- return {
- formData,
- addFormData,
- tableData,
- addDialog,
- getData,
- addFun,
- handleSizeChange,
- handleCurrentChange,
- medalLevelFun,
- selectedCount,
- LevelList,
- TypeList,
- partitionFlagFun,
- getpartitionInfosList,
- resetAddFormData,
- detailPageFun,
- Dialogtitle,
- getJsonField,
- addLevelList
+ // 详情
+ const detailPageFun = (val) => {
+ resetAddFormData();
+ // 执行赋值
+ val.medalSeriesRefs.forEach(item => {
+ const target = addFormData.medalSeriesRefs.find(ref => ref.level == item.level);
+ if (target) {
+ target.medalId = String(item.medalId);
}
+ });
+ addFormData.status = String(val.status);
+ addFormData.squareShow = String(val.squareShow);
+ addFormData.seq = val.seq;
+ addFormData.type = String(val.type);
+ addFormData.medalLevel = val.medalLevel;
+ addFormData.partitionFlag = partitionFlagFun(val.partitionFlag, 2)
+ if (val.seriesName) {
+ addFormData.seriesNameZh = JSON.parse(val.seriesName).zh;
+ addFormData.seriesNameEn = JSON.parse(val.seriesName).en;
+ addFormData.seriesNameAr = JSON.parse(val.seriesName).ar;
+ addFormData.seriesNameTr = JSON.parse(val.seriesName).tr;
+ addFormData.seriesNamePr = JSON.parse(val.seriesName).pr;
+ }
+ selectedCount.value = val.medalLevel;
+ addDialog.value = true;
+ Dialogtitle.value = "编辑";
+ addFormData.seriesId = val.seriesId;
}
+ const medalLevelFun = (val) => {
+ selectedCount.value = parseInt(val)
+ }
+ // 处理分区
+ const partitionFlagFun = (num, type) => {
+ //1 2 4
+ var val = '';
+ let valArr = [];
+ if (type == 2) {
+ if ((num & 1) != 0) {
+ valArr.push(1);
+ }
+ if ((num & 2) != 0) {
+ valArr.push(2);
+ }
+ if ((num & 4) != 0) {
+ valArr.push(4);
+ }
+ if ((num & 8) != 0) {
+ valArr.push(8);
+ }
+ if ((num & 16) != 0) {
+ valArr.push(16);
+ }
+ if ((num & 32) != 0) {
+ valArr.push(32);
+ }
+ return valArr;
+ } else {
+ if ((num & 1) != 0) {
+ val += '英语区 ';
+ }
+ if ((num & 2) != 0) {
+ val += '阿拉伯语区 ';
+ }
+ if ((num & 4) != 0) {
+ val += '华语区 ';
+ }
+ if ((num & 8) != 0) {
+ val += '土耳其 ';
+ }
+ if ((num & 16) != 0) {
+ val += '英语2区 ';
+ }
+ if ((num & 32) != 0) {
+ val += '葡萄牙语区 ';
+ }
+ return val;
+ }
+
+ };
+ //重置
+ const resetAddFormData = () => {
+ Object.assign(addFormData, {
+ partitionFlag: undefined,
+ type: "1",
+ // partitionInfosList: [],
+ medalLevel: '',
+ medalSeriesRefs: [
+ { medalId: '', level: 1 },
+ { medalId: '', level: 2 },
+ { medalId: '', level: 3 },
+ { medalId: '', level: 4 },
+ { medalId: '', level: 5 },
+ { medalId: '', level: 6 },
+ ],
+ status: "1",
+ squareShow: "1",
+ seriesNameZh: '',
+ seriesNameEn: '',
+ seriesNameAr: '',
+ seriesNameTr: '',
+ seriesNamePr: '',
+ seq: '',
+ seriesId: '',
+ });
+ };
+ const getpartitionInfosList = (e) => {
+ console.log(e);
+ addFormData.partitionInfosList = JSON.parse(JSON.stringify(e));
+ addFormData.partitionInfosList.shift();
+ };
+ // 解析json字段
+ const getJsonField = (jsonStr, field) => {
+ try {
+ if (!jsonStr) return '';
+ const obj = JSON.parse(jsonStr);
+ return obj?.[field] || '';
+ } catch (e) {
+ console.error('JSON 解析失败:', jsonStr);
+ return '';
+ }
+ };
+ const handleSizeChange = (val) => {
+ formData.pageSize = val;
+ getData();
+ };
+ const handleCurrentChange = (val) => {
+ formData.pageNo = val;
+ getData();
+ };
+
+ return {
+ formData,
+ addFormData,
+ tableData,
+ addDialog,
+ getData,
+ addFun,
+ handleSizeChange,
+ handleCurrentChange,
+ medalLevelFun,
+ selectedCount,
+ LevelList,
+ TypeList,
+ partitionFlagFun,
+ getpartitionInfosList,
+ resetAddFormData,
+ detailPageFun,
+ Dialogtitle,
+ getJsonField,
+ addLevelList
+ }
+ }
}
\ No newline at end of file
diff --git a/src/views/nameplate/NameplateInfoView.vue b/src/views/nameplate/NameplateInfoView.vue
index 213d5ac..65ad7fd 100644
--- a/src/views/nameplate/NameplateInfoView.vue
+++ b/src/views/nameplate/NameplateInfoView.vue
@@ -1,238 +1,413 @@
-