From dd3a1555e588bc356464b70921be15e5f0664668 Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期五, 19 一月 2024 13:25:02 +0800
Subject: [PATCH] 修改车间订单拖拽排序&参数值校验

---
 src/views/plan/customerorder/index.vue |  160 ++++++++++++++++++++---------------------------------
 1 files changed, 61 insertions(+), 99 deletions(-)

diff --git a/src/views/plan/customerorder/index.vue b/src/views/plan/customerorder/index.vue
index 47981a3..7990386 100644
--- a/src/views/plan/customerorder/index.vue
+++ b/src/views/plan/customerorder/index.vue
@@ -12,22 +12,6 @@
         ref="customerOrderTable"
       >
         <template #toolbar>
-          <!-- <el-dropdown
-            v-if="permissions.customerorder_state_change"
-            @command="handleCommand"
-          >
-            <el-button>
-              鐘舵�佹敼鍙�<i class="el-icon-arrow-down el-icon--right"></i>
-            </el-button>
-            <el-dropdown-menu slot="dropdown">
-              <el-dropdown-item
-                :command="item.command"
-                v-for="item in stateTagArr"
-                :disabled="item.disabled">
-                {{ item.label }}
-              </el-dropdown-item>
-            </el-dropdown-menu>
-          </el-dropdown> -->
           <el-dropdown
             v-if="permissions.customerorder_doc_relate"
             @command="documentHandle"
@@ -65,32 +49,11 @@
               >
             </el-dropdown-menu>
           </el-dropdown>
-          <!-- <el-button
-            v-if="permissions.customerorder_push_otc"
-            style="margin-left:10px;"
-            type="primary"
-            @click="pushOtc"
-            >鎺ㄩ�丒RP</el-button
-          > -->
-          <!-- <el-button
-            style="margin-left:10px;"
-            type="primary"
-            @click="importOutPutBatch"
-            >瀵煎叆浜у嚭鎵规</el-button
-          > -->
           <el-button
             style="margin-left:10px;"
             type="primary"
             @click="()=>exportDialogVisible=true"
-            >瀵煎嚭鍙拌处</el-button
-          >
-          <!-- <el-button
-            v-if="permissions.plan_customerorder_return"
-            style="margin-left:10px;"
-            type="primary"
-            @click="returnOrder"
-            >璁㈠崟閫�鍥�</el-button
-          > -->
+            >瀵煎嚭鍙拌处</el-button>
         </template>
       </ttable>
       <!-- 寮圭獥, 鏃ユ湡閫夋嫨 -->
@@ -309,7 +272,8 @@
   exportCustomerOrder,
   exportCustomerOrderSplit,
   syncOrder,
-  dropByContractNo
+  dropByContractNo,
+  downloadWordFile
 } from '../../../api/plan/customerorder'
 import DocumentTable from '@/views/common/document.vue'
 import { remote } from '@/api/admin/dict'
