From a0c8a2eb778d529f77a347cba7382acde0916742 Mon Sep 17 00:00:00 2001
From: lixiangyu <lixiangyu@xalxzn.com>
Date: 星期一, 15 九月 2025 13:29:01 +0800
Subject: [PATCH] feat(cms): 重写了刀具报废新增逻辑, 从通过刀具信息选取刀具改为通过刀具库存里的数据获取刀具 修改库存id存入刀具id的错误

---
 src/views/cms/modules/CuttingScrapModal.vue   |  159 ++-
 /dev/null                                     |  453 ------------
 src/views/cms/CuttingScrapList.vue            |  254 +++---
 src/views/cms/CuttingScrapDetailList.vue      |    5 
 src/views/cms/CuttingReceiveDetailList.vue    |  260 +++---
 src/views/cms/modules/JSelectScrapModal.vue   |  261 +++++++
 src/views/cms/modules/CuttingReceiveModal.vue |  749 ++++++++++----------
 7 files changed, 987 insertions(+), 1,154 deletions(-)

diff --git a/src/views/cms/CuttingReceiveDetailList.vue b/src/views/cms/CuttingReceiveDetailList.vue
index 1688387..5522cb7 100644
--- a/src/views/cms/CuttingReceiveDetailList.vue
+++ b/src/views/cms/CuttingReceiveDetailList.vue
@@ -1,48 +1,48 @@
 <template>
-   <a-card :bordered="false">
-      <!-- table鍖哄煙-begin -->
-      <div>
-         <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
-            <i class="anticon anticon-info-circle ant-alert-icon"></i> 宸查�夋嫨 <a
-            style="font-weight: 600">{{ selectedRowKeys.length }}</a>椤�
-            <a style="margin-left: 24px" @click="onClearSelected">娓呯┖</a>
-         </div>
+  <a-card :bordered="false">
+    <!-- table鍖哄煙-begin -->
+    <div>
+      <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
+        <i class="anticon anticon-info-circle ant-alert-icon"></i> 宸查�夋嫨 <a
+        style="font-weight: 600">{{ selectedRowKeys.length }}</a>椤�
+        <a style="margin-left: 24px" @click="onClearSelected">娓呯┖</a>
+      </div>
 
-         <a-table
-            ref="table"
-            size="middle"
-            :scroll="{x:true}"
-            bordered
-            rowKey="id"
-            :columns="columns"
-            :dataSource="dataSource"
-            :pagination="ipagination"
-            :loading="loading"
-            class="j-table-force-nowrap"
-            @change="handleTableChange">
+      <a-table
+        ref="table"
+        size="middle"
+        :scroll="{x:true}"
+        bordered
+        rowKey="id"
+        :columns="columns"
+        :dataSource="dataSource"
+        :pagination="ipagination"
+        :loading="loading"
+        class="j-table-force-nowrap"
+        @change="handleTableChange">
 
-            <template slot="htmlSlot" slot-scope="text">
-               <div v-html="text"></div>
-            </template>
-            <template slot="imgSlot" slot-scope="text,record">
-               <span v-if="!text" style="font-size: 12px;font-style: italic;">鏃犲浘鐗�</span>
-               <img v-else :src="getImgView(text)" :preview="record.id" height="25px" alt=""
-                    style="max-width:80px;font-size: 12px;font-style: italic;" />
-            </template>
-            <template slot="fileSlot" slot-scope="text">
-               <span v-if="!text" style="font-size: 12px;font-style: italic;">鏃犳枃浠�</span>
-               <a-button
-                  v-else
-                  :ghost="true"
-                  type="primary"
-                  icon="download"
-                  size="small"
-                  @click="downloadFile(text)">
-                  涓嬭浇
-               </a-button>
-            </template>
+        <template slot="htmlSlot" slot-scope="text">
+          <div v-html="text"></div>
+        </template>
+        <template slot="imgSlot" slot-scope="text,record">
+          <span v-if="!text" style="font-size: 12px;font-style: italic;">鏃犲浘鐗�</span>
+          <img v-else :src="getImgView(text)" :preview="record.id" height="25px" alt=""
+               style="max-width:80px;font-size: 12px;font-style: italic;" />
+        </template>
+        <template slot="fileSlot" slot-scope="text">
+          <span v-if="!text" style="font-size: 12px;font-style: italic;">鏃犳枃浠�</span>
+          <a-button
+            v-else
+            :ghost="true"
+            type="primary"
+            icon="download"
+            size="small"
+            @click="downloadFile(text)">
+            涓嬭浇
+          </a-button>
+        </template>
 
-            <span slot="action" slot-scope="text, record">
+        <span slot="action" slot-scope="text, record">
           <a @click="handleEdit(record)">缂栬緫</a>
 
           <a-divider type="vertical" />
@@ -61,11 +61,11 @@
           </a-dropdown>
         </span>
 
-         </a-table>
-      </div>
+      </a-table>
+    </div>
 
-      <cutting-receive-detail-modal ref="modalForm" @ok="modalFormOk"></cutting-receive-detail-modal>
-   </a-card>
+    <cutting-receive-detail-modal ref="modalForm" @ok="modalFormOk"></cutting-receive-detail-modal>
+  </a-card>
 </template>
 
 <script>
