jingbb 1 anno fa
parent
commit
99883bf1b9

+ 531 - 0
src/views/production/productionTotalOrder/modules/Outbound.vue

@@ -0,0 +1,531 @@
+<template>
+    <div >
+        <a-form-model ref="formRef">
+            <a-table
+            ref="table"
+            size="middle"
+            bordered
+            id='sonList'
+            :columns="columns"
+            rowKey="rowNo"
+            :dataSource="dataSource"
+            :pagination="false"
+            :scroll="{ x: 5500, y: 300 }"
+            :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
+            @change="handleTableChange"
+            >
+                <template slot="projectCode" slot-scope="text, record, index">
+                    <a-form-model-item prop="projectCode" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.projectCode" disabled></a-input>
+                    </a-form-model-item>
+                </template>
+                <template slot="projectName" slot-scope="text, record, index">
+                    <a-form-model-item prop="projectName" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.projectName" disabled></a-input>
+                    </a-form-model-item>
+                </template>
+                <template slot="batch" slot-scope="text, record, index">
+                    <a-form-model-item prop="batch" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.batch" disabled></a-input>
+                    </a-form-model-item>
+                </template> 
+                <template slot="inventoryCode" slot-scope="text, record, index">
+                    <a-form-model-item prop="inventoryCode" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.inventoryCode" disabled></a-input>
+                    </a-form-model-item>
+                </template>
+                <template slot="inventoryName" slot-scope="text, record, index">
+                    <a-form-model-item prop="inventoryName" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.inventoryName" disabled></a-input>
+                    </a-form-model-item>
+                </template>
+                <template slot="unit" slot-scope="text, record, index">
+                    <a-form-model-item prop="unit" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.unit" disabled></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="quantity" slot-scope="text, record, index">
+                    <a-form-model-item prop="quantity" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.quantity" disabled></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="auxiliaryUnit" slot-scope="text, record, index">
+                    <a-form-model-item prop="auxiliaryUnit" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.auxiliaryUnit" disabled></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="unQuantity" slot-scope="text, record, index">
+                    <a-form-model-item prop="unQuantity" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.unQuantity" disabled></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="quantityExecute" slot-scope="text, record, index">
+                    <a-form-model-item prop="quantityExecute" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.quantityExecute" disabled></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="unQuantityExecute" slot-scope="text, record, index">
+                    <a-form-model-item prop="unQuantityExecute" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.unQuantityExecute" disabled></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="model" slot-scope="text, record, index">
+                    <a-form-model-item prop="model" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.model" disabled></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="color" slot-scope="text, record, index">
+                    <a-form-model-item prop="color" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.color" :disabled="allowEditColor=='no'" @change='changeOutColor'></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="fixedLength" slot-scope="text, record, index">
+                    <a-form-model-item prop="fixedLength" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.fixedLength" disabled></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="alloy" slot-scope="text, record, index">
+                    <a-form-model-item prop="alloy" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.alloy" disabled></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="standard" slot-scope="text, record, index">
+                    <a-form-model-item prop="standard" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.standard" disabled></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="meterWeight" slot-scope="text, record, index">
+                    <a-form-model-item prop="meterWeight" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.meterWeight" disabled></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="decorationLength" slot-scope="text, record, index">
+                    <a-form-model-item prop="decorationLength" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.decorationLength" disabled></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="windowNo" slot-scope="text, record, index">
+                    <a-form-model-item prop="windowNo" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.windowNo" disabled></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="exclusiveZone" slot-scope="text, record, index">
+                    <a-form-model-item prop="exclusiveZone" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.exclusiveZone" disabled></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="width" slot-scope="text, record, index">
+                    <a-form-model-item prop="width" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.width" disabled></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="height" slot-scope="text, record, index">
+                    <a-form-model-item prop="height" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.height" disabled></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="buildingNumber" slot-scope="text, record, index">
+                    <a-form-model-item prop="buildingNumber" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.buildingNumber" disabled></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="framesTang" slot-scope="text, record, index">
+                    <a-form-model-item prop="framesTang" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.framesTang" disabled></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="framesCount" slot-scope="text, record, index">
+                    <a-form-model-item prop="framesCount" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.framesCount" disabled></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="semiClass" slot-scope="text, record, index">
+                    <a-form-model-item prop="semiClass" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.semiClass" disabled></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="area" slot-scope="text, record, index">
+                    <a-form-model-item prop="area" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.area" disabled></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="cuttingLength" slot-scope="text, record, index">
+                    <a-form-model-item prop="cuttingLength" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.cuttingLength" disabled></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="cuttingLeftDown" slot-scope="text, record, index">
+                    <a-form-model-item prop="cuttingLeftDown" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.cuttingLeftDown" disabled></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="cuttingRightTop" slot-scope="text, record, index">
+                    <a-form-model-item prop="cuttingRightTop" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.cuttingRightTop" disabled></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="series" slot-scope="text, record, index">
+                    <a-form-model-item prop="series" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.series" disabled></a-input>
+                     </a-form-model-item>
+                </template>
+            </a-table>
+        </a-form-model>
+    </div>
+  </template>
+  
+  <script>
+  import { JeecgListMixin } from '@/mixins/JeecgListMixin'
+  import JEllipsis from '@/components/jeecg/JEllipsis'
+  import moment from 'moment'
+  export default {
+    name: 'Outbound', //  Tabs 详情
+    mixins: [JeecgListMixin],
+    components: {
+      JEllipsis,
+      moment,
+    },
+    data() {
+      return {
+        selectedRowKeys:[],
+        selectedRows:[],
+        dataSource:[],
+        allowEditColor:'no',
+        columns: [
+                {
+                    title: '#',
+                    dataIndex: '',
+                    key: 'rowIndex',
+                    width: 60,
+                    align: "center",
+                    customRender:function (t, r, index) {
+                        return parseInt(index)+1;
+                    }
+                },
+                {
+                    title: '项目编码',
+                    align:"center",
+                    dataIndex: 'projectCode',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'projectCode' } 
+                },
+                {
+                    title: '项目名称',
+                    align:"center",
+                    dataIndex: 'projectName',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'projectName' } 
+                },
+                {
+                    title: '批次',
+                    align:"center",
+                    dataIndex: 'batch',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'batch' } 
+                },
+                {
+                    title: '存货编码',
+                    align:"center",
+                    dataIndex: 'inventoryCode',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'inventoryCode' } 
+
+                },
+                {
+                    title: '存货名称',
+                    align:"center",
+                    dataIndex: 'inventoryName',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'inventoryName' } 
+
+                },
+                {
+                    title: '计量单位',
+                    align:"center",
+                    dataIndex: 'unit',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'unit' } 
+
+                },
+                {
+                    title: '主数量',
+                    align:"center",
+                    dataIndex: 'quantity',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'quantity' } 
+
+                },
+                {
+                    title: '换算率',
+                    align:"center",
+                    dataIndex: 'rate',
+                    ellipsis: true,
+                },
+                {
+                    title: '辅计量单位',
+                    align:"center",
+                    dataIndex: 'auxiliaryUnit',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'auxiliaryUnit' } 
+                },
+                {
+                    title: '辅数量',
+                    align:"center",
+                    dataIndex: 'unQuantity',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'unQuantity' } 
+                },
+                {
+                    title: '已执行主数量',
+                    align:"center",
+                    dataIndex: 'quantityExecute',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'quantityExecute' } 
+                },
+                {
+                    title: '已执行辅数量',
+                    align:"center",
+                    dataIndex: 'unQuantityExecute',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'unQuantityExecute' } 
+                },
+                {
+                    title: '型号',
+                    align:"center",
+                    dataIndex: 'model',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'model' } 
+                },
+                {
+                    title: '颜色',
+                    align:"center",
+                    dataIndex: 'color',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'color' } 
+
+                },
+                {   
+                    title: '定尺',
+                    align:"center",
+                    dataIndex: 'fixedLength',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'fixedLength' } 
+                },
+                {
+                    title: '合金',
+                    align:"center",
+                    dataIndex: 'alloy',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'alloy' } 
+                },
+                {   
+                    title: '标准',
+                    align:"center",
+                    dataIndex: 'standard',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'standard' } 
+                },
+                {
+                    title: '米重',
+                    align:"center",
+                    dataIndex: 'meterWeight',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'meterWeight' } 
+                },
+                {
+                    title: '装饰面周长',
+                    align:"center",
+                    dataIndex: 'decorationLength',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'decorationLength' } 
+                },
+                {
+                    title: '窗号',
+                    align:"center",
+                    dataIndex: 'windowNo',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'windowNo' } 
+                },
+                {
+                    title: '专用区',
+                    align:"center",
+                    dataIndex: 'exclusiveZone',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'exclusiveZone' } 
+                },
+                {
+                    title: '宽度',
+                    align:"center",
+                    dataIndex: 'width',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'width' } 
+                },
+                {
+                    title: '高度',
+                    align:"center",
+                    dataIndex: 'height',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'height' } 
+                },
+                {
+                    title: '楼层楼号',
+                    align:"center",
+                    dataIndex: 'buildingNumber',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'buildingNumber' } 
+                },
+                {
+                    title: '樘数(数量)',
+                    align:"center",
+                    dataIndex: 'framesTang',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'framesTang' } 
+                },
+                
+                {
+                    title: '框统计',
+                    align:"center",
+                    dataIndex: 'framesCount',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'framesCount' } 
+                 },
+                {
+                    title: '半成品分类',
+                    align:"center",
+                    dataIndex: 'semiClass',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'semiClass' } 
+                },
+                {
+                    title: '面积',
+                    align:"center",
+                    dataIndex: 'area',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'area' } 
+                },
+                {
+                    title: '切割长度',
+                    align:"center",
+                    dataIndex: 'cuttingLength',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'cuttingLength' } 
+                },
+                {
+                    title: '切割角度左下',
+                    align:"center",
+                    dataIndex: 'cuttingLeftDown',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'cuttingLeftDown' } 
+                },
+                {
+                    title: '切割角度右上',
+                    align:"center",
+                    dataIndex: 'cuttingRightTop',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'cuttingRightTop' } 
+                },
+                {
+                    title: '系列',
+                    align:"center",
+                    dataIndex: 'series',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'series' } 
+                },
+          ],
+      }
+    },
+     props: {
+      
+    },
+  
+    created() {},
+    methods: {
+        onSelectChange(selectedRowKeys, selectionRows) {
+            this.selectedRowKeys = selectedRowKeys;
+            this.selectedRows = selectionRows;
+        },
+        addList(){
+            this.dataSource.unshift({rowNo: this.dataSource.length+1})
+        },
+        delectRow(){
+            if( this.selectedRowKeys.length==0){
+                this.$message.warning('请勾选子表数据!')
+            }else{
+                this.selectedRowKeys.map(event=>{
+                    this.dataSource =  this.dataSource.filter( (x)=> {return x.rowNo !== event});
+                })
+            }
+        },
+        changeOutColor(){
+            this.$emit('changeOutColor')
+        }
+    },
+  
+    computed: {
+      // 合计数据
+      // sumInfoSource() {}
+    }
+  }
+  </script>
+  
+  <style lang="less" scoped>
+  /* @import '~@assets/less/common.less' */
+    /deep/.ant-input{
+        height:29px;
+    }
+    /deep/.ant-select-selection--single {
+        height: 29px;
+    }
+    /deep/.ant-select{
+        font-size: 12px;
+    }
+    /deep/.ant-form label{
+        font-size: 12px;
+    }
+    /deep/.table-page-search-wrapper .ant-form-inline .ant-form-item{
+        margin-bottom:9px
+    }
+    /deep/.moddle>.ant-card-body{
+        padding-bottom:0px;
+        padding-top: 12px;
+    }
+    /deep/.top>.ant-card-body{
+        padding-bottom:0px;
+        padding-top: 12px;
+    }
+    /deep/.ant-btn{
+        height:28px
+    }
+    /deep/.ant-modal-body{
+        padding-bottom: 0px;
+        padding-top: 0px;
+    }
+    // /deep/.ant-modal-body{
+    //     background: #f0f2f5;
+    // }
+    /deep/.ant-modal-content{
+        background: #f0f2f5;
+    }
+    /deep/.ant-card-body .table-operator {
+        margin-bottom: 0px;
+    }
+    /deep/.three>.ant-card-body{
+        padding-bottom:12px;
+        padding-top: 12px;
+    }
+    /deep/.bottom>.ant-card-body{
+        padding-bottom:0px;
+        padding-top: 12px;
+    }
+
+    /deep/.ant-calendar-picker{
+        min-width: 0px !important;  
+    }
+    /deep/.sonItem {
+        margin-bottom:0px !important
+    }
+    /deep/#sonList>.ant-spin-nested-loading>.ant-spin-container>.ant-table>.ant-table-content>.ant-table-scroll>.ant-table-body>.ant-table-fixed>.ant-table-tbody > tr > td {
+        padding: 0px 8px !important;
+    }
+  </style>
+  

+ 592 - 0
src/views/production/productionTotalOrder/modules/Warehousing.vue

@@ -0,0 +1,592 @@
+<template>
+    <div >
+        <a-form-model ref="formRef">
+            <a-table
+            ref="table"
+            size="middle"
+            bordered
+            id='sonList'
+            :columns="columns"
+            rowKey="rowNo"
+            :dataSource="dataSource"
+            :pagination="false"
+            :scroll="{ x: 5500, y: 300 }"
+            :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
+            @change="handleTableChange"
+            >
+                <template slot="projectCode" slot-scope="text, record, index">
+                    <a-form-model-item prop="projectCode" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.projectCode" disabled></a-input>
+                    </a-form-model-item>
+                </template>
+                <template slot="projectName" slot-scope="text, record, index">
+                    <a-form-model-item prop="projectName" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.projectName" disabled></a-input>
+                    </a-form-model-item>
+                </template>
+                <template slot="batch" slot-scope="text, record, index">
+                    <a-form-model-item prop="batch" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.batch" disabled></a-input>
+                    </a-form-model-item>
+                </template> 
+                <template slot="inventoryCode" slot-scope="text, record, index">
+                    <a-form-model-item prop="inventoryCode" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.inventoryCode" disabled></a-input>
+                    </a-form-model-item>
+                </template>
+                <template slot="inventoryName" slot-scope="text, record, index">
+                    <a-form-model-item prop="inventoryName" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.inventoryName" disabled></a-input>
+                    </a-form-model-item>
+                </template>
+                <template slot="quantityExecute" slot-scope="text, record, index">
+                    <a-form-model-item prop="quantityExecute" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.quantityExecute" disabled> </a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="unQuantityExecute" slot-scope="text, record, index">
+                    <a-form-model-item prop="unQuantityExecute" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.unQuantityExecute" disabled></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="unQuantity" slot-scope="text, record, index">
+                    <a-form-model-item prop="unQuantity" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.unQuantity" disabled></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="auxiliaryUnit" slot-scope="text, record, index">
+                    <a-form-model-item prop="auxiliaryUnit" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.unauxiliaryUnitQuantity" disabled></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="quantity" slot-scope="text, record, index">
+                    <a-form-model-item prop="quantity" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.quantity" disabled></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="unit" slot-scope="text, record, index">
+                    <a-form-model-item prop="unit" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.unit" disabled></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="specs" slot-scope="text, record, index">
+                    <a-form-model-item prop="specs" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.specs" disabled></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="model" slot-scope="text, record, index">
+                    <a-form-model-item prop="model" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.model" disabled></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="color" slot-scope="text, record, index">
+                    <a-form-model-item prop="color" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.color" :disabled ="allowEditColor=='no'" @change='changeWareColor'></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="fixedLength" slot-scope="text, record, index">
+                    <a-form-model-item prop="fixedLength" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.fixedLength" disabled></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="alloy" slot-scope="text, record, index">
+                    <a-form-model-item prop="alloy" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.alloy" disabled></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="standard" slot-scope="text, record, index">
+                    <a-form-model-item prop="standard" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.standard" disabled></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="meterWeight" slot-scope="text, record, index">
+                    <a-form-model-item prop="meterWeight" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.meterWeight" disabled></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="decorationLength" slot-scope="text, record, index">
+                    <a-form-model-item prop="decorationLength" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.decorationLength" disabled></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="windowNo" slot-scope="text, record, index">
+                    <a-form-model-item prop="windowNo" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.windowNo" disabled></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="exclusiveZone" slot-scope="text, record, index">
+                    <a-form-model-item prop="exclusiveZone" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.exclusiveZone" disabled></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="width" slot-scope="text, record, index">
+                    <a-form-model-item prop="width" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.width" disabled></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="height" slot-scope="text, record, index">
+                    <a-form-model-item prop="height" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.height" disabled></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="timeStamp" slot-scope="text, record, index">
+                    <a-form-model-item prop="timeStamp" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.timeStamp" disabled></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="buildingNumber" slot-scope="text, record, index">
+                    <a-form-model-item prop="buildingNumber" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.buildingNumber" disabled></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="framesTang" slot-scope="text, record, index">
+                    <a-form-model-item prop="framesTang" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.framesTang" disabled></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="framesCount" slot-scope="text, record, index">
+                    <a-form-model-item prop="framesCount" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.framesCount" disabled></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="leafCount" slot-scope="text, record, index">
+                    <a-form-model-item prop="leafCount" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.leafCount" disabled></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="semiClass" slot-scope="text, record, index">
+                    <a-form-model-item prop="semiClass" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.semiClass" disabled></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="area" slot-scope="text, record, index">
+                    <a-form-model-item prop="area" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.area" disabled></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="cuttingLength" slot-scope="text, record, index">
+                    <a-form-model-item prop="cuttingLength" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.cuttingLength" disabled></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="cuttingLeftDown" slot-scope="text, record, index">
+                    <a-form-model-item prop="cuttingLeftDown" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.cuttingLeftDown" disabled></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="cuttingRightTop" slot-scope="text, record, index">
+                    <a-form-model-item prop="cuttingRightTop" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.cuttingRightTop" disabled></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="remarks" slot-scope="text, record, index">
+                    <a-form-model-item prop="remarks" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.remarks" disabled></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="series" slot-scope="text, record, index">
+                    <a-form-model-item prop="series" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.series" disabled></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="glassNumber" slot-scope="text, record, index">
+                    <a-form-model-item prop="glassNumber" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.glassNumber" disabled></a-input>
+                     </a-form-model-item>
+                </template>
+            </a-table>
+        </a-form-model>
+    </div>
+  </template>
+  
+  <script>
+  import { JeecgListMixin } from '@/mixins/JeecgListMixin'
+  import JEllipsis from '@/components/jeecg/JEllipsis'
+  import moment from 'moment'
+  export default {
+    name: 'Warehousing', //  Tabs 详情
+    mixins: [JeecgListMixin],
+    components: {
+      JEllipsis,
+      moment,
+    },
+    data() {
+      return {
+        selectedRowKeys:[],
+        selectedRows:[],
+        dataSource:[],
+        allowEditColor:'no',
+        columns: [
+                {
+                    title: '#',
+                    dataIndex: '',
+                    key: 'rowIndex',
+                    width: 60,
+                    align: "center",
+                    customRender:function (t, r, index) {
+                        return parseInt(index)+1;
+                    }
+                },
+                {
+                    title: '项目编码',
+                    align:"center",
+                    dataIndex: 'projectCode',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'projectCode' } 
+                },
+                {
+                    title: '项目名称',
+                    align:"center",
+                    dataIndex: 'projectName',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'projectName' } 
+                },
+                {
+                    title: '批次',
+                    align:"center",
+                    dataIndex: 'batch',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'batch' } 
+                },
+                {
+                    title: '存货编码',
+                    align:"center",
+                    dataIndex: 'inventoryCode',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'inventoryCode' } 
+
+                },
+                {
+                    title: '存货名称',
+                    align:"center",
+                    dataIndex: 'inventoryName',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'inventoryName' } 
+
+                },
+                {
+                    title: '已执行主数量',
+                    align:"center",
+                    dataIndex: 'quantityExecute',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'quantityExecute' } 
+                },
+                {
+                    title: '已执行辅数量',
+                    align:"center",
+                    dataIndex: 'unQuantityExecute',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'unQuantityExecute' } 
+                },
+                {
+                    title: '辅数量',
+                    align:"center",
+                    dataIndex: 'unQuantity',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'unQuantity' } 
+                },
+                {
+                    title: '辅计量单位',
+                    align:"center",
+                    dataIndex: 'auxiliaryUnit',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'auxiliaryUnit' } 
+                },
+                {
+                    title: '换算率',
+                    align:"center",
+                    dataIndex: 'rate',
+                    ellipsis: true,
+                },
+                {
+                    title: '主数量',
+                    align:"center",
+                    dataIndex: 'quantity',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'quantity' } 
+
+                },
+                {
+                    title: '计量单位',
+                    align:"center",
+                    dataIndex: 'unit',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'unit' } 
+
+                },
+                {
+                    title: '规格',
+                    align:"center",
+                    dataIndex: 'specs',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'specs' } 
+                },
+                
+                {
+                    title: '型号',
+                    align:"center",
+                    dataIndex: 'model',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'model' } 
+                },
+                {
+                    title: '颜色',
+                    align:"center",
+                    dataIndex: 'color',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'color' } 
+
+                },
+                {   
+                    title: '定尺',
+                    align:"center",
+                    dataIndex: 'fixedLength',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'fixedLength' } 
+                },
+                {
+                    title: '合金',
+                    align:"center",
+                    dataIndex: 'alloy',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'alloy' } 
+                },
+                {   
+                    title: '标准',
+                    align:"center",
+                    dataIndex: 'standard',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'standard' } 
+                },
+                {
+                    title: '米重',
+                    align:"center",
+                    dataIndex: 'meterWeight',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'meterWeight' } 
+                },
+                {
+                    title: '装饰面周长',
+                    align:"center",
+                    dataIndex: 'decorationLength',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'decorationLength' } 
+                },
+                {
+                    title: '窗号',
+                    align:"center",
+                    dataIndex: 'windowNo',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'windowNo' } 
+                },
+                {
+                    title: '专用区',
+                    align:"center",
+                    dataIndex: 'exclusiveZone',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'exclusiveZone' } 
+                },
+                {
+                    title: '宽度',
+                    align:"center",
+                    dataIndex: 'width',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'width' } 
+                },
+                {
+                    title: '高度',
+                    align:"center",
+                    dataIndex: 'height',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'height' } 
+                },
+                {
+                    title: '时间戳',
+                    align:"center",
+                    dataIndex: 'timeStamp',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'timeStamp' } 
+                },
+                {
+                    title: '楼层楼号',
+                    align:"center",
+                    dataIndex: 'buildingNumber',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'buildingNumber' } 
+                },
+                {
+                    title: '樘数(数量)',
+                    align:"center",
+                    dataIndex: 'framesTang',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'framesTang' } 
+                },
+                
+                {
+                    title: '框统计',
+                    align:"center",
+                    dataIndex: 'framesCount',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'framesCount' } 
+                 },
+                 {
+                    title: '扇统计',
+                    align:"center",
+                    dataIndex: 'leafCount',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'leafCount' } 
+                 },
+                {
+                    title: '半成品分类',
+                    align:"center",
+                    dataIndex: 'semiClass',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'semiClass' } 
+                },
+                {
+                    title: '面积',
+                    align:"center",
+                    dataIndex: 'area',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'area' } 
+                },
+                {
+                    title: '切割长度',
+                    align:"center",
+                    dataIndex: 'cuttingLength',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'cuttingLength' } 
+                },
+                {
+                    title: '切割角度左下',
+                    align:"center",
+                    dataIndex: 'cuttingLeftDown',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'cuttingLeftDown' } 
+                },
+                {
+                    title: '切割角度右上',
+                    align:"center",
+                    dataIndex: 'cuttingRightTop',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'cuttingRightTop' } 
+                },
+                {
+                    title: '备注',
+                    align:"center",
+                    dataIndex: 'remarks',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'remarks' } 
+                },
+                {
+                    title: '系列',
+                    align:"center",
+                    dataIndex: 'series',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'series' } 
+                },
+                {
+                    title: '玻璃编号',
+                    align:"center",
+                    dataIndex: 'glassNumber',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'glassNumber' } 
+                },
+          ],
+      }
+    },
+     props: {
+      
+    },
+  
+    created() {},
+    methods: {
+        onSelectChange(selectedRowKeys, selectionRows) {
+            this.selectedRowKeys = selectedRowKeys;
+            this.selectedRows = selectionRows;
+        },
+        addList(){
+            this.dataSource.unshift({rowNo: this.dataSource.length+1})
+        },
+        delectRow(){
+            if( this.selectedRowKeys.length==0){
+                this.$message.warning('请勾选子表数据!')
+            }else{
+                this.selectedRowKeys.map(event=>{
+                    this.dataSource =  this.dataSource.filter( (x)=> {return x.rowNo !== event});
+                })
+            }
+        },
+        changeWareColor(){
+            this.$emit('changeWareColor')
+        }
+    },
+  
+    computed: {
+      // 合计数据
+      // sumInfoSource() {}
+    }
+  }
+  </script>
+  
+  <style lang="less" scoped>
+  /* @import '~@assets/less/common.less' */
+    /deep/.ant-input{
+        height:29px;
+    }
+    /deep/.ant-select-selection--single {
+        height: 29px;
+    }
+    /deep/.ant-select{
+        font-size: 12px;
+    }
+    /deep/.ant-form label{
+        font-size: 12px;
+    }
+    /deep/.table-page-search-wrapper .ant-form-inline .ant-form-item{
+        margin-bottom:9px
+    }
+    /deep/.moddle>.ant-card-body{
+        padding-bottom:0px;
+        padding-top: 12px;
+    }
+    /deep/.top>.ant-card-body{
+        padding-bottom:0px;
+        padding-top: 12px;
+    }
+    /deep/.ant-btn{
+        height:28px
+    }
+    /deep/.ant-modal-body{
+        padding-bottom: 0px;
+        padding-top: 0px;
+    }
+    // /deep/.ant-modal-body{
+    //     background: #f0f2f5;
+    // }
+    /deep/.ant-modal-content{
+        background: #f0f2f5;
+    }
+    /deep/.ant-card-body .table-operator {
+        margin-bottom: 0px;
+    }
+    /deep/.three>.ant-card-body{
+        padding-bottom:12px;
+        padding-top: 12px;
+    }
+    /deep/.bottom>.ant-card-body{
+        padding-bottom:0px;
+        padding-top: 12px;
+    }
+
+    /deep/.ant-calendar-picker{
+        min-width: 0px !important;  
+    }
+    /deep/.sonItem {
+        margin-bottom:0px !important
+    }
+    /deep/#sonList>.ant-spin-nested-loading>.ant-spin-container>.ant-table>.ant-table-content>.ant-table-scroll>.ant-table-body>.ant-table-fixed>.ant-table-tbody > tr > td {
+        padding: 0px 8px !important;
+    }
+  </style>
+  

+ 679 - 0
src/views/production/productionTotalOrder/modules/material.vue

@@ -0,0 +1,679 @@
+<template>
+    <div >
+        <a-form-model ref="formRef">
+            <a-table
+            ref="table"
+            size="middle"
+            bordered
+            id='sonList'
+            :columns="columns"
+            rowKey="rowNo"
+            :dataSource="dataSource"
+            :pagination="false"
+            :scroll="{ x: 5500, y: 300 }"
+            :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
+            @change="handleTableChange"
+            >
+                <template slot="outsourcing" slot-scope="text, record, index">
+                    <a-form-model-item prop="outsourcing" class='sonItem'>
+                        <a-select v-model="record.outsourcing"  style='width:100%' @change="changeOut" :disabled="allowEdit=='no'&&allowEditMaterial=='no'&&!record.newRow" >
+                            <a-select-option value='是'> 是</a-select-option>
+                            <a-select-option value='否'> 否</a-select-option>
+                        </a-select>
+                    </a-form-model-item>
+                </template>
+                <template slot="projectCode" slot-scope="text, record, index">
+                    <a-form-model-item prop="projectCode" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.projectCode" :disabled="allowEdit=='no'&&!record.newRow"></a-input>
+                    </a-form-model-item>
+                </template>
+                <template slot="projectName" slot-scope="text, record, index">
+                    <a-form-model-item prop="projectName" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.projectName" :disabled="allowEdit=='no'&&!record.newRow"></a-input>
+                    </a-form-model-item>
+                </template>
+                <template slot="batch" slot-scope="text, record, index">
+                    <a-form-model-item prop="batch" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.batch" :disabled="allowEdit=='no'&&!record.newRow"></a-input>
+                    </a-form-model-item>
+                </template> 
+                <template slot="inventoryCode" slot-scope="text, record, index">
+                    <a-form-model-item prop="inventoryCode" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.inventoryCode" :disabled="allowEdit=='no'&&!record.newRow"></a-input>
+                    </a-form-model-item>
+                </template>
+                <template slot="inventoryName" slot-scope="text, record, index">
+                    <a-form-model-item prop="inventoryName" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.inventoryName" :disabled="allowEdit=='no'&&!record.newRow"></a-input>
+                    </a-form-model-item>
+                </template>
+                <template slot="unit" slot-scope="text, record, index">
+                    <a-form-model-item prop="unit" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.unit" :disabled="allowEdit=='no'&&!record.newRow"></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="quantity" slot-scope="text, record, index">
+                    <a-form-model-item prop="quantity" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.quantity" :disabled="allowEdit=='no'&&!record.newRow&&!record.copied" @blur="changeQuantity(record)"></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="auxiliaryUnit" slot-scope="text, record, index">
+                    <a-form-model-item prop="auxiliaryUnit" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.auxiliaryUnit" :disabled="allowEdit=='no'&&!record.newRow"></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="unQuantity" slot-scope="text, record, index">
+                    <a-form-model-item prop="unQuantity" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.unQuantity" :disabled="allowEdit=='no'&&!record.newRow&&!record.copied" @blur="changeUQuantity(record)"></a-input>
+                     </a-form-model-item>
+                </template>
+                <!-- <template slot="unQuantityExecute" slot-scope="text, record, index">
+                    <a-form-model-item prop="unQuantityExecute" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.unQuantityExecute"></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="quantityExecute" slot-scope="text, record, index">
+                    <a-form-model-item prop="quantityExecute" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.quantityExecute"></a-input>
+                     </a-form-model-item>
+                </template> -->
+                <template slot="specs" slot-scope="text, record, index">
+                    <a-form-model-item prop="specs" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.specs" :disabled="allowEdit=='no'&&!record.newRow"></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="model" slot-scope="text, record, index">
+                    <a-form-model-item prop="model" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.model" :disabled="allowEdit=='no'&&!record.newRow"></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="color" slot-scope="text, record, index">
+                    <a-form-model-item prop="color" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.color" :disabled="allowEdit=='no'&&!record.newRow"></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="colorStorage" slot-scope="text, record, index">
+                    <a-form-model-item prop="colorStorage" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.colorStorage" :disabled="allowEdit=='no'&&!record.newRow"></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="fixedLength" slot-scope="text, record, index">
+                    <a-form-model-item prop="fixedLength" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.fixedLength" :disabled="allowEdit=='no'&&!record.newRow"></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="alloy" slot-scope="text, record, index">
+                    <a-form-model-item prop="alloy" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.alloy" :disabled="allowEdit=='no'&&!record.newRow"></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="standard" slot-scope="text, record, index">
+                    <a-form-model-item prop="standard" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.standard" :disabled="allowEdit=='no'&&!record.newRow"></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="meterWeight" slot-scope="text, record, index">
+                    <a-form-model-item prop="meterWeight" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.meterWeight" :disabled="allowEdit=='no'&&!record.newRow"></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="decorationLength" slot-scope="text, record, index">
+                    <a-form-model-item prop="decorationLength" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.decorationLength" :disabled="allowEdit=='no'&&!record.newRow"></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="windowNo" slot-scope="text, record, index">
+                    <a-form-model-item prop="windowNo" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.windowNo" :disabled="allowEdit=='no'&&!record.newRow"></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="exclusiveZone" slot-scope="text, record, index">
+                    <a-form-model-item prop="exclusiveZone" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.exclusiveZone" :disabled="allowEdit=='no'&&!record.newRow"></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="width" slot-scope="text, record, index">
+                    <a-form-model-item prop="width" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.width" :disabled="allowEdit=='no'&&!record.newRow"></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="height" slot-scope="text, record, index">
+                    <a-form-model-item prop="height" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.height" :disabled="allowEdit=='no'&&!record.newRow"></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="buildingNumber" slot-scope="text, record, index">
+                    <a-form-model-item prop="buildingNumber" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.buildingNumber" :disabled="allowEdit=='no'&&!record.newRow"></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="framesTang" slot-scope="text, record, index">
+                    <a-form-model-item prop="framesTang" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.framesTang" :disabled="allowEdit=='no'&&!record.newRow"></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="framesCount" slot-scope="text, record, index">
+                    <a-form-model-item prop="framesCount" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.framesCount" :disabled="allowEdit=='no'&&!record.newRow"></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="leafCount" slot-scope="text, record, index">
+                    <a-form-model-item prop="leafCount" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.leafCount" :disabled="allowEdit=='no'&&!record.newRow"></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="semiClass" slot-scope="text, record, index">
+                    <a-form-model-item prop="semiClass" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.semiClass" :disabled="allowEdit=='no'&&!record.newRow"></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="area" slot-scope="text, record, index">
+                    <a-form-model-item prop="area" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.area" :disabled="allowEdit=='no'&&!record.newRow"></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="cuttingLength" slot-scope="text, record, index">
+                    <a-form-model-item prop="cuttingLength" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.cuttingLength" :disabled="allowEdit=='no'&&!record.newRow"></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="cuttingLeftDown" slot-scope="text, record, index">
+                    <a-form-model-item prop="cuttingLeftDown" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.cuttingLeftDown" :disabled="allowEdit=='no'&&!record.newRow"></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="cuttingRightTop" slot-scope="text, record, index">
+                    <a-form-model-item prop="cuttingRightTop" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.cuttingRightTop" :disabled="allowEdit=='no'&&!record.newRow"></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="remarks" slot-scope="text, record, index">
+                    <a-form-model-item prop="remarks" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.remarks" :disabled="allowEdit=='no'&&!record.newRow"></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="series" slot-scope="text, record, index">
+                    <a-form-model-item prop="series" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.series" :disabled="allowEdit=='no'&&!record.newRow"></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="glassNumber" slot-scope="text, record, index">
+                    <a-form-model-item prop="glassNumber" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.glassNumber" :disabled="allowEdit=='no'&&!record.newRow"></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="storageLocation" slot-scope="text, record, index">
+                    <a-form-model-item prop="storageLocation" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.storageLocation" :disabled="allowEdit=='no'&&!record.newRow"></a-input>
+                     </a-form-model-item>
+                </template>
+            </a-table>
+        </a-form-model>
+    </div>
+  </template>
+  
+  <script>
+  import { JeecgListMixin } from '@/mixins/JeecgListMixin'
+  import JEllipsis from '@/components/jeecg/JEllipsis'
+  import moment from 'moment'
+  export default {
+    name: 'material', //  Tabs 详情
+    mixins: [JeecgListMixin],
+    components: {
+      JEllipsis,
+      moment,
+    },
+    data() {
+      return {
+        selectedRowKeys:[],
+        selectedRows:[],
+        dataSource:[],
+        allowEdit:'yes',
+        allowEditMaterial:'no',
+        columns: [
+                {
+                    title: '#',
+                    dataIndex: '',
+                    key: 'rowIndex',
+                    width: 60,
+                    align: "center",
+                    customRender:function (t, r, index) {
+                        return parseInt(index)+1;
+                    }
+                },
+                {
+                    title: '是否委外',
+                    align:"center",
+                    dataIndex: 'outsourcing',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'outsourcing' } 
+                },
+                {
+                    title: '项目编码',
+                    align:"center",
+                    dataIndex: 'projectCode',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'projectCode' } 
+                },
+                {
+                    title: '项目名称',
+                    align:"center",
+                    dataIndex: 'projectName',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'projectName' } 
+                },
+                {
+                    title: '批次',
+                    align:"center",
+                    dataIndex: 'batch',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'batch' } 
+                },
+                {
+                    title: '存货编码',
+                    align:"center",
+                    dataIndex: 'inventoryCode',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'inventoryCode' } 
+
+                },
+                {
+                    title: '存货名称',
+                    align:"center",
+                    dataIndex: 'inventoryName',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'inventoryName' } 
+
+                },
+                {
+                    title: '计量单位',
+                    align:"center",
+                    dataIndex: 'unit',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'unit' } 
+
+                },
+                {
+                    title: '主数量',
+                    align:"center",
+                    dataIndex: 'quantity',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'quantity' } 
+
+                },
+                {
+                    title: '辅计量单位',
+                    align:"center",
+                    dataIndex: 'auxiliaryUnit',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'auxiliaryUnit' } 
+                },
+                {
+                    title: '辅数量',
+                    align:"center",
+                    dataIndex: 'unQuantity',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'unQuantity' } 
+                },
+                {
+                    title: '已执行辅数量',
+                    align:"center",
+                    dataIndex: 'unQuantityExecute',
+                    ellipsis: true,
+                    // scopedSlots: { customRender: 'unQuantityExecute' } 
+                },
+                {
+                    title: '已执行主数量',
+                    align:"center",
+                    dataIndex: 'quantityExecute',
+                    ellipsis: true,
+                    // scopedSlots: { customRender: 'quantityExecute' } 
+                },
+                {
+                    title: '规格',
+                    align:"center",
+                    dataIndex: 'specs',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'specs' } 
+                },
+                {
+                    title: '型号',
+                    align:"center",
+                    dataIndex: 'model',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'model' } 
+                },
+                {
+                    title: '颜色',
+                    align:"center",
+                    dataIndex: 'color',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'color' } 
+
+                },
+                {
+                    title: '入库颜色',
+                    align:"center",
+                    dataIndex: 'colorStorage',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'colorStorage' } 
+
+                },
+                {   
+                    title: '定尺',
+                    align:"center",
+                    dataIndex: 'fixedLength',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'fixedLength' } 
+                },
+                {
+                    title: '合金',
+                    align:"center",
+                    dataIndex: 'alloy',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'alloy' } 
+                },
+                {   
+                    title: '标准',
+                    align:"center",
+                    dataIndex: 'standard',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'standard' } 
+                },
+                {
+                    title: '米重',
+                    align:"center",
+                    dataIndex: 'meterWeight',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'meterWeight' } 
+                },
+                {
+                    title: '装饰面周长',
+                    align:"center",
+                    dataIndex: 'decorationLength',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'decorationLength' } 
+                },
+                {
+                    title: '窗号',
+                    align:"center",
+                    dataIndex: 'windowNo',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'windowNo' } 
+                },
+                {
+                    title: '专用区',
+                    align:"center",
+                    dataIndex: 'exclusiveZone',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'exclusiveZone' } 
+                },
+                {
+                    title: '宽度',
+                    align:"center",
+                    dataIndex: 'width',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'width' } 
+                },
+                {
+                    title: '高度',
+                    align:"center",
+                    dataIndex: 'height',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'height' } 
+                },
+                {
+                    title: '楼层楼号',
+                    align:"center",
+                    dataIndex: 'buildingNumber',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'buildingNumber' } 
+                },
+                {
+                    title: '樘数(数量)',
+                    align:"center",
+                    dataIndex: 'framesTang',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'framesTang' } 
+                },
+                
+                {
+                    title: '框统计',
+                    align:"center",
+                    dataIndex: 'framesCount',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'framesCount' } 
+                 },
+                {
+                    title: '扇统计',
+                    align:"center",
+                    dataIndex: 'leafCount',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'leafCount' } 
+                },
+                {
+                    title: '半成品分类',
+                    align:"center",
+                    dataIndex: 'semiClass',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'semiClass' } 
+                },
+                {
+                    title: '面积',
+                    align:"center",
+                    dataIndex: 'area',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'area' } 
+                },
+                {
+                    title: '切割长度',
+                    align:"center",
+                    dataIndex: 'cuttingLength',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'cuttingLength' } 
+                },
+                {
+                    title: '切割角度左下',
+                    align:"center",
+                    dataIndex: 'cuttingLeftDown',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'cuttingLeftDown' } 
+                },
+                {
+                    title: '切割角度右上',
+                    align:"center",
+                    dataIndex: 'cuttingRightTop',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'cuttingRightTop' } 
+                },
+                {
+                    title: '备注',
+                    align:"center",
+                    dataIndex: 'remarks',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'remarks' } 
+                },
+                {
+                    title: '系列',
+                    align:"center",
+                    dataIndex: 'series',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'series' } 
+                },
+                {
+                    title: '玻璃编号',
+                    align:"center",
+                    dataIndex: 'glassNumber',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'glassNumber' } 
+                },
+                {
+                    title: '换算率',
+                    align:"center",
+                    dataIndex: 'rate',
+                    ellipsis: true,
+                },
+                {
+                    title: '货位',
+                    align:"center",
+                    dataIndex: 'storageLocation',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'storageLocation' } 
+                },
+          ],
+      }
+    },
+     props: {
+      
+    },
+  
+    created() {},
+    methods: {
+        onSelectChange(selectedRowKeys, selectionRows) {
+            this.selectedRowKeys = selectedRowKeys;
+            this.selectedRows = selectionRows;
+        },
+        addList(){
+            this.dataSource.unshift({rowNo: this.dataSource.length+1})
+        },
+        delectRow(){
+            if( this.selectedRowKeys.length==0){
+                this.$message.warning('请勾选子表数据!')
+            }else{
+                this.selectedRowKeys.map(event=>{
+                    this.dataSource =  this.dataSource.filter( (x)=> {return x.rowNo !== event});
+                })
+            }
+        },
+        delecteCopyRow(){
+            if( this.selectedRowKeys.length==0){
+                this.$message.warning('请勾选子表数据!')
+            }else{
+               var delectAllow = 'yes'
+               this.selectedRows.map(item=>{
+                if(item.id){delectAllow = 'no'}
+               })
+               if(delectAllow=='no'){
+                this.$emit('clearn')
+                this.$message.warning('勾选数据中有不可删除数据!')
+               }else{
+                this.selectedRowKeys.map(event=>{
+                    this.dataSource =  this.dataSource.filter( (x)=> {return x.rowNo !== event});
+                })
+               }
+            }
+        },
+        copyRow(){
+            if(this.selectedRowKeys.length!==1){
+                this.$emit('clearn')
+                this.$message.warning('请勾选一条数据!')
+            }else{
+              var obj ={},
+              num = 0
+              this.dataSource.map((item,index)=>{
+                if(item.id== this.selectedRows[0].id){
+                    item.copied = '1'
+                    obj = {...item}
+                    obj.projectCode = '6'
+                    obj.newRow = '1'
+                    obj.id = ''
+                    num = index+1
+
+                } 
+              })
+              this.dataSource.splice(num, 0, obj);
+              this.dataSource.map((item,index )=>{item.rowNo = index})
+              this.selectedRows = []
+              this.selectedRowKeys=[]
+            }
+        },
+        changeOut(){   
+            if(this.allowEdit=='no'&&this.allowEditMaterial=='yes'){
+                this.$emit('changeEdit')
+            }
+        },
+        addMaterial(){
+            this.dataSource.push({newRow:'1'})
+        },
+        changeQuantity(record){
+            if(record.copied&&record.quantity&&record.quantityExecute&&(Number(record.quantity)<Number(record.quantityExecute))){
+                record.quantity = ''
+                this.$message.warning('主数量不可小于已执行主数量!')
+            }
+        },
+        changeUQuantity(record){
+            if(record.copied&&record.unQuantity&&record.unQuantityExecute&&(Number(record.unQuantity)<Number(record.unQuantityExecute))){
+                record.unQuantity = ''
+                this.$message.warning('辅数量不可小于已执行辅数量!')
+            }
+        }
+    },
+  
+    computed: {
+      // 合计数据
+      // sumInfoSource() {}
+    }
+  }
+  </script>
+  
+  <style lang="less" scoped>
+  /* @import '~@assets/less/common.less' */
+    /deep/.ant-input{
+        height:29px;
+    }
+    /deep/.ant-select-selection--single {
+        height: 29px;
+    }
+    /deep/.ant-select{
+        font-size: 12px;
+    }
+    /deep/.ant-form label{
+        font-size: 12px;
+    }
+    /deep/.table-page-search-wrapper .ant-form-inline .ant-form-item{
+        margin-bottom:9px
+    }
+    /deep/.moddle>.ant-card-body{
+        padding-bottom:0px;
+        padding-top: 12px;
+    }
+    /deep/.top>.ant-card-body{
+        padding-bottom:0px;
+        padding-top: 12px;
+    }
+    /deep/.ant-btn{
+        height:28px
+    }
+    /deep/.ant-modal-body{
+        padding-bottom: 0px;
+        padding-top: 0px;
+    }
+    // /deep/.ant-modal-body{
+    //     background: #f0f2f5;
+    // }
+    /deep/.ant-modal-content{
+        background: #f0f2f5;
+    }
+    /deep/.ant-card-body .table-operator {
+        margin-bottom: 0px;
+    }
+    /deep/.three>.ant-card-body{
+        padding-bottom:12px;
+        padding-top: 12px;
+    }
+    /deep/.bottom>.ant-card-body{
+        padding-bottom:0px;
+        padding-top: 12px;
+    }
+
+    /deep/.ant-calendar-picker{
+        min-width: 0px !important;  
+    }
+    /deep/.sonItem {
+        margin-bottom:0px !important
+    }
+    /deep/#sonList>.ant-spin-nested-loading>.ant-spin-container>.ant-table>.ant-table-content>.ant-table-scroll>.ant-table-body>.ant-table-fixed>.ant-table-tbody > tr > td {
+        padding: 0px 8px !important;
+    }
+  </style>
+  

+ 606 - 0
src/views/production/productionTotalOrder/modules/productDetails.vue

@@ -0,0 +1,606 @@
+<template>
+    <div >
+        <a-form-model ref="formRef">
+            <a-table
+            ref="table"
+            size="middle"
+            bordered
+            id='sonList'
+            :columns="columns"
+            rowKey="rowNo"
+            :dataSource="dataSource"
+            :pagination="false"
+            :scroll="{ x: 5500, y: 300 }"
+            :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
+            @change="handleTableChange"
+            >
+                <template slot="billingType" slot-scope="text, record, index">
+                    <a-form-model-item prop="billingType" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.billingType" :disabled="allowEdit=='no'"></a-input>
+                    </a-form-model-item>
+                </template>
+                <template slot="projectCode" slot-scope="text, record, index">
+                    <a-form-model-item prop="projectCode" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.projectCode" :disabled="allowEdit=='no'"></a-input>
+                    </a-form-model-item>
+                </template>
+                <template slot="projectName" slot-scope="text, record, index">
+                    <a-form-model-item prop="projectName" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.projectName" :disabled="allowEdit=='no'"></a-input>
+                    </a-form-model-item>
+                </template>
+                <template slot="batch" slot-scope="text, record, index">
+                    <a-form-model-item prop="batch" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.batch" :disabled="allowEdit=='no'"></a-input>
+                    </a-form-model-item>
+                </template> 
+                <template slot="inventoryCode" slot-scope="text, record, index">
+                    <a-form-model-item prop="inventoryCode" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.inventoryCode" :disabled="allowEdit=='no'"></a-input>
+                    </a-form-model-item>
+                </template>
+                <template slot="inventoryName" slot-scope="text, record, index">
+                    <a-form-model-item prop="inventoryName" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.inventoryName" :disabled="allowEdit=='no'"></a-input>
+                    </a-form-model-item>
+                </template>
+                <template slot="unit" slot-scope="text, record, index">
+                    <a-form-model-item prop="unit" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.unit" :disabled="allowEdit=='no'"></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="quantity" slot-scope="text, record, index">
+                    <a-form-model-item prop="quantity" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.quantity" :disabled="allowEdit=='no'"></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="auxiliaryUnit" slot-scope="text, record, index">
+                    <a-form-model-item prop="auxiliaryUnit" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.auxiliaryUnit" :disabled="allowEdit=='no'"></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="unQuantity" slot-scope="text, record, index">
+                    <a-form-model-item prop="unQuantity" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.unQuantity" :disabled="allowEdit=='no'"></a-input>
+                     </a-form-model-item>
+                </template>
+                <!-- <template slot="unQuantityExecuteOut" slot-scope="text, record, index">
+                    <a-form-model-item prop="unQuantityExecuteOut" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.unQuantityExecuteOut"></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="quantityExecuteOut" slot-scope="text, record, index">
+                    <a-form-model-item prop="quantityExecuteOut" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.quantityExecuteOut"></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="quantityExecuteIn" slot-scope="text, record, index">
+                    <a-form-model-item prop="quantityExecuteIn" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.quantityExecuteIn"></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="unQuantityExecuteIn" slot-scope="text, record, index">
+                    <a-form-model-item prop="unQuantityExecuteIn" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.unQuantityExecuteIn"></a-input>
+                     </a-form-model-item>
+                </template> -->
+                <template slot="specs" slot-scope="text, record, index">
+                    <a-form-model-item prop="specs" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.specs" :disabled="allowEdit=='no'"></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="model" slot-scope="text, record, index">
+                    <a-form-model-item prop="model" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.model" :disabled="allowEdit=='no'"></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="color" slot-scope="text, record, index">
+                    <a-form-model-item prop="color" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.color" :disabled="allowEdit=='no'"></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="fixedLength" slot-scope="text, record, index">
+                    <a-form-model-item prop="fixedLength" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.fixedLength" :disabled="allowEdit=='no'"></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="alloy" slot-scope="text, record, index">
+                    <a-form-model-item prop="alloy" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.alloy" :disabled="allowEdit=='no'"></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="standard" slot-scope="text, record, index">
+                    <a-form-model-item prop="standard" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.standard" :disabled="allowEdit=='no'"></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="meterWeight" slot-scope="text, record, index">
+                    <a-form-model-item prop="meterWeight" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.meterWeight" :disabled="allowEdit=='no'"></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="decorationLength" slot-scope="text, record, index">
+                    <a-form-model-item prop="decorationLength" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.decorationLength" :disabled="allowEdit=='no'"></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="windowNo" slot-scope="text, record, index">
+                    <a-form-model-item prop="windowNo" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.windowNo" :disabled="allowEdit=='no'"></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="exclusiveZone" slot-scope="text, record, index">
+                    <a-form-model-item prop="exclusiveZone" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.exclusiveZone" :disabled="allowEdit=='no'"></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="widthLength" slot-scope="text, record, index">
+                    <a-form-model-item prop="widthLength" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.widthLength" :disabled="allowEdit=='no'"></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="height" slot-scope="text, record, index">
+                    <a-form-model-item prop="height" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.height" :disabled="allowEdit=='no'"></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="buildingNumber" slot-scope="text, record, index">
+                    <a-form-model-item prop="buildingNumber" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.buildingNumber" :disabled="allowEdit=='no'"></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="framesTang" slot-scope="text, record, index">
+                    <a-form-model-item prop="framesTang" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.framesTang" :disabled="allowEdit=='no'"></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="framesCount" slot-scope="text, record, index">
+                    <a-form-model-item prop="framesCount" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.framesCount" :disabled="allowEdit=='no'"></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="leafCount" slot-scope="text, record, index">
+                    <a-form-model-item prop="leafCount" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.leafCount" :disabled="allowEdit=='no'"></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="semiClass" slot-scope="text, record, index">
+                    <a-form-model-item prop="semiClass" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.semiClass" :disabled="allowEdit=='no'"></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="area" slot-scope="text, record, index">
+                    <a-form-model-item prop="area" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.area" :disabled="allowEdit=='no'"></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="cuttingLength" slot-scope="text, record, index">
+                    <a-form-model-item prop="cuttingLength" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.cuttingLength" :disabled="allowEdit=='no'"></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="cuttingLeftDown" slot-scope="text, record, index">
+                    <a-form-model-item prop="cuttingLeftDown" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.cuttingLeftDown" :disabled="allowEdit=='no'"></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="cuttingRightTop" slot-scope="text, record, index">
+                    <a-form-model-item prop="cuttingRightTop" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.cuttingRightTop" :disabled="allowEdit=='no'"></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="remarks" slot-scope="text, record, index">
+                    <a-form-model-item prop="remarks" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.remarks" :disabled="allowEdit=='no'"></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="series" slot-scope="text, record, index">
+                    <a-form-model-item prop="series" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.series" :disabled="allowEdit=='no'"></a-input>
+                     </a-form-model-item>
+                </template>
+                <template slot="glassNumber" slot-scope="text, record, index">
+                    <a-form-model-item prop="glassNumber" class='sonItem'>
+                        <a-input placeholder="请输入" v-model="record.glassNumber" :disabled="allowEdit=='no'"></a-input>
+                     </a-form-model-item>
+                </template>
+            </a-table>
+        </a-form-model>
+    </div>
+  </template>
+  
+  <script>
+  import { JeecgListMixin } from '@/mixins/JeecgListMixin'
+  import JEllipsis from '@/components/jeecg/JEllipsis'
+  import moment from 'moment'
+  export default {
+    name: 'productDetails', //  Tabs 详情
+    mixins: [JeecgListMixin],
+    components: {
+      JEllipsis,
+      moment,
+    },
+    data() {
+      return {
+        selectedRowKeys:[],
+        selectedRows:[],
+        dataSource:[],
+        allowEdit:'yes',
+        columns: [
+                {
+                    title: '#',
+                    dataIndex: '',
+                    key: 'rowIndex',
+                    width: 60,
+                    align: "center",
+                    customRender:function (t, r, index) {
+                        return parseInt(index)+1;
+                    }
+                },
+                {
+                    title: '开票类型',
+                    align:"center",
+                    dataIndex: 'billingType',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'billingType' } 
+                },
+                {
+                    title: '项目编码',
+                    align:"center",
+                    dataIndex: 'projectCode',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'projectCode' } 
+                },
+                {
+                    title: '项目名称',
+                    align:"center",
+                    dataIndex: 'projectName',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'projectName' } 
+                },
+                {
+                    title: '批次',
+                    align:"center",
+                    dataIndex: 'batch',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'batch' } 
+                },
+                {
+                    title: '存货编码',
+                    align:"center",
+                    dataIndex: 'inventoryCode',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'inventoryCode' } 
+
+                },
+                {
+                    title: '存货名称',
+                    align:"center",
+                    dataIndex: 'inventoryName',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'inventoryName' } 
+
+                },
+                {
+                    title: '计量单位',
+                    align:"center",
+                    dataIndex: 'unit',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'unit' } 
+
+                },
+                {
+                    title: '主数量',
+                    align:"center",
+                    dataIndex: 'quantity',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'quantity' } 
+
+                },
+                {
+                    title: '辅计量单位',
+                    align:"center",
+                    dataIndex: 'auxiliaryUnit',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'auxiliaryUnit' } 
+                },
+                {
+                    title: '辅数量',
+                    align:"center",
+                    dataIndex: 'unQuantity',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'unQuantity' } 
+                },
+                {
+                    title: '已执行辅数量(销售出库)',
+                    align:"center",
+                    dataIndex: 'unQuantityExecuteOut',
+                    ellipsis: true,
+                    // scopedSlots: { customRender: 'unQuantityExecuteOut' } 
+                },
+                {
+                    title: '已执行主数量(销售出库)',
+                    align:"center",
+                    dataIndex: 'quantityExecuteOut',
+                    ellipsis: true,
+                    // scopedSlots: { customRender: 'quantityExecuteOut' } 
+                },
+                {
+                    title: '已执行主数量(产成品入库)',
+                    align:"center",
+                    dataIndex: 'quantityExecuteIn',
+                    ellipsis: true,
+                    // scopedSlots: { customRender: 'quantityExecuteIn' } 
+                },
+                {
+                    title: '已执行辅数量(产成品入库)',
+                    align:"center",
+                    dataIndex: 'unQuantityExecuteIn',
+                    ellipsis: true,
+                    // scopedSlots: { customRender: 'unQuantityExecuteIn' } 
+                },
+                {
+                    title: '规格',
+                    align:"center",
+                    dataIndex: 'specs',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'specs' } 
+                },
+                {
+                    title: '型号',
+                    align:"center",
+                    dataIndex: 'model',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'model' } 
+                },
+                {
+                    title: '颜色',
+                    align:"center",
+                    dataIndex: 'color',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'color' } 
+
+                },
+                {   
+                    title: '定尺',
+                    align:"center",
+                    dataIndex: 'fixedLength',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'fixedLength' } 
+                },
+                {
+                    title: '合金',
+                    align:"center",
+                    dataIndex: 'alloy',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'alloy' } 
+                },
+                {   
+                    title: '标准',
+                    align:"center",
+                    dataIndex: 'standard',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'standard' } 
+                },
+                {
+                    title: '米重',
+                    align:"center",
+                    dataIndex: 'meterWeight',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'meterWeight' } 
+                },
+                {
+                    title: '装饰面周长',
+                    align:"center",
+                    dataIndex: 'decorationLength',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'decorationLength' } 
+                },
+                {
+                    title: '窗号',
+                    align:"center",
+                    dataIndex: 'windowNo',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'windowNo' } 
+                },
+                {
+                    title: '专用区',
+                    align:"center",
+                    dataIndex: 'exclusiveZone',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'exclusiveZone' } 
+                },
+                {
+                    title: '宽度/长度',
+                    align:"center",
+                    dataIndex: 'widthLength',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'widthLength' } 
+                },
+                {
+                    title: '高度',
+                    align:"center",
+                    dataIndex: 'height',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'height' } 
+                },
+                {
+                    title: '楼层楼号',
+                    align:"center",
+                    dataIndex: 'buildingNumber',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'buildingNumber' } 
+                },
+                {
+                    title: '樘数(数量)',
+                    align:"center",
+                    dataIndex: 'framesTang',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'framesTang' } 
+                },
+                
+                {
+                    title: '框统计',
+                    align:"center",
+                    dataIndex: 'framesCount',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'framesCount' } 
+                 },
+                {
+                    title: '扇统计',
+                    align:"center",
+                    dataIndex: 'leafCount',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'leafCount' } 
+                },
+                {
+                    title: '半成品分类',
+                    align:"center",
+                    dataIndex: 'semiClass',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'semiClass' } 
+                },
+                {
+                    title: '面积',
+                    align:"center",
+                    dataIndex: 'area',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'area' } 
+                },
+                {
+                    title: '切割长度',
+                    align:"center",
+                    dataIndex: 'cuttingLength',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'cuttingLength' } 
+                },
+                {
+                    title: '切割角度左下',
+                    align:"center",
+                    dataIndex: 'cuttingLeftDown',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'cuttingLeftDown' } 
+                },
+                {
+                    title: '切割角度右上',
+                    align:"center",
+                    dataIndex: 'cuttingRightTop',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'cuttingRightTop' } 
+                },
+                {
+                    title: '备注',
+                    align:"center",
+                    dataIndex: 'remarks',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'remarks' } 
+                },
+                {
+                    title: '系列',
+                    align:"center",
+                    dataIndex: 'series',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'series' } 
+                },
+                {
+                    title: '玻璃编号',
+                    align:"center",
+                    dataIndex: 'glassNumber',
+                    ellipsis: true,
+                    scopedSlots: { customRender: 'glassNumber' } 
+                },
+          ],
+      }
+    },
+     props: {
+      
+    },
+  
+    created() {},
+    methods: {
+        onSelectChange(selectedRowKeys, selectionRows) {
+            this.selectedRowKeys = selectedRowKeys;
+            this.selectedRows = selectionRows;
+        },
+        addList(){
+            this.dataSource.unshift({rowNo: this.dataSource.length+1})
+        },
+        delectRow(){
+            if( this.selectedRowKeys.length==0){
+                this.$message.warning('请勾选子表数据!')
+            }else{
+                this.selectedRowKeys.map(event=>{
+                    this.dataSource =  this.dataSource.filter( (x)=> {return x.rowNo !== event});
+                })
+            }
+        },
+    },
+  
+    computed: {
+      // 合计数据
+      // sumInfoSource() {}
+    }
+  }
+  </script>
+  
+  <style lang="less" scoped>
+  /* @import '~@assets/less/common.less' */
+    /deep/.ant-input{
+        height:29px;
+    }
+    /deep/.ant-select-selection--single {
+        height: 29px;
+    }
+    /deep/.ant-select{
+        font-size: 12px;
+    }
+    /deep/.ant-form label{
+        font-size: 12px;
+    }
+    /deep/.table-page-search-wrapper .ant-form-inline .ant-form-item{
+        margin-bottom:9px
+    }
+    /deep/.moddle>.ant-card-body{
+        padding-bottom:0px;
+        padding-top: 12px;
+    }
+    /deep/.top>.ant-card-body{
+        padding-bottom:0px;
+        padding-top: 12px;
+    }
+    /deep/.ant-btn{
+        height:28px
+    }
+    /deep/.ant-modal-body{
+        padding-bottom: 0px;
+        padding-top: 0px;
+    }
+    // /deep/.ant-modal-body{
+    //     background: #f0f2f5;
+    // }
+    /deep/.ant-modal-content{
+        background: #f0f2f5;
+    }
+    /deep/.ant-card-body .table-operator {
+        margin-bottom: 0px;
+    }
+    /deep/.three>.ant-card-body{
+        padding-bottom:12px;
+        padding-top: 12px;
+    }
+    /deep/.bottom>.ant-card-body{
+        padding-bottom:0px;
+        padding-top: 12px;
+    }
+
+    /deep/.ant-calendar-picker{
+        min-width: 0px !important;  
+    }
+    /deep/.sonItem {
+        margin-bottom:0px !important
+    }
+    /deep/#sonList>.ant-spin-nested-loading>.ant-spin-container>.ant-table>.ant-table-content>.ant-table-scroll>.ant-table-body>.ant-table-fixed>.ant-table-tbody > tr > td {
+        padding: 0px 8px !important;
+    }
+  </style>
+  

