From c85ea17d45adac17b780992e049685d72168fdda Mon Sep 17 00:00:00 2001
From: spring <2396852758@qq.com>
Date: 星期日, 27 四月 2025 14:38:48 +0800
Subject: [PATCH] 工艺文件缓存

---
 src/views/technology/document/index.vue |  206 +++++++++++++++++++--------------------------------
 1 files changed, 76 insertions(+), 130 deletions(-)

diff --git a/src/views/technology/document/index.vue b/src/views/technology/document/index.vue
index d9f05e7..1a436cd 100644
--- a/src/views/technology/document/index.vue
+++ b/src/views/technology/document/index.vue
@@ -1,25 +1,9 @@
 <template>
   <div class="mod-config">
     <basic-container>
-      <ttable
-        :table="table"
-        @handleSelectionChange="handleSelectionChange"
-        @tableRowClassName="tableRowClassName"
-        :prelang="prelang"
-        :options="options"
-        :ajaxFun="ajaxFun"
-        ref="documentTable"
-      >
+      <ttable :table="table" @handleSelectionChange="handleSelectionChange" @tableRowClassName="tableRowClassName"
+        :prelang="prelang" :options="options" :ajaxFun="ajaxFun" ref="documentTable">
         <template #toolbar>
-          <!-- <el-button type="primary" :loading="ifsSynsLoading" @click="syncIfs"
-            >ERP鍚屾</el-button
-          > -->
-          <el-button
-            type="primary"
-            @click="deleteBatch"
-            v-if="permissions.technology_document_del"
-            >鎵归噺鍒犻櫎</el-button
-          >
           <!-- <el-button
             type="primary"
             @click="bindTestStandard"
@@ -28,38 +12,18 @@
           > -->
         </template>
       </ttable>
-      <el-dialog
-        title="瀵煎叆"
-        :visible.sync="importTestStandardVisible"
-        width="50%"
-      >
+      <el-dialog title="瀵煎叆" :visible.sync="importTestStandardVisible" width="50%">
         <div>
-          <el-upload
-            style="margin-left:8px;display: inline;"
-            class="upload-demo"
-            drag
-            :headers="headers"
-            :action="testStandardUploadInfo.url"
-            :beforeUpload="beforeAvatarUpload"
-            :limit="1"
-            :show-file-list="false"
-            :file-list="testStandardFileList"
-            :on-success="testStandardFileSuccessUploadScan"
-            :on-error="handleError"
+          <el-upload style="margin-left:8px;display: inline;" class="upload-demo" drag :headers="headers"
+            :action="testStandardUploadInfo.url" :beforeUpload="beforeAvatarUpload" :limit="1" :show-file-list="false"
+            :file-list="testStandardFileList" :on-success="testStandardFileSuccessUploadScan" :on-error="handleError"
             accept=".xlsx,.xls,.csv, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel"
-            :auto-upload="true"
-            ref="testStandardUploadScan"
-            multiple
-          >
+            :auto-upload="true" ref="testStandardUploadScan" multiple>
             <i class="el-icon-upload"></i>
             <div class="el-upload__text"><em>瀵煎叆鏁版嵁</em></div>
             <div class="el-upload__tip" slot="tip">
-              鍙兘涓婁紶xlsx/xls鏂囦欢锛屼笖涓嶈秴杩�10M<el-button
-                type="text"
-                style="font-size:12px;"
-                @click="downTestStandardDataTemplate"
-                >涓嬭浇妯℃澘</el-button
-              >
+              鍙兘涓婁紶xlsx/xls鏂囦欢锛屼笖涓嶈秴杩�10M<el-button type="text" style="font-size:12px;"
+                @click="downTestStandardDataTemplate">涓嬭浇妯℃澘</el-button>
             </div>
           </el-upload>
         </div>
@@ -322,72 +286,8 @@
             searchInfoType: 'datetimerange'
           }
         ],
