瀏覽代碼

Merge branch 'feature/sap_inventory_add' of duanxiaoduan/tmr-admin into release/v1.0.2

duanxiaoduan 1 年之前
父節點
當前提交
b9f517ad5d

+ 1 - 1
.env.development

@@ -6,7 +6,7 @@ ENV = 'development'
 # VUE_APP_BASE_API = 'http://192.168.1.70:8082/'
 # VUE_APP_BASE_API = 'http://kpttest.kptyun.com/'
 # 白少后台本地
-VUE_APP_BASE_API = 'http://192.168.1.77:8081/'
+VUE_APP_BASE_API = 'http://192.168.1.56:8081/'
 # 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.

+ 151 - 2
src/views/basicData/sapLog/index.vue

@@ -26,7 +26,12 @@
         class="elTable table-fixed"
       >
         <el-table-column label="牧场" min-width="90px" align="center" prop="pastureName" />
-        <el-table-column label="数据类型" min-width="90px" align="center"  prop="msgtypeName" />
+        <el-table-column label="数据类型" min-width="90px" align="center"  prop="msgtypeName">
+          <template slot-scope="scope">
+            <span >{{scope.row.msgtypeName}}</span>
+            <!-- <span @click="clickType(scope.row)">{{scope.row.msgtypeName}}</span> -->
+          </template>
+        </el-table-column>
         <el-table-column label="请求参数" min-width="120px" align="center">
           <template slot-scope="scope">
               <el-tooltip placement="top" :open-delay="1000">
@@ -52,7 +57,131 @@
         <el-table-column label="请求地址" min-width="90px" align="center" prop="url" />
         <el-table-column label="创建时间" min-width="90px" align="center" prop="createTime" />
       </el-table>
