NurseStationOperateUI/src/views/system/StationDepartment/indexjs.js
2023-02-09 14:25:42 +08:00

325 lines
11 KiB
JavaScript

import {
listStationDepartment,
getStationDepartment,
delStationDepartment,
addStationDepartment,
updateStationDepartment,
} from "@/api/system/StationDepartment";
import { getListByUser } from "@/api/system/userlist.js";
export default {
name: "StationDepartment",
data() {
// 验证手机号的规则
var checkMobile = (rule, value, cb) => {
// 验证手机号的正则表达式
const regMobile =
/^(0|86|17951)?(13[0-9]|15[012356789]|17[678]|18[0-9]|14[57]|19[0-9])[0-9]{8}$/;
if (regMobile.test(value)) {
return cb();
}
cb(new Error("请输入正确的联系电话"));
};
return {
nurseStationlist: [],
// 遮罩层
loading: true,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
total2: 0,
// 护理站部门信息表格数据
StationDepartmentList: [],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
addopen: false,
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
nurseStationId: null,
departmentCode: null,
departmentName: null,
departmentPerson: null,
phone: null,
nurseStationName: null,
},
nurseStationqueryParams: {
pageNum: 1,
pageSize: 10,
},
// 表单参数
form: {},
// 表单校验
rules: {
nurseStationDepartmentList: {
nurseStationId: [{
required: true,
message: "请选择所属护理站",
trigger: "blur",
}, ],
departmentName: [{
required: true,
message: "请选择科室名称",
trigger: "blur",
}, ],
departmentPerson: [{
required: true,
message: "请选择科室负责人",
trigger: "blur",
}, ],
phone: [{
required: true,
validator: checkMobile,
trigger: "blur",
message: "",
}, ],
},
nurseStationId: [{
required: true,
message: "请选择所属护理站",
trigger: "blur",
}, ],
departmentName: [{
required: true,
message: "请选择科室名称",
trigger: "blur",
}, ],
departmentPerson: [{
required: true,
message: "请选择科室负责人",
trigger: "blur",
}, ],
phone: [{
required: true,
validator: checkMobile,
trigger: "blur",
message: "",
}, ],
},
index: "",
stationid: null,
innerVisible: false,
homenumber: null,
};
},
created() {
this.getList();
},
methods: {
ParamsStation(item) {
this.info();
this.innerVisible = true
this.homenumber = item
this.stationid = this.queryParams.nurseStationId;
},
// add点击护理站名称
nurseclick(row) {
if (this.homenumber) {
this.stationid = this.queryParams.nurseStationId
this.queryParams.nurseStationName = row.nurseStationName;
this.queryParams.nurseStationId = row.id;
} else {
this.stationid = row.id;
this.form.nurseStationDepartmentList[this.index].nurseStationName =
row.nurseStationName;
this.form.nurseStationDepartmentList[this.index].nurseStationId = row.id;
}
this.innerVisible = false;
},
// 新增护理站按钮
clickinnerVisible(item, index) {
this.addresetQuery();
this.stationid = item.nurseStationId;
this.index = index;
this.innerVisible = true;
},
//删除deldisease
deldisease(index) {
this.form.nurseStationDepartmentList.splice(index, 1);
},
adddisease() {
var obj = {
nurseStationId: "",
departmentCode: "",
departmentName: "",
departmentPerson: "",
phone: "",
nurseStationName: "请选择所属护理站",
};
if (this.form.nurseStationDepartmentList.length == 5) {
this.$message.error("最多只能5条");
} else {
this.form.nurseStationDepartmentList.push(obj);
}
},
/** 查询护理站部门信息列表 */
getList() {
this.loading = true;
listStationDepartment(this.queryParams).then((response) => {
this.StationDepartmentList = response.rows;
this.total = response.total;
this.loading = false;
});
},
// 取消按钮
cancel() {
this.open = false;
this.addopen = false;
this.reset();
},
// 表单重置
reset() {
this.form = {
id: null,
departmentCode: null,
departmentName: null,
departmentPerson: null,
phone: null,
createBy: null,
createTime: null,
updateBy: null,
updateTime: null,
nurseStationName: null,
nurseStationId: null,
nurseStationDepartmentList: [{
nurseStationId: "",
departmentCode: "",
departmentName: "",
departmentPerson: "",
phone: "",
nurseStationName: "请选择所属护理站",
}, ],
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
innerVisiblecancel() {
this.innerVisible = false;
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.queryParams = {
pageNum: 1,
pageSize: 10,
nurseStationId: null,
departmentCode: null,
departmentName: null,
departmentPerson: null,
phone: null,
nurseStationName: null,
};
this.handleQuery();
},
addresetQuery() {
this.nurseStationqueryParams = {
pageNum: 1,
pageSize: 10,
};
this.info();
},
//护理站list
info() {
this.loading = true
getListByUser(this.nurseStationqueryParams).then((res) => {
this.nurseStationlist = res.rows;
this.total2 = res.total;
this.loading = false
});
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map((item) => item.id);
this.single = selection.length !== 1;
this.multiple = !selection.length;
},
/** 新增按钮操作 */
handleAdd() {
this.homenumber = null
this.reset();
this.addopen = true;
// this.nurseStationName="",
this.title = "添加护理站部门信息";
},
/** 修改按钮操作 */
handleUpdate(row) {
const id = row.id || this.ids;
getStationDepartment(id).then((response) => {
this.form = response.data;
this.open = true;
this.title = "修改护理站部门信息";
});
},
/** 提交按钮 */
submitForm() {
if (this.form.id == null) {
this.form.nurseStationId =
this.form.nurseStationDepartmentList[0].nurseStationId;
this.form.departmentCode =
this.form.nurseStationDepartmentList[0].departmentCode;
this.form.departmentName =
this.form.nurseStationDepartmentList[0].departmentName;
this.form.departmentPerson =
this.form.nurseStationDepartmentList[0].departmentPerson;
this.form.nurseStationName =
this.form.nurseStationDepartmentList[0].nurseStationName;
this.form.phone = this.form.nurseStationDepartmentList[0].phone;
}
this.$refs["form"].validate((valid) => {
if (valid) {
if (this.form.id != null) {
updateStationDepartment(this.form).then((response) => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addStationDepartment(this.form).then((response) => {
this.$modal.msgSuccess("新增成功");
this.addopen = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal
.confirm("是否确认删除护理站部门信息的数据项?")
.then(function() {
return delStationDepartment(ids);
})
.then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
})
.catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
this.download(
"system/StationDepartment/export", {
...this.queryParams,
},
`StationDepartment_${new Date().getTime()}.xlsx`
);
},
},
};