diff --git a/packages/conv/creditScore/AppGridMemberScore/components/gridScoreDetail.vue b/packages/conv/creditScore/AppGridMemberScore/components/gridScoreDetail.vue
index 7bc959a9..912cc129 100644
--- a/packages/conv/creditScore/AppGridMemberScore/components/gridScoreDetail.vue
+++ b/packages/conv/creditScore/AppGridMemberScore/components/gridScoreDetail.vue
@@ -25,8 +25,8 @@
@@ -45,7 +45,7 @@
+ @getList="getIntegralChange" :col-configs="colConfigs" :dict="dict">
@@ -79,6 +79,8 @@ export default {
data: {},
startTime: '',
endTime: '',
+ xData: [],
+ yData: [],
}
},
props: {
@@ -104,6 +106,7 @@ export default {
this.$dict.load('integralType')
this.getDetail()
this.getIntegralChange()
+ this.getEventSummary()
},
methods: {
// 详情
@@ -120,7 +123,21 @@ export default {
},
// 事件汇总 暂定
-
+ getEventSummary() {
+ this.instance.post(`/app/appintegraluser/eventSummary`,null,{
+ params: {
+ id: this.$route.query.id,
+ startTime: this.startTime,
+ endTime: this.endTime,
+ }
+ }).then(res=>{
+ if(res?.data) {
+ this.xData = res.data.map(x=> x.eventName)
+ this.yData = res.data.map(y=> y.totalIntegral)
+ this.getColEcherts(this.xData, this.yData)
+ }
+ })
+ },
// 余额变动明细
getIntegralChange() {
@@ -143,7 +160,7 @@ export default {
}
},
- getColEcherts() {
+ getColEcherts(xData, yData) {
let chartDom = document.getElementById('chartDom');
chartDom.style.width = window.innerWidth - 335 + "px";
this.myChart = echarts.init(chartDom);
@@ -164,14 +181,14 @@ export default {
},
xAxis: {
type: 'category',
- data: ['每日签到', '事件上报', '特殊人员跟进', '群发任务', '邀请居民进群']
+ data: xData,
},
yAxis: {
type: 'value'
},
series: [
{
- data: [120, 200, 150, 80, 70,],
+ data: yData,
type: 'bar',
showBackground: true,
backgroundStyle: {
diff --git a/packages/conv/creditScore/AppGridMemberScore/components/gridScoreRules.vue b/packages/conv/creditScore/AppGridMemberScore/components/gridScoreRules.vue
index a3fd18e7..09281cd1 100644
--- a/packages/conv/creditScore/AppGridMemberScore/components/gridScoreRules.vue
+++ b/packages/conv/creditScore/AppGridMemberScore/components/gridScoreRules.vue
@@ -7,10 +7,8 @@
添加
-
-
-
+
-
+
+
+
+
+
+
+
+
@@ -127,19 +166,47 @@ export default {
],
tableData: [],
dialog: false,
- form: {ladderRule: []},
- formRules: {
- eventType: [{required: true, message: "请选择事件/类型", trigger: "change"}],
- scoringCycle: [{required: true, message: "请选择周期范围", trigger: "change"}],
- integral: [{required: true, pattern: /^\d*[.\d]\d?$/, message: "请输入积分分值,最多保留一位小数"}],
- numberLimit: [{pattern: /^\d*$/, message: "请输入正整数"}]
+ form: {
+ systemRuleId: '',
+ ruleName: '',
+ scoringCycle: '',
+ numberLimit: '',
+ integral: '',
+ validRangeType: '0',
+ validRangeData: ''
},
- cacheOps: []
+ formRules: {
+ systemRuleId: [{required: true, message: "请选择事件/类型", trigger: "change"}],
+ scoringCycle: [{required: true, message: "请选择周期范围", trigger: "change"}],
+ // numberLimit: [{pattern: /^\d*$/, message: "请输入正整数"}],
+ integral: [{required: true, pattern: /^\d*[.\d]\d?$/, message: "请输入积分分值,最多保留一位小数"}],
+ validRangeType: [{required: true, message: "请选择事件有效范围", trigger: "change"}],
+ },
+ rulesOps: [],
+ rulesProps: {
+ label: "ruleName",
+ value: "id",
+ checkStrictly:true,
+ },
+ radio: 0,
+ showGrid: false,
+ treeObj: {
+ treeList: [],
+ defaultProps: {
+ label: "girdName",
+ value: "id",
+ },
+ checkedKeys: [],
+ },
+ girdInfoList: [],
+ currCheckedKeys: []
};
},
created() {
this.$dict.load("integralRuleStatus", "integralRuleRuleType", 'integralRuleScoringCycle', 'integralRuleEvent', 'integralRuleEventType').then(() => {
- this.getList();
+ this.getList()
+ this.getRulesList()
+ this.beforeSelectTree()
});
},
methods: {
@@ -231,9 +298,11 @@ export default {
},
handleTypeForm(v) {
if (this.dialog) {
- this.form.event = v?.[0]
- this.form.type = v?.[1]
- this.form.ruleType = !this.form.event ? null : this.form.event == 3 ? 1 : 0
+ console.log(v);
+ // this.form.event = v?.[0]
+ this.form.systemRuleId = v?.[v.length - 1]
+ console.log(this.form.systemRuleId);
+ // this.form.ruleType = !this.form.event ? null : this.form.event == 3 ? 1 : 0
}
},
handleDelete(i) {
@@ -243,7 +312,86 @@ export default {
},
checkIntegral(v) {
return /\.\d{2,}$/.test(v) ? Math.abs(v).toFixed(1) : Math.abs(v)
- }
+ },
+ getRulesList() {
+ this.instance.post(`/app/appintegralsystemrule/list?current=1&sizes=3000`).then(res=> {
+ if(res?.data) {
+ this.rulesOps = this.toTree(res.data.records)
+ }
+ })
+ },
+ // 转树形结构
+ toTree(data) {
+ let result = [];
+ if (!Array.isArray(data)) {
+ return result
+ }
+ let map = {};
+ data.forEach(item => {
+ map[item.id] = item;
+ });
+ data.forEach(item => {
+ let parent = map[item.parentRuleId];
+ if (parent) {
+ (parent.children || (parent.children = [])).push(item);
+ } else {
+ result.push(item);
+ }
+ });
+ return result;
+ },
+
+ girdToTree(data) {
+ let result = [];
+ if (!Array.isArray(data)) {
+ return result
+ }
+ let map = {};
+ data.forEach(item => {
+ map[item.id] = item;
+ });
+ data.forEach(item => {
+ let parent = map[item.parentGirdId];
+ if (parent) {
+ (parent.children || (parent.children = [])).push(item);
+ } else {
+ result.push(item);
+ }
+ });
+ return result;
+ },
+
+ getCheckedTree() {
+ if (!this.$refs.tree.getCheckedNodes().length) {
+ return this.$message.error('请选择网格')
+ }
+
+ this.$set(this.girdInfoList, this.currIndex, {
+ ...this.$refs.tree.getCheckedNodes(),
+ checkType: true
+ })
+
+ // this.girdInfoList = this.$refs.tree.getCheckedNodes()
+
+ this.showGrid = false;
+ },
+
+ beforeSelectTree() {
+ this.treeObj.checkedKeys = [];
+ this.instance.post(`/app/appgirdinfo/listAll3`, null, null).then((res) => {
+ if (res.code == 0) {
+ this.treeObj.treeList = this.girdToTree(res.data)
+ this.girdInfoList.map((e) => {
+ this.treeObj.checkedKeys.push(e.id);
+ });
+ }
+ });
+ },
+
+ onCheckChange(e) {
+ this.$refs.tree.setChecked(e.id, true)
+ },
+
},
computed: {
isEdit() {
@@ -254,21 +402,16 @@ export default {
},
etOps() {
return {
- lazy: true,
- value: "dictValue",
- label: "dictName",
- lazyLoad: (node, resolve) => {
- if (node.level == 0) resolve(this.$dict.getDict('integralRuleEvent'))
- else if (node.level == 1) {
- let dict = 'integralRuleEvent' + node.value
- this.$dict.load(dict).then(() => {
- let nodes = this.$dict.getDict(dict).map(e => ({...e, leaf: true}))
- resolve(nodes)
- })
- }
- }
+ value: "id",
+ label: "ruleName",
}
},
+ // currCheckedKeys() {
+ // if (this.girdInfoList && this.girdInfoList[this.currIndex] && this.girdInfoList[this.currIndex].id) {
+ // return [this.girdInfoList[this.currIndex].id]
+ // }
+ // return []
+ // },
},
}