3
2
Răsfoiți Sursa

加热炉报告生成

lining 6 ani în urmă
părinte
comite
3ac4771f25

+ 16 - 0
src/dashoo.cn/backend/api/business/codecsequence/codecsequenceService.go

@@ -483,4 +483,20 @@ func (s *CodecSequenceService)GetReportLiquidTransportation(accCode string) stri
 	sequence := s.GetSequenceByName(accCode, seqName)
 	seqStr := "J能QP2.1-"+ strconv.Itoa(time.Now().Year()) + "-" + fmt.Sprintf("%03s", strconv.Itoa(sequence))
 	return seqStr
+}
+
+// 加热炉监测报告
+func (s *CodecSequenceService)GetReportHeatingFurnace(accCode string) string{
+	seqName := "PistonHeatingFurnace"
+	sequence := s.GetSequenceByName(accCode, seqName)
+	seqStr := "J能QL3.1-"+ strconv.Itoa(time.Now().Year()) + "-" + fmt.Sprintf("%03s", strconv.Itoa(sequence))
+	return seqStr
+}
+
+// 加热炉计算报告
+func (s *CodecSequenceService)GetReportHeatingFurnaceJS(accCode string) string{
+	seqName := "PistonHeatingFurnaceJS"
+	sequence := s.GetSequenceByName(accCode, seqName)
+	seqStr := "J能QL3.2-"+ strconv.Itoa(time.Now().Year()) + "-" + fmt.Sprintf("%03s", strconv.Itoa(sequence))
+	return seqStr
 }

+ 2 - 0
src/dashoo.cn/backend/api/business/limsdoctemplate/limstemplateenum.go

@@ -145,4 +145,6 @@ const (
 	DAYT_LIMSREPORTSCREWPUMP_REPORT string = "DAYT.LimsReportScrewPump.Report"
 	// 离心泵机组
 	DAYT_LIQUIDTRANSPORTATION_REPORT string = "DAYT.LiquidTransportation.Report"
+	// 加热炉
+	DAYT_REPORTHEATINGFURNACE_REPORT string = "DAYT.ReportHeatingFurnace.Report"
 )

+ 13 - 0
src/dashoo.cn/backend/api/business/limsreportheatingfurnace/limsreportheatingfurnace.go

