From c7f61f9f9f4f3d240e29753a96a4911c15e6797e Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期五, 28 二月 2025 11:26:54 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev

---
 src/views/CNAS/process/method/standardNoveltyRetrieval/component/EditFormDia.vue |  148 +++++++
 src/views/CNAS/process/method/standardNoveltyRetrieval/component/FormDialog.vue  |  131 ++++++
 src/views/CNAS/process/method/standardNoveltyRetrieval/index.vue                 |  729 ++++++++++++++++++++++++++++++++++++++
 src/api/cnas/process/method/standardNoveltyRetrieval.js                          |   75 +++
 4 files changed, 1,083 insertions(+), 0 deletions(-)

diff --git a/src/api/cnas/process/method/standardNoveltyRetrieval.js b/src/api/cnas/process/method/standardNoveltyRetrieval.js
new file mode 100644
index 0000000..a0062e8
--- /dev/null
+++ b/src/api/cnas/process/method/standardNoveltyRetrieval.js
@@ -0,0 +1,75 @@
+// 瀹為獙瀹ょ殑妫�娴嬭兘鍔涙。妗堢浉鍏虫帴鍙�
+import request from "@/utils/request";
+
+// 鏍囧噯鏌ユ柊鍒楄〃
+export function pageMethodSearchNew(query) {
+  return request({
+    url: "/processMethodSearchNew/pageMethodSearchNew",
+    method: "get",
+    params: query,
+  });
+}
+
+// 鏌ヨ瀛樻。
+export function pageSearchNewArchived(query) {
+  return request({
+    url: "/processMethodSearchNew/pageSearchNewArchived",
+    method: "get",
+    params: query,
+  });
+}
+
+// 鏂板鏍囧噯鏌ユ柊瀹℃壒娴佺▼
+export function addSearchNewArchived(data) {
+  return request({
+    url: "/processMethodSearchNew/addSearchNewArchived",
+    method: "post",
+    data: data,
+  });
+}
+
+// 鏂板鏍囧噯鏌ユ柊
+export function addMethodSearchNew(data) {
+  return request({
+    url: "/processMethodSearchNew/addMethodSearchNew",
+    method: "post",
+    data: data,
+  });
+}
+
+// 淇敼鏍囧噯鏌ユ柊
+export function updateMethodSearchNew(data) {
+  return request({
+    url: "/processMethodSearchNew/updateMethodSearchNew",
+    method: "post",
+    data: data,
+  });
+}
+
+// 瀛樻。鎵瑰噯
+export function ratifySearchNewArchivedr(data) {
+  return request({
+    url: "/processMethodSearchNew/ratifySearchNewArchivedr",
+    method: "post",
+    data: data,
+  });
+}
+
+// 鏌ヨ瀛樻。澶囦唤鍒楄〃
+export function pageSearchNewBackups(query) {
+  return request({
+    url: "/processMethodSearchNew/pageSearchNewBackups",
+    method: "get",
+    params: query,
+  });
+}
+
+// 瀵煎嚭鏍囧噯鏌ユ柊
+export function exportMethodSearchNew(query) {
+  return request({
+    url: "/processMethodSearchNew/exportMethodSearchNew",
+    method: "get",
+    responseType: "blob",
+    params: query,
+  });
+}
diff --git a/src/views/CNAS/process/method/standardNoveltyRetrieval/component/EditFormDia.vue b/src/views/CNAS/process/method/standardNoveltyRetrieval/component/EditFormDia.vue
new file mode 100644
index 0000000..38b4025
--- /dev/null
+++ b/src/views/CNAS/process/method/standardNoveltyRetrieval/component/EditFormDia.vue
@@ -0,0 +1,148 @@
+<template>
+  <div>
+    <el-dialog :visible.sync="formDia" title="缂栬緫" width="80%" @close="closeDia">
+      <el-form ref="form" :model="form" :rules="formRules" label-width="auto">
+        <el-col :span="8">
+          <el-form-item label="鏍囧噯鍚嶇О锛�" prop="methodName">
+            <el-input v-model="form.methodName" size="small"></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="8">
+          <el-form-item label="鏍囧噯鍙凤細" prop="standardNo">
+            <el-input v-model="form.standardNo" size="small"></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="8">
+          <el-form-item label="鏂囦欢缂栧彿锛�" prop="fileNo">
+            <el-input v-model="form.fileNo" size="small"></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="8">
+          <el-form-item label="鏄惁鏄柊鏍囧噯锛�" prop="isNewStandard">
+            <el-radio-group v-model="form.isNewStandard">
+              <el-radio :label="0">鍚�</el-radio>
+              <el-radio :label="1">鏄�</el-radio>
+            </el-radio-group>
+          </el-form-item>
+        </el-col>
+        <el-col :span="8">
+          <el-form-item label="鏌ユ柊璁板綍鏉ユ簮锛�" prop="searchNewSource">
+            <el-radio-group v-model="form.searchNewSource">
+              <el-radio :label="0">鏍囧噯缃�</el-radio>
+              <el-radio :label="1">濮旀墭鎯呮姤</el-radio>
+              <el-radio :label="2">鏍囧噯鏁�</el-radio>
+              <el-radio :label="3">鍏朵粬</el-radio>
+            </el-radio-group>
+          </el-form-item>
+        </el-col>
+        <el-col :span="8">
+          <el-form-item label="澶囨敞锛�" prop="remark">
+            <el-select v-model="form.remark"
+                       clearable size="small">
+              <el-option :value="0" label="浣滃簾"></el-option>
+              <el-option :value="1" label="鏇挎崲"></el-option>
+            </el-select>
+          </el-form-item>
+        </el-col>
+        <el-col v-if="form.isNewStandard == 1" :span="8">
+          <el-form-item label="鏂版爣鍑嗗悕绉帮細" prop="newMethodName">
+            <el-input v-model="form.newMethodName" size="small"></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col v-if="form.isNewStandard == 1" :span="8">
+          <el-form-item label="鏂版爣鍑嗗彿锛�" prop="newStandardNo">
+            <el-input v-model="form.newStandardNo" size="small"></el-input>
+          </el-form-item>
+        </el-col>
+      </el-form>
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="closeDia">鍙� 娑�</el-button>
+        <el-button :loading="editLoad" type="primary" @click="handleEdit">鎻� 浜�</el-button>
+      </span>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import {
+  updateMethodSearchNew
+} from '@/api/cnas/process/method/standardNoveltyRetrieval'
+
+export default {
+  name: 'FormDialog',
+  // import 寮曞叆鐨勭粍浠堕渶瑕佹敞鍏ュ埌瀵硅薄涓墠鑳戒娇鐢�
+  components: {},
+  data() {
+    // 杩欓噷瀛樻斁鏁版嵁
+    return {
+      formDia: false,
+      form: {
+        methodName: '',
+        standardNo: '',
+        isNewStandard: '',
+        newMethodName: '',
+        newStandardNo: '',
+        searchNewSource: '',
+        remark: '',
+        fileNo: '',
+      },
+      formRules: {
+        methodName: [{required: true, message: '璇峰~鍐欐爣鍑嗗悕绉�',trigger: 'blur'}],
+        standardNo: [{required: true, message: '璇峰~鍐欐爣鍑嗗彿',trigger: 'blur'}],
+        isNewStandard: [{required: true, message: '璇烽�夋嫨鏄惁鏄柊鏍囧噯',trigger: 'change'}],
+        newMethodName: [{required: false, message: '璇峰~鍐欐柊鏍囧噯鍚嶇О',trigger: 'blur'}],
+        newStandardNo: [{required: false, message: '璇峰~鍐欐柊鏍囧噯鍙�',trigger: 'blur'}],
+        searchNewSource: [{required: true, message: '璇烽�夋嫨鏌ユ柊璁板綍鏉ユ簮',trigger: 'change'}],
+        fileNo: [{required: true, message: '璇峰~鍐欐枃浠跺彿',trigger: 'blur'}],
+      },
+      editLoad: false,
+      info: {},
+    };
+  },
+  // 鏂规硶闆嗗悎
+  methods: {
+    openDia(row) {
+      this.formDia = true
+      this.form = {...row}
+    },
+    handleEdit() {
+      this.$refs['form'].validate((valid) => {
+        if (valid) {
+          this.editLoad = true
+          const processMethodSearchNews = this.HaveJson(this.form)
+          delete processMethodSearchNews.createTime
+          updateMethodSearchNew(processMethodSearchNews).then(res => {
+            this.editLoad = false
+            if (res.code === 200){
+              this.$message.success('鎿嶄綔鎴愬姛')
+              this.closeDia()
+            }
+          }).catch(err => {
+            console.log('err---', err);
+            this.editLoad = false
+          })
+        } else {
+          console.log('error submit!!');
+          return false;
+        }
+      });
+    },
+    closeDia() {
+      this.$refs.form.resetFields();
+      this.formDia = false
+      this.$emit('closeEditDia');
+    },
+  }
+};
+</script>
+
+<style scoped>
+.form-info {
+  display: inline-block;
+  max-height: 600px;
+  overflow-y: auto;
+}
+>>>.el-dialog {
+  margin: 6vh auto 50px !important;
+}
+</style>
diff --git a/src/views/CNAS/process/method/standardNoveltyRetrieval/component/FormDialog.vue b/src/views/CNAS/process/method/standardNoveltyRetrieval/component/FormDialog.vue
new file mode 100644
index 0000000..6ce226e
--- /dev/null
+++ b/src/views/CNAS/process/method/standardNoveltyRetrieval/component/FormDialog.vue
@@ -0,0 +1,131 @@
+<template>
+  <div>
+    <el-dialog :visible.sync="formDia" title="鏂板" width="80%" @close="closeDia">
+      <el-form ref="form" :model="form" :rules="formRules" label-width="auto">
+        <el-button size="small" type="primary" @click="addBtn">娣诲姞涓�鏉�</el-button>
+        <div class="form-info">
+          <div v-for="(items,index) in form.taskRel" :key="index">
+            <el-col :span="12">
+              <el-form-item :prop="`taskRel.${index}.newMethodName`" :rules="{required: true, message: '璇峰~鍐欐爣鍑嗗悕绉�',trigger: 'blur',}" label="鏂版爣鍑嗗悕绉帮細">
+                <el-input v-model="items.newMethodName" size="small"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item :prop="`taskRel.${index}.newStandardNo`" :rules="{required: true,message: '璇峰~鍐欐爣鍑嗗彿',trigger: 'blur',}" label="鏂版爣鍑嗗彿锛�">
+                <el-input v-model="items.newStandardNo" size="small"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item :prop="`taskRel.${index}.searchNewSource`" :rules="{required: true,message: '璇烽�夋嫨鏌ユ柊璁板綍鏉ユ簮',trigger: 'change',}" label="鏌ユ柊璁板綍鏉ユ簮锛�">
+                <el-radio-group v-model="items.searchNewSource">
+                  <el-radio :label="0">鏍囧噯缃�</el-radio>
+                  <el-radio :label="1">濮旀墭鎯呮姤</el-radio>
+                  <el-radio :label="2">鏍囧噯鏁�</el-radio>
+                  <el-radio :label="3">鍏朵粬</el-radio>
+                </el-radio-group>
+              </el-form-item>
+            </el-col>
+            <el-col :span="8">
+              <el-form-item :prop="`taskRel.${index}.remark`" :rules="{required: false,message: '璇烽�夋嫨澶囨敞',trigger: 'change',}" label="澶囨敞锛�">
+                <el-select v-model="items.remark" :prop="`taskRel.${index}.remark`"
+                           :rules="{required: false,message: '璇烽�夋嫨澶囨敞',trigger: 'change',}"
+                           clearable size="small">
+                  <el-option :value="0" label="浣滃簾"></el-option>
+                  <el-option :value="1" label="鏇挎崲"></el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :span="4">
+              <el-button v-if="index !== 0" circle icon="el-icon-delete" size="small" type="danger" @click="deleteHeaderRow(index)"></el-button>
+            </el-col>
+            <el-col :span="24">
+              <el-divider></el-divider>
+            </el-col>
+          </div>
+        </div>
+      </el-form>
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="closeDia">鍙� 娑�</el-button>
+        <el-button :loading="editLoad" type="primary" @click="handleEdit">鎻� 浜�</el-button>
+      </span>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import { addMethodSearchNew } from '@/api/cnas/process/method/standardNoveltyRetrieval'
+
+export default {
+  name: 'FormDialog',
+  // import 寮曞叆鐨勭粍浠堕渶瑕佹敞鍏ュ埌瀵硅薄涓墠鑳戒娇鐢�
+  components: {},
+  data() {
+    // 杩欓噷瀛樻斁鏁版嵁
+    return {
+      formDia: false,
+      form: {
+        taskRel: [
+          {
+            newMethodName: '',
+            newStandardNo: '',
+            searchNewSource: '',
+            remark: '',
+          }
+        ]
+      },
+      formRules: {},
+      editLoad: false,
+      info: {},
+    };
+  },
+  // 鏂规硶闆嗗悎
+  methods: {
+    openDia (row) {
+      this.formDia = true
+    },
+    // 娣诲姞涓�鏉�
+    addBtn() {
+      this.form.taskRel.push({ newMethodName: '', newStandardNo:'', searchNewSource: '', remark: ''});
+    },
+    // 鍒犻櫎涓�鏉�
+    deleteHeaderRow (index) {
+      this.form.taskRel.splice(index, 1);
+    },
+    handleEdit () {
+      this.$refs['form'].validate((valid) => {
+        if (valid) {
+          this.editLoad = true
+          addMethodSearchNew(this.form.taskRel).then(res => {
+            this.editLoad = false
+            if (res.code === 201) return
+            this.$message.success('鎿嶄綔鎴愬姛')
+            this.closeDia()
+          }).catch(err => {
+            console.log('err---', err);
+            this.editLoad = false
+          })
+        } else {
+          console.log('error submit!!');
+          return false;
+        }
+      });
+    },
+    closeDia () {
+      this.$refs.form.resetFields();
+      this.formDia = false
+      this.$emit('closeDia');
+    },
+  }
+};
+</script>
+
+<style scoped>
+.form-info {
+  display: inline-block;
+  max-height: 42em;
+  overflow-y: auto;
+}
+>>>.el-dialog {
+  margin: 6vh auto 50px !important;
+}
+</style>
diff --git a/src/views/CNAS/process/method/standardNoveltyRetrieval/index.vue b/src/views/CNAS/process/method/standardNoveltyRetrieval/index.vue
new file mode 100644
index 0000000..5822548
--- /dev/null
+++ b/src/views/CNAS/process/method/standardNoveltyRetrieval/index.vue
@@ -0,0 +1,729 @@
+<template>
+  <div class="capacity-scope">
+    <div class="search">
+      <div>
+        <el-form :model="searchForm" ref="searchForm" size="small" :inline="true">
+          <el-form-item label="鏍囧噯鍙�" prop="standardNo">
+            <el-input size="small" placeholder="璇疯緭鍏�" clearable v-model="searchForm.standardNo"></el-input>
+          </el-form-item>
+          <el-form-item>
+            <el-button type="primary" icon="el-icon-search" size="mini" @click="searchList">鏌� 璇�</el-button>
+            <el-button icon="el-icon-refresh" size="mini" @click="resetSearchForm">閲� 缃�</el-button>
+          </el-form-item>
+        </el-form>
+      </div>
+      <div>
+        <el-button size="medium" type="primary" @click="openApprovalDialog1">寤� 妗�</el-button>
+        <el-upload ref='upload' :action="action"
+                             :before-upload="beforeUpload" :headers="headers" :on-error="onError"
+                             :on-success="handleSuccessUp" :show-file-list="false" accept='.jpg,.jpeg,.png,.gif,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.pdf,.zip,.rar'
+                             style="display: inline-block; margin-left: 10px;">
+                    <el-button :loading="upLoading" size="medium" type="primary">瀵煎叆</el-button>
+        </el-upload>
+        <el-button size="medium" style="margin-left: 10px;" type="primary" @click="openFormDia">鏂� 澧�</el-button>
+      </div>
+    </div>
+    <div>
+      <div class="table">
+        <div class="table-tab">
+          <el-radio-group v-model="tabIndex" @input="searchList">
+            <el-radio-button label="0">浠婂勾鏍囧噯璁板綍</el-radio-button>
+            <el-radio-button label="1">鍘嗗彶妗f</el-radio-button>
+          </el-radio-group>
+        </div>
+        <div v-if="tabIndex === '0'">
+          <TableCard :showForm="false" :showTitle="false">
+            <template v-slot:table>
+              <lims-table
+                :column="tableColumn"
+                :height="'calc(100vh - 26em)'"
+                :table-data="tableData"
+                :table-loading="tableLoading"
+                :page="page"
+                @pagination="pagination">
+              </lims-table>
+            </template>
+          </TableCard>
+        </div>
+        <div v-if="tabIndex === '1'">
+          <TableCard :showForm="false" :showTitle="false">
+            <template v-slot:table>
+              <lims-table
+                :column="oldTableColumn"
+                :height="'calc(100vh - 20em)'"
+                :table-data="oldTableData"
+                :table-loading="oldTableLoading"
+                :page="oldPage"
+                @pagination="oldPagination">
+              </lims-table>
+            </template>
+          </TableCard>
+        </div>
+      </div>
+      <!--      鍘嗗彶妗f鎵瑰噯寮规-->
+      <el-dialog :visible.sync="approvalDialog" title="鎵瑰噯" width="30%" @close="approvalDialog = false">
+        <span>
+          鎵瑰噯澶囨敞锛�
+          <el-input v-model="qualityRemark" type="textarea"></el-input>
+        </span>
+        <span slot="footer" class="dialog-footer">
+          <el-button :loading="approvalLoading" @click="handleApproval(0)">涓嶆壒鍑�</el-button>
+          <el-button :loading="approvalLoading" type="primary" @click="handleApproval(1)">鎵� 鍑�</el-button>
+        </span>
+      </el-dialog>
+      <el-dialog :visible.sync="approvalDialog1" title="寤烘。" width="30%" @close="approvalDialog1 = false">
+        <span>
+          妗f鍚嶇О锛�
+          <el-input v-model="archivedName" type="textarea"></el-input>
+        </span>
+        <span slot="footer" class="dialog-footer">
+          <el-button :loading="approvalLoading" @click="approvalDialog1 = false, archivedName = ''">鍙� 娑�</el-button>
+          <el-button :loading="approvalLoading" type="primary" @click="handleApproval1()">纭� 瀹�</el-button>
+        </span>
+      </el-dialog>
+      <FormDialog v-if="formDialog" ref="formDialog" @closeDia="closeDia"></FormDialog>
+      <EditFormDia v-if="editFormDialog" ref="editFormDialog" @closeEditDia="closeEditDia"></EditFormDia>
+      <el-dialog :visible.sync="viewRocordDia" title="璇︽儏" width="80%" @close="approvalDialog = false">
+        <TableCard :showForm="false" :showTitle="false">
+          <template v-slot:table>
+            <limsTable
+              :column="tableColumn1"
+              :height="'calc(100vh - 26em)'"
+              :table-data="tableData1"
+              :table-loading="tableLoading1"
+              style="padding: 0 15px;margin-bottom: 16px"
+              :page="page1"
+              @pagination="pagination1">
+            </limsTable>
+          </template>
+        </TableCard>
+      </el-dialog>
+    </div>
+  </div>
+</template>
+
+<script>
+import limsTable from '@/components/Table/lims-table.vue'
+import TableCard from '@/views/CNAS/externalService/serviceAndSupplyPro/component/index.vue';
+import FormDialog from './component/FormDialog.vue';
+import EditFormDia from './component/EditFormDia.vue';
+import {
+  addSearchNewArchived, exportMethodSearchNew,
+  pageMethodSearchNew, pageSearchNewArchived, pageSearchNewBackups, ratifySearchNewArchivedr
+} from '@/api/cnas/process/method/standardNoveltyRetrieval'
+
+export default {
+  name: 'a7-standard-novelty-retrieval',
+  // import 寮曞叆鐨勭粍浠堕渶瑕佹敞鍏ュ埌瀵硅薄涓墠鑳戒娇鐢�
+  components: {
+    FormDialog,
+    TableCard,
+    limsTable,
+    EditFormDia
+  },
+  data() {
+    // 杩欓噷瀛樻斁鏁版嵁
+    return {
+      searchForm: {
+        year: '',
+        standardNo: '',
+      },
+      options: [
+        {label: '涓婂崐骞�', value: '1'},
+        {label: '涓嬪崐骞�', value: '2'},
+      ],
+      tableColumn: [
+        {
+          label: '鏍囧噯鍚嶇О',
+          prop: 'methodName',
+          minWidth: '100'
+        },
+        {
+          label: '鏍囧噯鍙�',
+          prop: 'standardNo',
+          minWidth: '100'
+        },
+        {
+          label: '鏂囦欢缂栧彿',
+          prop: 'fileNo',
+          minWidth: '100'
+        },
+        {
+          dataType: 'tag',
+          label: '鏄惁鏄柊鏍囧噯',
+          prop: 'isNewStandard',
+          minWidth: '100',
+          formatData: (params) => {
+            if (params == 0) {
+              return '鍚�';
+            } else if (params == 1) {
+              return '鏄�';
+            } else {
+              return null
+            }
+          },
+          formatType: (params) => {
+            if (params == 0) {
+              return 'danger';
+            } else if (params == 1) {
+              return 'success';
+            } else {
+              return null
+            }
+          }
+        },
+        {
+          label: '鏂版爣鍑嗗悕绉�',
+          prop: 'newMethodName',
+          minWidth: '100'
+        },
+        {
+          label: '鏂版爣鍑嗗彿',
+          prop: 'newStandardNo',
+          minWidth: '100'
+        },
+        {
+          dataType: 'tag',
+          label: '鏌ヨ璁板綍鏉ユ簮',
+          prop: 'searchNewSource',
+          minWidth: '100',
+          formatData: (params) => {
+            if (params == 0) {
+              return '鏍囧噯缃�';
+            } else if (params == 1) {
+              return '濮旀墭鎯呮姤';
+            } else if (params == 2) {
+              return '鏍囧噯鏁�';
+            } else if (params == 3) {
+              return '鍏朵粬';
+            } else {
+              return null
+            }
+          },
+          formatType: (params) => {
+            if (params == 0) {
+              return 'success';
+            } else if (params == 1) {
+              return 'danger';
+            } else if (params == 2) {
+              return 'warning';
+            } else if (params == 3) {
+              return 'info';
+            } else {
+              return null
+            }
+          }
+        },
+        {
+          dataType: 'tag',
+          label: '澶囨敞',
+          prop: 'remark',
+          minWidth: '100',
+          formatData: (params) => {
+            if (params == 0) {
+              return '浣滃簾';
+            } else if (params == 1) {
+              return '鏇挎崲';
+            } else {
+              return null
+            }
+          },
+          formatType: (params) => {
+            if (params == 0) {
+              return 'danger';
+            } else if (params == 1) {
+              return 'success';
+            } else {
+              return null
+            }
+          }
+        },
+        {
+          dataType: 'action',
+          minWidth: '100',
+          label: '鎿嶄綔',
+          operation: [
+            {
+              name: '缂栬緫',
+              type: 'text',
+              clickFun: (row) => {
+                this.openEditFormDia(row);
+              },
+            },
+          ]
+        }
+      ],
+      tableColumn1: [
+        {
+          label: '鏍囧噯鍚嶇О',
+          prop: 'methodName',
+          minWidth: '100'
+        },
+        {
+          label: '鏍囧噯鍙�',
+          prop: 'standardNo',
+          minWidth: '100'
+        },
+        {
+          label: '鏂囦欢缂栧彿',
+          prop: 'fileNo',
+          minWidth: '100'
+        },
+        {
+          dataType: 'tag',
+          label: '鏄惁鏄柊鏍囧噯',
+          prop: 'isNewStandard',
+          minWidth: '100',
+          formatData: (params) => {
+            if (params == 0) {
+              return '鍚�';
+            } else if (params == 1) {
+              return '鏄�';
+            } else {
+              return null
+            }
+          },
+          formatType: (params) => {
+            if (params == 0) {
+              return 'danger';
+            } else if (params == 1) {
+              return 'success';
+            } else {
+              return null
+            }
+          }
+        },
+        {
+          label: '鏂版爣鍑嗗悕绉�',
+          prop: 'newMethodName',
+          minWidth: '100'
+        },
+        {
+          label: '鏂版爣鍑嗗彿',
+          prop: 'newStandardNo',
+          minWidth: '100'
+        },
+        {
+          dataType: 'tag',
+          label: '鏌ヨ璁板綍鏉ユ簮',
+          prop: 'searchNewSource',
+          minWidth: '100',
+          formatData: (params) => {
+            if (params == 0) {
+              return '鏍囧噯缃�';
+            } else if (params == 1) {
+              return '濮旀墭鎯呮姤';
+            } else if (params == 2) {
+              return '鏍囧噯鏁�';
+            } else if (params == 3) {
+              return '鍏朵粬';
+            } else {
+              return null
+            }
+          },
+          formatType: (params) => {
+            if (params == 0) {
+              return 'success';
+            } else if (params == 1) {
+              return 'danger';
+            } else if (params == 2) {
+              return 'warning';
+            } else if (params == 3) {
+              return 'info';
+            } else {
+              return null
+            }
+          }
+        },
+        {
+          dataType: 'tag',
+          label: '澶囨敞',
+          prop: 'remark',
+          minWidth: '100',
+          formatData: (params) => {
+            if (params == 0) {
+              return '浣滃簾';
+            } else if (params == 1) {
+              return '鏇挎崲';
+            } else {
+              return null
+            }
+          },
+          formatType: (params) => {
+            if (params == 0) {
+              return 'danger';
+            } else if (params == 1) {
+              return 'success';
+            } else {
+              return null
+            }
+          }
+        }
+      ],
+      tableData: [],
+      tableData1: [],
+      tableLoading: false,
+      tableLoading1: false,
+      page: {
+        size: 10,
+        current: 1,
+        total: 0
+      },
+      page1: {
+        size: 10,
+        current: 1,
+        total: 0
+      },
+      oldPage: {
+        size: 10,
+        current: 1,
+        total: 0,
+      },
+      oldTableColumn: [
+        {
+          label: '瀛樻。鍚嶇О',
+          prop: 'archivedName',
+          minWidth: '100'
+        },
+        {
+          label: '缂栧埗浜�',
+          prop: 'writeName',
+          minWidth: '100'
+        },
+        {
+          label: '缂栧埗鏃堕棿',
+          prop: 'writeTime',
+          minWidth: '100'
+        },
+        {
+          label: '鎵瑰噯浜�',
+          prop: 'ratifyName',
+          minWidth: '100'
+        },
+        {
+          label: '鎵瑰噯淇℃伅',
+          prop: 'ratifyRemark',
+          minWidth: '100'
+        },
+        {
+          dataType: 'tag',
+          label: '鎵瑰噯鐘舵��',
+          prop: 'ratifyStatus',
+          minWidth: '100',
+          formatData: (params) => {
+            if (params == 0) {
+              return '涓嶉�氳繃';
+            } else if (params == 1) {
+              return '閫氳繃';
+            } else {
+              return null
+            }
+          },
+          formatType: (params) => {
+            if (params == 0) {
+              return 'danger';
+            } else if (params == 1) {
+              return 'success';
+            } else {
+              return null
+            }
+          }
+        },
+        {
+          label: '鎵瑰噯鏃堕棿',
+          prop: 'ratifyTime',
+          minWidth: '100'
+        },
+        {
+          dataType: 'action',
+          minWidth: '100',
+          label: '鎿嶄綔',
+          operation: [
+            {
+              name: '鎵瑰噯',
+              type: 'text',
+              clickFun: (row) => {
+                this.openApprovalDialog(row);
+              },
+              disabled: (row) => {
+                if (row.ratifyStatus === 1) {
+                  return true
+                } else {
+                  return false
+                }
+              },
+            },
+            {
+              name: '鏌ョ湅',
+              type: 'text',
+              clickFun: (row) => {
+                this.openViewDia(row);
+              },
+            },
+            {
+              name: '瀵煎嚭',
+              type: 'text',
+              clickFun: (row) => {
+                this.handleOut(row);
+              },
+            }
+          ]
+        }
+      ],
+      oldTableData: [],
+      oldTableLoading: false,
+      tabIndex: '0',
+      formDialog: false,
+      editFormDialog: false,
+      upLoading:false,
+      outLoading:false,
+      ratifyInfo: {
+        writeUserId: '',
+        ratifyUserId: '',
+        writeDate: '',
+        ratifyDate: '',
+      },
+      userList: [],
+      approvalDialog: false,
+      approvalDialog1: false,
+      viewRocordDia: false,
+      approvalLoading: false,
+      qualityRemark: '',
+      archivedName: '',
+      archivedId: '',
+    };
+  },
+  mounted() {
+    this.searchList()
+  },
+  // 鏂规硶闆嗗悎
+  methods: {
+    // 鏌ヨ鍒楄〃
+    searchList () {
+      let params = {}
+      if (this.tabIndex === '0') {
+        params = {
+          entity: {
+            standardNo: this.searchForm.standardNo,
+          },
+          page: this.page
+        }
+      } else {
+        params = {
+          entity: {},
+          page: this.oldPage
+        }
+      }
+      if (this.tabIndex === '0') {
+        this.tableLoading = true
+        pageMethodSearchNew({...params.oldPage,...params.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
+        })
+      } else {
+        this.oldTableLoading = true
+        pageSearchNewArchived({
+          ...params.page,...params.entity
+        }).then(res => {
+          this.oldTableLoading = false
+          if (res.code === 200){
+            console.log('res>>>>>>>>>>>>',res)
+            this.oldTableData = res.data.records
+            this.oldPage.total = res.data.total
+          }
+
+        }).catch(err => {
+          console.log('err---', err);
+          this.oldTableLoading = false
+        })
+      }
+    },
+    // 鎵撳紑鍘嗗彶妗f璇︽儏寮规
+    openViewDia (row) {
+      this.archivedId = row.archivedId
+      this.viewRocordDia = true
+      this.pageSearchNewBackups()
+    },
+    pageSearchNewBackups () {
+      const entity = {
+        archivedId: this.archivedId,
+      }
+      this.tableLoading1 = true
+      pageSearchNewBackups({...this.page1,...entity}).then(res => {
+        this.tableLoading1 = false
+        if (res.code === 200){
+          this.tableData1 = res.data.records
+          this.page1.total = res.data.total
+        }
+
+      }).catch(err => {
+        console.log('err---', err);
+        this.tableLoading1 = false
+      })
+    },
+    // 鎵撳紑鎵瑰噯寮规
+    openApprovalDialog (row) {
+      this.approvalDialog = true
+      this.archivedId = row.archivedId
+    },
+    // 鎵撳紑鎵瑰噯寮规
+    openApprovalDialog1 (row) {
+      this.approvalDialog1 = true
+      this.archivedId = row.archivedId
+    },
+    // 鎻愪氦鎵瑰噯
+    handleApproval (status) {
+      this.approvalLoading = true
+      let internalReport = {
+        archivedId: this.archivedId,
+        ratifyStatus: status,
+        ratifyRemark: this.ratifyRemark
+      }
+      ratifySearchNewArchivedr(internalReport).then(res => {
+        if (res.code === 200) {
+          this.$message.success('鎻愪氦鎴愬姛锛�');
+          this.approvalDialog = false
+          this.searchList()
+        }
+        this.approvalLoading = false
+      }).catch(() => {
+        this.approvalLoading = false
+      })
+    },
+    // 鎻愪氦鎵瑰噯
+    handleApproval1 (status) {
+      this.approvalLoading = true
+      let internalReport = {
+        archivedName: this.archivedName,
+      }
+      addSearchNewArchived(internalReport).then(res => {
+        if (res.code === 200) {
+          this.$message.success('鎻愪氦鎴愬姛锛�');
+          this.approvalDialog1 = false
+          this.searchList()
+        }
+        this.approvalLoading = false
+      }).catch(() => {
+        this.approvalLoading = false
+      })
+    },
+    // 閲嶇疆鏌ヨ鏉′欢
+    resetSearchForm () {
+      this.searchForm.standardNo = '';
+      this.searchList()
+    },
+    // 鎿嶄綔鏂板妗�
+    openFormDia (row) {
+      this.formDialog = true
+      this.$nextTick(() => {
+        this.$refs.formDialog.openDia(row)
+      })
+    },
+    // 鍏抽棴鏂板寮规
+    closeDia () {
+      this.formDialog = false
+      this.searchList()
+    },
+    // 鎵撳紑淇敼寮规
+    openEditFormDia (row) {
+      this.editFormDialog = true
+      this.$nextTick(() => {
+        this.$refs.editFormDialog.openDia(row)
+      })
+    },
+    //
+    closeEditDia () {
+      this.editFormDialog = false
+      this.searchList()
+    },
+    // 瀵煎嚭
+    handleOut (row) {
+      this.outLoading = true
+      exportMethodSearchNew({archivedId:row.archivedId}).then(res => {
+        const blob = new Blob([res],{ type: 'application/octet-stream' });
+        this.$download.saveAs(blob, '鏍囧噯鏌ユ柊瀵煎嚭.xlsx')
+        this.$message.success('瀵煎嚭鎴愬姛')
+      })
+    },
+    // 瀵煎叆
+    beforeUpload(file) {
+      if (file.size > 1024 * 1024 * 10) {
+        this.$message.error('涓婁紶鏂囦欢涓嶈秴杩�10M');
+        this.$refs.upload.clearFiles()
+        return false;
+      } else {
+        this.upLoading = true;
+        return true;
+      }
+    },
+    onError(err, file, fileList) {
+      this.$message.error('涓婁紶澶辫触')
+      this.$refs.upload.clearFiles()
+    },
+    handleSuccessUp(response) {
+      this.upLoading = false;
+      if (response.code == 200) {
+        this.$message.success('涓婁紶鎴愬姛');
+        this.searchList()
+      }
+    },
+    // 鍒嗛〉
+    pagination(page){
+      this.page.size = page.limit
+      this.searchList();
+    },
+    pagination1(page){
+      this.page1.size = page.limit
+      this.pageSearchNewBackups();
+    },
+    oldPagination(page){
+      this.oldPage.size = page.limit
+      this.searchList();
+    },
+    //
+    getUserList(){
+      this.$axios.post(this.$api.user.selectUserList, {
+        page: {current: -1, size: -1,},
+        entity: {name: null}
+      }, {
+        headers: {
+          'Content-Type': 'application/json'
+        }
+      }).then(res => {
+        if (res.code === 201) {
+          return
+        }
+        this.userList = res.data.body.records
+      })
+    },
+  },
+  // 鐢ㄤ簬涓婁紶鏂囦欢鐨勪俊鎭�
+  computed: {
+    headers() {
+      return {
+        'token': sessionStorage.getItem('token')
+      }
+    },
+    action() {
+      return this.javaApi + '/processMethodSearchNew/importMethodSearchNew'
+    }
+  },
+};
+</script>
+
+<style scoped>
+.search {
+  height: 46px;
+  display: flex;
+  justify-content: space-between;
+}
+.table-tab {
+  margin-bottom: 10px;
+}
+</style>

--
Gitblit v1.9.3