From 9862248787934f4242ac9636e0c4d5b8ee0870b8 Mon Sep 17 00:00:00 2001
From: 吴羡 <16976746+Xian-TT3@user.noreply.gitee.com>
Date: 星期二, 20 十月 2026 16:45:58 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 src/views/CNAS/process/method/standardMethodsChange/index.vue |  200 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 200 insertions(+), 0 deletions(-)

diff --git a/src/views/CNAS/process/method/standardMethodsChange/index.vue b/src/views/CNAS/process/method/standardMethodsChange/index.vue
new file mode 100644
index 0000000..03b8602
--- /dev/null
+++ b/src/views/CNAS/process/method/standardMethodsChange/index.vue
@@ -0,0 +1,200 @@
+<template>
+  <div class="capacity-scope">
+    <div style="display: flex;justify-content: space-between">
+      <div style="display: flex;">
+        <div style="margin-bottom: 18px;margin-right: 10px;display: flex;align-items: center;line-height: 32px;">
+          <span style="width: 88px;font-size: 14px;font-weight: 700;color: var(--lims-text-2);">鏍囧噯鏂规硶</span>
+          <el-input size="small" placeholder="璇疯緭鍏�" clearable v-model="searchForm.standardName"
+                    @keyup.enter="searchList"></el-input>
+        </div>
+        <div style="line-height: 30px;">
+          <el-button type="primary" size="small" @click="searchList">鏌ヨ</el-button>
+          <el-button size="small" @click="resetSearchForm">閲嶇疆</el-button>
+        </div>
+      </div>
+      <div style="line-height: 30px;">
+        <el-button size="small" type="primary" @click="openFormDia('add')">鏂� 澧�</el-button>
+      </div>
+    </div>
+    <div class="table">
+      <limsTable :column="tableColumn" :height="'calc(100vh - 23em)'" :table-data="tableData"
+                 :table-loading="tableLoading" :page="page"
+                 @pagination="pagination">
+      </limsTable>
+    </div>
+    <component :is="'formDIa'" v-if="formDIa" ref="formDIa" :operationType="operationType" :verify-type="0"
+               @closeDia="closeDia" />
+  </div>
+</template>
+
+<script>
+import limsTable from '@/components/Table/lims-table.vue'
+import formDIa from '../methodVerification/component/formDIa.vue'
+import { delMethodVerify, exportMethodVerify, pagesMethodVerify } from '@/api/cnas/process/method/methodVerification'
+
+export default {
+  name: 'StandardMethodsChange',
+  components: { limsTable, formDIa },
+  data() {
+    return {
+      searchForm: {
+        standardName: '',
+        operationType: 0,
+      },
+      tableColumn: [
+        {
+          label: '鏍囧噯鏂规硶',
+          prop: 'methodName',
+          minWidth: '120'
+        },
+        {
+          label: '鍙樻洿鍘熷洜',
+          prop: 'verifyReason',
+          minWidth: '120'
+        },
+        {
+          label: '涓昏鎶�鏈彉鍖�',
+          prop: 'technologyChange',
+          minWidth: '120'
+        },
+        {
+          label: '纭鏃堕棿',
+          prop: 'confirmDate',
+          minWidth: '100'
+        },
+        {
+          label: '鍒涘缓鏃堕棿',
+          prop: 'createTime',
+          minWidth: '100'
+        },
+        {
+          dataType: 'action',
+          minWidth: '60',
+          label: '鎿嶄綔',
+          operation: [
+            {
+              name: '璇︽儏',
+              type: 'text',
+              clickFun: (row) => {
+                this.openFormDia('view', row);
+              },
+            },
+            {
+              name: '缂栬緫',
+              type: 'text',
+              clickFun: (row) => {
+                this.openFormDia('edit', row);
+              },
+            },
+            {
+              name: '瀵煎嚭',
+              type: 'text',
+              clickFun: (row) => {
+                this.downLoadPost(row);
+              },
+            },
+            {
+              name: '鍒犻櫎',
+              type: 'text',
+              color: 'var(--el-color-danger)',
+              clickFun: (row) => {
+                this.deleteRow(row);
+              },
+            }
+          ]
+        }
+      ],
+      tableData: [],
+      tableLoading: false,
+      page: {
+        size: 20,
+        current: 1,
+        total: 0
+      },
+      formDIa: false,
+      operationType: '',
+    };
+  },
+  mounted() {
+    this.searchList()
+  },
+  methods: {
+    // 鏌ヨ鍒楄〃
+    searchList() {
+      const entity = {
+        standardName: this.searchForm.standardName,
+        operationType: this.searchForm.operationType,
+      }
+      const page = this.page
+      this.tableLoading = true
+      pagesMethodVerify({ ...page, ...entity }).then(res => {
+        this.tableLoading = false
+        if (res.code === 200) {
+          this.tableData = res.data.records
+          this.page.total = res.data.total
+        }
+      }).catch(err => {
+        console.log('err---', err);
+        this.tableLoading = false
+      })
+    },
+    // 鍒犻櫎
+    deleteRow(row) {
+      this.$confirm('姝ゆ搷浣滃皢姘镐箙鍒犻櫎璇ユ暟鎹�, 鏄惁缁х画?', '鎻愮ず', {
+        confirmButtonText: '纭畾',
+        cancelButtonText: '鍙栨秷',
+        type: 'warning'
+      }).then(() => {
+        this.tableLoading = true
+        delMethodVerify({ methodVerifyId: row.methodVerifyId }).then(res => {
+          this.tableLoading = false
+          if (res.code === 200) {
+            this.$message.success('鍒犻櫎鎴愬姛')
+            this.searchList()
+          }
+        }).catch(err => {
+          this.tableLoading = false
+          console.log('err---', err);
+        })
+      })
+    },
+    // 閲嶇疆鏌ヨ鏉′欢
+    resetSearchForm() {
+      this.searchForm.standardName = '';
+      this.searchList()
+    },
+    openFormDia(type, row) {
+      this.formDIa = true
+      this.operationType = type
+      this.$nextTick(() => {
+        this.$refs.formDIa.openDia(row)
+      })
+    },
+    // 瀵煎嚭
+    downLoadPost(row) {
+      exportMethodVerify({ methodVerifyId: row.methodVerifyId }).then(res => {
+        const blob = new Blob([res], { type: 'application/msword' });
+        this.$download.saveAs(blob, '鏍囧噯鏂规硶鍙樻洿璁板綍.docx')
+      })
+    },
+    // 鍏抽棴寮规
+    closeDia() {
+      this.formDIa = false
+      this.searchList()
+    },
+    // 鍒嗛〉鍒囨崲
+    pagination(page) {
+      this.page.size = page.limit
+      this.searchList();
+    },
+  }
+};
+</script>
+
+<style scoped>
+.search {
+  height: 46px;
+  display: flex;
+  justify-content: space-between;
+}
+</style>

--
Gitblit v1.9.3