Merge remote-tracking branch 'origin/dev' into dev

This commit is contained in:
aixianling
2022-06-30 10:14:15 +08:00
13 changed files with 83 additions and 84 deletions

View File

@@ -128,9 +128,11 @@ export default {
value: "dictValue", value: "dictValue",
label: "dictName", label: "dictName",
lazyLoad: (node, resolve) => { lazyLoad: (node, resolve) => {
if (node.level == 0) resolve(this.dict.getDict('integralRuleEvent')) console.log(node)
if (node.level == 0) {resolve(this.dict.getDict('partyIntegralRuleEvent'))
console.log(this.dict.getDict('partyIntegralRuleEvent'))}
else if (node.level == 1) { else if (node.level == 1) {
let dict = 'integralRuleEvent' + node.value let dict = 'integralRuleEvent4'
this.dict.load(dict).then(() => { this.dict.load(dict).then(() => {
let nodes = this.dict.getDict(dict).map(e => ({...e, leaf: true})) let nodes = this.dict.getDict(dict).map(e => ({...e, leaf: true}))
resolve(nodes) resolve(nodes)
@@ -165,7 +167,7 @@ export default {
}; };
}, },
created() { created() {
this.dict.load("integralRuleStatus", "integralRuleRuleType", 'integralRuleScoringCycle', 'integralRuleEvent', 'integralRuleEventType').then(() => { this.dict.load("integralRuleStatus", "integralRuleRuleType", 'integralRuleScoringCycle', 'integralRuleEvent', 'integralRuleEventType','partyIntegralRuleEvent', 'integralRuleEvent4').then(() => {
this.getList(); this.getList();
}); });
}, },

View File

@@ -1,5 +1,5 @@
<template> <template>
<div class="AppHealthReport"> <div class="AppPartyIntegralAudit">
<keep-alive :include="['List']"> <keep-alive :include="['List']">
<component ref="component" :is="component" @change="onChange" :params="params" :instance="instance" :dict="dict"></component> <component ref="component" :is="component" @change="onChange" :params="params" :instance="instance" :dict="dict"></component>
</keep-alive> </keep-alive>
@@ -11,7 +11,7 @@
import Detail from './components/Detail.vue' import Detail from './components/Detail.vue'
export default { export default {
name: 'AppIntegralAudit', name: 'AppPartyIntegralAudit',
label: '积分审核(三涧溪)', label: '积分审核(三涧溪)',
components: { components: {
@@ -56,7 +56,7 @@
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.AppHealthReport { .AppPartyIntegralAudit {
height: 100%; height: 100%;
} }
</style> </style>

View File

@@ -9,10 +9,11 @@
<template #content> <template #content>
<ai-wrapper <ai-wrapper
label-width="120px"> label-width="120px">
<ai-info-item label="申请人" :value="info.residentName"></ai-info-item> <ai-info-item label="申请人" :value="info.partyName"></ai-info-item>
<ai-info-item label="申请时间" :value="info.createTime"></ai-info-item> <ai-info-item label="申请时间" :value="info.createTime"></ai-info-item>
<ai-info-item label="积分类型" :value="dict.getLabel('atWillReportType', info.applyIntegralType)"></ai-info-item> <ai-info-item label="积分类型" :value="info.integralRuleName"></ai-info-item>
<ai-info-item label="规则类型" :value="info.residentName"></ai-info-item> <ai-info-item label="规则类型">
</ai-info-item>
<ai-info-item label="申请描述" :value="info.description" isLine></ai-info-item> <ai-info-item label="申请描述" :value="info.description" isLine></ai-info-item>
<!-- <ai-info-item label="联系电话" isLine :value="info.residentPhone"></ai-info-item> --> <!-- <ai-info-item label="联系电话" isLine :value="info.residentPhone"></ai-info-item> -->
<ai-info-item label="图片资料" isLine v-show="info.applyFiles"> <ai-info-item label="图片资料" isLine v-show="info.applyFiles">
@@ -112,7 +113,7 @@ export default {
auditStatus: '0' auditStatus: '0'
}, },
id: '', id: '',
isShow: true, isShow: false,
form: { form: {
auditIntegralType: '', auditIntegralType: '',
auditRuleId: '', auditRuleId: '',
@@ -153,8 +154,8 @@ export default {
methods: { methods: {
getInfo(id) { getInfo(id) {
this.instance.post(`/app/appvillagerintegraldeclare/queryDetailById?id=${id}`).then(res => { this.instance.post(`/app/apppartyintegraldeclare/queryDetailById?id=${id}`).then(res => {
if (res.code === 0) { if (res?.data) {
this.info = res.data this.info = res.data
} }
}) })

View File

@@ -111,11 +111,11 @@
}], }],
info: {}, info: {},
colConfigs: [ colConfigs: [
{ prop: 'residentName', label: '申请人' }, { prop: 'partyName', label: '申请人' },
{ prop: 'residentPhone', align: 'center', label: '联系电话' }, { prop: 'partyPhone', align: 'center', label: '联系电话' },
{ prop: 'createTime', align: 'center', label: '申请时间' }, { prop: 'createTime', align: 'center', label: '申请时间' },
{ prop: 'applyIntegralType', align: 'center', label: '积分类型', formart: v => this.dict.getLabel('atWillReportType', v) }, { prop: 'integralRuleName', align: 'center', label: '积分类型', },
{ prop: 'auditStatus', align: 'center', label: '状态', formart: v => v ? this.dict.getLabel('auditStatus', v) : '-' }, { prop: 'auditStatus', align: 'center', label: '状态', formart: v => v ? this.dict.getLabel('integralDeclareStatus', v) : '-' },
{ prop: 'auditUserName', align: 'center', label: '审批人' }, { prop: 'auditUserName', align: 'center', label: '审批人' },
{ prop: 'auditTime', align: 'center', label: '审批时间' } { prop: 'auditTime', align: 'center', label: '审批时间' }
], ],
@@ -140,14 +140,14 @@
this.disabledLevel = this.user.info.areaList.length - 1 this.disabledLevel = this.user.info.areaList.length - 1
this.search.areaId = this.user.info.areaId this.search.areaId = this.user.info.areaId
this.loading = true this.loading = true
this.dict.load(['atWillReportType', 'auditStatus']).then(() => { this.dict.load(['atWillReportType', 'integralDeclareStatus']).then(() => {
this.getList() this.getList()
}) })
}, },
methods: { methods: {
getList () { getList () {
this.instance.post(`/app/appvillagerintegraldeclare/list`, null, { this.instance.post(`/app/apppartyintegraldeclare/list`, null, {
params: { params: {
...this.search ...this.search
} }

View File

@@ -1,5 +1,5 @@
<template> <template>
<section class="AppPartyScore"> <section class="AppPartyMemberScore">
<component :is="currentPage" v-bind="$props"/> <component :is="currentPage" v-bind="$props"/>
</section> </section>
</template> </template>
@@ -9,7 +9,7 @@ import PsList from "./psList";
import PsDetail from "./psDetail"; import PsDetail from "./psDetail";
export default { export default {
name: "AppPartyScore", name: "AppPartyMemberScore",
components: {PsDetail, PsList}, components: {PsDetail, PsList},
label: "党员积分(三涧溪)", label: "党员积分(三涧溪)",
props: { props: {
@@ -29,7 +29,7 @@ export default {
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.AppPartyScore { .AppPartyMemberScore {
height: 100%; height: 100%;
} }
</style> </style>

View File

@@ -82,6 +82,7 @@ export default {
label: 'name' label: 'name'
}, },
createTime: '', createTime: '',
partyOrgId: '',
} }
}, },
methods: { methods: {
@@ -90,7 +91,7 @@ export default {
}, },
getTableData() { getTableData() {
this.instance.post("/app/apppartyintegralinfo/listByOrg", null, { this.instance.post("/app/apppartyintegralinfo/listByOrg", null, {
params: {...this.page, ...this.search} params: {...this.page, ...this.search, partyOrgId: this.partyOrgId } // partyOrgId:
}).then(res => { }).then(res => {
if (res?.data) { if (res?.data) {
this.tableData = res.data?.records this.tableData = res.data?.records
@@ -116,12 +117,10 @@ export default {
}, },
onTreeChange(e) { onTreeChange(e) {
this.search.areaId = e.id console.log(e);
this.areaName = e.name this.partyOrgId = e.id
this.search.current = 1
this.$nextTick(() => { this.$nextTick(() => {
this.getList() this.getTableData()
}) })
}, },

View File

@@ -1,5 +1,5 @@
<template> <template>
<ai-list> <ai-list class="AppPartyScoreManage">
<template slot="title"> <template slot="title">
<ai-title title="积分维护" :isShowBottomBorder="false" :instance="instance" :isShowArea="false" v-model="areaId" <ai-title title="积分维护" :isShowBottomBorder="false" :instance="instance" :isShowArea="false" v-model="areaId"
@change="changeArea"></ai-title> @change="changeArea"></ai-title>
@@ -9,7 +9,6 @@
<el-tab-pane v-for="(tab,i) in tabs" :key="i" :label="tab.label"> <el-tab-pane v-for="(tab,i) in tabs" :key="i" :label="tab.label">
<component :is="tab.comp" v-if="currIndex === String(i)" :ref="tab.name" <component :is="tab.comp" v-if="currIndex === String(i)" :ref="tab.name"
:areaId="areaId" :instance="instance" :dict="dict" :permissions="permissions"/> :areaId="areaId" :instance="instance" :dict="dict" :permissions="permissions"/>
<!-- -->
</el-tab-pane> </el-tab-pane>
</el-tabs> </el-tabs>
</template> </template>
@@ -22,7 +21,7 @@ import { mapState } from 'vuex'
import scoreChange from "./scoreChange"; import scoreChange from "./scoreChange";
export default { export default {
name: 'AppScoreManage', name: 'AppPartyScoreManage',
label: "积分维护(三涧溪)", label: "积分维护(三涧溪)",
components: { pointsDetails, scoreChange}, components: { pointsDetails, scoreChange},
props: { props: {
@@ -72,4 +71,5 @@ export default {
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.AppPartyScoreManage {}
</style> </style>

View File

@@ -110,7 +110,7 @@ export default {
onConfirm() { onConfirm() {
this.$refs['form'].validate(valid => { this.$refs['form'].validate(valid => {
if (valid) { if (valid) {
this.instance.post(`/app/appvillagerintegraldetail/changeIntegral`, this.form).then(res => { this.instance.post(`/app/apppartyintegralinfo/changeIntegral`, this.form).then(res => {
if (res.code == 0) { if (res.code == 0) {
this.$message.success("添加成功") this.$message.success("添加成功")
this.dialog = false this.dialog = false

View File

@@ -1,5 +1,5 @@
<template> <template>
<ai-list class="AppScoreRules"> <ai-list class="AppPartyScoreRules">
<template slot="title"> <template slot="title">
<ai-title title="积分规则" :isShowBottomBorder="false" :instance="instance" :isShowArea="false" v-model="areaId" <ai-title title="积分规则" :isShowBottomBorder="false" :instance="instance" :isShowArea="false" v-model="areaId"
@change="changeArea"></ai-title> @change="changeArea"></ai-title>
@@ -21,7 +21,7 @@ import automaticallyAddCent from "./components/automaticallyAddCent.vue";
import { mapState } from 'vuex' import { mapState } from 'vuex'
export default { export default {
name: 'AppScoreRules', name: 'AppPartyScoreRules',
label: "积分规则(三涧溪)", label: "积分规则(三涧溪)",
components: { applyForIntegral, automaticallyAddCent}, components: { applyForIntegral, automaticallyAddCent},
props: { props: {
@@ -71,5 +71,5 @@ export default {
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.AppScoreRules {} .AppPartyScoreRules {}
</style> </style>

View File

@@ -71,9 +71,9 @@
<el-form-item label="规则" prop="ruleType" required> <el-form-item label="规则" prop="ruleType" required>
<el-radio-group v-model="form.ruleType" @change="typeChange"> <el-radio-group v-model="form.ruleType" @change="typeChange">
<el-radio :label="0">常规</el-radio> <el-radio label="0">常规</el-radio>
<el-radio :label="2">区间</el-radio> <el-radio label="2">区间</el-radio>
<el-radio :label="1">阶梯</el-radio> <el-radio label="1">阶梯</el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<el-form-item label="周期范围" prop="scoringCycle"> <el-form-item label="周期范围" prop="scoringCycle">
@@ -84,15 +84,15 @@
<el-input placeholder="请输入,周期范围内,不填写表示不限制" v-model.number="form.numberLimit" clearable/> <el-input placeholder="请输入,周期范围内,不填写表示不限制" v-model.number="form.numberLimit" clearable/>
</el-form-item> </el-form-item>
<!-- 常规 --> <!-- 常规 -->
<el-form-item label="积分分值" prop="integral" v-if="form.ruleType == 0"> <el-form-item label="积分分值" prop="integral" v-if="form.ruleType == '0'">
<el-input placeholder="请输入" v-model="form.integral" clearable/> <el-input placeholder="请输入" v-model="form.integral" clearable/>
</el-form-item> </el-form-item>
<!-- 区间 --> <!-- 区间 -->
<el-form-item label="积分分值" prop="integralArr" v-if="form.ruleType == 2"> <el-form-item label="积分分值" prop="integralArr" v-if="form.ruleType == '2'">
<ai-range v-model="form.integralArr" clearable/> <ai-range v-model="form.integralArr" clearable/>
</el-form-item> </el-form-item>
<!-- 阶梯 --> <!-- 阶梯 -->
<el-form-item label="积分分值" prop="ladderIntegral" v-if="form.ruleType == 1"> <el-form-item label="积分分值" prop="ladderIntegral" v-if="form.ruleType == '1'">
<el-row type="flex" justify="space-between"> <el-row type="flex" justify="space-between">
<div></div> <div></div>
<el-button v-if="form.ruleType==1" type="text" icon="iconfont iconAdd" <el-button v-if="form.ruleType==1" type="text" icon="iconfont iconAdd"
@@ -180,7 +180,7 @@ export default {
classify: '0', classify: '0',
eventName: '', eventName: '',
eventDesc: '', eventDesc: '',
ruleType: '0', ruleType: '',
scoringCycle: '', scoringCycle: '',
numberLimit: '', // numberLimit: '', //
integral: '', // integral: '', //
@@ -243,7 +243,7 @@ export default {
this.form = { this.form = {
eventName: '', eventName: '',
eventDesc: '', eventDesc: '',
ruleType: 0, ruleType: '',
scoringCycle: '', scoringCycle: '',
numberLimit: '', numberLimit: '',
integral: '', integral: '',
@@ -303,16 +303,16 @@ export default {
this.search.ruleStatus = "" this.search.ruleStatus = ""
this.getList(); this.getList();
}, },
onConfirm(id) { onConfirm() {
this.$refs.DialogForm.validate((valid) => { this.$refs.DialogForm.validate((valid) => {
if (valid) { if (valid) {
this.form.integralMin = this.form.integralArr[0] || '' this.form.integralMin = this.form.integralArr?.[0] || ''
this.form.integralMax = this.form.integralArr[1] || '' this.form.integralMax = this.form.integralArr?.[1] || ''
this.form.ladderRule = JSON.stringify(this.form.ladderIntegral) this.form.ladderRule = JSON.stringify(this.form.ladderIntegral)
this.instance.post(`/app/apppartyintegralrule/addOrUpdate`, { this.instance.post(`/app/apppartyintegralrule/addOrUpdate`, {
...this.form, ...this.form,
id: id || '' id: this.form.id || ''
}).then((res) => { }).then((res) => {
if (res.code == 0) { if (res.code == 0) {
this.$message.success(`${this.isEdit ? '编辑成功' : '添加成功'}`) this.$message.success(`${this.isEdit ? '编辑成功' : '添加成功'}`)
@@ -341,7 +341,7 @@ export default {
}, },
handleDelete(i) { handleDelete(i) {
this.$confirm("是否要删除该规则?").then(() => { this.$confirm("是否要删除该规则?").then(() => {
this.form.ladderRule.splice(i, 1) this.form.ladderIntegral.splice(i, 1)
}).catch(() => 0) }).catch(() => 0)
}, },
checkIntegral(v) { checkIntegral(v) {

View File

@@ -40,7 +40,7 @@
停用 停用
</el-button> </el-button>
<el-button type="text" :disabled="!permissions('app_appvillagerintegralrule_edit')" @click="changeStatus(row.id, 1)" v-else>启用</el-button> <el-button type="text" :disabled="!permissions('app_appvillagerintegralrule_edit')" @click="changeStatus(row.id, 1)" v-else>启用</el-button>
<el-button type="text" :disabled="!permissions('app_appvillagerintegralrule_edit')" @click="toEdit(row.id)">编辑</el-button> <el-button type="text" :disabled="!permissions('app_appvillagerintegralrule_edit')" @click="toEdit(row)">编辑</el-button>
<el-button type="text" :disabled="!permissions('app_appvillagerintegralrule_del')" @click="remove(row.id)">删除</el-button> <el-button type="text" :disabled="!permissions('app_appvillagerintegralrule_del')" @click="remove(row.id)">删除</el-button>
</div> </div>
</template> </template>
@@ -92,8 +92,8 @@ export default {
tableData: [], tableData: [],
page: {current: 1, size: 10, total: 0}, page: {current: 1, size: 10, total: 0},
colConfigs: [ colConfigs: [
{prop: "event", label: "事件", dict: "integralRuleEvent", align: "center"}, {prop: "event", label: "事件", dict: "partyIntegralRuleEvent", align: "center"},
{prop: "type", label: "类型", dict: "integralRuleEventType", align: "center"}, {prop: "type", label: "类型", dict: "integralRuleEvent4", align: "center"},
{prop: "ruleType", label: "规则", dict: "integralRuleRuleType"}, {prop: "ruleType", label: "规则", dict: "integralRuleRuleType"},
{prop: "scoringCycle", label: "周期范围", dict: "integralRuleScoringCycle", align: "center"}, {prop: "scoringCycle", label: "周期范围", dict: "integralRuleScoringCycle", align: "center"},
{prop: "status", label: "状态", align: "center", width: 96, dict: "integralRuleStatus"}, {prop: "status", label: "状态", align: "center", width: 96, dict: "integralRuleStatus"},
@@ -122,20 +122,8 @@ export default {
} }
}, },
created() { created() {
this.$dict.load("integralRuleStatus", "integralRuleRuleType", 'integralRuleScoringCycle', 'integralRuleEvent', 'integralRuleEventType','partyIntegralRuleEvent','integralRuleEvent4').then(() => { this.$dict.load("integralRuleStatus", "integralRuleRuleType", 'integralRuleScoringCycle', 'integralRuleEvent', 'integralRuleEventType','partyIntegralRuleEvent','partyIntegralRuleEvent4','integralRuleEvent4').then(() => {
this.getList(); this.getList();
// let {,event, type} = this.form,
let dict = 'integralRuleEvent4' + this.form.event
this.$dict.load(dict).then(() => {
// this.form.eventType = [event, type]
this.cacheOps = this.dict.getDict('partyIntegralRuleEvent').map(e => {
if (e.dictValue == this.form.event) {
e.children = this.$dict.getDict(dict).map(d => ({...d, leaf: true}))
}
return e
})
})
}); });
}, },
computed: { computed: {
@@ -150,7 +138,7 @@ export default {
lazyLoad: (node, resolve) => { lazyLoad: (node, resolve) => {
if (node.level == 0) resolve(this.dict.getDict('partyIntegralRuleEvent')) if (node.level == 0) resolve(this.dict.getDict('partyIntegralRuleEvent'))
else if (node.level == 1) { else if (node.level == 1) {
let dict = 'integralRuleEvent4' + node.value let dict = 'integralRuleEvent4'
this.dict.load(dict).then(() => { this.dict.load(dict).then(() => {
let nodes = this.dict.getDict(dict).map(e => ({...e, leaf: true})) let nodes = this.dict.getDict(dict).map(e => ({...e, leaf: true}))
resolve(nodes) resolve(nodes)
@@ -186,19 +174,29 @@ export default {
} }
}, },
close() { close() {
this.form = {
classify: 1,
eventType: '',
event: '',
type: '',
ruleType: 0,
scoringCycle: '',
integral: '',
integralArr: [],
}
}, },
onConfirm(id) { onConfirm() {
this.$refs.DialogForm.validate((valid) => { this.$refs.DialogForm.validate((valid) => {
this.flag = true this.flag = true
if (valid) { if (valid) {
this.instance.post(`/app/apppartyintegralrule/addOrUpdate`, { this.instance.post(`/app/apppartyintegralrule/addOrUpdate`, {
...this.form, ...this.form,
id: id || '' id: this.form.id
}).then((res) => { }).then((res) => {
if (res.code == 0) { if (res.code == 0) {
this.$message.success(`${this.isEdit ? '编辑成功' : '添加成功'}`) this.$message.success(`${this.isEdit ? '编辑成功' : '添加成功'}`)
this.dialog = false; this.dialog = false;
this.getList()
} }
}).catch(() => { }).catch(() => {
this.flag = false; this.flag = false;
@@ -207,24 +205,23 @@ export default {
this.flag = false; this.flag = false;
} }
}); });
}, },
toEdit(row) { toEdit(row) {
// this.form = this.$copy(row) this.form = this.$copy(row)
// let {ladderRule, event, type} = this.form, let {event, type} = this.form
// dict = 'integralRuleEvent' + event this.$dict.load('partyIntegralDetailType').then(() => {
// this.dict.load(dict).then(() => { this.form.eventType = [event, type]
// this.form.eventType = [event, type] this.cacheOps = this.$dict.getDict('partyIntegralRuleEvent').map(e => {
// this.form.ladderRule = JSON.parse(ladderRule || "[]") if (e.dictValue == event) {
// this.cacheOps = this.dict.getDict('integralRuleEvent').map(e => { e.children = this.$dict.getDict('integralRuleEvent4').map(d => ({...d, leaf: true}))
// if (e.dictValue == event) { }
// e.children = this.dict.getDict(dict).map(d => ({...d, leaf: true})) return e
// } })
// return e this.$nextTick(() => {
// }) this.dialog = true
// this.$nextTick(() => { })
// this.dialog = true })
// })
// })
}, },
remove(id) { remove(id) {
this.$confirm("删除后不可恢复,是否要删除该事项?", { this.$confirm("删除后不可恢复,是否要删除该事项?", {