Commit 83cd7550 authored by 赵啸非's avatar 赵啸非

Merge remote-tracking branch 'origin/master'

parents de9efb36 3df87e6a
......@@ -8,6 +8,9 @@
.green{
color:#1BBC9B;
}
.edit{
color:#03d76f;
}
.clofff{
color:#fff;
}
......
......@@ -30,7 +30,12 @@
</a-layout-sider>
<a-layout class="main" style="padding: 0 24px 24px">
<a-layout-content>
<router-view></router-view>
<keep-alive>
<!-- 需要缓存的视图组件 -->
<router-view v-if="$route.meta.keepAlive"> </router-view>
</keep-alive>
<!-- 不需要缓存的视图组件 -->
<router-view v-if="!$route.meta.keepAlive"> </router-view>
</a-layout-content>
</a-layout>
</a-layout>
......
......@@ -20,6 +20,18 @@ export default {
TerminalApp,
MoveApp,
},
data() {
return {};
},
// 进入路有前
beforeRouteEnter(to, from, text) {
if (from.path === "/appmarket/appdetails") {
to.meta.isBack = true;
} else {
to.meta.isBack = false;
}
text();
},
};
</script>
......
......@@ -55,6 +55,7 @@
showTotal: (total) => `共 ${total} 条`,
current: current,
total: total,
pageSize: size,
showSizeChanger: true,
showQuickJumper: true,
size: 'small',
......@@ -332,4 +333,7 @@ export default {
font-weight: 600;
}
}
/deep/.ant-form-item {
align-items: flex-start;
}
</style>
\ No newline at end of file
......@@ -46,6 +46,7 @@
showTotal: (total) => `共 ${total} 条`,
current: current,
total: total,
pageSize: size,
showSizeChanger: true,
showQuickJumper: true,
pageSizeOptions: pageSizeOptions,
......@@ -63,7 +64,7 @@
<!-- 操作 -->
<template slot="action" slot-scope="text">
<a-space size="middle">
<a class="primary" @click="handleEdit(text)">编辑</a>
<a class="edit" @click="handleEdit(text)">编辑</a>
<a class="delete" @click="handleDel(text.id)">删除</a>
</a-space>
</template>
......@@ -143,7 +144,6 @@ export default {
},
created() {
this.getDatasetList();
console.log(this.appTemplate);
},
methods: {
// 获取数据列表
......
......@@ -23,6 +23,7 @@
showTotal: (total) => `共 ${total} 条`,
current: current,
total: total,
defaultPageSize: 1000,
onChange: handleChange,
onShowSizeChange: showSizeChange,
}"
......@@ -39,7 +40,7 @@
<!-- 操作 -->
<template slot="action" slot-scope="text">
<a-space size="middle">
<a class="primary" @click="handleEdit(text)">编辑</a>
<a class="edit" @click="handleEdit(text)">编辑</a>
<a class="delete" @click="handleDel(text.id)">删除</a>
</a-space>
</template>
......@@ -112,7 +113,7 @@ export default {
},
{
title: "操作",
width: "10%",
width: "110px",
scopedSlots: { customRender: "action" },
},
];
......
......@@ -29,6 +29,7 @@
showTotal: (total) => `共 ${total} 条`,
current: current,
total: total,
pageSize: size,
showSizeChanger: true,
showQuickJumper: true,
pageSizeOptions: pageSizeOptions,
......@@ -54,7 +55,13 @@
</template>
<!-- 简介 -->
<template slot="summary" slot-scope="text">
{{ text.summary ? text.summary : "--" }}
<span :title="text.summary">{{
text.summary ? text.summary : "--"
}}</span>
</template>
<!-- 版本 -->
<template slot="version" slot-scope="text">
{{ text.version ? "v" + text.version : "--" }}
</template>
<!-- 类型 -->
<template slot="appType" slot-scope="text">
......@@ -72,7 +79,7 @@
<!-- 操作 -->
<template slot="action" slot-scope="text">
<a-space size="middle">
<a class="primary" @click="handleEdit(text)">编辑</a>
<a class="edit" @click="handleEdit(text)">编辑</a>
<a class="primary" @click="handleCheck(text.id)">查看</a>
<a
class="delete"
......@@ -107,6 +114,55 @@ import AddApp from "../modal/AddApp.vue";
import CheckSite from "../modal/CheckSite.vue";
import { getAppList, deleteApp, saveApp } from "@/services/market";
import local from "@/utils/local";
const columns = [
{
title: "序号",
dataIndex: "num",
width: "65px",
scopedSlots: {
customRender: "num",
},
},
{
title: "应用名称",
dataIndex: "appName",
},
{
title: "应用图标",
scopedSlots: { customRender: "appIconPath" },
},
{
title: "当前版本",
scopedSlots: { customRender: "version" },
},
{
title: "应用主题",
ellipsis: true,
dataIndex: "appThemeName",
},
{
title: "应用简介",
ellipsis: true,
scopedSlots: { customRender: "summary" },
},
{
title: "应用类型",
scopedSlots: { customRender: "appType" },
},
{
title: "下发设备",
dataIndex: "downDevCount",
},
{
title: "上架/下架",
scopedSlots: { customRender: "shelves" },
},
{
title: "操作",
width: "150px",
scopedSlots: { customRender: "action" },
},
];
export default {
components: {
YSwitch,
......@@ -114,56 +170,6 @@ export default {
CheckSite,
},
data() {
const columns = [
{
title: "序号",
dataIndex: "num",
width: "65px",
scopedSlots: {
customRender: "num",
},
},
{
title: "应用名称",
dataIndex: "appName",
},
{
title: "应用图标",
scopedSlots: { customRender: "appIconPath" },
},
{
title: "当前版本",
customRender: (text) => {
return <span>{"v" + text.version}</span>;
},
},
{
title: "应用主题",
dataIndex: "appThemeName",
},
{
title: "应用简介",
width: "20%",
scopedSlots: { customRender: "summary" },
},
{
title: "应用类型",
scopedSlots: { customRender: "appType" },
},
{
title: "下发设备",
dataIndex: "downDevCount",
},
{
title: "上架/下架",
scopedSlots: { customRender: "shelves" },
},
{
title: "操作",
width: "10%",
scopedSlots: { customRender: "action" },
},
];
return {
api: process.env.VUE_APP_API_BASE_URL.includes("base")
? process.env.VUE_APP_API_BASE_URL.replace("base", "")
......@@ -183,9 +189,16 @@ export default {
siteVisible: false,
};
},
created() {
this.getAppList();
// 详情页返回不刷新数据
activated() {
if (!this.$route.meta.isBack) {
Object.assign(this.$data, this.$options.data());
this.getAppList();
} else {
this.$route.meta.isBack = false;
}
},
created() {},
methods: {
// 获取应用列表
async getAppList() {
......
......@@ -18,15 +18,15 @@
v-for="(v, i) in form.appInfoFieldList"
:key="v.fieldCode"
:label="v.fieldName"
:class="{ content: v.fieldType == 'text' }"
:class="{
content: v.fieldType == 'text',
'upload-item': v.fieldType == 'upload',
}"
:prop="`appInfoFieldList.${i}.fieldValue`"
:rules="{
required: v.fieldNull ? false : true,
message: `${v.fieldName}不能为空`,
trigger:
v.fieldType == 'date' || v.fieldType == 'text'
? 'change'
: 'blur',
trigger: v.fieldType == 'text' ? 'blur' : 'change',
}"
>
<a-input
......@@ -53,6 +53,21 @@
<div v-else-if="v.fieldType == 'text'" class="content-box">
<YQuillEditor v-model="v.fieldValue" height="auto"></YQuillEditor>
</div>
<a-upload
v-else-if="v.fieldType == 'upload'"
:action="api2 + 'file/commonupload'"
:multiple="false"
:file-list="v.fileList"
@change="
(info) => {
handleChange(info, v);
}
"
>
<a-button type="primary">
<a-icon type="upload" /> 点击上传
</a-button>
</a-upload>
</a-form-model-item>
</a-form-model>
</div>
......@@ -98,6 +113,10 @@ export default {
},
data() {
return {
api: process.env.VUE_APP_API_BASE_URL.includes("base")
? process.env.VUE_APP_API_BASE_URL.replace("base", "")
: process.env.VUE_APP_API_BASE_URL,
api2: process.env.VUE_APP_API_BASE_URL + "/",
labelCol: {
span: 2,
},
......@@ -151,14 +170,44 @@ export default {
delete v.id;
}
v.fieldValue = "";
if (v.fieldType == "upload") {
v.fileList = [];
}
return v;
});
this.form.appId = this.$route.query.id;
},
// 编辑
onEdit(data) {
data.appInfoFieldList.forEach((v) => {
if (v.fieldType == "upload") {
v.fileList = [
{
uid: v.id,
name: v.fieldValue,
status: "done",
url: v.fieldValue,
},
];
}
});
this.form = { ...data };
},
// 文件上传
handleChange(info, row) {
let fileList = [...info.fileList];
fileList = fileList.slice(-1);
fileList = fileList.map((file) => {
if (file.response) {
file.url = file.response.url;
} else {
file.url = "";
}
return file;
});
row.fileList = fileList;
row.fieldValue = fileList.map((v) => v.url).join(",");
},
},
};
</script>
......@@ -201,4 +250,7 @@ export default {
display: flex;
}
}
.upload-item {
display: block !important;
}
</style>
\ No newline at end of file
......@@ -82,6 +82,10 @@ const fieldTypeItem = [
value: "date",
label: "日期选择框",
},
{
value: "upload",
label: "文件上传",
},
{
value: "text",
label: "富文本",
......@@ -117,7 +121,7 @@ export default {
fieldName: [
{ required: true, message: "请输入字段名称", trigger: "blur" },
],
fieldTyp: [
fieldType: [
{ required: true, message: "请选择字段类型", trigger: "change" },
],
fieldNull: [
......
......@@ -30,6 +30,7 @@
showTotal: (total) => `共 ${total} 条`,
current: leftCurrent,
total: leftTotal,
pageSize: leftSize,
showSizeChanger: true,
showQuickJumper: true,
pageSizeOptions: pageSizeOptions,
......@@ -97,6 +98,7 @@
showTotal: (total) => `共 ${total} 条`,
current: rightCurrent,
total: rightTotal,
pageSize: rightSize,
showSizeChanger: true,
showQuickJumper: true,
pageSizeOptions: pageSizeOptions,
......@@ -175,7 +177,7 @@ const leftColumns = [
},
{
title: "操作",
width: "20%",
width: "110px",
scopedSlots: {
customRender: "action",
},
......@@ -197,7 +199,7 @@ const rightColumns = [
},
{
title: "操作",
width: "20%",
width: "110px",
scopedSlots: {
customRender: "action",
},
......
......@@ -44,6 +44,7 @@
showTotal: (total) => `共 ${total} 条`,
current: leftCurrent,
total: leftTotal,
pageSize: leftSize,
showSizeChanger: true,
showQuickJumper: true,
defaultPageSize: leftSize,
......@@ -117,6 +118,7 @@
showTotal: (total) => `共 ${total} 条`,
current: rightCurrent,
total: rightTotal,
pageSize: rightSize,
showSizeChanger: true,
showQuickJumper: true,
pageSizeOptions: pageSizeOptions,
......@@ -196,7 +198,7 @@ const leftColumns = [
},
{
title: "操作",
width: "20%",
width: "110px",
scopedSlots: {
customRender: "action",
},
......@@ -222,7 +224,7 @@ const rightColumns = [
},
{
title: "操作",
width: "20%",
width: "110px",
scopedSlots: {
customRender: "action",
},
......
......@@ -28,6 +28,7 @@
showTotal: (total) => `共 ${total} 条`,
current: leftCurrent,
total: leftTotal,
pageSize: leftSize,
showSizeChanger: true,
showQuickJumper: true,
pageSizeOptions: pageSizeOptions,
......@@ -85,6 +86,7 @@
:pagination="{
current: rightCurrent,
total: rightTotal,
pageSize: rightSize,
showSizeChanger: true,
showQuickJumper: true,
pageSizeOptions: pageSizeOptions,
......@@ -263,7 +265,7 @@ const leftColumns = [
{
title: "操作",
width: "20%",
width: "110px",
scopedSlots: {
customRender: "action",
},
......@@ -290,7 +292,7 @@ const rightColumns = [
},
{
title: "操作",
width: "20%",
width: "110px",
scopedSlots: {
customRender: "action",
},
......
......@@ -33,6 +33,7 @@
showTotal: (total) => `共 ${total} 条`,
current: current,
total: total,
pageSize: size,
showSizeChanger: true,
showQuickJumper: true,
pageSizeOptions: pageSizeOptions,
......@@ -252,7 +253,7 @@ const columns = [
},
{
title: "操作",
width: "9%",
width: "120px",
scopedSlots: { customRender: "action" },
},
];
......
<template>
<div class="index">
<keep-alive>
<!-- 需要缓存的视图组件 -->
<router-view v-if="$route.meta.keepAlive"> </router-view>
</keep-alive>
<!-- 不需要缓存的视图组件 -->
<router-view v-if="!$route.meta.keepAlive"> </router-view>
<router-view> </router-view>
</div>
</template>
......
......@@ -41,6 +41,7 @@
showTotal: (total) => `共 ${total} 条`,
current: Current,
total: total,
pageSize: size,
size: 'middle',
showSizeChanger: true,
showQuickJumper: true,
......@@ -217,7 +218,7 @@ const leftColumns = [
},
{
title: "操作",
width: "12%",
width: "110px",
scopedSlots: {
customRender: "action",
},
......
......@@ -21,49 +21,51 @@
</div>
<!-- 部门管理 -->
<div class="department-list">
<div v-if="department.length">
<div
:class="{ department_off: true, active: active === i }"
v-for="(v, i) in department"
:key="v.id"
@click="changeDept(v.id, i)"
>
<div class="department-title">
<div class="department_a">
<a-tooltip>
<template slot="title"> {{ v.name }} </template>
{{ v.name }}
</a-tooltip>
</div>
<div class="department_icon_edit">
<a-tooltip>
<template slot="title"> 查看编辑 </template>
<a-icon
type="edit"
class="department_edit"
title="编辑"
@click="showModal(v)"
/>
</a-tooltip>
<a-tooltip>
<template slot="title"> 删除 </template>
<a-spin :spinning="deptLoading">
<div v-if="department.length">
<div
:class="{ department_off: true, active: active === i }"
v-for="(v, i) in department"
:key="v.id"
@click="changeDept(v.id, i)"
>
<div class="department-title">
<div class="department_a">
<a-tooltip>
<template slot="title"> {{ v.name }} </template>
{{ v.name }}
</a-tooltip>
</div>
<div class="department_icon_edit">
<a-tooltip>
<template slot="title"> 查看编辑 </template>
<a-icon
type="edit"
class="department_edit"
title="编辑"
@click="showModal(v)"
/>
</a-tooltip>
<a-tooltip>
<template slot="title"> 删除 </template>
<a-icon
type="delete"
@click="delDepartment(v.id)"
class="delete"
department_del
/>
</a-tooltip>
<a-icon
type="delete"
@click="delDepartment(v.id)"
class="delete"
department_del
/>
</a-tooltip>
</div>
</div>
<div>
<div class="department_span">简称:{{ v.deptAbb }}</div>
<div>联系电话:{{ v.deptTelphone }}</div>
</div>
</div>
<div>
<div class="department_span">简称:{{ v.deptAbb }}</div>
<div>联系电话:{{ v.deptTelphone }}</div>
</div>
</div>
</div>
<a-empty style="margin-top: 20px" :image="simpleImage" v-else />
<a-empty style="margin-top: 20px" :image="simpleImage" v-else />
</a-spin>
</div>
</div>
......@@ -97,6 +99,7 @@
showTotal: (total) => `共 ${total} 条`,
current: page,
total: total,
pageSize: size,
showSizeChanger: true,
showQuickJumper: true,
pageSizeOptions: pageSizeOptions,
......@@ -134,12 +137,14 @@
{{ text.createTime | dateFormat }}
</template>
<!-- 操作 -->
<span slot="action" slot-scope="text">
<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>
</span>
<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>
</div>
</a-table>
</div>
</div>
......@@ -309,6 +314,7 @@ export default {
data() {
return {
loading: false,
deptLoading: false,
simpleImage: Empty.PRESENTED_IMAGE_SIMPLE,
title: "新增部门",
WindowTitle: "新增窗口",
......@@ -377,6 +383,7 @@ export default {
// 新增事项页面返回不刷新页面
activated() {
if (!this.$route.meta.isBack) {
Object.assign(this.$data, this.$options.data());
this.getDeptListData();
this.getBusinessData();
this.getWindowListData();
......@@ -399,12 +406,14 @@ export default {
},
// 获取部门列表
async getDeptListData(obj = {}) {
this.deptLoading = true;
let res = await getDeptList({
siteId: this.siteId,
page: 1,
size: -1,
...obj,
});
this.deptLoading = false;
let { code, data } = res.data;
if (code === 1) {
this.department = data.data;
......@@ -714,7 +723,7 @@ export default {
background-color: #fff;
}
.edit {
color: rgb(41, 184, 41);
color: #03d76f;
margin-right: 5px;
}
.delete {
......@@ -754,6 +763,7 @@ export default {
// }
.business-list {
display: flex;
align-items: flex-start;
/deep/ .ant-form-item-label {
line-height: 20px;
}
......
......@@ -27,6 +27,7 @@
showTotal: (total) => `共 ${total} 条`,
current: page,
total: total,
pageSize: size,
showSizeChanger: true,
showQuickJumper: true,
pageSizeOptions: pageSizeOptions,
......@@ -62,8 +63,10 @@
</template>
<!-- 操作 -->
<template slot="action" slot-scope="text">
<a type="primary" @click="handleEdit(text)" class="edit">编辑</a>
<a class="delet" @click="handleDel(text.id)">删除</a>
<a-space>
<a @click="handleEdit(text)" class="edit">编辑</a>
<a class="delet" @click="handleDel(text.id)">删除</a>
</a-space>
</template>
</a-table>
</div>
......@@ -122,7 +125,7 @@ const columns = [
},
{
title: "操作",
width: "10%",
width: "110px",
scopedSlots: {
customRender: "action",
},
......@@ -288,8 +291,7 @@ export default {
letter-spacing: normal;
}
.edit {
color: rgb(41, 184, 41);
margin-right: 40px;
color: #03d76f;
}
.delet {
color: red;
......
......@@ -7,206 +7,209 @@
<div class="line"></div>
<div class="main-right right ff">
<div class="right_box">
<div v-if="siteData.length" class="rigth-content">
<div
v-show="active === index"
v-for="(item, index) in siteData"
:key="item.id"
>
<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)"
>删除</a-button
>
<a-spin size="large" :spinning="loading">
<div class="right_box">
<div v-if="siteData.length" class="rigth-content">
<div
v-show="active === index"
v-for="(item, index) in siteData"
:key="item.id"
>
<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)"
>删除</a-button
>
</div>
</div>
</div>
<div class="website-content">
<div class="base_message">
<div class="color_title">基本信息</div>
<div class="base_main">
<a-row>
<a-col :span="8">
<span>中心名称:</span>
<span>{{ item.siteName }}</span>
</a-col>
<a-col :span="8">
<span>中心编号:</span>
<span>{{ item.siteCode }}</span>
</a-col>
<a-col :span="8">
<span>区域编号:</span>
<span>{{ item.areaCode }}</span>
</a-col>
</a-row>
<div class="website-content">
<div class="base_message">
<div class="color_title">基本信息</div>
<div class="base_main">
<a-row>
<a-col :span="8">
<span>中心名称:</span>
<span>{{ item.siteName }}</span>
</a-col>
<a-col :span="8">
<span>中心编号:</span>
<span>{{ item.siteCode }}</span>
</a-col>
<a-col :span="8">
<span>区域编号:</span>
<span>{{ item.areaCode }}</span>
</a-col>
</a-row>
<a-row>
<a-col :span="8">
<span>ip:</span>
<span>{{ item.siteIp }}</span>
</a-col>
<a-col :span="8">
<span>中心端口:</span>
<span>{{ item.sitePort }}</span>
</a-col>
<a-col :span="8">
<span>中心电话:</span>
<span>{{ item.siteTel }}</span>
</a-col>
</a-row>
<a-row>
<a-col :span="8">
<span>ip:</span>
<span>{{ item.siteIp }}</span>
</a-col>
<a-col :span="8">
<span>中心端口:</span>
<span>{{ item.sitePort }}</span>
</a-col>
<a-col :span="8">
<span>中心电话:</span>
<span>{{ item.siteTel }}</span>
</a-col>
</a-row>
<a-row>
<a-col :span="8">
<span>站点负责人:</span>
<span>{{ item.leadingOfficial }}</span>
</a-col>
<a-col :span="8">
<span>负责人电话:</span>
<span>{{ item.leadingOfficialTelephone }}</span>
</a-col>
</a-row>
<a-row>
<a-col :span="8">
<span>站点负责人:</span>
<span>{{ item.leadingOfficial }}</span>
</a-col>
<a-col :span="8">
<span>负责人电话:</span>
<span>{{ item.leadingOfficialTelephone }}</span>
</a-col>
</a-row>
<a-row>
<a-col :span="8">
<span>总栋数:</span>
<span>{{ item.building }}</span>
</a-col>
<a-col :span="8">
<span>总楼层:</span>
<span>{{ item.level }}</span>
</a-col>
</a-row>
<a-row>
<a-col :span="8">
<span>总栋数:</span>
<span>{{ item.building }}</span>
</a-col>
<a-col :span="8">
<span>总楼层:</span>
<span>{{ item.level }}</span>
</a-col>
</a-row>
<a-row>
<a-col :span="8">
<span>中心位置:</span>
<span
>{{ item.proCode }} {{ item.cityCode }}
{{ item.districtCode }}</span
>
</a-col>
<a-col :span="8">
<span>详细位置:</span>
<span>{{ item.detailAddress }}</span>
</a-col>
<a-col :span="8">
<span>经纬度:</span>
<span>{{ `${item.longitude}, ${item.latitude}` }}</span>
</a-col>
</a-row>
<a-row>
<a-col :span="8">
<span>中心位置:</span>
<span
>{{ item.proCode }} {{ item.cityCode }}
{{ item.districtCode }}</span
>
</a-col>
<a-col :span="8">
<span>详细位置:</span>
<span>{{ item.detailAddress }}</span>
</a-col>
<a-col :span="8">
<span>经纬度:</span>
<span>{{ `${item.longitude}, ${item.latitude}` }}</span>
</a-col>
</a-row>
<a-row>
<a-col :span="19">
<span>中心简介:</span>
<div class="col_item">
<div class="detail_place">{{ item.siteRemark }}</div>
<span @click="cookAll(item.siteRemark)">查看全部</span>
</div>
</a-col>
</a-row>
<a-row>
<a-col :span="19">
<span>中心简介:</span>
<div class="col_item">
<div class="detail_place">{{ item.siteRemark }}</div>
<span @click="cookAll(item.siteRemark)"
>查看全部</span
>
</div>
</a-col>
</a-row>
</div>
</div>
</div>
<div class="office_message">
<div class="color_title">办公信息</div>
<div class="office_main">
<a-row>
<a-col :span="8">
<span>上午上班:</span>
<span v-if="item.amWorkStartTime">{{
item.amWorkStartTime | times
}}</span>
<i v-if="item.amWorkStartTime && item.amWorkEndTime"
></i
>
<span v-if="item.amWorkEndTime">{{
item.amWorkEndTime | times
}}</span>
</a-col>
<a-col :span="8">
<span>下午上班:</span>
<span v-if="item.pmWorkStartTime">{{
item.pmWorkStartTime | times
}}</span>
<i v-if="item.pmWorkStartTime && item.pmWorkEndTime"
></i
>
<span v-if="item.pmWorkEndTime">{{
item.pmWorkEndTime | times
}}</span>
</a-col>
</a-row>
<div class="office_message">
<div class="color_title">办公信息</div>
<div class="office_main">
<a-row>
<a-col :span="8">
<span>上午上班:</span>
<span v-if="item.amWorkStartTime">{{
item.amWorkStartTime | times
}}</span>
<i v-if="item.amWorkStartTime && item.amWorkEndTime"
></i
>
<span v-if="item.amWorkEndTime">{{
item.amWorkEndTime | times
}}</span>
</a-col>
<a-col :span="8">
<span>下午上班:</span>
<span v-if="item.pmWorkStartTime">{{
item.pmWorkStartTime | times
}}</span>
<i v-if="item.pmWorkStartTime && item.pmWorkEndTime"
></i
>
<span v-if="item.pmWorkEndTime">{{
item.pmWorkEndTime | times
}}</span>
</a-col>
</a-row>
<a-row>
<a-col :span="8">
<span>工作日:</span>
<span class="work-day" v-if="item.workday1 === 1"
>星期一</span
>
<span class="work-day" v-if="item.workday2 === 1"
>星期二</span
>
<span class="work-day" v-if="item.workday3 === 1"
>星期三</span
>
<span class="work-day" v-if="item.workday4 === 1"
>星期四</span
>
<span class="work-day" v-if="item.workday5 === 1"
>星期五</span
>
<span class="work-day" v-if="item.workday6 === 1"
>星期六</span
>
<span class="work-day" v-if="item.workday7 === 1"
>星期天</span
>
</a-col>
</a-row>
</div>
</div>
<div class="deploy_module">
<div class="color_title">部署模块</div>
<a-row>
<a-col :span="8">
<span>工作日:</span>
<span class="work-day" v-if="item.workday1 === 1"
>星期一</span
>
<span class="work-day" v-if="item.workday2 === 1"
>星期二</span
>
<span class="work-day" v-if="item.workday3 === 1"
>星期三</span
>
<span class="work-day" v-if="item.workday4 === 1"
>星期四</span
>
<span class="work-day" v-if="item.workday5 === 1"
>星期五</span
>
<span class="work-day" v-if="item.workday6 === 1"
>星期六</span
>
<span class="work-day" v-if="item.workday7 === 1"
>星期天</span
>
<a-col :span="20">
<div class="item_box">
<div
class="item"
v-for="(v, i) in item.modelData"
:key="i"
>
{{ v }}
</div>
</div>
</a-col>
</a-row>
</div>
</div>
<div class="deploy_module">
<div class="color_title">部署模块</div>
<a-row>
<a-col :span="20">
<div class="item_box">
<div
class="item"
v-for="(v, i) in item.modelData"
:key="i"
>
{{ v }}
</div>
</div>
</a-col>
</a-row>
</div>
</div>
</div>
</div>
<div v-else class="empty-show">
<a-empty description="暂无站点" />
<div class="btn_box" v-if="!siteData.length">
<div style="width: 200px">
<a-button block size="large" @click="addSiteAll"
>新增站点</a-button
>
<div v-else class="empty-show">
<a-empty description="暂无站点" />
<div class="btn_box" v-if="!siteData.length">
<div style="width: 200px">
<a-button block size="large" @click="addSiteAll"
>新增站点</a-button
>
</div>
</div>
</div>
</div>
<!-- 切换站点 -->
<!-- <div class="cut-btn">
<!-- 切换站点 -->
<!-- <div class="cut-btn">
<div>
<a-icon
type="vertical-right"
......@@ -222,7 +225,8 @@
/>
</div>
</div> -->
</div>
</div>
</a-spin>
</div>
<!-- 新增站点 -->
......@@ -256,6 +260,7 @@ export default {
data() {
return {
loading: false,
title: "新增站点",
formVisible: false,
allShow: false, //查看全部对话框
......@@ -282,6 +287,7 @@ export default {
},
// 获取站点列表
async getSiteList(info = {}) {
this.loading = true;
let res = await getSiteList(info);
let { data, dict } = res.data.data;
data.forEach((v) => {
......@@ -294,9 +300,11 @@ export default {
);
});
this.siteData = data;
this.loading = false;
},
// 获取站点信息
async getSiteInfo() {
this.loading = true;
let res = await siteInfo({ id: this.siteId });
let { data, dict } = res.data;
data.modelIds = data.modelIds.split(",");
......@@ -307,6 +315,7 @@ export default {
[]
);
this.siteData = [data];
this.loading = false;
},
// 删除
......
......@@ -40,6 +40,7 @@
showTotal: (total) => `共 ${total} 条`,
current: leftCurrent,
total: leftTotal,
pageSize: leftSize,
showSizeChanger: true,
showQuickJumper: true,
pageSizeOptions: pageSizeOptions,
......@@ -133,6 +134,7 @@
showTotal: (total) => `共 ${total} 条`,
current: rightCurrent,
total: rightTotal,
pageSize: rightSize,
showSizeChanger: true,
showQuickJumper: true,
pageSizeOptions: pageSizeOptions,
......@@ -256,7 +258,7 @@ const leftColumns = [
},
{
title: "操作",
width: "20%",
width: "110px",
scopedSlots: {
customRender: "action",
},
......@@ -305,7 +307,7 @@ const rightColumns = [
},
{
title: "操作",
width: "20%",
width: "110px",
scopedSlots: {
customRender: "action",
},
......
......@@ -6,7 +6,43 @@
<div class="person_chang">
<div class="person_gruop">选择部门:</div>
<div class="person_gruop1">
<a-radio-group
<div class="dept-select flex aic">
<div
class="item dept-select-item1"
:class="{ active: deptSearch === '' }"
@click="handleAllDept"
>
全部
</div>
<div
v-show="deptSearch !== ''"
class="item dept-select-item2 active"
>
{{ curDept }}
</div>
<a-popover arrowPointAtCenter placement="rightTop" title="部门列表">
<template slot="content">
<div class="dept-list" v-if="deptData.length">
<a-radio-group v-model="deptSearch" @change="changeDept">
<a-radio
:data-name="v.name"
v-for="v in deptData"
:key="v.id"
:value="v.id"
>
{{ v.name }}
</a-radio>
</a-radio-group>
</div>
<a-empty style="margin-top: 20px" :image="simpleImage" v-else />
</template>
<div class="item dept-select-item3">
<a-icon type="double-right" />
</div>
</a-popover>
</div>
<!-- <a-radio-group
button-style="solid"
v-model="deptSearch"
@change="handleDeptSearch"
......@@ -15,13 +51,52 @@
<a-radio-button v-for="v in deptData" :key="v.id" :value="v.id">{{
v.name
}}</a-radio-button>
</a-radio-group>
</a-radio-group> -->
</div>
</div>
<div class="person_chang">
<div class="person_window">选择窗口:</div>
<div class="person_window1">
<a-radio-group
<div class="dept-select flex aic">
<div
class="item dept-select-item1"
:class="{ active: windowSearch === '' }"
@click="handleAllWindow"
>
全部
</div>
<div
v-show="windowSearch !== ''"
class="item dept-select-item2 active"
>
{{ curWindow }}
</div>
<a-popover arrowPointAtCenter placement="rightTop" title="窗口列表">
<template slot="content">
<div class="dept-list" v-if="windowData.length">
<a-radio-group
v-model="windowSearch"
@change="handleWindowSearch"
>
<a-radio
:data-name="v.name"
v-for="v in windowData"
:key="v.id"
:value="v.id"
>
{{ v.name }}
</a-radio>
</a-radio-group>
</div>
<a-empty style="margin-top: 20px" :image="simpleImage" v-else />
</template>
<div class="item dept-select-item3">
<a-icon type="double-right" />
</div>
</a-popover>
</div>
<!-- <a-radio-group
button-style="solid"
v-model="windowSearch"
@change="handleWindowSearch"
......@@ -30,7 +105,7 @@
<a-radio-button v-for="v in windowData" :key="v.id" :value="v.id">{{
v.name
}}</a-radio-button>
</a-radio-group>
</a-radio-group> -->
</div>
</div>
<div class="on btn">
......@@ -48,7 +123,7 @@
<a style="color: #1890ff" @click="changePwd"> 修改密码</a>
</a-menu-item> -->
</a-menu>
<a-button type="primary" style="margin-left: 8px">
<a-button style="margin-left: 8px">
更多操作 <a-icon type="down" />
</a-button>
</a-dropdown>
......@@ -69,6 +144,7 @@
showTotal: (total) => `共 ${total} 条`,
current: page,
total: total,
pageSize: size,
showSizeChanger: true,
showQuickJumper: true,
pageSizeOptions: pageSizeOptions,
......@@ -158,6 +234,7 @@ import addpersonnel from "./components/addpersonnel.vue";
import EditPwd from "./components/EditPwd";
import EditPersonel from "./components/EditPersonel.vue";
import local from "@/utils/local";
import { Empty } from "ant-design-vue";
// import axios from "axios";
import {
getDeptList,
......@@ -230,7 +307,7 @@ const columns = [
{
title: "操作",
width: "12%",
width: "160px",
scopedSlots: {
customRender: "action",
},
......@@ -245,6 +322,7 @@ export default {
data() {
return {
columns,
simpleImage: Empty.PRESENTED_IMAGE_SIMPLE,
loading: false,
visibleEditPwd: false,
editVisible: false,
......@@ -264,6 +342,8 @@ export default {
pageSizeOptions: ["10", "30", "50", "100"],
designationDict: {}, // 称号字典
politicalDict: {}, // 政治面貌字典
curDept: "", // 当前选中部门
curWindow: "", // 当前选中窗口
};
},
created() {
......@@ -314,14 +394,30 @@ export default {
this.politicalDict = dict.politicalstatus;
this.loading = false;
},
// 部门搜索
handleDeptSearch() {
// 选择全部部门
handleAllDept() {
this.deptSearch = "";
this.windowSearch = "";
this.getWindowData();
this.getWorkmanData();
},
// 选择部门
changeDept(e) {
let name = e.nativeEvent.target.labels[0].dataset.name;
this.curDept = name;
this.windowSearch = "";
this.getWindowData();
this.getWorkmanData();
},
// 选择全部窗口
handleAllWindow() {
this.windowSearch = "";
this.getWorkmanData();
},
// 窗口搜索
handleWindowSearch() {
handleWindowSearch(e) {
let name = e.nativeEvent.target.labels[0].dataset.name;
this.curWindow = name;
this.getWorkmanData();
},
// 删除
......@@ -532,7 +628,7 @@ export default {
object-fit: cover;
}
.edit {
color: #1bbc9b;
color: #03d76f;
}
.edit-pwd {
color: #1890ff;
......@@ -601,4 +697,45 @@ export default {
/deep/.ant-upload-list {
width: 250px;
}
.dept-select {
.item {
padding: 4px 10px;
cursor: pointer;
&:hover {
color: #1890ff;
}
}
.dept-select-item1 {
border: 1px solid #ccc;
border-radius: 4px 0px 0px 4px;
border-right: none;
}
.dept-select-item2 {
border: 1px solid #ccc;
border-right: none;
}
.dept-select-item3 {
border: 1px solid #ccc;
border-radius: 0px 4px 4px 0px;
}
.active {
background-color: #1890ff;
border-color: #1890ff;
color: #fff;
&:hover {
color: #fff;
}
}
}
.dept-list {
width: 500px;
min-height: 50px;
max-height: 400px;
overflow-y: auto;
.ant-radio-group {
display: grid;
grid-template-columns: auto auto;
grid-gap: 10px;
}
}
</style>
\ No newline at end of file
......@@ -144,7 +144,7 @@ const options = {
path: "",
name: "应用集市",
component: () => import("@/pages/basicset/appmarket/AppMarket"),
meta: { invisible: true },
meta: { invisible: true, keepAlive: true },
},
{
path: "appdetails",
......
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