Commit 3a261a8e by chenqiang

模板管理

parent e1992d2c
......@@ -3,7 +3,7 @@
<div class="header_box_left">
<img src="@/assets/img/tb1.png" alt="">
<span style="color: #333;font-weight: 500;font-size: 16px;">刑侦信息专业应用系统</span>
<span style="padding-left: 12px;">欢迎您:重庆市公安局<span style="padding-left: 15px;">系统管理员</span></span>
<!-- <span style="padding-left: 12px;">欢迎您:重庆市公安局<span style="padding-left: 15px;">系统管理员</span></span>-->
</div>
<div class="header_box_right">
<!-- <div class="iconfont iconlianjie paddingLeft32"></div>-->
......
......@@ -166,5 +166,30 @@ export default [
auth: "5"
},
component: () => import("@/views/sy/index.vue")
}
},
{
path: "/mhfour",
name: "mhfour",
meta: {
title: "首页",
auth: "5"
},
component: () => import("@/views/mhfour/index.vue")
},{
path: "/mhseven",
name: "mhseven",
meta: {
title: "首页",
auth: "5"
},
component: () => import("@/views/mhseven/index.vue")
},{
path: "/mxpjtj",
name: "mxpjtj",
meta: {
title: "添加模型评价",
auth: "5"
},
component: () => import("@/views/mxmk/mxpjtj.vue")
},
];
......@@ -11,7 +11,8 @@
<template v-for="(item , index) in routes" v-if="item.meta.menuShow">
<el-submenu :index="item.path" v-if="item.children && item.children.length > 1">
<template slot="title">
{{item.meta.menuName}}
<img style="vertical-align: middle;" :src="item.imgUrl" alt="">
<span style="vertical-align: middle;padding-left: 10px;">{{item.meta.menuName}}</span>
</template>
<el-menu-item v-for="(itemChild , index) in item.children" :index="itemChild.path" :key="index"
v-if="itemChild.meta.menuShow">
......@@ -19,7 +20,8 @@
</el-menu-item>
</el-submenu>
<el-menu-item :index="item.path" v-else>
{{item.meta.menuName}}
<img style="vertical-align: middle;" :src="item.imgUrl" alt="">
<span style="vertical-align: middle;padding-left: 10px;">{{item.meta.menuName}}</span>
</el-menu-item>
</template>
</el-menu>
......@@ -48,6 +50,7 @@ export default {
{
path: '/lanmugl',
name: 'lanmugl',
imgUrl: require('@/assets/img/lm.png'),
meta: {
menuShow: true,
menuName: '栏目管理'
......@@ -56,6 +59,7 @@ export default {
}, {
path: '/xxfb',
name: 'xxfb',
imgUrl: require('@/assets/img/xx.png'),
meta: {
menuShow: true,
menuName: '信息管理'
......@@ -64,6 +68,7 @@ export default {
}, {
path: '/fbgl',
name: 'fbgl',
imgUrl: require('@/assets/img/fb.png'),
meta: {
menuShow: true,
menuName: '发布管理'
......@@ -72,6 +77,7 @@ export default {
}, {
path: "/nrgl",
name: "nrgl",
imgUrl: require('@/assets/img/nr.png'),
meta: {
menuShow: true,
menuName: "内容管理"
......@@ -95,6 +101,7 @@ export default {
}, {
path: '/mbgl',
name: 'mbgl',
imgUrl: require('@/assets/img/mb.png'),
meta: {
menuShow: true,
menuName: '模板管理'
......@@ -103,6 +110,7 @@ export default {
}, {
path: '/yhgl',
name: 'yhgl',
imgUrl: require('@/assets/img/yh.png'),
meta: {
menuShow: true,
menuName: '用户管理'
......
<template>
<div class="mhgl_box">
<el-container>
<el-header>
<header-box-mh/>
</el-header>
<el-main>
<div class="mhgl_box_content">
<div class="mhgl_box_content_mk" v-for="item in list" :key="item.id">
<div style="margin: 33px 11px 3px 8px;">
<img :src="item.imgUrl" alt="">
</div>
<div
style="align-items: center;
color: #fff;
display: flex;
font-size: 18px;
font-family: PingFang SC;
font-weight: 500;">{{item.name}}</div>
</div>
</div>
</el-main>
</el-container>
</div>
</template>
<script>
import headerBoxMh from '@/components/headerBoxMh.vue'
import { mapGetters } from 'vuex'
import axios from 'axios'
export default {
components: {
headerBoxMh
},
name: 'index',
data() {
return {
list: [
{
id: 1,
name: '侦查研判算法模型',
imgUrl: require('@/assets/img/mhfour_1.png')
},
{
id: 2,
name: '预警预测算法模型',
imgUrl: require('@/assets/img/mhfour_2.png')
}, {
id: 3,
name: '关系网络算法模型',
imgUrl: require('@/assets/img/mhfour_3.png')
}, {
id: 4,
name: '人案智能推荐算法模型',
imgUrl: require('@/assets/img/mhfour_4.png')
}
]
}
},
mounted() {
let self = this
},
methods: {}
}
</script>
<style scoped lang="scss">
.mhgl_box {
width: 100%;
height: 100vh;
background-image: url("../../assets/img/mhfour_bg.png");
background-size: 100% 100%;
.el-header {
padding: 0;
height: 60px;
}
.el-main {
height: calc(100vh - 60px);
margin: 0;
border: none;
width: 100%;
display: flex;
justify-content: center;
align-items: center;
.mhgl_box_content {
display: flex;
width: 744px;
height: 392px;
justify-content: space-between;
align-items:center;
flex-wrap: wrap;
margin-top: -22px;
.mhgl_box_content_mk {
width: 360px;
box-shadow: 0 6px 20px rgba(3, 19, 41, 0.24);
border-radius: 8px;
height: 184px;
cursor: pointer;
display: flex;
}
.mhgl_box_content_mk:nth-child(1) {
background: -webkit-linear-gradient(left,#41D3E6,#0EA8BC);
}
.mhgl_box_content_mk:nth-child(2) {
background: -webkit-linear-gradient(left,#FFDE91,#D9A440);
}
.mhgl_box_content_mk:nth-child(3) {
margin-top: 20px;
background: -webkit-linear-gradient(left,#8EDB8E,#52AD52);
}
.mhgl_box_content_mk:nth-child(4) {
margin-top: 20px;
background: -webkit-linear-gradient(left,#4094FA,#1964E3);
margin-left: -12px;
}
}
}
}
</style>
......@@ -17,11 +17,14 @@
<img :src="item.url" alt="">
<div class="mhgl_box_title">{{item.name}}</div>
</div>
<div v-show="item.flag"
<div
class="mhgl_box_content_bottom_tb">
<div class="mhgl_box_content_bottom_nr" v-show="item.children.length > 0">
<div class="mhgl_box_content_bottom_nr_lj" v-for="val in item.children" :key="val.url">{{val.name}}
<div class="mhgl_box_content_bottom_nr_lj" v-for="val in item.children" :key="val.url">
{{val.name}}
<hr style="width: 164px;background-color: #C6D0D6;height: 1px;border: none;">
</div>
</div>
</div>
</div>
......@@ -182,7 +185,7 @@ export default {
}
.el-main {
height: calc(100vh - 60px);
height: calc(100vh - 94px);
margin: 0;
border: none;
width: 100%;
......@@ -206,10 +209,8 @@ export default {
position: absolute;
top: 50%;
height: 32px;
width: 120px;
width: 100%;
margin-top: -16px;
left: 50%;
margin-left: -60px;
text-align: center;
font-size: 22px;
font-weight: 600;
......@@ -233,11 +234,12 @@ export default {
.mhgl_box_content_bottom_nr_lj {
padding-bottom: 6px;
font-size: 14px;
font-weight: 400;
font-size: 16px;
font-weight: 600;
font-family: Microsoft YaHei;
font-family: PingFang SC;
color: #111418;
/*border-bottom: 1px solid #C6D0D6;*/
}
}
}
......
<template>
<div class="mhgl_box">
<el-container>
<el-header>
<header-box-mh/>
</el-header>
<el-main>
<div class="mhgl_box_content">
<div class="mhgl_box_content_mk">
<div style="display: flex;justify-content: center;margin-top: 56px;">
<img src="@/assets/img/mhseven_1.png" alt="">
</div>
<div style="text-align: center;margin-top: 30px;">
虚实身份转换算法模型
</div>
</div>
<div class="mhgl_box_content_mk2">
<div style="display: flex;justify-content: center;margin-top: 56px;">
<img src="@/assets/img/mhseven_2.png" alt="">
</div>
<div style="text-align: center;margin-top: 30px;">
三网电子固证算法模型
</div>
</div>
<div class="mhgl_box_content_mk3">
<div class="mhgl_box_content_mk3_top">
<div style="display: flex;justify-content: center;">
<img style="margin-top: 17px;" src="@/assets/img/mhseven_3.png" alt="">
</div>
<div style="text-align: center;margin-top: 4px;">
人车机时空轨迹算法模型
</div>
</div>
<div class="mhgl_box_content_mk3_bottom">
<div style="display: flex;justify-content: center;">
<img style="margin-top: 17px;" src="@/assets/img/mhseven_4.png" alt="">
</div>
<div style="text-align: center;margin-top: 4px;">
多点轨迹碰撞算法模型
</div>
</div>
</div>
<div class="mhgl_box_content_mk4">
<div style="display: flex;justify-content: center;margin-top: 25px;">
<img src="@/assets/img/mhseven_5.png" alt="">
</div>
<div style="text-align: center;margin-top: 12px;">
三网电子固证算法模型
</div>
</div>
<div class="mhgl_box_content_mk5">
<div style="display: flex;justify-content: center;margin-top: 31px;">
<img src="@/assets/img/mhseven_6.png" alt="">
</div>
<div style="text-align: center;margin-top: 15px;">
三网电子固证算法模型
</div>
</div>
<div class="mhgl_box_content_mk6">
<div style="display: flex;justify-content: center;margin-top: 27px;">
<img src="@/assets/img/mhseven_7.png" alt="">
</div>
<div style="text-align: center;margin-top: 13px;">
三网电子固证算法模型
</div>
</div>
</div>
</el-main>
</el-container>
</div>
</template>
<script>
import headerBoxMh from '@/components/headerBoxMh.vue'
import { mapGetters } from 'vuex'
import axios from 'axios'
export default {
components: {
headerBoxMh
},
name: 'index',
data() {
return {}
},
mounted() {
let self = this
},
methods: {}
}
</script>
<style scoped lang="scss">
.mhgl_box {
width: 100%;
height: 100vh;
background-image: url("../../assets/img/mhfour_bg.png");
background-size: 100% 100%;
.el-header {
padding: 0;
height: 60px;
}
.el-main {
height: calc(100vh - 60px);
margin: 0;
border: none;
width: 100%;
display: flex;
justify-content: center;
align-items: center;
.mhgl_box_content {
display: flex;
width: 918px;
height: 410px;
justify-content: space-between;
align-items: center;
flex-wrap: wrap;
margin-top: -22px;
.mhgl_box_content_mk {
width: 256px;
height: 232px;
color: #fff;
font-size: 18px;
background: linear-gradient(90deg, #358EFA 0%, #1964E3 100%);
box-shadow: 0 6px 20px rgba(3, 19, 41, 0.24);
border-radius: 8px;
cursor: pointer;
}
.mhgl_box_content_mk2 {
width: 400px;
height: 232px;
color: #fff;
font-size: 18px;
cursor: pointer;
background: linear-gradient(90deg, #37E0E0 0%, #0EA8BC 100%);
box-shadow: 0 6px 20px rgba(3, 19, 41, 0.24);
border-radius: 8px;
}
.mhgl_box_content_mk3 {
color: #fff;
width: 214px;
height: 232px;
font-size: 18px;
.mhgl_box_content_mk3_top {
width: 214px;
height: 104px;
cursor: pointer;
background: linear-gradient(90deg, #7E7CEA 0%, #5762DB 100%);
box-shadow: 0 6px 20px rgba(3, 19, 41, 0.24);
border-radius: 8px;
}
.mhgl_box_content_mk3_bottom {
width: 214px;
height: 104px;
cursor: pointer;
background: linear-gradient(90deg, #7FCC7F 0%, #52AD52 100%);
box-shadow: 0 6px 20px rgba(3, 19, 41, 0.24);
border-radius: 8px;
margin-top: 24px;
}
}
.mhgl_box_content_mk4 {
color: #fff;
font-size: 18px;
cursor: pointer;
width: 256px;
height: 154px;
background: linear-gradient(90deg, #F7CD6D 0%, #D9A440 100%);
box-shadow: 0 6px 20px rgba(3, 19, 41, 0.24);
border-radius: 8px;
margin-top: 24px;
}
.mhgl_box_content_mk5 {
color: #fff;
font-size: 18px;
cursor: pointer;
width: 400px;
height: 154px;
margin-top: 24px;
background: linear-gradient(90deg, #7E7CEA 0%, #5762DB 100%);
box-shadow: 0 6px 20px rgba(3, 19, 41, 0.24);
border-radius: 8px;
}
.mhgl_box_content_mk6 {
color: #fff;
font-size: 18px;
cursor: pointer;
width: 214px;
height: 154px;
margin-top: 24px;
background: linear-gradient(90deg, #3B90F7 0%, #1964E3 100%);
box-shadow: 0 6px 20px rgba(3, 19, 41, 0.24);
border-radius: 8px;
}
}
}
}
</style>
......@@ -2,11 +2,12 @@
<div id="mbgl">
<el-container>
<el-header>
<div class="mbgl_head">{{$route.meta.title}}</div>
<header-box/>
<!-- <div class="mbgl_head">{{$route.meta.title}}</div>-->
</el-header>
<el-container style="display: flex;">
<el-aside width="260px" style="height: calc(100vh - 65px);">
<el-menu unique-opened :default-active="$route.path" class="my-menu" router background-color="#324157"
<el-aside width="224px" style="background-color: #001831;">
<el-menu unique-opened :default-active="$route.path" class="my-menu" router background-color="#001831"
text-color="#fff">
<template v-for="(item , index) in routes" v-if="item.meta.menuShow">
<el-submenu :index="item.path" v-if="item.children && item.children.length > 1">
......@@ -34,8 +35,10 @@
<script>
import axios from 'axios'
import headerBox from '../../components/headerBox.vue'
export default {
components: { headerBox },
data() {
return {
routes: [
......@@ -48,19 +51,19 @@ export default {
},
children: []
}, {
path: '/modelManager/mxgl',
name: 'mxgl',
path: '/modelManager/mxfb',
name: 'mxfb',
meta: {
menuShow: true,
menuName: '模型管理'
menuName: '模型发布'
},
children: []
}, {
path: '/modelManager/mxfb',
name: 'mxfb',
path: '/modelManager/mxgl',
name: 'mxgl',
meta: {
menuShow: true,
menuName: '模型发布'
menuName: '模型管理'
},
children: []
}, {
......@@ -91,47 +94,49 @@ export default {
<style scoped lang="scss">
#mbgl {
.el-header {
/deep/.el-header {
padding: 0;
/*height: 60px;*/
/*background-color: rgba(18, 35, 87, .7);*/
}
.mbgl_head {
background-color: #0070F4;
height: 60px;
line-height: 60px;
font-size: 20px;
padding-left: 70px;
color: #ffffff;
font-weight: bold;
height: 48px !important;
background-color: rgba(18, 35, 87, .7);
}
.el-main {
/*height: calc(100vh - 60px);*/
/*margin: 0;*/
height: calc(100vh - 48px);
margin: 0;
border: none;
width: 100%;
padding: 24px;
background-color: #ECEEF2;
/*width: 100%;*/
}
.mbgl_head {
color: #333;
font-size: 14px;
height: 48px;
line-height: 48px;
padding-left: 40px;
padding-right: 40px;
background-color: #fff;
}
}
</style>
<style lang="scss">
#mbgl {
.el-menu {
background-color: #fff !important;
height: 100%;
/*background-color: #fff !important;*/
/*height: 100%;*/
}
.el-menu-item {
color: #555555 !important;
background-color: #fff !important;
color: #A6ADB4 !important;
/*background-color: #fff !important;*/
}
.el-submenu__title{
color: #A6ADB4 !important;
}
.el-menu-item.is-active {
color: #0070F4 !important;
color: #FAFCFD !important;
background-color: #006EFF !important;
}
.el-dialog /deep/ {
......@@ -149,8 +154,8 @@ export default {
padding-top: 20px;
border-radius: 4px;
}
.el-menu-item:hover {
background-color: #ccc !important;
}
/*.el-menu-item:hover {*/
/* background-color: #ccc !important;*/
/*}*/
}
</style>
......@@ -11,9 +11,6 @@
<el-button type="primary" @click="getData('yes')">查询</el-button>
</el-form-item>
</el-form>
<!-- <div style="float: right">-->
<!-- <el-button type="primary" @click="addAn">新增</el-button>-->
<!-- </div>-->
</div>
<div style="padding: 10px;background-color: #fff;margin-top: 18px;border-radius: 4px;">
<div style="height: 28px;line-height: 28px;background-color: #fff;padding: 10px;">
......@@ -33,15 +30,6 @@
<span style="color: #f22">{{ total }}</span>
条查询结果
</span>
<div
class="inline">
<el-button
size="small"
icon="el-icon-plus"
type="primary"
@click="addAn">新增
</el-button>
</div>
</div>
</div>
<el-table
......@@ -64,8 +52,19 @@
width="180">
</el-table-column>
<el-table-column
prop="path"
label="路径">
prop="type"
label="模板类型">
</el-table-column>
<el-table-column
prop="djsj"
label="创建时间">
</el-table-column>
<el-table-column
label="是否发布">
<template slot-scope="scope">
<span v-if="scope.row.stat == '1'"></span>
<span v-else></span>
</template>
</el-table-column>
<el-table-column
prop="bz"
......@@ -73,8 +72,8 @@
</el-table-column>
<el-table-column label="操作" width="300">
<template slot-scope="scope">
<el-button @click="edit(scope.row)" type="text" size="small">修改</el-button>
<el-button @click="del(scope.row)" type="text" size="small">删除</el-button>
<el-button @click="submit(scope.row)" type="text" size="small">发布</el-button>
<!-- <el-button @click="del(scope.row)" type="text" size="small">删除</el-button>-->
</template>
</el-table-column>
</el-table>
......@@ -160,14 +159,13 @@ export default {
let param = {
name: self.form.name
}
axios.post('http://77.1.24.51:9100/template/selectTbStTemplateCount', param, {
header: {
'Content-Type': 'application/json'
axios.post('mxgl/template/selectTbStTemplateCount', param, {
headers: {
'content-Type': 'application/json'
}
}).then(res => {
debugger
if (res.data.status == 200) {
self.total = res.data.data
if (res.status == 200) {
self.total = res.data
}
})
},
......@@ -181,85 +179,52 @@ export default {
let param = {
name: self.form.name,
page: self.page,
limit: self.limit
limit: self.limit,
stat: '2'
}
axios.post('http://77.1.24.51:9100/template/selectTbStTemplateList', param, {
header: {
'Content-Type': 'application/json'
axios.post('/mxgl/template/selectTbStTemplateList', param, {
headers: {
'content-Type': 'application/json'
}
}).then(res => {
if (res.data.status == 200) {
if (res.status == 200) {
self.tableLoading = false
self.tableData = res.data.data
self.tableData = res.data
}
})
self.getCount()
},
// 点击新增按钮
addAn() {
submit(row) {
let self = this
self.flag = true
self.dialogFormVisible = true
self.title = '新增'
self.formItem.name = ''
self.formItem.path = ''
self.formItem.bz = ''
},
submit() {
let self = this
// 新增
self.$refs.ruleForm.validate((valid) => {
if (valid) {
if (self.flag) {
// 发布
self.$confirm('此操作将发布改模型, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
let param = {
name: self.formItem.name,
path: self.formItem.path,
bz: self.formItem.bz
xxzjbh: row.xxzjbh,
fbr: '测试'
}
axios.post('http://77.1.24.51:9100/template/saveTbStTemplate', param, {
header: {
'Content-Type': 'application/json'
axios.post('/mxgl/template/updateTbStTemplate', param, {
headers: {
'content-Type': 'application/json'
}
}).then(res => {
if (res.data.status == 200) {
self.$message.success('新增成功')
self.dialogFormVisible = false
self.getData('yes')
}
if (res.data.status == 'success') {
self.$message({
type: 'success',
message: '发布成功!'
})
} else {
let param = {
xxzjbh: self.editRow.xxzjbh,
name: self.formItem.name,
path: self.formItem.path,
bz: self.formItem.bz
}
axios.post('http://77.1.24.51:9100/template/saveTbStTemplate', param, {
header: {
'Content-Type': 'application/json'
}
}).then(res => {
if (res.data.status == 200) {
self.$message.success('修改成功')
self.dialogFormVisible = false
self.getData('yes')
self.$router.push('/modelManager/mxgl')
}
})
}
}
}).catch(() => {
self.$message({
type: 'info',
message: '已取消发布'
})
})
},
// 修改
edit(row) {
let self = this
self.flag = false
self.dialogFormVisible = true
self.title = '修改'
self.formItem.name = row.name
self.formItem.path = row.path
self.formItem.bz = row.bz
self.editRow = row
},
// 删除
del(row) {
......@@ -272,9 +237,9 @@ export default {
let param = {
xxzjbh: row.xxzjbh
}
axios.post('http://77.1.24.51:9100/template/deleteTbStTemplate', param, {
header: {
'Content-Type': 'application/json'
axios.post('/mxgl/template/deleteTbStTemplate', param, {
headers: {
'content-Type': 'application/json'
}
}).then(res => {
if (res.data.status == 200) {
......@@ -283,6 +248,7 @@ export default {
message: '删除成功!'
})
}
self.getData()
})
}).catch(() => {
self.$message({
......
......@@ -12,6 +12,9 @@
<el-form-item label="模板名称">
<el-input v-model="form.name" clearable></el-input>
</el-form-item>
<el-form-item label="模板名称">
<el-radio v-model="form.name" clearable></el-radio>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="getData('yes')">查询</el-button>
</el-form-item>
......@@ -56,15 +59,15 @@
<span style="color: #f22">{{ total }}</span>
条查询结果
</span>
<div
class="inline">
<el-button
size="small"
icon="el-icon-plus"
type="primary"
@click="addAn">新增
</el-button>
</div>
<!-- <div-->
<!-- class="inline">-->
<!-- <el-button-->
<!-- size="small"-->
<!-- icon="el-icon-plus"-->
<!-- type="primary"-->
<!-- @click="addAn">新增-->
<!-- </el-button>-->
<!-- </div>-->
</div>
</div>
<el-table
......@@ -91,6 +94,17 @@
label="路径">
</el-table-column>
<el-table-column
prop="djsj"
label="创建时间">
</el-table-column>
<el-table-column
label="是否发布">
<template slot-scope="scope">
<span v-if="scope.row.stat == '1'"></span>
<span v-else></span>
</template>
</el-table-column>
<el-table-column
prop="bz"
label="备注">
</el-table-column>
......@@ -295,16 +309,17 @@ export default {
let param = {
xxzjbh: row.xxzjbh
}
axios.post('http://77.1.24.51:9100/template/deleteTbStTemplate', param, {
header: {
'Content-Type': 'application/json'
axios.post('/mxgl/template/deleteTbStTemplate', param, {
headers: {
'content-Type': 'application/json'
}
}).then(res => {
if (res.data.status == 200) {
if (res.data.status == 'success') {
self.$message({
type: 'success',
message: '删除成功!'
})
self.getData()
}
})
}).catch(() => {
......
<template>
<div></div>
<div id="mxpj_box">
<div class="form_box">
<el-form abel-position="right"
label-width="140px"
ref="queryForm" :model="form" inline style="text-align: left">
<el-form-item label="模板名称">
<el-input v-model="form.name" clearable></el-input>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="getData('yes')">查询</el-button>
</el-form-item>
</el-form>
</div>
<div style="padding: 10px;background-color: #fff;margin-top: 18px;border-radius: 4px;">
<div style="height: 28px;line-height: 28px;background-color: #fff;padding: 10px;">
<span style="color:#333333;vertical-align: middle;">查询条件</span>
<!--可配置化图标-->
<div
style="
vertical-align: middle;
height: 30px;
line-height: 30px;
text-align: left;
font-size: 12px;
display: inline-block;
width: calc(100% - 115px);">
<span class="total" style="vertical-align: middle">
共有
<span style="color: #f22">{{ total }}</span>
条查询结果
</span>
</div>
</div>
<el-table
:data="tableData"
v-loading="tableLoading"
element-loading-text="拼命加载中"
ref="itsmDataTable"
tooltip-effect="dark"
max-height="600"
width="100%"
size="small"
:cell-style="{
color: '#525252',
}"
:header-row-style="{ 'background-color': '#FAFAFA', color: '#333333' }"
:header-cell-style="{ 'background-color': '#FAFAFA' }">
<el-table-column
prop="name"
label="模板名称"
width="180">
</el-table-column>
<el-table-column
prop="path"
label="路径">
</el-table-column>
<el-table-column
prop="djsj"
label="创建时间">
</el-table-column>
<el-table-column
label="是否发布">
<template slot-scope="scope">
<span v-if="scope.row.stat == '1'"></span>
<span v-else></span>
</template>
</el-table-column>
<el-table-column
prop="bz"
label="备注">
</el-table-column>
<el-table-column label="操作" width="300">
<template slot-scope="scope">
<el-button @click="detail(scope.row)" type="text" size="small">详情</el-button>
</template>
</el-table-column>
</el-table>
<!--分页-->
<el-pagination background
@size-change="handleSizeChange"
style="text-align: center;padding-top: 10px;"
@current-change="handleCurrentChange"
:current-page.sync="page"
:page-sizes="[10, 20, 50, 100]"
:page-size="limit"
layout="sizes,prev, pager, next"
:total="total">
</el-pagination>
</div>
<el-dialog title="评价详情" :visible.sync="dialogFormVisible" width="1184px" custom-class="tztgClass_mxpj">
<el-form :model="formItem" style="padding: 0 20px;">
<div style="height: 127px;display: flex;justify-content: space-between;border-bottom: 1px solid #E9E9E9;">
<div style="padding-top: 30px;">
<div style="color:#525252;font-size: 20px;">
<span >模型名称:</span>
<span>{{formItem.name}}</span>
</div>
<div style="color:#767676;">
<span>模型用途:</span>
<span>{{formItem.bz}}</span>
</div>
</div>
<div style="display: flex;align-items: center;">
<img src="@/assets/img/q.png" alt="">
</div>
</div>
<div style="overflow: auto;max-height: 422px;">
<div v-for="item in pjList" :key="item.id" style="display: flex;border-bottom: 1px solid #F0F0F0;padding: 15px 0;">
<div style="padding-right: 24px;display: flex;align-items: center;">
<img src="@/assets/img/plxq_tx.png" alt="">
</div>
<div style="font-size: 14px;color:#767676;">
<div><span>警号:</span><span>{{item.jh}}</span></div>
<div style="display: flex;">
<span>评分:</span>
<el-rate
style="margin: 0;"
v-model="item.pf"
disabled
show-score
text-color="#ff9900"
score-template="{value}">
</el-rate>
</div>
<div><span>评论:</span><span>{{item.pjnr}}</span></div>
</div>
</div>
</div>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="dialogFormVisible = false">关 闭</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import axios from 'axios'
export default {
name: 'mxpj'
name: 'mxpj',
data() {
return {
pjList: [
{
id: '1',
jh: '111',
pf: 3.1,
pjnr: '内容内容'
}, {
id: '2',
jh: '111',
pf: 3.7,
pjnr: '内容内容'
}, {
id: '3',
jh: '111',
pf: 5,
pjnr: '内容内容'
}, {
id: '4',
jh: '111',
pf: 4,
pjnr: '内容内容'
}, {
id: '5',
jh: '111',
pf: 4,
pjnr: '内容内容'
}
],
dialogFormVisible: false,
page: 1,
limit: 10,
tableData: [
{
name: '1111',
path: '1111',
bz: '1111'
}
],
total: 0,
tableLoading: false,
form: {
value1: '',
value2: ''
},
formItem: {
name: '12121212',
bz: '备注备注备注备注备注备注备注备注备注备注备注备注'
}
}
},
mounted() {
this.getData('yes')
},
methods: {
handleCurrentChange(val) {
this.page = val
this.getData()
},
handleSizeChange(val) {
this.limit = val
this.getData()
},
// 查询总数
getCount() {
let self = this
let param = {
name: self.form.name
}
axios.post('http://77.1.24.51:9100/template/selectTbStTemplateCount', param, {
header: {
'Content-Type': 'application/json'
}
}).then(res => {
debugger
if (res.data.status == 200) {
self.total = res.data.data
}
})
},
// 查询
getData(val) {
let self = this
self.tableLoading = false
if (val) {
self.page = 1
}
let param = {
name: self.form.name,
page: self.page,
limit: self.limit
}
axios.post('http://77.1.24.51:9100/template/selectTbStTemplateList', param, {
header: {
'Content-Type': 'application/json'
}
}).then(res => {
if (res.data.status == 200) {
self.tableLoading = false
self.tableData = res.data.data
}
})
self.getCount()
},
// 查看详情
detail(row) {
let self = this
self.dialogFormVisible = true
}
}
}
</script>
<style scoped>
<style scoped lang="scss">
#mxpj_box {
.total {
color: #999;
margin-left: 28px;
margin-right: 22px;
float: left;
}
.flTtitle {
font-size: 16px;
font-weight: bold;
line-height: 21px;
color: #333333;
margin: 16px 12px 14px 0;
display: inline-block;
}
.el-rate {
margin-top: 10px;
}
}
</style>
<style lang="scss">
#mxpj_box {
.tztgClass_mxpj {
.el-dialog__header {
text-align: left;
border-bottom: 1px solid #ccc;
padding: 10px 10px 10px 24px;
.el-dialog__title {
font-size: 15px;
color: #222;
font-weight: bold;
}
.el-dialog__headerbtn {
top: 14px;
}
}
.el-dialog__body {
height: 550px;
padding: 0 10px !important;
}
.el-dialog__footer {
border-top: 1px solid #ccc;
}
}
}
</style>
<template>
<div id="mxpjtj_box">
<div style="width: 1184px;margin: 0 auto">
<div class="form_box">
<div style="color:#525252;font-size: 20px;">
<span>模型名称:</span>
<span>{{1111}}</span>
</div>
<div style="color:#767676;">
<span>模型用途:</span>
<span>{{1111}}</span>
</div>
</div>
<div style="margin-top: 16px;background-color: #fff;padding: 12px 0;border-bottom: 1px solid #ccc;">
<div
style="
color: #525252;
padding-left: 20px;
line-height: 24px;
font-family: PingFangSC-Medium;
font-size: 16px;">
模型输入输出
</div>
</div>
<div class="form_box" >
<div>
<div>输入</div>
<el-table :data="srTableData">
<el-table-cloumn>
</el-table-cloumn>
</el-table>
</div>
<div>
<div>模型</div>
<img src="@/assets/img/q.png" alt="">
</div>
<div>
<div>输出</div>
<el-table :data="scTableData"></el-table>
</div>
</div>
<div class="form_box">
<div style="padding: 0 20px;">评论详情</div>
<el-form label-position="right"
label-width="100px"
ref="queryForm" :model="form" style="text-align: left">
<el-form-item label="我的评论:">
<el-rate v-model="form.value1"></el-rate>
<el-input type="textarea" v-model="form.value2" style="width: calc(100% - 32px);padding: 10px 0 20px 0;"
:rows="8"></el-input>
</el-form-item>
<el-form-item style="text-align: right;
margin-right: 32px;
padding-bottom: 32px;">
<el-button type="primary">提交评论</el-button>
</el-form-item>
</el-form>
</div>
</div>
</div>
</template>
<script>
export default {
name: 'mxpjtj',
data() {
return {
form: {
value1: '',
value2: ''
}
}
}
}
</script>
<style scoped lang="scss">
#mxpjtj_box {
background-color: #F5F5F5;
.form_box {
background-color: #fff;
padding: 20px;
}
.el-rate {
margin-top: 10px;
}
}
</style>
<template>
<div></div>
<div>
<div class="form_box">
<el-form abel-position="right"
label-width="120px"
ref="queryForm" :model="form" inline style="text-align: left">
<div>
<el-form-item label="模板名称:">
<el-input v-model="form.name" clearable></el-input>
</el-form-item>
<el-form-item label="模板类型:">
<el-select v-model="form.type" placeholder="请选择" clearable>
<el-option
v-for="item in mxlxList"
:key="item.value"
:label="item.name"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
</div>
<div>
<el-form-item label="模板描述:">
<el-input
type="textarea"
:rows="4"
v-model="form.bz"
autocomplete="off"
style="width: 572px"
clearable></el-input>
</el-form-item>
</div>
<div
style="height: 44px;
background: #506683;
margin: 0 32px;
color: #fff;
line-height: 44px;
padding-left: 24px;
border-radius: 3px 3px 0 0;">模型输入
</div>
<div style="border-bottom: 1px dashed #ccc;margin: 0 32px;background-color: #FAFAFA;padding: 15px 0 10px 0;">
<div v-for="(item2,index) in form.cssr"
:key="index">
<div>
<el-form-item label="参数名称:">
<el-input v-model="item2.paraName" clearable></el-input>
</el-form-item>
<el-form-item label="参数类型:">
<el-input v-model="item2.paraType" clearable></el-input>
</el-form-item>
<el-form-item>
<el-button type="danger" plain size="mini" v-if="form.cssr.length > 1" @click="delMxsr(index)">删除
</el-button>
</el-form-item>
</div>
<div>
<el-form-item label="参数描述:">
<el-input
type="textarea"
:rows="4"
v-model="item2.paraNaMs"
autocomplete="off"
style="width: 572px"
clearable></el-input>
</el-form-item>
</div>
</div>
<div style="text-align: center;">
<el-button @click="addMxsr">添加</el-button>
</div>
</div>
<div
style="height: 44px;
background: #5D9696;
margin: 10px 32px 0 32px;
color: #fff;
line-height: 44px;
padding-left: 24px;
border-radius: 3px 3px 0 0;">模型输出
</div>
<div style="border-bottom: 1px dashed #ccc;margin: 0 32px;background-color: #FAFAFA;padding: 15px 0 10px 0;">
<div v-for="(item3,index) in form.cssc"
:key="index">
<el-form-item label="参数名称:">
<el-input v-model="item3.paraName" clearable></el-input>
</el-form-item>
<el-form-item label="参数类型:">
<el-input v-model="item3.paraType" clearable></el-input>
</el-form-item>
<el-form-item>
<el-button type="danger" plain size="mini" v-if="form.cssc.length > 1" @click="delMxsc(index)">删除
</el-button>
</el-form-item>
<br>
<el-form-item label="参数描述:">
<el-input
type="textarea"
:rows="4"
v-model="item3.paraNaMs"
autocomplete="off"
style="width: 572px"
clearable></el-input>
</el-form-item>
</div>
<div style="text-align: center;">
<el-button @click="addMxsc()">添加</el-button>
</div>
</div>
<div style="position:fixed;right: 52px;bottom: 10px;">
<el-form-item>
<el-button type="primary" @click="submit()">保存</el-button>
</el-form-item>
</div>
</el-form>
</div>
</div>
</template>
<script>
export default {
name: 'mxsj'
name: 'mxsj',
data() {
return {
// 模型类型
mxlxList: [
{
name: '虚实身份转换算法模型',
value: '1'
}, {
name: '虚拟关系人比对算法模型',
value: '2'
}, {
name: '电子围栏算法模型',
value: '3'
}, {
name: '网络围栏算法模型',
value: '4'
}, {
name: '多点轨迹碰撞算法模型',
value: '5'
}, {
name: '人车机时空轨迹伴随算法模型',
value: '6'
}, {
name: '三网电子固证算法模型',
value: '7'
}, {
name: '人案智能推荐算法模型',
value: '8'
}, {
name: '侦查研判算法模型',
value: '9'
}, {
name: '预警预测算法模型',
value: '10'
}, {
name: '关系网络算法模型',
value: '11'
}, {
name: '时空算法模型',
value: '12'
}, {
name: '其他',
value: '999'
}
],
form: {
bz: '',
type: '',
name: '',
cssr: [
{
paraName: '',
paraType: '',
paraNaMs: ''
}
],
cssc: [
{
paraName: '',
paraType: '',
paraNaMs: ''
}
]
}
}
},
methods: {
submit() {
let self = this
axios.post('/mxgl/template/insertTemplate', self.form,
{
headers: {
'content-Type':
'application/json'
}
}
).then(res => {
if(res.data.data.status == 'success'){
self.$router.push('/modelManager/mxfb')
self.$message.success(res.data.msg)
}
})
},
// 模型输入添加
addMxsr() {
let self = this
let obj = {
paraName: '',
paraType: '',
paraNaMs: ''
}
self.form.cssr.push(obj)
},
// 模型输入删除
delMxsr(inx) {
let self = this
self.form.cssr.splice(inx, 1)
},
// 模型输出添加
addMxsc() {
let self = this
let obj = {
paraName: '',
paraType: '',
paraNaMs: ''
}
self.form.cssc.push(obj)
},
// 模型输出删除
delMxsc(inx) {
let self = this
self.form.cssc.splice(inx, 1)
}
}
}
</script>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment