Commit 30d3190f authored by 赵啸非's avatar 赵啸非

Merge remote-tracking branch 'origin/master'

parents d09ce8f3 900ae288
......@@ -3,7 +3,7 @@
color:#1890FF;
}
.delete{
color:#FF4D4F;
color:#FA4D4C;
}
.green{
color:#1BBC9B;
......@@ -15,7 +15,7 @@
color:#fff;
}
.bgdel{
background-color: #FF4D4F;
background-color: #FA4D4C;
}
.bgpr{
background-color: #1890FF;
......@@ -219,4 +219,7 @@
}
.empty {
height: 100%;
}
.pointer{
cursor: pointer;
}
\ No newline at end of file
@import './common.less';
@import '../../theme/default/color.less';
@import "./common.less";
@import "../../theme/default/color.less";
// 字体大小
@fz18: 18px;
@fz16: 16px;
......@@ -10,13 +10,13 @@
@cl999: #999;
@cl000: #000; //表头
@cl333: #333; //表体
@cl8B: #8B96A6;
@dlecl: #FA4D4C; //表格删除
@redact: #1890FF; //表格编辑
@cl8B: #8b96a6;
@dlecl: #fa4d4c; //表格删除
@redact: #1890ff; //表格编辑
// 按钮背景色
@addbg: linear-gradient(90deg, #5ab6ff 0%, #2e9aff 100%); //新增
@delbg: #FA4D4C; //删除
@qubg: #E1F0FE; //取消 重置
@delbg: #fa4d4c; //删除
@qubg: #e1f0fe; //取消 重置
// 分页显示位置
.pagination {
......@@ -24,6 +24,10 @@
margin-right: 10px;
text-align: right;
}
.ant-tabs-nav-container {
border-bottom: 1px solid rgb(224, 224, 224) !important;
}
/* 溢出表格滚动条 */
/* 表格 */
......@@ -36,22 +40,32 @@
overflow: hidden !important;
margin-bottom: 0 !important;
padding-right: 6px;
tr:only-child > th:last-child {
border-right-color: #f0f0f0 !important;
}
}
.ant-table-placeholder{
width:calc(100% - 6px)
}
.ant-table-header {
background: #fff;
}
::-webkit-scrollbar {
width: 6px;
height:6px;
height: 6px;
overflow-y: auto;
}
::-webkit-scrollbar-thumb {
border-radius: 6px;
background-color: rgba(144, 147, 153, .5);
background-color: rgba(144, 147, 153, 0.5);
}
::-webkit-scrollbar-track {
border-radius: 6px;
background: #fff;
background: rgba(144, 147, 153, 0);
}
.color_title {
......@@ -65,18 +79,23 @@
position: absolute;
top: 1px;
left: -16px;
background-color: rgba(5, 149, 253, 1);
background-color: #1890ff;
}
}
.ant-input{
.ant-input {
resize: none;
}
.ant-btn-primary {
background: linear-gradient(90deg, #5ab6ff, #2e9aff) !important;
border: none !important;
border-color: transparent !important;
}
.ant-form-explain{
position:absolute
.ant-form-explain {
position: absolute;
}
.ant-form-item {
display: flex;
align-items: center;
margin-bottom: 20px;
}
\ No newline at end of file
}
.ant-modal {
box-shadow: none !important;
}
.ant-form-item {
margin-bottom: 0;
display: flex;
align-items: center;
}
.ant-form-item-children {
display: flex;
align-items: center;
}
.ant-form-item-children input,
.ant-form-item-children textarea {
font-size: 14px;
font-weight: 400;
color: #999;
}
.ant-form-item-label label {
font-size: 14px;
font-weight: 400;
color: #8B96A6;
}
.ant-modal {
box-shadow: 0px 2px 12px 0px rgba(0, 0, 0, 0.1);
}
.ant-modal-title {
color: #1890FF !important;
font-size: 18px;
font-weight: bold;
}
.ant-modal-close {
color: #188fff !important;
}
.ant-modal-close svg {
font-size: 26px !important;
}
.ant-vue-dark .ant-table-thead .ant-table-column-title {
font-size: 16px;
font-weight: 500;
color: #000;
}
.ant-vue-dark .ant-table-tbody {
font-size: 14px;
font-weight: 400;
color: #333;
}
.ant-vue-light .ant-table-thead .ant-table-column-title {
font-size: 16px;
font-weight: 500;
color: #000;
}
.ant-vue-light .ant-table-tbody {
font-size: 14px;
font-weight: 400;
color: #333;
}
.del {
color: #FA4D4C;
padding: 0 4px;
display: inline-block;
}
.del:hover {
color: #FA4D4C;
cursor: pointer;
}
.redact {
color: #1890FF;
padding: 0 4px;
display: inline-block;
}
.redact:hover {
color: #1890FF;
cursor: pointer;
}
.search input {
font-size: 14px;
color: #BFBFBF;
}
.search .chaxun {
color: #fff;
border: 1px solid #5ab6ff;
padding: 0 14px;
background: linear-gradient(90deg, #5ab6ff 0%, #2e9aff 100%);
}
.btn {
margin-top: 20px;
}
.btnclass {
font-size: 14px;
border-radius: 4px;
border: none;
margin-right: 12px;
}
.delclass {
background: #FA4D4C !important;
color: #fff !important;
}
.addclass {
background: linear-gradient(90deg, #5ab6ff 0%, #2e9aff 100%) !important;
color: #fff !important;
}
.quclass {
background: #E1F0FE !important;
color: #42A5FA !important;
border: 1px solid #E1F0FE;
}
/**
* 上传图片、文件父级添加class
* 文字和控件将向上对齐
*/
.up_load_file .ant-form-item {
align-items: flex-start;
}
.up_load_file .ant-form-item-label {
position: relative;
top: -4px;
}
.up_load_pic .ant-form-item {
align-items: flex-start;
}
.up_load_pic .ant-upload-list {
float: left;
}
th {
text-align: center !important;
}
td {
text-align: center;
}
.btn_box {
display: flex;
align-items: center;
justify-content: center;
}
.search_block {
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 20px;
}
.card_title {
font-size: 16px;
font-weight: 600;
color: #464646;
padding-left: 10px;
position: relative;
margin-bottom: 15px;
}
.card_title::before {
content: '';
position: absolute;
background: #1890ff;
border-color: #1890FF;
border-style: solid;
border-width: 2px;
height: 15px;
top: 4px;
left: 0;
}
.ant-tabs-nav-wrap {
background: #fff;
}
.ant-tabs-bar {
background: #fff;
padding-right: 20px !important;
}
.ant-tabs.ant-tabs-card .ant-tabs-card-bar .ant-tabs-tab {
border-left: none !important;
border-top: none !important;
border-right: none !important;
border-bottom: none !important;
color: #999 !important;
}
.ant-tabs.ant-tabs-card .ant-tabs-card-bar .ant-tabs-tab-active {
border-left: none !important;
border-top: none !important;
border-right: none !important;
}
.tabs-view-content {
background: #fff;
margin: 0 24px;
padding: 20px 24px;
min-height: 80vh;
}
.admin-layout .admin-layout-content {
padding: 20px 0 0 !important;
background: #F0F2F5;
}
.ant-pagination-item-active {
background: #1890FF;
border-radius: 4px;
}
.ant-pagination-item-active a {
color: #fff;
}
......@@ -223,22 +223,22 @@ td{
background: #fff;
}
.ant-tabs-bar{
background: #fff;
padding-right: 20px !important;
}
.ant-tabs.ant-tabs-card .ant-tabs-card-bar .ant-tabs-tab{
border-left: none !important;
border-top: none !important;
border-right: none !important;
border-bottom: none !important;
color: #999 !important;
}
.ant-tabs.ant-tabs-card .ant-tabs-card-bar .ant-tabs-tab-active{
border-left: none !important;
border-top: none !important;
border-right: none !important;
}
// .ant-tabs-bar{
// background: #fff;
// padding-right: 20px !important;
// }
// .ant-tabs.ant-tabs-card .ant-tabs-card-bar .ant-tabs-tab{
// border-left: none !important;
// border-top: none !important;
// border-right: none !important;
// border-bottom: none !important;
// color: #999 !important;
// }
// .ant-tabs.ant-tabs-card .ant-tabs-card-bar .ant-tabs-tab-active{
// border-left: none !important;
// border-top: none !important;
// border-right: none !important;
// }
// 内容
.tabs-view-content{
// background: #fff;
......
......@@ -5,6 +5,7 @@
<a-tree
:load-data="onLoadData"
:tree-data="treeData"
:expandedKeys.sync="expandedKeys"
:replaceFields="{ title: 'label', key: 'id' }"
@select="onSelect"
>
......@@ -26,6 +27,7 @@ export default {
return {
treeData: [], //树结构
id: "",
expandedKeys: [],
};
},
......@@ -40,6 +42,13 @@ export default {
const { data, code } = res.data;
if (code === 1) {
this.treeData = data.data;
// let obj = {
// dataRef: {
// id: data.data[0].id,
// },
// };
// this.onLoadData(obj);
this.expandedKeys = [data.data[0].id];
}
},
......
export const pageSizeOptions = ["10", "30", "50", "100", "200"]; // 翻页-每页显示数量
......@@ -5,7 +5,7 @@
<div class="flex aic">
<router-link to="/" class="flex aic">
<img class="mr10" width="32" src="@/assets/img/logo.png" />
<h1 class="title">基础设置平台</h1>
<h1 class="title">基础设置系统</h1>
</router-link>
<HeaderSite class="ml20"></HeaderSite>
</div>
......@@ -28,7 +28,7 @@
<a-layout-sider width="200" style="background: #fff">
<i-menu theme="light" :options="menuData" class="menu" />
</a-layout-sider>
<a-layout class="main" style="padding: 0 24px 24px">
<a-layout class="main">
<a-layout-content>
<keep-alive>
<!-- 需要缓存的视图组件 -->
......@@ -93,7 +93,23 @@ export default {
}
.main {
height: calc(100vh - 64px);
padding: 0px 24px 24px;
overflow-y: auto;
&::-webkit-scrollbar {
width: 6px;
height: 6px;
overflow-y: auto;
}
&::-webkit-scrollbar-thumb {
border-radius: 6px;
background-color: rgba(144, 147, 153, 0.5);
}
&::-webkit-scrollbar-track {
border-radius: 6px;
background: rgba(144, 147, 153, 0);
}
}
.ant-layout-content {
height: 100%;
......
......@@ -29,14 +29,12 @@
>
</div>
<div class="site-btn">
<a-button
type="primary"
style="margin-right: 10px"
@click="onSucessSite"
:disabled="isSite"
<a-button style="margin-right: 10px" @click="visible = false"
>取消</a-button
>
<a-button type="primary" @click="onSucessSite" :disabled="isSite"
>确定</a-button
>
<a-button @click="visible = false">取消</a-button>
</div>
</div>
</template>
......
......@@ -30,9 +30,11 @@
</span>
</template>
<template slot="active" slot-scope="text">
<a class="look-more" @click="lookMore(text.content)">查看详情</a>
<a class="edit" @click="editAccept(text)">编辑</a>
<a class="delete" @click="handleDel(text.id)">删除</a>
<span class="primary pointer" @click="lookMore(text.content)"
>查看详情</span
>
<span class="primary pointer" @click="editAccept(text)">编辑</span>
<span class="delete pointer" @click="handleDel(text.id)">删除</span>
</template>
</a-table>
</div>
......@@ -85,6 +87,7 @@ import {
// getSiteMatterList,
} from "@/services/matter";
import local from "@/utils/local";
import { pageSizeOptions } from "@/config/pageConfig.js";
const columns = [
{
title: "序号",
......@@ -121,7 +124,7 @@ export default {
source: 1,
},
loading: false,
pageSizeOptions: ["10", "30", "50", "100"],
pageSizeOptions,
rules: {
content: [
{ required: true, message: "受理条件不能为空", trigger: "blur" },
......@@ -251,13 +254,6 @@ export default {
.header {
margin-bottom: 20px;
}
.edit {
color: #03d76f;
margin: 0 15px;
}
.delete {
color: #fa6464;
}
}
/deep/.ant-form-item {
display: block !important;
......
......@@ -39,9 +39,17 @@
>
</template>
<template slot="operate" slot-scope="text">
<span class="look_more mr" @click="readMore(text)">查看更多</span>
<span class="edit mr" @click="editMaterial(text)">编辑</span>
<span class="del" @click="delMaterial(text.id)">删除</span>
<a-space>
<span class="primary pointer" @click="readMore(text)"
>查看更多</span
>
<span class="primary pointer" @click="editMaterial(text)"
>编辑</span
>
<span class="delete pointer" @click="delMaterial(text.id)"
>删除</span
>
</a-space>
</template>
</a-table>
</div>
......@@ -73,6 +81,7 @@ import addmaterials from "../group/addmaterials.vue";
import materialDetails from "../group/materialDetails.vue";
import downloadTable from "../group/downloadTable.vue";
import { getMatterDatumList, delMatterDatum } from "@/services/matter";
import { pageSizeOptions } from "@/config/pageConfig.js";
let columns = [
{
title: "序号",
......@@ -121,7 +130,7 @@ export default {
columns,
dict: {}, // 材料字典
loading: false,
pageSizeOptions: ["10", "30", "50", "100"],
pageSizeOptions,
dataSource: [],
selectedRows: [], // 选中数据
formVisible: false,
......@@ -258,12 +267,5 @@ export default {
border-radius: 2px;
cursor: pointer;
}
.edit {
color: #03d76f;
cursor: pointer;
}
.look_more {
cursor: pointer;
}
}
</style>
......@@ -31,8 +31,8 @@
</template>
<template slot="active" slot-scope="text">
<a-space size="middle">
<a class="edit" @click="handleEdit(text)">编辑</a>
<a class="delete" @click="handleDel(text.id)">删除</a>
<span class="primary pointer" @click="handleEdit(text)">编辑</span>
<span class="delete pointer" @click="handleDel(text.id)">删除</span>
</a-space>
</template>
</a-table>
......@@ -49,6 +49,7 @@
<script>
import { getMatterflowlimitList, delMatterflowlimit } from "@/services/matter";
import { pageSizeOptions } from "@/config/pageConfig.js";
import addFlow from "../group/addFlow.vue";
import local from "@/utils/local";
......@@ -103,7 +104,7 @@ export default {
current: 1,
size: 10,
total: 0,
pageSizeOptions: ["10", "30", "50", "100"],
pageSizeOptions,
title: "新增流程",
visible: false,
};
......
......@@ -37,8 +37,8 @@
</template>
<template slot="active" slot-scope="text">
<a-space size="middle">
<a class="edit" @click="handleEdit(text)">编辑</a>
<a class="delete" @click="handleDel(text.id)">删除</a>
<span class="primary pointer" @click="handleEdit(text)">编辑</span>
<span class="delete pointer" @click="handleDel(text.id)">删除</span>
</a-space>
</template>
</a-table>
......@@ -64,6 +64,7 @@
<script>
import local from "@/utils/local";
import { pageSizeOptions } from "@/config/pageConfig.js";
import addPursuant from "../group/addPursuant.vue";
import { getMattersetbase, delMattersetbase } from "@/services/matter";
const columns = [
......@@ -103,7 +104,7 @@ export default {
data() {
return {
loading: false,
pageSizeOptions: ["10", "30", "50", "100"],
pageSizeOptions,
columns,
tableData: [],
current: 1,
......@@ -221,13 +222,7 @@ export default {
.header {
margin-bottom: 20px;
}
.edit {
color: #03d76f;
margin: 0 10px;
}
.delete {
color: #fa6464;
}
.ant-pagination {
margin: 10px 0;
}
......
......@@ -30,9 +30,11 @@
<template slot="active" slot-scope="text">
<a-space size="middle">
<a class="look-more" @click="handleMore(text)">查看详情</a>
<a class="edit" @click="handleEdit(text)">编辑</a>
<a class="delete" @click="handleDel(text.id)">删除</a>
<span class="primary pointer" @click="handleMore(text)"
>查看详情</span
>
<span class="primary pointer" @click="handleEdit(text)">编辑</span>
<span class="delete pointer" @click="handleDel(text.id)">删除</span>
</a-space>
</template>
</a-table>
......@@ -41,8 +43,8 @@
<!-- 新增问题 -->
<a-modal v-model="visible" :title="title" @cancel="handleClose">
<template slot="footer">
<a-button type="primary" @click="handleOk">确定</a-button>
<a-button @click="handleInit">重置</a-button>
<a-button type="primary" @click="handleOk">确定</a-button>
</template>
<a-form-model
......@@ -87,6 +89,7 @@
</template>
<script>
import { pageSizeOptions } from "@/config/pageConfig.js";
const columns = [
{
title: "序号",
......@@ -124,7 +127,7 @@ export default {
return {
columns,
loading: false,
pageSizeOptions: ["10", "30", "50", "100"],
pageSizeOptions,
tableData: [],
siteId: "",
matterList: [],
......@@ -270,13 +273,7 @@ export default {
.header {
margin-bottom: 20px;
}
.edit {
color: #03d76f;
margin: 0 15px;
}
.delete {
color: #fa6464;
}
.ant-pagination {
margin: 10px 0;
}
......
......@@ -9,7 +9,7 @@
>
<template slot="footer">
<a-button @click="handleInit">重置</a-button>
<a-button @click="handleOk" type="primary">保存</a-button>
<a-button @click="handleOk" type="primary">确定</a-button>
</template>
<a-form-model
:label-col="{ span: 4 }"
......
......@@ -8,7 +8,7 @@
>
<template slot="footer">
<a-button @click="handleInit">重置</a-button>
<a-button @click="handleOk" type="primary">保存</a-button>
<a-button @click="handleOk" type="primary">确定</a-button>
</template>
<a-form-model
:model="form"
......
......@@ -87,13 +87,15 @@
<!-- 操作 -->
<template slot="action" slot-scope="text">
<a-space size="middle">
<a
class="primary"
<span
class="primary pointer"
:disabled="text.used ? true : false"
@click="handleUse(text.id)"
>使用</a
>使用</span
>
<span class="primary pointer" @click="handlePreview(text.id)"
>预览</span
>
<a class="primary" @click="handlePreview(text.id)">预览</a>
</a-space>
</template>
</a-table>
......@@ -117,6 +119,7 @@ import {
previewVersion,
} from "@/services/market";
import CheckSite from "../modal/CheckSite.vue";
import { pageSizeOptions } from "@/config/pageConfig.js";
import { filterItems } from "@/utils";
import { mapGetters } from "vuex";
export default {
......@@ -178,7 +181,7 @@ export default {
size: 10,
total: 0,
loading: false,
pageSizeOptions: ["10", "30", "50", "100"],
pageSizeOptions,
form: {},
tableData: [],
siteVisible: false,
......
......@@ -2,7 +2,7 @@
<div class="black-app">
<div class="left">
<div class="header">
<h3 class="titel">设备应用黑名单</h3>
<div class="titel">设备应用黑名单</div>
<div class="control">
<a-button type="danger" @click="handleDelAll"> 批量移除 </a-button>
<div class="business-control">
......@@ -66,8 +66,11 @@
</span>
</template>
<template slot="action" slot-scope="text">
<a href="javascript:;" class="delete" @click="handleDel(text.id)"
>移除</a
<span
href="javascript:;"
class="delete pointer"
@click="handleDel(text.id)"
>移除</span
>
</template>
</a-table>
......@@ -76,7 +79,7 @@
<!-- 右 -->
<div class="right">
<div class="header">
<h3 class="titel">站点设备</h3>
<div class="titel">站点设备</div>
<div class="control">
<div>
<!-- <a-button type="primary" @click="handleAddAll"> 批量加入 </a-button> -->
......@@ -149,7 +152,9 @@
<template slot="action" slot-scope="text">
<a-space size="middle">
<a class="jion" @click="handleIn(text)">加入黑名单</a>
<span class="primary pointer" @click="handleIn(text)"
>加入黑名单</span
>
</a-space>
</template>
</a-table>
......@@ -172,6 +177,7 @@ import {
} from "@/services/market";
import local from "@/utils/local";
import DevToBlack from "../modal/DevToBlack.vue";
import { pageSizeOptions } from "@/config/pageConfig.js";
const devType = [
"排队机",
"窗口屏",
......@@ -279,7 +285,7 @@ export default {
rightTotal: 0,
leftSize: 10,
rightSize: 10,
pageSizeOptions: ["10", "30", "50", "100"],
pageSizeOptions,
siteId: local.getLocal("siteId"), // 站点id
deviceList: [], // 站点设备列表
blackApp: [], // 应用黑名单列表
......@@ -459,6 +465,7 @@ export default {
.header {
height: 100px;
.titel {
font-size: 18px;
margin-bottom: 15px;
}
}
......@@ -475,9 +482,4 @@ export default {
justify-content: space-between;
}
}
.add-btn {
background-color: #04cb8f;
color: #fff;
}
</style>
\ No newline at end of file
......@@ -84,8 +84,8 @@
<!-- 操作 -->
<template slot="action" slot-scope="text">
<a-space size="middle">
<a class="edit" @click="handleEdit(text)">编辑</a>
<a class="delete" @click="handleDel(text.id)">删除</a>
<span class="primary pointer" @click="handleEdit(text)">编辑</span>
<span class="delete pointer" @click="handleDel(text.id)">删除</span>
</a-space>
</template>
</a-table>
......@@ -107,6 +107,7 @@
<script>
import AddData from "../modal/AddData.vue";
import { pageSizeOptions } from "@/config/pageConfig.js";
import {
getDatasetList,
deleteDataset,
......@@ -137,7 +138,7 @@ export default {
current: 1,
size: 10,
total: 0,
pageSizeOptions: ["10", "30", "50", "100"],
pageSizeOptions,
searchVal: "",
tableData: [],
AddVisible: false,
......
......@@ -43,8 +43,8 @@
<!-- 操作 -->
<template slot="action" slot-scope="text">
<a-space size="middle">
<a class="edit" @click="handleEdit(text)">编辑</a>
<a class="delete" @click="handleDel(text.id)">删除</a>
<span class="primary pointer" @click="handleEdit(text)">编辑</span>
<span class="delete pointer" @click="handleDel(text.id)">删除</span>
</a-space>
</template>
</a-table>
......@@ -62,7 +62,7 @@
<script>
import AddField from "../modal/AddField.vue";
import { getTempleteList, deleteTemplete } from "@/services/market";
import { pageSizeOptions } from "@/config/pageConfig.js";
export default {
// props: {
// // 应用信息
......@@ -126,7 +126,7 @@ export default {
current: 1,
size: 10,
total: 0,
pageSizeOptions: ["10", "30", "50", "100"],
pageSizeOptions,
searchVal: "",
tableData: [],
fieldVisible: false,
......
......@@ -83,13 +83,15 @@
<!-- 操作 -->
<template slot="action" slot-scope="text">
<a-space size="middle">
<a class="edit" @click="handleEdit(text)">编辑</a>
<a class="primary" @click="handleCheck(text.id)">查看</a>
<a
class="delete"
<span class="primary pointer" @click="handleEdit(text)">编辑</span>
<span class="primary pointer" @click="handleCheck(text.id)"
>查看</span
>
<span
class="delete pointer"
:class="{ unDelete: text.distribute }"
@click="handleDel(text.distribute, text.id)"
>删除</a
>删除</span
>
</a-space>
</template>
......@@ -115,6 +117,7 @@
<script>
import YSwitch from "../../../../components/yswitch/YSwitch.vue";
import { pageSizeOptions } from "@/config/pageConfig.js";
import AddApp from "../modal/AddApp.vue";
import CheckSite from "../modal/CheckSite.vue";
import { getAppList, deleteApp, saveApp } from "@/services/market";
......@@ -189,7 +192,7 @@ export default {
current: 1,
size: 10,
total: 0,
pageSizeOptions: ["10", "30", "50", "100"],
pageSizeOptions,
selectedRowKeys: [], // 表格勾选数据
AddVisible: false,
title: "新增应用",
......
......@@ -83,13 +83,15 @@
<!-- 操作 -->
<template slot="action" slot-scope="text">
<a-space size="middle">
<a class="edit" @click="handleEdit(text)">编辑</a>
<a class="primary" @click="handleCheck(text.id)">查看</a>
<a
class="delete"
<span class="primary pointer" @click="handleEdit(text)">编辑</span>
<span class="primary pointer" @click="handleCheck(text.id)"
>查看</span
>
<span
class="delete pointer"
:class="{ unDelete: text.distribute }"
@click="handleDel(text.distribute, text.id)"
>删除</a
>删除</span
>
</a-space>
</template>
......@@ -121,6 +123,7 @@ import { getAppList, deleteApp, saveApp } from "@/services/market";
import local from "@/utils/local";
import { mapMutations } from "vuex";
import { filterItems } from "@/utils";
import { pageSizeOptions } from "@/config/pageConfig.js";
const columns = [
{
title: "序号",
......@@ -189,7 +192,7 @@ export default {
current: 1,
size: 10,
total: 0,
pageSizeOptions: ["10", "30", "50", "100"],
pageSizeOptions,
selectedRowKeys: [], // 表格勾选数据
AddVisible: false,
title: "新增应用",
......
......@@ -163,7 +163,7 @@
>
<a-space size="middle">
<a-button @click="onClose"> 取消 </a-button>
<a-button type="primary" @click="onSubmit"> 保存 </a-button>
<a-button type="primary" @click="onSubmit"> 确定 </a-button>
</a-space>
</div>
<!-- 预览 -->
......
......@@ -2,11 +2,15 @@
<div class="basicset-tab1">
<div class="left">
<div class="header">
<h3 class="titel">站点业务列表</h3>
<div class="titel">站点业务列表</div>
<div class="control">
<div>
<a-button type="danger" @click="handleDelAll"> 批量移除 </a-button>
<a-button class="add-btn" @click="showModal"> 新增业务 </a-button>
<a-space size="middle">
<a-button type="primary" @click="showModal"> 新增业务 </a-button>
<a-button type="danger" @click="handleDelAll">
批量移除
</a-button>
</a-space>
</div>
<div class="business-control">
<a-input-search
......@@ -60,15 +64,20 @@
{{ text.businessName }}
</template>
<template slot="action" slot-scope="text">
<a href="javascript:;" class="edit" @click="handleEdit(text)"
>编辑</a
>
<a
href="javascript:;"
class="delete"
@click="handleDel(text.id, text)"
>删除</a
>
<a-space size="middle">
<span
href="javascript:;"
class="primary pointer"
@click="handleEdit(text)"
>编辑</span
>
<span
href="javascript:;"
class="delete pointer"
@click="handleDel(text.id, text)"
>删除</span
>
</a-space>
</template>
</a-table>
</div>
......@@ -76,7 +85,7 @@
<!-- 右 -->
<div class="right">
<div class="header">
<h3 class="titel">一体化业务列表</h3>
<div class="titel">一体化业务列表</div>
<div class="control">
<div>
<a-button type="primary" @click="handleAddAll"> 批量加入 </a-button>
......@@ -132,13 +141,17 @@
{{ text.name }}
</template>
<template slot="action" slot-scope="text">
<a class="jion" @click="handleIn(text.id)">加入</a>
<a
href="javascript:;"
class="delete"
@click="handleDelRight(+text.id)"
>删除</a
>
<a-space size="middle">
<span class="primary pointer" @click="handleIn(text.id)"
>加入</span
>
<span
href="javascript:;"
class="delete pointer"
@click="handleDelRight(+text.id)"
>删除</span
>
</a-space>
</template>
</a-table>
</div>
......@@ -156,6 +169,7 @@
<script>
import addprofession from "../group/addprofession.vue";
import local from "@/utils/local";
import { pageSizeOptions } from "@/config/pageConfig.js";
import {
getBusinessList,
delSiteBusiness,
......@@ -234,7 +248,7 @@ export default {
rightTotal: 0,
leftSize: 10,
rightSize: 10,
pageSizeOptions: ["10", "30", "50", "100"],
pageSizeOptions,
serchData: "",
siteId: local.getLocal("siteId"), // 站点id
businessIds: "", // 业务id
......@@ -542,24 +556,12 @@ export default {
.header {
height: 100px;
.titel {
font-size: 18px;
margin-bottom: 15px;
}
.ant-btn {
margin-right: 19px;
}
}
}
.edit {
color: #03d76f;
margin-right: 10px;
}
.delete {
color: #f94545;
}
.jion {
color: #67b6ff;
margin-right: 10px;
}
// .ant-pagination {
// margin-top: 20px;
// }
......@@ -572,10 +574,7 @@ export default {
// .table-content {
// height: 500px;
// }
.add-btn {
background-color: #04cb8f;
color: #fff;
}
// .table-name {
// width: 92%;
// text-align: center;
......
......@@ -2,7 +2,7 @@
<div class="basicset-tab2">
<div class="left">
<div class="header">
<h3 class="titel">站点事项列表</h3>
<div class="titel">站点事项列表</div>
<div class="header-bottom">
<div class="left-btn">
<a-button type="danger" @click="handleDelAll"> 批量移除 </a-button>
......@@ -87,18 +87,18 @@
<!-- 操作 -->
<template slot="action" slot-scope="text">
<a-space>
<a
<span
href="javascript:;"
v-if="text.source == 1"
class="edit"
class="primary pointer"
@click="handleSiteEdit(text)"
>编辑</a
>编辑</span
>
<a
<span
href="javascript:;"
class="delete"
class="delete pointer"
@click="handleDel(text.id, text)"
>移除</a
>移除</span
>
</a-space>
</template>
......@@ -108,11 +108,15 @@
<!-- 右 -->
<div class="right">
<div class="header">
<h3 class="titel">基础事项列表</h3>
<div class="titel">基础事项列表</div>
<div class="control">
<div>
<a-button type="primary" @click="handleAddAll"> 批量加入 </a-button>
<a-button class="add-btn" @click="addMatter"> 新增事项 </a-button>
<a-space size="middle">
<a-button type="primary" @click="handleAddAll">
批量加入
</a-button>
<a-button type="primary" @click="addMatter"> 新增事项 </a-button>
</a-space>
</div>
<div>
<a-space>
......@@ -185,22 +189,24 @@
</template>
<!-- 操作 -->
<template slot="action" slot-scope="text">
<a href="javascript:;" class="jion" @click="handleIn(text.id)"
>加入</a
>
<a
href="javascript:;"
v-if="text.source == 1"
class="edit"
@click="handleEdit(text.id)"
>编辑</a
>
<a
href="javascript:;"
class="delete"
@click="handleDelRight(text.id)"
>删除</a
>
<a-space size="middle">
<a href="javascript:;" class="primary" @click="handleIn(text.id)"
>加入</a
>
<span
href="javascript:;"
v-if="text.source == 1"
class="primary pointer"
@click="handleEdit(text.id)"
>编辑</span
>
<span
href="javascript:;"
class="delete pointer"
@click="handleDelRight(text.id)"
>删除</span
>
</a-space>
</template>
</a-table>
</div>
......@@ -224,6 +230,7 @@ import {
} from "@/services/matter";
import { getBusinessMatterList, delBusinessMatter } from "@/services/business";
import EditSiteMatter from "../group/EditSiteMatter.vue";
import { pageSizeOptions } from "@/config/pageConfig.js";
// import { getDeptList } from "@/services/dept";
import local from "@/utils/local";
import { mapMutations } from "vuex";
......@@ -286,7 +293,7 @@ const rightColumns = [
},
{
title: "操作",
width: "130px",
width: "140px",
scopedSlots: {
customRender: "action",
},
......@@ -317,7 +324,7 @@ export default {
rightTotal: 0,
leftSize: 10,
rightSize: 10,
pageSizeOptions: ["10", "30", "50", "100"],
pageSizeOptions,
siteId: local.getLocal("siteId"), // 站点id
matterIds: "", // 事项id
deptList: [], // 站点部门
......@@ -602,11 +609,9 @@ export default {
.header {
height: 100px;
.titel {
font-size: 18px;
margin-bottom: 15px;
}
.ant-btn {
margin-right: 19px;
}
}
.matter-name {
margin-bottom: 10px;
......@@ -625,17 +630,6 @@ export default {
}
}
}
.edit {
color: #03d76f;
margin-right: 10px;
}
.delete {
color: #f94545;
}
.jion {
color: #67b6ff;
margin-right: 10px;
}
.control {
display: flex;
......@@ -647,10 +641,10 @@ export default {
margin-left: 10px;
}
}
.add-btn {
background-color: #04cb8f;
color: #fff;
}
// .add-btn {
// background-color: #04cb8f;
// color: #fff;
// }
// .table-content {
// height: 500px;
// }
......
......@@ -2,7 +2,7 @@
<div class="basicset-tab3">
<div class="left">
<div class="header">
<h3 class="titel">站点业务列表</h3>
<div class="titel">站点业务列表</div>
<div class="header-bottom">
<div class="left-btn">
<a-button type="danger" @click="handleDelAll"> 批量解除 </a-button>
......@@ -49,11 +49,11 @@
<template slot="action" slot-scope="text">
<a-tooltip>
<template slot="title"> 解除查看 </template>
<a
<soan
href="javascript:;"
class="delete"
class="delete pointer"
@click="handleisUnbound(text)"
>解除</a
>解除</soan
>
</a-tooltip>
</template>
......@@ -63,7 +63,7 @@
<!-- 右 -->
<div class="right">
<div class="header">
<h3 class="titel">站点事项列表</h3>
<div class="titel">站点事项列表</div>
<div class="control">
<div>
<a-button type="primary" @click="handleAddAll"> 批量关联 </a-button>
......@@ -127,7 +127,12 @@
</template>
<!-- 操作 -->
<template slot="action" slot-scope="text">
<a href="javascript:;" class="jion" @click="handleIn(text)">关联</a>
<span
href="javascript:;"
class="primary pointer"
@click="handleIn(text)"
>关联</span
>
</template>
</a-table>
</div>
......@@ -251,6 +256,7 @@
<script>
import { getSiteMatterList } from "@/services/matter";
import { pageSizeOptions } from "@/config/pageConfig.js";
import {
getSiteBusinessList,
// addBusinessMatter,
......@@ -338,7 +344,7 @@ export default {
rightTotal: 0,
leftSize: 10,
rightSize: 10,
pageSizeOptions: ["10", "30", "50", "100"],
pageSizeOptions,
siteId: local.getLocal("siteId"), // 站点id
matterIds: "", // 业务id
// deptList: [], // 站点部门
......@@ -682,11 +688,9 @@ export default {
.header {
height: 100px;
.titel {
font-size: 18px;
margin-bottom: 15px;
}
.ant-btn {
margin-right: 19px;
}
}
}
.matter-name {
......@@ -705,17 +709,7 @@ export default {
}
}
}
.edit {
color: #03d76f;
margin-right: 10px;
}
.delete {
color: #f94545;
}
.jion {
color: #67b6ff;
margin-right: 10px;
}
.ant-pagination {
margin-top: 20px;
}
......@@ -729,10 +723,7 @@ export default {
margin-left: 10px;
}
}
.add-btn {
background-color: #04cb8f;
color: #fff;
}
// .table-content {
// height: 500px;
// }
......
rrent" <template>
<template>
<div class="basicset-tab4">
<div class="left">
<div class="header">
<h3 class="titel">站点事项列表</h3>
<div class="titel">站点事项列表</div>
<div class="header-bottom flex aic jcb">
<div class="left-btn"></div>
<div>
......@@ -57,6 +57,7 @@ rrent" <template>
current: current,
total: total,
pageSize: size,
size: 'middle',
showSizeChanger: true,
showQuickJumper: true,
pageSizeOptions: pageSizeOptions,
......@@ -118,6 +119,7 @@ rrent" <template>
<script>
import { getSiteMatterList, addSitematter } from "@/services/matter";
import { pageSizeOptions } from "@/config/pageConfig.js";
import { getDeptList } from "@/services/dept";
import local from "@/utils/local";
const columns = [
......@@ -169,7 +171,7 @@ export default {
current: 1,
total: 0,
size: 10,
pageSizeOptions: ["10", "30", "50", "100"],
pageSizeOptions,
siteId: local.getLocal("siteId"), // 站点id
deptList: [], // 站点部门
searchVal: "", // 站点事项搜索
......@@ -283,6 +285,10 @@ export default {
padding: 0px 20px;
.header {
margin-bottom: 15px;
.titel {
font-size: 18px;
margin-bottom: 15px;
}
}
.workguide_btn {
cursor: pointer;
......
......@@ -7,7 +7,7 @@
:maskClosable="false"
>
<a-button slot="footer" @click="handleReset">重置</a-button>
<a-button slot="footer" type="primary" @click="handleOk">保存</a-button>
<a-button slot="footer" type="primary" @click="handleOk">确定</a-button>
<a-form-model
:model="form"
ref="formData"
......
......@@ -90,6 +90,7 @@
<script>
import { getStatementList, delStatement } from "@/services/basicsetFun";
import AddStatement from "../modal/AddStatement.vue";
import { pageSizeOptions } from "@/config/pageConfig.js";
const columns = [
{
title: "序号",
......@@ -140,7 +141,7 @@ export default {
total: 0,
size: 10,
current: 1,
pageSizeOptions: ["10", "30", "50", "100"],
pageSizeOptions,
selectedRowKeys: [],
tableData: [],
addStatementVisile: false,
......
<template>
<div class="deploy">
<a-card title="部署板块管理" :bordered="false">
<div class="control">
<div>
<a-button type="primary" style="margin-right: 10px" @click="handleAdd"
>新增模块</a-button
>
<a-button type="danger" @click="handleDelAll">批量删除模块</a-button>
</div>
<div class="search-box">
<a-input-search
placeholder="请输入模块名搜索"
enter-button="搜索"
v-model="searchValue"
allowClear
@search="onSearch"
@pressEnter="onSearch"
/>
<a-tabs activeKey="model">
<a-tab-pane key="model" tab="部署板块管理">
<div class="control">
<div>
<a-button
type="primary"
style="margin-right: 10px"
@click="handleAdd"
>新增模块</a-button
>
<a-button type="danger" @click="handleDelAll"
>批量删除模块</a-button
>
</div>
<div class="search-box">
<a-input-search
placeholder="请输入模块名搜索"
enter-button="搜索"
v-model="searchValue"
allowClear
@search="onSearch"
@pressEnter="onSearch"
/>
</div>
</div>
</div>
<!-- 表格 -->
<div class="table-content">
<a-table
:row-selection="{
selectedRowKeys: selectedRowKeys,
onChange: onSelectChange,
}"
:loading="loading"
bordered
:scroll="{ y: 560 }"
:columns="columns"
:pagination="{
showTotal: (total) => `共 ${total} 条`,
current: current,
total: total,
pageSize: size,
showSizeChanger: true,
showQuickJumper: true,
pageSizeOptions: pageSizeOptions,
onChange: handleChange,
onShowSizeChange: showSizeChange,
}"
:data-source="modelList"
:rowKey="(record) => record.id"
>
<!-- 序号 -->
<span slot="num" slot-scope="text, record, index">{{
(current - 1) * size + index + 1
}}</span>
<!-- 模块地址 -->
<template slot="modelUrl" slot-scope="text">
{{ text.modelUrl ? text.modelUrl : "--" }}
</template>
<!-- 模块图标 -->
<template slot="modelIcon" slot-scope="text">
<div v-if="text.modelIcon">
<!-- <div class="svg-box" v-if="isSvg(text.modelIcon)">
<!-- 表格 -->
<div class="table-content">
<a-table
:row-selection="{
selectedRowKeys: selectedRowKeys,
onChange: onSelectChange,
}"
:loading="loading"
bordered
:columns="columns"
:scroll="{ y: 580 }"
:pagination="{
showTotal: (total) => `共 ${total} 条`,
current: current,
total: total,
pageSize: size,
showSizeChanger: true,
showQuickJumper: true,
pageSizeOptions: pageSizeOptions,
onChange: handleChange,
onShowSizeChange: showSizeChange,
}"
:data-source="modelList"
:rowKey="(record) => record.id"
>
<!-- 序号 -->
<span slot="num" slot-scope="text, record, index">{{
(current - 1) * size + index + 1
}}</span>
<!-- 模块地址 -->
<template slot="modelUrl" slot-scope="text">
{{ text.modelUrl ? text.modelUrl : "--" }}
</template>
<!-- 模块图标 -->
<template slot="modelIcon" slot-scope="text">
<div v-if="text.modelIcon">
<!-- <div class="svg-box" v-if="isSvg(text.modelIcon)">
<img width="30" height="30" :src="api2 + text.modelIcon" />
</div> -->
<div class="svg-box">
<img width="30" height="30" :src="api2 + text.modelIcon" />
<div class="svg-box">
<img width="30" height="30" :src="api2 + text.modelIcon" />
</div>
</div>
</div>
<span v-else>--</span>
</template>
<!-- 排序 -->
<template slot="sort" slot-scope="text">
{{ text.sort ? text.sort : "--" }}
</template>
<!-- 创建时间 -->
<template slot="createTime" slot-scope="text">
{{ text.createTime | dateFormat }}
</template>
<!-- 备注 -->
<template slot="remark" slot-scope="text">
{{ text.remark ? text.remark : "--" }}
</template>
<!-- 操作 -->
<template slot="action" slot-scope="text">
<a-space>
<a
href="javascript:;"
class="primary"
@click="statementManage(text)"
>配置报表</a
>
<a href="javascript:;" class="edit" @click="handleEdit(text)"
>编辑</a
>
<a href="javascript:;" class="delete" @click="handleDel(text.id)"
>删除</a
>
</a-space>
</template>
</a-table>
</div>
</a-card>
<span v-else>--</span>
</template>
<!-- 排序 -->
<template slot="sort" slot-scope="text">
{{ text.sort ? text.sort : "--" }}
</template>
<!-- 创建时间 -->
<template slot="createTime" slot-scope="text">
{{ text.createTime | dateFormat }}
</template>
<!-- 备注 -->
<template slot="remark" slot-scope="text">
{{ text.remark ? text.remark : "--" }}
</template>
<!-- 操作 -->
<template slot="action" slot-scope="text">
<a-space>
<span
href="javascript:;"
class="primary pointer"
@click="statementManage(text)"
>配置报表</span
>
<span
href="javascript:;"
class="primary pointer"
@click="handleEdit(text)"
>编辑</span
>
<span
href="javascript:;"
class="delete pointer"
@click="handleDel(text.id)"
>删除</span
>
</a-space>
</template>
</a-table>
</div>
</a-tab-pane>
</a-tabs>
<!-- 新增模块 -->
<a-modal
v-model="visible"
......@@ -233,6 +246,7 @@
import { modelList, addMode, delMode } from "@/services/basicsetFun";
import PrevieModal from "@/components/PrevieModal.vue";
import StatementManage from "./components/StatementManage.vue";
import { pageSizeOptions } from "@/config/pageConfig.js";
const columns = [
{
title: "序号",
......@@ -288,6 +302,7 @@ export default {
},
data() {
return {
pageSizeOptions,
api: process.env.VUE_APP_API_BASE_URL + "/",
api2: process.env.VUE_APP_API_IMG_URL,
accept: "image/jpeg,image/png,image/svg+xml", // 上传类型
......@@ -310,7 +325,6 @@ export default {
current: 1,
size: 10,
total: 0,
pageSizeOptions: ["10", "30", "50", "100"],
searchValue: "", // 搜索
fileList: [], // 上传列表
rules: {
......@@ -520,6 +534,7 @@ export default {
width: 100%;
height: 100%;
background-color: #fff;
.control {
display: flex;
justify-content: space-between;
......@@ -532,20 +547,20 @@ export default {
// .table-content {
// height: 620px;
// }
.edit {
color: #03d76f;
}
.delete {
color: #f94545;
}
}
.ant-tabs {
width: 100%;
background-color: #fff;
min-height: 100%;
}
/deep/.ant-tabs-content {
padding: 0px 15px 15px 15px;
}
.handle-upload {
margin-bottom: 30px !important;
align-items: flex-start !important;
}
/deep/.ant-card {
width: 100% !important;
}
.svg-box,
/deep/.ant-upload-list-item-thumbnail {
background-color: #54788c;
......
......@@ -71,12 +71,21 @@
<y-switch v-model="text.isShow" :disabled="!text.isEdit"></y-switch>
</template>
<template slot="action" slot-scope="text">
<a href="javascript:;" class="edit" @click="handleEdit(text)">{{
text.isEdit ? "保存" : "编辑"
}}</a>
<a href="javascript:;" @click="handleDel(+text.id)" class="delete"
>删除</a
>
<a-space size="middle">
<span
href="javascript:;"
class="pointer"
:class="text.isEdit ? 'edit' : 'primary'"
@click="handleEdit(text)"
>{{ text.isEdit ? "保存" : "编辑" }}</span
>
<span
href="javascript:;"
@click="handleDel(+text.id)"
class="delete pointer"
>删除</span
>
</a-space>
</template>
</a-table>
</div>
......@@ -133,9 +142,14 @@
:pagination="{
showTotal: (total) => `共 ${total} 条`,
current: page,
pageSize: matterSize,
total: matterTotal,
size: 'small',
onChange: changeMatter,
showSizeChanger: true,
showQuickJumper: true,
pageSizeOptions: pageSizeOptions,
onShowSizeChange: sizeChange,
}"
:columns="matterColumns"
:data-source="siteMatterData"
......@@ -163,6 +177,7 @@
<script>
import { getSiteMatterList } from "@/services/matter";
import { pageSizeOptions } from "@/config/pageConfig.js";
import {
saveWindowbatch,
getWindowmatterList,
......@@ -247,11 +262,12 @@ export default {
Current: 1,
size: 10,
total: 0,
pageSizeOptions: ["10", "30", "50", "100"],
pageSizeOptions,
tableData: [],
siteMatterData: [], // 站点事项列表
matterTotal: 0,
page: 1,
matterSize: 10,
matterLoading: false,
matterKeys: [],
matterRows: [],
......@@ -296,7 +312,7 @@ export default {
this.matterLoading = true;
let res = await getSiteMatterList({
page: this.page,
size: 10,
size: this.matterSize,
siteId: this.windowInfo.siteId,
matterName: `%${this.matterNameSearch}%`,
source: this.source,
......@@ -305,6 +321,7 @@ export default {
let { data, total } = res.data.data;
this.siteMatterData = data;
this.matterTotal = total;
console.log(data);
this.matterLoading = false;
},
// 站点事项翻页
......@@ -312,6 +329,13 @@ export default {
this.page = cur;
this.getSiteMatterData();
},
// 站点事项改变每页显示数量
sizeChange(current, size) {
console.log(current, size);
this.page = current;
this.matterSize = size;
this.getSiteMatterData();
},
// 站点事项搜索
onSearchMatter() {
this.page = 1;
......@@ -497,13 +521,6 @@ export default {
margin-top: 10px;
}
.edit {
color: #03d76f;
margin-right: 10px;
}
.delete {
color: #fa6d6e;
}
.ant-form-item {
display: flex;
align-items: center !important;
......
......@@ -75,11 +75,9 @@
<!-- 窗口管理 -->
<div class="ff window-box">
<div class="department_right_add">
<div>窗口管理</div>
<div class="department_manage">窗口管理</div>
<div class="flex aic jcb">
<a-button type="primary" @click="addModal" class="department_btnadd"
>新增窗口</a-button
>
<a-button type="primary" @click="addModal">新增窗口</a-button>
<a-input-search
placeholder="请输入窗口编号搜索"
v-model="windowSearch"
......@@ -96,6 +94,7 @@
<a-table
:scroll="{ y: 580 }"
:loading="loading"
bordered
:columns="columns"
:data-source="windowData"
:pagination="{
......@@ -141,11 +140,19 @@
</template>
<!-- 操作 -->
<div slot="action" slot-scope="text">
<div class="flex flexwrap">
<a class="yewu" type="primary" @click="workModal(text)">业务</a>
<a class="shixiang" @click="addWindowMatter(text)">事项</a>
<a class="edit" type="primary" @click="editModal(text)">编辑</a>
<a class="delete" @click="delWindow(text.id)">删除</a>
<div class="flex jcb flexwrap">
<span class="primary pointer" @click="workModal(text)"
>业务</span
>
<span class="primary pointer" @click="addWindowMatter(text)"
>事项</span
>
<span class="primary pointer" @click="editModal(text)"
>编辑</span
>
<span class="delete pointer" @click="delWindow(text.id)"
>删除</span
>
</div>
</div>
</a-table>
......@@ -178,6 +185,7 @@
<script>
import { Empty } from "ant-design-vue";
import { pageSizeOptions } from "@/config/pageConfig.js";
import adddepartment from "./components/adddepartment.vue";
import addwindow from "./components/addwindow.vue";
import addWindowBusiness from "./components/addWindowBusiness.vue";
......@@ -285,7 +293,7 @@ export default {
page: 1,
size: 10,
total: 0,
pageSizeOptions: ["10", "30", "50", "100"],
pageSizeOptions,
// businessPage: 1, // 站点业务翻页
// businessTotal: 0, // 站点业务总数
rules: {
......@@ -565,7 +573,8 @@ export default {
margin-right: 30px;
}
.department_manage {
margin-bottom: 10px;
font-size: 18px;
margin-bottom: 15px;
}
.department_add {
background-color: #0595fd;
......@@ -641,20 +650,12 @@ export default {
margin-left: 10px;
}
.department_right_tab {
margin-top: 20px;
margin-top: 10px;
}
.department_right_table {
font-size: 5px;
background-color: #fff;
}
.edit {
color: #03d76f;
margin-right: 5px;
}
.delete {
color: red;
cursor: pointer;
}
.yewu {
color: #0595fd;
margin-right: 5px;
......
......@@ -53,11 +53,17 @@
<!-- 操作 -->
<template slot="action" slot-scope="text">
<a-space size="middle">
<a href="javascript:;" class="edit" @click="handleEdit(text)"
>编辑</a
<span
href="javascript:;"
class="primary pointer"
@click="handleEdit(text)"
>编辑</span
>
<a href="javascript:;" class="delete" @click="handleDel(text.id)"
>删除</a
<span
href="javascript:;"
class="delete pointer"
@click="handleDel(text.id)"
>删除</span
>
</a-space>
</template>
......@@ -75,6 +81,7 @@
<script>
import { getHallList, delHall } from "@/services/hall";
import { pageSizeOptions } from "@/config/pageConfig.js";
import loacl from "@/utils/local";
import AddHall from "./modal/AddHall.vue";
export default {
......@@ -141,7 +148,7 @@ export default {
size: 10,
total: 0,
siteId: loacl.getLocal("siteId"),
pageSizeOptions: ["10", "30", "50", "100"],
pageSizeOptions,
searchValue: "", // 搜索
dataList: [],
};
......
......@@ -2,7 +2,7 @@
<div class="hall-window">
<div class="left">
<div class="header">
<h3 class="titel">大厅窗口</h3>
<div class="titel">大厅窗口</div>
<div class="control">
<a-button type="danger" @click="handleDelAll"> 批量移除 </a-button>
<div class="business-control">
......@@ -68,8 +68,11 @@
</span>
</template>
<template slot="action" slot-scope="text">
<a href="javascript:;" class="delete" @click="handleDel(text.id)"
>移除</a
<span
href="javascript:;"
class="delete pointer"
@click="handleDel(text.id)"
>移除</span
>
</template>
</a-table>
......@@ -78,7 +81,7 @@
<!-- 右 -->
<div class="right">
<div class="header">
<h3 class="titel">站点窗口</h3>
<div class="titel">站点窗口</div>
<div class="control">
<div>
<a-button type="primary" @click="handleAddAll"> 批量加入 </a-button>
......@@ -148,7 +151,9 @@
<template slot="action" slot-scope="text">
<a-space size="middle">
<a class="jion" @click="handleIn([text])">加入大厅</a>
<span class="primary pointer" @click="handleIn([text])"
>加入大厅</span
>
</a-space>
</template>
</a-table>
......@@ -166,6 +171,7 @@
<script>
import { getHallList, getWindowHallList, delWindowHall } from "@/services/hall";
import { pageSizeOptions } from "@/config/pageConfig.js";
import WindowToHall from "./modal/WindowToHall.vue";
import local from "@/utils/local";
import { getDeptList, getSubHalllist } from "@/services/dept";
......@@ -248,7 +254,7 @@ export default {
rightTotal: 0,
leftSize: 10,
rightSize: 10,
pageSizeOptions: ["10", "30", "50", "100"],
pageSizeOptions,
siteId: local.getLocal("siteId"), // 站点id
hallWindowData: [], // 大厅窗口数据
siteWindowData: [], // 站点窗口数据
......@@ -455,6 +461,7 @@ export default {
.header {
height: 100px;
.titel {
font-size: 18px;
margin-bottom: 15px;
}
}
......
......@@ -6,14 +6,28 @@
>新增节日</a-button
>
<div>
<a-input-search
style="width: 300px"
allowClear
placeholder="请输入年份查询"
enter-button="搜索"
v-model="year"
@search="onSearch"
/>
<a-space>
<a-select
showSearch
optionFilterProp="label"
v-model="year"
style="width: 180px"
placeholder="请选择年份查询"
>
<a-select-option value="" label="全部年份">
全部年份
</a-select-option>
<a-select-option
:label="v"
v-for="v in yearData"
:key="v"
:value="v"
>
{{ v }}
</a-select-option>
</a-select>
<a-button type="primary" @click="onSearch"> 搜索 </a-button>
</a-space>
</div>
</div>
<div class="table-content">
......@@ -63,8 +77,8 @@
</template>
<!-- 操作 -->
<template slot="action" slot-scope="text">
<a-space>
<a @click="handleEdit(text)" class="edit">编辑</a>
<a-space size="middle">
<a @click="handleEdit(text)" class="primary">编辑</a>
<a class="delet" @click="handleDel(text.id)">删除</a>
</a-space>
</template>
......@@ -80,6 +94,7 @@
<script>
import { getHolidayList, DelHoliday } from "@/services/festival";
import { pageSizeOptions } from "@/config/pageConfig.js";
import addfestivals from "./components/addfestivals.vue";
import local from "@/utils/local";
const columns = [
......@@ -147,13 +162,15 @@ export default {
page: 1,
size: 10,
total: 0,
pageSizeOptions: ["10", "30", "50", "100"],
pageSizeOptions,
year: "",
siteId: local.getLocal("siteId"),
yearData: [], // 年份搜索数据
};
},
created() {
this.getHolidayData();
this.getYearData();
},
methods: {
// 获取节假日列表
......@@ -229,6 +246,13 @@ export default {
},
});
},
// 获取年份选择数据
getYearData() {
let curYear = new Date().getFullYear();
for (let i = curYear; i >= 1990; i--) {
this.yearData.push(i);
}
},
},
};
</script>
......
......@@ -786,20 +786,7 @@ export default {
height: 100px;
object-fit: cover;
}
.color_title {
margin-left: 15px;
position: relative;
margin-bottom: 15px;
&::before {
content: "";
width: 4px;
height: 20px;
position: absolute;
top: 1px;
left: -16px;
background-color: rgba(5, 149, 253, 1);
}
}
.building,
.level {
position: relative;
......@@ -829,9 +816,14 @@ export default {
}
/deep/.model-id {
display: flex !important;
align-items: flex-start;
.ant-form-item-label {
line-height: 22px;
}
.ant-checkbox-group {
display: grid;
grid-template-columns: 160px 160px 160px 160px 160px 160px;
}
.ant-checkbox-wrapper {
margin-left: 0px;
margin-right: 6px;
......
......@@ -18,18 +18,20 @@
<div class="site_box">
<div class="site_message">站点信息</div>
<div class="btn-box">
<a-button
v-permission="[1]"
type="primary"
@click="handleSync(item.id)"
>同步数据</a-button
>
<a-button type="primary" @click="editSiteInfo(item)"
>编辑</a-button
>
<a-button type="danger" @click="deleteSite(item.id, index)"
>删除</a-button
>
<a-space size="middle">
<a-button
v-permission="[1]"
type="primary"
@click="handleSync(item.id)"
>同步数据</a-button
>
<a-button type="primary" @click="editSiteInfo(item)"
>编辑</a-button
>
<a-button type="danger" @click="deleteSite(item.id, index)"
>删除</a-button
>
</a-space>
</div>
</div>
......@@ -468,17 +470,17 @@ export default {
.site_message {
font-weight: 600;
}
.ant-btn-primary {
background-color: rgba(4, 202, 143, 1);
border-color: rgba(4, 202, 143, 1);
padding-left: 20px;
padding-right: 20px;
margin-right: 30px;
}
.ant-btn-danger {
padding-left: 20px;
padding-right: 20px;
}
// .ant-btn-primary {
// background-color: rgba(4, 202, 143, 1);
// border-color: rgba(4, 202, 143, 1);
// padding-left: 20px;
// padding-right: 20px;
// margin-right: 30px;
// }
// .ant-btn-danger {
// padding-left: 20px;
// padding-right: 20px;
// }
.btn-box {
margin-right: 20px;
}
......@@ -531,11 +533,13 @@ export default {
display: flex;
flex-wrap: wrap;
.item {
width: 120px;
background-color: rgba(30, 159, 255, 0.2);
margin-right: 10px;
margin-bottom: 10px;
padding: 6px 16px;
padding: 6px;
border-radius: 5px;
text-align: center;
}
}
}
......@@ -547,20 +551,6 @@ export default {
}
}
}
.color_title {
margin-left: 15px;
position: relative;
margin-bottom: 15px;
&::before {
content: "";
width: 4px;
height: 20px;
position: absolute;
top: 1px;
left: -16px;
background-color: rgba(5, 149, 253, 1);
}
}
.model_base {
/deep/.ant-col-3 {
......
......@@ -61,8 +61,11 @@
</template>
<!-- 操作 -->
<template slot="action" slot-scope="text">
<a-space>
<a href="javascript:;" class="edit" @click="handleEdit(text)"
<a-space size="middle">
<a
href="javascript:;"
class="primary"
@click="handleEdit(text)"
>编辑</a
>
<a
......@@ -173,8 +176,8 @@
</template>
<!-- 操作 -->
<template slot="action" slot-scope="text">
<a-space>
<a class="edit" @click="handleEditRight(text)">编辑</a>
<a-space size="middle">
<a class="primary" @click="handleEditRight(text)">编辑</a>
<a
href="javascript:;"
class="delete"
......@@ -231,6 +234,7 @@ import {
} from "@/services/surface";
import AddTemplate from "./modal/AddTemplate.vue";
import AddField from "./modal/AddField.vue";
import { pageSizeOptions } from "@/config/pageConfig.js";
const leftColumns = [
{
title: "序号",
......@@ -325,7 +329,7 @@ export default {
rightCurrent: 1,
rightSize: 10,
rightTotal: 0,
pageSizeOptions: ["10", "30", "50", "100"],
pageSizeOptions,
visibleTemplate: false,
visibleField: false,
titleTemplate: "",
......
......@@ -12,7 +12,7 @@
<!-- 头部 -->
<div class="header flex jcb">
<div class="header-title flex aic">
<img src="../../../../assets/img/logo.png" />
<!-- <img src="../../../../assets/img/logo.png" /> -->
<h1 :style="{ color: filterItem('2', 0) }">政务服务中心</h1>
</div>
<div class="flex header-right jcb">
......
......@@ -12,7 +12,7 @@
<!-- 头部 -->
<div class="header flex jcb">
<div class="header-title flex aic">
<img src="../../../../assets/img/logo.png" />
<!-- <img src="../../../../assets/img/logo.png" /> -->
<h1 :style="{ color: filterItem('2', 0) }">政务服务中心</h1>
</div>
<div
......
......@@ -12,7 +12,7 @@
<!-- 头部 -->
<div class="header flex aic jcb">
<div class="title flex aic">
<img src="../../../../assets/img/logo.png" />
<!-- <img src="../../../../assets/img/logo.png" /> -->
<h1 :style="{ color: filterItem('2', 0) }">政务服务中心</h1>
</div>
<div class="time" :style="{ color: filterItem('3', 0) }">
......@@ -157,6 +157,122 @@
</div>
</div>
</div>
<!-- 集中显示屏 竖版 -->
<div
class="vertical-skin"
:id="conponentsId"
v-if="imageResolution === '2'"
:style="{
background: filterItem('1', 0),
}"
>
<!-- 头部 -->
<div class="header flex aic jcc">
<h1 :style="{ color: filterItem('2', 0) }">政务服务中心</h1>
</div>
<!-- 主体 -->
<div class="main flex flexc aic jcb">
<div class="call-out flex flexc jcb">
<div class="call-out-item">
<div class="call-out-item-title">正在呼叫</div>
<div class="call-out-item-text call-out-item-text-1">
<span
class="call-out-item-code"
:style="{ color: filterItem('7', 0) }"
>A0004号</span
>
<span
class="call-out-item-code"
:style="{ color: filterItem('7', 0) }"
>03号窗口</span
>
</div>
</div>
<div class="call-out-item">
<div class="call-out-item-title">正在办理</div>
<div class="call-out-item-text call-out-item-text-2">
<span
class="call-out-item-code"
:style="{ color: filterItem('7', 0) }"
>A0004号</span
>
<span
class="call-out-item-code"
:style="{ color: filterItem('7', 0) }"
>03号窗口</span
>
</div>
</div>
<div class="call-out-item">
<div class="call-out-item-title">正在办理</div>
<div class="call-out-item-text call-out-item-text-2">
<span
class="call-out-item-code"
:style="{ color: filterItem('7', 0) }"
>A0004号</span
>
<span
class="call-out-item-code"
:style="{ color: filterItem('7', 0) }"
>03号窗口</span
>
</div>
</div>
<div class="call-out-item" v-for="v in 4" :key="v">
<div class="call-out-item-title">等待中</div>
<div class="call-out-item-text call-out-item-text-3">
<span
class="call-out-item-code"
:style="{ color: filterItem('7', 0) }"
>A0004号</span
>
<span
class="call-out-item-code"
:style="{ color: filterItem('7', 0) }"
>--</span
>
</div>
</div>
</div>
<!-- banner -->
<div class="banner border flex aic jcc">banner</div>
</div>
<!-- 尾部 -->
<div class="footer flex aic jca">
<div class="footer-item flex flexc jcc aic">
<p :style="{ color: filterItem('5', 0) }">今日取号量</p>
<p class="footer-count" :style="{ color: filterItem('6', 0) }">
200次
</p>
</div>
<div class="footer-item flex flexc jcc aic">
<p :style="{ color: filterItem('5', 0) }">累计取号量</p>
<p class="footer-count" :style="{ color: filterItem('6', 0) }">
200次
</p>
</div>
<div class="footer-item flex flexc jcc aic">
<p :style="{ color: filterItem('5', 0) }">当前等待人数</p>
<p class="footer-count" :style="{ color: filterItem('6', 0) }">
200人
</p>
</div>
<div class="footer-item flex flexc jcc aic">
<p :style="{ color: filterItem('5', 0) }">评价等待时间</p>
<p class="footer-count" :style="{ color: filterItem('6', 0) }">
12分钟
</p>
</div>
</div>
</div>
<!-- 空数据显示 -->
<div class="empty flex aic jcc" v-else>
<a-empty
......@@ -255,6 +371,9 @@ export default {
</script>
<style lang="less" scoped>
.border {
border: 1px dashed #1890ff;
}
.centralize-across {
width: 1000px;
height: 562.5px;
......@@ -347,4 +466,90 @@ export default {
}
}
}
.vertical-skin {
height: 1000px;
width: 562px;
padding: 0px 10px;
background-image: linear-gradient(#26c5ff, #2c66ff);
background-repeat: no-repeat !important;
background-position: center !important;
background-size: 100% 100% !important;
.header {
height: 80px;
h1 {
margin: 0px;
margin-left: 10px;
font-size: 30px;
font-weight: bold;
color: #fff;
}
}
.main {
width: 100%;
padding: 10px;
border-radius: 4px;
background-color: #fff;
.banner {
width: 100%;
height: 360px;
border-radius: 4px;
color: #1890ff;
}
.call-out {
width: 100%;
.call-out-item {
width: 100%;
height: 50px;
margin-bottom: 10px;
border-radius: 8px;
position: relative;
background-color: #ccc;
.call-out-item-title {
height: 100%;
width: 20%;
text-align: center;
line-height: 50px;
color: #fff;
font-size: 16px;
border-radius: inherit;
}
.call-out-item-text {
height: 100%;
width: 80%;
line-height: 50px;
font-size: 20px;
padding: 0px 20px;
border-radius: 12px 8px 8px 0px;
position: absolute;
top: 0px;
right: 0px;
color: #000;
font-weight: 600;
text-align: left;
span {
margin: 0px 10px;
}
}
.call-out-item-text-1 {
background-color: #fdf7f2;
}
.call-out-item-text-2 {
background-color: #f1f8fe;
}
.call-out-item-text-3 {
background-color: #f4f5f6;
}
}
}
}
.footer {
margin-top: 20px;
width: 100%;
color: #fff;
.footer-count {
font-size: 18px;
font-weight: 600;
}
}
}
</style>
\ No newline at end of file
......@@ -47,7 +47,9 @@ export default {
// 搜索
onSearch(val) {
this.getProductList({ productName: `%${val}%` });
this.$emit("searchProduct", val);
if (val) {
this.$emit("searchProduct", val);
}
},
changeMenu(index, row) {
......@@ -66,14 +68,28 @@ export default {
</script>
<style lang="less" scoped>
.left-menu {
height: 100%;
}
.search-box {
padding: 15px 15px 0px;
}
.menu {
height: 70vh;
margin-top: 15px;
overflow-y: auto;
padding: 0px 15px 15px 15px;
.active {
background-color: #1890ff;
color: #fff;
}
}
/deep/.ant-card-grid {
height: 90px;
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
}
</style>
\ No newline at end of file
......@@ -12,20 +12,22 @@
</a-select-option>
</a-select>
</div>
<div class="preview-list">
<div v-if="previewList.length > 0">
<div
class="preview-item"
@click="changePreview(i, v)"
:class="{ active: i === curSkinIndex }"
v-for="(v, i) in previewList"
:key="v.id"
>
<img :src="v.previewImagePath" />
<a-spin size="small" :spinning="spinning">
<div class="preview-list">
<div v-if="previewList.length > 0">
<div
class="preview-item"
@click="changePreview(i, v)"
:class="{ active: i === curSkinIndex }"
v-for="(v, i) in previewList"
:key="v.id"
>
<img :src="v.previewImagePath" />
</div>
</div>
<a-empty v-else :image="simpleImage" />
</div>
<a-empty v-else :image="simpleImage" />
</div>
</a-spin>
<div class="preview-btn">
<a-button type="primary" style="margin-bottom: 10px" @click="AddSurface"
>新增皮肤</a-button
......@@ -54,6 +56,7 @@ export default {
simpleImage: Empty.PRESENTED_IMAGE_SIMPLE,
categoryId: "", // 分类ID
previewList: [], // 皮肤列表
spinning: false,
};
},
computed: {
......@@ -93,6 +96,7 @@ export default {
// 获取皮肤列表
async getSkinList(search = {}) {
this.isActive = 0;
this.spinning = true;
let res = await getSkinList({
page: 1,
size: -1,
......@@ -100,16 +104,19 @@ export default {
categoryId: this.categoryId,
...search,
});
this.spinning = false;
let { imageResolution } = res.data.dict;
let { data } = res.data.data;
this.SET_imageResolution(imageResolution);
this.previewList = data;
if (data.length) {
this.SET_curSkin(this.previewList[0]);
this.SET_curSkinIndex(0);
} else {
this.SET_curSkin({});
this.SET_curSkinIndex(0);
if (res.data.code == 1) {
let { data } = res.data.data;
this.SET_imageResolution(imageResolution);
this.previewList = data;
if (data.length) {
this.SET_curSkin(this.previewList[0]);
this.SET_curSkinIndex(0);
} else {
this.SET_curSkin({});
this.SET_curSkinIndex(0);
}
}
},
// 选取预览图
......
......@@ -22,9 +22,7 @@
</div>
<div class="show-btn flex aic jcc">
<a-space size="middle">
<a-button class="edit-btn" @click="editSurface"
>修改皮肤参数</a-button
>
<a-button type="primary" @click="editSurface">修改皮肤参数</a-button>
<a-button type="danger" @click="handleClose(curSkin.id)"
>删除皮肤</a-button
>
......@@ -205,10 +203,6 @@ export default {
object-fit: contain;
}
}
.edit-btn {
background-color: #03be64;
color: #fff;
}
}
}
// 媒体查询
......
......@@ -174,7 +174,7 @@
type="primary"
:loading="loading"
@click="getPrintScreen"
>保存</a-button
>确定</a-button
>
</a-space>
</div>
......
......@@ -62,7 +62,7 @@
<a-icon type="edit" style="margin-right: 6px" />
<span>编辑</span>
</div>
<div>
<div v-else>
<a-icon type="undo" style="margin-right: 6px" />
<span>保存</span>
</div>
......@@ -98,7 +98,7 @@
</div>
</div>
<div style="text-align: center" v-else>
<a-button class="add-btn" @click="handleAdd">
<a-button type="primary" @click="handleAdd">
<a-icon type="plus" />
新增分类
</a-button>
......@@ -361,7 +361,7 @@ export default {
text-align: center;
cursor: pointer;
line-height: 26px;
background-color: #1890ff;
background: linear-gradient(90deg, #5ab6ff, #2e9aff);
color: #fff;
border-radius: 0px 0px 0px 10px;
}
......
......@@ -12,7 +12,7 @@
<!-- 头部 -->
<div class="header flex aic jcb">
<div class="left flex aic">
<img class="mr20" src="../../../../assets/img/logo.png" />
<!-- <img class="mr20" src="../../../../assets/img/logo.png" /> -->
<div
class="title"
:style="{
......
......@@ -155,7 +155,7 @@ export default {
display: flex;
.menu-box {
width: 20%;
padding: 15px;
height: 100%;
}
.show-box {
width: 65%;
......
......@@ -16,7 +16,7 @@
</div>
<div class="right flex1 flex flexc aic">
<div class="header flex aic jcc">
<img src="../../../../assets/img/logo.png" />
<!-- <img src="../../../../assets/img/logo.png" /> -->
<div>
<h1 :style="{ color: filterItem('7', 0) }">政务服务中心</h1>
</div>
......
......@@ -12,7 +12,7 @@
<!-- 头部 -->
<div class="header flex aic jcb">
<div class="left flex aic">
<img class="mr20" src="../../../../assets/img/logo.png" />
<!-- <img class="mr20" src="../../../../assets/img/logo.png" /> -->
<div
class="title"
:style="{
......
......@@ -39,7 +39,6 @@
onChange: handleChange,
onShowSizeChange: showSizeChange,
}"
size="small"
:data-source="tableData"
:rowKey="(record) => record.id"
>
......@@ -63,11 +62,17 @@
<!-- 操作 -->
<template slot="action" slot-scope="text">
<a-space size="middle">
<a href="javascript:;" class="edit" @click="handleEdit(text)"
>编辑</a
<span
href="javascript:;"
class="primary pointer"
@click="handleEdit(text)"
>编辑</span
>
<a href="javascript:;" class="delete" @click="handleDel(text.id)"
>删除</a
<span
href="javascript:;"
class="delete pointer"
@click="handleDel(text.id)"
>删除</span
>
</a-space>
</template>
......@@ -86,6 +91,7 @@
<script>
import { getSystemParameterList, delSystemParameter } from "@/services/system";
import { pageSizeOptions } from "@/config/pageConfig.js";
import AddParameter from "./modal/AddParameter.vue";
export default {
components: {
......@@ -168,7 +174,7 @@ export default {
current: 1,
size: 10,
total: 0,
pageSizeOptions: ["10", "30", "50", "100"],
pageSizeOptions,
searchValue: "", // 搜索
tableData: [],
selectedRowKeys: [],
......
......@@ -7,7 +7,7 @@
:maskClosable="false"
>
<a-button slot="footer" @click="handleReset">重置</a-button>
<a-button slot="footer" type="primary" @click="handleOk">保存</a-button>
<a-button slot="footer" type="primary" @click="handleOk">确定</a-button>
<a-form-model
:model="form"
ref="form"
......
......@@ -19,7 +19,6 @@
bordered
:scroll="{ y: 590 }"
:columns="columns"
size="small"
:pagination="{
showTotal: (total) => `共 ${total} 条`,
current: current,
......@@ -49,6 +48,7 @@
<script>
import { getSystemLogsList } from "@/services/system";
import { pageSizeOptions } from "@/config/pageConfig.js";
const columns = [
{
title: "序号",
......@@ -93,7 +93,7 @@ export default {
current: 1,
size: 10,
total: 0,
pageSizeOptions: ["10", "30", "50", "100"],
pageSizeOptions,
searchValue: "", // 搜索
tableData: [],
};
......
......@@ -39,7 +39,6 @@
onChange: handleChange,
onShowSizeChange: showSizeChange,
}"
size="small"
:data-source="tableData"
:rowKey="(record) => record.id"
>
......@@ -64,11 +63,17 @@
<!-- 操作 -->
<template slot="action" slot-scope="text">
<a-space size="middle">
<a href="javascript:;" class="edit" @click="handleEdit(text)"
>编辑</a
<span
href="javascript:;"
class="primary pointer"
@click="handleEdit(text)"
>编辑</span
>
<a href="javascript:;" class="delete" @click="handleDel(text.id)"
>删除</a
<span
href="javascript:;"
class="delete pointer"
@click="handleDel(text.id)"
>删除</span
>
</a-space>
</template>
......@@ -87,6 +92,7 @@
<script>
import { getSystemTaskList, delSystemTask } from "@/services/system";
import { pageSizeOptions } from "@/config/pageConfig.js";
import AddTask from "./modal/AddTask.vue";
export default {
components: {
......@@ -154,7 +160,7 @@ export default {
current: 1,
size: 10,
total: 0,
pageSizeOptions: ["10", "30", "50", "100"],
pageSizeOptions,
searchValue: "", // 搜索
tableData: [],
selectedRowKeys: [],
......
......@@ -7,7 +7,7 @@
:maskClosable="false"
>
<a-button slot="footer" @click="handleReset">重置</a-button>
<a-button slot="footer" type="primary" @click="handleOk">保存</a-button>
<a-button slot="footer" type="primary" @click="handleOk">确定</a-button>
<a-form-model
:model="form"
ref="form"
......
......@@ -3,7 +3,7 @@
<div class="website">
<!-- 右边 -->
<div class="right ff">
<div class="person_message">工作人员管理</div>
<!-- <div class="person_message">工作人员管理</div> -->
<div class="person_chang">
<div class="person_gruop">选择部门:</div>
<div class="person_gruop1">
......@@ -199,6 +199,7 @@
onChange: handlePagination,
onShowSizeChange: showSizeChange,
}"
bordered
:scroll="{ y: 530 }"
:loading="loading"
:columns="columns"
......@@ -216,6 +217,7 @@
:src="api2 + text.photoPath"
class="pht"
/>
<span v-else>--</span>
</template>
<!-- 电话 -->
......@@ -248,11 +250,15 @@
<!-- 操作 -->
<span slot="action" slot-scope="text">
<a-space>
<a class="edit" type="primary" @click="editModal(text)">编辑</a>
<a class="edit-pwd" type="primary" @click="changePwd(text)"
>修改密码</a
<span class="primary pointer" @click="editModal(text)"
>编辑</span
>
<span class="primary pointer" @click="changePwd(text)"
>修改密码</span
>
<span class="delete pointer" @click="handleDel(text.id)"
>删除</span
>
<a class="delet" @click="handleDel(text.id)">删除</a>
</a-space>
</span>
</a-table>
......@@ -288,6 +294,7 @@ import EditPwd from "./components/EditPwd";
import EditPersonel from "./components/EditPersonel.vue";
import local from "@/utils/local";
import { Empty } from "ant-design-vue";
import { pageSizeOptions } from "@/config/pageConfig.js";
// import axios from "axios";
import {
getDeptList,
......@@ -362,7 +369,7 @@ const columns = [
{
title: "操作",
width: "160px",
width: "170px",
scopedSlots: {
customRender: "action",
},
......@@ -397,7 +404,7 @@ export default {
page: 1,
size: 10,
total: 0,
pageSizeOptions: ["10", "30", "50", "100"],
pageSizeOptions,
designationDict: {}, // 称号字典
politicalDict: {}, // 政治面貌字典
curDept: "", // 当前选中部门
......@@ -424,6 +431,8 @@ export default {
// 获取部门窗口
async getWindowData() {
let res = await getWindowList({
page: 1,
size: -1,
siteId: this.siteId,
deptId: this.deptSearch,
});
......@@ -618,12 +627,6 @@ export default {
</script>
<style lang="less" scoped>
.skins_btn_1 {
width: 100px;
height: 36px;
background-color: rgba(5, 149, 253, 1);
border-color: rgba(5, 149, 253, 1);
}
.website {
.right {
width: 100%;
......@@ -632,7 +635,7 @@ export default {
color: #333;
padding-left: 20px;
.person_message {
font-weight: 600;
font-size: 18px;
}
}
......@@ -657,44 +660,12 @@ export default {
margin-bottom: 6px;
}
}
.btn_add {
width: 80px;
height: 36px;
background-color: rgba(5, 149, 253, 1);
font-size: 13px;
text-align: center;
line-height: normal;
text-transform: none;
border: none;
margin-top: 15px;
}
.btn_to {
width: 80px;
height: 36px;
background-color: rgba(5, 149, 253, 1);
font-size: 13px;
text-align: center;
line-height: normal;
text-transform: none;
margin-left: 12px;
border: none;
margin-top: 20px;
margin-bottom: 20px;
}
.pht {
width: 56px;
height: 74px;
object-fit: cover;
}
.edit {
color: #03d76f;
}
.edit-pwd {
color: #1890ff;
}
.delet {
color: red;
}
div.person_gruop1 {
display: inline;
flex: 1;
......@@ -714,14 +685,6 @@ export default {
height: 36px;
margin-right: 10px;
}
.btn_search {
width: 72px;
height: 36px;
border: 0;
background: inherit;
// margin-b: 10px;
background-color: rgba(5, 149, 253, 1);
}
.on {
margin: 10px 0px;
......@@ -778,8 +741,8 @@ export default {
border-radius: 0px 4px 4px 0px;
}
.active {
background-color: #1890ff;
border-color: #1890ff;
background: linear-gradient(90deg, #5ab6ff, #2e9aff);
border-color: transparent;
color: #fff;
&:hover {
color: #fff;
......
This diff is collapsed.
......@@ -8,6 +8,10 @@
</keep-alive> -->
</a-config-provider>
</a-spin>
<!-- 导出进度条 -->
<div class="export" v-if="progressFile.show">
<a-progress :percent="progressFile.percent" status="active" />
</div>
</div>
</template>
......@@ -22,6 +26,10 @@ export default {
loadingProps: {
spinning: false,
},
progressFile:{
show:false,
percent:1
}
};
},
beforeCreate() {
......@@ -62,4 +70,13 @@ export default {
display: flex;
// flex-direction: column;
}
.export{
position: fixed;
left: 50%;
top: 50%;
transform: translate(-50%);
z-index: 99;
width: 300px;
height: 150px;
}
</style>
......@@ -60,4 +60,8 @@ export function productLlist(params) {
// 热力图对应的页面
export function pageLlist(params) {
return http.post(`${baseURL}/zwfw/page/info/list`, params);
}
\ No newline at end of file
}
// 通过业务名查询列表
export function userSiteBus(params) {
return http.get(`${BASEURL}/inter/statistic/busIdForName`, params);
}
......@@ -98,7 +98,7 @@ import {getBusInfoById} from '@/api/dataActuary.js'
],
lineData: {},
useNumber: '0',
checkName: '',
checkId: '',
formState: {},
testWay:[]
}
......@@ -110,14 +110,14 @@ import {getBusInfoById} from '@/api/dataActuary.js'
'$route.query': {
immediate: true,
handler(newVal, oldVal){
this.checkName= newVal.name
this.checkId= newVal.id
this.getAnalysisData()
}
}
},
methods: {
async getAnalysisData() {
const res = await getBusInfoById({bus_name: this.checkName, selected: this.useNumber || 0 })
const res = await getBusInfoById({busid: this.checkId, siteid: localStorage.getItem('siteId') })
if(res.code == 1){
if (res.data.phone) this.testWay.push('手机号')
if (res.data.idcardtake) this.testWay.push('身份证')
......
<template>
<div class="Container">
<div class="main">
<div class="first_card">
<div class="breadMenu">
<Breadcrumb/>
<div class="main">
<div class="first_card">
<div class="breadMenu">
<Breadcrumb/>
</div>
<div class="searchBox">
<a-auto-complete
v-model="businessName"
:data-source="dataSource"
optionLabelProp="value"
style="width: 35.625rem"
placeholder="请输入业务名称搜索"
@select="onSelect"
@search="onSearch"
/>
<a-button type="primary" class="addclass" v-if="!btnShow" @click="startAnalysis">开始分析</a-button>
<a-button type="primary" class="addclass" v-else @click="backBase">返回</a-button>
</div>
</div>
<div class="searchBox">
<a-auto-complete
v-model="businessName"
:data-source="dataSource"
optionLabelProp="value"
style="width: 35.625rem"
placeholder="请输入业务名称搜索"
@select="onSelect"
@search="onSearch"
/>
<a-button type="primary" class="addclass" @click="startAnalysis">开始分析</a-button>
<a-button type="primary" class="addclass" v-if="btnShow" @click="backBase">返回</a-button>
<div class="content_view">
<router-view keep-alive/>
</div>
</div>
<div class="content_view">
<router-view />
</div>
</div>
</div>
</template>
<script>
import _ from 'lodash'
import axios from 'axios'
import Breadcrumb from "./breadcrumb/index.vue";
export default {
</template>
<script>
import _ from 'lodash';
import axios from 'axios';
import Breadcrumb from "./breadcrumb/index.vue";
import {userSiteBus} from '@/api/dataActuary'
export default {
components:{
Breadcrumb
},
......@@ -39,21 +39,29 @@
// 搜索框
businessName: '',
dataSource: [],
sourceList:[],
dataList: [],
btnShow: false,
}
},
mounted() {
mounted() {
this.getList()
},
methods:{
startAnalysis() {
created(){
},
computed:{
},
methods:{
startAnalysis() {
if(!this.businessName){
this.$message.error('请输入业务名称搜索')
}else{
this.$router.push({ path: 'analysiscontent', query:{name: this.businessName}})
this.btnShow= true
let item = this.sourceList.filter(i=>{return i.name == this.businessName})[0]
if(item){
this.$router.push({ path: 'analysiscontent', query:{id:item.id}})
this.btnShow= true
}
}
},
backBase() {
......@@ -72,20 +80,24 @@
},
onSearch: _.debounce(function(val){
this.dataSource= []
this.dataList.forEach(item=>{
if(item.indexOf(val) !== -1){
this.dataSource.push(item)
userSiteBus({siteid: localStorage.getItem('siteId'),bus_name:val}).then(res => {
if (res.code == 1) {
this.sourceList = res.data;
res.data.forEach(r => {
this.dataSource.push(
r.name
);
});
}
})
}, 1000),
})
},0),
onSelect(val){
this.businessName= val
}
}
},
}
</script>
<style lang="less" scoped>
</script>
<style lang="less" scoped>
@headerH: 4.5rem;
.Container {
height: 100% !important;
......@@ -159,6 +171,4 @@
.content_view{
padding: 0 5rem;
}
</style>
\ No newline at end of file
</style>
<template>
<div class="Container">
<div class="main">
<div class="first_card">
<div class="breadMenu">
<Breadcrumb/>
</div>
<div class="searchBox">
<!-- <a-auto-complete
v-model="businessName"
:data-source="dataSource"
optionLabelProp="value"
style="width: 35.625rem"
placeholder="请输入业务名称搜索"
@select="onSelect"
@search="onSearch"
/> -->
<!-- <a-select show-search placeholder="请输入业务名称搜索" style="width: 35.625rem"
:default-active-first-option="false" :show-arrow="false" :filter-option="false" allowClear
:not-found-content="null" :options="peopleArr" @search="peopelListFn"
@change="handleChange">
</a-select> -->
<a-button type="primary" class="addclass" v-if="!btnShow" @click="startAnalysis">开始分析</a-button>
<a-button type="primary" class="addclass" v-else @click="backBase">返回</a-button>
</div>
</div>
<div class="content_view">
<router-view keep-alive/>
</div>
</div>
</div>
</template>
<script>
import _ from 'lodash';
import axios from 'axios';
import Breadcrumb from "./breadcrumb/index.vue";
export default {
components:{
Breadcrumb
},
data() {
return {
// 搜索框
businessName: '',
dataSource: [],
dataList: [],
btnShow: false,
}
},
mounted() {
this.getList()
},
methods:{
startAnalysis() {
if(!this.businessName){
this.$message.error('请输入业务名称搜索')
}else{
this.$router.push({ path: 'analysiscontent', query:{name: this.businessName}})
this.btnShow= true
}
},
backBase() {
this.$router.push({ path: 'basecontent'})
this.btnShow= false
this.businessName= ''
},
async getList(){
await axios.get('http://192.168.0.98:8090/inter/statistic/busList',{params: {siteid: 1}}).then((res)=>{
if(res && res.status==200){
res.data.data.forEach(item=>{
this.dataList.push(item.name)
})
}
})
},
onSearch: _.debounce(function(val){
this.dataSource= []
this.dataList.forEach(item=>{
if(item.indexOf(val) !== -1){
this.dataSource.push(item)
}
})
}, 1000),
onSelect(val){
this.businessName= val
}
}
}
</script>
<style lang="less" scoped>
@headerH: 4.5rem;
.Container {
height: 100% !important;
// background: #fac;
background: #f5f5f5;
display: flex;
flex-direction: column;
.main {
// background: #afc;
border-radius: 6px;
flex: 1;
overflow-y: auto;
overflow-x: hidden;
}
&::before {
content: "";
display: block;
width: 100%;
height: @headerH;
background: rgb(59, 135, 255);
background: -moz-linear-gradient(
174deg,
rgba(59, 135, 255, 1) 24%,
rgba(108, 53, 247, 1) 85%
);
background: -webkit-linear-gradient(
174deg,
rgba(59, 135, 255, 1) 24%,
rgba(108, 53, 247, 1) 85%
);
background: linear-gradient(
174deg,
rgba(59, 135, 255, 1) 24%,
rgba(108, 53, 247, 1) 85%
);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#3b87ff",endColorstr="#6c35f7",GradientType=1);
}
/deep/.ant-tabs-nav {
.ant-tabs-tab {
margin: 0 !important;
}
}
/deep/.ant-tabs-tab {
font-size: 14px !important;
& + .ant-tabs-tab {
margin: 0 !important;
margin-left: 0.7rem !important;
}
}
/deep/.ant-tabs-bar{
margin: 0;
}
}
.first_card{
background: #FFF;
margin-bottom: .9375rem;
}
.breadMenu{
height: 2.8125rem;
line-height: 2.8125rem;
padding: 0 5rem;
border-bottom: 1px solid rgba(226, 226, 226, 1);
}
.searchBox{
height: 6.25rem;
display: flex;
justify-content: center;
align-items: center;
}
.content_view{
padding: 0 5rem;
}
</style>
\ No newline at end of file
......@@ -82,6 +82,7 @@
@onClose="onClose"
@showDrawer="showDrawer"
:visible="visible"
:title="'12345写信记录'"
/>
</div>
</template>
......
......@@ -93,6 +93,7 @@
ref="FormDetails"
@onClose="onClose"
@showDrawer="showDrawer"
:title="'网络理政'"
:visible="visible"
/>
</div>
......@@ -176,14 +177,12 @@ export default {
align: "center",
dataIndex: "upname",
customRender: (text, record, index) => `${record.upname || "--"}`,
},
{
title: "联系电话",
align: "center",
dataIndex: "upphone",
customRender: (text, record, index) => `${record.upphone || "--"}`,
},
{
title: "是否公开",
......@@ -205,8 +204,8 @@ export default {
title: "提交日期",
align: "center",
dataIndex: "create_time",
customRender: (text, record, index) => `${record.create_time || "--"}`,
customRender: (text, record, index) =>
`${record.create_time || "--"}`,
},
{
title: "是否回复",
......@@ -221,21 +220,19 @@ export default {
align: "center",
dataIndex: "reply_name",
customRender: (text, record, index) => `${record.reply_name || "--"}`,
},
{
title: "回复时间",
align: "center",
dataIndex: "update_time",
customRender: (text, record, index) => `${record.update_time || "--"}`,
customRender: (text, record, index) =>
`${record.update_time || "--"}`,
},
{
title: "所属部门",
align: "center",
dataIndex: "deptName",
customRender: (text, record, index) => `${record.deptName || "--"}`,
},
{
title: "操作",
......
......@@ -2,7 +2,7 @@
<div class="queueRecord-Container">
<div class="header_box">
<div>
<a-button :loading="btnLoading" type="primary" class="addclass" @click="handleExportTable">
<a-button :loading="btnLoading" type="primary" class="addclass" @click="handleExportTable">
<span>{{ tableSelectedRows.length ? "导出" : "导出全部" }}</span>
</a-button>
<b>取号次数:<i>{{ tablePagination.total }}</i></b>
......@@ -27,7 +27,7 @@
<a-input v-model="searchForm.flownum" placeholder="请输入排队编号搜索" @pressEnter="handleSearch">
<a-icon slot="prefix" type="search" />
</a-input>
<a-button type="primary" class="addclass" @click="handleSearch">搜索</a-button>
<a-button type="primary" class="addclass" @click="handleSearch">搜索</a-button>
<a-button @click="resetBtn">重置</a-button>
</a-space>
</span>
......@@ -125,6 +125,8 @@ import {
getWorkmananalyse,
} from "@/api/dataAdmin";
import { export2Excel } from "@/utils/js/exportExcel";
import { loading } from "@jiaminghi/data-view";
let ExcelDate = []
export default {
name: "PortalAdminVueQueueRecord",
mixins: [table],
......@@ -432,27 +434,76 @@ export default {
}
});
});
} else {
data = this.$_.cloneDeep(
await this.getQueueDataArr({ page: 1, size: -1 })
export2Excel(
this.tHeader,
this.filterVal,
data,
"排队记录报表" + this.$moment().format("YYYYMMDDHHmmss")
);
if (!data.length) return;
for (let item of data) {
Object.keys(obj).forEach((key) => {
if (item.style == key) {
item.style = obj[key];
}
});
}
this.btnLoading = false;
} else {
ExcelDate = []
await this.dataSection(1, 1000, () => {
if (!ExcelDate.length) return;
for (let item of ExcelDate) {
Object.keys(obj).forEach((key) => {
if (item.style == key) {
item.style = obj[key];
}
});
}
export2Excel(
this.tHeader,
this.filterVal,
ExcelDate,
"排队记录报表" + this.$moment().format("YYYYMMDDHHmmss")
);
this.btnLoading = false;
// alert(11)
})
// return
// data = this.$_.cloneDeep(
// await this.getQueueDataArr({ page: 1, size: -1 })
// );
// if (!data.length) return;
// for (let item of data) {
// Object.keys(obj).forEach((key) => {
// if (item.style == key) {
// item.style = obj[key];
// }
// });
// }
}
export2Excel(
this.tHeader,
this.filterVal,
data,
"排队记录报表" + this.$moment().format("YYYYMMDDHHmmss")
);
this.btnLoading = false;
},
// 数据切片
async dataSection(page, size = 100, fn) {
let res = await getQueueData({
page: page || 1,
size: size,
...this.searchForm,
});
if (res.code == 1) {
let { data, total } = res.data;
ExcelDate = ExcelDate.concat(data || [])
// app.vue loading
this.$app.progressFile.show = true
this.$app.progressFile.percent = parseInt((ExcelDate.length / total) * 100)
if (ExcelDate.length >= total || data.length == 0) {
fn()
this.$app.progressFile.show = false
this.$app.progressFile.percent = 1
return
}
setTimeout(() => {
let index = parseInt(page || 1) + 1
this.dataSection(index, size, fn)
});
}
}
},
};
</script>
......
......@@ -4,7 +4,12 @@
<div class="search">
<h1>应用服务</h1>
<div class="search-box">
<a-input placeholder="请输入API名称搜索" v-model="searchVal" @pressEnter="handleSearch" />
<a-input
placeholder="请输入应用名称搜索"
v-model="searchVal"
@pressEnter="handleSearch"
allow-clear
/>
<button class="search_btn btn" @click="handleSearch">
<span>{{ isSearch ? "重置" : "搜索" }}</span>
</button>
......@@ -15,38 +20,75 @@
<div class="stepbox" :style="{ height: contentHigh + 'px' }">
<div class="_left">
<a-steps progress-dot direction="vertical">
<a-step v-for="(item, index) in listArr" :status="active === index ? 'process' : 'wait'" :key="index">
<span slot="title" @click="handleChange(item, index)">{{ item.productName }}</span>
<a-step
v-for="(item, index) in listArr"
:status="active === index ? 'process' : 'wait'"
:key="index"
>
<span slot="title" @click="handleChange(item, index)">{{
item.productName
}}</span>
</a-step>
</a-steps>
</div>
<div class="_right">
<div class="list_box step_sign">
<div class="title-box">
<span class="list_title">{{ listArr[active] ? listArr[active].productName : '--' }}</span>
<span class="count primary">{{ listArr[active].curInfo.length }}</span>
<span class="list_title">{{
listArr[active] ? listArr[active].productName : "--"
}}</span>
<span class="count primary">{{
listArr[active].curInfo.length
}}</span>
</div>
<div v-if="listArr[active].curInfo.length > 0">
<div class="list flex aic jcb " v-for="(i, j) in listArr[active].curInfo">
<div
class="list flex aic jcb"
v-for="(i, j) in listArr[active].curInfo"
>
<div class="app-name">{{ i.appName }}</div>
<img v-if="i.deveLanguage == 1" src="@/assets/images/JAVA.png" alt />
<img v-if="i.deveLanguage == 2" src="@/assets/images/php.png" alt />
<img v-if="i.deveLanguage == 3" src="@/assets/images/Android.png" alt />
<img v-if="i.deveLanguage == 4" src="@/assets/images/Cshape.png" alt />
<img v-if="i.deveLanguage == 5" src="@/assets/images/Cjj.jpg" alt />
<img
v-if="i.deveLanguage == 1"
src="@/assets/images/JAVA.png"
alt
/>
<img
v-if="i.deveLanguage == 2"
src="@/assets/images/php.png"
alt
/>
<img
v-if="i.deveLanguage == 3"
src="@/assets/images/Android.png"
alt
/>
<img
v-if="i.deveLanguage == 4"
src="@/assets/images/Cshape.png"
alt
/>
<img
v-if="i.deveLanguage == 5"
src="@/assets/images/Cjj.jpg"
alt
/>
<div>V{{ i.versionNumber }}</div>
<div>{{ i.versionInfo }}</div>
<div v-if="i.createTime">
{{ $moment(i.createTime).format("YYYY-MM-DD") }}
</div>
<a-button type="primary" class="addclass" @click="handleDowload(api + i.appFileUrl, i.appName)">
<a-button
type="primary"
class="addclass"
@click="handleDowload(api + i.appFileUrl, i.appName)"
>
<a-icon type="download" />下载
</a-button>
</div>
</div>
<div v-else>
<div class="list flex aic jcb ">
<div class="app-name"> 暂无数据</div>
<div class="list flex aic jcb">
<div class="app-name">暂无数据</div>
</div>
</div>
</div>
......@@ -56,8 +98,8 @@
</template>
<script>
import { serviceList, } from "@/api/applService.js";
import { getProduct, } from "@/api/thePlatformIsSet.js";
import { serviceList } from "@/api/applService.js";
import { getProduct } from "@/api/thePlatformIsSet.js";
import common from "@/mixins/common";
export default {
name: "PortalAdminVueApplService",
......@@ -72,11 +114,9 @@ export default {
curInfo: {}, // 当前选中设备信息
isSearch: false,
};
},
created() {
this.getList()
this.getList();
},
mounted() {
// this.setContentHigh();
......@@ -91,31 +131,31 @@ export default {
let { code, data, dict } = res;
if (code == 1) {
if (data.data.length) {
this.listArr.forEach(i => {
let arr = []
data.data.forEach(k => {
this.listArr.forEach((i) => {
let arr = [];
data.data.forEach((k) => {
if (i.id == k.productId) {
arr.push(k)
arr.push(k);
}
})
});
i.curInfo = arr
this.$nextTick()
})
i.curInfo = arr;
this.$nextTick();
});
}
}
});
},
handleSearch() {
this.isSearch = !this.isSearch;
if (this.isSearch) {
this.getServiceList();
} else {
this.searchVal = "";
this.active = 0;
this.getServiceList();
}
this.getServiceList();
// this.isSearch = !this.isSearch;
// if (this.isSearch) {
// this.getServiceList();
// } else {
// this.searchVal = "";
// this.active = 0;
// this.getServiceList();
// }
},
// 切换设备
handleChange(row, index) {
......@@ -123,7 +163,7 @@ export default {
this.searchVal = "";
},
handleDowload(url, systemServiceName) {
console.log(systemServiceName)
console.log(systemServiceName);
const a = document.createElement("a");
a.href = url;
a.download = systemServiceName;
......@@ -131,16 +171,15 @@ export default {
},
//获取列表
getList() {
getProduct({ page: 1, size: -1 }).then(res => {
res.data.data.forEach(i => {
i.curInfo = []
})
this.listArr = [...res.data.data]
console.log(this.listArr)
getProduct({ page: 1, size: -1 }).then((res) => {
res.data.data.forEach((i) => {
i.curInfo = [];
});
this.listArr = [...res.data.data];
console.log(this.listArr);
this.getServiceList();
})
}
});
},
},
};
</script>
......@@ -148,7 +187,7 @@ export default {
<style lang="less" scoped>
@headerH: 4.5rem;
.application .stepbox ._right .list>div {
.application .stepbox ._right .list > div {
width: 15%;
text-align: center;
overflow: hidden;
......@@ -196,7 +235,9 @@ export default {
display: flex;
align-items: center;
}
/deep/.ant-input-affix-wrapper .ant-input-suffix {
right: 70px !important;
}
/deep/.ant-input {
width: 30rem !important;
margin-right: 2rem;
......@@ -223,7 +264,7 @@ export default {
padding: 0;
border: none;
&>span {
& > span {
position: relative;
display: block;
width: 100%;
......@@ -267,8 +308,8 @@ export default {
width: 100%;
}
&>span:before,
&>span:after {
& > span:before,
& > span:after {
position: absolute;
content: "";
left: 0;
......@@ -281,21 +322,21 @@ export default {
transition: all 0.3s ease;
}
&>span:before {
& > span:before {
width: 2px;
height: 0%;
}
&>span:after {
& > span:after {
height: 2px;
width: 0%;
}
&>span:hover:before {
& > span:hover:before {
height: 100%;
}
&>span:hover:after {
& > span:hover:after {
width: 100%;
}
}
......@@ -401,16 +442,22 @@ export default {
width: 100%;
height: @headerH;
background: rgb(59, 135, 255);
background: -moz-linear-gradient(174deg,
rgba(59, 135, 255, 1) 24%,
rgba(108, 53, 247, 1) 85%);
background: -webkit-linear-gradient(174deg,
rgba(59, 135, 255, 1) 24%,
rgba(108, 53, 247, 1) 85%);
background: linear-gradient(174deg,
rgba(59, 135, 255, 1) 24%,
rgba(108, 53, 247, 1) 85%);
background: -moz-linear-gradient(
174deg,
rgba(59, 135, 255, 1) 24%,
rgba(108, 53, 247, 1) 85%
);
background: -webkit-linear-gradient(
174deg,
rgba(59, 135, 255, 1) 24%,
rgba(108, 53, 247, 1) 85%
);
background: linear-gradient(
174deg,
rgba(59, 135, 255, 1) 24%,
rgba(108, 53, 247, 1) 85%
);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#3b87ff", endColorstr="#6c35f7", GradientType=1);
}
}
</style>
\ No newline at end of file
</style>
<template>
<a-modal :title="VisibleTitle" :centered="true" :destroyOnClose="true" :visible="Visible" @cancel="Visible = false"
width="30%">
<a-form-model :label-col="{
span: 5,
}" :wrapper-col="{
span: 19,
}" layout="horizontal" ref="appInfoFome" :model="appInfoFome" :rules="appInfoRules">
<a-modal
:title="VisibleTitle"
:centered="true"
:destroyOnClose="true"
:visible="Visible"
@cancel="Visible = false"
width="30%"
>
<a-form-model
:label-col="{
span: 5,
}"
:wrapper-col="{
span: 19,
}"
layout="horizontal"
ref="appInfoFome"
:model="appInfoFome"
:rules="appInfoRules"
>
<a-form-model-item label="产品名称" prop="productName">
<a-input placeholder="请输入产品名称" allowClear v-model="appInfoFome.productName" />
<a-input
placeholder="请输入产品名称"
allowClear
v-model="appInfoFome.productName"
/>
</a-form-model-item>
</a-form-model>
<template slot="footer">
<a-button type="primary" class="addclass" @click="Modal_Ok">确定</a-button>
<a-button type="primary" class="addclass" @click="Modal_Ok"
>确定</a-button
>
<a-button @click="resetForm">重置</a-button>
</template>
</a-modal>
......@@ -27,7 +46,7 @@ export default {
VisibleTitle: "新增产品",
appInfoFome: {
productName: undefined,
siteId: JSON.parse(localStorage.getItem("siteId"))
siteId: JSON.parse(localStorage.getItem("siteId")),
}, //页面表单信息
appInfoRules: {
productName: [
......@@ -36,28 +55,28 @@ export default {
whitespace: true, //必选时,空格是否会被视为错误
message: "请输入产品名称",
trigger: "blur",
}
},
],
},
};
},
mounted() { },
mounted() {},
methods: {
Modal_Ok() {
this.$refs.appInfoFome.validate((valid) => {
if (valid) {
saveProduct(this.appInfoFome).then(res => {
let { code, msg } = res
saveProduct(this.appInfoFome).then((res) => {
let { code, msg } = res;
if (code == 1) {
this.$message.success('保存成功');
this.$message.success("保存成功");
this.resetForm();
this.Visible = false
this.$parent.getList()
this.Visible = false;
this.$parent.getList();
} else {
this.$message.error(msg);
}
})
});
} else {
this.$message.error(`请完善表单信息!`);
return false;
......@@ -66,7 +85,7 @@ export default {
},
resetForm() {
this.$nextTick(() => {
this.appInfoFome.productName = ''
this.appInfoFome.productName = "";
});
},
},
......@@ -82,4 +101,3 @@ export default {
}
}
</style>
......@@ -61,6 +61,7 @@
</a-form-model-item>
</a-form-model>
<template slot="footer">
<a-button type="primary" class="addclass" @click="reset">重置</a-button>
<a-button type="primary" class="addclass" @click="Modal_Ok"
>确定</a-button
>
......@@ -126,6 +127,23 @@ export default {
mounted() {},
methods: {
reset() {
this.$refs.appForm.resetFields();
this.uploadInfo = {
removeFileList: [], //移除文件列表
fileList: [], //文件列表
multiple: false, //多文件
listType: "text", //text, picture 和 picture-card
prePath: "file/fileupload", //附件存放相对路径 否 不填时候默认为 file/fileupload
objAttach: {
// 其他参数 data
// test: "001",
},
verload: 300, // 单位 M
limit: 1, //限制文件上传数量
whiteFileList: ["apk", "jpg", "jpeg", "png", "gif", "bmp"], //只允许上传apk包
};
},
getInfo(id) {
getAppsInfo({ id: id }).then((res) => {
res.data.isEnable = res.data.isEnable == 1;
......
<template>
<a-modal :width="modalInfo.width" :visible="modalInfo.visible" :title="modalInfo.title"
@cancel="modalInfo.visible = false" centered destroyOnClose>
<a-form-model :label-col="{
span: 4,
}" :wrapper-col="{
span: 20,
}" layout="horizontal" ref="appForm" :model="appForm" :rules="appRules">
<a-modal
:width="modalInfo.width"
:visible="modalInfo.visible"
:title="modalInfo.title"
@cancel="modalInfo.visible = false"
centered
destroyOnClose
>
<a-form-model
:label-col="{
span: 4,
}"
:wrapper-col="{
span: 20,
}"
layout="horizontal"
ref="appForm"
:model="appForm"
:rules="appRules"
>
<a-form-model-item label="材料名称" prop="docName">
<a-input v-model="appForm.docName" placeholder="请输入" allowClear />
</a-form-model-item>
<a-form-model-item label="版本号" prop="versionNumber">
<a-input v-model="appForm.versionNumber" placeholder="请输入" allowClear />
<a-input
v-model="appForm.versionNumber"
placeholder="请输入"
allowClear
/>
</a-form-model-item>
<a-form-model-item label="版本信息" prop="versionInfo">
<a-textarea v-model="appForm.versionInfo" placeholder="请输入" :rows="4" />
<a-textarea
v-model="appForm.versionInfo"
placeholder="请输入"
:rows="4"
/>
</a-form-model-item>
<a-form-model-item label="材料文件" prop="docFileUrl">
<MyUpload v-model="appForm.docFileUrl" :uploadInfo="uploadInfo">
......@@ -23,7 +44,10 @@
</a-form-model-item>
</a-form-model>
<template slot="footer">
<a-button type="primary" class="addclass" @click="Modal_Ok">确定</a-button>
<a-button type="primary" class="addclass" @click="reset">重置</a-button>
<a-button type="primary" class="addclass" @click="Modal_Ok"
>确定</a-button
>
<a-button @click="resetForm">取消</a-button>
</template>
</a-modal>
......@@ -46,7 +70,7 @@ export default {
docName: "",
versionNumber: "",
versionInfo: "",
docFileUrl: ""
docFileUrl: "",
},
uploadInfo: {
removeFileList: [], //移除文件列表
......@@ -61,41 +85,62 @@ export default {
whiteFileList: ["doc", "docx", "pdf", "xlsx", "xls"],
},
appRules: {
docName: [{ required: true, message: "请输入材料名称", trigger: ['blur', 'change'] }],
docName: [
{
required: true,
message: "请输入材料名称",
trigger: ["blur", "change"],
},
],
},
};
},
mounted() { },
mounted() {},
methods: {
reset() {
this.$refs.appForm.resetFields();
this.uploadInfo = {
removeFileList: [], //移除文件列表
fileList: [], //文件列表
defaultFileList: [],
multiple: false, //多文件
listType: "text", //text, picture 和 picture-card
prePath: "file/fileupload", //附件存放相对路径 否 不填时候默认为 file/fileupload
objAttach: {},
verload: 300, // 单位 M
limit: 1, //限制文件上传数量
whiteFileList: ["doc", "docx", "pdf", "xlsx", "xls"],
};
},
getInfo(id) {
getDocumentInfo({ id: id }).then(res => {
this.appForm = res.data
getDocumentInfo({ id: id }).then((res) => {
this.appForm = res.data;
if (res.data.docFileUrl) {
this.uploadInfo.fileList = [
{
uid: id,
name: res.data.docFileUrl,
url: res.data.docFileUrl,
}
]
},
];
}
})
});
},
Modal_Ok() {
this.$refs.appForm.validate((valid) => {
if (valid) {
saveDocument(this.appForm).then(res => {
let { code, msg } = res
saveDocument(this.appForm).then((res) => {
let { code, msg } = res;
if (code == 1) {
this.$message.success('保存成功');
this.$message.success("保存成功");
this.resetForm();
this.modalInfo.visible = false
this.$parent.getList()
this.modalInfo.visible = false;
this.$parent.getList();
} else {
this.$message.error(msg);
}
})
});
} else {
this.$message.error(`请完善表单信息!`);
return false;
......
......@@ -3,28 +3,47 @@
<div class="search_box" ref="search_box">
<h3>产品管理</h3>
<h4>
<a-input placeholder="请输入产品名称关键字查询" v-model="searchVal" />
<a-input
placeholder="请输入产品名称关键字查询"
allow-clear
v-model="searchVal"
/>
<button class="search_btn btn" @click="getList">
<span>查询</span>
</button>
</h4>
</div>
<div class="main">
<a-button type="primary" class="addclass add_btn" ghost @click="showModal()">
<a-button
type="primary"
class="addclass add_btn"
ghost
@click="showModal()"
>
新增产品
</a-button>
<ul class="content">
<li class="list" v-for="item, index of listData" :key="index">
<li class="list" v-for="(item, index) of listData" :key="index">
<a-popover placement="leftBottom" trigger="click">
<template slot="content">
<div class="popoverContent">
<p>
<a-button type="link" size="small" style="color: #0595fd" @click="showModal(item)">
<a-button
type="link"
size="small"
style="color: #0595fd"
@click="showModal(item)"
>
编辑
</a-button>
</p>
<p>
<a-popconfirm title="确定要删除此产品吗?" ok-text="确定" cancel-text="取消" @confirm="delModal(item)">
<a-popconfirm
title="确定要删除此产品吗?"
ok-text="确定"
cancel-text="取消"
@confirm="delModal(item)"
>
<a-button type="link" size="small" style="color: #ff4d4f">
删除
</a-button>
......@@ -58,44 +77,44 @@ export default {
name: "PortalAdminVueProductManage",
data() {
return {
searchVal: '',
listData: []
searchVal: "",
listData: [],
};
},
components: {
AddEditAppName,
},
mounted() {
this.getList()
this.getList();
},
methods: {
delModal(item) {
deleteProduct({
id: item.id
id: item.id,
}).then((res) => {
let { code, msg } = res
let { code, msg } = res;
if (code == 1) {
this.$message.success('删除成功');
this.getList()
this.$message.success("删除成功");
this.getList();
} else {
this.$message.error(msg);
}
})
});
},
getList() {
getProduct({
page: 1,
size: -1,
productName: this.searchVal
productName: this.searchVal,
}).then((res) => {
this.listData = res.data.data
})
this.listData = res.data.data;
});
},
showModal(item) {
if (item) {
this.$refs.AddEditAppName.VisibleTitle = "编辑";
this.$refs.AddEditAppName.appInfoFome.id = item.id
this.$refs.AddEditAppName.appInfoFome.productName = item.productName
this.$refs.AddEditAppName.appInfoFome.id = item.id;
this.$refs.AddEditAppName.appInfoFome.productName = item.productName;
} else {
this.$refs.AddEditAppName.VisibleTitle = "新增产品";
}
......@@ -127,7 +146,7 @@ export default {
</script>
<style lang="less" scoped>
.not-data{
.not-data {
line-height: 100px;
text-align: center;
width: 100%;
......@@ -160,7 +179,9 @@ export default {
display: flex;
align-items: center;
}
/deep/.ant-input-affix-wrapper .ant-input-suffix {
right: 70px !important;
}
/deep/.ant-input {
width: 30rem !important;
margin-right: 2rem;
......@@ -187,7 +208,7 @@ export default {
padding: 0;
border: none;
&>span {
& > span {
position: relative;
display: block;
width: 100%;
......@@ -231,8 +252,8 @@ export default {
width: 100%;
}
&>span:before,
&>span:after {
& > span:before,
& > span:after {
position: absolute;
content: "";
left: 0;
......@@ -245,21 +266,21 @@ export default {
transition: all 0.3s ease;
}
&>span:before {
& > span:before {
width: 2px;
height: 0%;
}
&>span:after {
& > span:after {
height: 2px;
width: 0%;
}
&>span:hover:before {
& > span:hover:before {
height: 100%;
}
&>span:hover:after {
& > span:hover:after {
width: 100%;
}
}
......@@ -274,17 +295,17 @@ export default {
border: 1px solid #d7dae2;
overflow: hidden;
&>.add_btn {
& > .add_btn {
margin: 15px;
}
&>.content {
& > .content {
display: flex;
flex-wrap: wrap;
border-top: 1px solid #d7dae2;
border-bottom: 1px solid #d7dae2;
&>.list {
& > .list {
width: 25%;
padding: 15px;
display: flex;
......@@ -293,7 +314,7 @@ export default {
border-right: 1px solid #d7dae2;
border-bottom: 1px solid #d7dae2;
&>.app-operation {
& > .app-operation {
margin: 8px 0;
height: 25px;
width: 25px;
......@@ -304,7 +325,7 @@ export default {
cursor: pointer;
}
&>.app-img {
& > .app-img {
width: 108px;
height: 108px;
box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
......@@ -312,14 +333,14 @@ export default {
border-radius: 6px;
}
&>.app-name {
& > .app-name {
font-weight: bold;
font-size: 18px;
text-align: center;
margin: 8px 0;
}
&>.app-option {
& > .app-option {
margin: 8px 0;
color: #0595fd;
display: flex;
......@@ -327,7 +348,7 @@ export default {
align-items: center;
font-size: 14px;
&>li {
& > li {
cursor: pointer;
}
}
......@@ -341,15 +362,21 @@ export default {
width: 100%;
height: @headerH;
background: rgb(59, 135, 255);
background: -moz-linear-gradient(174deg,
rgba(59, 135, 255, 1) 24%,
rgba(108, 53, 247, 1) 85%);
background: -webkit-linear-gradient(174deg,
rgba(59, 135, 255, 1) 24%,
rgba(108, 53, 247, 1) 85%);
background: linear-gradient(174deg,
rgba(59, 135, 255, 1) 24%,
rgba(108, 53, 247, 1) 85%);
background: -moz-linear-gradient(
174deg,
rgba(59, 135, 255, 1) 24%,
rgba(108, 53, 247, 1) 85%
);
background: -webkit-linear-gradient(
174deg,
rgba(59, 135, 255, 1) 24%,
rgba(108, 53, 247, 1) 85%
);
background: linear-gradient(
174deg,
rgba(59, 135, 255, 1) 24%,
rgba(108, 53, 247, 1) 85%
);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#3b87ff", endColorstr="#6c35f7", GradientType=1);
}
}
......
This diff is collapsed.
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