+ 434 - 0
src/views/production/productionTotalOrder/modules/productionTotalOrderAdd.vue

@@ -0,0 +1,434 @@
+<template>
+    <a-modal
+      :title="defaultMethod=='add'?'新增':'编辑'"
+       width="95%"
+      :visible="visible"
+      :maskClosable="false"
+      switchFullscreen
+      @cancel="handleCancel"
+      @ok='handleOk'
+      >
+      <template slot="footer">
+        <a-button  @click="handleCancel">关闭</a-button>
+        <a-button type="primary"  @click="handleOk" v-if="allowEdit=='yes'">保存</a-button>
+     </template>
+      <a-card :bordered="false" class="top" style="margin-bottom:1%;margin-top:1%" :loading = 'loading'>
+        <div class="table-page-search-wrapper">
+            <a-form layout="inline" @keyup.enter.native="searchQuery">
+                <a-row :gutter="24">
+                    <a-col :md="4" :sm="24">
+                        <a-form-item label="生产组织">
+                            <a-input-search placeholder="请输入" v-model="form.productionOrg" @search="onSearch" :disabled="allowEdit=='no'"></a-input-search>
+                        </a-form-item>
+                    </a-col>
+                    <a-col  :md="4" :sm="24">
+                        <a-form-item label="单据号">
+                            <a-input placeholder="请输入" v-model="form.orderCode" :disabled="allowEdit=='no'"></a-input>
+                        </a-form-item>
+                    </a-col>
+                    <a-col :md="4" :sm="24">
+                        <a-form-item label="单据日期">
+                            <a-date-picker showTime valueFormat="YYYY-MM-DD" format = "YYYY-MM-DD" v-model="form.orderDate" style="width:100%" :disabled="allowEdit=='no'"/>
+                        </a-form-item>
+                    </a-col>
+                    <a-col :md="4" :sm="24">
+                        <a-form-item label="单据状态">
+                            <a-select v-model="form.state"  style='width:100%' :disabled="allowEdit=='no'">
+                                <a-select-option value='自由'> 自由</a-select-option>
+                                <a-select-option value='已批准'> 已批准</a-select-option>
+                            </a-select>
+                        </a-form-item>
+                    </a-col>
+                    <a-col :md="4" :sm="24">
+                        <a-form-item label="业务员">
+                            <a-input placeholder="请输入" v-model="form.salesperson" :disabled="allowEdit=='no'"></a-input>
+                        </a-form-item>
+                    </a-col>
+                    <a-col :md="4" :sm="24">
+                        <a-form-item label="计划部门">
+                            <a-input-search placeholder="请输入" v-model="form.planDept" @search="onSearch" :disabled="allowEdit=='no'"></a-input-search>
+                        </a-form-item>
+                    </a-col>
+                    <a-col :md="4" :sm="24">
+                        <a-form-item label="项目">
+                            <a-input-search placeholder="请输入" v-model="form.project" @search="onSearch" :disabled="allowEdit=='no'"></a-input-search>
+                        </a-form-item>
+                    </a-col>
+                    <a-col :md="4" :sm="24">
+                        <a-form-item label="备注">
+                            <a-input-search placeholder="请输入" v-model="form.remarks"  @search="onSearch" :disabled="allowEdit=='no'"></a-input-search>
+                        </a-form-item>
+                    </a-col>
+                    <a-col :md="4" :sm="24">
+                        <a-form-item label="业务类型">
+                            <a-select v-model="form.type"  style='width:100%'  :disabled="allowEdit=='no'">
+                                <a-select-option value='工装'> 工装</a-select-option>
+                                <a-select-option value='家装'> 家装</a-select-option>
+                            </a-select>
+                        </a-form-item>
+                    </a-col>
+                    <a-col :md="4" :sm="24">
+                        <a-form-item label="制单人">
+                            <a-input placeholder="请输入" v-model="form.createBy"  disabled></a-input>
+                        </a-form-item>
+                    </a-col>
+                    <a-col :md="4" :sm="24">
+                        <a-form-item label="审核人">
+                            <a-input placeholder="请输入" v-model="form.reviewer" disabled></a-input>
+                        </a-form-item>
+                    </a-col>
+                    <a-col :md="4" :sm="24">
+                        <a-form-item label="工单号">
+                            <a-input placeholder="请输入" v-model="form.workNo" :disabled="allowEdit=='no'"></a-input>
+                        </a-form-item>
+                    </a-col>
+                    <a-col :md="4" :sm="24">
+                        <a-form-item label="项目编码" >
+                            <a-input placeholder="请输入" v-model="form.projectCode" :disabled="allowEdit=='no'"></a-input>
+                        </a-form-item>
+                    </a-col>
+                    <a-col :md="4" :sm="24">
+                        <a-form-item label="来源标识" >
+                            <a-input placeholder="请输入" v-model="form.sourceInfo" :disabled="allowEdit=='no'"></a-input>
+                        </a-form-item>
+                    </a-col>
+                    <a-col :md="4" :sm="24">
+                        <a-form-item label="改单版本" >
+                            <a-input placeholder="请输入" v-model="form.version" :disabled="allowEdit=='no'"></a-input>
+                        </a-form-item>
+                    </a-col>
+                    
+                </a-row>
+            </a-form>
+        </div>
+     </a-card>
+     <a-card :bordered="false" class="three" style="margin-bottom:1%" :loading = 'loading'>
+       <div class="table-operator">
+            <a-button type="danger" size="small"  @click="addList" :disabled="allowEdit=='no'">增行</a-button>
+            <a-button size="small" @click="delectRow" :disabled="allowEdit=='no'">删行</a-button>
+            <a-select v-model="execute"  style='width:9%' placeholder="委外" @change="changeChose">
+                <a-select-option value='生产出入库页签' > 生产出入库页签</a-select-option>
+                <a-select-option value='选择委外材料明细'  v-if="allowEdit=='no'" > 选择委外材料明细</a-select-option>
+                <a-select-option value='修改入库颜色'  v-if="allowEdit=='no'" > 修改入库颜色</a-select-option>
+                <a-select-option value='修改出库颜色'  v-if="allowEdit=='no'" > 修改出库颜色</a-select-option>
+                <a-select-option value='委外增行'  v-if="allowEdit=='no'"> 委外增行</a-select-option>
+                <a-select-option value='委外拆分行'  v-if="allowEdit=='no'"> 委外拆分行</a-select-option>
+                <a-select-option value='委外删行'  v-if="allowEdit=='no'"> 委外删行</a-select-option>
+                <a-select-option value='委外保存'  v-if="allowEdit=='no'"> 委外保存</a-select-option>
+            </a-select>
+       </div>
+       <a-tabs v-model="activeKey" @change="handleChangeTabs">
+            <a-tab-pane tab="成品明细" :key="refKeys[0]" :forceRender="true">
+               <productDetails ref="productDetails"></productDetails>
+            </a-tab-pane>
+            <a-tab-pane tab="材料明细" :key="refKeys[1]" :forceRender="true">
+               <material ref="material" @changeEdit = 'changeEdit' @clearn="clearnExecute"></material>
+            </a-tab-pane>
+            <a-tab-pane tab="委外其他出库" :key="refKeys[2]" :forceRender="true">
+                <Outbound ref='Outbound' @changeOutColor ='changeEdit'></Outbound>
+            </a-tab-pane>
+            <a-tab-pane tab="委外其他入库" :key="refKeys[3]" :forceRender="true">
+                <Warehousing ref='Warehousing' @changeWareColor ='changeEdit'></Warehousing>
+            </a-tab-pane>
+        </a-tabs>
+       
+    </a-card>
+    </a-modal>
+  </template>
+  <script>
+  
+      import { FormTypes } from '@/utils/JEditableTableUtil'
+      import { JEditableTableModelMixin } from '@/mixins/JEditableTableModelMixin'
+      import productDetails from './productDetails'
+      import material from './material'
+      import Outbound from './Outbound'
+      import Warehousing from './Warehousing'
+      import moment from "moment"
+      import { httpAction ,getAction,postAction,putAction} from '@/api/manage'
+      export default {
+        name: 'materialProcurementAdd',
+        mixins: [JEditableTableModelMixin],
+        components: {
+            productDetails,
+            material,
+            Outbound,
+            Warehousing
+        },
+        data() {
+          return {
+            visible:false,
+            form:{},
+            form1:{},
+            execute:'',
+            defaultMethod:'add',
+            allowEdit:'yes',
+            allowEditMaterial:'no',
+            dataSource:[],
+            loading:false,
+            // ipagination:{},
+            selectedRowKeys:[],
+            selectedRows:[],
+            activeKey:'finishProduct',
+            refKeys:['finishProduct','material','Outbound','Warehousing'],
+          }
+        },
+        created() {
+          
+        },
+        methods: {
+            handleCancel(){
+                this.visible=false
+                this.defaultMethod='add'
+                this.allowEdit = 'yes'
+                this.activeKey='finishProduct',
+                this.execute = ''
+                this.dataSource = [] 
+                this.form={}
+                this.form1={}
+                this.$refs.material.allowEditMaterial ='no'
+                this.$refs.Warehousing.allowEditColor ='no'
+                this.$refs.Outbound.allowEditColor ='no'
+                this.$emit('ok')
+            },
+            changeChose(prop){
+                if(prop=='选择委外材料明细'){
+                    this.$refs.material.allowEditMaterial ='yes'
+                }else if(prop == '修改入库颜色'){
+                    this.$refs.Warehousing.allowEditColor ='yes'
+                }else if(prop == '修改出库颜色'){
+                    this.$refs.Outbound.allowEditColor ='yes'
+                }else if(prop == '委外增行'){
+                    this.$refs.material.addMaterial()
+                }else if(prop =='委外拆分行'){
+                    this.$refs.material.copyRow()
+                }else if(prop =='委外删行'){
+                    this.$refs.material.delecteCopyRow()
+                }else if(prop =='委外保存'){
+                    this.changeEdit()
+                }
+            },
+            handleOk(){
+                var madeProductionOrdersPage = this.form
+                madeProductionOrdersPage.madeProductionOrdersFinishedList = this.$refs.productDetails.dataSource
+                madeProductionOrdersPage.madeProductionOrdersMaterialList = this.$refs.material.dataSource
+                madeProductionOrdersPage.madeProductionOrdersOutList = this.$refs.Outbound.dataSource
+                madeProductionOrdersPage.madeProductionOrdersInList = this.$refs.Warehousing.dataSource
+                this.loading = true
+                if(this.defaultMethod=='add'){
+                    postAction('/productionOrder/madeProductionOrders/add', madeProductionOrdersPage).then((res) => {
+                        if (res.success) {
+                            this.$message.success('添加成功!');
+                            this.handleCancel()
+                            this.$emit('ok')
+                        } else {
+                            this.$message.error(res.message);
+                        }
+                    }).finally(() => {
+                        this.loading = false
+                    })
+                }else{
+                    postAction('/productionOrder/madeProductionOrders/edit', madeProductionOrdersPage).then((res) => {
+                        if (res.success) {
+                            this.handleCancel()
+                            this.$emit('ok')
+                            this.$message.success('编辑成功!');
+                        } else {
+                            this.$message.error(res.message);
+                        }
+                    }).finally(() => {
+                        this.loading = false
+                    })
+                }                
+            },
+            changeEdit(){
+                var madeProductionOrdersPage = this.form
+                madeProductionOrdersPage.madeProductionOrdersFinishedList = this.$refs.productDetails.dataSource
+                madeProductionOrdersPage.madeProductionOrdersMaterialList = this.$refs.material.dataSource
+                madeProductionOrdersPage.madeProductionOrdersOutList = this.$refs.Outbound.dataSource
+                madeProductionOrdersPage.madeProductionOrdersInList = this.$refs.Warehousing.dataSource
+                postAction('/productionOrder/madeProductionOrders/editChild', madeProductionOrdersPage).then((res) => {
+                        if (res.success) {
+                            console.log(res.message);
+                            this.$refs.productDetails.dataSource = madeProductionOrdersPage.madeProductionOrdersFinishedList
+                            this.$refs.material.dataSource = madeProductionOrdersPage.madeProductionOrdersMaterialList
+                            this.$refs.Outbound.dataSource = madeProductionOrdersPage.madeProductionOrdersOutList
+                            this.$refs.Warehousing.dataSource = madeProductionOrdersPage.madeProductionOrdersInList
+                        } else {
+                            this.$message.error(res.message);
+                        }
+                    }).finally(() => {
+                    })
+            },
+            handleTableChange(){
+
+            },
+            onSearch(){
+               
+            },
+            //获取主表信息
+            getMainData(id){
+                getAction('/productionOrder/madeProductionOrders/queryById',{id:id}).then(res=>{
+                    if(res.success){
+                       this.form=res.result
+                       this.getProductData(this.form.id)
+                       this.getMaterialData(this.form.id)
+                       this.getOutboundData(this.form.id)
+                       this.getWarehousingData(this.form.id)
+                    }else{
+                      this.$message.error(res.message);
+                    }
+                })
+            },
+            //获取子表信息
+            getProductData(id){
+                //成品明细
+                this.$refs.productDetails.allowEdit = this.allowEdit
+                getAction('/productionOrder/madeProductionOrders/queryMadeProductionOrdersFinishedByMainId',{id:id}).then(res=>{
+                    if(res.success){
+                        this.$refs.productDetails.dataSource =res.result
+                        this.$refs.productDetails.dataSource.map((item,index)=>{
+                            item.rowNo =index+1
+                       })
+                       
+                    }else{
+                      this.$message.error(res.message);
+                    }
+                })
+            },
+            //获取子表信息
+            getMaterialData(id){
+                //材料明细
+                this.$refs.material.allowEdit = this.allowEdit
+                getAction('/productionOrder/madeProductionOrders/queryMadeProductionOrdersMaterialByMainId',{id:id}).then(res=>{
+                    if(res.success){
+                        this.$refs.material.dataSource =res.result
+                        this.$refs.material.dataSource.map((item,index)=>{
+                            item.rowNo =index+1
+                       })
+                       
+                    }else{
+                      this.$message.error(res.message);
+                    }
+                })
+            },
+             //获取子表信息
+             getOutboundData(id){
+                //委外出库
+                getAction('/productionOrder/madeProductionOrders/queryMadeProductionOrdersOutByMainId',{id:id}).then(res=>{
+                    if(res.success){
+                        this.$refs.Outbound.dataSource =res.result
+                        this.$refs.Outbound.dataSource.map((item,index)=>{
+                            item.rowNo =index+1
+                       })
+                    }else{
+                      this.$message.error(res.message);
+                    }
+                })
+            },
+            //获取子表信息
+            getWarehousingData(id){
+                //委外入库
+                getAction('/productionOrder/madeProductionOrders/queryMadeProductionOrdersInByMainId',{id:id}).then(res=>{
+                    if(res.success){
+                        this.$refs.Warehousing.dataSource =res.result
+                        this.$refs.Warehousing.dataSource.map((item,index)=>{
+                            item.rowNo =index+1
+                       })
+                       
+                    }else{
+                      this.$message.error(res.message);
+                    }
+                })
+            },
+            addList(){
+                if(this.activeKey=='finishProduct'){
+                    this.$refs.productDetails.addList()
+                }else if(this.activeKey=='material'){
+                    this.$refs.material.addList()
+                }
+                // else if(this.activeKey=='Outbound'){
+                //     this.$refs.Outbound.addList()
+                // }else if(this.activeKey=='Warehousing'){
+                //     this.$refs.Warehousing.addList()
+                // }
+            },
+            delectRow(){
+                if(this.activeKey=='finishProduct'){
+                    this.$refs.productDetails.delectRow()
+                }else if(this.activeKey=='material'){
+                    this.$refs.material.delectRow()
+                }
+                // else if(this.activeKey=='Outbound'){
+                //     this.$refs.Outbound.delectRow()
+                // }else if(this.activeKey=='Warehousing'){
+                //     this.$refs.Warehousing.delectRow()
+                // }
+            },
+            clearnExecute(){
+                this.execute = ''
+            }
+
+        }
+      }
+  </script>
+  
+  <style scoped lang="less">
+    /* @import '~@assets/less/common.less' */
+    /deep/.ant-input{
+        height:29px;
+    }
+    /deep/.ant-select-selection--single {
+        height: 29px;
+    }
+    /deep/.ant-select{
+        font-size: 12px;
+    }
+    /deep/.ant-form label{
+        font-size: 12px;
+    }
+    /deep/.table-page-search-wrapper .ant-form-inline .ant-form-item{
+        margin-bottom:9px
+    }
+    /deep/.moddle>.ant-card-body{
+        padding-bottom:0px;
+        padding-top: 12px;
+    }
+    /deep/.top>.ant-card-body{
+        padding-bottom:0px;
+        padding-top: 12px;
+    }
+    /deep/.ant-btn{
+        height:28px
+    }
+    /deep/.ant-modal-body{
+        padding-bottom: 0px;
+        padding-top: 0px;
+    }
+    // /deep/.ant-modal-body{
+    //     background: #f0f2f5;
+    // }
+    /deep/.ant-modal-content{
+        background: #f0f2f5;
+    }
+    /deep/.ant-card-body .table-operator {
+        margin-bottom: 0px;
+    }
+    /deep/.three>.ant-card-body{
+        padding-bottom:12px;
+        padding-top: 12px;
+    }
+    /deep/.bottom>.ant-card-body{
+        padding-bottom:0px;
+        padding-top: 12px;
+    }
+
+    /deep/.ant-calendar-picker{
+        min-width: 0px !important;  
+    }
+    /deep/.sonItem {
+        margin-bottom:0px !important
+    }
+    /deep/#sonList>.ant-spin-nested-loading>.ant-spin-container>.ant-table>.ant-table-content>.ant-table-scroll>.ant-table-body>.ant-table-fixed>.ant-table-tbody > tr > td {
+        padding: 0px 8px !important;
+    }
+  </style>

