ソースを参照

库存新增筛选条件-预留混合

Shan9312 1 年間 前
コミット
a1a50f6f3a

+ 1 - 0
.env.development

@@ -7,6 +7,7 @@ ENV = 'development'
 # VUE_APP_BASE_API = 'http://kpttest.kptyun.com/'
 # 白少后台本地
 VUE_APP_BASE_API = 'http://192.168.1.233/'
+
 # VUE_APP_BASE_API = 'http://192.168.1.93/'
 # vue-cli uses the VUE_CLI_BABEL_TRANSPILE_MODULES environment variable,
 # to control whether the babel-plugin-dynamic-import-node plugin is enabled.

+ 262 - 259
src/views/statisticalAnalysis/inventoryManagement/pasture/index.vue

@@ -57,9 +57,10 @@
             <el-option v-for="item in statisticalTypeList2" :key="item.id" :label="item.name" :value="item.id" />
           </el-select>
           <el-checkbox v-model="tab2.table.getdataListParm.checked" :true-label="1" :false-label="0" style="margin-right:10px;" @change="changeChecked">误差</el-checkbox>
-          <el-select v-model="tab2.table.getdataListParm.parammaps.ftType" placeholder="是否拆分小料" class="filter-item" style="width: 130px;">
-            <el-option v-for="item in isSplitsmallmaterialsList" :key="item.id" :label="item.name" :value="item.id" />
-          </el-select>
+
+          <el-select v-model="tab2.table.getdataListParm.parammaps.ftType" placeholder="是否拆分小料" class="filter-item" style="width: 130px;">
+            <el-option v-for="item in isSplitsmallmaterialsList" :key="item.id" :label="item.name" :value="item.id" />
+          </el-select>
           <el-input v-if="tab2.isRadio1" v-model="tab2.table.getdataListParm.parammaps.fname" class="filter-item filter-item1" style="width: 200px;" placeholder="牲畜类别" />
           <el-input v-if="tab2.isRadio2" v-model="tab2.table.getdataListParm.parammaps.fname" class="filter-item filter-item1" style="width: 200px;" placeholder="栏舍名称" />
           <el-input v-if="tab2.isRadio3" v-model="tab2.table.getdataListParm.parammaps.fname" class="filter-item filter-item1" style="width: 200px;" placeholder="日期" />
@@ -68,27 +69,28 @@
           <el-input v-if="tab2.isRadio6" v-model="tab2.table.getdataListParm.parammaps.fname" class="filter-item filter-item1" style="width: 200px;" placeholder="车次" />
           <el-select v-model="tab2.table.getdataListParm.parammaps.typea" clearable placeholder="列表显示" class="filter-item" style="width: 120px;">
             <el-option v-for="item in displayList" :key="item.id" :label="item.name" :value="item.id" />
-          </el-select>
-          <el-select v-model="tab2.table.getdataListParm.parammaps.times" clearable filterable placeholder="班次" class="filter-item" style="width: 120px;">
-            <el-option v-for="item in frequencyList" :key="item.id" :label="item.name" :value="item.id" />
           </el-select>
-          <el-button class="successBorder" @click="form_search('second')">查询</el-button>
+          <el-select v-model="tab2.table.getdataListParm.parammaps.times" clearable filterable placeholder="班次" class="filter-item" style="width: 120px;">
+            <el-option v-for="item in frequencyList" :key="item.id" :label="item.name" :value="item.id" />
+          </el-select>
+          <el-checkbox v-model="tab2.table.getdataListParm.premix" :true-label="1" :false-label="0" style="margin-right:10px;" @change="changeChecked">去除预混配方</el-checkbox>
+          <el-button class="successBorder" style="margin-top: 10px;"  @click="form_search('second')">查询</el-button>
           <el-button class="export" style="float: right;margin-right: 5px;margin-top:10px;" icon="el-icon-upload2" @click="handleExport('tab2')">导出</el-button>
           <el-button class="export" style="float: right;margin-right: 5px;margin-top:10px;" icon="el-icon-upload2" @click="handlesWitch()">切换展示</el-button>
-        </div>
-
+        </div>
+
         <div v-if="isTable1">