-    </div>
+    </div>
+
+    <!-- 数据类型 -->
+    <el-dialog :title="textMap[type.dialogStatus]"  :visible.sync="type.dialogFormVisible" :close-on-click-modal="false" width="50%">
+      <div class="app-type">
+        <div class="table" v-if="type.temp.msgtypeName == '搅拌'">
+          <el-table
+            :key="type.table.tableKey"
+            v-loading="type.table.listLoading"
+            element-loading-text="给我一点时间"
+            :data="type.table.list"
+            border
+            fit
+            highlight-current-row
+            style="width: 100%;"
+            :row-style="rowStyle"
+            :cell-style="cellStyle"
+            class="elTable table-fixed"
+          >
+            <el-table-column label="序号" min-width="90px" align="center" prop="pastureName" />
+            <el-table-column label="日期" min-width="90px" align="center" prop="status" />
+            <el-table-column label="班次" min-width="90px" align="center" prop="msgtext" />
+            <el-table-column label="车次" min-width="90px" align="center" prop="url" />
+            <el-table-column label="配方" min-width="90px" align="center" prop="createTime" />
+            <el-table-column label="原料" min-width="90px" align="center" prop="createTime" />
+            <el-table-column label="原料顺序" min-width="90px" align="center" prop="createTime" />
+            <el-table-column label="理论重量" min-width="90px" align="center" prop="createTime" />
+            <el-table-column label="实际重量" min-width="90px" align="center" prop="createTime" />
+            <el-table-column label="开始时间" min-width="90px" align="center" prop="createTime" />
+            <el-table-column label="结束时间" min-width="90px" align="center" prop="createTime" />
+            <el-table-column label="驾驶员" min-width="90px" align="center" prop="createTime" />
+            <el-table-column label="自拌料-饲料顺序" min-width="90px" align="center" prop="createTime" />
+            <el-table-column label="自拌料-饲料名称" min-width="90px" align="center" prop="createTime" />
+            <el-table-column label="自拌料-饲料重量" min-width="90px" align="center" prop="createTime" />
+            <el-table-column label="实际重量修改记录" min-width="90px" align="center" prop="createTime" />
+            <el-table-column label="修改时间" min-width="90px" align="center" prop="createTime" />
+          </el-table>
+        </div>
+        <div class="table" v-else-if="type.temp.msgtypeName == '配方'">
+          <el-table
+            :key="type.table.tableKey"
+            v-loading="type.table.listLoading"
+            element-loading-text="给我一点时间"
+            :data="type.table.list"
+            border
+            fit
+            highlight-current-row
+            style="width: 100%;"
+            :row-style="rowStyle"
+            :cell-style="cellStyle"
+            class="elTable table-fixed"
+          >
+            <el-table-column label="序号" min-width="90px" align="center" prop="pastureName" />
+            <el-table-column label="配方名称" min-width="90px" align="center" prop="status" />
+            <el-table-column label="原料编码" min-width="90px" align="center" prop="msgtext" />
+            <el-table-column label="原料名称" min-width="90px" align="center" prop="url" />
+            <el-table-column label="原料类型" min-width="90px" align="center" prop="createTime" />
+            <el-table-column label="重量" min-width="90px" align="center" prop="createTime" />
+            <el-table-column label="顺序" min-width="90px" align="center" prop="createTime" />
+            <el-table-column label="允许误差" min-width="90px" align="center" prop="createTime" />
+          </el-table>
+        </div>
+        <div class="table" v-else-if="type.temp.msgtypeName == '发料'">
+          <el-table
+            :key="type.table.tableKey"
+            v-loading="type.table.listLoading"
+            element-loading-text="给我一点时间"
+            :data="type.table.list"
+            border
+            fit
+            highlight-current-row
+            style="width: 100%;"
+            :row-style="rowStyle"
+            :cell-style="cellStyle"
+            class="elTable table-fixed"
+          >
+            <el-table-column label="序号" min-width="90px" align="center" prop="pastureName" />
+            <el-table-column label="日期" min-width="90px" align="center" prop="status" />
+            <el-table-column label="班次" min-width="90px" align="center" prop="msgtext" />
+            <el-table-column label="车次" min-width="90px" align="center" prop="url" />
+            <el-table-column label="栏舍" min-width="90px" align="center" prop="createTime" />
+            <el-table-column label="存栏" min-width="90px" align="center" prop="createTime" />
+            <el-table-column label="发料顺序" min-width="90px" align="center" prop="createTime" />
+            <el-table-column label="理论重量" min-width="90px" align="center" prop="createTime" />
+            <el-table-column label="实际重量" min-width="90px" align="center" prop="createTime" />
+            <el-table-column label="开始时间" min-width="90px" align="center" prop="createTime" />
+            <el-table-column label="结束时间" min-width="90px" align="center" prop="createTime" />
+            <el-table-column label="驾驶员" min-width="90px" align="center" prop="createTime" />
+            <el-table-column label="配方名称" min-width="90px" align="center" prop="createTime" />
+            <el-table-column label="饲料顺序" min-width="90px" align="center" prop="createTime" />
+            <el-table-column label="饲料名称" min-width="90px" align="center" prop="createTime" />
+            <el-table-column label="饲料重量" min-width="90px" align="center" prop="createTime" />
+            <el-table-column label="自拌料-饲料顺序" min-width="90px" align="center" prop="createTime" />
+            <el-table-column label="自拌料-饲料名称" min-width="90px" align="center" prop="createTime" />
+            <el-table-column label="自拌料-饲料重量" min-width="90px" align="center" prop="createTime" />
+            <el-table-column label="实际重量修改记录" min-width="90px" align="center" prop="createTime" />
+            <el-table-column label="修改时间" min-width="90px" align="center" prop="createTime" />
+          </el-table>
+        </div>
+        <div class="table" v-else>
+          <el-table
+            :key="type.table.tableKey"
+            v-loading="type.table.listLoading"
+            element-loading-text="给我一点时间"
+            :data="type.table.list"
+            border
+            fit
+            highlight-current-row
+            style="width: 100%;"
+            :row-style="rowStyle"
+            :cell-style="cellStyle"
+            class="elTable table-fixed"
+          >
+            <el-table-column label="序号" min-width="90px" align="center" prop="pastureName" />
+            <el-table-column label="日期" min-width="90px" align="center" prop="status" />
+            <el-table-column label="栏舍" min-width="90px" align="center" prop="msgtext" />
+            <el-table-column label="重量" min-width="90px" align="center" prop="url" />
+          </el-table>
+        </div>
+        <span v-if="type.table.listLoading == false" style="margin-right: 30px;margin-top: 10px;font-size: 14px;">共{{ type.table.total }}条</span>
+        <div slot="footer" class="dialog-footer">
+          <el-button class="cancelClose1" @click="type.dialogFormVisible = false;getList()">关闭</el-button>
+        </div>
+      </div>
+    </el-dialog>
   </div>
 
 </template>