+ 117 - 179
src/views/production/productionTotalOrder/productionTotalOrderList.vue

@@ -7,8 +7,8 @@
             <a-form layout="inline" @keyup.enter.native="searchQuery">
               <a-row :gutter="24">
                 <a-col :md="4" :sm="24">
-                  <a-form-item label="计划组织">
-                    <a-input-search placeholder="请输入" v-model="queryParam.planOrg" @search="onSearch"></a-input-search>
+                  <a-form-item label="生产组织">
+                    <a-input-search placeholder="请输入" v-model="queryParam.productionOrg" @search="onSearch"></a-input-search>
                   </a-form-item>
                 </a-col>
                 <a-col  :md="4" :sm="24">
@@ -19,7 +19,6 @@
                 <a-col :md="4" :sm="24">
                     <a-form-item label="单据日期">
                     <a-range-picker v-model="orderDate"  style="width: 100%;" @change="changeStartDate" />
-                      <!-- <a-date-picker showTime valueFormat="YYYY-MM-DD" format = "YYYY-MM-DD" v-model="queryParam.transferDate" style="width: 100%"/>            -->
                     </a-form-item>
                   </a-col>
                   <a-col :md="4" :sm="24">
@@ -27,9 +26,6 @@
                       <a-select v-model="queryParam.state"  style='width:100%' >
                         <a-select-option value='自由'> 自由</a-select-option>
                         <a-select-option value='已批准'> 已批准</a-select-option>