-        <div v-if="tab2.table.tableConfig.length > 8">
-          <u-table v-if="isDispayTable2" ref="plTable2" v-loading="tab2.table.listLoading" :row-style="rowStyle" :cell-style="cellStyle" :max-height="myHeight2" use-virtual :row-height="rowHeight" border class="elTable table-fixed plTable2">
-            <!-- 第一个表头 -->
-            <u-table-column v-for="(header1, index1) in tab2.table.tableConfig" :key="'header1-' + index1" :label="header1.label" align="center" :fixed="index1==0" :show-overflow-tooltip="header1.showOverflow" >
-              <!-- 第二个表头 -->
-              <u-table-column v-for="(header2, index2) in header1.children" :key="'header2-' + index2" :label="header2.label" align="center" :fixed="index2==0" :show-overflow-tooltip="header2.showOverflow">
-                <!-- 第三个表头 -->
-                <u-table-column v-for="(header3, index3) in header2.children" :key="'header3-' + index3" :label="header3.label" :prop="header3.prop" align="center">
-                </u-table-column>
-              </u-table-column>
-            </u-table-column>
+        <div v-if="tab2.table.tableConfig.length > 8">
+          <u-table v-if="isDispayTable2" ref="plTable2" v-loading="tab2.table.listLoading" :row-style="rowStyle" :cell-style="cellStyle" :max-height="myHeight2" use-virtual :row-height="rowHeight" border class="elTable table-fixed plTable2">
+            <!-- 第一个表头 -->
+            <u-table-column v-for="(header1, index1) in tab2.table.tableConfig" :key="'header1-' + index1" :label="header1.label" align="center" :fixed="index1==0" :show-overflow-tooltip="header1.showOverflow" >
+              <!-- 第二个表头 -->
+              <u-table-column v-for="(header2, index2) in header1.children" :key="'header2-' + index2" :label="header2.label" align="center" :fixed="index2==0" :show-overflow-tooltip="header2.showOverflow">
+                <!-- 第三个表头 -->
+                <u-table-column v-for="(header3, index3) in header2.children" :key="'header3-' + index3" :label="header3.label" :prop="header3.prop" align="center">
+                </u-table-column>
+              </u-table-column>
+            </u-table-column>
           </u-table>
           <!-- <u-table v-if="isDispayTable2" ref="plTable2" v-loading="tab2.table.listLoading" :row-style="rowStyle" :cell-style="cellStyle" :max-height="myHeight2" use-virtual :row-height="rowHeight" border class="elTable table-fixed plTable2">
             <u-table-column v-for="(item,index) in tab2.table.tableConfig" :key="index" :label="item.label" :show-overflow-tooltip="item.showOverflow"  :prop="item.prop" align="center" :fixed="index==0">
@@ -98,17 +100,17 @@
             </u-table-column>
           </u-table> -->
         </div>
-        <div v-else>
-          <u-table v-if="isDispayTable2" ref="plTable2" v-loading="tab2.table.listLoading" :row-style="rowStyle" :cell-style="cellStyle" :max-height="myHeight2" use-virtual :row-height="rowHeight" border class="elTable table-fixed plTable2">
-            <!-- 第一个表头 -->
-            <u-table-column v-for="(header1, index1) in tab2.table.tableConfig" :key="'header1-' + index1" :label="header1.label" align="center" :fixed="index1==0" :show-overflow-tooltip="header1.showOverflow">
-              <!-- 第二个表头 -->
-              <u-table-column v-for="(header2, index2) in header1.children" :key="'header2-' + index2" :label="header2.label" align="center" :fixed="index2==0" :show-overflow-tooltip="header2.showOverflow">
-                <!-- 第三个表头 -->
-                <u-table-column v-for="(header3, index3) in header2.children" :key="'header3-' + index3" :label="header3.label" :prop="header3.prop" align="center">
-                </u-table-column>
-              </u-table-column>
-            </u-table-column>
+        <div v-else>
+          <u-table v-if="isDispayTable2" ref="plTable2" v-loading="tab2.table.listLoading" :row-style="rowStyle" :cell-style="cellStyle" :max-height="myHeight2" use-virtual :row-height="rowHeight" border class="elTable table-fixed plTable2">
+            <!-- 第一个表头 -->
+            <u-table-column v-for="(header1, index1) in tab2.table.tableConfig" :key="'header1-' + index1" :label="header1.label" align="center" :fixed="index1==0" :show-overflow-tooltip="header1.showOverflow">
+              <!-- 第二个表头 -->
+              <u-table-column v-for="(header2, index2) in header1.children" :key="'header2-' + index2" :label="header2.label" align="center" :fixed="index2==0" :show-overflow-tooltip="header2.showOverflow">
+                <!-- 第三个表头 -->
+                <u-table-column v-for="(header3, index3) in header2.children" :key="'header3-' + index3" :label="header3.label" :prop="header3.prop" align="center">
+                </u-table-column>
+              </u-table-column>
+            </u-table-column>
           </u-table>
           <!-- <u-table v-if="isDispayTable2" ref="plTable2" v-loading="tab2.table.listLoading" :row-style="rowStyle" :cell-style="cellStyle" :max-height="myHeight2" use-virtual :row-height="rowHeight" border class="elTable table-fixed plTable2">
             <u-table-column v-for="(item,index) in tab2.table.tableConfig" :key="index" :label="item.label" :show-overflow-tooltip="item.showOverflow"  :prop="item.prop" align="center">