@@ -90,6 +219,20 @@ export default {
         { name: 'getPastureList', offset: 0, pagecount: 0, parammaps: { pastureid: Cookies.get('pastureid') }},
       ],
       dataTypeList:[],pastureList:[],
+      textMap: {
+        type: '搅拌数据类型详情',
+      },
+      type:{
+        dialogFormVisible: false,
+        dialogStatus: '',
+        table:{
+          tableKey: 0,
+          list: [],
+          total: 0,
+          listLoading: false,
+        },
+        temp:{}
+      },
       rowStyle: { maxHeight: 30 + 'px', height: 30 + 'px' },
       cellStyle: { padding: 0 + 'px' },
     }
@@ -137,6 +280,12 @@ export default {
     },
     handleRefresh(){
 
+    },
+    clickType(row){
+      this.type.temp = Object.assign({},row)
+      this.type.temp.msgtypeName = '搅拌'
+      this.type.dialogStatus = 'type'
+      this.type.dialogFormVisible = true
     }
   }
 }

+ 32 - 0
src/views/formulationPlan/dailyExecutionPlan/index.vue

@@ -54,6 +54,7 @@
         <el-button v-if="isRoleEdit && ispalyUd" class="success" icon="el-icon-plus" @click="handleGetUd1">搅拌数据上传</el-button>
         <el-button v-if="isRoleEdit && ispalyUd" class="success" icon="el-icon-plus" @click="handleGetUd2">剩料上传</el-button>
         <el-button v-if="isRoleEdit && ispalyUd" class="success" icon="el-icon-plus" @click="handleGetUd3">撒料上传</el-button>
+        <el-button v-if="isRoleEdit" class="success" icon="el-icon-circle-check" @click="handleQuickcompletion">快速完成</el-button>
       </div>
       <!-- 日执行计划 -->
       <div class="table">
@@ -3133,6 +3134,34 @@ export default {
           }
         })
       })
+    },
+    handleQuickcompletion(){
+      if (this.selectList.length == 0) {
+        this.$message({ type: 'error', message: '请先选择计划', duration: 2000 })
+      } else {
+        MessageBox.confirm('您是否确定勾选的状态改为已执行的计划?', {
+          confirmButtonText: '确认', cancelButtonText: '取消', type: 'warning'
+        }).then(() => {
+          console.log(this.selectList)
+          let arr = []
+          for(let i=0;i<this.selectList.length;i++){
+            arr.push(this.selectList[i].id)
+          }
+          const url = '/authdata/plan/artificial/edit'
+          const data = {
+            planId:arr.join()
+          }
+          postJson(url,data).then(response => {
+            console.log('快速完成保存发送参数', this.requestParam)
+            if (response.msg === 'fail') {
+              this.$notify({ title: '保存失败', message: response.data, type: 'warning', duration: 2000 })
+            } else {
+              this.$notify({ title: '', message: '保存成功', type: 'success', duration: 2000 })
+              this.getList()
+            }
+          })
+        })
+      }
     }
   }
 }
@@ -3180,5 +3209,8 @@ export default {
     position: relative;
     .content-table{margin-top: 20px;}
     .contentOperation{right: -50px;z-index: 1;}
+  }
+  /deep/.el-input.is-disabled .el-input__inner{
+    color:#000
   }
  </style>

