spring
2025-02-20 109c83570a6c052c4c83633a0bce8ae81af97af2
src/views/standard/model/index.vue
@@ -4,77 +4,35 @@
      <div class="search_thing">
        <div class="search_label">模板名称:</div>
        <div class="search_input">
          <el-input
            v-model="queryParams.name"
            clearable
            placeholder="请输入"
            size="small"
            @keyup.enter.native="refreshTable()"
          ></el-input>
          <el-input v-model="queryParams.name" clearable placeholder="请输入" size="small"
            @keyup.enter.native="refreshTable()"></el-input>
        </div>
      </div>
      <div class="search_thing" style="padding-left: 30px">
        <el-button size="small" @click="refresh()">重 置</el-button>
        <el-button size="small" type="primary" @click="refreshTable()"
          >查 询</el-button
        >
        <el-button size="small" type="primary" @click="refreshTable()">查 询</el-button>
      </div>
      <div class="btn">
        <el-button
          v-if="checkPermi(['system:standard:model:add'])"
          size="small"
          type="primary"
          @click="openAdd"
          >新增</el-button
        >
        <el-button
          v-if="checkPermi(['system:standard:model:copy'])"
        <el-button v-if="checkPermi(['standard:model:add'])" size="small" type="primary" @click="openAdd">新增</el-button>
        <!-- <el-button
          v-if="checkPermi(['standard:model:copy'])"
          size="small"
          @click="copyTemplate"
          >复制模版</el-button
        >
        > -->
      </div>
    </div>
    <div class="table">
      <lims-table
        :tableData="tableData"
        :column="column"
        :page="page"
        :tableLoading="tableLoading"
        :height="'calc(100% - 200px)'"
      ></lims-table>
    </div>
    <el-dialog
      :before-close="isClose"
      :close-on-click-modal="false"
      :close-on-press-escape="false"
      :visible.sync="isShow"
      title="模板编制"
      width="85%"
    >
    <lims-table :tableData="tableData" :column="column" :page="page" :tableLoading="tableLoading"
      :height="'calc(100vh - 250px)'" style="padding: 20px; padding-top: 0" @pagination="pagination"></lims-table>
    <el-dialog :before-close="isClose" :close-on-click-modal="false" :close-on-press-escape="false"
      :visible.sync="isShow" title="模板编制" width="85%">
      <div v-if="isShow" style="width: 100%; height: 82vh; overflow: auto">
        <Excel
          v-loading="loading"
          :data="row.thing"
          :execlTitle="row.name"
        ></Excel>
        <Excel v-loading="loading" :data="row.thing" :execlTitle="row.name"></Excel>
      </div>
    </el-dialog>
    <el-dialog
      :before-close="closeCopyTem"
      :close-on-click-modal="false"
      :close-on-press-escape="false"
      :visible.sync="isShowCopyTem"
      :title="title"
      width="35%"
    >
      <el-form
        ref="copyForm"
        :model="copyForm"
        :rules="copyFormRules"
        label-position="right"
        label-width="80px"
      >
    <el-dialog :before-close="closeCopyTem" :close-on-click-modal="false" :close-on-press-escape="false"
      :visible.sync="isShowCopyTem" :title="title" width="35%">
      <el-form ref="copyForm" :model="copyForm" :rules="copyFormRules" label-position="right" label-width="80px">
        <el-form-item label="模版编号" prop="number">
          <el-input v-model="copyForm.number" clearable size="small"></el-input>
        </el-form-item>
@@ -87,12 +45,7 @@
      </el-form>
      <span slot="footer" class="dialog-footer">
        <el-button @click="closeCopyTem">取 消</el-button>
        <el-button
          :loading="submitCopyInfoLoading"
          type="primary"
          @click="submitCopyInfo"
          >确 定</el-button
        >
        <el-button :loading="submitCopyInfoLoading" type="primary" @click="submitCopyInfo">确 定</el-button>
      </span>
    </el-dialog>
  </div>
@@ -109,7 +62,6 @@
  delStandardTemplate,
  getEditTemplatePreparation,
} from "@/api/standard/model";
import { checkPermi } from "@/utils/permission"; // 权限判断函数
export default {
  components: {
    Excel,
@@ -153,7 +105,6 @@
          dataType: "action",
          fixed: "right",
          label: "操作",
          width: "180px",
          operation: [
            {
              name: "编辑",
@@ -164,7 +115,7 @@
                this.isShowCopyTem = true;
              },
              showHide: (row) => {
                return this.checkPermi(["system:standard:model:edit"]);
                return this.checkPermi(["standard:model:edit"]);
              },
            },
            {
@@ -174,7 +125,7 @@
                this.handleDelete(row);
              },
              showHide: (row) => {
                return this.checkPermi(["system:standard:model:del"]);
                return this.checkPermi(["standard:model:del"]);
              },
            },
            {
@@ -184,7 +135,7 @@
                this.copyTemplate(row);
              },
              showHide: (row) => {
                return this.checkPermi(["system:standard:model:copy"]);
                return this.checkPermi(["standard:model:copy"]);
              },
            },
            {
@@ -195,8 +146,8 @@
              },
              showHide: (row) => {
                return this.checkPermi([
                  "system:standard:model:edit",
                  "system:standard:model:add",
                  "standard:model:edit",
                  "standard:model:add",
                ]);
              },
            },
@@ -217,26 +168,34 @@
    this.getList();
  },
  methods: {
    checkPermi,
    getList() {
      this.tableLoading = true;
      selectStandardTemplatePageList({ ...this.queryParams, ...this.page })
      let param = { ...this.queryParams, ...this.page };
      delete param.total;
      selectStandardTemplatePageList({ ...param })
        .then((res) => {
          this.tableLoading = false;
          if (res.code === 200) {
            this.tableData = res.data;
            this.page.total = res.total;
            this.tableData = res.data.records;
            this.page.total = res.data.total;
          }
        })
        .catch((err) => {
          this.tableLoading = false;
        });
    },
    pagination({ page, limit }) {
      this.page.current = page;
      this.page.size = limit;
      this.getList();
    },
    refreshTable(e) {
      this.page.current = 1;
      this.getList();
    },
    refresh() {
      this.queryParams = {};
      this.page.current = 1;
      this.getList();
    },
    openAdd() {
@@ -278,7 +237,7 @@
                });
              break;
            case "编辑":
              params.thing = row.thing;
              params.thing = this.copyForm.thing ? this.copyForm.thing : "";
              upStandardTemplate(params)
                .then((res) => {
                  if (res.code == 201) return;
@@ -331,7 +290,7 @@
            this.refreshTable("page");
          });
        })
        .catch(() => {});
        .catch(() => { });
    },
    templateWrite(row) {
      getEditTemplatePreparation({ id: row.id }).then((res) => {
@@ -355,7 +314,7 @@
        .then(() => {
          this.closed();
        })
        .catch(() => {});
        .catch(() => { });
    },
    closed() {
      this.loading = true;
@@ -439,7 +398,7 @@
}
.search_label {
  width: 110px;
  width: 90px;
  font-size: 14px;
  text-align: right;
}
@@ -447,15 +406,10 @@
.search_input {
  width: calc(100% - 110px);
}
.btn {
  position: absolute;
  right: 20px;
  right: 14px;
  top: 20px;
}
.table {
  background-color: #fff;
  padding: 10px;
  padding-top: 0;
}
</style>