提交 b8bfad4d authored 作者: wangyizheng's avatar wangyizheng

新增更新特征配置

上级 41483bb7
......@@ -49,19 +49,19 @@ export default {
title: '用户使用配置管理',
icon: '',
path: '/training/useruseconfigs'
},
{
title: '案例背景编辑[一期]',
icon: '',
path: '/yhfq/albj'
// children: [
// { title: '案例背景', path: '/yhfq/albj' }
// // { title: '案例详情', path: '/yhfq/alfx' },
// // { title: '用户群分析', path: '/yhfq/yhqfx' }
// ]
},
{ title: '用户群特征编辑[一期]', icon: '', path: '/characteristicsEditor' },
{ title: '用户触达编辑[一期]', icon: '', path: '/triggerEditor' }
}
// {
// title: '案例背景编辑[一期]',
// icon: '',
// path: '/yhfq/albj'
// // children: [
// // { title: '案例背景', path: '/yhfq/albj' }
// // // { title: '案例详情', path: '/yhfq/alfx' },
// // // { title: '用户群分析', path: '/yhfq/yhqfx' }
// // ]
// },
// { title: '用户群特征编辑[一期]', icon: '', path: '/characteristicsEditor' },
// { title: '用户触达编辑[一期]', icon: '', path: '/triggerEditor' }
]
}
},
......
......@@ -113,7 +113,6 @@
width="100">
<template slot-scope="scope">
<el-select size="mini" :value="opera" @change="operation" placeholder="请选择">
<el-option :value="{ tag: 'detail', row: scope.row }" label="详情"></el-option>
<el-option :value="{ tag: 'edit', row: scope.row }" label="编辑"></el-option>
<el-option :value="{ tag: 'delete', row: scope.row }" label="删除"></el-option>
</el-select>
......@@ -211,9 +210,9 @@
</el-form-item>
<el-form-item label="案例等级" :label-width="formLabelWidth">
<el-select v-model.number="addForm.level" placeholder="请选择案例等级">
<el-option label="低风险" value="1"></el-option>
<el-option label="中风险" value="2"></el-option>
<el-option label="高风险" value="3"></el-option>
<el-option label="低风险" :value="1"></el-option>
<el-option label="中风险" :value="2"></el-option>
<el-option label="高风险" :value="3"></el-option>
</el-select>
</el-form-item>
<el-form-item label="案例分类" :label-width="formLabelWidth">
......@@ -455,6 +454,7 @@ export default {
case 'detail':
break
case 'edit':
this.$router.push({ path: '/training/cases/update', query: { id: opera.row.id } })
break
case 'delete':
this.handleDelete(opera.row.id)
......
<template>
<div>
<div>
<el-card class="box-card">
<el-breadcrumb separator-class="el-icon-arrow-right">
<el-breadcrumb-item :to="{ path: '/' }">首页</el-breadcrumb-item>
<el-breadcrumb-item :to="{ path: '/training/cases' }">案例管理</el-breadcrumb-item>
<el-breadcrumb-item>编辑案例</el-breadcrumb-item>
</el-breadcrumb>
</el-card>
</div>
<div>
<el-card class="box-card">
<el-form :model="updateForm" size="mini">
<el-form-item label="案例名称" :label-width="formLabelWidth">
<el-input v-model="updateForm.name" autocomplete="off"></el-input>
</el-form-item>
<el-form-item label="案例等级" :label-width="formLabelWidth">
<el-select v-model.number="updateForm.level" placeholder="请选择案例等级">
<el-option label="低风险" :value="1"></el-option>
<el-option label="中风险" :value="2"></el-option>
<el-option label="高风险" :value="3"></el-option>
</el-select>
</el-form-item>
<el-form-item label="案例分类" :label-width="formLabelWidth">
<el-cascader
v-model="updateForm.category_id"
:options="options"
:show-all-levels="false"
filterable
:before-filter="searchCategory"
:props="{value: 'id', label: 'name', emitPath: false}"
placeholder="试试搜索:分类">
</el-cascader>
</el-form-item>
<el-form-item label="产品说明书(pdf附件)" :label-width="formLabelWidth">
<el-upload
class="upload-pdf"
action="/api/opera/v1/file/upload"
:on-preview="handlePreview"
:on-remove="handleRemove"
:on-success="uploadSuccess"
:limit="1"
:on-exceed="handleExceed">
<el-button size="small" type="primary">点击上传</el-button>
<div slot="tip" class="el-upload__tip">只能上传pdf文件</div>
</el-upload>
</el-form-item>
<el-form-item label="图片" :label-width="formLabelWidth">
<el-upload
action="/api/opera/v1/file/upload"
list-type="picture-card"
:limit="1"
:on-success="uploadUrlSuccess"
:multiple="false"
:data="{ type: 'image' }"
:on-preview="createPictureCardPreview">
<i class="el-icon-plus"></i>
</el-upload>
<el-dialog :visible.sync="visible" append-to-body>
<img width="100%" :src="updateForm.url" alt="">
<el-input :v-model="updateForm.url" :value="updateForm.url"></el-input>
</el-dialog>
</el-form-item>
</el-form>
</el-card>
</div>
</div>
</template>
<script>
import * as categoryApi from '@/api/categories'
export default {
name: 'update',
data() {
return {
id: 0,
formLabelWidth: '100px',
options: [],
visible: false,
updateForm: {
name: '',
level: '',
category_id: 0,
accessory: '',
url: '',
production_detail: [
{
name: '',
keywords: [
{
name: '',
score: '0'
}
]
}
],
fund_detail: [
{
name: '',
keywords: [
{
name: '',
score: 0
}
]
}
],
invest_detail: [
{
name: '',
keywords: [
{
name: '',
score: 0
}
]
}
]
}
}
},
mounted() {
this.categoryList()
},
methods: {
searchCategory(keyword) {
categoryApi.categories({ name: keyword, page: 1, limit: 10 }).then(res => {
if (res.code === 0) {
this.options = res.data.data
this.deleteEmptyGroup(this.options)
return true
}
return false
})
return false
},
categoryList(name = '') {
categoryApi.categories({ name: name, page: 1, limit: 10 }).then(res => {
if (res.code === 0) {
if (res.data.data) {
this.options = []
this.deleteEmptyGroup(res.data.data)
this.options = res.data.data
}
return true
}
return false
})
},
// 处理没有children的分组
deleteEmptyGroup(treeData) {
return new Promise(resolve => {
function traversal(data) {
data.map(item => {
for (var info in item) {
if (!info) continue
item.level = 1
if (item.children) {
if (item.children.length > 0) {
traversal(item.children)
}
if (item.children.length === 0) {
delete item.children
}
}
}
})
}
traversal(treeData)
resolve(treeData)
})
},
handlePreview(file) {
if (!this.updateForm.accessory) {
this.updateForm.accessory = file.url
}
this.visible = true
},
handleRemove(file, fileList) {
console.log(file, fileList)
},
uploadSuccess(response, file, fileList) {
if (response.code === 0 && response.message === 'SUCCESS') {
var data = response.data
var imageInfo = data[0]
this.updateForm.accessory = imageInfo.url
this.visible = false
} else {
console.log('文件上传失败')
this.$message.error('文件上传失败')
}
},
uploadUrlSuccess(response, file, fileList) {
if (response.code === 0) {
var data = response.data
var imageInfo = data[0]
this.updateForm.url = imageInfo.url
this.visible = false
} else {
console.log('文件上传失败')
this.$message.error('文件上传失败')
}
},
handleExceed(files, fileList) {
this.$message.warning(`当前限制选择 1 个文件,本次选择了 ${files.length} 个文件,共选择了 ${files.length + fileList.length} 个文件`)
},
createPictureCardPreview(file) {
if (!this.updateForm.url) {
this.updateForm.url = file.url
}
this.updateForm = true
}
}
}
</script>
<style scoped>
</style>
......@@ -51,7 +51,7 @@
</div>
</el-card>
</div>
<el-button slot="reference" size="mini">查看择算分规则</el-button>
<el-button slot="reference" size="mini">查看配置项</el-button>
</el-popover>
</template>
</el-table-column>
......
......@@ -18,6 +18,7 @@ const userGroup = [
{ path: '/training', redirect: '/tranning/categories' },
{ path: '/training/categories', name: 'category', component: () => import('@/pages/v2/categories/category') },
{ path: '/training/cases', name: 'cases', component: () => import('@/pages/v2/cases/index') },
{ path: '/training/cases/update', name: 'cases_update', component: () => import('@/pages/v2/cases/update') },
{ path: '/training/characteristics', name: 'characteristics', component: () => import('@/pages/v2/characteristics/index') },
{ path: '/training/characteristics/update', name: 'characteristics_update', component: () => import('@/pages/v2/characteristics/update') },
{ path: '/training/reachschemes', name: 'reach_schemes', component: () => import('@/pages/v2/reachschemes/index') },
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论