@@ -120,13 +122,13 @@
         </div>
 
         <span v-if="tab2.table.listLoading == false && tab2.table.list.length>0" style="margin-right: 30px;margin-top: 10px;font-size: 14px;">共{{ tab2.table.total }}条</span>
-        </div>
-        <div v-else>
-          <!-- 新展示 -->
-          <u-table :span-method="objectSpanMethod" ref="plTable22" v-loading="tab2.table.listLoading" :row-style="rowStyle" :cell-style="cellStyle" :max-height="myHeight2" use-virtual :row-height="rowHeight" border class="elTable table-fixed plTable2">
-            <u-table-column v-for="(column, index) in tableColumns" :key="index" :prop="column.prop" :label="column.label" align="center"></u-table-column>
-          </u-table>
-        </div>
+        </div>
+        <div v-else>
+          <!-- 新展示 -->
+          <u-table :span-method="objectSpanMethod" ref="plTable22" v-loading="tab2.table.listLoading" :row-style="rowStyle" :cell-style="cellStyle" :max-height="myHeight2" use-virtual :row-height="rowHeight" border class="elTable table-fixed plTable2">
+            <u-table-column v-for="(column, index) in tableColumns" :key="index" :prop="column.prop" :label="column.label" align="center"></u-table-column>
+          </u-table>
+        </div>
       </el-tab-pane>
       <el-tab-pane label="价格分析" name="third">
         <div class="search">
@@ -212,30 +214,30 @@ export default {
           }
           return time.getTime() > Date.now()
         }
-      },
-      pickerOptions2: {
-        onPick: ({ maxDate, minDate }) => {
-          this.pickerMinDate = minDate.getTime()
-          if (maxDate) {
-            this.pickerMinDate = ''
-          }
-        },
-        // 限制不能选择今天之后的日期
-        disabledDate: (time) => {
-          if (this.pickerMinDate !== '') {
-            const one = 31 * 24 * 3600 * 1000
-            const minTime = this.pickerMinDate - one
-            let maxTime = this.pickerMinDate + one
-            // if (maxTime > new Date()) {
-            //   maxTime = new Date()
-            // }
-            return time.getTime() < minTime || time.getTime() > maxTime
-          }
-          // return time.getTime() > Date.now()
-        }
+      },
+      pickerOptions2: {
+        onPick: ({ maxDate, minDate }) => {
+          this.pickerMinDate = minDate.getTime()
+          if (maxDate) {
+            this.pickerMinDate = ''
+          }
+        },
+        // 限制不能选择今天之后的日期
+        disabledDate: (time) => {
+          if (this.pickerMinDate !== '') {
+            const one = 31 * 24 * 3600 * 1000
+            const minTime = this.pickerMinDate - one
+            let maxTime = this.pickerMinDate + one
+            // if (maxTime > new Date()) {
+            //   maxTime = new Date()
+            // }
+            return time.getTime() < minTime || time.getTime() > maxTime
+          }
+          // return time.getTime() > Date.now()
+        }
       },
       fileComment: [{ 'label': '商务文件评分', 'children': [{ 'label': '1' }, { 'label': '2' }, { 'label': '管理员' }] }],
