Commit 72c683de authored by “yiyousong”'s avatar “yiyousong”

feat:新增初始区域、修改窗口关联事项

parent f3e14666
......@@ -7,8 +7,6 @@ VUE_APP_USER_KEY=admin.user
VUE_APP_SETTING_KEY=admin.setting
VUE_APP_TBAS_KEY=admin.tabs
VUE_APP_TBAS_TITLES_KEY=admin.tabs.titles
# 顶层区域id
VUE_APP_topParent=四川省
#VUE_APP_API_BASE_URL=http://api.iczer.com
#门户
VUE_APP_API_portal_URL=http://192.168.0.98:11072
\ No newline at end of file
......@@ -52,3 +52,18 @@
border-radius: 5px;
background: #fff;
}
.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);
}
}
\ No newline at end of file
<template>
<div>
<a-modal
v-model="Visible"
title="初始化区域数据"
@ok="handleOk"
@cancel="handleClose"
>
<a-form-model
:model="form"
ref="form"
:label-col="{ span: 5 }"
:wrapper-col="{ span: 19 }"
>
<a-form-model-item label="区域名称" prop="name">
<a-input placeholder="请输入区域名称" v-model="form.name" />
</a-form-model-item>
<a-form-model-item label="区域编码" prop="areaCode">
<a-input placeholder="请输入区域编码" v-model="form.areaCode" />
</a-form-model-item>
</a-form-model>
</a-modal>
</div>
</template>
<script>
import { initArea } from "../../services/basicsetFun";
export default {
props: {
visibleInit: {
required: true,
type: Boolean,
default: false,
},
},
data() {
return {
form: {
name: "",
areaCode: "",
},
};
},
computed: {
Visible: {
get() {
return this.visibleInit;
},
set(val) {
this.$emit("update:visibleInit", val);
},
},
},
methods: {
async handleOk() {
if (this.form.name || this.form.areaCode) {
let res = await initArea(this.form);
let { code, msg } = res.data;
if (code === 1) {
this.$message.success(msg);
this.handleClose();
setTimeout(() => {
location.reload();
}, 2000);
}
} else {
this.$message.warning("区域名称和区域编码至少填写一样");
}
},
// 关闭对话框
handleClose() {
this.$refs.form.resetFields();
this.Visible = false;
},
},
};
</script>
<style lang="less" scoped>
.ant-form-item {
display: flex;
align-items: center !important;
margin-bottom: 15px;
}
/deep/.ant-form-explain {
position: absolute;
}
</style>
\ No newline at end of file
......@@ -17,7 +17,7 @@
// api
import {
getListByParentId,
areaList,
// areaList,
// getSiteList
} from "@/services/basicsetFun";
import local from "@/utils/local";
......@@ -26,7 +26,6 @@ export default {
return {
treeData: [], //树结构
id: "",
topParent: process.env.VUE_APP_topParent,
};
},
......@@ -37,17 +36,9 @@ export default {
methods: {
// 获取区域
async getAreaList() {
let res = await areaList({ name: this.topParent });
let res = await getListByParentId({ parentId: 0 });
const { data, code } = res.data;
if (code === 1) {
console.log(data.data);
data.data = data.data.map((v) => {
return {
label: v.name,
id: v.iid,
};
});
this.treeData = data.data;
}
},
......@@ -63,34 +54,9 @@ export default {
this.treeData = [...this.treeData];
resolve();
});
// if (treeNode.dataRef.children) {
// return;
// }
});
// let { id } = treeNode.dataRef;
// // 获取区域站点列表
// getSiteList({ areaID: id }).then((res) => {
// let { code, data } = res.data;
// if (code === 1) {
// console.log(">>", treeNode.dataRef);
// treeNode.dataRef.children = data.data;
// this.treeData = [...this.treeData];
// resolve();
// }
// });
// // 获取子区域
// getListByParentId({
// parentId: treeNode.dataRef.id,
// }).then((res) => {
// const { data } = res.data;
// treeNode.dataRef.children = data.data;
// this.treeData = [...this.treeData];
// resolve();
// });
// console.log("树", this.treeData);
// });
},
// 选中区域
onSelect(num, node) {
if (num && node.selectedNodes.length > 0) {
let { dataRef } = node.selectedNodes[0].data.props;
......
......@@ -32,7 +32,14 @@
@select="onSelect"
/>
</div>
<div :class="['admin-header-right', headerTheme]">
<div :class="['admin-header-right', headerTheme, 'flex', 'aic']">
<a-button
v-permission="[1]"
type="primary"
class="mr10"
@click="visibleInit = true"
>初始化区域数据</a-button
>
<a-tooltip class="header-item" title="返回门户" placement="bottom">
<a :href="portalUrl + '/#/home/siteArrange'">
<a-icon type="home" /> 返回门户
......@@ -57,6 +64,8 @@
</a-dropdown> -->
</div>
</div>
<!-- 初始化区域数据弹窗 -->
<InitArea :visibleInit.sync="visibleInit"></InitArea>
</a-layout-header>
</template>
......@@ -65,15 +74,17 @@
// import HeaderNotice from './HeaderNotice'
// import HeaderSite from "./HeaderSite";
// import HeaderAvatar from "./HeaderAvatar";
import InitArea from "../../components/initarea/InitArea.vue";
import IMenu from "@/components/menu/menu";
import { mapState, mapMutations } from "vuex";
export default {
name: "AdminHeader",
components: { IMenu },
components: { IMenu, InitArea },
props: ["collapsed", "menuData"],
data() {
return {
visibleInit: false,
langList: [
{ key: "CN", name: "简体中文", alias: "简体" },
{ key: "HK", name: "繁體中文", alias: "繁體" },
......
......@@ -197,6 +197,14 @@
<a-empty v-else :image="simpleImage" />
</a-form-model-item>
</a-form-model>
<!-- <div style="text-align: right">
<a-pagination
simple
:current="businessPage"
:total="businessTotal"
@change="changeBusinessPage"
/>
</div> -->
</a-modal>
</div>
</div>
......@@ -339,6 +347,8 @@ export default {
size: 10,
total: 0,
pageSizeOptions: ["10", "30", "50", "100"],
// businessPage: 1, // 站点业务翻页
// businessTotal: 0, // 站点业务总数
rules: {
businessIds: [
{ required: false, message: "业务不能为空", trigger: "change" },
......@@ -367,9 +377,8 @@ export default {
},
methods: {
handleClick(val) {
Object.assign(this.$data, this.$options.data());
this.siteId = val.id;
this.active = undefined;
this.deptId = "";
this.getDeptListData({ siteId: val.id });
this.getWindowListData({ siteId: val.id });
this.getBusinessData({ siteId: val.id });
......@@ -427,6 +436,11 @@ export default {
.flat();
this.business = this.delChildren(this.business);
},
// 关联业务翻页
// changeBusinessPage(cur) {
// this.businessPage = cur;
// this.getBusinessData();
// },
// 新增部门
showModalAdd() {
if (!this.siteId) {
......@@ -481,7 +495,6 @@ export default {
},
});
},
// 窗口列表
async getWindowListData(obj = {}) {
this.loading = true;
......@@ -500,7 +513,6 @@ export default {
this.loading = false;
}
},
// 新增窗口
addModal() {
if (!this.siteId) {
......@@ -572,7 +584,6 @@ export default {
}
this.visibleWork = true;
},
// 保存窗口关联业务
handleWork() {
this.$refs.formData.validate(async (valid) => {
......@@ -606,7 +617,7 @@ export default {
siteId: data.siteId,
windowMatterList: data.windowMatterList,
};
this.$refs.addWindowMatter.getMatterInfo(obj);
this.$refs.addWindowMatter.getDeptInfo(obj);
},
},
};
......
......@@ -17,7 +17,10 @@
<div class="site_box">
<div class="site_message">站点信息</div>
<div class="btn-box">
<a-button type="primary" @click="handleSync(item.id)"
<a-button
v-permission="[1]"
type="primary"
@click="handleSync(item.id)"
>同步数据</a-button
>
<a-button type="primary" @click="editSiteInfo(item)"
......@@ -80,7 +83,7 @@
<span>{{ item.building }}</span>
</a-col>
<a-col :span="8">
<span>总楼</span>
<span>总楼</span>
<span>{{ item.level }}</span>
</a-col>
</a-row>
......
......@@ -400,6 +400,7 @@ export default {
},
// 编辑
onEdit(row) {
console.log(row);
this.formData = { ...row };
},
},
......
......@@ -139,20 +139,6 @@
</span>
</a-table>
</div>
<!-- 分页 -->
<!-- <div class="pagination" v-if="total">
<a-pagination
v-model="page"
:show-total="(total) => `共 ${total} 条`"
:total="total"
show-less-items
@change="handlePagination"
show-size-changer
show-quick-jumper
:pageSizeOptions="pageSizeOptions"
@showSizeChange="showSizeChange"
/>
</div> -->
</div>
<!-- 新增工作人员 -->
<addpersonnel
......@@ -521,8 +507,9 @@ export default {
}
}
.right {
padding-top: 10px;
width: 100%;
padding-right: 20px;
padding-top: 10px;
color: #333;
overflow-y: auto;
padding-left: 20px;
......
......@@ -27,6 +27,7 @@ module.exports = {
treeselect: `${BASE_URL}/area/treeselect`,
save: `${BASE_URL}/area/save`,
delete: `${BASE_URL}/area/delete`,
init: `${BASE_URL}/base/area/genSubAreaByAreaName `,
},
// 站点
site: {
......
......@@ -3,6 +3,10 @@ import { area, site, model } from "@/services/basicsetApi";
import { request, METHOD } from "@/utils/request";
// 区域
// 初始化区域数据
export async function initArea(data) {
return request(area.init, METHOD.POST, data);
}
// 获取列表
export async function areaList(data) {
return request(area.list, METHOD.POST, data);
......
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