-        toolbar: [
-          {
-            text: '鏂板',
-            type: 'primary',
-            fun: this.addOrUpdateHandle,
-            disabled: false,
-            permitArr: []
-          },
-          // {
-          //   text: '澶嶅埗',
-          //   fun: this.copyDocument,
-          //   disabled: false,
-          //   permitArr: []
-          // },
-          {
-            text: '鎵瑰噯',
-            fun: () => {
-              this.changeState('accept')
-            },
-            disabled: false,
-            permitArr: ['01draft', '03accepted', '04reject']
-          },
-          {
-            text: '鎷掔粷',
-            fun: () => {
-              this.changeState('reject')
-            },
-            disabled: false,
-            permitArr: ['01draft', '03accepted', '04reject']
-          },
-          {
-            text: '鎾ら攢',
-            fun: () => {
-              this.changeState('cancel')
-            },
-            disabled: false,
-            permitArr: ['01draft', '03accepted', '04reject']
-          }
-          /*,
-          {
-            text: '娴风紗OA',
-            fun: () => {
-              this.approveHandle(0)
-            },
-            disabled: false,
-            permitArr: ['01draft', '04reject'],
-            loading: false
-          },
-          {
-            text: '闄嗙紗OA',
-            fun: () => {
-              this.approveHandle(1)
-            },
-            disabled: false,
-            permitArr: ['01draft', '04reject'],
-            loading: false
-          },
-          {
-            text: '瀵煎嚭word',
-            type: 'primary',
-            fun: this.exportWord,
-            disabled: false,
-            permitArr: []
-          } */
-        ],
-        operator: [],
+        toolbar: [],
+        operator: null,
         operatorConfig: {
           fixed: 'right',
           label: '鎿嶄綔',
@@ -458,9 +358,50 @@
     this.getData()
   },
   created() {
-    this.getBomTypeDbOptions()
+    if (this.permissions.technology_document_add) {
+      this.table.toolbar.push({
+        text: '鏂板',
+        type: 'primary',
+        disabled: false,
+        fun: () => { this.addOrUpdateHandle() },
+        permitArr: [],
+      })
+    }
+    if (this.permissions.technology_document_accept) {
+      this.table.toolbar.push({
+        text: '鎵瑰噯',
+        disabled: true,
+        fun: () => { this.changeState('accept') },
+        permitArr: ['01draft', '03accepted', '04reject'],
+      })
+    }
+    if (this.permissions.technology_document_reject) {
+      this.table.toolbar.push({
+        text: '鎷掔粷',
+        disabled: true,
+        fun: () => { this.changeState('reject') },
+        permitArr: ['01draft', '03accepted', '04reject'],
+      })
+    }
+    if (this.permissions.technology_document_cancel) {
+      this.table.toolbar.push({
+        text: '鎾ら攢',
+        disabled: true,
+        fun: () => { this.changeState('cancel') },
+        permitArr: ['01draft', '03accepted', '04reject'],
+      })
+    }
     if (this.permissions.technology_document_del) {
-      this.table.operator.push({
+      this.table.toolbar.push({
+        text: '鎵归噺鍒犻櫎',
+        type: 'primary',
+        disabled: false,
+        fun: () => { this.deleteBatch() },
+        permitArr: [],
+      })
+    }
+    if (this.permissions.technology_document_del) {
+      this.table.operator = [{
         text: '鍒犻櫎',
         type: 'text',
         size: 'small',
@@ -469,18 +410,19 @@
           val: ['01draft'],
           key: 'state'
         }
-      })
-    } else {
-      this.table.operator.push({
-        text: '鍒犻櫎',
-        type: 'text',
-        size: 'small',
-        fun: this.deleteHandle,
-        show: {
-          val: [],
-          key: 'state'
-        }
-      })
+      }]
+    }
+    this.getBomTypeDbOptions()
+  },
+  watch: {
+    multipleSelection(newVal) {
+      if (newVal.length == 0) {
+        this.table.toolbar.forEach(ele => {
+          if (ele.text == '鎷掔粷' || ele.text == '鎵瑰噯' || ele.text == '鎾ら攢') {
+            ele.disabled = true
+          }
+        })
+      }
     }
   },
   methods: {
@@ -509,7 +451,7 @@
         that.multipleSelection.forEach((item) => {
           ids.push(item.id)
         })
-        changeState(ids, event).then(function() {
+        changeState(ids, event).then(function () {
           that.getData()
         })
       } else {
@@ -523,8 +465,12 @@
     },
     // 鏂板 / 淇敼
     addOrUpdateHandle(row) {
+      if (!this.permissions.technology_document_edit && row.id != null) {
+        this.$message.error("璇ヨ鑹叉病鏈夋搷浣滄潈闄�")
+        return
+      }
       this.$router.push({
-        name: 'documentForm',
+        path: '/technology/document/document-form',
         query: { id: row == null ? null : row.id }
       })
     },
@@ -536,7 +482,7 @@
         closeOnClickModal: false,
         type: 'warning'
       })
-        .then(function() {
+        .then(function () {
           return delObj(row.id)
         })
         .then((response) => {
@@ -575,7 +521,7 @@
     handleSelectionChange(val) {
       // 鏍规嵁鐘舵�侊紝绂佺敤琛ㄥご鎸夐挳
       // 绛涢�夊嚭閫変腑璁板綍鐨勭姸鎬�
-      var stateArr = val.map(function(value, index) {
+      var stateArr = val.map(function (value, index) {
         return value.state
       })
       // 閫変腑鐘舵�佹暟缁勫厓绱犲幓閲�
@@ -609,7 +555,7 @@
       var selectVals = []
       if (val != null) {
         selectVals.push(val)
-        var stateArr = selectVals.map(function(value, index) {
+        var stateArr = selectVals.map(function (value, index) {
           return value.state
         })
         // 閫変腑鐘舵�佹暟缁勫厓绱犲幓閲�

--
Gitblit v1.9.3