@@ -75,93 +75,93 @@
 import { JeecgListMixin } from '@/mixins/JeecgListMixin'
 
 export default {
-   name: 'CuttingReceiveDetailList',
-   mixins: [JeecgListMixin, mixinDevice],
-   components: {},
-   data() {
-      return {
-         description: '棰嗙敤鍗曟槑缁嗙鐞嗛〉闈�',
-         // 琛ㄥご
-         columns: [
-            {
-               title: '#',
-               dataIndex: '',
-               key: 'rowIndex',
-               width: 60,
-               align: 'center',
-               customRender: function(t, r, index) {
-                  return parseInt(index) + 1
-               }
-            },
-            {
-               title: '鍒�鍏风紪鐮�',
-               align: 'center',
-               dataIndex: 'cuttingCode'
-            },
-            {
-               title: '鍒�鍏峰悕绉�',
-               align: 'center',
-               dataIndex: 'cuttingName'
-            },
-            {
-               title: '鍒�鍏锋潯鐮�',
-               align: 'center',
-               dataIndex: 'cuttingBarcode'
-            },
-            {
-               title: '宸ヤ欢鏉愯川',
-               align: 'center',
-               dataIndex: 'workpieceMaterial'
-            },
-            {
-               title: '浣跨敤瀵垮懡',
-               align: 'center',
-               dataIndex: 'usedLife'
-            }
-         ],
-         url: {
-            list: '/cms/cuttingReceive/detailList',
-            delete: '/cms/cuttingReceiveDetail/delete',
-            deleteBatch: '/cms/cuttingReceiveDetail/deleteBatch',
-            exportXlsUrl: '/cms/cuttingReceiveDetail/exportXls',
-            importExcelUrl: 'cms/cuttingReceiveDetail/importExcel'
+  name: 'CuttingReceiveDetailList',
+  mixins: [JeecgListMixin, mixinDevice],
+  components: {},
+  data() {
+    return {
+      description: '棰嗙敤鍗曟槑缁嗙鐞嗛〉闈�',
+      // 琛ㄥご
+      columns: [
+        {
+          title: '#',
+          dataIndex: '',
+          key: 'rowIndex',
+          width: 60,
+          align: 'center',
+          customRender: function(t, r, index) {
+            return parseInt(index) + 1
+          }
+        },
+        {
+          title: '鍒�鍏风紪鐮�',
+          align: 'center',
+          dataIndex: 'cuttingCode'
+        },
+        {
+          title: '鍒�鍏峰悕绉�',
+          align: 'center',
+          dataIndex: 'cuttingName'
+        },
+        {
+          title: '鍒�鍏锋潯鐮�',
+          align: 'center',
+          dataIndex: 'cuttingBarcode'
+        },
+        {
+          title: '宸ヤ欢鏉愯川',
+          align: 'center',
+          dataIndex: 'workpieceMaterial'
+        },
+        {
+          title: '浣跨敤瀵垮懡',
+          align: 'center',
+          dataIndex: 'usedLife'
+        }
+      ],
+      url: {
+        list: '/cms/cuttingReceive/detailList',
+        delete: '/cms/cuttingReceiveDetail/delete',
+        deleteBatch: '/cms/cuttingReceiveDetail/deleteBatch',
+        exportXlsUrl: '/cms/cuttingReceiveDetail/exportXls',
+        importExcelUrl: 'cms/cuttingReceiveDetail/importExcel'
 
-         },
-         dictOptions: {},
-         superFieldList: [],
-         disableMixinCreated: true
-      }
-   },
-   created() {
-      this.getSuperFieldList()
-   },
-   computed: {
-      importExcelUrl: function() {
-         return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`
-      }
-   },
-   methods: {
-      initDictConfig() {
       },
-      getSuperFieldList() {
-         let fieldList = []
-         fieldList.push({ type: 'string', value: 'orderId', text: '棰嗙敤鍗旾D' })
-         fieldList.push({ type: 'string', value: 'cuttingId', text: '鍒�鍏稩D' })
-         fieldList.push({ type: 'string', value: 'cuttingCode', text: '鍒�鍏风紪鐮�' })  // 娣诲姞杩欎竴琛�
-         fieldList.push({ type: 'string', value: 'cuttingName', text: '鍒�鍏峰悕绉�' })  // 娣诲姞杩欎竴琛�
-         fieldList.push({ type: 'string', value: 'cuttingBarcode', text: '鍒�鍏锋潯鐮�' })  // 娣诲姞杩欎竴琛�
-         fieldList.push({ type: 'string', value: 'inventoryId', text: '搴撳瓨ID' })
-         fieldList.push({ type: 'string', value: 'workpieceMaterial', text: '宸ヤ欢鏉愯川' })
-         fieldList.push({ type: 'int', value: 'usedLife', text: '浣跨敤瀵垮懡' })
-         this.superFieldList = fieldList
-      }
-   },
-   mounted() {
-      this.$bus.$on('getToolingStorageData', (data) => {
-         this.queryParam.orderId = data.id
-         this.searchQuery()
-      })
-   }
+      dictOptions: {},
+      superFieldList: [],
+      disableMixinCreated: true
+    }
+  },
+  created() {
+    this.getSuperFieldList()
+  },
+  computed: {
+    importExcelUrl: function() {
+      return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`
+    }
+  },
+  methods: {
+    initDictConfig() {
+    },
+    getSuperFieldList() {
+      let fieldList = []
+      fieldList.push({ type: 'string', value: 'orderId', text: '棰嗙敤鍗旾D' })
+      fieldList.push({ type: 'string', value: 'cuttingId', text: '鍒�鍏稩D' })
+      fieldList.push({ type: 'string', value: 'cuttingCode', text: '鍒�鍏风紪鐮�' })  // 娣诲姞杩欎竴琛�
+      fieldList.push({ type: 'string', value: 'cuttingName', text: '鍒�鍏峰悕绉�' })  // 娣诲姞杩欎竴琛�
+      fieldList.push({ type: 'string', value: 'cuttingBarcode', text: '鍒�鍏锋潯鐮�' })  // 娣诲姞杩欎竴琛�
+      fieldList.push({ type: 'string', value: 'inventoryId', text: '搴撳瓨ID' })
+      fieldList.push({ type: 'string', value: 'workpieceMaterial', text: '宸ヤ欢鏉愯川' })
+      fieldList.push({ type: 'int', value: 'usedLife', text: '浣跨敤瀵垮懡' })
+      this.superFieldList = fieldList
+    }
+  },
+  mounted() {
+    this.$bus.$on('getToolingStorageData', (data) => {
+      this.queryParam.orderId = data.id
+      this.searchQuery()
+    })
+  }
 }
 </script>
 <style scoped>
diff --git a/src/views/cms/CuttingReceiveList.vue b/src/views/cms/CuttingReceiveList.vue
deleted file mode 100644
index 1f46ebf..0000000
--- a/src/views/cms/CuttingReceiveList.vue
+++ /dev/null
@@ -1,453 +0,0 @@
-<template>
-   <a-card :bordered="false">
-      <!-- 鏌ヨ鍖哄煙 -->
-      <div class="table-page-search-wrapper">
-         <a-form layout="inline" @keyup.enter.native="searchQuery">
-            <a-row :gutter="24">
-               <a-col :md="6" :sm="8">
-                  <a-form-item label="棰嗙敤鍗曠姸鎬�">
-                     <j-search-select-tag
-                        placeholder="璇烽�夋嫨棰嗙敤鍗曠姸鎬�"
-                        v-model="queryParam.orderStatus"
-                        dict="order_status"
-                     />
-                  </a-form-item>
-               </a-col>
-               <a-col :md="6" :sm="8">
-                  <a-form-item label="棰嗙敤浜�">
-                     <j-search-select-tag
-                        placeholder="璇烽�夋嫨棰嗙敤浜�"
-                        v-model="queryParam.receiver"
-                        dict="sys_user,realname,id,del_flag!=1"
-                     />
-                  </a-form-item>
-               </a-col>
-               <a-col
-                  :md="6"
-                  :sm="8"
-               >
-            <span
-               style="float: left;overflow: hidden;"
-               class="table-page-search-submitButtons"
-            >
-              <a-button
-                 type="primary"
-                 @click="searchQuery"
-                 icon="search"
-              >鏌ヨ</a-button>
-              <a-button
-                 type="primary"
-                 @click="searchReset"
-                 icon="reload"
-                 style="margin-left: 8px"
-              >閲嶇疆</a-button>
-            </span>
-               </a-col>
-            </a-row>
-         </a-form>
-      </div>
-      <!-- 鏌ヨ鍖哄煙-END -->
-
-      <!-- 鎿嶄綔鎸夐挳鍖哄煙 -->
-      <div class="table-operator">
-         <a-button @click="handleAdd" type="primary" icon="plus">鏂板</a-button>
-         <!-- <a-button type="primary" icon="download" @click="handleExportXls('鍒�鍏烽鐢ㄥ崟')">瀵煎嚭</a-button>
-         <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel">
-           <a-button type="primary" icon="import">瀵煎叆</a-button>
-         </a-upload> -->
-      </div>
-
-      <!-- table鍖哄煙-begin -->
-      <div>
-         <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
-            <i class="anticon anticon-info-circle ant-alert-icon"></i> 宸查�夋嫨 <a
-            style="font-weight: 600">{{ selectedRowKeys.length }}</a>椤�
-            <a style="margin-left: 24px" @click="onClearSelected">娓呯┖</a>
-         </div>
-
-         <a-table
-            ref="table"
-            size="middle"
-            :scroll="{x:true}"
-            bordered
-            rowKey="id"
-            :columns="columns"
-            :dataSource="dataSource"
-            :pagination="ipagination"
-            :loading="loading"
-            class="j-table-force-nowrap"
-            :customRow="customRow"
-            @change="handleTableChange">
-
-            <template slot="htmlSlot" slot-scope="text">
-               <div v-html="text"></div>
-            </template>
-            <template slot="imgSlot" slot-scope="text,record">
-               <span v-if="!text" style="font-size: 12px;font-style: italic;">鏃犲浘鐗�</span>
-               <img v-else :src="getImgView(text)" :preview="record.id" height="25px" alt=""
-                    style="max-width:80px;font-size: 12px;font-style: italic;" />
-            </template>
-            <template slot="fileSlot" slot-scope="text">
-               <span v-if="!text" style="font-size: 12px;font-style: italic;">鏃犳枃浠�</span>
-               <a-button
-                  v-else
-                  :ghost="true"
-                  type="primary"
-                  icon="download"
-                  size="small"
-                  @click="downloadFile(text)">
-                  涓嬭浇
-               </a-button>
-            </template>
-
-            <!--        <span slot="action" slot-scope="text, record">-->
-            <!--          <a @click="handleEdit(record)">缂栬緫</a>-->
-
-            <!--          <a-divider type="vertical" />-->
-            <!--          <a-dropdown>-->
-            <!--            <a class="ant-dropdown-link">鏇村 <a-icon type="down" /></a>-->
-            <!--            <a-menu slot="overlay">-->
-            <!--              <a-menu-item>-->
-            <!--                <a @click="handleDetail(record)">璇︽儏</a>-->
-            <!--              </a-menu-item>-->
-            <!--              <a-menu-item>-->
-            <!--                <a-popconfirm title="纭畾鍒犻櫎鍚�?" @confirm="() => handleDelete(record.id)">-->
-            <!--                  <a>鍒犻櫎</a>-->
-            <!--                </a-popconfirm>-->
-            <!--              </a-menu-item>-->
-            <!--            </a-menu>-->
-            <!--          </a-dropdown>-->
-            <!--        </span>-->
-
-            <span slot="action" slot-scope="text, record">
-          <a @click="handleEdit(record)" :disabled="record.orderStatus === '2' || record.orderStatus === '3'">缂栬緫</a>
-          <a-divider type="vertical" />
-          <a-dropdown>
-            <a class="ant-dropdown-link">鏇村 <a-icon type="down" /></a>
-            <a-menu slot="overlay">
-              <a-menu-item>
-                <a @click="handleDetail(record)">璇︽儏</a>
-              </a-menu-item>
-              <a-menu-item v-if="record.orderStatus === '1'">
-                  <a @click="handleSubmit(record.id)" :disabled="record.orderStatus === '3'">鎻愪氦</a>
-              </a-menu-item>
-              <a-menu-item v-if="record.orderStatus === '1'">
-                <a-popconfirm title="纭畾鍒犻櫎鍚�?" @confirm="() => handleDelete(record.id)">
-                  <a>鍒犻櫎</a>
-                </a-popconfirm>
-              </a-menu-item>
-               <a-menu-item v-if="record.orderStatus === '2'">
-                  <a @click="handleBack(record.id)">褰掕繕</a>
-              </a-menu-item>
-            </a-menu>
-          </a-dropdown>
-        </span>
-
-         </a-table>
-      </div>
-      <a-tabs defaultActiveKey="1">
-         <a-tab-pane tab="鍒�鍏烽鐢ㄦ槑缁�" key="1">
-            <cutting-receive-detail-list ref="cuttingReceiveDetailList"></cutting-receive-detail-list>
-         </a-tab-pane>
-      </a-tabs>
-      <cutting-receive-modal ref="modalForm" @ok="modalFormOk"></cutting-receive-modal>
-   </a-card>
-</template>
-
-<script>
-
-import '@/assets/less/TableExpand.less'
-import { mixinDevice } from '@/utils/mixin'
-import { JeecgListMixin } from '@/mixins/JeecgListMixin'
-import CuttingReceiveModal from './modules/CuttingReceiveModal'
-import CuttingReceiveDetailList from './CuttingReceiveDetailList'
-import { httpAction } from '@api/manage'
-
-export default {
-   name: 'CuttingReceiveList',
-   mixins: [JeecgListMixin, mixinDevice],
-   components: {
-      CuttingReceiveModal,
-      CuttingReceiveDetailList
-   },
-   data() {
-      return {
-         description: '鍒�鍏烽鐢ㄥ崟绠$悊椤甸潰',
-         // 琛ㄥご
-         columns: [
-            {
-               title: '#',
-               dataIndex: '',
-               key: 'rowIndex',
-               width: 60,
-               align: 'center',
-               customRender: function(t, r, index) {
-                  return parseInt(index) + 1
-               }
-            },
-            {
-               title: '棰嗙敤浜�',
-               align: 'center',
-               dataIndex: 'receiver_dictText'
-            },
-            {
-               title: '棰嗙敤鏃堕棿',
-               align: 'center',
-               dataIndex: 'receiveTime',
-               customRender: function(text) {
-                  return !text ? '' : (text.length > 10 ? text.substr(0, 10) : text)
-               }
-            },
-            {
-               title: '棰嗙敤璇存槑',
-               align: 'center',
-               dataIndex: 'receiveComment'
-            },
-            {
-               title: '纭浜�',
-               align: 'center',
-               dataIndex: 'confirmer_dictText'
-            },
-            {
-               title: '纭鏃堕棿',
-               align: 'center',
-               dataIndex: 'confirmTime',
-               customRender: function(text) {
-                  return !text ? '' : (text.length > 10 ? text.substr(0, 10) : text)
-               }
-            },
-            {
-               title: '纭鎰忚',
-               align: 'center',
-               dataIndex: 'confirmComment'
-            },
-            {
-               title: '鏄惁浼氬綊杩�',
-               align: 'center',
-               dataIndex: 'returnFlag'
-            },
-            {
-               title: '褰掕繕鏃堕棿',
-               align: 'center',
-               dataIndex: 'returnTime',
-               customRender: function(text) {
-                  return !text ? '' : (text.length > 10 ? text.substr(0, 10) : text)
-               }
-            },
-            {
-               title: '褰掕繕璇存槑',
-               align: 'center',
-               dataIndex: 'returnComment'
-            },
-            {
-               title: '褰掕繕纭浜�',
-               align: 'center',
-               dataIndex: 'returnConfirmer_dictText'
-            },
-            {
-               title: '褰掕繕纭鏃堕棿',
-               align: 'center',
-               dataIndex: 'returnConfirmTime',
-               customRender: function(text) {
-                  return !text ? '' : (text.length > 10 ? text.substr(0, 10) : text)
-               }
-            },
-            {
-               title: '褰掕繕纭鎰忚',
-               align: 'center',
-               dataIndex: 'returnConfirmComment'
-            },
-            {
-               title: '棰嗙敤鍗曠姸鎬�',
-               align: 'center',
-               dataIndex: 'orderStatus_dictText'
-            },
-            {
-               title: '鎿嶄綔',
-               dataIndex: 'action',
-               align: 'center',
-               fixed: 'right',
-               width: 147,
-               scopedSlots: { customRender: 'action' }
-            }
-         ],
-         url: {
-            list: '/cms/cuttingReceive/list',
-            delete: '/cms/cuttingReceive/delete',
-            deleteBatch: '/cms/cuttingReceive/deleteBatch',
-            exportXlsUrl: '/cms/cuttingReceive/exportXls',
-            importExcelUrl: 'cms/cuttingReceive/importExcel',
-            submit: '/cms/cuttingReceive/submit',
-            returnBack: '/cms/cuttingReceive/handleBack'
-         },
-         dictOptions: {},
-         superFieldList: []
-      }
-   },
-   created() {
-      this.getSuperFieldList()
-   },
-   computed: {
-      importExcelUrl: function() {
-         return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`
-      }
-   },
-   methods: {
-      searchReset() {
-         this.queryParam = {}
-         this.$refs.cuttingReceiveDetailList.dataSource = []
-         this.loadData(1)
-      },
-      handleEdit: function(record) {
-         this.$refs.modalForm.edit(record)
-         this.$refs.modalForm.title = '缂栬緫'
-         this.$refs.modalForm.disableSubmit = false
-      },
-      handleAdd() {
-         this.$refs.modalForm.add()
-         this.$refs.modalForm.title = '鏂板'
-         this.$refs.modalForm.disableSubmit = false
-      },
-      handleDetail: function(record) {
-         this.$refs.modalForm.edit(record)
-         this.$refs.modalForm.title = '璇︽儏'
-         this.$refs.modalForm.disableSubmit = true
-      },
-      customRow(record) {
-         return {
-            on: {
-               click: (e) => {
-                  //灏嗗綋鍓嶉�変腑鐨勮褰曚紶鍒板瓙椤甸潰
-                  this.$bus.$emit('getToolingStorageData', record)
-                  //鐐瑰嚮褰撳墠琛屽彉鑹�
-                  let oldList = document.querySelectorAll('.checked-td-of-add-table')
-                  if (oldList) {
-                     for (let j = 0; j < oldList.length; j++) {
-                        oldList[j].classList.remove('checked-td-of-add-table')
-                     }
-                  }
-                  let children = e.target.parentNode.children
-                  for (let i = 0; i < children.length; i++) {
-                     children[i].classList.add('checked-td-of-add-table')
-                  }
-               }
-            }
-         }
-      },
-
-      /**
-       *  鍗曟嵁鎻愪氦
-       */
-      handleSubmit: function(id) {
-         if (!this.url.submit) {
-            this.$message.error('璇疯缃畊rl.submit灞炴��!')
-            return
-         }
-
-         let targetId = id // 浠庡弬鏁拌幏鍙朓D
-         // 濡傛灉娌℃湁閫氳繃鍙傛暟浼犻�扞D锛屽垯妫�鏌ラ�変腑鐨勮褰�
-         if (!targetId) {
-            if (this.selectedRowKeys.length != 1) {
-               this.$message.warning('璇烽�夋嫨涓�鏉¤褰曪紒')
-               return
-            } else {
-               targetId = this.selectedRowKeys[0]
-            }
-         }
-
-         // 灏嗗弬鏁颁綔涓烘煡璇㈠弬鏁伴檮鍔犲埌URL涓�
-         let httpurl = this.url.submit + '?orderId=' + encodeURIComponent(targetId)
-         let method = 'get'
-         var params = {}  // 娓呯┖params锛屽洜涓哄弬鏁板凡缁忓湪URL涓紶閫�
-
-         const that = this
-
-         this.$confirm({
-            title: '纭鎻愪氦锛�',
-            // content: '姝e湪鎻愪氦鏁版嵁锛岃鑰愬績绛夊緟...',
-            okText: '纭',
-            cancelText: '鍙栨秷',
-            onOk() {
-               // 鏄剧ず鍔犺浇鎻愮ず
-               const hide = that.$message.loading('姝e湪鎻愪氦鏁版嵁锛岃鑰愬績绛夊緟...', 0)
-
-               // 鍙戦�佽姹�
-               return httpAction(httpurl, params, method).then((res) => {
-                  hide() // 闅愯棌鍔犺浇鎻愮ず
-                  if (res.success) {
-                     that.$message.success(res.message)
-                     that.loadData()
-                  } else {
-                     that.$message.warning(res.message)
-                  }
-               }).catch(error => {
-                  hide() // 闅愯棌鍔犺浇鎻愮ず
-                  that.$message.error('鎻愪氦澶辫触: ' + error.message)
-               }).finally(() => {
-                  that.loading = false
-               })
-            }
-         })
-      },
-
-      /**
-       *  鍗曟嵁棰嗙敤
-       */
-
-      handleBack: function(id) {
-         if (!this.url.returnBack) {
-            this.$message.error('璇疯缃畊rl.return灞炴��!')
-            return
-         }
-
-         let targetId = id // 浠庡弬鏁拌幏鍙朓D
-         // 濡傛灉娌℃湁閫氳繃鍙傛暟浼犻�扞D锛屽垯妫�鏌ラ�変腑鐨勮褰�
-         if (!targetId) {
-            if (this.selectedRowKeys.length != 1) {
-               this.$message.warning('璇烽�夋嫨涓�鏉¤褰曪紒')
-               return
-            } else {
-               targetId = this.selectedRowKeys[0]
-            }
-         }
-
-         // 灏嗗弬鏁颁綔涓烘煡璇㈠弬鏁伴檮鍔犲埌URL涓�
-         let httpurl = this.url.returnBack + '?orderId=' + encodeURIComponent(targetId)
-         let method = 'get'
-         var params = {}  // 娓呯┖params锛屽洜涓哄弬鏁板凡缁忓湪URL涓紶閫�
-
-         const that = this
-
-         this.$confirm({
-            title: '纭鎻愪氦锛�',
-            // content: '姝e湪鎻愪氦鏁版嵁锛岃鑰愬績绛夊緟...',
-            okText: '纭',
-            cancelText: '鍙栨秷',
-            onOk() {
-               // 鏄剧ず鍔犺浇鎻愮ず
-               const hide = that.$message.loading('姝e湪鎻愪氦鏁版嵁锛岃鑰愬績绛夊緟...', 0)
-
-               // 鍙戦�佽姹�
-               return httpAction(httpurl, params, method).then((res) => {
-                  hide() // 闅愯棌鍔犺浇鎻愮ず
-                  if (res.success) {
-                     that.$message.success(res.message)
-                     that.loadData()
-                  } else {
-                     that.$message.warning(res.message)
-                  }
-               }).catch(error => {
-                  hide() // 闅愯棌鍔犺浇鎻愮ず
-                  that.$message.error('鎻愪氦澶辫触: ' + error.message)
-               }).finally(() => {
-                  that.loading = false
-               })
-            }
-         })
-      }
-   }
-}
-</script>
-<style scoped>
-@import '~@assets/less/common.less';
-</style>
\ No newline at end of file
diff --git a/src/views/cms/CuttingScrapDetailList.vue b/src/views/cms/CuttingScrapDetailList.vue
index 026b4d8..a84ce50 100644
--- a/src/views/cms/CuttingScrapDetailList.vue
+++ b/src/views/cms/CuttingScrapDetailList.vue
@@ -11,7 +11,7 @@
 
     <!-- 鎿嶄綔鎸夐挳鍖哄煙 -->
     <div class="table-operator">
-      <a-button @click="handleAdd" type="primary" icon="plus">鏂板</a-button>
+<!--      <a-button @click="handleAdd" type="primary" icon="plus">鏂板</a-button>-->
       <!-- <a-button type="primary" icon="download" @click="handleExportXls('鍒�鍏锋姤搴熸槑缁�')">瀵煎嚭</a-button>
       <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel">
         <a-button type="primary" icon="import">瀵煎叆</a-button>
@@ -76,7 +76,6 @@
             </a-menu>
           </a-dropdown>
         </span>
-
       </a-table>
     </div>
 
@@ -137,7 +136,7 @@
           deleteBatch: "/cms/cuttingScrapDetail/deleteBatch",
           exportXlsUrl: "/cms/cuttingScrapDetail/exportXls",
           importExcelUrl: "cms/cuttingScrapDetail/importExcel",
-          
+
         },
         dictOptions:{},
         superFieldList:[],
diff --git a/src/views/cms/CuttingScrapList.vue b/src/views/cms/CuttingScrapList.vue
index cb27f29..0747b44 100644
--- a/src/views/cms/CuttingScrapList.vue
+++ b/src/views/cms/CuttingScrapList.vue
@@ -7,22 +7,22 @@
           <a-col :md="6" :sm="8">
             <a-form-item label="鎶ュ簾鍗曠姸鎬�">
               <j-search-select-tag
-                  placeholder="璇烽�夋嫨鎶ュ簾鍗曠姸鎬�"
-                  v-model="queryParam.orderStatus"
-                  dict="order_status"
-                />
+                placeholder="璇烽�夋嫨鎶ュ簾鍗曠姸鎬�"
+                v-model="queryParam.orderStatus"
+                dict="order_status"
+              />
             </a-form-item>
           </a-col>
           <a-col :md="6" :sm="8">
-              <a-form-item label="鐢宠浜�">
-                <j-search-select-tag
-                  placeholder="璇烽�夋嫨鐢宠浜�"
-                  v-model="queryParam.applicant"
-                  dict="sys_user,realname,id,del_flag!=1"
-                />
-              </a-form-item>
-            </a-col>
-            <a-col
+            <a-form-item label="鐢宠浜�">
+              <j-search-select-tag
+                placeholder="璇烽�夋嫨鐢宠浜�"
+                v-model="queryParam.applicant"
+                dict="sys_user,realname,id,del_flag!=1"
+              />
+            </a-form-item>
+          </a-col>
+          <a-col
             :md="6"
             :sm="8"
           >
@@ -60,7 +60,8 @@
     <!-- table鍖哄煙-begin -->
     <div>
       <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
-        <i class="anticon anticon-info-circle ant-alert-icon"></i> 宸查�夋嫨 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>椤�
+        <i class="anticon anticon-info-circle ant-alert-icon"></i> 宸查�夋嫨 <a
+        style="font-weight: 600">{{ selectedRowKeys.length }}</a>椤�
         <a style="margin-left: 24px" @click="onClearSelected">娓呯┖</a>
       </div>
 
@@ -83,7 +84,8 @@
         </template>
         <template slot="imgSlot" slot-scope="text,record">
           <span v-if="!text" style="font-size: 12px;font-style: italic;">鏃犲浘鐗�</span>
-          <img v-else :src="getImgView(text)" :preview="record.id" height="25px" alt="" style="max-width:80px;font-size: 12px;font-style: italic;"/>
+          <img v-else :src="getImgView(text)" :preview="record.id" height="25px" alt=""
+               style="max-width:80px;font-size: 12px;font-style: italic;" />
         </template>
         <template slot="fileSlot" slot-scope="text">
           <span v-if="!text" style="font-size: 12px;font-style: italic;">鏃犳枃浠�</span>
@@ -119,7 +121,7 @@
 
       </a-table>
     </div>
-<a-tabs defaultActiveKey="1">
+    <a-tabs defaultActiveKey="1">
       <a-tab-pane tab="鍒�鍏锋姤搴熸槑缁�" key="1">
         <cutting-scrap-detail-list ref="cuttingScrapDetailList"></cutting-scrap-detail-list>
       </a-tab-pane>
@@ -130,126 +132,126 @@
 
 <script>
 
-  import '@/assets/less/TableExpand.less'
-  import { mixinDevice } from '@/utils/mixin'
-  import { JeecgListMixin } from '@/mixins/JeecgListMixin'
-  import CuttingScrapModal from './modules/CuttingScrapModal'
-  import CuttingScrapDetailList from './CuttingScrapDetailList'
+import '@/assets/less/TableExpand.less'
+import { mixinDevice } from '@/utils/mixin'
+import { JeecgListMixin } from '@/mixins/JeecgListMixin'
+import CuttingScrapModal from './modules/CuttingScrapModal'
+import CuttingScrapDetailList from './CuttingScrapDetailList'
 
-  export default {
-    name: 'CuttingScrapList',
-    mixins:[JeecgListMixin, mixinDevice],
-    components: {
-      CuttingScrapModal,
-      CuttingScrapDetailList
-    },
-    data () {
-      return {
-        description: '鍒�鍏锋姤搴熺鐞嗛〉闈�',
-        // 琛ㄥご
-        columns: [
-          {
-            title: '#',
-            dataIndex: '',
-            key:'rowIndex',
-            width:60,
-            align:"center",
-            customRender:function (t,r,index) {
-              return parseInt(index)+1;
-            }
-          },
-          {
-            title:'鐢宠浜�',
-            align:"center",
-            dataIndex: 'applicant_dictText'
-          },
-          {
-            title:'鐢宠鏃堕棿',
-            align:"center",
-            dataIndex: 'applicationTime',
-            customRender:function (text) {
-              return !text?"":(text.length>10?text.substr(0,10):text)
-            }
-          },
-          {
-            title:'鐢宠璇存槑',
-            align:"center",
-            dataIndex: 'applicationComment'
-          },
-          {
-            title:'纭浜�',
-            align:"center",
-            dataIndex: 'confirmer_dictText'
-          },
-          {
-            title:'纭鏃堕棿',
-            align:"center",
-            dataIndex: 'confirmTime',
-            customRender:function (text) {
-              return !text?"":(text.length>10?text.substr(0,10):text)
-            }
-          },
-          {
-            title:'纭鎰忚',
-            align:"center",
-            dataIndex: 'confirmComment'
-          },
-           {
-            title:'鎶ュ簾鍗曠姸鎬�',
-            align:"center",
-            dataIndex: 'orderStatus'
-          },
-          {
-            title: '鎿嶄綔',
-            dataIndex: 'action',
-            align:"center",
-            fixed:"right",
-            width:147,
-            scopedSlots: { customRender: 'action' }
+export default {
+  name: 'CuttingScrapList',
+  mixins: [JeecgListMixin, mixinDevice],
+  components: {
+    CuttingScrapModal,
+    CuttingScrapDetailList
+  },
+  data() {
+    return {
+      description: '鍒�鍏锋姤搴熺鐞嗛〉闈�',
+      // 琛ㄥご
+      columns: [
+        {
+          title: '#',
+          dataIndex: '',
+          key: 'rowIndex',
+          width: 60,
+          align: 'center',
+          customRender: function(t, r, index) {
+            return parseInt(index) + 1
           }
-        ],
-        url: {
-          list: "/cms/cuttingScrap/list",
-          delete: "/cms/cuttingScrap/delete",
-          deleteBatch: "/cms/cuttingScrap/deleteBatch",
-          exportXlsUrl: "/cms/cuttingScrap/exportXls",
-          importExcelUrl: "cms/cuttingScrap/importExcel",
-          
         },
-        dictOptions:{},
-        superFieldList:[],
-      }
-    },
-    created() {
-    this.getSuperFieldList();
-    },
-    computed: {
-      importExcelUrl: function(){
-        return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
+        {
+          title: '鐢宠浜�',
+          align: 'center',
+          dataIndex: 'applicant_dictText'
+        },
+        {
+          title: '鐢宠鏃堕棿',
+          align: 'center',
+          dataIndex: 'applicationTime',
+          customRender: function(text) {
+            return !text ? '' : (text.length > 10 ? text.substr(0, 10) : text)
+          }
+        },
+        {
+          title: '鐢宠璇存槑',
+          align: 'center',
+          dataIndex: 'applicationComment'
+        },
+        {
+          title: '纭浜�',
+          align: 'center',
+          dataIndex: 'confirmer_dictText'
+        },
+        {
+          title: '纭鏃堕棿',
+          align: 'center',
+          dataIndex: 'confirmTime',
+          customRender: function(text) {
+            return !text ? '' : (text.length > 10 ? text.substr(0, 10) : text)
+          }
+        },
+        {
+          title: '纭鎰忚',
+          align: 'center',
+          dataIndex: 'confirmComment'
+        },
+        {
+          title: '鎶ュ簾鍗曠姸鎬�',
+          align: 'center',
+          dataIndex: 'orderStatus'
+        },
+        {
+          title: '鎿嶄綔',
+          dataIndex: 'action',
+          align: 'center',
+          fixed: 'right',
+          width: 147,
+          scopedSlots: { customRender: 'action' }
+        }
+      ],
+      url: {
+        list: '/cms/cuttingScrap/list',
+        delete: '/cms/cuttingScrap/delete',
+        deleteBatch: '/cms/cuttingScrap/deleteBatch',
+        exportXlsUrl: '/cms/cuttingScrap/exportXls',
+        importExcelUrl: 'cms/cuttingScrap/importExcel'
+
       },
-    },
-    methods: {
-     searchReset() {
+      dictOptions: {},
+      superFieldList: []
+    }
+  },
+  created() {
+    this.getSuperFieldList()
+  },
+  computed: {
+    importExcelUrl: function() {
+      return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`
+    }
+  },
+  methods: {
+    searchReset() {
       this.queryParam = {}
       this.$refs.cuttingScrapDetailList.dataSource = []
-      this.loadData(1);
+      this.loadData(1)
     },
-      handleEdit: function (record) {
-        this.$refs.modalForm.edit(record)
-        this.$refs.modalForm.title = '缂栬緫'
-        this.$refs.modalForm.disableSubmit = false
+    handleEdit: function(record) {
+      this.$refs.modalForm.edit(record)
+      this.$refs.modalForm.title = '缂栬緫'
+      this.$refs.modalForm.disableSubmit = false
     },
     handleAdd() {
       this.$refs.modalForm.add()
       this.$refs.modalForm.title = '鏂板'
       this.$refs.modalForm.disableSubmit = false
     },
-    handleDetail:function(record){
-      this.$refs.modalForm.edit(record);
-      this.$refs.modalForm.title="璇︽儏";
-      this.$refs.modalForm.disableSubmit = true;
+    handleDetail: function(record) {
+      this.$refs.modalForm.edit(record)
+      this.$refs.modalForm.title = '璇︽儏'
+      this.$refs.modalForm.disableSubmit = true
     },
-     customRow(record) {
+    customRow(record) {
       return {
         on: {
           click: (e) => {
@@ -266,13 +268,13 @@
             for (let i = 0; i < children.length; i++) {
               children[i].classList.add('checked-td-of-add-table')
             }
-          },
-        },
+          }
+        }
       }
-    },
     }
   }
+}
 </script>
 <style scoped>
-  @import '~@assets/less/common.less';
+@import '~@assets/less/common.less';
 </style>
\ No newline at end of file
diff --git a/src/views/cms/modules/CuttingReceiveModal.vue b/src/views/cms/modules/CuttingReceiveModal.vue
index 804ed5f..577ef59 100644
--- a/src/views/cms/modules/CuttingReceiveModal.vue
+++ b/src/views/cms/modules/CuttingReceiveModal.vue
@@ -1,165 +1,165 @@
 <template>
-   <a-modal :title="title" :visible="visible" :fullScreen="true" :width="1200" @ok="handleOk" @cancel="handleCancel">
-      <a-spin :spinning="confirmLoading">
-         <a-form :form="form">
-            <a-row style="width: 100%">
-               <a-col :span="24 / 2">
-                  <a-form-item label="棰嗙敤浜�" :labelCol="labelCol" :wrapperCol="wrapperCol">
-                     <j-search-select-tag
-                        :disabled="disableSubmit"
-                        placeholder="璇烽�夋嫨棰嗙敤浜�"
-                        v-decorator="['receiver', { rules: [{ required: true, message: '璇烽�夋嫨棰嗙敤浜�' }] }]"
-                        dict="sys_user,realname,id,del_flag=0"
-                     />
-                  </a-form-item>
-               </a-col>
-               <a-col :span="24 / 2">
-                  <a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="棰嗙敤鏃ユ湡">
-                     <a-date-picker
-                        :disabled="disableSubmit"
-                        style="width: 100%"
-                        v-decorator="['receiveTime', validatorRules.receiveTime]"
-                     />
-                  </a-form-item>
-               </a-col>
-            </a-row>
-            <a-row style="width: 100%">
-               <a-col :span="24">
-                  <a-form-item label="棰嗙敤璇存槑" :labelCol="{span:3}" :wrapperCol="{span:21}">
-                     <a-textarea :disabled="disableSubmit" placeholder="璇疯緭鍏ラ鐢ㄨ鏄�"
-                                 v-decorator="['receiveComment', validatorRules.receiveComment]" />
-                  </a-form-item>
-               </a-col>
-            </a-row>
-            <a-row style="width: 100%">
-               <a-col :span="24 / 2">
-                  <a-form-item label="纭浜�" :labelCol="labelCol" :wrapperCol="wrapperCol">
-                     <j-search-select-tag
-                        :disabled="disableSubmit"
-                        placeholder="璇烽�夋嫨纭浜�"
-                        v-decorator="['confirmer', { rules: [{ required: false, message: '璇烽�夋嫨纭浜�' }] }]"
-                        dict="sys_user,realname,id,del_flag=0"
-                     />
-                  </a-form-item>
-               </a-col>
-               <a-col :span="24 / 2">
-                  <a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="纭鏃ユ湡">
-                     <a-date-picker
-                        :disabled="disableSubmit"
-                        style="width: 100%"
-                        v-decorator="['confirmTime', validatorRules.confirmTime]"
-                     />
-                  </a-form-item>
-               </a-col>
-            </a-row>
-            <a-row style="width: 100%">
-               <a-col :span="24">
-                  <a-form-item label="纭鎰忚" :labelCol="{span:3}" :wrapperCol="{span:21}">
-                     <a-textarea :disabled="disableSubmit" placeholder="璇疯緭鍏ョ‘璁ゆ剰瑙�"
-                                 v-decorator="['confirmComment', validatorRules.confirmComment]" />
-                  </a-form-item>
-               </a-col>
-            </a-row>
-            <a-row style="width: 100%">
-               <a-col :span="24 / 2">
-                  <a-form-item label="鏄惁浼氬綊杩�" :labelCol="labelCol" :wrapperCol="wrapperCol">
-                     <a-input :disabled="disableSubmit" placeholder="璇疯緭鍏ユ槸鍚︿細褰掕繕"
-                              v-decorator="['returnFlag', validatorRules.returnFlag]"></a-input>
-                  </a-form-item>
-               </a-col>
-               <a-col :span="24 / 2">
-                  <a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="褰掕繕鏃ユ湡">
-                     <a-date-picker
-                        :disabled="disableSubmit"
-                        style="width: 100%"
-                        v-decorator="['returnTime', validatorRules.returnTime]"
-                     />
-                  </a-form-item>
-               </a-col>
-            </a-row>
-            <a-row style="width: 100%">
-               <a-col :span="24">
-                  <a-form-item label="褰掕繕璇存槑" :labelCol="{span:3}" :wrapperCol="{span:21}">
-                     <a-textarea :disabled="disableSubmit" placeholder="璇疯緭鍏ュ綊杩樿鏄�"
-                                 v-decorator="['returnComment', validatorRules.returnComment]" />
-                  </a-form-item>
-               </a-col>
-            </a-row>
-            <a-row style="width: 100%">
-               <a-col :span="24 / 2">
-                  <a-form-item label="褰掕繕纭浜�" :labelCol="labelCol" :wrapperCol="wrapperCol">
-                     <j-search-select-tag
-                        :disabled="disableSubmit"
-                        placeholder="璇烽�夋嫨褰掕繕纭浜�"
-                        v-decorator="['returnConfirmer', { rules: [{ required: false, message: '璇烽�夋嫨褰掕繕纭浜�' }] }]"
-                        dict="sys_user,realname,id,del_flag=0"
-                     />
-                  </a-form-item>
-               </a-col>
-               <a-col :span="24 / 2">
-                  <a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="褰掕繕纭鏃ユ湡">
-                     <a-date-picker
-                        :disabled="disableSubmit"
-                        style="width: 100%"
-                        v-decorator="['returnConfirmTime', validatorRules.returnConfirmTime]"
-                     />
-                  </a-form-item>
-               </a-col>
-            </a-row>
-            <a-row style="width: 100%">
-               <a-col :span="24">
-                  <a-form-item label="褰掕繕纭鎰忚" :labelCol="{span:3}" :wrapperCol="{span:21}">
-                     <a-textarea :disabled="disableSubmit" placeholder="璇疯緭鍏ュ綊杩樼‘璁ゆ剰瑙�"
-                                 v-decorator="['returnConfirmComment', validatorRules.returnConfirmComment]" />
-                  </a-form-item>
-               </a-col>
-            </a-row>
-         </a-form>
-      </a-spin>
-      <a-button type="primary" :style="{ marginBottom: '8px' }" @click="selectTooling()">閫夋嫨搴撳瓨鍒�鍏�</a-button>
-      <a-table
-         ref="table"
-         bordered
-         size="middle"
-         rowKey="id"
-         :columns="columns"
-         :dataSource="dataSource"
-         :pagination="ipagination"
-         :loading="loading"
-      >
-         <template v-for="col in columns" :slot="col.dataIndex" slot-scope="text, record, index">
-            <div :key="col.dataIndex">
-               <a-input
-                  :value="text"
-                  :disabled="disableSubmit"
-                  v-if="col.dataIndex === 'workpieceMaterial'"
-                  @change="(e)=>handleChange(e.target.value, record.key, col, index)"
-               />
-               <a-input-number
-                  v-if="col.dataIndex === 'usedLife'"
-                  :value="text"
-                  @change="(e) => handleChange(e, record.key, col, index)"
-                  :min="1"
-               />
-            </div>
-         </template>
-         <span slot="action" slot-scope="text, record, index">
+  <a-modal :title="title" :visible="visible" :fullScreen="true" :width="1200" @ok="handleOk" @cancel="handleCancel">
+    <a-spin :spinning="confirmLoading">
+      <a-form :form="form">
+        <a-row style="width: 100%">
+          <a-col :span="24 / 2">
+            <a-form-item label="棰嗙敤浜�" :labelCol="labelCol" :wrapperCol="wrapperCol">
+              <j-search-select-tag
+                :disabled="disableSubmit"
+                placeholder="璇烽�夋嫨棰嗙敤浜�"
+                v-decorator="['receiver', { rules: [{ required: true, message: '璇烽�夋嫨棰嗙敤浜�' }] }]"
+                dict="sys_user,realname,id,del_flag=0"
+              />
+            </a-form-item>
+          </a-col>
+          <a-col :span="24 / 2">
+            <a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="棰嗙敤鏃ユ湡">
+              <a-date-picker
+                :disabled="disableSubmit"
+                style="width: 100%"
+                v-decorator="['receiveTime', validatorRules.receiveTime]"
+              />
+            </a-form-item>
+          </a-col>
+        </a-row>
+        <a-row style="width: 100%">
+          <a-col :span="24">
+            <a-form-item label="棰嗙敤璇存槑" :labelCol="{span:3}" :wrapperCol="{span:21}">
+              <a-textarea :disabled="disableSubmit" placeholder="璇疯緭鍏ラ鐢ㄨ鏄�"
+                          v-decorator="['receiveComment', validatorRules.receiveComment]" />
+            </a-form-item>
+          </a-col>
+        </a-row>
+        <a-row style="width: 100%">
+          <a-col :span="24 / 2">
+            <a-form-item label="纭浜�" :labelCol="labelCol" :wrapperCol="wrapperCol">
+              <j-search-select-tag
+                :disabled="disableSubmit"
+                placeholder="璇烽�夋嫨纭浜�"
+                v-decorator="['confirmer', { rules: [{ required: false, message: '璇烽�夋嫨纭浜�' }] }]"
+                dict="sys_user,realname,id,del_flag=0"
+              />
+            </a-form-item>
+          </a-col>
+          <a-col :span="24 / 2">
+            <a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="纭鏃ユ湡">
+              <a-date-picker
+                :disabled="disableSubmit"
+                style="width: 100%"
+                v-decorator="['confirmTime', validatorRules.confirmTime]"
+              />
+            </a-form-item>
+          </a-col>
+        </a-row>
+        <a-row style="width: 100%">
+          <a-col :span="24">
+            <a-form-item label="纭鎰忚" :labelCol="{span:3}" :wrapperCol="{span:21}">
+              <a-textarea :disabled="disableSubmit" placeholder="璇疯緭鍏ョ‘璁ゆ剰瑙�"
+                          v-decorator="['confirmComment', validatorRules.confirmComment]" />
+            </a-form-item>
+          </a-col>
+        </a-row>
+        <a-row style="width: 100%">
+          <a-col :span="24 / 2">
+            <a-form-item label="鏄惁浼氬綊杩�" :labelCol="labelCol" :wrapperCol="wrapperCol">
+              <a-input :disabled="disableSubmit" placeholder="璇疯緭鍏ユ槸鍚︿細褰掕繕"
+                       v-decorator="['returnFlag', validatorRules.returnFlag]"></a-input>
+            </a-form-item>
+          </a-col>
+          <a-col :span="24 / 2">
+            <a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="褰掕繕鏃ユ湡">
+              <a-date-picker
+                :disabled="disableSubmit"
+                style="width: 100%"
+                v-decorator="['returnTime', validatorRules.returnTime]"
+              />
+            </a-form-item>
+          </a-col>
+        </a-row>
+        <a-row style="width: 100%">
+          <a-col :span="24">
+            <a-form-item label="褰掕繕璇存槑" :labelCol="{span:3}" :wrapperCol="{span:21}">
+              <a-textarea :disabled="disableSubmit" placeholder="璇疯緭鍏ュ綊杩樿鏄�"
+                          v-decorator="['returnComment', validatorRules.returnComment]" />
+            </a-form-item>
+          </a-col>
+        </a-row>
+        <a-row style="width: 100%">
+          <a-col :span="24 / 2">
+            <a-form-item label="褰掕繕纭浜�" :labelCol="labelCol" :wrapperCol="wrapperCol">
+              <j-search-select-tag
+                :disabled="disableSubmit"
+                placeholder="璇烽�夋嫨褰掕繕纭浜�"
+                v-decorator="['returnConfirmer', { rules: [{ required: false, message: '璇烽�夋嫨褰掕繕纭浜�' }] }]"
+                dict="sys_user,realname,id,del_flag=0"
+              />
+            </a-form-item>
+          </a-col>
+          <a-col :span="24 / 2">
+            <a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="褰掕繕纭鏃ユ湡">
+              <a-date-picker
+                :disabled="disableSubmit"
+                style="width: 100%"
+                v-decorator="['returnConfirmTime', validatorRules.returnConfirmTime]"
+              />
+            </a-form-item>
+          </a-col>
+        </a-row>
+        <a-row style="width: 100%">
+          <a-col :span="24">
+            <a-form-item label="褰掕繕纭鎰忚" :labelCol="{span:3}" :wrapperCol="{span:21}">
+              <a-textarea :disabled="disableSubmit" placeholder="璇疯緭鍏ュ綊杩樼‘璁ゆ剰瑙�"
+                          v-decorator="['returnConfirmComment', validatorRules.returnConfirmComment]" />
+            </a-form-item>
+          </a-col>
+        </a-row>
+      </a-form>
+    </a-spin>
+    <a-button type="primary" :style="{ marginBottom: '8px' }" @click="selectTooling()">閫夋嫨搴撳瓨鍒�鍏�</a-button>
+    <a-table
+      ref="table"
+      bordered
+      size="middle"
+      rowKey="id"
+      :columns="columns"
+      :dataSource="dataSource"
+      :pagination="ipagination"
+      :loading="loading"
+    >
+      <template v-for="col in columns" :slot="col.dataIndex" slot-scope="text, record, index">
+        <div :key="col.dataIndex">
+          <a-input
+            :value="text"
+            :disabled="disableSubmit"
+            v-if="col.dataIndex === 'workpieceMaterial'"
+            @change="(e)=>handleChange(e.target.value, record.key, col, index)"
+          />
+          <a-input-number
+            v-if="col.dataIndex === 'usedLife'"
+            :value="text"
+            @change="(e) => handleChange(e, record.key, col, index)"
+            :min="1"
+          />
+        </div>
+      </template>
+      <span slot="action" slot-scope="text, record, index">
         <a-popconfirm title="纭畾鍒犻櫎鍚�?" @confirm="() => handleDelete(record, index)">
           <a>鍒犻櫎</a>
         </a-popconfirm>
       </span>
-      </a-table>
-      <template slot="footer" v-if="disableSubmit == false">
-         <a-button :style="{ marginRight: '8px' }" @click="handleCancel">鍏抽棴</a-button>
-         <a-button @click="handleOk" type="primary">鎻愪氦</a-button>
-      </template>
+    </a-table>
+    <template slot="footer" v-if="disableSubmit == false">
+      <a-button :style="{ marginRight: '8px' }" @click="handleCancel">鍏抽棴</a-button>
+      <a-button @click="handleOk" type="primary">鎻愪氦</a-button>
+    </template>
 
-      <template slot="footer" v-if="disableSubmit == true">
-         <a-button :style="{ marginRight: '8px' }" @click="handleCancel">鍏抽棴</a-button>
-      </template>
-      <j-select-inventory-modal ref="inventoryModalForm" @ok="modalFormOk"></j-select-inventory-modal>
-      <!--    <j-select-tooling-modal ref="toolingModalForm" @ok="modalFormOk"></j-select-tooling-modal>-->
-   </a-modal>
+    <template slot="footer" v-if="disableSubmit == true">
+      <a-button :style="{ marginRight: '8px' }" @click="handleCancel">鍏抽棴</a-button>
+    </template>
+    <j-select-inventory-modal ref="inventoryModalForm" @ok="modalFormOk"></j-select-inventory-modal>
+    <!--    <j-select-tooling-modal ref="toolingModalForm" @ok="modalFormOk"></j-select-tooling-modal>-->
+  </a-modal>
 </template>
 
 <script>
@@ -176,226 +176,225 @@
 import JSelectInventoryModal from '@views/cms/modules/JSelectInventoryModal.vue'
 
 export default {
-   name: 'CuttingInboundModal',
-   components: {
-      JSelectToolingModal,
-      JSelectInventoryModal,
-      JMultiSelectTag,
-      JDictSelectTag,
-      store,
-      moment
-   },
-   data() {
-      return {
-         /* 鍒嗛〉鍙傛暟 */
-         ipagination: {
-            current: 1,
-            pageSize: 10,
-            pageSizeOptions: ['10', '20', '30'],
-            showTotal: (total, range) => {
-               return range[0] + '-' + range[1] + ' 鍏�' + total + '鏉�'
-            },
-            showQuickJumper: true,
-            showSizeChanger: true,
-            total: 0
-         },
-         title: '鏂板',
-         visible: false,
-         selectedRowKeys: {},
-         model: {},
-         labelCol: {
-            xs: { span: 24 },
-            sm: { span: 6 }
-         },
-         wrapperCol: {
-            xs: { span: 24 },
-            sm: { span: 18 }
-         },
-         confirmLoading: false,
-         loading: false,
-         form: this.$form.createForm(this),
-         dataSource: [],
-         param: {},
-         validatorRules: {},
-         columns: [
-            {
-               title: '#',
-               dataIndex: '',
-               key: 'rowIndex',
-               width: 50,
-               align: 'center',
-               customRender: function(t, r, index) {
-                  return parseInt(index) + 1
-               }
-            },
-            {
-               title: '鍒�鍏风紪鐮�',
-               align: 'center',
-               dataIndex: 'cuttingCode',
-               width: 150
-            },
-            {
-               title: '鍒�鍏峰悕绉�',
-               align: 'center',
-               dataIndex: 'cuttingName'
-            },
-            {
-               title: '宸ヤ欢鏉愯川',
-               align: 'center',
-               dataIndex: 'workpieceMaterial',
-               scopedSlots: { customRender: 'workpieceMaterial' }
-            },
-            {
-               title: '浣跨敤瀵垮懡',
-               align: 'center',
-               dataIndex: 'usedLife',
-               scopedSlots: { customRender: 'usedLife' }
-            },
-            {
-               title: '鎿嶄綔',
-               align: 'center',
-               dataIndex: 'action',
-               scopedSlots: { customRender: 'action' }
-            }
-         ],
-         url: {
-            add: '/cms/cuttingReceive/add',
-            detailList: '/cms/cuttingReceive/detailList'
-         },
-         orderId: '',
-         disableSubmit: false
+  name: 'CuttingInboundModal',
+  components: {
+    JSelectInventoryModal,
+    JMultiSelectTag,
+    JDictSelectTag,
+    store,
+    moment
+  },
+  data() {
+    return {
+      /* 鍒嗛〉鍙傛暟 */
+      ipagination: {
+        current: 1,
+        pageSize: 10,
+        pageSizeOptions: ['10', '20', '30'],
+        showTotal: (total, range) => {
+          return range[0] + '-' + range[1] + ' 鍏�' + total + '鏉�'
+        },
+        showQuickJumper: true,
+        showSizeChanger: true,
+        total: 0
+      },
+      title: '鏂板',
+      visible: false,
+      selectedRowKeys: {},
+      model: {},
+      labelCol: {
+        xs: { span: 24 },
+        sm: { span: 6 }
+      },
+      wrapperCol: {
+        xs: { span: 24 },
+        sm: { span: 18 }
+      },
+      confirmLoading: false,
+      loading: false,
+      form: this.$form.createForm(this),
+      dataSource: [],
+      param: {},
+      validatorRules: {},
+      columns: [
+        {
+          title: '#',
+          dataIndex: '',
+          key: 'rowIndex',
+          width: 50,
+          align: 'center',
+          customRender: function(t, r, index) {
+            return parseInt(index) + 1
+          }
+        },
+        {
+          title: '鍒�鍏风紪鐮�',
+          align: 'center',
+          dataIndex: 'cuttingCode',
+          width: 150
+        },
+        {
+          title: '鍒�鍏峰悕绉�',
+          align: 'center',
+          dataIndex: 'cuttingName'
+        },
+        {
+          title: '宸ヤ欢鏉愯川',
+          align: 'center',
+          dataIndex: 'workpieceMaterial',
+          scopedSlots: { customRender: 'workpieceMaterial' }
+        },
+        {
+          title: '浣跨敤瀵垮懡',
+          align: 'center',
+          dataIndex: 'usedLife',
+          scopedSlots: { customRender: 'usedLife' }
+        },
+        {
+          title: '鎿嶄綔',
+          align: 'center',
+          dataIndex: 'action',
+          scopedSlots: { customRender: 'action' }
+        }
+      ],
+      url: {
+        add: '/cms/cuttingReceive/add',
+        detailList: '/cms/cuttingReceive/detailList'
+      },
+      orderId: '',
+      disableSubmit: false
+    }
+  },
+  methods: {
+    modalFormOk() {
+
+    },
+    getQueryParams() {
+      this.param.pageNo = this.ipagination.current
+      this.param.pageSize = this.ipagination.pageSize
+      return filterObj(this.param)
+    },
+    add() {
+      let receiver = store.getters.userInfo.id
+      let receiveTime = moment(new Date()).format('YYYY-MM-DD HH:mm:ss')
+      this.edit({ receiver: receiver, receiveTime: receiveTime })
+    },
+    edit(record) {
+      record.receiver = store.getters.userInfo.id
+      record.receiveTime = moment(new Date()).format('YYYY-MM-DD HH:mm:ss')
+      this.form.resetFields()
+      this.model = Object.assign({}, record)
+      this.visible = true
+      this.disableSubmit = false
+      if (record.id) {
+        this.orderId = record.id
+        this.detailList(this.orderId)
       }
-   },
-   methods: {
-      modalFormOk() {
-
-      },
-      getQueryParams() {
-         this.param.pageNo = this.ipagination.current
-         this.param.pageSize = this.ipagination.pageSize
-         return filterObj(this.param)
-      },
-      add() {
-         let receiver = store.getters.userInfo.id
-         let receiveTime = moment(new Date()).format('YYYY-MM-DD HH:mm:ss')
-         this.edit({ receiver: receiver, receiveTime: receiveTime })
-      },
-      edit(record) {
-         record.receiver = store.getters.userInfo.id
-         record.receiveTime = moment(new Date()).format('YYYY-MM-DD HH:mm:ss')
-         this.form.resetFields()
-         this.model = Object.assign({}, record)
-         this.visible = true
-         this.disableSubmit = false
-         if (record.id) {
-            this.orderId = record.id
-            this.detailList(this.orderId)
-         }
-         this.$nextTick(() => {
-            this.form.setFieldsValue(
-               pick(this.model, 'receiver', 'receiveTime', 'receiveComment', 'confirmer', 'confirmTime', 'confirmComment'
-                  , 'returnFlag', 'returnTime', 'returnComment', 'returnConfirmer', 'returnConfirmTime', 'returnConfirmComment')
-            )
-         })
-      },
-      handleDelete(record, index) {
-         this.dataSource.splice(index, 1)
-      },
-      handleChange(value, key, column, index) {
-         //let t = (this.ipaginationm.current - 1) * this.ipaginationm.pageSize + index
-         const temp = [...this.dataSource]
-         const target = temp.filter((item) => key === item.key)[index]
-         if (target) {
-            target[column.dataIndex] = value
-            this.dataSource = temp
-         }
-      },
-      selectTooling: function() {
-         let ids = []
-         for (let i = 0; i < this.dataSource.length; i++) {
-            ids.push(this.dataSource[i].inventoryId)
-            console.log('褰撳墠鏁版嵁婧�:', this.dataSource)
-         }
-         // this.$refs.toolingModalForm.showModal(ids)
-         // this.$refs.toolingModalForm.title = '閫夋嫨鍒�鍏�'
-         // this.$refs.toolingModalForm.disableSubmit = false
-
-         this.$refs.inventoryModalForm.showModal(ids)
-         this.$refs.inventoryModalForm.title = '閫夋嫨搴撳瓨鍒�鍏�'
-         this.$refs.inventoryModalForm.disableSubmit = false
-
-      },
-      detailList(orderId) {
-         this.param.orderId = orderId
-         getAction(this.url.detailList, this.getQueryParams()).then((res) => {
-            if (res.success) {
-               this.dataSource = res.result
-            }
-         })
-      },
-      filterOption(input, option) {
-         return option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0
-      },
-      handleOk() {
-         if (this.dataSource.length == 0) {
-            this.$message.error('璇峰厛閫夋嫨鍏ュ簱鍒�鍏�')
-            return
-         }
-         const that = this
-         // 瑙﹀彂琛ㄥ崟楠岃瘉
-         this.form.validateFields((err, values) => {
-            if (!err) {
-               that.confirmLoading = true
-               let formData = Object.assign(this.model, values)
-               formData.detailData = this.dataSource
-
-               // 纭繚 detailData 鍖呭惈 inventoryId
-               formData.detailData = this.dataSource.map(item => ({
-                  ...item,
-                  // 纭繚 inventoryId 琚纭紶閫�
-                  inventoryId: item.inventoryId
-               }))
-
-               postAction(that.url.add, formData)
-                  .then((res) => {
-                     if (res.success) {
-                        that.$message.success('棰嗙敤鎴愬姛')
-                        that.$emit('ok', new Date())
-                     } else {
-                        that.$message.warning(res.message)
-                     }
-                  })
-                  .finally(() => {
-                     that.confirmLoading = false
-                     that.close()
-                  })
-            }
-         })
-      },
-      handleCancel() {
-         this.close()
-      },
-      close() {
-         this.$emit('close')
-         this.dataSource = []
-         this.visible = false
-         this.disableSubmit = false
-      }
-   },
-   mounted() {
-      this.$bus.$on('selectionRows', (data) => {
-         console.log('鎺ユ敹鍒扮殑閫夋嫨鏁版嵁:', data)
-         //getCurrSelected 浜嬩欢 鎺ユ敹缁勪欢浼犻�掔殑鍙傛暟
-         for (let i = 0; i < data.length; i++) {
-            this.dataSource.push({
-               inventoryId: data[i].id,
-               cuttingCode: data[i].cuttingCode,
-               cuttingName: data[i].cuttingName,
-               cuttingId: data[i].cuttingId
-            })
-         }
-         console.log('鏇存柊鍚庣殑鏁版嵁婧�:', this.dataSource)
+      this.$nextTick(() => {
+        this.form.setFieldsValue(
+          pick(this.model, 'receiver', 'receiveTime', 'receiveComment', 'confirmer', 'confirmTime', 'confirmComment'
+            , 'returnFlag', 'returnTime', 'returnComment', 'returnConfirmer', 'returnConfirmTime', 'returnConfirmComment')
+        )
       })
-   }
+    },
+    handleDelete(record, index) {
+      this.dataSource.splice(index, 1)
+    },
+    handleChange(value, key, column, index) {
+      //let t = (this.ipaginationm.current - 1) * this.ipaginationm.pageSize + index
+      const temp = [...this.dataSource]
+      const target = temp.filter((item) => key === item.key)[index]
+      if (target) {
+        target[column.dataIndex] = value
+        this.dataSource = temp
+      }
+    },
+    selectTooling: function() {
+      let ids = []
+      for (let i = 0; i < this.dataSource.length; i++) {
+        ids.push(this.dataSource[i].inventoryId)
+        console.log('褰撳墠鏁版嵁婧�:', this.dataSource)
+      }
+      // this.$refs.toolingModalForm.showModal(ids)
+      // this.$refs.toolingModalForm.title = '閫夋嫨鍒�鍏�'
+      // this.$refs.toolingModalForm.disableSubmit = false
+
+      this.$refs.inventoryModalForm.showModal(ids)
+      this.$refs.inventoryModalForm.title = '閫夋嫨搴撳瓨鍒�鍏�'
+      this.$refs.inventoryModalForm.disableSubmit = false
+
+    },
+    detailList(orderId) {
+      this.param.orderId = orderId
+      getAction(this.url.detailList, this.getQueryParams()).then((res) => {
+        if (res.success) {
+          this.dataSource = res.result
+        }
+      })
+    },
+    filterOption(input, option) {
+      return option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0
+    },
+    handleOk() {
+      if (this.dataSource.length == 0) {
+        this.$message.error('璇峰厛閫夋嫨鍏ュ簱鍒�鍏�')
+        return
+      }
+      const that = this
+      // 瑙﹀彂琛ㄥ崟楠岃瘉
+      this.form.validateFields((err, values) => {
+        if (!err) {
+          that.confirmLoading = true
+          let formData = Object.assign(this.model, values)
+          formData.detailData = this.dataSource
+
+          // 纭繚 detailData 鍖呭惈 inventoryId
+          formData.detailData = this.dataSource.map(item => ({
+            ...item,
+            // 纭繚 inventoryId 琚纭紶閫�
+            inventoryId: item.inventoryId
+          }))
+
+          postAction(that.url.add, formData)
+            .then((res) => {
+              if (res.success) {
+                that.$message.success('棰嗙敤鎴愬姛')
+                that.$emit('ok', new Date())
+              } else {
+                that.$message.warning(res.message)
+              }
+            })
+            .finally(() => {
+              that.confirmLoading = false
+              that.close()
+            })
+        }
+      })
+    },
+    handleCancel() {
+      this.close()
+    },
+    close() {
+      this.$emit('close')
+      this.dataSource = []
+      this.visible = false
+      this.disableSubmit = false
+    }
+  },
+  mounted() {
+    this.$bus.$on('selectionRows', (data) => {
+      console.log('鎺ユ敹鍒扮殑閫夋嫨鏁版嵁:', data)
+      //getCurrSelected 浜嬩欢 鎺ユ敹缁勪欢浼犻�掔殑鍙傛暟
+      for (let i = 0; i < data.length; i++) {
+        this.dataSource.push({
+          inventoryId: data[i].id,
+          cuttingCode: data[i].cuttingCode,
+          cuttingName: data[i].cuttingName,
+          cuttingId: data[i].cuttingId
+        })
+      }
+      console.log('鏇存柊鍚庣殑鏁版嵁婧�:', this.dataSource)
+    })
+  }
 }
 </script>
\ No newline at end of file
diff --git a/src/views/cms/modules/CuttingScrapModal.vue b/src/views/cms/modules/CuttingScrapModal.vue
index 027d35c..82ff665 100644
--- a/src/views/cms/modules/CuttingScrapModal.vue
+++ b/src/views/cms/modules/CuttingScrapModal.vue
@@ -3,7 +3,7 @@
     <a-spin :spinning="confirmLoading">
       <a-form :form="form">
         <a-row style="width: 100%">
-           <a-col :span="24 / 2">
+          <a-col :span="24 / 2">
             <a-form-item label="鐢宠浜�" :labelCol="labelCol" :wrapperCol="wrapperCol">
               <j-search-select-tag
                 :disabled="disableSubmit"
@@ -26,12 +26,13 @@
         <a-row style="width: 100%">
           <a-col :span="24">
             <a-form-item label="鐢宠璇存槑" :labelCol="{span:3}" :wrapperCol="{span:21}">
-              <a-textarea :disabled="disableSubmit" placeholder="璇疯緭鍏ョ敵璇疯鏄�" v-decorator="['applicationComment', validatorRules.applicationComment]" />
+              <a-textarea :disabled="disableSubmit" placeholder="璇疯緭鍏ョ敵璇疯鏄�"
+                          v-decorator="['applicationComment', validatorRules.applicationComment]" />
             </a-form-item>
           </a-col>
         </a-row>
         <a-row style="width: 100%">
-           <a-col :span="24 / 2">
+          <a-col :span="24 / 2">
             <a-form-item label="纭浜�" :labelCol="labelCol" :wrapperCol="wrapperCol">
               <j-search-select-tag
                 :disabled="disableSubmit"
@@ -54,14 +55,16 @@
         <a-row style="width: 100%">
           <a-col :span="24">
             <a-form-item label="纭鎰忚" :labelCol="{span:3}" :wrapperCol="{span:21}">
-              <a-textarea :disabled="disableSubmit" placeholder="璇疯緭鍏ョ‘璁ゆ剰瑙�" v-decorator="['confirmComment', validatorRules.confirmComment]" />
+              <a-textarea :disabled="disableSubmit" placeholder="璇疯緭鍏ョ‘璁ゆ剰瑙�"
+                          v-decorator="['confirmComment', validatorRules.confirmComment]" />
             </a-form-item>
           </a-col>
         </a-row>
       </a-form>
     </a-spin>
     <a-button type="primary" :style="{ marginBottom: '8px' }" @click="selectTooling()"
-      >閫夋嫨鍒�鍏�</a-button
+    >閫夋嫨鎶ュ簾鍒�鍏�
+    </a-button
     >
     <a-table
       ref="table"
@@ -75,13 +78,13 @@
     >
       <template v-for="col in columns" :slot="col.dataIndex" slot-scope="text, record, index">
         <div :key="col.dataIndex">
-         <a-input
-                    :value="text"
-                    :disabled="disableSubmit"
-                    v-if="col.dataIndex == 'newCuttingId'"
-                    @change="(e)=>handleChange(e.target.value, record.key, col, index)"
-                  />
-                 
+          <a-input
+            :value="text"
+            :disabled="disableSubmit"
+            v-if="col.dataIndex == 'newCuttingId'"
+            @change="(e)=>handleChange(e.target.value, record.key, col, index)"
+          />
+
         </div>
       </template>
       <span slot="action" slot-scope="text, record, index">
@@ -98,33 +101,35 @@
     <template slot="footer" v-if="disableSubmit == true">
       <a-button :style="{ marginRight: '8px' }" @click="handleCancel">鍏抽棴</a-button>
     </template>
-    <j-select-tooling-modal ref="toolingModalForm" @ok="modalFormOk"></j-select-tooling-modal>
+    <j-select-scrap-modal ref="scrapModalForm" @ok="modalFormOk"></j-select-scrap-modal>
   </a-modal>
 </template>
 
 <script>
 
-  import pick from 'lodash.pick'
-  import JSelectToolingModal from './JSelectToolingModal'
-  import moment from 'moment'
-  import { getAction, postAction, requestPut } from '@/api/manage'
-  import JDictSelectTag from '@/components/dict/JDictSelectTag'
-  import JSearchSelectTag from '@/components/dict/JSearchSelectTag'
-  import JMultiSelectTag from '@/components/dict/JMultiSelectTag'
-  import { filterObj } from '@/utils/util'
-  import store from '@/store/'
-  export default {
-    name: 'CuttingInboundModal',
-    components: {
-    JSelectToolingModal,
+import pick from 'lodash.pick'
+import JSelectToolingModal from './JSelectToolingModal'
+import moment from 'moment'
+import { getAction, postAction, requestPut } from '@/api/manage'
+import JDictSelectTag from '@/components/dict/JDictSelectTag'
+import JSearchSelectTag from '@/components/dict/JSearchSelectTag'
+import JMultiSelectTag from '@/components/dict/JMultiSelectTag'
+import { filterObj } from '@/utils/util'
+import store from '@/store/'
+import JSelectScrapModal from '@views/cms/modules/JSelectScrapModal.vue'
+
+export default {
+  name: 'CuttingInboundModal',
+  components: {
+    JSelectScrapModal,
     JMultiSelectTag,
     JDictSelectTag,
     store,
-    moment,
+    moment
   },
-    data () {
-      return {
-         /* 鍒嗛〉鍙傛暟 */
+  data() {
+    return {
+      /* 鍒嗛〉鍙傛暟 */
       ipagination: {
         current: 1,
         pageSize: 10,
@@ -134,27 +139,26 @@
         },
         showQuickJumper: true,
         showSizeChanger: true,
-        total: 0,
+        total: 0
       },
-      title:'鏂板',
-         visible: false,
-         selectedRowKeys: {},
+      title: '鏂板',
+      visible: false,
+      selectedRowKeys: {},
       model: {},
       labelCol: {
         xs: { span: 24 },
-        sm: { span: 6 },
+        sm: { span: 6 }
       },
       wrapperCol: {
         xs: { span: 24 },
-        sm: { span: 18 },
+        sm: { span: 18 }
       },
       confirmLoading: false,
       loading: false,
       form: this.$form.createForm(this),
       dataSource: [],
       param: {},
-      validatorRules: {
-      },
+      validatorRules: {},
       columns: [
         {
           title: '#',
@@ -162,47 +166,47 @@
           key: 'rowIndex',
           width: 50,
           align: 'center',
-          customRender: function (t, r, index) {
+          customRender: function(t, r, index) {
             return parseInt(index) + 1
-          },
+          }
         },
         {
           title: '鍒�鍏风紪鐮�',
           align: 'center',
           dataIndex: 'cuttingCode',
-          width: 150,
+          width: 150
         },
         {
           title: '鍒�鍏峰悕绉�',
           align: 'center',
-          dataIndex: 'cuttingName',
+          dataIndex: 'cuttingName'
         },
-        
+
         {
           title: '鎿嶄綔',
           dataIndex: 'action',
           align: 'center',
-          scopedSlots: { customRender: 'action' },
-        },
+          scopedSlots: { customRender: 'action' }
+        }
       ],
       url: {
         add: '/cms/cuttingScrap/add',
-        detailList: '/cms/cuttingScrap/detailList',
+        detailList: '/cms/cuttingScrap/detailList'
       },
-      orderId:'',
-      disableSubmit:false
-      }
-    },
-    methods: {
-      modalFormOk(){
+      orderId: '',
+      disableSubmit: false
+    }
+  },
+  methods: {
+    modalFormOk() {
 
-      },
-       getQueryParams() {
+    },
+    getQueryParams() {
       this.param.pageNo = this.ipagination.current
       this.param.pageSize = this.ipagination.pageSize
       return filterObj(this.param)
     },
-      add() {
+    add() {
       let applicant = store.getters.userInfo.id
       let applicationTime = moment(new Date()).format('YYYY-MM-DD HH:mm:ss')
       this.edit({ applicant: applicant, applicationTime: applicationTime })
@@ -224,7 +228,7 @@
         )
       })
     },
-     handleDelete(record, index) {
+    handleDelete(record, index) {
       this.dataSource.splice(index, 1)
     },
     handleChange(value, key, column, index) {
@@ -236,14 +240,15 @@
         this.dataSource = temp
       }
     },
-    selectTooling: function () {
+    selectTooling: function() {
       let ids = []
       for (let i = 0; i < this.dataSource.length; i++) {
         ids.push(this.dataSource[i].cuttingId)
+        ids.push(this.dataSource[i].inventoryId)
       }
-      this.$refs.toolingModalForm.showModal(ids)
-      this.$refs.toolingModalForm.title = '閫夋嫨鍒�鍏�'
-      this.$refs.toolingModalForm.disableSubmit = false
+      this.$refs.scrapModalForm.showModal(ids)
+      this.$refs.scrapModalForm.title = '閫夋嫨鎶ュ簾鍒�鍏�'
+      this.$refs.scrapModalForm.disableSubmit = false
     },
     detailList(orderId) {
       this.param.orderId = orderId
@@ -262,17 +267,32 @@
         return
       }
       const that = this
+
       // 瑙﹀彂琛ㄥ崟楠岃瘉
       this.form.validateFields((err, values) => {
         if (!err) {
           that.confirmLoading = true
           let formData = Object.assign(this.model, values)
           formData.detailData = this.dataSource
+
+          // 纭繚浼犻�掔粰鍚庣鐨勬暟鎹寘鍚墍鏈夊繀瑕佸瓧娈�
+          formData.detailData = this.dataSource.map(item => {
+            return {
+              // 鏄庣‘鎸囧畾姣忎釜瀛楁锛岀‘淇� inventoryId 琚纭紶閫�
+              inventoryId: item.inventoryId,
+              cuttingId: item.cuttingId,
+              cuttingCode: item.cuttingCode,
+              cuttingName: item.cuttingName,
+              // 濡傛灉杩樻湁鍏朵粬瀛楁涔熼渶瑕佸寘鍚�
+              ...item // 鍖呭惈鍏朵粬鍙兘瀛樺湪鐨勫瓧娈�
+            }
+          })
+
           postAction(that.url.add, formData)
             .then((res) => {
               if (res.success) {
-                that.$message.success('鎶ュ簾鎴愬姛')
                 that.$emit('ok', new Date())
+                that.$message.success('鎶ュ簾鎴愬姛')
               } else {
                 that.$message.warning(res.message)
               }
@@ -292,19 +312,24 @@
       this.dataSource = []
       this.visible = false
       this.disableSubmit = false
-    },
-    },
-    mounted() {
+    }
+  },
+  mounted() {
     this.$bus.$on('selectionRows', (data) => {
       //getCurrSelected 浜嬩欢 鎺ユ敹缁勪欢浼犻�掔殑鍙傛暟
       for (let i = 0; i < data.length; i++) {
         this.dataSource.push({
-          cuttingId: data[i].id,
+          // cuttingId: data[i].id,
+          // cuttingCode: data[i].cuttingCode,
+          // cuttingName: data[i].cuttingName
+          inventoryId: data[i].id,
           cuttingCode: data[i].cuttingCode,
-          cuttingName: data[i].cuttingName
+          cuttingName: data[i].cuttingName,
+          cuttingId: data[i].cuttingId,
         })
       }
     })
-  },
+    console.log('鏇存柊鍚庣殑鏁版嵁婧�:', this.dataSource)
   }
+}
 </script>
\ No newline at end of file
diff --git a/src/views/cms/modules/JSelectScrapModal.vue b/src/views/cms/modules/JSelectScrapModal.vue
new file mode 100644
index 0000000..dd0f76f
--- /dev/null
+++ b/src/views/cms/modules/JSelectScrapModal.vue
@@ -0,0 +1,261 @@
+<template>
+  <!--鏀寔鍏ㄥ睆缂╂斁-->
+  <!--閫夋嫨鍒�鍏风殑寮圭獥锛屾牴鎹繖涓脊绐楀皢閫夋嫨鍒�鍏蜂粠鍒�鍏蜂俊鎭縼绉诲埌鍒�鍏峰簱瀛橈紝鐢ㄦ潵棰嗙敤鍒�鍏峰簱瀛橀噷鐨勫垁鍏�  -->
+  <j-modal
+    :visible="visible"
+    :title="title"
+    switchFullscreen
+    :width="1200"
+    @ok="handleSubmit"
+    @cancel="close"
+    style="top: 50px"
+    cancelText="鍏抽棴"
+  >
+    <a-card :bordered="false">
+      <div class="table-page-search-wrapper">
+        <a-form layout="inline" @keyup.enter.native="searchQuery">
+          <a-row :gutter="24">
+            <a-col :xl="6" :lg="7" :md="8" :sm="24">
+              <a-form-item label="鍒�鍏风紪鐮�">
+                <a-input placeholder="璇疯緭鍏ュ垁鍏风紪鐮�,鏀寔妯$硦鏌ヨ" v-model="queryParam.cuttingCode"></a-input>
+              </a-form-item>
+            </a-col>
+            <a-col :xl="6" :lg="7" :md="8" :sm="24">
+              <a-form-item label="鍒�鍏峰悕绉�">
+                <a-input placeholder="璇疯緭鍏ュ垁鍏峰悕绉�,鏀寔妯$硦鏌ヨ" v-model="queryParam.cuttingName"></a-input>
+              </a-form-item>
+            </a-col>
+
+            <a-button type="primary" @click="searchQuery" icon="search">鏌ヨ</a-button>
+            <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">閲嶇疆</a-button>
+          </a-row>
+        </a-form>
+      </div>
+      <!--鍒�鍏峰垪琛�-->
+      <a-table
+        ref="table"
+        :scroll="scrollTrigger"
+        size="middle"
+        rowKey="id"
+        :columns="columns"
+        :dataSource="dataSource"
+        :pagination="ipagination"
+        :rowSelection="rowSelection"
+        :loading="loading"
+        @change="handleTableChange"
+      >
+      </a-table>
+    </a-card>
+  </j-modal>
+</template>
+
+<script>
+import { filterObj } from '@/utils/util'
+import { getAction } from '@/api/manage'
+
+export default {
+  name: 'JSelectScrapModal',
+  components: {},
+  props: {},
+  data() {
+    return {
+      queryParam: {},
+      columns: [
+        {
+          title: '#',
+          dataIndex: '',
+          key: 'rowIndex',
+          width: 50,
+          align: 'center',
+          customRender: function (t, r, index) {
+            return parseInt(index) + 1
+          },
+        },
+        {
+          title: '鍒�鍏风紪鐮�',
+          align: 'center',
+          dataIndex: 'cuttingCode',
+          sorter: true,
+        },
+        {
+          title: '鍒�鍏峰悕绉�',
+          align: 'center',
+          dataIndex: 'cuttingName',
+          sorter: true,
+        },
+        {
+          title: '鍒�鍏峰垎绫�',
+          align: 'center',
+          dataIndex: 'cuttingCategory',
+          sorter: true,
+        },
+        {
+          title:'鍒�鍏锋潯鐮�',
+          align: 'center',
+          dataIndex: 'cuttingBarcode',
+          sorter: true,
+        },
+        {
+          title:'鍒�鍏峰綋鍓嶅鍛斤紙鐧惧垎姣旓級',
+          align: 'center',
+          dataIndex: 'currentLife',
+          sorter: true,
+        },
+        {
+          title:'搴撳瓨id',
+          align: 'center',
+          dataIndex: 'id',
+          sorter: true,
+        }
+      ],
+      selectedRowKeys: [],
+      oldSlelectRows: [],
+      scrollTrigger: {},
+      dataSource: [],
+      selectionRows: [],
+      title: '鏍规嵁鏌ヨ缁撴灉閫夋嫨鍒�鍏�',
+      ipagination: {
+        current: 1,
+        pageSize: 10,
+        pageSizeOptions: ['5', '10', '20'],
+        showTotal: (total, range) => {
+          return range[0] + '-' + range[1] + ' 鍏�' + total + '鏉�'
+        },
+        showQuickJumper: true,
+        showSizeChanger: true,
+        total: 0,
+      },
+      isorter: {
+        column: 'num',
+        order: 'desc',
+      },
+      departTree: [],
+      visible: false,
+      loading: false,
+      url: {
+        // list: '/cms/cuttingTool/getCuttingToolList',
+        list:'/cms/cuttingReceive/getInventoryToolList'
+      },
+    }
+  },
+  computed: {
+    rowSelection() {
+      return {
+        type: 'checkbox',
+        onChange: (selectedRowKeys, selectedRows) => {
+          this.selectedRowKeys = selectedRowKeys
+          this.onSelectChange(selectedRows)
+        },
+        getCheckboxProps: (record) => ({
+          props: {
+            disabled: record.distable,
+          },
+        }),
+        selectedRowKeys: this.selectedRowKeys,
+      }
+    },
+  },
+  watch: {},
+  created() {},
+  methods: {
+    async loadData(arg) {
+      if (arg === 1) {
+        this.ipagination.current = 1
+      }
+      let that = this
+      this.loading = true
+      let params = this.getQueryParams() //鏌ヨ鏉′欢
+      await getAction(this.url.list, params).then((res) => {
+        if (res.success) {
+          for (let i = 0; i < res.result.records.length; i++) {
+            if (that.oldSlelectRows.indexOf(res.result.records[i].id) > -1) {
+              res.result.records[i].distable = true
+            } else {
+              res.result.records[i].distable = false
+            }
+          }
+          this.dataSource = res.result.records
+          this.ipagination.total = res.result.total
+        }
+        if (res.code === 510) {
+          this.$message.warning(res.message)
+        }
+        this.loading = false
+      })
+    },
+    showModal(oldSlelectRows) {
+      this.oldSlelectRows = oldSlelectRows
+      this.visible = true
+      this.loadData(1)
+    },
+    getQueryParams() {
+      let param = Object.assign({}, this.queryParam, this.isorter)
+      param.field = this.getQueryField()
+      param.pageNo = this.ipagination.current
+      param.pageSize = this.ipagination.pageSize
+      return filterObj(param)
+    },
+    //鏌ヨ鏉′欢澶勭悊
+    getQueryField() {
+      let str = 'id,'
+      for (let a = 0; a < this.columns.length; a++) {
+        str += ',' + this.columns[a].dataIndex
+      }
+      return str
+    },
+    searchReset(num) {
+      let that = this
+      if (num !== 0) {
+        that.loadData(1)
+      }
+      that.selectborrowIds = []
+    },
+    close() {
+      this.searchReset(0)
+      this.selectedRowKeys = []
+      this.visible = false
+    },
+    handleTableChange(pagination, filters, sorter) {
+      if (Object.keys(sorter).length > 0) {
+        this.isorter.column = sorter.field
+        this.isorter.order = 'ascend' === sorter.order ? 'asc' : 'desc'
+      }
+      this.ipagination = pagination
+      this.loadData()
+    },
+    handleSubmit() {
+      this.$bus.$emit('selectionRows', this.selectionRows)
+      this.searchReset(0)
+      this.close()
+    },
+    onSelectChange(selectionRows) {
+      this.selectionRows = selectionRows
+    },
+    onSearch() {
+      this.loadData(1)
+    },
+    searchQuery() {
+      this.loadData(1);
+    },
+    // searchReset() {
+    //   this.queryParam = {}
+    //   this.loadData(1)
+    // },
+  },
+}
+</script>
+
+<style scoped>
+.ant-table-tbody .ant-table-row td {
+  padding-top: 10px;
+  padding-bottom: 10px;
+}
+
+#components-layout-demo-custom-trigger .trigger {
+  font-size: 18px;
+  line-height: 64px;
+  padding: 0 24px;
+  cursor: pointer;
+  transition: color 0.3s;
+}
+</style>
\ No newline at end of file

--
Gitblit v1.9.3