This commit is contained in:
shijingjing
2022-06-30 15:27:00 +08:00
parent 1c9490427b
commit 844fad5301
3 changed files with 57 additions and 63 deletions

View File

@@ -13,29 +13,26 @@
<ai-info-item label="申请时间" :value="info.createTime"></ai-info-item>
<ai-info-item label="积分类型" :value="info.integralRuleName"></ai-info-item>
<ai-info-item label="规则类型">
{{ integralInfo.ruleType==0? '常规': integralInfo.ruleType==1? '阶梯': '区间'}}
</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 v-show="info.applyFiles">
<ai-uploader v-model="info.applyFiles" disabled></ai-uploader>
<ai-info-item label="申请描述" :value="integralInfo.eventDesc" isLine></ai-info-item>
<ai-info-item label="图片资料" isLine v-show="info.files">
<ai-uploader v-model="info.files" disabled></ai-uploader>
</ai-info-item>
</ai-wrapper>
</template>
</ai-card>
<ai-card title="审核详情" v-if="info.auditStatus !== '0'">
<div slot="content" style="margin-top: 16px;margin-bottom:24px">
<ai-wrapper
label-width="120px">
<ai-wrapper label-width="120px">
<ai-info-item label="审核结果" :value="info.auditStatus === '1' ? '通过' : '拒绝'"></ai-info-item>
<!-- 通过 -->
<ai-info-item label="积分调整" isLine v-if="info.auditStatus === '1'"
:value="'+' + (info.auditIntegral >= 0 ? info.auditIntegral : info.auditIntegral) + '分'"></ai-info-item>
<ai-info-item label="积分调整" v-if="integralInfo.ruleType == '1'" :value="'+' + info.auditIntegral + ''"></ai-info-item>
<!-- 未通过阶梯状态下显示加分项 -->
<ai-info-item label="积分调整" isLine v-if="info.auditStatus === '1'"
:value="'+' + (info.auditIntegral >= 0 ? info.auditIntegral : info.auditIntegral) + '分'"></ai-info-item>
<ai-info-item label="积分调整" v-else :value="'+' + info.auditIntegral + '分' "></ai-info-item>
<ai-info-item label="审核人" :value="info.auditUserName"></ai-info-item>
<ai-info-item label="审核时间" :value="info.auditTime"></ai-info-item>
<ai-info-item label="审核意见" v-if="info.auditStatus === '2'" isLine :value="info.auditOpinion"></ai-info-item>
<ai-info-item label="驳回理由" v-if="info.auditStatus == '2'" isLine :value="info.auditOpinion"></ai-info-item>
</ai-wrapper>
</div>
@@ -54,24 +51,27 @@
<el-radio label="1"></el-radio>
</el-radio-group>
</el-form-item>
<!-- 固定分数 -->
<el-form-item label="积分分值" prop="pass" style="width: 100%;" :rules="[{ required: true, message: '请输入积分分值' }]">
<el-input v-model="num" placeholder="请输入1-10的整数"></el-input>
<!-- 常规 -->
<el-form-item label="积分分值" style="width: 100%;" :rules="[{ required: true, message: '请输入积分分值' }]" v-show="integralInfo.ruleType == 0 && form.pass == 1">
<el-input v-model.number="form.auditIntegral" placeholder="请输入1-10的整数"></el-input>
</el-form-item>
<!-- 区间 -->
<el-form-item label="积分分值" prop="pass" style="width: 100%;" :rules="[{ required: true, message: '请输入积分分值' }]">
<ai-range v-model="form.num" ref="resetagefoo" />
<el-form-item label="区间范围" style="width: 100%;" v-show="integralInfo.ruleType == 2 && form.pass == 1">
<span>{{ integralInfo.integralMin }}</span> - <span>{{ integralInfo.integralMax }}</span>
</el-form-item>
<el-form-item label="积分分值" style="width: 100%;" :rules="[{ required: true, message: '请输入区域范围内的积分分值' }]" v-show="integralInfo.ruleType == 2 && form.pass == 1">
<el-input v-model.number="form.auditIntegral" placeholder="请输入区域范围内的积分分值" @input="inputChange"></el-input>
</el-form-item>
<!-- 阶梯 -->
<el-form-item label="加分项" prop="pass" style="width: 100%;" :rules="[{ required: true, message: '请选择加分项' }]">
<!-- <ai-select v-model="form.integralCalcType" :selectList="dict.getDict('integralCalcType')" @select="selectItem"/> -->
<el-form-item label="加分项" style="width: 100%;" :rules="[{ required: true, message: '请选择加分项' }]" v-show="integralInfo.ruleType == 1 && form.pass == 1">
<ai-select v-model="form.integralItem" :selectList="scoreItem" @change="selectItem"/>
</el-form-item>
<el-form-item label="积分分值" prop="pass" style="width: 100%;" :rules="[{ required: true, message: '请输入积分分值' }]">
<el-input v-model="num" placeholder="请输入1-10的整数"></el-input>
<el-form-item label="积分分值" style="width: 100%;" :rules="[{ required: true, message: '请输入积分分值' }]" v-show="integralInfo.ruleType == 1 && form.pass == 1">
<el-input v-model.number="form.auditIntegral" placeholder="请输入1-10的整数" disabled></el-input>
</el-form-item>
<el-form-item label="审核意见" v-if="form.pass == '0'" prop="opinion" style="width: 100%;" :rules="[{ required: true, message: '请输入审核意见' }]">
<el-form-item label="审核意见" v-show="form.pass == '0'" style="width: 100%;" :rules="[{ required: true, message: '请输入审核意见' }]">
<el-input type="textarea" :rows="5" :maxlength="200" v-model="form.opinion" clearable placeholder="请输入审核意见" show-word-limit></el-input>
</el-form-item>
@@ -98,15 +98,6 @@ export default {
},
data() {
const validatorRules = function (rule, value, callback) {
if (value === '') {
callback(new Error('请输入联系方式'))
} else if (!/^1\d{10}$/.test(value)) {
callback(new Error('手机号格式错误'))
} else {
callback()
}
}
return {
total: 0,
info: {
@@ -115,13 +106,14 @@ export default {
id: '',
isShow: false,
form: {
auditIntegralType: '',
auditRuleId: '',
pass: '',
integralItem: '',
opinion: '',
pass: ''
auditIntegral: '',
},
ruleList: [],
num: ''
scoreItem: [],
integralInfo: {},
}
},
@@ -156,7 +148,14 @@ export default {
getInfo(id) {
this.instance.post(`/app/apppartyintegraldeclare/queryDetailById?id=${id}`).then(res => {
if (res?.data) {
this.info = res.data
this.info = res.data,
this.integralInfo = res.data.integralRule
this.scoreItem = JSON.parse(res.data.integralRule.ladderRule).map(e=>{
return {
dictName: e.viewCount,
dictValue: e.integral.toString()
}
})
}
})
},
@@ -165,18 +164,32 @@ export default {
this.$refs.form.clearValidate()
},
inputChange(e) {
if(e > (this.integralInfo.integralMax || this.integralInfo.integralMax)) {
this.$message.error("请输入区间范围内的分值")
this.form.auditIntegral = ''
} else {
this.form.auditIntegral = e
}
},
selectItem(val) {
this.form.auditIntegral = val
},
onClose() {
this.form.auditIntegralType = ''
this.form.auditRuleId = ''
this.form.pass = ''
this.form.opinion = ''
this.id = ''
this.form = {
pass: '',
integralItem: '',
opinion: '',
auditIntegral: '',
}
},
onConfirm() {
this.$refs.form.validate(v => {
if (v) {
this.instance.post('/app/appvillagerintegraldeclare/examine', null, {
this.instance.post('/app/apppartyintegraldeclare/examine', null, {
params: {
...this.form,
id: this.params.id,
@@ -191,23 +204,6 @@ export default {
}
})
},
onChange(e) {
this.form.auditRuleId = ''
this.instance.post(`/app/appvillagerintegralrule/list?size=1000&classification=${e}`).then(res => {
if (res?.code == 0) {
this.ruleList = res.data.records.filter(v => v.ruleStatus === '1').map(v => {
return {
dictName: v.ruleName,
dictValue: v.id,
ruleName: v.ruleName,
integral: v.integral
}
})
}
})
},
cancel(isRefresh) {
this.$emit('change', {
type: 'list',

View File

@@ -6,9 +6,7 @@
v-if="search.areaId"
isShowBottomBorder
:instance="instance"
:disabledLevel="disabledLevel"
v-model="search.areaId"
@change="changeArea">
:disabledLevel="disabledLevel">
</ai-title>
<template slot="content">
<div class="content">
@@ -91,7 +89,7 @@
{ prop: 'partyName', label: '申请人' },
{ prop: 'partyPhone', align: 'center', label: '联系电话' },
{ prop: 'createTime', align: 'center', label: '申请时间' },
{ prop: 'integralRuleName', align: 'center', label: '积分类型', },
{ prop: 'integralRuleName', align: 'center', label: '积分类型'},
{ prop: 'auditStatus', align: 'center', label: '状态', formart: v => v ? this.dict.getLabel('integralDeclareStatus', v) : '-' },
{ prop: 'auditUserName', align: 'center', label: '审批人' },
{ prop: 'auditTime', align: 'center', label: '审批时间' }

View File

@@ -163,7 +163,7 @@ export default {
page: {current: 1, size: 10, total: 0},
colConfigs: [
{prop: "eventName", label: "事件名称", dict: "integralRuleEvent", align: "center"},
{prop: "eventDesc", label: "简介", dict: "integralRuleEventType", align: "center"},
{prop: "eventDesc", label: "简介", dict: "integralRuleEventType", align: "center", "show-overflow-tooltip": true},
{prop: "ruleType", label: "规则", dict: "integralRuleRuleType", align: "center"},
{prop: "scoringCycle", label: "周期范围", dict: "integralRuleScoringCycle", align: "center"},
{prop: "status", label: "状态", align: "center", width: 96, dict: "integralRuleStatus"},