123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167 |
- import { Component, OnInit } from "@angular/core";
- import { FormBuilder, Validators, FormGroup } from "@angular/forms";
- import { ActivatedRoute } from "@angular/router";
- import { MainService } from "../../services/main.service";
- import { ToolService } from "src/app/services/tool.service";
- @Component({
- selector: "app-hospital-management",
- templateUrl: "./hospital-management.component.html",
- styleUrls: ["./hospital-management.component.less"],
- })
- export class HospitalManagementComponent implements OnInit {
- constructor(
- private fb: FormBuilder,
- private mainService: MainService,
- private route: ActivatedRoute,
- private tool: ToolService
- ) {}
- ngOnInit() {
- this.coopBtns = this.tool.initCoopBtns(this.route);
- this.getList();
- this.initForm();
- }
- currentUserAccount: any = JSON.parse(localStorage.getItem("user")).user
- .account; //当前登录人账号
- listOfData: any[] = []; //表格数据
- pageIndex: number = 1; //表格当前页码
- pageSize: number = 10; //表格每页展示条数
- listLength: number = 10; //表格总数据量
- modal: boolean = false; //新增/编辑模态框
- add: boolean; //true:新增;false:编辑
- validateForm: FormGroup; //新增/编辑表单
- coopId: number; //当前操作列id
- promptContent: string; //操作提示框提示信息
- ifSuccess: boolean; //操作成功/失败
- promptInfo: string; //操作结果提示信息
- promptModalShow: boolean; //操作提示框是否展示
- btnLoading: boolean = false; //确认按钮loading状态
- // 初始化增删改按钮
- coopBtns: any = {};
- // 表格数据
- loading1 = false;
- getList() {
- let data = {
- idx: this.pageIndex - 1,
- sum: this.pageSize,
- };
- this.loading1 = true;
- this.mainService
- .getFetchDataList("data", "hospital", data)
- .subscribe((data) => {
- this.loading1 = false;
- this.listOfData = data.list;
- this.listLength = data.totalNum;
- });
- }
- addModal() {
- this.add = true;
- this.modal = true;
- this.validateForm.controls.hospitalName.setValue("");
- this.validateForm.controls.hospitalNum.setValue("");
- }
- hideAddModal() {
- this.modal = false;
- this.initForm();
- }
- // 初始化新增form表单
- initForm() {
- this.validateForm = this.fb.group({
- hospitalName: [null, [Validators.required]],
- hospitalNum: [null, [Validators.required]],
- });
- }
- // 新增表单提交
- submitForm(): void {
- var that = this;
- for (const i in that.validateForm.controls) {
- that.validateForm.controls[i].markAsDirty();
- that.validateForm.controls[i].updateValueAndValidity();
- }
- if (that.validateForm.invalid) return;
- that.btnLoading = true;
- let data = {
- hospital: {
- hosName: that.validateForm.value.hospitalName,
- hosNo: that.validateForm.value.hospitalNum,
- },
- };
- if (!that.add) {
- data.hospital["id"] = that.coopId;
- }
- that.mainService
- .coopData(that.add ? "addData" : "updData", "hospital", data)
- .subscribe((data) => {
- that.btnLoading = false;
- that.hideAddModal();
- if (data.status == 200) {
- that.showPromptModal(that.add ? "新增" : "编辑", true, "");
- that.initForm();
- } else {
- that.showPromptModal(that.add ? "新增" : "编辑", false, data.msg);
- }
- });
- }
- // 编辑
- edit(data) {
- this.add = false;
- this.modal = true;
- this.coopId = data.id;
- this.validateForm.controls.hospitalName.setValue(data.hosName);
- this.validateForm.controls.hospitalNum.setValue(data.hosNo);
- }
- delModal: boolean = false; //删除模态框
- showDelModal(id) {
- this.delModal = true;
- this.coopId = id;
- }
- hideDelModal() {
- this.delModal = false;
- }
- confirmDel() {
- this.delModal = false;
- var that = this;
- that.btnLoading = true;
- that.mainService
- .coopData("rmvData", "hospital", [that.coopId])
- .subscribe((data) => {
- that.btnLoading = false;
- if (data.status == 200) {
- if (
- that.listOfData.length == 1 &&
- that.pageIndex == Math.ceil(that.listLength / that.pageSize)
- ) {
- that.listLength--;
- that.pageIndex = Math.ceil(that.listLength / that.pageSize);
- }
- this.showPromptModal("删除", true, "");
- } else {
- this.showPromptModal("删除", false, data.msg);
- }
- });
- }
- // 展示信息提示框(con:提示信息,success:操作是否成功,promptInfo:操作结果提示信息)
- showPromptModal(con, success, promptInfo?) {
- this.promptModalShow = false;
- this.promptContent = con;
- this.ifSuccess = success;
- this.promptInfo = promptInfo;
- setTimeout(() => {
- this.promptModalShow = true;
- }, 100);
- this.getList();
- }
- }
|