-      displayList:[{id:'1',name:'理论'},{id:'2',name:'实际'}],//列表显示
+      displayList:[{id:'1',name:'理论'},{id:'2',name:'实际'}],//列表显示
       isSplitsmallmaterialsList:[{id:'0',name:'拆分'},{id:'1',name:'不拆分'}],
       activeName: 'first',
       tab: {
@@ -279,8 +281,8 @@ export default {
               stopTime: parseTime(new Date(), '{y}-{m}-{d}'),
               inputDatetime: [new Date(), new Date()],
               fname: '',
-              typea:'',
-              times:'',
+              typea:'',
+              times:'',
               ftType:'1'
             }
           },
@@ -337,22 +339,22 @@ export default {
       isDispayTable3:false,
       statisticalTypeList2: [{ id: '1', name: '牲畜类别' }, { id: '2', name: '栏舍名称' }, { id: '3', name: '日期' }, { id: '4', name: 'TMR设备编号' }, { id: '5', name: 'TMR班次' }, { id: '6', name: '车次' }],
       statisticalTypeList3: [{ id: '1', name: '牲畜类别' }, { id: '2', name: '栏舍名称' }, { id: '3', name: '日期' }, { id: '4', name: 'TMR设备编号' }],
-      frequencyList: [], // 班次
-      isTable1:true,
-      spanObj: {},
-      mergekeys: ['A', 'B'],
-      tableColumns:[],
-      myData:{},
-      columnsToTotal: ['10-配种']
+      frequencyList: [], // 班次
+      isTable1:true,
+      spanObj: {},
+      mergekeys: ['A', 'B'],
+      tableColumns:[],
+      myData:{},
+      columnsToTotal: ['10-配种']
     }
   },
   created() {
-    this.getTimeFn()
+    this.getTimeFn()
     this.getIsDisplay()
   },
