Commit a13d47f0 authored by “yiyousong”'s avatar “yiyousong”

fix:取消弹窗点击蒙层关闭

parent 43cc05dd
......@@ -5,16 +5,16 @@
<!-- <div class="line"></div> -->
<div class="right ff">
<a-tabs default-active-key="1">
<a-tab-pane forceRender key="1" tab="业务管理">
<a-tabs :default-active-key="1" @change="handleChange">
<a-tab-pane forceRender :key="1" tab="业务管理">
<BusinessTabs1 ref="BusinessTabs1" />
</a-tab-pane>
<a-tab-pane forceRender key="2" tab="事项管理">
<a-tab-pane forceRender :key="2" tab="事项管理">
<BusinessTabs2 ref="BusinessTabs2" />
</a-tab-pane>
<a-tab-pane forceRender key="3" tab="业务事项关联">
<a-tab-pane forceRender :key="3" tab="业务事项关联">
<BusinessTabs3 ref="BusinessTabs3" />
</a-tab-pane>
</a-tabs>
......@@ -37,36 +37,52 @@ export default {
},
data() {
return {};
return {
siteId: "", // 站点id
};
},
methods: {
// 选择站点
handleClick(val) {
handleClick(siteInfo) {
this.siteId = siteInfo.id;
if (this.$refs.BusinessTabs1) {
this.$refs.BusinessTabs1.getSiteBusinessData({ siteId: val.id });
this.$refs.BusinessTabs1.getSiteInfo(val);
this.$refs.BusinessTabs1.getSiteInfo(siteInfo);
}
if (this.$refs.BusinessTabs2) {
this.$refs.BusinessTabs2.getMatterSiteData({ siteId: val.id });
this.$refs.BusinessTabs2.getSiteInfo(val);
this.$refs.BusinessTabs2.getSiteInfo(siteInfo);
}
if (this.$refs.BusinessTabs3) {
this.$refs.BusinessTabs3.getSiteBusinessData({ siteId: val.id });
this.$refs.BusinessTabs3.getMatterSiteData({ siteId: val.id });
this.$refs.BusinessTabs3.getBusinessMatterData({ siteId: val.id });
this.$refs.BusinessTabs3.getSiteInfo(val);
this.$refs.BusinessTabs3.getSiteInfo(siteInfo);
}
},
// 点击区域
clickArea() {
this.$refs.BusinessTabs1.getSiteInfo("");
this.siteId = "";
this.$refs.BusinessTabs1.getEmpty();
this.$refs.BusinessTabs2.getSiteInfo("");
this.$refs.BusinessTabs2.getEmpty();
this.$refs.BusinessTabs3.getSiteInfo("");
this.$refs.BusinessTabs3.getEmpty();
},
// 切开tab
handleChange(key) {
if (this.siteId) {
console.log(this.siteId, key);
switch (key) {
case 1:
console.log(1);
this.$refs.BusinessTabs1.getSiteInfo(this.siteId);
break;
case 2:
console.log(2);
this.$refs.BusinessTabs2.getSiteInfo(this.siteId);
break;
case 3:
console.log(3);
this.$refs.BusinessTabs3.getSiteInfo(this.siteId);
break;
}
}
},
},
};
</script>
......
......@@ -255,18 +255,19 @@ export default {
businessIds: "", // 业务id
};
},
created() {
this.getBusinessListData();
},
created() {},
methods: {
// 获取站点
getSiteInfo(val) {
Object.assign(this.$data, this.$options.data()); //获取data源对象,覆盖当前data对象状态
this.siteId = val.id;
this.getSiteBusinessData();
this.getBusinessListData();
},
getEmpty() {
this.businessData = [];
this.leftTotal = 0;
Object.assign(this.$data, this.$options.data()); //获取data源对象,覆盖当前data对象状态
},
// 去掉空children
delChildren(arr) {
return arr.map((v) => {
......@@ -291,7 +292,6 @@ export default {
if (code === 1) {
this.leftTotal = data.pageInfo.totalResult;
this.businessData = this.delChildren(data.data);
console.log(this.businessData);
this.leftLoading = false;
}
},
......
......@@ -292,18 +292,19 @@ export default {
};
},
created() {
this.getMatterListData();
// this.getMatterSiteData();
},
methods: {
// 获取站点
getSiteInfo(val) {
Object.assign(this.$data, this.$options.data()); //获取data源对象,覆盖当前data对象状态
this.siteId = val.id;
this.getMatterSiteData();
this.getMatterListData();
},
getEmpty() {
this.matterSiteData = [];
this.leftTotal = 0;
Object.assign(this.$data, this.$options.data()); //获取data源对象,覆盖当前data对象状态
},
// 获取站点事项
async getMatterSiteData(search = {}) {
......
......@@ -148,6 +148,7 @@
<!-- 关联 -->
<a-modal
v-model="isCorrelation"
:maskClosable="false"
title="关联确认"
@cancel="handleclose"
:confirmLoading="iscConfirmLoading"
......@@ -191,6 +192,7 @@
</a-modal>
<!-- 解除 -->
<a-modal
:maskClosable="false"
v-model="isUnbound"
title="解除确认"
@ok="handleUnbound"
......@@ -231,6 +233,7 @@
</a-modal>
<!-- 批量解除 -->
<a-modal
:maskClosable="false"
v-model="isUnboundAll"
title="解除确认"
:confirmLoading="iscConfirmLoading"
......@@ -402,13 +405,14 @@ export default {
methods: {
// 获取站点
getSiteInfo(val) {
Object.assign(this.$data, this.$options.data()); //获取data源对象,覆盖当前data对象状态
this.siteId = val.id;
this.getSiteBusinessData({ siteId: val.id });
this.getMatterSiteData({ siteId: val.id });
this.getBusinessMatterData({ siteId: val.id });
},
getEmpty() {
this.businessMatterData = [];
this.SiteMatterData = [];
this.leftTotal = 0;
this.rightTotal = 0;
Object.assign(this.$data, this.$options.data()); //获取data源对象,覆盖当前data对象状态
},
// 获取站点业务关联列表
async getBusinessMatterData(search = {}) {
......
......@@ -4,6 +4,7 @@
:visible="visibleAll"
:confirm-loading="confirmLoading"
@cancel="handleCancel"
:maskClosable="false"
>
<a-button slot="footer" @click="handleReset">重置</a-button>
<a-button slot="footer" type="primary" @click="handleOk">保存</a-button>
......@@ -69,7 +70,7 @@
</template>
<script>
import { checkEn } from "@/utils/validate";
import { checkEn, checkBusinessName } from "@/utils/validate";
// import YSwitch from "@/components/yswitch/YSwitch.vue";
import {
saveBusiness,
......@@ -102,7 +103,9 @@ export default {
isBusiness: [
{ required: true, message: "请选择业务等级", trigger: "change" },
],
name: [{ required: true, message: "请输入业务名称", trigger: "blur" }],
name: [
{ required: true, validator: checkBusinessName, trigger: "blur" },
],
englishname: [{ required: true, validator: checkEn, trigger: "blur" }],
// flownum: [{ required: true, validator: checkFlowNum, trigger: "blur" }],
},
......@@ -194,8 +197,6 @@ export default {
this.$bus.$emit("newBusiness");
}
this.confirmLoading = false;
} else {
this.$message.error(msg);
}
}
});
......
......@@ -102,7 +102,12 @@
</div> -->
</a-card>
<!-- 新增模块 -->
<a-modal v-model="visible" :title="title" @cancel="handleClose">
<a-modal
v-model="visible"
:maskClosable="false"
:title="title"
@cancel="handleClose"
>
<template slot="footer">
<a-button type="primary" @click="handleOk">确定</a-button>
<a-button @click="handleReset">重置</a-button>
......
......@@ -3,7 +3,8 @@
:title="title"
@ok="handleOk"
:visible="Visible"
@cancel="Visible = false"
@cancel="handleClose"
:maskClosable="false"
>
<a-form-model
:model="form"
......@@ -45,7 +46,7 @@
<a-row>
<a-col :span="12">
<a-form-model-item label="联系电话" prop="deptTelphone">
<a-input v-model="form.deptTelphone" placeholder="请输入联系电话" />
<a-input v-model="form.deptTelphone" placeholder="请输入座机电话" />
</a-form-model-item>
</a-col>
<a-col :span="12">
......@@ -101,6 +102,16 @@ import YSwitch from "@/components/yswitch/YSwitch.vue";
export default {
components: { YSwitch },
data() {
const changeLandline = (rule, value, callback) => {
if (!value) {
callback(new Error("请输入座机号"));
callback();
} else if (!/^[0][1-9]{2,3}-[0-9]{5,10}$/.test(value)) {
callback(new Error("区号-电话号码"));
} else {
callback();
}
};
return {
labelCol: { span: 6 },
wrapperCol: { span: 14 },
......@@ -133,7 +144,7 @@ export default {
{ required: true, message: "部门编号不能为空", trigger: "blur" },
],
deptTelphone: [
{ required: true, message: "部门电话不能为空", trigger: "blur" },
{ required: true, validator: changeLandline, trigger: "blur" },
],
},
};
......@@ -187,13 +198,18 @@ export default {
let { code, msg } = res.data;
if (code === 1) {
this.$refs.formData.resetFields();
this.Visible = false;
this.$message.success(msg);
this.$emit("addDept");
this.handleClose();
}
}
});
},
// 关闭
handleClose() {
this.$refs.formData.resetFields();
this.Visible = false;
},
},
};
</script>
......@@ -203,7 +219,9 @@ export default {
width: 800px;
}
.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
......@@ -4,6 +4,7 @@
@ok="handleAdd"
:visible="Visible"
@cancel="handleClose"
:maskClosable="false"
>
<a-form-model
ref="formData"
......@@ -186,8 +187,8 @@ export default {
fromnum: "", // 窗口编号
hongqi: "", // 红旗窗口
summary: "", // 备注
building: undefined, // 楼栋
level: undefined, // 楼层
building: 1, // 楼栋
level: 1, // 楼层
},
rules: {
siteName: [
......
<template>
<a-modal
:maskClosable="false"
:title="title"
@ok="handleOk"
:visible="Visible"
......
......@@ -175,14 +175,13 @@ export default {
methods: {
// 选择站点
handleClick(val) {
Object.assign(this.$data, this.$options.data());
this.siteId = val.id;
this.getHolidayData();
},
// 点击区域
clickArea() {
this.list = [];
this.total = 0;
this.siteId = "";
Object.assign(this.$data, this.$options.data());
},
// 获取节假日列表
async getHolidayData() {
......
......@@ -4,6 +4,7 @@
:title="title"
:visible="formVisible"
@cancel="closeModal"
:maskClosable="false"
:width="1200"
>
<div slot="footer">
......@@ -66,7 +67,7 @@
<a-input
v-model="formInfo.siteTel"
type="text"
placeholder="请输入中心电话"
placeholder="请输入座机号码:区号-号码"
/>
</a-form-model-item>
<a-form-model-item label="站点负责人" prop="leadingOfficial">
......
......@@ -7,6 +7,7 @@
cancel-text="取消"
@ok="hideModal"
width="820px"
:maskClosable="false"
>
<a-form-model
:model="form"
......@@ -269,12 +270,7 @@
</template>
<script>
import {
getDeptList,
getWindowList,
saveWorkman,
uploadFile,
} from "@/services/dept";
import { getWindowList, saveWorkman, uploadFile } from "@/services/dept";
import { modelList } from "@/services/basicsetFun";
import { changePhone, changeLandline } from "@/utils/validate";
export default {
......@@ -297,6 +293,12 @@ export default {
return {};
},
},
diptData: {
type: Array,
default: () => {
return [];
},
},
},
data() {
return {
......@@ -357,7 +359,6 @@ export default {
{ required: false, validator: changeLandline, trigger: "blur" },
],
},
diptData: [], // 站点部门信息
windowData: [], // 部门窗口信息
};
},
......@@ -386,17 +387,7 @@ export default {
let res = await modelList({ page: 1, size: -1 });
this.modelIds = res.data.data.data;
},
// 获取部门数据
async getDeptData(obj = {}) {
let res = await getDeptList({
page: 1,
size: -1,
siteId: this.siteInfo.siteId,
...obj,
});
let { data } = res.data.data;
this.diptData = data;
},
// 部门选择
async handleDeptSelect(val, node) {
this.form.windowId = undefined;
......@@ -419,16 +410,12 @@ export default {
hideModal() {
this.$refs.formData.validate(async (valid) => {
if (valid) {
let res = await saveWorkman({
...this.form,
...this.siteInfo,
// modelIds: this.form.modelIds.join(","),
});
let res = await saveWorkman(this.form);
let { code, msg } = res.data;
if (code === 1) {
this.$message.success(msg);
this.$parent.getWorkmanData();
this.Visible = false;
this.handleClose();
} else {
this.$message.error(msg);
}
......@@ -440,12 +427,12 @@ export default {
this.form = { ...data };
this.form.loginName && this.$delete(this.form, "loginName");
this.form.loginPwd && this.$delete(this.form, "loginPwd");
this.editWindow(data.deptId);
// this.editWindow(data.deptId);
},
// 关闭对话框
handleClose() {
this.Visible = false;
this.$refs.formData.resetFields();
this.Visible = false;
},
// 照片上传
async uploadImg(info) {
......
......@@ -7,6 +7,7 @@
cancel-text="取消"
@ok="hideModal"
width="820px"
:maskClosable="false"
>
<a-form-model
:model="form"
......@@ -318,12 +319,7 @@
<script>
import { changeAccount, changePassWord } from "@/utils/validate";
import {
getDeptList,
getWindowList,
saveWorkman,
uploadFile,
} from "@/services/dept";
import { getWindowList, saveWorkman, uploadFile } from "@/services/dept";
import { modelList } from "@/services/basicsetFun";
import { changePhone, changeLandline } from "@/utils/validate";
export default {
......@@ -346,6 +342,12 @@ export default {
return {};
},
},
diptData: {
type: Array,
default: () => {
return [];
},
},
},
data() {
return {
......@@ -414,7 +416,6 @@ export default {
{ required: false, validator: changeLandline, trigger: "blur" },
],
},
diptData: [], // 站点部门信息
windowData: [], // 部门窗口信息
};
},
......@@ -442,17 +443,7 @@ export default {
let res = await modelList({ page: 1, size: -1 });
this.modelIds = res.data.data.data;
},
// 获取部门数据
async getDeptData(obj = {}) {
let res = await getDeptList({
page: 1,
size: -1,
siteId: this.siteInfo.siteId,
...obj,
});
let { data } = res.data.data;
this.diptData = data;
},
// 部门选择
async handleDeptSelect(val, node) {
this.form.windowId = undefined;
......@@ -484,7 +475,7 @@ export default {
if (code === 1) {
this.$message.success(msg);
this.$parent.getWorkmanData();
this.Visible = false;
this.handleClose();
} else {
this.$message.error(msg);
}
......
......@@ -157,6 +157,7 @@
<!-- 新增工作人员 -->
<addpersonnel
ref="addpersonnel"
:diptData="deptData"
:visibleAll.sync="visibleAll"
:designationDict="designationDict"
:politicalDict="politicalDict"
......@@ -167,6 +168,7 @@
:editVisible.sync="editVisible"
:designationDict="designationDict"
:politicalDict="politicalDict"
:diptData="deptData"
></EditPersonel>
<!-- 修改密码 -->
<EditPwd ref="EditPwd" :visibleEditPwd.sync="visibleEditPwd"></EditPwd>
......@@ -290,29 +292,24 @@ export default {
created() {},
methods: {
handleClick(val) {
Object.assign(this.$data, this.$options.data());
this.siteId = val.id;
this.getDeptList({ siteId: val.id });
this.getWindowData({ siteId: val.id });
this.getWorkmanData({ siteId: val.id });
if (this.$refs.addpersonnel) {
this.$refs.addpersonnel.getSiteInfo(val);
this.$refs.addpersonnel.getDeptData({ siteId: val.id });
}
if (this.$refs.EditPersonel) {
this.$refs.EditPersonel.getSiteInfo(val);
this.$refs.EditPersonel.getDeptData({ siteId: val.id });
}
this.$refs.addpersonnel.getSiteInfo(val);
},
clickArea() {
this.siteId = "";
this.WorkmanData = [];
this.deptData = [];
this.windowData = [];
this.total = 0;
Object.assign(this.$data, this.$options.data());
},
// 获取部门
async getDeptList(obj = {}) {
let res = await getDeptList({ siteId: this.siteId, ...obj });
let res = await getDeptList({
page: 1,
size: -1,
siteId: this.siteId,
...obj,
});
let { data } = res.data.data;
this.deptData = data;
},
......@@ -406,7 +403,7 @@ export default {
async editModal(data) {
this.editVisible = true;
this.$refs.EditPersonel.onEdit(data);
this.$refs.EditPersonel.editWindow(data.deptId);
// this.$refs.EditPersonel.editWindow(data.deptId);
},
// 翻页
handlePagination(num) {
......@@ -527,7 +524,7 @@ export default {
padding-top: 10px;
width: 100%;
color: #333;
overflow: auto;
overflow-y: auto;
padding-left: 20px;
.person_message {
font-weight: 600;
......
// 只能为数字验证
export function isNumber (rule, value, callback) {
var number = /^\d+$/
export function isNumber(rule, value, callback) {
var number = /^\d+$/;
if (!number.test(value)) {
callback(new Error("格式有误,只能为数字"))
callback(new Error("格式有误,只能为数字"));
} else {
callback()
callback();
}
}
// 验证流水编号
export const checkFlowNum = (rule,value,callback)=>{
let reg = /^[A-Z][a-zA-Z0-9]{3,32}$/
if(!value){
callback(new Error('请输入流水编号'))
}else if(!reg.test(value)){
callback(new Error('格式为大写字母开头,4~32位'))
}else{
callback()
export const checkFlowNum = (rule, value, callback) => {
let reg = /^[A-Z][a-zA-Z0-9]{3,32}$/;
if (!value) {
callback(new Error("请输入流水编号"));
} else if (!reg.test(value)) {
callback(new Error("格式为大写字母开头,4~32位"));
} else {
callback();
}
}
};
// 验证英文
export const checkEn = (rule,value,callback)=>{
let reg = /^[a-zA-Z]{2,15}$/
if(!value){
callback(new Error('请输入英文名称'))
}else if(!reg.test(value)){
callback(new Error('格式为字母a-z,A-Z,2~15位'))
}else{
callback()
export const checkEn = (rule, value, callback) => {
let reg = /^[0-9a-zA-Z\s]{2,40}$/;
if (!value) {
callback(new Error("请输入英文名称"));
} else if (!reg.test(value)) {
callback(new Error("格式为a-zA-Z0-9空格,2~40位"));
} else {
callback();
}
}
};
// 验证业务名称长度
export const checkBusinessName = (rule, value, callback) => {
let reg = value.length;
if (!value) {
callback(new Error("请输入业务名称"));
} else if (reg > 40) {
callback(new Error("业务名称不能超过40个字符"));
} else {
callback();
}
};
// 验证账号
export const changeAccount = (rule, value, callback) => {
if (!value) {
callback(new Error("请输入用户名"));
callback(new Error("请输入用户名"));
} else if (!/^[a-zA-Z0-9_-]{2,16}$/.test(value)) {
callback(new Error("2到16位(字母,数字,下划线,中横线)"));
callback(new Error("2到16位(字母,数字,下划线,中横线)"));
} else {
callback();
callback();
}
};
// 验证密码
export const changePassWord = (rule, value, callback) => {
if (!value) {
callback(new Error("请输入密码"));
callback(new Error("请输入密码"));
} else if (!/^[a-zA-Z0-9_-]{2,18}$/.test(value)) {
callback(new Error("2到18位(字母,数字,下划线,中横线)"));
callback(new Error("2到18位(字母,数字,下划线,中横线)"));
} else {
callback();
callback();
}
};
// 验证手机号码
export const changePhone = (rule, value, callback) => {
if (!value) {
// callback(new Error("请输入手机号"));
callback();
// callback(new Error("请输入手机号"));
callback();
} else if (!/^1[3-9]\d{9}$/.test(value)) {
callback(new Error("手机号码格式不正确"));
callback(new Error("手机号码格式不正确"));
} else {
callback();
callback();
}
};
// 验证座机号码
export const changeLandline = (rule, value, callback) => {
if (!value) {
// callback(new Error("请输入座机号"));
callback();
// callback(new Error("请输入座机号"));
callback();
} else if (!/^[0][1-9]{2,3}-[0-9]{5,10}$/.test(value)) {
callback(new Error("区号-电话号码"));
callback(new Error("区号-电话号码"));
} else {
callback();
callback();
}
};
// 窗口编号验证(字母加数字 数字不能大于1000)
export const changeWindowNumber = (rule, value, callback) => {
if (!value) {
callback(new Error("请输入窗口编号"));
} else if (value.match(/\d+/g) && Math.max(...value.match(/\d+/g).map(Number)) > 1000) {
callback(new Error("数字不能大于1000"));
callback(new Error("请输入窗口编号"));
} else if (
value.match(/\d+/g) &&
Math.max(...value.match(/\d+/g).map(Number)) > 1000
) {
callback(new Error("数字不能大于1000"));
} else {
callback();
callback();
}
};
\ No newline at end of file
};
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