+ 6 - 4
src/views/statisticalAnalysis/errorAnalysis/pasture/index.vue

@@ -735,6 +735,7 @@
                 <a @click="clickRecipeName2(row)" style="text-decoration: underline;color: #0000FF;">{{ row.配方名称 }}</a>
               </template>
             </u-table-column>
+            <u-table-column sortable label="驾驶员" min-width="50px" align="center" prop="驾驶员" />
             <u-table-column sortable label="饲料" min-width="70px" align="center" prop="饲料">
               <template slot-scope="{row}">
                 <a @click="clickFeed2(row)" style="text-decoration: underline;color: #0000FF;">{{ row.饲料 }}</a>
@@ -822,6 +823,7 @@
                 <a @click="clickRecipeName3(row)" style="text-decoration: underline;color: #0000FF;">{{ row.配方名称 }}</a>
               </template>
             </u-table-column>
+            <u-table-column sortable label="驾驶员" min-width="50px" align="center" prop="驾驶员" />
             <u-table-column sortable label="栏舍" min-width="70px" align="center" prop="栏舍">
               <template slot-scope="{row}">
                 <a @click="clickFence3(row)" style="text-decoration: underline;color: #0000FF;">{{ row.栏舍 }}</a>
@@ -4665,8 +4667,8 @@ export default {
         }
         var excelDatasTab2 = [
           {
-            tHeader: ['日期', 'TMR名称', '操作编号','车次', '班次', '配方名称', '饲料', '理论重量', '实际重量', '误差值', '准确率', '计划时间', '开始时间', '结束时间', ' 跳转方式', '开始重量', '结束重量', '搅拌时间','是否达标','区域'],
-            filterVal: ['日期', 'TMR名称','sort', '车次', '班次', '配方名称', '饲料', '理论重量', '实际重量', '误差值', '准确率', '计划时间', '开始时间', '结束时间', '跳转方式', '开始重量', '结束重量', '搅拌时间','standard','barname'],
+            tHeader: ['日期', 'TMR名称', '操作编号','车次', '班次', '配方名称','驾驶员',  '饲料', '理论重量', '实际重量', '误差值', '准确率', '计划时间', '开始时间', '结束时间', ' 跳转方式', '开始重量', '结束重量', '搅拌时间','是否达标','区域'],
+            filterVal: ['日期', 'TMR名称','sort', '车次', '班次', '配方名称','驾驶员',  '饲料', '理论重量', '实际重量', '误差值', '准确率', '计划时间', '开始时间', '结束时间', '跳转方式', '开始重量', '结束重量', '搅拌时间','standard','barname'],
             tableDatas: exportList,
             sheetName: '混料统计'
           }
@@ -4766,8 +4768,8 @@ export default {
         }
         var excelDatasTab3 = [
           {
-            tHeader: ['日期', 'TMR名称','操作编号', '车次', '班次', '配方名称', '栏舍', '理论重量', '实际重量', '误差值', '准确率', '开始时间', '结束时间', '跳转方式', '开始重量', '结束重量', '搅拌时间','是否达标',],
-            filterVal: ['日期', 'TMR名称','sort', '车次', '班次', '配方名称', '栏舍', '理论重量', '实际重量', '误差值', '准确率', '开始时间', '结束时间', '跳转方式', '开始重量', '结束重量', '搅拌时间','standard'],
+            tHeader: ['日期', 'TMR名称','操作编号', '车次', '班次', '配方名称','驾驶员', '栏舍', '理论重量', '实际重量', '误差值', '准确率', '开始时间', '结束时间', '跳转方式', '开始重量', '结束重量', '搅拌时间','是否达标',],
+            filterVal: ['日期', 'TMR名称','sort', '车次', '班次', '配方名称','驾驶员', '栏舍', '理论重量', '实际重量', '误差值', '准确率', '开始时间', '结束时间', '跳转方式', '开始重量', '结束重量', '搅拌时间','standard'],
             tableDatas: exportList,
             sheetName: '撒料统计'
           }

+ 79 - 14
src/views/statisticalAnalysis/inventoryManagement/pasture/index.vue

@@ -75,23 +75,45 @@
           <el-button class="successBorder" @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>
         </div>
-        <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">
+        <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">
               <u-table-column v-for="(item1,key1) in item.children" v-if="item.children || item.children.length>0" :key="key1" :label="item1.label" :prop="item1.prop" align="center">
                 <u-table-column v-for="(item2,key2) in item1.children" v-if="item1.children || item1.children.length>0" :key="key2" :label="item2.label" :prop="item2.prop" />
               </u-table-column>
             </u-table-column>
-          </u-table>
+          </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">
+        <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">
               <u-table-column v-for="(item1,key1) in item.children" v-if="item.children || item.children.length>0" :key="key1" :label="item1.label" :prop="item1.prop" align="center">
                 <u-table-column v-for="(item2,key2) in item1.children" v-if="item1.children || item1.children.length>0" :key="key2" :label="item2.label" :prop="item2.prop" />
               </u-table-column>
             </u-table-column>
-          </u-table>
+          </u-table> -->
         </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>
@@ -441,8 +463,11 @@ export default {
           let myList = []
           GetReportform(this.tab2.table.getdataListParm).then(response => {
             if (response.data !== null && response.data.data !== null && response.data.data1 !== null) {
-              this.tab2.table.data = response.data.data
-              for (let i = 0; i < response.data.list.data2.length; i++) {
+              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] == '') {
@@ -461,12 +486,29 @@ export default {
                 } 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 = response.data.list.data2
+              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 {
@@ -804,24 +846,36 @@ export default {
         var exportData = []
         var exportTitle1 = [] // 一级标题
         var exportTitle2 = [] // 二级标题
+        var exportTitle3 = [] // 一级标题
         var filterValArr = []
         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)
-            filterValArr.push(this.tab2.table.tableConfig[i].children[j].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)
           }
         }
         console.log('一级标题exportTitle1', exportTitle1)
         console.log('二级标题exportTitle2', exportTitle2)
+        console.log('三级标题exportTitle3', exportTitle3)
         console.log('对应字段filterValArr', filterValArr)
         var headerArr = []// 处理一级标题
+        var headerArr2 = []// 处理一级标题
         if (this.tab2.table.getdataListParm.checked == 1) {
           for (let i = 0; i < exportTitle1.length; i++) {
             if (i > 0) {
               headerArr.push(exportTitle1[i], '', '', '')
             } else {
               headerArr.push(exportTitle1[i])
+            }
+            if (i > 0) {
+              headerArr2.push(exportTitle2[i], '', '', '')
+            } else {
+              headerArr2.push(exportTitle2[i])
             }
           }
         } else {
@@ -831,10 +885,16 @@ export default {
                 headerArr.push(exportTitle1[i], '')
               } else {
                 headerArr.push(exportTitle1[i])
+              }
+              if (i > 0) {
+                headerArr2.push(exportTitle2[i], '')
+              } else {
+                headerArr2.push(exportTitle2[i])
               }
             }
           }else{
             headerArr = exportTitle1
+            headerArr2 = exportTitle2
           }
         }
         console.log('headerArr', headerArr)
@@ -845,8 +905,10 @@ export default {
             const multiHeader = [
               headerArr
             ]
-            const multiHeader2 = []
-            const tHeader = exportTitle2
+            const multiHeader2 = [
+              headerArr2
+            ]
+            const tHeader = exportTitle3
             const filterVal = filterValArr
             const data = this.tab2.table.list.map(v => filterVal.map(j => v[j]))
             // const data = []
@@ -955,11 +1017,14 @@ export default {
   }
   // .el-radio{margin-right: 20px;}
 </style>
-<style lang="css">
+<style lang="scss">
   .el-tooltip__popper{
   max-width: 60% !important;
   }
   .plTableBox .el-table td.is-hidden>*, .plTableBox .el-table th.is-hidden>*{
     visibility:inherit;
+  }
+  .plTableBox .el-table th>.cell{
+    white-space: pre-wrap;
   }
 </style>