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

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

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