Merge remote-tracking branch 'origin/dev' into dev
This commit is contained in:
@@ -5,12 +5,12 @@
|
||||
<ai-search-bar>
|
||||
<template #left>
|
||||
<el-button type="primary" size="small" icon="iconfont iconAdd" @click="changeIntegral('',0)"> 批量调整积分</el-button>
|
||||
<el-cascader ref="cascader1" clearable v-model="search.girdId" :options="girdOptions" placeholder="所属网格" size="small"
|
||||
<el-cascader ref="cascader1" clearable v-model="girdIdList" :options="girdOptions" placeholder="所属网格" size="small"
|
||||
:props="defaultProps" :show-all-levels="false" @change="gridChange"></el-cascader>
|
||||
</template>
|
||||
<template #right>
|
||||
<el-input size="small" placeholder="姓名" v-model="search.name" clearable
|
||||
@clear="current = 1, search.name = '', getTableData()" suffix-icon="iconfont iconSearch"
|
||||
<el-input size="small" placeholder="姓名" v-model="search.userName" clearable
|
||||
@clear="current = 1, search.userName = '', getTableData()" suffix-icon="iconfont iconSearch"
|
||||
v-throttle="() => {(current = 1), getTableData();}"/>
|
||||
<ai-download :instance="instance" url="`/app/appintegraluser/girdIntegralExport" :params="search" fileName="网格员积分"
|
||||
:disabled="tableData.length == 0">
|
||||
@@ -20,21 +20,6 @@
|
||||
</ai-search-bar>
|
||||
<ai-table :tableData="tableData" :total="page.total" :current.sync="current" :size.sync="page.size"
|
||||
@getList="getTableData()" :col-configs="colConfigs" :dict="dict" @sort-change="changeTableSort">
|
||||
<el-table-column slot="integral" label="积分余额" align="center" prop="integral" :sortable="'custom'">
|
||||
<template slot-scope="{ row }">
|
||||
<span>{{ row.integral }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column slot="totalIntegral" label="累计积分" align="center" prop="totalIntegral" :sortable="'custom'">
|
||||
<template slot-scope="{ row }">
|
||||
<span>{{ row.totalIntegral }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column slot="usedIntegral" label="已用积分" align="center" prop="usedIntegral" :sortable="'custom'">
|
||||
<template slot-scope="{ row }">
|
||||
<span>{{ row.usedIntegral }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column slot="options" label="操作" align="center">
|
||||
<template slot-scope="{ row }">
|
||||
<el-button type="text" @click="changeIntegral(row,1)">调整积分</el-button>
|
||||
@@ -52,27 +37,27 @@
|
||||
@onConfirm="onConfirm"
|
||||
@closed="form={},chooseUserList=[]">
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
||||
<el-form-item label="选择人员" prop="ids" required>
|
||||
<!-- <ai-person-select :instance="instance" :customClicker="true" :chooseUserList="chooseUserList"
|
||||
:url="'/app/appgirdmemberinfo/list?size=10'"
|
||||
:isMultiple="true" dialogTitle="选择" @selectPerson="selectPerson">
|
||||
<el-form-item label="选择人员" prop="ids">
|
||||
<ai-person-select :instance="instance" :customClicker="true" :chooseUserList="chooseUserList"
|
||||
:url="'/app/appgirdmemberinfo/list?size=10'" headerTitle="网格员列表"
|
||||
:isMultiple="true" dialogTitle="选择" @selectPerson="selectPerson" class="aipersonselect">
|
||||
<template name="option" v-slot:option="{ item }">
|
||||
<span class="iconfont iconProlife">{{ item.name }}</span>
|
||||
<ai-id mode="show" :show-eyes="false" :value="item.idNumber"/>
|
||||
</template>
|
||||
</ai-person-select> -->
|
||||
</ai-person-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="调整说明" prop="eventDesc" required>
|
||||
<el-form-item label="调整说明" prop="eventDesc">
|
||||
<el-input v-model.trim="form.eventDesc" placeholder="请输入..." type="textarea" :rows="4" show-word-limit
|
||||
maxlength="100"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="上传凭证">
|
||||
<ai-uploader :instance="instance" fileType="file" v-model="form.file" :limit="1"></ai-uploader>
|
||||
</el-form-item>
|
||||
<el-form-item label="类型" prop="integralCalcType" required>
|
||||
<el-form-item label="类型" prop="integralCalcType">
|
||||
<ai-select v-model="form.integralCalcType" :selectList="dict.getDict('integralCalcType')"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="积分" prop="integral" required>
|
||||
<el-form-item label="积分" prop="integral">
|
||||
<el-input v-model.trim="form.integral" placeholder="请输入正数" size="small"></el-input>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
@@ -94,13 +79,14 @@ export default {
|
||||
data() {
|
||||
return {
|
||||
search: {
|
||||
name: '',
|
||||
userName: '',
|
||||
girdId: '',
|
||||
current: 1,
|
||||
size: 10,
|
||||
sortFiled: '',
|
||||
sortRule: '',
|
||||
},
|
||||
girdIdList: [],
|
||||
tableData: [],
|
||||
page: {size: 10, total: 0},
|
||||
current: 1,
|
||||
@@ -135,10 +121,10 @@ export default {
|
||||
colConfigs() {
|
||||
return [
|
||||
{ prop: "userName", label: '姓名', align: "left", },
|
||||
{ prop: "girdName", label: '所属网格', align: "center", },
|
||||
{ slot: "integral", label: '积分余额', align: "center", },
|
||||
{ slot: "totalIntegral", label: '累计积分', align: "center", },
|
||||
{ slot: "usedIntegral", label: '已用积分', align: "center", },
|
||||
{ prop: "girdName", label: '所属网格' },
|
||||
{ prop: "integral", label: '积分余额', align: "center", sortable: true },
|
||||
{ prop: "totalIntegral", label: '累计积分', align: "center", sortable: true },
|
||||
{ prop: "usedIntegral", label: '已用积分', align: "center", sortable: true },
|
||||
{ slot: "options" },
|
||||
]
|
||||
},
|
||||
@@ -147,7 +133,8 @@ export default {
|
||||
ids: [{required: true, message: '请选择人员', trigger: 'blur'}],
|
||||
eventDesc: [{required: true, message: '请输入调整说明', trigger: 'blur'}],
|
||||
integralCalcType: [{required: true, message: '请选择类型', trigger: 'change'}],
|
||||
integral: [{required: true, validator: (r, v, cb) => v > 0 ? cb() : cb("请输入正数")}],
|
||||
integral: [{required: true, message: '请输入积分', trigger: 'blur' },
|
||||
{pattern: /^([1-9]\d*|0)(\.\d{1,2})?$/, message: '请输入正数且最多只能保留两位小数'}],
|
||||
}
|
||||
},
|
||||
},
|
||||
@@ -218,6 +205,7 @@ export default {
|
||||
},
|
||||
|
||||
gridChange(val) {
|
||||
this.girdIdList = val
|
||||
this.search.girdId = val?.[val.length - 1]
|
||||
this.$refs.cascader1.dropDownVisible = false;
|
||||
this.getTableData()
|
||||
@@ -225,36 +213,30 @@ export default {
|
||||
|
||||
changeTableSort(col) {
|
||||
if(col.prop === 'integral') { // 剩余积分
|
||||
this.search.sortFiled = 0
|
||||
if(col.order === 'ascending') {
|
||||
this.search.sortFiled = 0
|
||||
this.search.sortRule = true
|
||||
} else if(col.order === 'descending') {
|
||||
this.search.sortFiled = 0
|
||||
this.search.sortRule = false
|
||||
} else if(col.order === null) {
|
||||
this.search.sortFiled = ''
|
||||
this.search.sortRule = ''
|
||||
}
|
||||
} else if(col.prop === 'totalIntegral') { // 累计积分
|
||||
this.search.sortFiled = 1
|
||||
if(col.order === 'ascending') {
|
||||
this.search.sortFiled = 1
|
||||
this.search.sortRule = true
|
||||
} else if(col.order === 'descending') {
|
||||
this.search.sortFiled = 1
|
||||
this.search.sortRule = false
|
||||
} else if(col.order === null) {
|
||||
this.search.sortFiled = ''
|
||||
this.search.sortRule = ''
|
||||
}
|
||||
} else if(col.prop === 'usedIntegral') { // 已用积分
|
||||
this.search.sortFiled = 2
|
||||
if(col.order === 'ascending') {
|
||||
this.search.sortFiled = 2
|
||||
this.search.sortRule = true
|
||||
} else if(col.order === 'descending') {
|
||||
this.search.sortFiled = 2
|
||||
this.search.sortRule = false
|
||||
} else if(col.order === null) {
|
||||
this.search.sortFiled = ''
|
||||
this.search.sortRule = ''
|
||||
}
|
||||
}
|
||||
@@ -277,12 +259,15 @@ export default {
|
||||
integralCalcType: this.form.integralCalcType,
|
||||
integral: this.form.integral,
|
||||
}).then(res => {
|
||||
if(res.code == 0) {
|
||||
if(res?.code == 0) {
|
||||
this.$message.success('调整积分成功')
|
||||
setTimeout(() =>{
|
||||
this.getTableData()
|
||||
this.dialog = false
|
||||
})
|
||||
this.getTableData()
|
||||
this.flag = false
|
||||
}, 600)
|
||||
} else {
|
||||
this.flag = false
|
||||
}
|
||||
})
|
||||
}
|
||||
@@ -309,5 +294,65 @@ export default {
|
||||
::v-deep .ai-dialog .ai-dialog__content {
|
||||
overflow-y: hidden;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.userlist {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.userlist, .user {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.user {
|
||||
position: relative;
|
||||
width: 70px;
|
||||
text-align: center;
|
||||
|
||||
.remove-icon {
|
||||
position: absolute;
|
||||
right: 7px;
|
||||
top: -4px;
|
||||
line-height: 1;
|
||||
padding: 6px 0;
|
||||
font-size: 16px;
|
||||
cursor: pointer;
|
||||
|
||||
&:hover {
|
||||
color: crimson;
|
||||
}
|
||||
}
|
||||
|
||||
img, h2 {
|
||||
display: block;
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
line-height: 40px;
|
||||
text-align: center;
|
||||
margin: 0 auto 4px;
|
||||
font-size: 14px;
|
||||
color: #fff;
|
||||
border-radius: 50%;
|
||||
}
|
||||
|
||||
h2 {
|
||||
background-color: $primaryColor;
|
||||
}
|
||||
|
||||
span {
|
||||
color: #666;
|
||||
font-size: 14px;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
word-break: break-all;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
}
|
||||
|
||||
::v-deep .selectCont .pagination {
|
||||
width: 100%!important;
|
||||
background: pink;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -7,7 +7,7 @@
|
||||
<ai-search-bar>
|
||||
<template #left>
|
||||
<el-button type="primary" icon="iconfont iconAdd" @click="dialog = true"> 添加</el-button>
|
||||
<el-cascader size="small" v-model="search.systemRuleId" :options="rulesOps" placeholder="请选择事件/类型" clearable :props="rulesProps" @change="handleTypeSearch" ref="eventTypeSearch"/>
|
||||
<el-cascader size="small" v-model="systemRuleIdList" :options="rulesOps" placeholder="请选择事件/类型" clearable :props="rulesProps" @change="handleTypeSearch" ref="eventTypeSearch"/>
|
||||
<ai-select v-model="search.status" @change="(page.current = 1), getList()" placeholder="请选择状态" :selectList="$dict.getDict('integralRuleStatus')">
|
||||
</ai-select>
|
||||
</template>
|
||||
@@ -42,8 +42,8 @@
|
||||
<el-cascader v-model="form.systemRuleId" ref="cascaderArr" :props="etOps" clearable placeholder="请选择" @change="handleTypeForm" :options="rulesOps"/>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="自定义事件" v-if="form.systemRuleId == '自定义'">
|
||||
<el-input placeholder="请输入,周期范围内,不填写表示不限制" v-model="form.ruleName" clearable/>
|
||||
<el-form-item label="自定义事件" v-if="form.systemRuleId == '自定义'" prop="ruleName" :required="form.systemRuleId == '自定义'">
|
||||
<el-input placeholder="请输入,周期范围内,不填写表示不限制" v-model="form.ruleName" clearable maxlength="10" show-word-limit />
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="规则">
|
||||
@@ -82,7 +82,7 @@
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="奖励次数">
|
||||
<el-input placeholder="请输入,周期范围内,不填写表示不限制" v-model.number="form.numberLimit" clearable/>
|
||||
<el-input type="number" placeholder="请输入,周期范围内,不填写表示不限制" v-model.number="form.numberLimit" clearable/>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="积分分值" prop="integral">
|
||||
@@ -97,13 +97,18 @@
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="生效网格" :prop="form.validRangeType == 1 ? 'validRangeData' : ''" :rules="[{ required: true, message: '请选择生效网格', trigger: 'change' }, ]" v-if="form.validRangeType == 1">
|
||||
<el-button type="text" @click="(showGrid = true), beforeSelectTree()" >{{ girdInfoList.length ? "已选择" : "请选择" }}</el-button>
|
||||
<el-button type="text" @click="(showGrid = true), beforeSelectTree()" >{{ girdInfoList.length ? "重新选择" : "请选择" }}</el-button>
|
||||
<div v-if="girdInfoList.length">
|
||||
<span v-for="(e,index) in girdNameList" :key="index" style="margin-right: 8px;">{{e}}</span>
|
||||
</div>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
<ai-dialog title="选择网格" :visible.sync="showGrid" :customFooter="true" :destroyOnClose="true" border width="720px" append-to-body>
|
||||
<div class="grid">
|
||||
<el-tree :data="treeObj.treeList" :props="treeObj.defaultProps" node-key="id" ref="tree" :check-strictly="true" show-checkbox default-expand-all :default-checked-keys="currCheckedKeys" @check="onCheckChange">
|
||||
<el-tree :data="treeObj.treeList" :props="treeObj.defaultProps" node-key="id" ref="tree"
|
||||
show-checkbox lazy :check-strictly="true" :load="loadNode" :default-expanded-keys="currCheckedKeys"
|
||||
:default-checked-keys="currCheckedKeys" @check="onCheckChange">
|
||||
</el-tree>
|
||||
</div>
|
||||
<div class="dialog-footer" slot="footer">
|
||||
@@ -125,12 +130,28 @@ export default {
|
||||
permissions: Function,
|
||||
},
|
||||
data() {
|
||||
var validcode = (rule, value, callback) => {
|
||||
if(value) {
|
||||
if (value != 0) {
|
||||
if(!/^([+-]?([1-9]{1}\d*)|(0{1}))(\.\d{1,2})?$/.test(value)) {
|
||||
callback(new Error('请输入积分分值,可输入正数、负数、最多保留两位小数'))
|
||||
}else{
|
||||
callback();
|
||||
}
|
||||
} else {
|
||||
callback(new Error('请输入有效的积分分值'));
|
||||
}
|
||||
} else {
|
||||
callback(new Error('请输入积分分值'));
|
||||
}
|
||||
}
|
||||
return {
|
||||
search: {
|
||||
status: "",
|
||||
systemRuleId: "",
|
||||
ruleName: ""
|
||||
},
|
||||
systemRuleIdList: [],
|
||||
page: { current: 1, size: 10, total: 0 },
|
||||
colConfigs: [
|
||||
{
|
||||
@@ -187,16 +208,13 @@ export default {
|
||||
systemRuleId: [
|
||||
{ required: true, message: "请选择事件/类型", trigger: "change" },
|
||||
],
|
||||
ruleName: [
|
||||
{ required: true, message: "请输入自定义事件", trigger: "change" },
|
||||
],
|
||||
scoringCycle: [
|
||||
{ required: true, message: "请选择周期范围", trigger: "change" },
|
||||
],
|
||||
integral: [
|
||||
{
|
||||
required: true,
|
||||
pattern: /^\d*[.\d]\d?$/,
|
||||
message: "请输入积分分值,最多保留一位小数",
|
||||
},
|
||||
],
|
||||
integral: [{required: true, validator: validcode, trigger: "blur"},],
|
||||
validRangeType: [
|
||||
{ required: true, message: "请选择有效范围", trigger: "change" },
|
||||
],
|
||||
@@ -214,19 +232,24 @@ export default {
|
||||
defaultProps: {
|
||||
label: "girdName",
|
||||
value: "id",
|
||||
children: 'children',
|
||||
isLeaf: 'leaf'
|
||||
},
|
||||
checkedKeys: [],
|
||||
},
|
||||
girdInfoList: [],
|
||||
currCheckedKeys: [],
|
||||
rulueType: "0",
|
||||
girdNameList: [],
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.$dict.load("integralRuleStatus","integralRuleRuleType","integralRuleScoringCycle","integralRuleEvent","integralRuleEventType").then(() => {
|
||||
this.$dict.load("integralRuleStatus","integralRuleRuleType","integralRuleScoringCycle",
|
||||
"integralRuleEvent","integralRuleEventType").then(() => {
|
||||
this.getList();
|
||||
this.getRulesList();
|
||||
this.beforeSelectTree();
|
||||
// this.getList12()
|
||||
});
|
||||
},
|
||||
methods: {
|
||||
@@ -256,16 +279,22 @@ export default {
|
||||
validRangeType: "0",
|
||||
validRangeData: "",
|
||||
};
|
||||
if(!this.isEdit) {
|
||||
this.girdInfoList = []
|
||||
}
|
||||
},
|
||||
toEdit(row) {
|
||||
this.form = {...row}
|
||||
this.girdInfoList = this.form?.validRangeData?.split(",");
|
||||
if(this.form?.validRangeData) {
|
||||
this.girdInfoList = JSON.parse(this.form.validRangeData)
|
||||
this.girdNameList = this.girdInfoList.map(e=>e.girdName)
|
||||
}
|
||||
this.$nextTick(() => {
|
||||
this.dialog = true;
|
||||
});
|
||||
},
|
||||
remove(id) {
|
||||
this.$confirm("删除后不可恢复,是否要删除该事项?", {
|
||||
this.$confirm("删除后不可恢复,是否要删除该规则?", {
|
||||
type: "error",
|
||||
}).then(() => {
|
||||
this.instance
|
||||
@@ -299,9 +328,6 @@ export default {
|
||||
this.getList();
|
||||
},
|
||||
onConfirm() {
|
||||
// if(this.form.ruleType==1 && !this.form.ladderRule.length) {
|
||||
// return this.$message.error('请添加规则')
|
||||
// }
|
||||
this.$refs.DialogForm.validate((valid) => {
|
||||
if (valid) {
|
||||
let formData = this.$copy(this.form);
|
||||
@@ -324,6 +350,7 @@ export default {
|
||||
});
|
||||
},
|
||||
handleTypeSearch(v) {
|
||||
this.systemRuleIdList = v
|
||||
this.search.systemRuleId = v?.[v.length - 1];
|
||||
this.search.ruleName = this.$refs.eventTypeSearch.getCheckedNodes()[0]?.label
|
||||
this.page.current = 1;
|
||||
@@ -403,58 +430,85 @@ export default {
|
||||
if (!this.$refs.tree.getCheckedNodes().length) {
|
||||
return this.$message.error("请选择网格");
|
||||
}
|
||||
// console.log(this.girdInfoList, this.$refs.tree.getCheckedNodes());
|
||||
|
||||
this.girdInfoList = this.$refs.tree.getCheckedNodes().map((item) => {
|
||||
return { ...item, checkType: true };
|
||||
});
|
||||
// this.$set(this.girdInfoList, this.currIndex, {
|
||||
// ...this.$refs.tree.getCheckedNodes(),
|
||||
// checkType: true
|
||||
// })
|
||||
this.form.validRangeData = this.$refs.tree
|
||||
.getCheckedNodes()
|
||||
.map((e) => e.id)
|
||||
.toString();
|
||||
|
||||
|
||||
|
||||
let validRangeData = this.$refs.tree.getCheckedNodes().map((e) => {
|
||||
return {
|
||||
id: e.id,
|
||||
girdName: e.girdName
|
||||
}
|
||||
}
|
||||
)
|
||||
this.girdNameList = validRangeData.map(e=>e.girdName)
|
||||
this.form.validRangeData = JSON.stringify(validRangeData)
|
||||
|
||||
this.showGrid = false;
|
||||
},
|
||||
|
||||
beforeSelectTree() {
|
||||
this.treeObj.checkedKeys = [];
|
||||
this.instance
|
||||
.post(`/app/appgirdinfo/listAll3`, null, null)
|
||||
.then((res) => {
|
||||
this.instance.post(`/app/appgirdinfo/listAll3`, null, null).then((res) => {
|
||||
if (res.code == 0) {
|
||||
// res.data.forEach((item)=>{
|
||||
// const isChecked = this.girdInfoList.find((checkedId)=>{
|
||||
// return item.id === checkedId
|
||||
// })
|
||||
// if(isChecked) item.checkType = true
|
||||
// })
|
||||
// console.log(res.data)
|
||||
let tree = this.girdToTree(res.data);
|
||||
this.treeObj.treeList = this.addKey(tree)
|
||||
|
||||
this.treeObj.treeList = this.girdToTree(res.data);
|
||||
this.girdInfoList.map((e) => {
|
||||
this.treeObj.checkedKeys.push(e.id);
|
||||
});
|
||||
|
||||
this.$nextTick(() => {
|
||||
this.currCheckedKeys = this.girdInfoList;
|
||||
this.currCheckedKeys = this.girdInfoList.map(v=>v.id)
|
||||
this.$nextTick(() => {
|
||||
this.$refs.tree?.getCheckedKeys(this.currCheckedKeys);
|
||||
this.$refs.tree?.setCheckedKeys(this.currCheckedKeys);
|
||||
});
|
||||
});
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
// 最后一级追加属性
|
||||
addKey(arr) {
|
||||
for (let index = 0; index < arr.length; index++) {
|
||||
const item = arr[index]
|
||||
if (!item.children || !item.children.length) {
|
||||
item.leaf = true
|
||||
} else {
|
||||
this.addKey(item.children)
|
||||
}
|
||||
}
|
||||
return arr
|
||||
},
|
||||
|
||||
// el-tree懒加载
|
||||
loadNode(node, resolve) {
|
||||
if (node.level === 0) {
|
||||
return resolve(this.treeObj.treeList);
|
||||
}
|
||||
if (node.level >= 1 || node.data.children && node.data.children.length) {
|
||||
return resolve(node.data.children)
|
||||
} else {
|
||||
return resolve({
|
||||
name: 'girdName',
|
||||
isLeaf: true
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
onCheckChange(e) {
|
||||
// this.$nextTick(() => {
|
||||
// this.$refs.tree.getCheckedKeys().forEach(v => {
|
||||
// this.$refs.tree.setChecked(v, false)
|
||||
// })
|
||||
// this.$refs.tree.setChecked(e.id, true)
|
||||
// })
|
||||
// console.log(e);
|
||||
this.$refs.tree.setChecked(e.id, true);
|
||||
this.girdInfoList.forEach((item) => {
|
||||
if(item.id == e.id) {
|
||||
console.log(111);
|
||||
this.$refs.tree.setChecked(e.id, false);
|
||||
} else {
|
||||
console.log(222);
|
||||
this.$refs.tree.setChecked(e.id, true);
|
||||
}
|
||||
})
|
||||
},
|
||||
},
|
||||
computed: {
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
<span v-for="(item,index) in timeCheck" :key="index" :class="type == index? 'active':''"
|
||||
@click="timeChange(index)">{{ item }}</span>
|
||||
</div>
|
||||
<el-cascader ref="cascader1" v-model="girdId" :options="girdOptions" placeholder="所属网格" size="small"
|
||||
<el-cascader ref="cascader1" v-model="girdArr" :options="girdOptions" placeholder="所属网格" size="small"
|
||||
:props="defaultProps" :show-all-levels="false" @change="gridChange" clearable></el-cascader>
|
||||
</div>
|
||||
</div>
|
||||
@@ -56,7 +56,7 @@
|
||||
<template #content>
|
||||
<ai-search-bar>
|
||||
<template #left>
|
||||
<el-cascader ref="cascader2" v-model="search.girdId" :options="girdOptions" placeholder="所属网格" size="small"
|
||||
<el-cascader ref="cascader2" v-model="girdIdArr" :options="girdOptions" placeholder="所属网格" size="small"
|
||||
:props="defaultProps" :show-all-levels="false" clearable @change="gridChangeOpt"></el-cascader>
|
||||
<ai-select v-model="search.integralType" placeholder="请选择类型" @change="current=1, getTableData()"
|
||||
:selectList="dict.getDict('integralType')"/>
|
||||
@@ -103,7 +103,7 @@
|
||||
</template>
|
||||
</ai-detail>
|
||||
<span slot="footer" class="dialog-footer" center>
|
||||
<el-button @click="dialog = false">关闭</el-button>
|
||||
<el-button @click="dialog = false" style="width: 92px">关闭</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
|
||||
@@ -140,6 +140,7 @@ export default {
|
||||
startTime: '',
|
||||
endTime: '',
|
||||
},
|
||||
girdIdArr:[],
|
||||
page: {
|
||||
size: 10,
|
||||
total: 0,
|
||||
@@ -156,10 +157,12 @@ export default {
|
||||
endTime: '',
|
||||
data: {},
|
||||
girdId: '',
|
||||
girdArr: [],
|
||||
girdOptions: [],
|
||||
defaultProps: {
|
||||
label: 'girdName',
|
||||
value: 'id',
|
||||
children: 'children',
|
||||
checkStrictly: true,
|
||||
},
|
||||
details: {},
|
||||
@@ -247,6 +250,7 @@ export default {
|
||||
},
|
||||
|
||||
gridChangeOpt(val) {
|
||||
this.girdIdArr = val
|
||||
this.search.girdId = val?.[val.length - 1]
|
||||
this.$refs.cascader2.dropDownVisible = false;
|
||||
this.getTableData()
|
||||
@@ -387,6 +391,7 @@ export default {
|
||||
this.myChart2.resize()
|
||||
},
|
||||
gridChange(val) {
|
||||
this.girdArr = val
|
||||
this.girdId = val?.[val.length - 1]
|
||||
this.$refs.cascader1.dropDownVisible = false;
|
||||
this.getStatistics()
|
||||
|
||||
@@ -103,10 +103,8 @@ export default {
|
||||
return [
|
||||
{prop: 'doTime', label: '时间', width: 200},
|
||||
{prop: "type", label: "类型", dict: "integralDetailType", align: 'center'},
|
||||
{
|
||||
prop: 'changeIntegral', align: 'center', label: '变动积分',
|
||||
render: (h, {row}) => h('p', `${row.integralCalcType == 1 ? '+' : '-'}${row.changeIntegral}`)
|
||||
},
|
||||
{prop: 'changeIntegral', align: 'center', label: '变动积分',render:
|
||||
(h, {row}) => h('p', `${row.integralCalcType == 1 ? '+' : '-'}${row.changeIntegral}`)},
|
||||
{prop: 'nowIntegral', align: 'center', label: '剩余积分'},
|
||||
{prop: 'eventDesc', label: '事件', width: 500}
|
||||
]
|
||||
|
||||
Reference in New Issue
Block a user