@@ -40,6 +40,19 @@ type LimsReportHeatingFurnace struct {
 	CEMeter          string    `xorm:"comment('燃烧效率仪') VARCHAR(10)"`
 	StandardTM       string    `xorm:"comment('标准温度计') VARCHAR(10)"`
 	OnlineMeter      string    `xorm:"comment('在线仪表') VARCHAR(10)"`
+	LTAvg1           float64   `xorm:"comment('左侧表面温度平均值') DECIMAL(10,3)"`
+	LTAvg2           float64   `xorm:"comment('左侧表面温度平均值') DECIMAL(10,3)"`
+	LTAvg3           float64   `xorm:"comment('左侧表面温度平均值') DECIMAL(10,3)"`
+	LTAvg4           float64   `xorm:"comment('左侧表面温度平均值') DECIMAL(10,3)"`
+	RTAvg1           float64   `xorm:"comment('右侧表面温度平均值') DECIMAL(10,3)"`
+	RTAvg2           float64   `xorm:"comment('右侧表面温度平均值') DECIMAL(10,3)"`
+	RTAvg3           float64   `xorm:"comment('右侧表面温度平均值') DECIMAL(10,3)"`
+	RTAvg4           float64   `xorm:"comment('右侧表面温度平均值') DECIMAL(10,3)"`
+	ETAvg            float64   `xorm:"comment('排烟温度平均值') DECIMAL(10,3)"`
+	O2Avg            float64   `xorm:"comment('氧气平均值') DECIMAL(10,3)"`
+	SO2Avg           float64   `xorm:"comment('二氧化硫平均值') DECIMAL(10,3)"`
+	COAvg            float64   `xorm:"comment('一氧化碳平均值') DECIMAL(10,3)"`
+	CO2Avg           float64   `xorm:"comment('二氧化碳平均值') DECIMAL(10,3)"`
 	Remark           string    `xorm:"comment('备注') VARCHAR(255)"`
 	CreateUserId     int       `xorm:"INT(11)"`
 	CreateOn         time.Time `xorm:"DATETIME"`

+ 105 - 1
src/dashoo.cn/backend/api/business/limsreportheatingfurnace/limsreportheatingfurnaceSessionService.go

@@ -1,8 +1,14 @@
 package limsreportheatingfurnace
 
 import (
+	"dashoo.cn/backend/api/business/limsentrust"
+	"dashoo.cn/backend/api/business/workflow"
 	. "dashoo.cn/backend/api/mydb"
+	"dashoo.cn/utils"
+	"fmt"
 	"github.com/go-xorm/xorm"
+	"strconv"
+	"strings"
 )
 
 type LimsReportHeatingFurnaceSessionService struct {
@@ -15,4 +21,102 @@ func GetLimsReportHeatingFurnaceSessionService(xormEngine *xorm.Session) *LimsRe
 	return s
 }
 
- 
+/**
+ * 生成报告
+ */
+func (s *LimsReportHeatingFurnaceSessionService) DataToExcelReport(entrustMainEntity limsentrust.LimsEntrustMain, dateentryname string, createreportname string, tablename string, seqStr string, seqStrJS string, retUrl string, entrustId string, dataentryIds string) (reportUrl string, err error) {
+	var reportList []LimsReportHeatingFurnace
+	s.GetEntitysByOrderbyWhere(tablename, "DataEntryId in ("+dataentryIds+")", "DataEntryId", &reportList)
+	//模板下载到服务器
+	//_dir := utils.Cfg.MustValue("file", "tmplateDir") + entrustId
+	fileurl := strings.Split(retUrl, "|")
+	templateUrl := "http://" + fileurl[0]
+	fileName := fileurl[1]
+
+	svcActiviti := workflow.GetActivitiService(utils.DBE)
+	datamap := make(map[string]interface{})
+
+	limitval1 := 50.00
+	limitval2 := 250.00
+	limitval3 := 2.00
+	limitval4 := 70.00
+
+	tb := float64(reportList[0].LTAvg1)  // 炉体外表面温度
+	tp := float64(reportList[0].ETAvg)   // 排烟温度
+	o2 := float64(reportList[0].O2Avg)   // 氧气含量
+	co2 := float64(reportList[0].CO2Avg) // 二氧化碳
+	co := float64(reportList[0].COAvg)  // 一氧化碳
+
+	alpha := 0.00
+	div1 := 100-(co2+o2+co)
+	if (div1 != 0) {
+		num := o2-0.5*co
+		div2 := 21-79*(num/div1)
+		if (div2 != 0) {
+			alpha,err = strconv.ParseFloat(fmt.Sprintf("%.3f", 21/div2), 64)
+		} else {
+			alpha = 0.00
+		}
+	} else {
+		alpha = 0.00
+	}
+
+	//alpha,err = strconv.ParseFloat(fmt.Sprintf("%.3f", 21/(21-79*(o2-0.5*co/(100-(co2+o2+co))))), 64) // 空气系数
+	eta := 0.00
+
+	datamap["jcxm"] = "合格"
+	if (tb <= limitval1) {
+		datamap["res1"] = "合格"
+	} else {
+		datamap["res1"] = "不合格"
+		datamap["jcxm"] = "不合格"
+	}
+	if (tp <= limitval2) {
+		datamap["res2"] = "合格"
+	} else {
+		datamap["res2"] = "不合格"
+		datamap["jcxm"] = "不合格"
+	}
+	if (alpha <= limitval3) {
+		datamap["res3"] = "合格"
+	} else {
+		datamap["res3"] = "不合格"
+		datamap["jcxm"] = "不合格"
+	}
+	if (eta >= limitval4) {
+		datamap["res4"] = "合格"
+	} else {
+		datamap["res4"] = "不合格"
+		datamap["jcxm"] = "不合格"
+	}
+
+	datamap["tp"] = tp
+	datamap["alpha"] = alpha
+	datamap["tb"] = tb
+	datamap["eta"] = eta
+	datamap["xdz1"] = limitval1
+	datamap["xdz2"] = limitval2
+	datamap["xdz3"] = limitval3
+	datamap["xdz4"] = limitval4
+	datamap["eval"] = 70
+
+	datamap["code"] = seqStr
+	datamap["company"] = reportList[0].TestDepart
+	datamap["jcnum"] = reportList[0].CreateOn.Format("2006-01-02")
+	datamap["jcdate"] = reportList[0].CreateOn.Format("2006年01月02日")
+	datamap["spec"] = reportList[0].HFModel
+	datamap["number"] = reportList[0].Number
+	datamap["place"] = reportList[0].PositionCheck
+	datamap["instr"] = ""
+
+	datamap["jscode"] = seqStrJS
+	datamap["fuel"] = reportList[0].Fuel
+	datamap["o2"] = o2
+	datamap["co2"] = co2
+	datamap["co"] = co
+
+
+	reportUrl = svcActiviti.FillWordTemplate(datamap, templateUrl, fileName)
+
+	return reportUrl, err
+}

+ 9 - 0
src/dashoo.cn/backend/api/controllers/lims/limscreatereport.go

@@ -3,6 +3,7 @@ package lims
 import (
 	"dashoo.cn/backend/api/business/limsreportalerkrgas"
 	"dashoo.cn/backend/api/business/limsreportelecpumpwell"
+	"dashoo.cn/backend/api/business/limsreportheatingfurnace"
 	"dashoo.cn/backend/api/business/limsreportliquidtransportation"
 	"dashoo.cn/backend/api/business/limsreportmotor"
 	"dashoo.cn/backend/api/business/limsreportdetHSgas"
@@ -1015,6 +1016,14 @@ func (this *CreateReportController) generateExcelReportN(entrustMain limsentrust
 		seqStr := codecSvc.GetReportLiquidTransportation(this.User.AccCode)
 		svc := limsreportliquidtransportation.GetLimsReportLiquidTransportationService(utils.DBE)
 		reportUrl, err = svc.DataToExcelReport(entrustMain, this.User.AccCode+LimsDateEntryName, this.User.AccCode+LimsCreateReportName, this.User.AccCode+LimsReportLiquidTransportationName, seqStr, docTemplate.FileURL, entrustId, dataentryIds)
+	case limsdoctemplate.DAYT_REPORTHEATINGFURNACE_REPORT:
+		// 加热炉
+		session := utils.DBE.NewSession()
+		codecSvc := codecsequence.GetCodecSequenceService(utils.DBE)
+		seqStr := codecSvc.GetReportHeatingFurnace(this.User.AccCode)
+		seqStrJS := codecSvc.GetReportHeatingFurnaceJS(this.User.AccCode)
+		svc := limsreportheatingfurnace.GetLimsReportHeatingFurnaceSessionService(session)
+		reportUrl, err = svc.DataToExcelReport(entrustMain, this.User.AccCode+LimsDateEntryName, this.User.AccCode+LimsCreateReportName, this.User.AccCode+LimsReportHeatingFurnaceName, seqStr, seqStrJS, docTemplate.FileURL, entrustId, dataentryIds)
 	}
 
 	return reportUrl, UnHGReportUrl, err

+ 18 - 4
src/dashoo.cn/backend/api/controllers/lims/limsreportheatingfurnace.go

@@ -10,6 +10,7 @@ import (
 	"strconv"
 	"strings"
 	"time"
+	svccustomer "dashoo.cn/backend/api/business/customer"
 )
 
 type LimsReportHeatingFurnaceSessionController struct {
@@ -265,15 +266,15 @@ func (this *LimsReportHeatingFurnaceSessionController) GetDictList() {
 	dictList := make(map[string]interface{})
 	//dictSvc := items.GetItemsService(utils.DBE)
 	userSvc := baseUser.GetBaseUserService(utils.DBE)
-	//customerSvc := svccustomer.GetCustomerService(utils.DBE)
+	customerSvc := svccustomer.GetCustomerService(utils.DBE)
 	//dictList["WellNo"] = dictSvc.GetKeyValueItems("WellNo", this.User.AccCode)
 	var userEntity userRole.Base_User
 	userSvc.GetEntityById(this.User.Id, &userEntity)
 	dictList["Supervisers"] = userSvc.GetUserListByDepartmentId(this.User.AccCode, userEntity.Departmentid)
 
-	//var dictCustomer []svccustomer.Customer
-	//customerSvc.GetEntitysByWhere(this.User.AccCode + CustomerName, "", &dictCustomer)
-	//dictList["EntrustCorp"] = &dictCustomer
+	var dictCustomer []svccustomer.Customer
+	customerSvc.GetEntitysByWhere(this.User.AccCode + CustomerName, "", &dictCustomer)
+	dictList["EntrustCorp"] = &dictCustomer
 
 	var datainfo DataInfo
 	datainfo.Items = dictList
@@ -442,6 +443,19 @@ func (this *LimsReportHeatingFurnaceSessionController) UpdateEntity() {
 		"CEMeter",
 		"StandardTM",
 		"OnlineMeter",
+		"LTAvg1",
+		"LTAvg2",
+		"LTAvg3",
+		"LTAvg4",
+		"RTAvg1",
+		"RTAvg2",
+		"RTAvg3",
+		"RTAvg4",
+		"ETAvg",
+		"O2Avg",
+		"SO2Avg",
+		"COAvg",
+		"CO2Avg",
 		"Remark",
 		"CreateUserId",
 		"CreateOn",

+ 87 - 35
src/dashoo.cn/frontend_web/src/pages/lims/reportheatingfurnace/_opera/operation.vue

@@ -32,7 +32,11 @@
         <el-row>
           <el-col :span="8">
             <el-form-item label="被测单位">
-              <el-input v-model.trim="formData.TestDepart" placeholder="请输入" style="width: 100%" :disabled="DataStatus != 0 && DataStatus != 5 && DataStatus != 3"></el-input>
+              <el-select disabled ref="selectEntrustCorp" v-model="formData.TestDepartId" filterable placeholder="请选择"
+                         style="width: 100%">
+                <el-option v-for="item in EntrustCorpOptions" :key="item.Id" :label="item.CustomerName" :value="item.Id">
+                </el-option>
+              </el-select>
             </el-form-item>
           </el-col>
           <el-col :span="8">
@@ -69,7 +73,7 @@
           <el-col :span="8">
             <el-form-item label="额定热容量"
                           prop="RHCapacity">
-              <el-input type="number" step="0.001" v-model.number="formData.RHCapacity" placeholder="请输入" style="width: 100%">
+              <el-input type="number" step="0.001" v-model.number="formData.RHCapacity" placeholder="请输入" style="width: 100%" :disabled="DataStatus != 0 && DataStatus != 5 && DataStatus != 3">
                 <template slot="append">MW</template>
               </el-input>
             </el-form-item>
@@ -77,26 +81,26 @@
           <el-col :span="8">
             <el-form-item label="额定效率"
                           prop="RatedPower">
-              <el-input type="number" step="0.001" v-model.number="formData.RatedPower" placeholder="请输入" style="width: 100%">
+              <el-input type="number" step="0.001" v-model.number="formData.RatedPower" placeholder="请输入" style="width: 100%" :disabled="DataStatus != 0 && DataStatus != 5 && DataStatus != 3">
                 <template slot="append">%</template>
               </el-input>
             </el-form-item>
           </el-col>
           <el-col :span="8">
             <el-form-item label="加热炉出厂日期">
-              <el-date-picker style="width: 100%" v-model="formData.HFProDate" type="date" placeholder="请选择检测日期">
+              <el-date-picker style="width: 100%" v-model="formData.HFProDate" type="date" placeholder="请选择检测日期" :disabled="DataStatus != 0 && DataStatus != 5 && DataStatus != 3">
               </el-date-picker>
             </el-form-item>
           </el-col>
           <el-col :span="8">
             <el-form-item label="制造厂家">
-              <el-input v-model.trim="formData.Manufacturer" placeholder="请输入" style="width: 100%">
+              <el-input v-model.trim="formData.Manufacturer" placeholder="请输入" style="width: 100%" :disabled="DataStatus != 0 && DataStatus != 5 && DataStatus != 3">
               </el-input>
             </el-form-item>
           </el-col>
           <el-col :span="8">
             <el-form-item label="燃料">
-              <el-select v-model.trim="formData.Fuel" filterable placeholder="请选择" style="width: 100%">
+              <el-select v-model.trim="formData.Fuel" filterable placeholder="请选择" style="width: 100%" :disabled="DataStatus != 0 && DataStatus != 5 && DataStatus != 3">
                 <el-option
                   v-for="item in FuelOptions"
                   :key="item.Value"
@@ -108,25 +112,25 @@
           </el-col>
           <el-col :span="8">
             <el-form-item label="燃烧器厂家">
-              <el-input v-model.trim="formData.BurnerManuf" placeholder="请输入" style="width: 100%">
+              <el-input v-model.trim="formData.BurnerManuf" placeholder="请输入" style="width: 100%" :disabled="DataStatus != 0 && DataStatus != 5 && DataStatus != 3">
               </el-input>
             </el-form-item>
           </el-col>
           <el-col :span="8">
             <el-form-item label="燃烧器型号">
-              <el-input v-model.trim="formData.BurnerModel" placeholder="请输入" style="width: 100%">
+              <el-input v-model.trim="formData.BurnerModel" placeholder="请输入" style="width: 100%" :disabled="DataStatus != 0 && DataStatus != 5 && DataStatus != 3">
               </el-input>
             </el-form-item>
           </el-col>
           <el-col :span="8">
             <el-form-item label="燃烧器出厂日期" label-width="130px">
-              <el-date-picker style="width: 100%" v-model="formData.BurnerProDate" type="date" placeholder="请选择检测日期">
+              <el-date-picker style="width: 100%" v-model="formData.BurnerProDate" type="date" placeholder="请选择检测日期" :disabled="DataStatus != 0 && DataStatus != 5 && DataStatus != 3">
               </el-date-picker>
             </el-form-item>
           </el-col>
           <el-col :span="8">
             <el-form-item label="燃烧器是否智能">
-              <el-select v-model.trim="formData.BurnerIntel" filterable placeholder="请选择" style="width: 100%">
+              <el-select v-model.trim="formData.BurnerIntel" filterable placeholder="请选择" style="width: 100%" :disabled="DataStatus != 0 && DataStatus != 5 && DataStatus != 3">
                 <el-option
                   v-for="item in BurnerIntelOptions"
                   :key="item.Value"
@@ -139,7 +143,7 @@
           <el-col :span="8">
             <el-form-item label="环境温度"
                           prop="Temperature">
-              <el-input type="number" step="0.001" v-model.number="formData.Temperature" placeholder="请输入" style="width: 100%">
+              <el-input type="number" step="0.001" v-model.number="formData.Temperature" placeholder="请输入" style="width: 100%" :disabled="DataStatus != 0 && DataStatus != 5 && DataStatus != 3">
                 <template slot="append">℃</template>
               </el-input>
             </el-form-item>
@@ -147,7 +151,7 @@
           <el-col :span="8">
             <el-form-item label="风速"
                           prop="WindSpeed">
-              <el-input type="number" step="0.001" v-model.number="formData.WindSpeed" placeholder="请输入" style="width: 100%">
+              <el-input type="number" step="0.001" v-model.number="formData.WindSpeed" placeholder="请输入" style="width: 100%" :disabled="DataStatus != 0 && DataStatus != 5 && DataStatus != 3">
                 <template slot="append">m/s</template>
               </el-input>
             </el-form-item>
@@ -155,14 +159,14 @@
           <el-col :span="8">
             <el-form-item label="环境相对湿度"
                           prop="RelativeHumidity">
-              <el-input type="number" step="0.001" v-model.number="formData.RelativeHumidity" placeholder="请输入" style="width: 100%">
+              <el-input type="number" step="0.001" v-model.number="formData.RelativeHumidity" placeholder="请输入" style="width: 100%" :disabled="DataStatus != 0 && DataStatus != 5 && DataStatus != 3">
                 <template slot="append">%</template>
               </el-input>
             </el-form-item>
           </el-col>
           <el-col :span="8">
             <el-form-item label=" 仪器状态">
-              <el-input v-model.trim="formData.InstrStatus" placeholder="请输入" style="width: 100%">
+              <el-input v-model.trim="formData.InstrStatus" placeholder="请输入" style="width: 100%" :disabled="DataStatus != 0 && DataStatus != 5 && DataStatus != 3">
               </el-input>
             </el-form-item>
           </el-col>
@@ -172,7 +176,7 @@
             <el-col :span="8">
               <el-form-item label="介质进口温度"
                             prop="InTemp">
-                <el-input type="number" step="0.001" v-model.number="formData.InTemp" placeholder="请输入" style="width: 100%">
+                <el-input type="number" step="0.001" v-model.number="formData.InTemp" placeholder="请输入" style="width: 100%" :disabled="DataStatus != 0 && DataStatus != 5 && DataStatus != 3">
                   <template slot="append">℃</template>
                 </el-input>
               </el-form-item>
@@ -180,7 +184,7 @@
             <el-col :span="8">
               <el-form-item label="介质进口压力"
                             prop="InPressure">
-                <el-input type="number" step="0.001" v-model.number="formData.InPressure" placeholder="请输入" style="width: 100%">
+                <el-input type="number" step="0.001" v-model.number="formData.InPressure" placeholder="请输入" style="width: 100%" :disabled="DataStatus != 0 && DataStatus != 5 && DataStatus != 3">
                   <template slot="append">MPa</template>
                 </el-input>
               </el-form-item>
@@ -188,7 +192,7 @@
             <el-col :span="8">
               <el-form-item label="介质出口温度"
                             prop="OutTemp">
-                <el-input type="number" step="0.001" v-model.number="formData.OutTemp" placeholder="请输入" style="width: 100%">
+                <el-input type="number" step="0.001" v-model.number="formData.OutTemp" placeholder="请输入" style="width: 100%" :disabled="DataStatus != 0 && DataStatus != 5 && DataStatus != 3">
                   <template slot="append">℃</template>
                 </el-input>
               </el-form-item>
@@ -196,7 +200,7 @@
             <el-col :span="8">
               <el-form-item label="介质出口压力"
                             prop="OutPressure">
-                <el-input type="number" step="0.001" v-model.number="formData.OutPressure" placeholder="请输入" style="width: 100%">
+                <el-input type="number" step="0.001" v-model.number="formData.OutPressure" placeholder="请输入" style="width: 100%" :disabled="DataStatus != 0 && DataStatus != 5 && DataStatus != 3">
                   <template slot="append">MPa</template>
                 </el-input>
               </el-form-item>
@@ -204,7 +208,7 @@
             <el-col :span="8">
               <el-form-item label="介质流量"
                             prop="MediumFlow">
-                <el-input type="number" step="0.001" v-model.number="formData.MediumFlow" placeholder="请输入" style="width: 100%">
+                <el-input type="number" step="0.001" v-model.number="formData.MediumFlow" placeholder="请输入" style="width: 100%" :disabled="DataStatus != 0 && DataStatus != 5 && DataStatus != 3">
                   <template slot="append">m3/h</template>
                 </el-input>
               </el-form-item>
@@ -212,7 +216,7 @@
             <el-col :span="8">
               <el-form-item label="介质含水率"
                             prop="MedMoiContent">
-                <el-input type="number" step="0.001" v-model.number="formData.MedMoiContent" placeholder="请输入" style="width: 100%">
+                <el-input type="number" step="0.001" v-model.number="formData.MedMoiContent" placeholder="请输入" style="width: 100%" :disabled="DataStatus != 0 && DataStatus != 5 && DataStatus != 3">
                   <template slot="append">%</template>
                 </el-input>
               </el-form-item>
@@ -220,7 +224,7 @@
             <el-col :span="8">
               <el-form-item label="介质密度"
                             prop="MedDensity">
-                <el-input type="number" step="0.001" v-model.number="formData.MedDensity" placeholder="请输入" style="width: 100%">
+                <el-input type="number" step="0.001" v-model.number="formData.MedDensity" placeholder="请输入" style="width: 100%" :disabled="DataStatus != 0 && DataStatus != 5 && DataStatus != 3">
                   <template slot="append">kg/m<sup>3</sup></template>
                 </el-input>
               </el-form-item>
@@ -228,14 +232,14 @@
             <el-col :span="8">
               <el-form-item label="燃料量"
                             prop="CombustionQty">
-                <el-input type="number" step="0.001" v-model.number="formData.CombustionQty" placeholder="请输入" style="width: 100%">
+                <el-input type="number" step="0.001" v-model.number="formData.CombustionQty" placeholder="请输入" style="width: 100%" :disabled="DataStatus != 0 && DataStatus != 5 && DataStatus != 3">
                   <template slot="append">Nm<sup>3</sup>/h</template>
                 </el-input>
               </el-form-item>
             </el-col>
             <el-col :span="8">
               <el-form-item label="室内(外)">
-                <el-select v-model.trim="formData.Indoor" filterable placeholder="请选择" style="width: 100%">
+                <el-select v-model.trim="formData.Indoor" filterable placeholder="请选择" style="width: 100%" :disabled="DataStatus != 0 && DataStatus != 5 && DataStatus != 3">
                   <el-option
                     v-for="item in IndoorOptions"
                     :key="item.Value"
@@ -357,7 +361,7 @@
               </el-table-column>
               <el-table-column
                 prop="Oxygen"
-                label="O2"
+                label="O2 (%)"
                 min-width="80"
                 align="center">
                 <template slot-scope="scope">
@@ -366,7 +370,7 @@
               </el-table-column>
               <el-table-column
                 prop="SulfurDioxide"
-                label="SO2"
+                label="SO2 (%)"
                 min-width="80"
                 align="center">
                 <template slot-scope="scope">
@@ -375,7 +379,7 @@
               </el-table-column>
               <el-table-column
                 prop="CarbonMonoxide"
-                label="CO"
+                label="CO (%)"
                 min-width="80"
                 align="center">
                 <template slot-scope="scope">
@@ -384,7 +388,7 @@
               </el-table-column>
               <el-table-column
                 prop="CarbonDioxide"
-                label="CO2"
+                label="CO2 (%)"
                 min-width="80"
                 align="center">
                 <template slot-scope="scope">
@@ -479,6 +483,7 @@
     mapGetters
   } from 'vuex'
   import api from '@/api/lims/limsreportheatingFurnace'
+  import entrustApi from '@/api/lims/limsentrust'
 
   export default {
     computed: {
@@ -500,6 +505,7 @@
         ischeck: 0,
         DataStatus: '0',
         acceptUsers: [],
+        EntrustCorpOptions: [],
         BurnerIntelOptions: [
           {
             Label: '智能',
@@ -667,6 +673,19 @@
           CEMeter: '',
           StandardTM: '',
           OnlineMeter: '',
+          LTAvg1: '',
+          LTAvg2: '',
+          LTAvg3: '',
+          LTAvg4: '',
+          RTAvg1: '',
+          RTAvg2: '',
+          RTAvg3: '',
+          RTAvg4: '',
+          ETAvg: '',
+          O2Avg: '',
+          SO2Avg: '',
+          COAvg: '',
+          CO2Avg: '',
           Remark: '',
           CreateUserId: '',
           CreateOn: '',
@@ -699,6 +718,7 @@
       this.ischeck = this.$route.query.ischeck
       this.initData()
       this.getUsersByRole()
+      this.getDictOptions()
     },
     methods: {
       paramsValidate (params) {
@@ -713,6 +733,7 @@
         return flag
       },
       saveEntity () {
+        this.formData.TestDepart = this.$refs.selectEntrustCorp.selectedLabel + ''
         this.$refs['formData'].validate((valid) => {
           if (valid) {
             if (this.formData.Id > 0) {
@@ -785,10 +806,26 @@
             this.tableData = res.data.item['tableData']
           } else {
           }
+          this.getEntrustInfo(this.EId)
+        }).catch(err => {
+          console.error(err)
+        })
+      },
+      getDictOptions () {
+        api.getDictList(this.$axios).then(res => {
+          this.EntrustCorpOptions = res.data.items['EntrustCorp']
         }).catch(err => {
           console.error(err)
         })
       },
+      getEntrustInfo (EId) {
+        entrustApi.getEntrustInfo(EId, this.$axios).then(res => {
+          this.formData.TestDepartId = res.data.CustomerId
+        }).catch(err => {
+          // handle error
+          console.error(err)
+        })
+      },
 
       // 获取校核人列表
       getUsersByRole () {
@@ -899,10 +936,11 @@
 
       getSummaries (param) {
         const { columns, data } = param
-        const sums = []
+        const avgs = []
+        let sum
         columns.forEach((column, index) => {
           if (index === 0) {
-            sums[index] = '均值'
+            avgs[index] = '均值'
             return
           }
           if (index === 1) {
@@ -910,7 +948,7 @@
           }
           const values = data.map(item => Number(item[column.property]))
           if (!values.every(value => isNaN(value))) {
-            sums[index] = values.reduce((prev, curr) => {
+            sum = values.reduce((prev, curr) => {
               const value = Number(curr.toFixed(2))
               if (!isNaN(value)) {
                 return prev + curr
@@ -918,14 +956,28 @@
                 return prev
               }
             }, 0)
+            avgs[index] = Number((sum / 5).toFixed(2))
           } else {
-            sums[index] = ''
+            avgs[index] = 0
           }
         })
-        for (let i = 2; i < sums.length; i++) {
-          sums[i] = (sums[i] / 5).toFixed(2)
-        }
-        return sums
+        this.setFormDataAvg(avgs)
+        return avgs
+      },
+      setFormDataAvg (avgs) {
+        this.formData.LTAvg1 = avgs[2]
+        this.formData.LTAvg2 = avgs[3]
+        this.formData.LTAvg3 = avgs[4]
+        this.formData.LTAvg4 = avgs[5]
+        this.formData.RTAvg1 = avgs[6]
+        this.formData.RTAvg2 = avgs[7]
+        this.formData.RTAvg3 = avgs[8]
+        this.formData.RTAvg4 = avgs[9]
+        this.formData.ETAvg = avgs[10]
+        this.formData.O2Avg = avgs[11]
+        this.formData.SO2Avg = avgs[12]
+        this.formData.COAvg = avgs[13]
+        this.formData.CO2Avg = avgs[14]
       }
     }
   }