Browse Source

禁用和删除

zsw007 3 năm trước cách đây
mục cha
commit
a6b260eb9d

+ 548 - 0
.history/src/components/cdssManage/plan/Plan_20211018144152.vue

@@ -0,0 +1,548 @@
+<template>
+  <div>
+    <crumbs title="电子病历方案配置" style="min-width: 980px">
+      <el-form :inline="true" class="demo-form-inline">
+        <el-form-item label="所属医院:" class="selectMedicine">
+          <el-select size="mini" v-model="filter.hospitalId" placeholder="请选择" clearable>
+            <el-option
+              v-for="item in HospitalInfoList"
+              :label="item.name"
+              :value="item.id"
+              :key="item.id"
+            ></el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="方案名称:">
+          <el-input size="mini" v-model="filter.planName" placeholder="请输入" clearable></el-input>
+        </el-form-item>
+        <el-form-item>
+          <el-button size="mini" @click="filterDatas">检索</el-button>
+          <el-button size="mini" type="warning" @click="addRelation">添加方案</el-button>
+        </el-form-item>
+      </el-form>
+    </crumbs>
+    <div class="contents">
+      <el-table :data="list" border style="width: 100%" ref="">
+        <el-table-column :resizable="false" type="index" :index="indexMethod" label="编号" width="60"></el-table-column>
+        <el-table-column :resizable="false" prop="hospitalId" label="医院ID" show-overflow-tooltip></el-table-column>
+        <el-table-column :resizable="false" prop="hospitalName" label="医院名称" show-overflow-tooltip></el-table-column>
+        <!-- <el-table-column :resizable="false" prop="hospitalId" label="医院编码"></el-table-column> -->
+        <el-table-column :resizable="false" prop="planName" label="方案名称" show-overflow-tooltip></el-table-column>
+        <el-table-column :resizable="false" prop="planCode" label="方案编码" width="180"></el-table-column>
+        <el-table-column :resizable="false" prop="planDetail" label="模块配置" show-overflow-tooltip></el-table-column>
+        <el-table-column
+          :resizable="false"
+          prop="gmtCreate"
+          label="创建时间"
+          show-overflow-tooltip
+          width="180"
+        ></el-table-column>
+        <el-table-column
+          :resizable="false"
+          prop="planStatus"
+          label="状态"
+          show-overflow-tooltip
+          width="180"
+        >
+          <template slot-scope="scope">{{scope.row.planStatus == 1 ? '已启用': '已禁用'}}</template>
+        </el-table-column>
+
+        <el-table-column :resizable="false" prop="operate" label="操作">
+          <template slot-scope="scope">
+            <el-button
+              @click="modifyRelation(scope.row)"
+              type="text"
+              size="small"
+              v-if="scope.row.planStatus === 1"
+              class="disable"
+            >修改</el-button>
+            <el-button plain type="text" size="small" v-else disabled>修改</el-button>
+            <span style="margin:0 3px;">|</span>
+            <el-button
+              type="text"
+              size="small"
+              :class="codeArr.includes(scope.row.planCode) ? 'active-t': 'active'"
+              :disabled = 'codeArr.includes(scope.row.planCode)'
+              @click="enableOrAble(scope.row,0)"
+              v-if="scope.row.planStatus === 1"
+            >禁用</el-button>
+
+            <el-button type="text" size="small" @click="enableOrAble(scope.row,1)" v-else>启用</el-button>
+            <span style="margin:0 3px;">|</span>
+            <el-button
+              v-if="scope.row.planStatus !== 1"
+              @click="showDelDialog(scope.row.id,scope.row.planStatus,scope.row.planName,scope.row)"
+              class="delete"
+              type="text"
+              size="small"
+            >删除</el-button>
+            <el-button class="deleteBtn" plain type="text" size="small" v-else disabled>删除</el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+      <div class="pagination">
+        <el-pagination
+          :current-page.sync="currentPage"
+          @current-change="currentChange"
+          background
+          :page-size="pageSize"
+          :page-sizes="pageSizeArr"
+          @size-change="handleSizeChange"
+          :layout="pageLayout"
+          :total="total"
+        ></el-pagination>
+      </div>
+    </div>
+  </div>
+</template>
+
+<script>
+import api from "@api/cdss.js";
+import config from "@api/config.js";
+import utils from "@api/utils.js";
+
+export default {
+  name: "Plan",
+  data: function() {
+    return {
+      list: [],
+      searched: false,
+      filter: {
+        planName: "", //标准诊断名称
+        hospitalId: ""
+      },
+      currentPage: 1,
+      pageSize: config.pageSize,
+      pageSizeArr: config.pageSizeArr,
+      pageLayout: config.pageLayout,
+      total: 0,
+      hospitalId: "",
+      HospitalInfoList: [],
+      disablelist: [],
+      codeArr: []
+    };
+  },
+  created(row) {
+    const that = this;
+    //返回时避免参数未赋值就获取列表
+    setTimeout(function() {
+      that.getDisabel()
+      that.getDataList();
+      that._getHospitalInfo();
+    });
+    // 非首页 编辑页返回 设置 this.currentPage
+    if (Object.keys(this.$route.params).length !== 0) {
+      this.currentPage = this.$route.params.currentPage;
+    }
+  },
+  watch: {
+    filter: {
+      handler: function() {
+        this.searched = false;
+      },
+      deep: true
+    }
+  },
+  beforeRouteEnter(to, from, next) {
+    next(vm => {
+      //const pm = to.param;
+      Object.assign(vm, to.params);
+      vm.inCurrentPage = to.params.currentPage;
+    });
+  },
+  methods: {
+    handleSizeChange(val) {
+      this.pageSize = val;
+      this.currentPage = utils.getCurrentPage(
+        this.currentPage,
+        this.total,
+        this.pageSize
+      );
+      this.getDataList();
+    },
+
+    // 获取医院下拉列表
+    _getHospitalInfo() {
+      api.getHospitalInfo().then(res => {
+        if (res.data.code === "0") {
+          this.HospitalInfoList = res.data.data;
+          console.log("医院列表>>", this.HospitalInfoList);
+        }
+      });
+    },
+
+    // 使plan_default禁用
+    async getDisabel(row){
+      const res = await api.getListBack()
+         if(res.data.code === '0'){
+            this.disablelist = res.data.data[60]
+            console.log('禁用2', this.codeArr);
+            this.codeArr = this.disablelist.map(item => {
+              if(item.val == 'plan_default'){
+                return item.val
+              }
+            })
+         }
+    },
+
+
+    // 获取列表数据
+    async getDataList(isTurnPage) {
+
+      let params = await this.getFilterItems(isTurnPage);
+      // return;
+      this.searched = true;
+      const loading = this.$loading({
+        lock: true,
+        text: "Loading",
+        spinner: "el-icon-loading",
+        background: "rgba(0, 0, 0, 0.7)"
+      });
+      api.getPlanInfoPages(params).then(res => {
+        console.log("列表数据", res);
+        loading.close();
+        if (res.data.code === "0") {
+          this.list = res.data.data && res.data.data.records;
+          console.log("hello>>", this.list);
+        }
+        this.total = res.data.data && res.data.data.total;
+        if (this.inCurrentPage !== undefined) {
+          this.currentPage = this.inCurrentPage;
+          this.inCurrentPage = undefined;
+        }
+      });
+    },
+
+    // 返回字典信息数据
+
+    // 处理列表请求数据参数
+    async getFilterItems(isTurnPage) {
+      //翻页时筛选条件没点确定则清空
+      if (isTurnPage && !this.searched) {
+        this.clearFilter();
+      }
+      // let planName = this.filter.planName.trim();
+      const param = {
+        current: this.inCurrentPage || this.currentPage,
+        size: this.pageSize,
+        planName: this.filter.planName.trim(),
+        hospitalId: this.filter.hospitalId
+      };
+      return param;
+    },
+
+    escapeRegExp(text) {
+      return text.replace(/[-[\]{}()*+?._,\\^$|#\s]/g, "\\$&");
+    },
+
+    filterDatas() {
+      this.currentPage = 1;
+      this.getDataList();
+    },
+    addRelation() {
+      const pam = this.searched
+        ? {
+            currentPage: this.currentPage,
+            pageSize: this.pageSize,
+            filter: this.filter
+          }
+        : { currentPage: this.currentPage, pageSize: this.pageSize };
+      this.$router.push({ name: "AddPlan", params: pam });
+    },
+    // 修改诊断关联-跳转至编辑页面
+    modifyRelation(row) {
+      const item = Object.assign({}, row);
+      const pam = this.searched
+        ? {
+            currentPage: this.currentPage,
+            pageSize: this.pageSize,
+            filter: this.filter
+          }
+        : { currentPage: this.currentPage, pageSize: this.pageSize };
+      this.$router.push({
+        name: "AddPlan",
+        params: Object.assign(pam, { isEdit: true, data: item, codeArr: this.codeArr})
+      });
+    },
+    currentChange(next) {
+      this.currentPage = next;
+      this.getDataList(true);
+      // if (this.cacheData[next]) {       //如果已请求过该页数据,则使用缓存不重复请求
+      //     this.list = this.cacheData[next];
+      // } else {
+      //     this.getDataList();
+      // }
+    },
+    // 清空搜索参数
+    clearFilter() {
+      this.filter = {
+        hisName: "",
+        planName: ""
+      };
+    },
+
+    indexMethod(index) {
+      return (this.currentPage - 1) * this.pageSize + index + 1;
+    },
+    getTagType(val) {
+      return val;
+    },
+    warning(msg, type) {
+      this.$message({
+        showClose: true,
+        message: msg,
+        type: type || "warning"
+      });
+    },
+    showConfirmDialog(msg, resolve, type) {
+      let showInfo = "启用";
+      let btnNameClass = "confirmBtn2";
+      if (type === "Del") {
+        showInfo = "禁用";
+        btnNameClass = "delBtn";
+      } else if (type === "Del1") {
+        showInfo = "删除";
+        btnNameClass = "delBtn";
+      }
+
+      this.$alert(msg, "提示", {
+        confirmButtonText: showInfo,
+        // cancelButtonText: '取消',
+        // cancelButtonClass: 'cancelBtn',
+        // confirmButtonClass: btnNameClass,
+        type: "warning"
+      })
+        .then(() => {
+          resolve();
+        })
+        .catch(() => {});
+    },
+    // // 获取医院信息
+    // _getHospital() {
+    //   api.getHospitalInfo().then(res => {
+    //     if (res.data.code === '0') {
+    //       this.hospitalId = res.data.data.id;
+    //     }
+    //   });
+    // },
+    // 删除关联
+    showDelDialog(id, status, info, row) {
+      if (status === 1) {
+        this.$alert(`${info}正在启用中,无法删除。`, "提示", {
+          confirmButtonText: "确定",
+          // cancelButtonText: '取消',
+          // cancelButtonClass: 'cancelSureL',
+          // confirmButtonClass: 'sureL',
+          // customClass: 'exportBoxL',
+          type: "warning"
+        })
+          .then(() => {})
+          .catch(() => {});
+        return false;
+      }
+
+      if (id === -1) {
+        this.$alert(`该方案为默认方案,无法删除。`, "提示", {
+          confirmButtonText: "确定",
+          // cancelButtonText: '取消',
+          // cancelButtonClass: 'cancelSureL',
+          // confirmButtonClass: 'sureL',
+          // customClass: 'exportBoxL',
+          type: "warning"
+        })
+          .then(() => {})
+          .catch(() => {});
+        return false;
+      }
+      // return
+      this.showConfirmDialog(
+        "是否删除该方案配置?",
+        () => {
+          let params = {
+            planId: id,
+            hospitalId: row.hospitalId
+          };
+          api
+            .cancelPlanDatas(params)
+            .then(res => {
+              if (res.data.code == "0") {
+                if (!this.searched) {
+                  //未点确认时清空搜索条件
+                  this.clearFilter();
+                }
+                if (this.list.length == 1) {
+                  //当前在最后一页且只有一条数据时,删除后跳到前一页
+                  this.currentPage =
+                    this.currentPage === 1 ? 1 : this.currentPage - 1;
+                }
+                this.getDataList();
+                this.warning(res.data.msg || "操作成功", "success");
+              } else {
+                this.warning(res.data.msg);
+              }
+            })
+            .catch(error => {
+              if (error.code === "900010001") {
+                return false;
+              }
+              this.warning(error);
+            });
+        },
+        "Del1"
+      );
+    },
+
+    // 启用/禁用 数据请求
+    sendAbleOrEn(row, type) {
+      api
+        .revStopPlans({
+          id: row.id,
+          status: type
+        })
+        .then(res => {
+          console.log("禁用", res);
+          if (res.data.code === "0") {
+            this.$message({
+              showClose: true,
+              message: "操作成功",
+              type: "success",
+              duration: 1000
+            });
+            this.getDataList();
+          }
+        })
+        .catch(err => {});
+    },
+
+    // 启用/禁用
+    enableOrAble(row, type) {
+      console.log("启用planName", row, type);
+      if (type === 1) {
+        // 启用
+        this.showConfirmDialog(
+          `确定要启用${row.planName}吗?`,
+          () => {
+            this.sendAbleOrEn(row, type);
+          },
+          "Reuse"
+        );
+      } else {
+        // 禁用
+        this.showConfirmDialog(
+          `方案禁用后前端页面将无法正常显示内容,确定要禁用${row.planName}吗?`,
+          () => {
+            this.sendAbleOrEn(row, type);
+          },
+          "Del"
+        );
+      }
+    }
+  }
+};
+</script>
+
+
+<style lang="less" scoped>
+@import "../../../less/admin.less";
+.delete {
+  color: red;
+}
+.delete:hover {
+  color: red;
+}
+.pagination {
+  min-width: 1010px;
+}
+.disable {
+  border-color: transparent;
+}
+.el-message-box {
+  /deep/.cancelBtn {
+    background-color: #d7d7d7;
+    border-color: transparent;
+  }
+  /deep/ .delBtn {
+    background-color: #ff545b !important;
+    border-color: transparent !important;
+  }
+  /deep/ .confirmBtn2 {
+    position: relative;
+    right: 0px !important;
+  }
+}
+.exportBoxL {
+  /deep/ .el-message-box__btns {
+    margin-top: 20px;
+  }
+  /deep/ .el-message-box__message {
+    text-align: left;
+  }
+  /deep/ .el-message-box__btns {
+    // text-align: center;
+    margin-bottom: 24px;
+  }
+  /deep/ .leftbtn {
+    margin-right: 46px;
+    background-color: #d7d7d7;
+    border-color: transparent;
+  }
+  /deep/ .cancelSureL {
+    // text-align: center;
+    display: none;
+  }
+  /deep/ .sureL {
+    float: right;
+  }
+}
+.contents {
+  .is-plain {
+    color: #dad7d7;
+  }
+  .is-plain:hover {
+    color: #dad7d7;
+  }
+}
+
+.el-table__row {
+  /deep/ .is-disabled {
+    border-color: transparent !important;
+  }
+}
+.selectMedicine {
+  /deep/ .el-input__suffix-inner {
+    position: relative;
+    top: -1px;
+  }
+  /deep/ .el-icon-circle-close {
+    position: relative;
+    top: -2px;
+  }
+}
+
+.el-button.is-disabled[data-v-7f43c814] {
+  color: #dad7d7;
+}
+
+.el-button.is-disabled[data-v-7f43c814]:hover {
+  color: #ff0000;
+}
+
+.contents .is-plain[data-v-7f43c814] {
+  border: none;
+  background-color: transparent;
+}
+
+.contents .is-plain[data-v-7f43c814]:hover {
+  background-color: transparent;
+}
+
+.active {
+  color: #ff0000;
+}
+.active-t {
+  color: #dddddd;
+}
+.active-t:hover {
+  color: #ff0000;
+}
+</style>

+ 548 - 0
.history/src/components/cdssManage/plan/Plan_20211018144621.vue

@@ -0,0 +1,548 @@
+<template>
+  <div>
+    <crumbs title="电子病历方案配置" style="min-width: 980px">
+      <el-form :inline="true" class="demo-form-inline">
+        <el-form-item label="所属医院:" class="selectMedicine">
+          <el-select size="mini" v-model="filter.hospitalId" placeholder="请选择" clearable>
+            <el-option
+              v-for="item in HospitalInfoList"
+              :label="item.name"
+              :value="item.id"
+              :key="item.id"
+            ></el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="方案名称:">
+          <el-input size="mini" v-model="filter.planName" placeholder="请输入" clearable></el-input>
+        </el-form-item>
+        <el-form-item>
+          <el-button size="mini" @click="filterDatas">检索</el-button>
+          <el-button size="mini" type="warning" @click="addRelation">添加方案</el-button>
+        </el-form-item>
+      </el-form>
+    </crumbs>
+    <div class="contents">
+      <el-table :data="list" border style="width: 100%" ref="">
+        <el-table-column :resizable="false" type="index" :index="indexMethod" label="编号" width="60"></el-table-column>
+        <el-table-column :resizable="false" prop="hospitalId" label="医院ID" show-overflow-tooltip></el-table-column>
+        <el-table-column :resizable="false" prop="hospitalName" label="医院名称" show-overflow-tooltip></el-table-column>
+        <!-- <el-table-column :resizable="false" prop="hospitalId" label="医院编码"></el-table-column> -->
+        <el-table-column :resizable="false" prop="planName" label="方案名称" show-overflow-tooltip></el-table-column>
+        <el-table-column :resizable="false" prop="planCode" label="方案编码" width="180"></el-table-column>
+        <el-table-column :resizable="false" prop="planDetail" label="模块配置" show-overflow-tooltip></el-table-column>
+        <el-table-column
+          :resizable="false"
+          prop="gmtCreate"
+          label="创建时间"
+          show-overflow-tooltip
+          width="180"
+        ></el-table-column>
+        <el-table-column
+          :resizable="false"
+          prop="planStatus"
+          label="状态"
+          show-overflow-tooltip
+          width="180"
+        >
+          <template slot-scope="scope">{{scope.row.planStatus == 1 ? '已启用': '已禁用'}}</template>
+        </el-table-column>
+
+        <el-table-column :resizable="false" prop="operate" label="操作">
+          <template slot-scope="scope">
+            <el-button
+              @click="modifyRelation(scope.row)"
+              type="text"
+              size="small"
+              v-if="scope.row.planStatus === 1"
+              class="disable"
+            >修改</el-button>
+            <el-button plain type="text" size="small" v-else disabled>修改</el-button>
+            <span style="margin:0 3px;">|</span>
+            <el-button
+              type="text"
+              size="small"
+              :class="codeArr.includes(scope.row.planCode) ? 'active-t': 'active'"
+              :disabled = 'codeArr.includes(scope.row.planCode)'
+              @click="enableOrAble(scope.row,0)"
+              v-if="scope.row.planStatus === 1"
+            >禁用</el-button>
+
+            <el-button type="text" size="small" @click="enableOrAble(scope.row,1)" v-else>启用</el-button>
+            <span style="margin:0 3px;">|</span>
+            <el-button
+              v-if="scope.row.planStatus !== 1"
+              @click="showDelDialog(scope.row.id,scope.row.planStatus,scope.row.planName,scope.row)"
+              class="delete"
+              type="text"
+              size="small"
+            >删除</el-button>
+            <el-button class="deleteBtn" plain type="text" size="small" v-else disabled>删除</el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+      <div class="pagination">
+        <el-pagination
+          :current-page.sync="currentPage"
+          @current-change="currentChange"
+          background
+          :page-size="pageSize"
+          :page-sizes="pageSizeArr"
+          @size-change="handleSizeChange"
+          :layout="pageLayout"
+          :total="total"
+        ></el-pagination>
+      </div>
+    </div>
+  </div>
+</template>
+
+<script>
+import api from "@api/cdss.js";
+import config from "@api/config.js";
+import utils from "@api/utils.js";
+
+export default {
+  name: "Plan",
+  data: function() {
+    return {
+      list: [],
+      searched: false,
+      filter: {
+        planName: "", //标准诊断名称
+        hospitalId: ""
+      },
+      currentPage: 1,
+      pageSize: config.pageSize,
+      pageSizeArr: config.pageSizeArr,
+      pageLayout: config.pageLayout,
+      total: 0,
+      hospitalId: "",
+      HospitalInfoList: [],
+      disablelist: [],
+      codeArr: []
+    };
+  },
+  created(row) {
+    const that = this;
+    //返回时避免参数未赋值就获取列表
+    setTimeout(function() {
+      that.getDisabel()
+      that.getDataList();
+      that._getHospitalInfo();
+    });
+    // 非首页 编辑页返回 设置 this.currentPage
+    if (Object.keys(this.$route.params).length !== 0) {
+      this.currentPage = this.$route.params.currentPage;
+    }
+  },
+  watch: {
+    filter: {
+      handler: function() {
+        this.searched = false;
+      },
+      deep: true
+    }
+  },
+  beforeRouteEnter(to, from, next) {
+    next(vm => {
+      //const pm = to.param;
+      Object.assign(vm, to.params);
+      vm.inCurrentPage = to.params.currentPage;
+    });
+  },
+  methods: {
+    handleSizeChange(val) {
+      this.pageSize = val;
+      this.currentPage = utils.getCurrentPage(
+        this.currentPage,
+        this.total,
+        this.pageSize
+      );
+      this.getDataList();
+    },
+
+    // 获取医院下拉列表
+    _getHospitalInfo() {
+      api.getHospitalInfo().then(res => {
+        if (res.data.code === "0") {
+          this.HospitalInfoList = res.data.data;
+          console.log("医院列表>>", this.HospitalInfoList);
+        }
+      });
+    },
+
+    // 使plan_default禁用
+    async getDisabel(row){
+      const res = await api.getListBack()
+         if(res.data.code === '0'){
+            this.disablelist = res.data.data[60]
+            console.log('禁用2', this.codeArr);
+            this.codeArr = this.disablelist.map(item => {
+              if(item.val == 'plan_default'){
+                return item.val
+              }
+            })
+         }
+    },
+
+
+    // 获取列表数据
+    async getDataList(isTurnPage) {
+
+      let params = await this.getFilterItems(isTurnPage);
+      // return;
+      this.searched = true;
+      const loading = this.$loading({
+        lock: true,
+        text: "Loading",
+        spinner: "el-icon-loading",
+        background: "rgba(0, 0, 0, 0.7)"
+      });
+      api.getPlanInfoPages(params).then(res => {
+        console.log("列表数据", res);
+        loading.close();
+        if (res.data.code === "0") {
+          this.list = res.data.data && res.data.data.records;
+          console.log("hello>>", this.list);
+        }
+        this.total = res.data.data && res.data.data.total;
+        if (this.inCurrentPage !== undefined) {
+          this.currentPage = this.inCurrentPage;
+          this.inCurrentPage = undefined;
+        }
+      });
+    },
+
+    // 返回字典信息数据
+
+    // 处理列表请求数据参数
+    async getFilterItems(isTurnPage) {
+      //翻页时筛选条件没点确定则清空
+      if (isTurnPage && !this.searched) {
+        this.clearFilter();
+      }
+      // let planName = this.filter.planName.trim();
+      const param = {
+        current: this.inCurrentPage || this.currentPage,
+        size: this.pageSize,
+        planName: this.filter.planName.trim(),
+        hospitalId: this.filter.hospitalId
+      };
+      return param;
+    },
+
+    escapeRegExp(text) {
+      return text.replace(/[-[\]{}()*+?._,\\^$|#\s]/g, "\\$&");
+    },
+
+    filterDatas() {
+      this.currentPage = 1;
+      this.getDataList();
+    },
+    addRelation() {
+      const pam = this.searched
+        ? {
+            currentPage: this.currentPage,
+            pageSize: this.pageSize,
+            filter: this.filter
+          }
+        : { currentPage: this.currentPage, pageSize: this.pageSize };
+      this.$router.push({ name: "AddPlan", params: pam });
+    },
+    // 修改诊断关联-跳转至编辑页面
+    modifyRelation(row) {
+      const item = Object.assign({}, row);
+      const pam = this.searched
+        ? {
+            currentPage: this.currentPage,
+            pageSize: this.pageSize,
+            filter: this.filter
+          }
+        : { currentPage: this.currentPage, pageSize: this.pageSize };
+      this.$router.push({
+        name: "AddPlan",
+        params: Object.assign(pam, { isEdit: true, data: item, codeArr: this.codeArr})
+      });
+    },
+    currentChange(next) {
+      this.currentPage = next;
+      this.getDataList(true);
+      // if (this.cacheData[next]) {       //如果已请求过该页数据,则使用缓存不重复请求
+      //     this.list = this.cacheData[next];
+      // } else {
+      //     this.getDataList();
+      // }
+    },
+    // 清空搜索参数
+    clearFilter() {
+      this.filter = {
+        hisName: "",
+        planName: ""
+      };
+    },
+
+    indexMethod(index) {
+      return (this.currentPage - 1) * this.pageSize + index + 1;
+    },
+    getTagType(val) {
+      return val;
+    },
+    warning(msg, type) {
+      this.$message({
+        showClose: true,
+        message: msg,
+        type: type || "warning"
+      });
+    },
+    showConfirmDialog(msg, resolve, type) {
+      let showInfo = "启用";
+      let btnNameClass = "confirmBtn2";
+      if (type === "Del") {
+        showInfo = "禁用";
+        btnNameClass = "delBtn";
+      } else if (type === "Del1") {
+        showInfo = "删除";
+        btnNameClass = "delBtn";
+      }
+
+      this.$alert(msg, "提示", {
+        confirmButtonText: showInfo,
+        // cancelButtonText: '取消',
+        // cancelButtonClass: 'cancelBtn',
+        // confirmButtonClass: btnNameClass,
+        type: "warning"
+      })
+        .then(() => {
+          resolve();
+        })
+        .catch(() => {});
+    },
+    // // 获取医院信息
+    // _getHospital() {
+    //   api.getHospitalInfo().then(res => {
+    //     if (res.data.code === '0') {
+    //       this.hospitalId = res.data.data.id;
+    //     }
+    //   });
+    // },
+    // 删除关联
+    showDelDialog(id, status, info, row) {
+      if (status === 1) {
+        this.$alert(`${info}正在启用中,无法删除。`, "提示", {
+          confirmButtonText: "确定",
+          // cancelButtonText: '取消',
+          // cancelButtonClass: 'cancelSureL',
+          // confirmButtonClass: 'sureL',
+          // customClass: 'exportBoxL',
+          type: "warning"
+        })
+          .then(() => {})
+          .catch(() => {});
+        return false;
+      }
+
+      if (id === -1) {
+        this.$alert(`该方案为默认方案,无法删除。`, "提示", {
+          confirmButtonText: "确定",
+          // cancelButtonText: '取消',
+          // cancelButtonClass: 'cancelSureL',
+          // confirmButtonClass: 'sureL',
+          // customClass: 'exportBoxL',
+          type: "warning"
+        })
+          .then(() => {})
+          .catch(() => {});
+        return false;
+      }
+      // return
+      this.showConfirmDialog(
+        "是否删除该方案配置?",
+        () => {
+          let params = {
+            planId: id,
+            hospitalId: row.hospitalId
+          };
+          api
+            .cancelPlanDatas(params)
+            .then(res => {
+              if (res.data.code == "0") {
+                if (!this.searched) {
+                  //未点确认时清空搜索条件
+                  this.clearFilter();
+                }
+                if (this.list.length == 1) {
+                  //当前在最后一页且只有一条数据时,删除后跳到前一页
+                  this.currentPage =
+                    this.currentPage === 1 ? 1 : this.currentPage - 1;
+                }
+                this.getDataList();
+                this.warning(res.data.msg || "操作成功", "success");
+              } else {
+                this.warning(res.data.msg);
+              }
+            })
+            .catch(error => {
+              if (error.code === "900010001") {
+                return false;
+              }
+              this.warning(error);
+            });
+        },
+        "Del1"
+      );
+    },
+
+    // 启用/禁用 数据请求
+    sendAbleOrEn(row, type) {
+      api
+        .revStopPlans({
+          id: row.id,
+          status: type
+        })
+        .then(res => {
+          console.log("禁用", res);
+          if (res.data.code === "0") {
+            this.$message({
+              showClose: true,
+              message: "操作成功",
+              type: "success",
+              duration: 1000
+            });
+            this.getDataList();
+          }
+        })
+        .catch(err => {});
+    },
+
+    // 启用/禁用
+    enableOrAble(row, type) {
+      console.log("启用planName", row, type);
+      if (type === 1) {
+        // 启用
+        this.showConfirmDialog(
+          `确定要启用${row.planName}吗?`,
+          () => {
+            this.sendAbleOrEn(row, type);
+          },
+          "Reuse"
+        );
+      } else {
+        // 禁用
+        this.showConfirmDialog(
+          `方案禁用后前端页面将无法正常显示内容,确定要禁用${row.planName}吗?`,
+          () => {
+            this.sendAbleOrEn(row, type);
+          },
+          "Del"
+        );
+      }
+    }
+  }
+};
+</script>
+
+
+<style lang="less" scoped>
+@import "../../../less/admin.less";
+.delete {
+  color: red;
+}
+.delete:hover {
+  color: red;
+}
+.pagination {
+  min-width: 1010px;
+}
+.disable {
+  border-color: transparent;
+}
+.el-message-box {
+  /deep/.cancelBtn {
+    background-color: #d7d7d7;
+    border-color: transparent;
+  }
+  /deep/ .delBtn {
+    background-color: #ff545b !important;
+    border-color: transparent !important;
+  }
+  /deep/ .confirmBtn2 {
+    position: relative;
+    right: 0px !important;
+  }
+}
+.exportBoxL {
+  /deep/ .el-message-box__btns {
+    margin-top: 20px;
+  }
+  /deep/ .el-message-box__message {
+    text-align: left;
+  }
+  /deep/ .el-message-box__btns {
+    // text-align: center;
+    margin-bottom: 24px;
+  }
+  /deep/ .leftbtn {
+    margin-right: 46px;
+    background-color: #d7d7d7;
+    border-color: transparent;
+  }
+  /deep/ .cancelSureL {
+    // text-align: center;
+    display: none;
+  }
+  /deep/ .sureL {
+    float: right;
+  }
+}
+.contents {
+  .is-plain {
+    color: #dad7d7;
+  }
+  .is-plain:hover {
+    color: #dad7d7;
+  }
+}
+
+.el-table__row {
+  /deep/ .is-disabled {
+    border-color: transparent !important;
+  }
+}
+.selectMedicine {
+  /deep/ .el-input__suffix-inner {
+    position: relative;
+    top: -1px;
+  }
+  /deep/ .el-icon-circle-close {
+    position: relative;
+    top: -2px;
+  }
+}
+
+.el-button.is-disabled[data-v-7f43c814] {
+  color: #dad7d7;
+}
+
+.el-button.is-disabled[data-v-7f43c814]:hover {
+  color: #ff0000;
+}
+
+.contents .is-plain[data-v-7f43c814] {
+  border: none;
+  background-color: transparent;
+}
+
+.contents .is-plain[data-v-7f43c814]:hover {
+  background-color: transparent;
+}
+
+.active {
+  color: #ff0000;
+}
+.active-t {
+  color: #dddddd;
+}
+.active-t:hover {
+  color: #ff0000;
+}
+</style>