@@ -321,6 +285,7 @@
 export default {
   data() {
     return {
+      uniqueStateArr: [],
       dataForm: {
         selectTime: null,
         exportTime: null
@@ -474,7 +439,7 @@
             searchInfoType: 'text'
           },
           {
-            minWidth: '120',
+            minWidth: '100',
             prop: 'sourceId',
             label: '娣诲姞鏉ユ簮',
             isTag: true,
@@ -690,7 +655,7 @@
           //   fun: this.packageExportHandle
           // },
           {
-            text: '浣滃簾',
+            text: '鍒犻櫎',
             type: 'text',
             size: 'small',
             fun: this.cancelHandle,
@@ -769,10 +734,10 @@
       ],
       sourceIdList: [{
         label: '鍚屾',
-        value: '0'
+        value: "0"
       },{
         label: '鎵嬪姩',
-        value: '1'
+        value: "1"
       }],
       stockVisible: false,
       partName: null,
@@ -855,36 +820,6 @@
   created() {
     // this.getManufactureAttrs()
     this.getTitles()
-    /**
-     * {
-            text: '鑾峰彇閿�鍞鍗�',
-            type: 'primary',
-            fun: this.pullCustomerOrder,
-            disabled: false,
-            permitArr: []
-          },
-          {
-            text: '鑾峰彇IFS琛屽彿',
-            type: 'primary',
-            fun: this.pullIfsLineNo,
-            disabled: false,
-            permitArr: [],
-            loading: false
-          },
-          {
-            text: '鎻愪氦瀹℃牳',
-            type: 'primary',
-            fun: this.auditCustomerOrder,
-            disabled: false,
-            permitArr: [],
-            loading: false
-          },
-          {
-            text: '涓荤敓浜ц鍒�',
-            disabled: false,
-            fun: this.masterPlanHandle
-          }
-     */
     this.table.toolbar.push({
       text: '鏂板閿�鍞鍗�',
       type: 'primary',
@@ -892,14 +827,6 @@
       disabled: false,
       permitArr: []
     })
-    // this.table.toolbar.push({
-    //   text: '鍚屾ERP',
-    //   type: 'primary',
-    //   fun: this.syncERP,
-    //   loading: false,
-    //   disabled: false,
-    //   permitArr: []
-    // })
     if (this.permissions.customerorder_from_otc) {
       this.table.toolbar.push({
         text: '鑾峰彇閿�鍞鍗�',
@@ -909,16 +836,6 @@
         permitArr: []
       })
     }
-    // if (this.permissions.customerorder_ifs_line) {
-    //   this.table.toolbar.push({
-    //     text: '鑾峰彇ERP琛屽彿',
-    //     type: 'primary',
-    //     fun: this.pullIfsLineNo,
-    //     disabled: false,
-    //     permitArr: [],
-    //     loading: false
-    //   })
-    // }
     if (this.permissions.customerorder_submit_oa) {
       this.table.toolbar.push({
         text: '鎻愪氦瀹℃牳',
@@ -934,18 +851,52 @@
         text: '璁剧疆閿�鍞欢',
         type: 'primary',
         fun: this.setSalesPart,
-        disabled: false
+        disabled: false,
+        permitArr: []
       })
     }
+    this.table.toolbar.push({
+        text: '涓嬭浇Word',
+        disabled: false,
+        type: 'primary',
+        fun: this.downloadWord,
+        permitArr: ['03plan','04planed'],
+    })
     if (this.permissions.customerorder_create_masterplan) {
       this.table.toolbar.push({
         text: '涓荤敓浜ц鍒�',
         disabled: false,
-        fun: this.masterPlanHandle
+        fun: this.masterPlanHandle,
+        permitArr: []
       })
     }
   },
   methods: {
+    //涓嬭浇word
+    downloadWord(){
+        let ids = this.multipleSelection.map(ele=>ele.id)
+        if(ids.length<1){
+            this.$message.error("璇烽�夋嫨涓�鏉℃暟鎹�")
+            return
+        }
+        downloadWordFile(ids).then(response=>{
+          // 澶勭悊杩斿洖鐨勬枃浠舵祦
+          const blob = response.data
+          const link = document.createElement('a')
+          link.href = URL.createObjectURL(blob)
+          const disposition = response.headers["content-disposition"]
+          let temp = disposition.substring(disposition.lastIndexOf('=') + 1)
+          link.download = decodeURI(temp)
+          document.body.appendChild(link)
+          link.click()
+          window.setTimeout(function() {
+            URL.revokeObjectURL(blob)
+            document.body.removeChild(link)
+          }, 0)
+        }).catch(error=>{
+            console.error(error);
+        })
+    },
     getOtcPartSyncOptionList() {
       return this.otcPartSyncOptionList
     },
@@ -975,8 +926,6 @@
     },
     // 鍒涘缓涓荤敓浜ц鍒�
     masterPlanHandle() {
-      console.log(this.multipleSelection);
-
       if (this.multipleSelection && this.multipleSelection.length > 0) {
         if (this.judgeCoState(this.multipleSelection)) {
           // 鍒ゆ柇涓�涓嬪墿浣欐暟閲忔槸鍚﹀ぇ浜�0
@@ -1100,8 +1049,8 @@
             }
           })
           if (flag) {
-            checkOA(this.multipleSelection.map((e) => e.id)).then((res) => {
-              console.log(res)
+
+            checkOA(this.multipleSelection.map((e) => e.id),{}).then((res) => {
               if (!res.data.data.success) {
                 this.$confirm(`${res.data.data.message}`, '鎻愮ず', {
                   confirmButtonText: '纭畾',
@@ -1150,7 +1099,6 @@
 
     // 绠辩爜淇℃伅瀵煎嚭
     packageExportHandle(row) {
-      console.log(row.otcQuantity)
       if (row.otcQuantity) {
         this.packageExport.visible = true
         this.packageExport.form = {
@@ -1264,6 +1212,21 @@
           this.stateTagArr[i].disabled = false
         } else {
           this.stateTagArr[i].disabled = true
+        }
+      }
+      // 寰幆琛ㄥご鎸夐挳锛屽垽鏂瘡涓寜閽殑permitArr鏄惁瀹屽叏鍖呭惈閫変腑鐘舵�侊紝鑻ュ畬鍏ㄥ寘鍚紝鍒欐寜閽寒锛屽惁鍒欐寜閽伆
+      var toolbar = this.table.toolbar
+      for (var j = 0; j < toolbar.length; j++) {
+        if (
+          uniqueStateArr.every((val) =>
+            toolbar[j].permitArr.length <= 0
+              ? true
+              : toolbar[j].permitArr.includes(val)
+          )
+        ) {
+          toolbar[j].disabled = false
+        } else {
+          toolbar[j].disabled = true
         }
       }
       this.multipleSelection = val
@@ -1579,7 +1542,6 @@
     },
     // 瀵煎嚭鍙拌处
     exportStandBook() {
-      // console.log(this.$refs.customerOrderTable.getQueryParam(),"SSS")
       // if (this.multipleSelection.length > 0) {
       //   let ids = ''
       //   this.multipleSelection.forEach((item) => {

--
Gitblit v1.9.3