Browse Source

添加

shibei_master
zhaoyongnian 3 years ago
parent
commit
5cbe4bc88f
  1. 207
      src/views/modules/workSys/pointAditive/rule.vue

207
src/views/modules/workSys/pointAditive/rule.vue

@ -20,9 +20,6 @@
:prop="item.columnName" :prop="item.columnName"
:label="item.label" :label="item.label"
:align="item.align"> :align="item.align">
<template slot-scope="scope">
<span>{{ handleFilterSpan(scope.row, item) }}</span>
</template>
</el-table-column> </el-table-column>
<el-table-column label="操作" <el-table-column label="操作"
align="center" align="center"
@ -32,19 +29,22 @@
@click="handleAdd('2', 'add', scope.row.id)" @click="handleAdd('2', 'add', scope.row.id)"
type="text" type="text"
size="small" size="small"
class="div-table-button--delete">添加二级分类</el-button> class="btn-color-1j">添加二级分类</el-button>
<el-button v-if="scope.row.pid != 0 && scope.row.categoryName" <el-button v-if="scope.row.pid != 0 && scope.row.categoryName"
@click="handleAdd('3', 'add', '', scope.row.pid, scope.row.categoryName)" @click="handleAdd('3', 'add', scope.row.id, scope.row.pid, scope.row.categoryName)"
type="text" type="text"
size="small" size="small"
class="div-table-button--detail">添加积分规则</el-button> class="btn-color-2j">添加积分规则</el-button>
<el-button @click="handleEdit(scope.row, 'edit')" <el-button v-if="scope.row.pid != 0"
@click="handleEdit(scope.row, 'edit', scope.row.categoryName ? '4' : scope.row.ruleName ? '5' : '1')"
type="text" type="text"
size="small" size="small"
class="div-table-button--edit">修改</el-button> class="btn-color-edit">修改</el-button>
<el-button type="text" <el-button v-if="scope.row.pid != 0"
@click="handleDel(scope.row)"
type="text"
size="small" size="small"
class="div-table-button--delete">删除</el-button> class="btn-color-del">删除</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -67,7 +67,7 @@
placeholder="请选择" placeholder="请选择"
size="small" size="small"
style="width: 180px;" style="width: 180px;"
:disabled="addLevel == '2' || addLevel == '3' ? true : false" :disabled="addLevel == '2' || addLevel == '3' || addLevel == '4' ? true : false"
clearable> clearable>
<el-option v-for="item in typeList" <el-option v-for="item in typeList"
:key="item.value" :key="item.value"
@ -79,17 +79,17 @@
</el-form-item> </el-form-item>
<el-form-item label="类别名称" <el-form-item label="类别名称"
prop="categoryName"> prop="categoryName">
<el-input :disabled="addLevel == '3' ? true : false" v-model="form.categoryName" <el-input :disabled="addLevel == '3' || addLevel == '5' ? true : false" v-model="form.categoryName"
size="small" size="small"
style="width: 180px;"></el-input> style="width: 180px;"></el-input>
</el-form-item> </el-form-item>
<el-form-item v-if="addLevel == '3'" label="规则名称" <el-form-item v-if="addLevel == '3' || addLevel == '5'" label="规则名称"
prop="ruleName"> prop="ruleName">
<el-input v-model="form.ruleName" <el-input v-model="form.ruleName"
size="small" size="small"
style="width: 180px;"></el-input> style="width: 180px;"></el-input>
</el-form-item> </el-form-item>
<el-form-item v-if="addLevel == '3'" <el-form-item v-if="addLevel == '3' || addLevel == '5'"
label="加减分值" label="加减分值"
prop="pointValue"> prop="pointValue">
<el-input-number v-model="form.pointValue" <el-input-number v-model="form.pointValue"
@ -97,9 +97,10 @@
label="描述文字"></el-input-number> label="描述文字"></el-input-number>
(减分请输入负数) (减分请输入负数)
</el-form-item> </el-form-item>
<el-form-item v-if="addLevel == '3'" <el-form-item v-if="addLevel == '3' || addLevel == '5'"
label="居民端积分申请" label="居民端积分申请"
prop="applyFlag"> prop="applyFlag"
label-width="200px">
<el-radio v-model="form.applyFlag" label="0">允许申请</el-radio> <el-radio v-model="form.applyFlag" label="0">允许申请</el-radio>
<el-radio v-model="form.applyFlag" label="1">不允许申请</el-radio> <el-radio v-model="form.applyFlag" label="1">不允许申请</el-radio>
</el-form-item> </el-form-item>
@ -124,23 +125,12 @@ export default {
return { return {
tableLoading: false, tableLoading: false,
btnLoading: false, btnLoading: false,
disabled: false,
pageLoading: false, pageLoading: false,
dialogVisible: false, dialogVisible: false,
tableData: [], tableData: [],
sHeight: 0, sHeight: 0,
addLevel: '1', addLevel: '1',
addType: 'add', addType: 'add',
value: '',
options: [
{
label: '是',
value: 1
}, {
label: '否',
value: 2
}
],
tableHeader: [ tableHeader: [
{ {
label: '积分类别', label: '积分类别',
@ -152,12 +142,13 @@ export default {
align: 'center' align: 'center'
} }
], ],
customerId: '', typeList: [], //
form: { form: { //
categoryName: '', // categoryName: '', //
pid: '', // ID pid: '', // ID
newPid: '', // pid
ruleName: '', // ruleName: '', //
pointValue: '', pointValue: '', //
applyFlag: '0' // 01 applyFlag: '0' // 01
}, },
rules: { rules: {
@ -166,14 +157,7 @@ export default {
ruleName: [{ required: true, message: '规则名称不能为空', trigger: 'blur' }], ruleName: [{ required: true, message: '规则名称不能为空', trigger: 'blur' }],
pointValue: [{ required: true, message: '加减分值不能为空', trigger: 'blur' }], pointValue: [{ required: true, message: '加减分值不能为空', trigger: 'blur' }],
applyFlag: [{ required: true, message: '请选择积分申请', trigger: 'blur' }] applyFlag: [{ required: true, message: '请选择积分申请', trigger: 'blur' }]
}, }
typeList: [{
value: '03dedaa5dbb822550e7b25e75aa9fdde',
label: '德育积分'
},{
value: '7a487c4c23243cbf23afb4bc8c35a3d8',
label: '党建积分'
}],//
} }
}, },
computed: { computed: {
@ -186,27 +170,16 @@ export default {
...mapGetters(['clientHeight', 'iframeHeight']) ...mapGetters(['clientHeight', 'iframeHeight'])
}, },
async created () { async created () {
this.customerId = localStorage.getItem('customerId')
this.getTableData() this.getTableData()
this.pageLoading = true this.pageLoading = true
}, },
mounted () { mounted () {
this.$nextTick(() => { this.$nextTick(() => {
this.sHeight = 250 this.sHeight = 210
console.log('tableHeight', this.tableHeight)
}) })
}, },
methods: { methods: {
//
handleFilterSpan (row, item) {
let _val = ''
if (item.options && item.options.length > 0) {
item.options.forEach((n) => {
if (n.value === row[item.columnName]) _val = n.label
})
}
return _val || row[item.columnName]
},
handleAdd (type, addType, id, pid, categoryName) { handleAdd (type, addType, id, pid, categoryName) {
this.addLevel = type this.addLevel = type
this.addType = addType this.addType = addType
@ -216,6 +189,7 @@ export default {
if (type == '3') { if (type == '3') {
this.form.pid = pid this.form.pid = pid
this.form.newPid = id
this.form.categoryName = categoryName this.form.categoryName = categoryName
} }
this.dialogVisible = true this.dialogVisible = true
@ -223,14 +197,27 @@ export default {
handlerCancle () { handlerCancle () {
this.dialogVisible = false this.dialogVisible = false
}, },
async handleEdit (row, addType) { //
async handleEdit (row, addType, level) {
this.form = { ...row } let url = ''
this.addLevel = row.level if (level === '4') {
url = `/point/additiverule/categorydetail/${row.id}`
} else if(level === '5') {
url = `/point/additiverule/ruledetail/${row.id}`
}
this.addLevel = level
this.addType = addType this.addType = addType
this.dialogVisible = true this.dialogVisible = true
await this.$http.post(url).then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg)
} else {
this.form = { ...res.data }
}
})
}, },
async addLevelFirst () { // //
async addLevelFirst () {
const _form = { const _form = {
pid: this.form.pid, // ID pid: this.form.pid, // ID
categoryName: this.form.categoryName // categoryName: this.form.categoryName //
@ -254,7 +241,7 @@ export default {
async addLevelChild () { async addLevelChild () {
const _form = { const _form = {
ruleName: this.form.ruleName, ruleName: this.form.ruleName,
pid: this.form.pid, pid: this.form.newPid,
pointValue: this.form.pointValue, pointValue: this.form.pointValue,
applyFlag: this.form.applyFlag applyFlag: this.form.applyFlag
} }
@ -273,28 +260,7 @@ export default {
}) })
this.btnLoading = false this.btnLoading = false
}, },
async editCate () { //
const _form = {
customerId: localStorage.getItem('customerId'),
categoryName: this.form.categoryName,
level: this.form.level,
pointValue: this.form.pointValue
}
await this.$http
.post('/heart/icresidemanddict/update', _form)
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg)
} else {
this.dialogVisible = false
this.getTableData()
}
})
.catch(() => {
return this.$message.error('网络错误')
})
this.btnLoading = false
},
handleSUbmit () { handleSUbmit () {
this.$refs.ruleForm.validate(async (valid) => { this.$refs.ruleForm.validate(async (valid) => {
if (valid) { if (valid) {
@ -309,30 +275,55 @@ export default {
return false; return false;
} }
}); });
}, },
handleDel (row) { // ---------------
let params = { async editCate () {
formCode: 'resi_base_info', const _form = {
icResiUserId: row.icResiUserId categoryName: this.form.categoryName,
level: this.form.level,
pointValue: this.form.pointValue
} }
console.log('row1', row) await this.$http
this.$http .post('/heart/icresidemanddict/update', _form)
.post('/epmetuser/icresiuser/delete', params)
.then(({ data: res }) => { .then(({ data: res }) => {
console.log('row2', row)
if (res.code !== 0) { if (res.code !== 0) {
return this.$message.error(res.msg) return this.$message.error(res.msg)
} else { } else {
console.log('row3', row) this.dialogVisible = false
this.$message.success('删除成功')
this.getTableData() this.getTableData()
} }
}) })
.catch((err) => { .catch(() => {
console.log('row4', err)
return this.$message.error('网络错误') return this.$message.error('网络错误')
}) })
this.btnLoading = false
},
//
handleDel (row) {
this.$confirm("确认删除?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}).then(() => {
let params = [row.id]
console.log('row1', row)
this.$http.post('/point/additiverule/delete', params)
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg)
} else {
console.log('row3', row)
this.$message.success('删除成功')
this.getTableData()
}
})
.catch((err) => {
console.log('row4', err)
return this.$message.error('网络错误')
})
}).catch(err => {
console.log(err)
});
}, },
// //
async getTableData () { async getTableData () {
@ -343,13 +334,19 @@ export default {
return this.$message.error(res.msg) return this.$message.error(res.msg)
} else { } else {
let list = [] let list = []
res.data.forEach(element => { if (res.data.length > 0) {
if (element.pid === '0') { // res.data.forEach(element => { //
element.children = [] if (element.pid === '0') {
list.push(element) element.children = []
} list.push(element)
}); this.typeList.push({ //
if (list.length > 0) { value: element.id,
label: element.categoryName
})
}
});
}
if (list.length > 0) { //
res.data.forEach(element => { res.data.forEach(element => {
if (element.pid) { if (element.pid) {
list.forEach((item, index) => { list.forEach((item, index) => {
@ -361,8 +358,7 @@ export default {
} }
}); });
} }
if (list.length > 0) { //
if (list.length > 0) {
res.data.forEach(element => { res.data.forEach(element => {
if (element.pid) { if (element.pid) {
list.forEach((item, index) => { list.forEach((item, index) => {
@ -392,7 +388,6 @@ export default {
}) })
this.tableLoading = false this.tableLoading = false
} }
} }
} }
</script> </script>
@ -422,6 +417,14 @@ export default {
margin-left: 10px; margin-left: 10px;
color: rgba(213, 16, 16, 1); color: rgba(213, 16, 16, 1);
} }
::v-deep .btn-color-2j {
margin-left: 10px;
color: #fdaf30;
}
::v-deep .btn-color-1j {
margin-left: 10px;
color: #3cb357;
}
::v-deep .btn-color-edit { ::v-deep .btn-color-edit {
color: rgba(0, 167, 169, 1); color: rgba(0, 167, 169, 1);
} }

Loading…
Cancel
Save