-                        <a-select-option value='已运算'> 已运算</a-select-option>
-                        <a-select-option value='已请购'> 已请购</a-select-option>
-                        <a-select-option value='已关闭'> 已关闭</a-select-option>
                        </a-select>
                     </a-form-item>
                   </a-col>
@@ -44,14 +40,9 @@
                     <a-input-search placeholder="请输入" v-model="queryParam.planDept" @search="onSearch"></a-input-search>
                   </a-form-item>
                   </a-col>
-                  <a-col :md="4" :sm="24">
-                    <a-form-item label="项目编码">
-                      <a-input placeholder="请输入" v-model="queryParam.projectCode"></a-input>
-                    </a-form-item>
-                  </a-col>
                   <a-col :md="4" :sm="24">
                     <a-form-item label="项目">
-                      <a-input-search placeholder="请输入" v-model="queryParam.project" @search="onSearch"></a-input-search>
+                      <a-input placeholder="请输入" v-model="queryParam.project"></a-input>
                     </a-form-item>
                   </a-col>
                   <a-col :md="4" :sm="24">
@@ -59,26 +50,52 @@
                       <a-input placeholder="请输入" v-model="queryParam.remarks"></a-input>
                     </a-form-item>
                   </a-col>
+                  <a-col :md="4" :sm="24">
+                    <a-form-item label="业务类型">
+                      <a-select v-model="queryParam.type"  style='width:100%' >
+                        <a-select-option value='工装'> 工装</a-select-option>
+                        <a-select-option value='家装'> 家装</a-select-option>
+                       </a-select>
+                    </a-form-item>
+                  </a-col>
                   <a-col :md="4" :sm="24">
                     <a-form-item label="加工单号">
                       <a-input placeholder="请输入" v-model="queryParam.workNo"></a-input>
                     </a-form-item>
                   </a-col>
                   <a-col :md="4" :sm="24">
-                    <a-form-item label="改单版本">
-                      <a-input placeholder="请输入" v-model="queryParam.version"></a-input>
+                    <a-form-item label="制单人">
+                      <a-input placeholder="请输入" v-model="queryParam.createBy"></a-input>
+                    </a-form-item>
+                  </a-col>
+                  <a-col :md="4" :sm="24">
+                    <a-form-item label="审核人">
+                      <a-input placeholder="请输入" v-model="queryParam.reviewer"></a-input>
                     </a-form-item>
                   </a-col>
                   <a-col :md="4" :sm="24">
-                    <a-form-item label="来源">
+                    <a-form-item label="工单号">
+                      <a-input placeholder="请输入" v-model="queryParam.workNo"></a-input>
+                    </a-form-item>
+                  </a-col>
+                  <a-col :md="4" :sm="24">
+                    <a-form-item label="项目编码">
+                      <a-input placeholder="请输入" v-model="queryParam.projectCode"></a-input>
+                    </a-form-item>
+                  </a-col>
+                  <a-col :md="4" :sm="24">
+                    <a-form-item label="来源标识">
                       <a-input placeholder="请输入" v-model="queryParam.sourceInfo"></a-input>
                     </a-form-item>
                   </a-col>
                   <a-col :md="4" :sm="24">
-                    <a-form-item label="业务类型">
-                      <a-select v-model="queryParam.type"  style='width:100%' >
-                        <a-select-option value='1'> 1</a-select-option>
-                       </a-select>
+                    <a-form-item label="改单版本">
+                      <a-input placeholder="请输入" v-model="queryParam.version"></a-input>
+                    </a-form-item>
+                  </a-col>
+                  <a-col :md="4" :sm="24">
+                    <a-form-item label="制单时间">
+                      <a-input placeholder="请输入" v-model="queryParam.createTime"></a-input>
                     </a-form-item>
                   </a-col>
                 </template>
@@ -102,16 +119,15 @@
           <!-- 操作按钮区域 -->
           <div class="table-operator">
             <a-button type="danger" size="small" @click='addList'>新增</a-button>
-            <a-button  size="small" @click='addEdit'>修改</a-button>
-            <a-button size="small" @click="delecteList()">删除</a-button>
+            <a-button  size="small" @click="editList">修改</a-button>
+            <a-button size="small" @click="delecteList">删除</a-button>
             <a-button  size="small" @click="examineApprove">审批</a-button>
             <a-button  size="small" @click="abstainExamineApprove">弃审</a-button>
