NurseStationOperateUI/src/views/system/stationConsumable/indexjs.js

422 lines
14 KiB
JavaScript
Raw Normal View History

2022-11-17 16:48:25 +08:00
import {
listStationConsumable,
getStationConsumable,
delStationConsumable,
addStationConsumable,
updateStationConsumable,
list,
} from "@/api/system/stationConsumable";
import { getListByUser } from "@/api/system/userlist.js";
import { getToken } from "@/utils/auth";
export default {
name: "StationConsumable",
data() {
return {
upload: {
// 是否显示弹出层(用户导入)
open: false,
// 弹出层标题(用户导入)
title: "",
// 是否禁用上传
isUploading: false,
// 设置上传的请求头部
headers: { Authorization: "Bearer " + getToken() },
// 上传的地址
url: process.env.VUE_APP_BASE_API + "/system/stationConsumable/importData",
},
value: "",
// 遮罩层
loading: true,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
total2: 0,
total3: 0,
// 护理站耗材信息表格数据
stationConsumableList: [],
nurseStationlist: [],
nurseStationlist2: [],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
open2: false,
open3: false,
xgopen: false,
index: "",
//权限查询
getListByUserquery: {
pageNum: 1,
pageSize: 10,
},
// 查询参数
nurseStationqueryParams: {
pageNum: 1,
pageSize: 10,
areaCode: null,
userId: null,
nurseStationCode: null,
nurseStationName: null,
nurseStationType: null,
agencyIntroduce: null,
nurseStationDescription: null,
longitude: null,
latitude: null,
phone: null,
address: null,
dutyPerson: null,
dutyPhone: null,
stationPictureUrl: null,
sort: null,
},
queryParams: {
pageNum: 1,
pageSize: 10,
nurseStationId: null,
nurseStationName: null,
userId: null,
consumableCode: null,
consumableDetail: null,
consumableUnit: null,
consumablePrice: null,
sort: null,
},
// 表单参数
form: {},
// 表单校验
rules: {
nurseStationId: [{
required: true,
message: "请选择所属护理站",
trigger: "blur",
}, ],
consumableDetail: [{
required: true,
2022-11-18 12:50:42 +08:00
message: "请输入耗材包名称",
2022-11-17 16:48:25 +08:00
trigger: "blur",
}, ],
consumableUnit: [{
required: true,
message: "请输入耗材包单位",
trigger: "blur",
}, ],
consumablePrice: [{
required: true,
message: "请输入耗材包价格",
trigger: "blur",
}, ],
sort: [{
required: true,
message: "请输入排序",
trigger: "blur",
}, ],
nurseStationConsumables: {
consumableDetail: [{
required: true,
2022-11-18 12:50:42 +08:00
message: "请输入耗材包名称",
2022-11-17 16:48:25 +08:00
trigger: "blur",
}, ],
nurseStationId: [{
required: true,
message: "请选择所属护理站",
trigger: "blur",
}, ],
consumableUnit: [{
required: true,
message: "请输入耗材包单位",
trigger: "blur",
}, ],
consumablePrice: [{
required: true,
message: "请输入耗材包价格",
trigger: "blur",
}, ],
sort: [{
required: true,
message: "请输入排序",
trigger: "blur",
}, ],
},
},
homenumber: null,
stationid: null,
};
},
created() {
this.getList();
// this.listinfo();
},
methods: {
/** 下载模板操作 */
importTemplate() {
this.download(
"/system/stationItem/downloadTemplate?fileType=2", {},
`护理站耗材信息导入模板.xlsx`
);
},
// 提交上传文件
submitFileForm() {
this.$refs.upload.submit();
},
// 文件上传成功处理
handleFileSuccess(response, file, fileList) {
this.upload.open = false;
this.upload.isUploading = false;
this.$refs.upload.clearFiles();
this.$alert(
"<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" +
response.msg +
"</div>",
"导入结果", { dangerouslyUseHTMLString: true }
);
this.getList();
},
// 文件上传中处理
handleFileUploadProgress(event, file, fileList) {
this.upload.isUploading = true;
},
delnurseStationConsumables(index) {
this.form.nurseStationConsumables.splice(index, 1);
},
addnurseStationConsumables() {
var obj = {
nurseStationId: "",
consumableUnit: null,
sort: "",
consumablePrice: "",
consumableDetail: null,
nurseStationName: "请选择所属护理站",
};
if (this.form.nurseStationConsumables.length == 5) {
this.$message.error("最多只能5条");
} else {
this.form.nurseStationConsumables.push(obj);
}
},
choicenurseStation(item, index) {
this.index = index;
this.open2 = true;
this.info();
},
//页面所属护理站
ParamsStation(item) {
console.log(this.queryParams)
this.open3 = true
this.homenumber = item
this.stationid = this.queryParams.nurseStationId;
},
//点击护理站左侧按钮
clicknurseStation2(item) {
this.queryParams.nurseStationName = item.nurseStationName
this.queryParams.nurseStationId = item.id
this.form.nurseStationId = item.id;
this.form.nurseStationName = item.nurseStationName;
this.open3 = false;
this.reset2();
},
clicknurseStation(item) {
this.form.nurseStationConsumables[this.index].nurseStationId = item.id;
this.form.nurseStationConsumables[this.index].nurseStationName =
item.nurseStationName;
this.open2 = false;
this.reset2();
},
/** 查询护理站耗材信息列表 */
getList() {
this.loading = true;
this.listStationConsumableinfo();
},
// 取消按钮
cancel() {
this.open = false;
this.xgopen = false;
this.nurseStationName = "请选择所属护理站";
this.reset();
},
cancel2() {
this.open2 = false;
this.open3 = false;
this.reset2();
},
// 表单重置
reset2() {
this.getListByUserquery = {
pageNum: 1,
pageSize: 10,
areaCode: null,
userId: null,
nurseStationCode: null,
nurseStationName: null,
nurseStationType: null,
agencyIntroduce: null,
nurseStationDescription: null,
longitude: null,
latitude: null,
phone: null,
address: null,
dutyPerson: null,
dutyPhone: null,
stationPictureUrl: null,
sort: null,
};
},
reset() {
this.form = {
id: null,
consumablePrice: null,
sort: null,
nurseStationId: "",
nurseStationConsumables: [{
nurseStationId: "",
consumableUnit: null,
sort: "",
consumablePrice: "",
consumableDetail: null,
nurseStationName: "请选择所属护理站",
}, ],
};
this.resetForm("form");
},
/** 搜索按钮操作 */
listStationConsumableinfo() {
listStationConsumable(this.queryParams).then((response) => {
this.stationConsumableList = response.rows;
this.total = response.total;
this.loading = false;
});
},
handleQuery() {
this.loading = true;
this.queryParams.pageNum = 1;
this.listStationConsumableinfo();
},
//护理站搜索
handleQuery2() {
this.getListByUserquery.pageNum = 1;
getListByUser(this.getListByUserquery).then((res) => {
this.nurseStationlist = res.rows;
this.total3 = res.total;
});
},
/** 重置按钮操作 */
sresetQuery() {
this.resetForm("queryForm");
this.queryParams = {
pageNum: 1,
pageSize: 10,
nurseStationId: null,
userId: null,
consumableCode: null,
consumableDetail: null,
consumableUnit: null,
consumablePrice: null,
sort: null,
};
this.handleQuery();
},
//护理站重置
resetQuery() {
this.reset2();
this.handleQuery2();
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map((item) => item.id);
this.single = selection.length !== 1;
this.multiple = !selection.length;
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加护理站耗材信息";
this.cancel2();
},
/** 修改按钮操作 */
handleUpdate(row) {
this.loading = true;
this.reset();
const id = row.id || this.ids;
getStationConsumable(id).then((response) => {
this.form = response.data;
this.xgopen = true;
this.title = "修改护理站耗材信息";
this.loading = false;
});
},
/** 提交按钮 */
submitForm() {
2022-11-23 16:38:57 +08:00
if (this.form.id == null) {
this.form.consumableDetail =
this.form.nurseStationConsumables[0].consumableDetail;
this.form.nurseStationId =
this.form.nurseStationConsumables[0].nurseStationId;
this.form.consumableUnit =
this.form.nurseStationConsumables[0].consumableUnit;
this.form.consumablePrice =
this.form.nurseStationConsumables[0].consumablePrice;
this.form.sort = this.form.nurseStationConsumables[0].sort;
}
2022-11-17 16:48:25 +08:00
this.$refs["form"].validate((valid) => {
if (valid) {
if (this.form.id != null) {
updateStationConsumable(this.form).then((response) => {
this.$modal.msgSuccess("修改成功");
this.xgopen = false;
this.getList();
});
} else {
addStationConsumable(this.form).then((response) => {
this.$modal.msgSuccess("新增成功");
this.nurseStationName = "请选择所属护理站";
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal
.confirm("是否确认删除?")
.then(function() {
return delStationConsumable(ids);
})
.then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
})
.catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
this.download(
"system/stationConsumable/export", {
...this.queryParams,
},
`stationConsumable_${new Date().getTime()}.xlsx`
);
},
/** 导入按钮操作 */
handleport() {
this.upload.title = "护理站耗材导入";
this.upload.open = true;
},
//护理站列表
info() {
getListByUser(this.getListByUserquery).then((res) => {
2022-11-17 16:51:49 +08:00
this.nurseStationlist = res.rows;
this.total3 = res.total;
2022-11-17 16:48:25 +08:00
});
},
},
};