-  methods: {
-    getIsDisplay() {
-      const url = 'authdata/GetDataByName'
+  methods: {
+    getIsDisplay() {
+      const url = 'authdata/GetDataByName'
       const data = {
         name: 'getSysoptEnable',
         page: 1,
@@ -363,33 +365,33 @@ export default {
           pastureid: Cookies.get('pastureid'),
           inforname: 'times'
         }
-      }
-      postJson(url, data).then(response => {
-        console.log(response.data.list[0].inforvalue)
-        if (response.data.list[0].inforvalue == 1) {
-          this.frequencyList = [{ id: 1, name: '第一班' }]
-        } else if (response.data.list[0].inforvalue == 2) {
-          this.frequencyList = [
-            { id: 1, name: '第一班' }, { id: 2, name: '第二班' }
-          ]
-        } else if (response.data.list[0].inforvalue == 3) {
-          this.frequencyList = [
-            { id: 1, name: '第一班' }, { id: 2, name: '第二班' }, { id: 3, name: '第三班' }
-          ]
-        } else if (response.data.list[0].inforvalue == 4) {
-          this.frequencyList = [
-            { id: 1, name: '第一班' }, { id: 2, name: '第二班' }, { id: 3, name: '第三班' }, { id: 4, name: '第四班' }
-          ]
-        }else if (response.data.list[0].inforvalue == 5) {
-          this.frequencyList = [
-            { id: 1, name: '第一班' }, { id: 2, name: '第二班' }, { id: 3, name: '第三班' }, { id: 4, name: '第四班' }, { id: 5, name: '第五班' }
-          ]
-        }else if (response.data.list[0].inforvalue == 6) {
-          this.frequencyList = [
-            { id: 1, name: '第一班' }, { id: 2, name: '第二班' }, { id: 3, name: '第三班' }, { id: 4, name: '第四班' }, { id: 5, name: '第五班' }, { id: 6, name: '第六班' },
-          ]
-        }
-      })
+      }
+      postJson(url, data).then(response => {
+        console.log(response.data.list[0].inforvalue)
+        if (response.data.list[0].inforvalue == 1) {
+          this.frequencyList = [{ id: 1, name: '第一班' }]
+        } else if (response.data.list[0].inforvalue == 2) {
+          this.frequencyList = [
+            { id: 1, name: '第一班' }, { id: 2, name: '第二班' }
+          ]
+        } else if (response.data.list[0].inforvalue == 3) {
+          this.frequencyList = [
+            { id: 1, name: '第一班' }, { id: 2, name: '第二班' }, { id: 3, name: '第三班' }
+          ]
+        } else if (response.data.list[0].inforvalue == 4) {
+          this.frequencyList = [
+            { id: 1, name: '第一班' }, { id: 2, name: '第二班' }, { id: 3, name: '第三班' }, { id: 4, name: '第四班' }
+          ]
+        }else if (response.data.list[0].inforvalue == 5) {
+          this.frequencyList = [
+            { id: 1, name: '第一班' }, { id: 2, name: '第二班' }, { id: 3, name: '第三班' }, { id: 4, name: '第四班' }, { id: 5, name: '第五班' }
+          ]
+        }else if (response.data.list[0].inforvalue == 6) {
+          this.frequencyList = [
+            { id: 1, name: '第一班' }, { id: 2, name: '第二班' }, { id: 3, name: '第三班' }, { id: 4, name: '第四班' }, { id: 5, name: '第五班' }, { id: 6, name: '第六班' },
+          ]
+        }
+      })
     },
     getTimeFn() {
       const that = this
@@ -497,78 +499,78 @@ export default {
       setTimeout(()=>{
         this.isDispayTable2 = true
         this.$nextTick(() => {
-          let myList = []
-          if(this.isTable1){
-            this.tab2.table.getdataListParm.parammaps.mode = 0
-          }else{
-            this.tab2.table.getdataListParm.parammaps.mode = 1
+          let myList = []
+          if(this.isTable1){
+            this.tab2.table.getdataListParm.parammaps.mode = 0
+          }else{
+            this.tab2.table.getdataListParm.parammaps.mode = 1
           }
-          GetReportform(this.tab2.table.getdataListParm).then(response => {
-            if(this.isTable1){
-              if (response.data !== null && response.data.data !== null && response.data.data1 !== null) {
-                this.tab2.table.data = response.data.data
-                response.data.feedcode.push('')
-                response.data.feedcode.unshift('饲料编码')
-                for (let i = 0; i < response.data.list.data2.length; i++) {
-                  // console.log(response.data.list.data2[i],'===label')
-                  for (let j = 0; j < response.data.list.data1.length; j++) {
-                    for (let a = 0; a < response.data.list.data2[i].children.length; a++) {
-                      if (response.data.list.data1[j][response.data.list.data2[i].children[a].prop] == undefined || response.data.list.data1[j][response.data.list.data2[i].children[a].prop] == null || response.data.list.data1[j][response.data.list.data2[i].children[a].prop] == '') {
-                        response.data.list.data1[j][response.data.list.data2[i].children[a].prop] = 0
-                      }
-                    }
-                  }
-                  if (response.data.list.data2[i].children.length > 1) {
-                    for (let j = 0; j < response.data.list.data2[i].children.length; j++) {
-                      if (response.data.list.data2[i].children[j].label == '理论' || response.data.list.data2[i].children[j].label == '实际') {
-                        this.$set(response.data.list.data2[i].children[j], 'width', '80px')
-                      } else {
-                        this.$set(response.data.list.data2[i].children[j], 'width', '80px')
-                      }
-                    }
-                  } else {
-                    this.$set(response.data.list.data2[i].children[0], 'width', '80px')
-                  }
-                }
-                let list = response.data.list.data2
-                let code = response.data.feedcode
-                const headers = []
-                for(let i=0;i<list.length;i++){
-                  for(let j=0;j<code.length;j++){
-                    if(i== j){
-                      let obj = {
-                        label:code[j],
-                        children:[
-                          list[i]
-                        ]
-                      }
-                      headers.push(obj)
-                    }
-                  }
-                }
-                myList = response.data.list.data1
-                this.tab2.table.list = response.data.list.data1
-                this.tab2.table.tableConfig = headers
-                this.tab2.table.total = response.data.list.data1.length
-
-                console.log('库存统计-用料分析this.tab2.table.data', response.data.data)
-                console.log('库存统计-用料分析this.tab2.table.feedcode', response.data.feedcode)
-                console.log('库存统计-用料分析this.tab2.table.list', response.data.list.data1)
-                console.log('库存统计-用料分析this.tab2.table.tableConfig',response.data.list.data2)
-              } else {
-                myList = []
-                this.tab2.table.list = []
-                this.tab2.table.tableConfig = []
-              }
-
-              console.log(this.tab2.table.list.length)
-              this.$refs.plTable2.reloadData(myList)
-            }else{
-              this.myData = response.data
-              this.tableColumns = response.data.columns;
-              this.tableData = response.data.data;
-              this.$refs.plTable22.reloadData(this.tableData)
-              this.handleSpan()
+          GetReportform(this.tab2.table.getdataListParm).then(response => {
+            if(this.isTable1){
+              if (response.data !== null && response.data.data !== null && response.data.data1 !== null) {
+                this.tab2.table.data = response.data.data
+                response.data.feedcode.push('')
+                response.data.feedcode.unshift('饲料编码')
+                for (let i = 0; i < response.data.list.data2.length; i++) {
+                  // console.log(response.data.list.data2[i],'===label')
+                  for (let j = 0; j < response.data.list.data1.length; j++) {
+                    for (let a = 0; a < response.data.list.data2[i].children.length; a++) {
+                      if (response.data.list.data1[j][response.data.list.data2[i].children[a].prop] == undefined || response.data.list.data1[j][response.data.list.data2[i].children[a].prop] == null || response.data.list.data1[j][response.data.list.data2[i].children[a].prop] == '') {
+                        response.data.list.data1[j][response.data.list.data2[i].children[a].prop] = 0
+                      }
+                    }
+                  }
+                  if (response.data.list.data2[i].children.length > 1) {
+                    for (let j = 0; j < response.data.list.data2[i].children.length; j++) {
+                      if (response.data.list.data2[i].children[j].label == '理论' || response.data.list.data2[i].children[j].label == '实际') {
+                        this.$set(response.data.list.data2[i].children[j], 'width', '80px')
+                      } else {
+                        this.$set(response.data.list.data2[i].children[j], 'width', '80px')
+                      }
+                    }
+                  } else {
+                    this.$set(response.data.list.data2[i].children[0], 'width', '80px')
+                  }
+                }
+                let list = response.data.list.data2
+                let code = response.data.feedcode
+                const headers = []
+                for(let i=0;i<list.length;i++){
+                  for(let j=0;j<code.length;j++){
+                    if(i== j){
+                      let obj = {
+                        label:code[j],
+                        children:[
+                          list[i]
+                        ]
+                      }
+                      headers.push(obj)
+                    }
+                  }
+                }
+                myList = response.data.list.data1
+                this.tab2.table.list = response.data.list.data1
+                this.tab2.table.tableConfig = headers
+                this.tab2.table.total = response.data.list.data1.length
+
+                console.log('库存统计-用料分析this.tab2.table.data', response.data.data)
+                console.log('库存统计-用料分析this.tab2.table.feedcode', response.data.feedcode)
+                console.log('库存统计-用料分析this.tab2.table.list', response.data.list.data1)
+                console.log('库存统计-用料分析this.tab2.table.tableConfig',response.data.list.data2)
+              } else {
+                myList = []
+                this.tab2.table.list = []
+                this.tab2.table.tableConfig = []
+              }
+
+              console.log(this.tab2.table.list.length)
+              this.$refs.plTable2.reloadData(myList)
+            }else{
+              this.myData = response.data
+              this.tableColumns = response.data.columns;
+              this.tableData = response.data.data;
+              this.$refs.plTable22.reloadData(this.tableData)
+              this.handleSpan()
             }
             setTimeout(() => {
               this.tab2.table.listLoading = false
@@ -576,7 +578,7 @@ export default {
           })
         })
       })
-    },
+    },
 
     changeRadio2() {
       console.log(this.tab2.radio)
@@ -862,53 +864,53 @@ export default {
     },
     changeChecked(item) {
       this.form_search('second')
-    },
-    handlesWitch(item){
-      this.isTable1 = !this.isTable1
-        this.getTab2List()
-    },
-    handleSpan() {
-      this.mergekeys.forEach(key => {
-        this.spanObj[key] = []
-        let position = 0
-        this.tableData.forEach((item, index) => {
-          if (index === 0) {
-            this.spanObj[key].push(1)
-            position = 0
-          } else {
-            if (key == 'B') {
-              if (this.tableData[index][key] === this.tableData[index - 1][key] && this.tableData[index]['A'] === this.tableData[index - 1]['A']) {
-                this.spanObj[key][position] += 1
-                this.spanObj[key].push(0)
-              } else {
-                this.spanObj[key].push(1)
-                position = index
-              }
-            } else {
-              if (this.tableData[index][key] === this.tableData[index - 1][key]) {
-                this.spanObj[key][position] += 1
-                this.spanObj[key].push(0)
-              } else {
-                this.spanObj[key].push(1)
-                position = index
-              }
-            }
-          }
-        })
-      })
-    },
-    objectSpanMethod({ row, column, rowIndex, columnIndex }) {
-      for (let i = 0; i < this.mergekeys.length; i++) {
-        if (column.property === this.mergekeys[i]) {
-          let _row = this.spanObj[this.mergekeys[i]][rowIndex]
-          let _col = _row > 0 ? 1 : 0
-          console.log(_row,'_row1')
-          return {
-            rowspan: _row,
-            colspan: _col
-          }
-        }
-      }
+    },
+    handlesWitch(item){
+      this.isTable1 = !this.isTable1
+        this.getTab2List()
+    },
+    handleSpan() {
+      this.mergekeys.forEach(key => {
+        this.spanObj[key] = []
+        let position = 0
+        this.tableData.forEach((item, index) => {
+          if (index === 0) {
+            this.spanObj[key].push(1)
+            position = 0
+          } else {
+            if (key == 'B') {
+              if (this.tableData[index][key] === this.tableData[index - 1][key] && this.tableData[index]['A'] === this.tableData[index - 1]['A']) {
+                this.spanObj[key][position] += 1
+                this.spanObj[key].push(0)
+              } else {
+                this.spanObj[key].push(1)
+                position = index
+              }
+            } else {
+              if (this.tableData[index][key] === this.tableData[index - 1][key]) {
+                this.spanObj[key][position] += 1
+                this.spanObj[key].push(0)
+              } else {
+                this.spanObj[key].push(1)
+                position = index
+              }
+            }
+          }
+        })
+      })
+    },
+    objectSpanMethod({ row, column, rowIndex, columnIndex }) {
+      for (let i = 0; i < this.mergekeys.length; i++) {
+        if (column.property === this.mergekeys[i]) {
+          let _row = this.spanObj[this.mergekeys[i]][rowIndex]
+          let _col = _row > 0 ? 1 : 0
+          console.log(_row,'_row1')
+          return {
+            rowspan: _row,
+            colspan: _col
+          }
+        }
+      }
     },
     handleExport(item) {
       if (item == 'tab1') {
@@ -934,7 +936,7 @@ export default {
             excel.export_json_to_excel({ multiHeader, multiHeader2, data, filename: '库存统计', merges })
           })
         })
-      } else if (item == 'tab2') {
+      } else if (item == 'tab2') {
         if(this.isTable1){
           console.log('用料分析导出数据', this.tab2.table.list)
           console.log('用料分析导出表头', this.tab2.table.tableConfig)
@@ -951,10 +953,10 @@ export default {
           for (let i = 0; i < this.tab2.table.tableConfig.length; i++) {
             exportTitle1.push(this.tab2.table.tableConfig[i].label)
             for (let j = 0; j < this.tab2.table.tableConfig[i].children.length; j++) {
-              exportTitle2.push(this.tab2.table.tableConfig[i].children[j].label)
-              for(let a = 0;a<this.tab2.table.tableConfig[i].children[j].children.length;a++){
-                exportTitle3.push(this.tab2.table.tableConfig[i].children[j].children[a].label)
-                filterValArr.push(this.tab2.table.tableConfig[i].children[j].children[a].prop)
+              exportTitle2.push(this.tab2.table.tableConfig[i].children[j].label)
+              for(let a = 0;a<this.tab2.table.tableConfig[i].children[j].children.length;a++){
+                exportTitle3.push(this.tab2.table.tableConfig[i].children[j].children[a].label)
+                filterValArr.push(this.tab2.table.tableConfig[i].children[j].children[a].prop)
               }
               // filterValArr.push(this.tab2.table.tableConfig[i].children[j].prop)
             }
@@ -971,11 +973,11 @@ export default {
                 headerArr.push(exportTitle1[i], '', '', '')
               } else {
                 headerArr.push(exportTitle1[i])
-              }
-              if (i > 0) {
-                headerArr2.push(exportTitle2[i], '', '', '')
-              } else {
-                headerArr2.push(exportTitle2[i])
+              }
+              if (i > 0) {
+                headerArr2.push(exportTitle2[i], '', '', '')
+              } else {
+                headerArr2.push(exportTitle2[i])
               }
             }
           } else {
@@ -985,11 +987,11 @@ export default {
                   headerArr.push(exportTitle1[i], '')
                 } else {
                   headerArr.push(exportTitle1[i])
-                }
-                if (i > 0) {
-                  headerArr2.push(exportTitle2[i], '')
-                } else {
-                  headerArr2.push(exportTitle2[i])
+                }
+                if (i > 0) {
+                  headerArr2.push(exportTitle2[i], '')
+                } else {
+                  headerArr2.push(exportTitle2[i])
                 }
               }
             }else{
@@ -1005,8 +1007,8 @@ export default {
               const multiHeader = [
                 headerArr
               ]
-              const multiHeader2 = [
-                headerArr2
+              const multiHeader2 = [
+                headerArr2
               ]
               const tHeader = exportTitle3
               const filterVal = filterValArr
@@ -1029,26 +1031,26 @@ export default {
               const merges = []
               excel.export_json_to_excel({ multiHeader, multiHeader2, header: tHeader, data, filename: '用料分析', merges })
             })
-          }
-        }else{
-          var startTime = this.tab2.table.getdataListParm.parammaps.startTime
-          var stopTime = this.tab2.table.getdataListParm.parammaps.stopTime
-          var title = '用料分析-'+startTime+'-' +stopTime
-          var tHeader = []
-          var filterVal = []
-          for (let i = 0; i < this.tableColumns.length; i++) {
-            tHeader.push(this.tableColumns[i].label)
-            filterVal.push(this.tableColumns[i].prop)
-          }
-          var excelDatas = [
-            {
-              tHeader: tHeader,
-              filterVal: filterVal,
-              tableDatas: this.tableData,
-              sheetName: 'Sheet'
-            }
-          ]
-          json2excel(excelDatas, title, true, 'xlsx')
+          }
+        }else{
+          var startTime = this.tab2.table.getdataListParm.parammaps.startTime
+          var stopTime = this.tab2.table.getdataListParm.parammaps.stopTime
+          var title = '用料分析-'+startTime+'-' +stopTime
+          var tHeader = []
+          var filterVal = []
+          for (let i = 0; i < this.tableColumns.length; i++) {
+            tHeader.push(this.tableColumns[i].label)
+            filterVal.push(this.tableColumns[i].prop)
+          }
+          var excelDatas = [
+            {
+              tHeader: tHeader,
+              filterVal: filterVal,
+              tableDatas: this.tableData,
+              sheetName: 'Sheet'
+            }
+          ]
+          json2excel(excelDatas, title, true, 'xlsx')
         }
       } else if (item == 'tab3') {
         console.log('价格分析导出')
@@ -1122,6 +1124,7 @@ export default {
 }
 </script>
 <style lang="scss" scoped>
+
   .search{
     margin-bottom:10px;
     .el-radio{margin-right: 10px;}
@@ -1143,8 +1146,8 @@ export default {
   }
   .plTableBox .el-table td.is-hidden>*, .plTableBox .el-table th.is-hidden>*{
     visibility:inherit;
-  }
-  .plTableBox .el-table th>.cell{
-    white-space: pre-wrap;
+  }
+  .plTableBox .el-table th>.cell{
+    white-space: pre-wrap;
   }
 </style>