-            <a-button size="small" @click="exportList('材料请购单')">导出</a-button>
+            <a-button size="small">导出</a-button>
             <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl">
                 <a-button  size="small">导入</a-button>
             </a-upload>
-            <a-button  size="small" @click="entireClose">整单关闭</a-button>
-            <a-button  size="small" @click="synchronizationData">请购单</a-button>
+            <a-button  size="small" >生单</a-button>
           </div>
       
           <!-- table区域-begin -->
@@ -124,7 +140,7 @@
               :columns="columns"
               :dataSource="dataSource"
               :pagination="ipagination"
-              :scroll="{ x: 1500, y: 300 }"
+              :scroll="{ x: 2000, y: 300 }"
               :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
               @change="handleTableChange"
               :customRow ="clickRow"
@@ -135,6 +151,7 @@
           <!-- table区域-end -->
       
         </a-card>
+        <productionTotalOrderAdd ref="productionTotalOrderAdd" @ok='searchQuery'></productionTotalOrderAdd>
     </div>
     </template>
       
@@ -143,6 +160,7 @@
         import { JeecgListMixin } from '@/mixins/JeecgListMixin'
         import moment from 'dayjs'
         import { httpAction ,getAction,postAction,putAction,deleteAction,downFile} from '@/api/manage'
+        import productionTotalOrderAdd from './modules/productionTotalOrderAdd'
         import {queryDepartTreeList} from '@/api/api'
         import alertModal from '../../../plugins/modal'
         import { Message } from "element-ui";
@@ -151,6 +169,7 @@
           name: "materialProcurementList",
           mixins: [JeecgListMixin],
           components: {
+            productionTotalOrderAdd
           },
           data () {
             return {
@@ -186,9 +205,9 @@
                   }
                 },
                 {
-                  title: '计划组织',
+                  title: '生产组织',
                   align:"center",
-                  dataIndex: 'planOrg',
+                  dataIndex: 'productionOrg',
                   ellipsis: true,
     
                 },
@@ -228,9 +247,9 @@
     
                 },
                 {
-                  title: '项目编码',
+                  title: '项目',
                   align:"center",
-                  dataIndex: 'projectCode',
+                  dataIndex: 'project',
                   ellipsis: true,
     
                 },
@@ -242,44 +261,56 @@
     
                 },
                 {
-                  title: '加工单号',
+                  title: '业务类型',
                   align:"center",
-                  dataIndex: 'workNo',
+                  dataIndex: 'type',
                   ellipsis: true,
     
                 },
                 {
-                  title: '改单版本',
+                  title: '制单人',
                   align:"center",
-                  dataIndex: 'version',
+                  dataIndex: 'createBy',
                   ellipsis: true,
     
                 },
                 {
-                  title: '来源',
+                  title: '审核人',
                   align:"center",
-                  dataIndex: 'sourceInfo',
+                  dataIndex: 'reviewer',
                   ellipsis: true,
     
                 },
                 {
-                  title: '业务类型',
+                  title: '工单号',
                   align:"center",
-                  dataIndex: 'type',
+                  dataIndex: 'workNo',
                   ellipsis: true,
     
                 },
                 {
-                  title: '制单人',
+                  title: '项目编码',
                   align:"center",
-                  dataIndex: 'createBy',
+                  dataIndex: 'projectCode',
                   ellipsis: true,
     
                 },
                 {
-                  title: '审批人',
+                  title: '来源标识',
                   align:"center",
-                  dataIndex: 'reviewer',
+                  dataIndex: 'sourceInfo',
+                  ellipsis: true,
+                },
+                {
+                  title: '改单版本',
+                  align:"center",
+                  dataIndex: 'version',
+                  ellipsis: true,
+                },
+                {
+                  title: '制单时间',
+                  align:"center",
+                  dataIndex: 'createTime',
                   ellipsis: true,
                 },
               ],
@@ -302,7 +333,7 @@
             //获取数据
             getTableList(){
               alertModal.loading("执行中,请稍后!")
-              getAction('/materialRequisition/madeMaterialRequisition/list',this.queryParam).then(res=>{
+              getAction('/productionOrder/madeProductionOrders/list',this.queryParam).then(res=>{
                         alertModal.closeLoading();
                         if(res.success){
                            this.dataSource =res.result.records
@@ -318,6 +349,8 @@
             },
             //查询
             searchQuery(){
+              this.selectedRow=[]
+              this.selectedRowKeys
               this.queryParam.pageNo=1
               this.getTableList()
             },
@@ -337,52 +370,19 @@
             },
             //新增
             addList(){
-               
+                this.$refs.productionTotalOrderAdd.visible=true
+                this.$refs.productionTotalOrderAdd.defaultMethod='add'
             },
-            //编辑
-            addEdit(){
+            editList(){
               if(this.selectedRowKeys.length==0){
                 this.$message.warning('请选择数据!')
               }else if(this.selectedRowKeys.length>1){
                 this.$message.warning('请选择一条数据!')
               }else{
-               
-              }
-            },
-            //审批
-            examineApprove(){
-              if(this.selectedRowKeys.length==0){
-                this.$message.warning('请选择数据!')
-              }else{
-                this.$confirm({
-                  title: '确认审批',
-                  content: '是否审批选中数据?',
-                  onOk:  ()=> {
-                    var ids =  this.selectedRowKeys.toString()
-                    alertModal.loading("执行中,请稍后!")
-                    getAction('/materialRequisition/madeMaterialRequisition/reviewerByIds',{ids:ids}).then(res=>{
-                        alertModal.closeLoading();
-                        if(res.success){
-                          var arr = res.message.split(";");
-                          var str = arr.join(' <br/> ');
-                          this.getTableList()
-                          Message({
-                            dangerouslyUseHTMLString: true,
-                            message: str,
-                            type: 'success'
-                          });
-                        }else{
-                          var arr = res.message.split(";");
-                          var str = arr.join(' <br/> ');
-                          Message({
-                            dangerouslyUseHTMLString: true,
-                            message: str,
-                            type: 'error'
-                          });
-                        }
-                    })
-                  }
-                })
+                this.$refs.productionTotalOrderAdd.allowEdit = this.selectedRows[0].state=='已批准'?'no':'yes'
+                this.$refs.productionTotalOrderAdd.visible=true
+                this.$refs.productionTotalOrderAdd.defaultMethod='edit'
+                this.$refs.productionTotalOrderAdd.getMainData(this.selectedRowKeys[0])
               }
             },
             //弃审
@@ -396,26 +396,14 @@
                   onOk:  ()=> {
                     var ids =  this.selectedRowKeys.toString()
                     alertModal.loading("执行中,请稍后!")
-                    getAction('/materialRequisition/madeMaterialRequisition/unReviewerByIds',{ids:ids}).then(res=>{
-                        alertModal.closeLoading();
-                        if(res.success){
-                          var arr = res.message.split(";");
-                          var str = arr.join(' <br/> ');
-                          this.getTableList()
-                          Message({
-                            dangerouslyUseHTMLString: true,
-                            message: str,
-                            type: 'success'
-                          });
-                        }else{
-                          var arr = res.message.split(";");
-                          var str = arr.join(' <br/> ');
-                          Message({
-                            dangerouslyUseHTMLString: true,
-                            message: str,
-                            type: 'error'
-                          });
-                        }
+                    getAction('/productionOrder/madeProductionOrders/unReviewerByIds',{ids:ids}).then(res=>{
+                      alertModal.closeLoading();
+                      if(res.success){
+                        this.getTableList()
+                        this.$message.success(res.message)
+                      }else{
+                        this.$message.error(res.message)
+                      }
                     })
                   }
                 })
@@ -423,52 +411,19 @@
             },
             //整单关闭
             entireClose(){
-              if(this.selectedRowKeys.length==0){
-                this.$message.warning('请选择数据!')
-              }else{
-                this.$confirm({
-                  title: '确认整单关闭',
-                  content: '是否整单关闭选中数据?',
-                  onOk:  ()=> {
-                    var ids =  this.selectedRowKeys.toString()
-                    alertModal.loading("执行中,请稍后!")
-                    getAction('/materialRequisition/madeMaterialRequisition/closeOrder',{ids:ids}).then(res=>{
-                        alertModal.closeLoading();
-                        if(res.success){
-                          var arr = res.message.split(";");
-                          var str = arr.join(' <br/> ');
-                          this.getTableList()
-                          Message({
-                            dangerouslyUseHTMLString: true,
-                            message: str,
-                            type: 'success'
-                          });
-                        }else{
-                          var arr = res.message.split(";");
-                          var str = arr.join(' <br/> ');
-                          Message({
-                            dangerouslyUseHTMLString: true,
-                            message: str,
-                            type: 'error'
-                          });
-                        }
-                    })
-                  }
-                })
-                
-              }
+              
             },
             //删除
             delecteList(){
               if(this.selectedRowKeys.length==0){
-                this.$manage.warning('请选择数据')
+                this.$message.warning('请勾选数据!')
               }else if(this.selectedRowKeys.length==1){
                 this.$confirm({
                   title: '确认删除',
                   content: '是否删除选中数据?',
                   onOk:  ()=>{
                       alertModal.loading("执行中,请稍后!")
-                      deleteAction('/materialRequisition/madeMaterialRequisition/delete', {id: this.selectedRowKeys[0]}).then((res) => {
+                      deleteAction('/productionOrder/madeProductionOrders/delete', {id: this.selectedRowKeys[0]}).then((res) => {
                           alertModal.closeLoading();
                           if (res.success) {
                             this.$message.success('删除成功!');
@@ -486,7 +441,7 @@
                   onOk:  ()=> {
                     var ids =  this.selectedRowKeys.toString()
                     alertModal.loading("执行中,请稍后!")
-                    deleteAction('/materialRequisition/madeMaterialRequisition/deleteBatch', {ids: ids}).then((res) => {
+                    deleteAction('/productionOrder/madeProductionOrders/deleteBatch', {ids: ids}).then((res) => {
                         alertModal.closeLoading();
                         if (res.success) {
                             this.$message.success('删除成功!');
@@ -499,6 +454,29 @@
                 })
               }
             },
+            examineApprove(){
+              if(this.selectedRowKeys.length==0){
+                this.$message.warning('请选择数据!')
+              }else{
+                this.$confirm({
+                  title: '确认审批',
+                  content: '是否审批选中数据?',
+                  onOk:  ()=> {
+                    var ids =  this.selectedRowKeys.toString()
+                    alertModal.loading("执行中,请稍后!")
+                    getAction('productionOrder/madeProductionOrders/reviewerByIds',{ids:ids}).then(res=>{
+                        alertModal.closeLoading();
+                        if(res.success){
+                          this.getTableList()
+                          this.$message.success(res.message)
+                         }else{
+                          this.$message.error(res.message)
+                         }
+                    })
+                  }
+               })
+              }
+            },
             //勾选
             onSelectChange(selectedRowKeys, selectionRows) {
               this.selectedRowKeys = selectedRowKeys;
@@ -519,46 +497,6 @@
                 }
               }       
            },
-           //导出
-           exportList(fileName){
-            this.$confirm({
-              title: '确认导出',
-              content: '是否导出数据?',
-              onOk:  ()=> {
-                alertModal.loading("执行中,请稍后!")
-                downFile('/materialRequisition/madeMaterialRequisition/exportXls', this.queryParam).then(data => {
-                  alertModal.closeLoading();
-                  if (!data) {
-                    this.$message.warning('文件下载失败')
-                    return
-                  }
-                  if (typeof window.navigator.msSaveBlob !== 'undefined') {
-                    window.navigator.msSaveBlob(new Blob([data], { type: 'application/vnd.ms-excel' }), fileName + '.xlsx')
-                  } else {
-                    let url = window.URL.createObjectURL(new Blob([data], { type: 'application/vnd.ms-excel' }))
-                    let link = document.createElement('a')
-                    link.style.display = 'none'
-                    link.href = url
-                    link.setAttribute('download', fileName + '.xlsx')
-                    document.body.appendChild(link)
-                    link.click()
-                    document.body.removeChild(link) // 下载完成移除元素
-                    window.URL.revokeObjectURL(url) // 释放掉blob对象
-                  }
-               })   
-             }
-            })
-          },
-          //请购单
-          synchronizationData(){
-            this.$confirm({
-              title: '确认请购单',
-              content: '是否点击请购单?',
-              onOk:  ()=> {
-                
-             }
-            })
-          }
         }
     }
       </script>