diff --git a/src/views/order/base/orderManage/components/addWorkOrder.vue b/src/views/order/base/orderManage/components/addWorkOrder.vue
index ea46e766..e340cfe3 100644
--- a/src/views/order/base/orderManage/components/addWorkOrder.vue
+++ b/src/views/order/base/orderManage/components/addWorkOrder.vue
@@ -5,13 +5,10 @@
-
-
-
+
+
+
@@ -23,12 +20,8 @@
-
-
+
+
@@ -42,36 +35,28 @@
-
+
-
+
-
+
-
+
@@ -79,18 +64,15 @@
-
+
-
+
@@ -99,10 +81,7 @@
-
@@ -111,11 +90,7 @@
-
+
@@ -123,45 +98,39 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/report/glass/inputTable.vue b/src/views/report/glass/inputTable.vue
index d5d6614a..6a68c98e 100644
--- a/src/views/report/glass/inputTable.vue
+++ b/src/views/report/glass/inputTable.vue
@@ -1,7 +1,7 @@
@@ -9,10 +9,10 @@
编辑
- 返回
+ 返回
保存
-
+
{{ scope.row[y.prop] }}
-
+
-
+
+
@@ -112,7 +114,7 @@ const cols = [
label: '本周',
},
{
- prop: 'originalGlassPassHis ',
+ prop: 'originalGlassPassHis',
label: '上周',
},
{
@@ -130,6 +132,10 @@ const cols = [
type: Array,
default: () => [],
},
+ id: {
+ type: String,
+ default:'exportTable'
+ },
time: {
type: Array,
default: () => [],
@@ -150,6 +156,7 @@ const cols = [
data() {
return {
cols,
+ remark:null,
edit: false,
};
},
@@ -195,16 +202,44 @@ const cols = [
}
}
},
- methods: {
+ methods: {
+ handleReturn() {
+ // this.disabled = true
+ this.edit = false
+ },
+ handleChange(e) {
+ // console.log(q)
+ console.log(e);
+ },
updateData() {
+ let obj = {}
this.data.forEach((ele, index) => {
+ if (ele.det === false) {
+ this.data[index].lineId = ''
+ this.data[index].remark = this.remark
+ obj = ele
+ delete this.data[index].dailyOutputTrend
+ delete this.data[index].originalGlassStatisticsTrend
+ delete this.data[index].actualProductTrend
+ delete this.data[index].originalGlassPassTrend
+ this.data.splice(index, 1)
+ }
+ })
+ let updateArr = this.data
+ updateArr.forEach((ele, index) => {
delete ele.dailyOutputTrend
delete ele.originalGlassStatisticsTrend
delete ele.actualProductTrend
delete ele.originalGlassPassTrend
});
- updateGlass(this.data).then(response => {
- updateGlassRemark(this.sum).then(res => {
+ // this.data.forEach((ele, index) => {
+ // delete ele.dailyOutputTrend
+ // delete ele.originalGlassStatisticsTrend
+ // delete ele.actualProductTrend
+ // delete ele.originalGlassPassTrend
+ // });
+ updateGlass(updateArr).then(response => {
+ updateGlassRemark(obj).then(res => {
this.$modal.msgSuccess("修改成功");
this.edit = false;
this.$emit("refreshDataList");
diff --git a/src/views/report/glass/month.vue b/src/views/report/glass/month.vue
index 011a2c4b..9b099a73 100644
--- a/src/views/report/glass/month.vue
+++ b/src/views/report/glass/month.vue
@@ -29,7 +29,8 @@ import { parseTime } from '../../core/mixins/code-filter';
import { getGlassPage, exportGlasscExcel } from '@/api/report/glass';
import inputTable from './inputTable.vue';
import { getCorePLList } from '@/api/base/coreProductionLine';
-
+import FileSaver from 'file-saver'
+import * as XLSX from 'xlsx'
export default {
components: { inputTable },
data() {
@@ -72,29 +73,61 @@ export default {
// console.log(date)
this.changeTime(date)
// console.log(date.valueOf());
+ },
+ multipliedByHundred(str) {
+ if (str) {
+ let floatVal = parseFloat(str);
+ if (isNaN(floatVal)) {
+ return 0;
+ }
+ floatVal = Math.round(str * 10000) / 100;
+ let strVal = floatVal.toString();
+ let searchVal = strVal.indexOf('.');
+ if (searchVal < 0) {
+ searchVal = strVal.length;
+ strVal += '.';
+ }
+ while (strVal.length <= searchVal + 2) {
+ strVal += '0';
+ }
+ return parseFloat(strVal);
+ }
+
},
// 获取数据列表
async getDataList() {
this.dataListLoading = true;
- await this.urlOptions.getDataListURL(this.listQuery).then(response => {
- this.tableData = response.data.filter(item => {
- this.proLineList.forEach(it => {
- if (item.lineId === it.id) {
+ if (this.listQuery.reportTime.length == 0) {
+ this.$message({
+ message: '请选择时间',
+ type: 'warning'
+ })
+ return false
+ }
+ await this.urlOptions.getDataListURL(this.listQuery).then(res => {
+ res.data.forEach((ele, index) => {
+ if (ele.det === false) {
+ res.data[index].lineName = '合计'
+ this.remark = res.data[index].remark
+ res.data[index].dailyOutputTrend = res.data[index].dailyOutputTrend != 0 ? this.multipliedByHundred(res.data[index].dailyOutputTrend) + '%' : res.data[index].dailyOutputTrend == 0 ? 0 : undefined
+ res.data[index].originalGlassStatisticsTrend = res.data[index].originalGlassStatisticsTrend != 0 ? this.multipliedByHundred(res.data[index].originalGlassStatisticsTrend) + '%' : res.data[index].originalGlassStatisticsTrend == 0 ? 0 : undefined
+ res.data[index].actualProductTrend = res.data[index].actualProductTrend != 0 ? this.multipliedByHundred(res.data[index].actualProductTrend) + '%' : res.data[index].actualProductTrend == 0 ? 0 : undefined
+ res.data[index].originalGlassPassTrend = res.data[index].originalGlassPassTrend != 0 ? this.multipliedByHundred(res.data[index].originalGlassPassTrend) + '%' : res.data[index].originalGlassPassTrend == 0 ? 0 : undefined
+ }
+ })
+ res.data.forEach(item => {
+ this.proLineList.forEach(it => {
+ if (item.lineId === it.id) {
+ console.log(item)
item.lineName = it.name
- item.dailyOutputTrend = item.dailyOutputTrend ? parseFloat((item.dailyOutputTrend * 100).toFixed(2)) + '%' : null
- item.originalGlassStatisticsTrend = item.originalGlassStatisticsTrend ? parseFloat((item.originalGlassStatisticsTrend * 100).toFixed(2)) + '%' : null
- item.actualProductTrend = item.actualProductTrend ? parseFloat((item.originalGlassStatisticsTrend * 100).toFixed(2)) + '%' : null
- item.originalGlassPassTrend = item.originalGlassPassTrend ? parseFloat((item.originalGlassStatisticsTrend * 100).toFixed(2)) + '%' : null
- }
- })
- if (item.det === false) {
- this.all = {
- id: item.id,
- remark: item.remark
- }
- }
- return item.det === true
- });
+ item.dailyOutputTrend = item.dailyOutputTrend != 0 ? this.multipliedByHundred(item.dailyOutputTrend) + '%' : item.dailyOutputTrend == 0 ? 0 : undefined
+ item.originalGlassStatisticsTrend = item.originalGlassStatisticsTrend != 0 ? this.multipliedByHundred(item.originalGlassStatisticsTrend) + '%' : item.originalGlassStatisticsTrend == 0 ? 0 : undefined
+ item.actualProductTrend = item.actualProductTrend != 0 ? this.multipliedByHundred(item.actualProductTrend) + '%' : item.actualProductTrend == 0 ? 0 : undefined
+ item.originalGlassPassTrend = item.originalGlassPassTrend != 0 ? this.multipliedByHundred(item.originalGlassPassTrend) + '%' : item.originalGlassPassTrend == 0 ? 0 : undefined
+ }
+ })
+ })
+ this.tableData = res.data
this.listQuery.total = response.data.length;
this.dataListLoading = false;
});
@@ -165,16 +198,32 @@ export default {
/** 导出按钮操作 */
handleExport() {
// 处理查询参数
- let params = { ...this.listQuery };
- params.pageNo = undefined;
- params.pageSize = undefined;
- this.$modal.confirm('是否确认导出所有数据项?').then(() => {
- this.exportLoading = true;
- return this.urlOptions.exportURL(params);
- }).then(response => {
- this.$download.excel(response, '原片生产周报.xls');
- this.exportLoading = false;
- }).catch(() => { });
+ var xlsxParam = { raw: true };
+ /* 从表生成工作簿对象 */
+ var wb = XLSX.utils.table_to_book(
+ document.querySelector("#exportTable"),
+ xlsxParam
+ );
+ /* 获取二进制字符串作为输出 */
+ var wbout = XLSX.write(wb, {
+ bookType: "xlsx",
+ bookSST: true,
+ type: "array",
+ });
+ try {
+ FileSaver.saveAs(
+ //Blob 对象表示一个不可变、原始数据的类文件对象。
+ //Blob 表示的不一定是JavaScript原生格式的数据。
+ //File 接口基于Blob,继承了 blob 的功能并将其扩展使其支持用户系统上的文件。
+ //返回一个新创建的 Blob 对象,其内容由参数中给定的数组串联组成。
+ new Blob([wbout], { type: "application/octet-stream" }),
+ //设置导出文件名称
+ "许昌安彩月原片生产汇总.xlsx"
+ );
+ } catch (e) {
+ if (typeof console !== "undefined") console.log(e, wbout);
+ }
+ return wbout;
}
},
};
diff --git a/src/views/report/glass/weekly.vue b/src/views/report/glass/weekly.vue
index 8c85adbf..7df919b7 100644
--- a/src/views/report/glass/weekly.vue
+++ b/src/views/report/glass/weekly.vue
@@ -31,7 +31,8 @@ import { parseTime } from '../../core/mixins/code-filter';
import { getGlassPage, exportGlasscExcel } from '@/api/report/glass';
import inputTable from './inputTable.vue';
import { getCorePLList } from '@/api/base/coreProductionLine';
-
+import FileSaver from 'file-saver'
+import * as XLSX from 'xlsx'
export default {
components: { inputTable },
data() {
@@ -163,29 +164,61 @@ export default {
// this.endTimeStamp = this.timeFun(timeStamp + (24 * 60 * 60 * 1000) * 5); //结束时间
// this.changeTime(reportTime)
}
+ },
+ multipliedByHundred(str) {
+ if (str) {
+ let floatVal = parseFloat(str);
+ if (isNaN(floatVal)) {
+ return 0;
+ }
+ floatVal = Math.round(str * 10000) / 100;
+ let strVal = floatVal.toString();
+ let searchVal = strVal.indexOf('.');
+ if (searchVal < 0) {
+ searchVal = strVal.length;
+ strVal += '.';
+ }
+ while (strVal.length <= searchVal + 2) {
+ strVal += '0';
+ }
+ return parseFloat(strVal);
+ }
+
},
// 获取数据列表
async getDataList() {
this.dataListLoading = true;
- await this.urlOptions.getDataListURL(this.listQuery).then(response => {
- this.tableData = response.data.filter(item => {
- this.proLineList.forEach(it => {
- if (item.lineId === it.id) {
+ if (this.listQuery.reportTime.length == 0) {
+ this.$message({
+ message: '请选择时间',
+ type: 'warning'
+ })
+ return false
+ }
+ await this.urlOptions.getDataListURL(this.listQuery).then(res => {
+ res.data.forEach((ele, index) => {
+ if (ele.det === false) {
+ res.data[index].lineName = '合计'
+ this.remark = res.data[index].remark
+ res.data[index].dailyOutputTrend = res.data[index].dailyOutputTrend != 0 ? this.multipliedByHundred(res.data[index].dailyOutputTrend) + '%' : res.data[index].dailyOutputTrend == 0 ? 0 : undefined
+ res.data[index].originalGlassStatisticsTrend = res.data[index].originalGlassStatisticsTrend != 0 ? this.multipliedByHundred(res.data[index].originalGlassStatisticsTrend) + '%' : res.data[index].originalGlassStatisticsTrend == 0 ? 0 : undefined
+ res.data[index].actualProductTrend = res.data[index].actualProductTrend != 0 ? this.multipliedByHundred(res.data[index].actualProductTrend) + '%' : res.data[index].actualProductTrend == 0 ? 0 : undefined
+ res.data[index].originalGlassPassTrend = res.data[index].originalGlassPassTrend != 0 ? this.multipliedByHundred(res.data[index].originalGlassPassTrend) + '%' : res.data[index].originalGlassPassTrend == 0 ? 0 : undefined
+ }
+ })
+ res.data.forEach(item => {
+ this.proLineList.forEach(it => {
+ if (item.lineId === it.id) {
+ console.log(item)
item.lineName = it.name
- item.dailyOutputTrend = item.dailyOutputTrend ? parseFloat((item.dailyOutputTrend * 100).toFixed(2)) + '%' : null
- item.originalGlassStatisticsTrend = item.originalGlassStatisticsTrend ? parseFloat((item.originalGlassStatisticsTrend * 100).toFixed(2)) + '%' : null
- item.actualProductTrend = item.actualProductTrend ? parseFloat((item.originalGlassStatisticsTrend * 100).toFixed(2)) + '%' : null
- item.originalGlassPassTrend = item.originalGlassPassTrend ? parseFloat((item.originalGlassStatisticsTrend * 100).toFixed(2)) + '%' : null
- }
- })
- if (item.det === false) {
- this.all = {
- id: item.id,
- remark: item.remark
- }
- }
- return item.det === true
- });
+ item.dailyOutputTrend = item.dailyOutputTrend != 0 ? this.multipliedByHundred(item.dailyOutputTrend) + '%' : item.dailyOutputTrend == 0 ? 0 : undefined
+ item.originalGlassStatisticsTrend = item.originalGlassStatisticsTrend != 0 ? this.multipliedByHundred(item.originalGlassStatisticsTrend) + '%' : item.originalGlassStatisticsTrend == 0 ? 0 : undefined
+ item.actualProductTrend = item.actualProductTrend != 0 ? this.multipliedByHundred(item.actualProductTrend) + '%' : item.actualProductTrend == 0 ? 0 : undefined
+ item.originalGlassPassTrend = item.originalGlassPassTrend != 0 ? this.multipliedByHundred(item.originalGlassPassTrend) + '%' : item.originalGlassPassTrend == 0 ? 0 : undefined
+ }
+ })
+ })
+ this.tableData = res.data
this.listQuery.total = response.data.length;
this.dataListLoading = false;
});
@@ -230,16 +263,32 @@ export default {
/** 导出按钮操作 */
handleExport() {
// 处理查询参数
- let params = { ...this.listQuery };
- params.pageNo = undefined;
- params.pageSize = undefined;
- this.$modal.confirm('是否确认导出所有数据项?').then(() => {
- this.exportLoading = true;
- return this.urlOptions.exportURL(params);
- }).then(response => {
- this.$download.excel(response, '原片生产周报.xls');
- this.exportLoading = false;
- }).catch(() => { });
+ var xlsxParam = { raw: true };
+ /* 从表生成工作簿对象 */
+ var wb = XLSX.utils.table_to_book(
+ document.querySelector("#exportTable"),
+ xlsxParam
+ );
+ /* 获取二进制字符串作为输出 */
+ var wbout = XLSX.write(wb, {
+ bookType: "xlsx",
+ bookSST: true,
+ type: "array",
+ });
+ try {
+ FileSaver.saveAs(
+ //Blob 对象表示一个不可变、原始数据的类文件对象。
+ //Blob 表示的不一定是JavaScript原生格式的数据。
+ //File 接口基于Blob,继承了 blob 的功能并将其扩展使其支持用户系统上的文件。
+ //返回一个新创建的 Blob 对象,其内容由参数中给定的数组串联组成。
+ new Blob([wbout], { type: "application/octet-stream" }),
+ //设置导出文件名称
+ "许昌安彩周原片生产汇总.xlsx"
+ );
+ } catch (e) {
+ if (typeof console !== "undefined") console.log(e, wbout);
+ }
+ return wbout;
}
},
};
diff --git a/src/views/report/glass/year.vue b/src/views/report/glass/year.vue
index c9146476..6bff74f9 100644
--- a/src/views/report/glass/year.vue
+++ b/src/views/report/glass/year.vue
@@ -26,7 +26,8 @@ import { parseTime } from '../../core/mixins/code-filter';
import { getGlassPage, exportGlasscExcel } from '@/api/report/glass';
import inputTable from './inputTable.vue';
import { getCorePLList } from '@/api/base/coreProductionLine';
-
+import FileSaver from 'file-saver'
+import * as XLSX from 'xlsx'
export default {
components: { inputTable },
data() {
@@ -74,29 +75,61 @@ export default {
// 产线列表
const res = await getCorePLList();
this.proLineList = res.data;
- },
+ },
+ multipliedByHundred(str) {
+ if (str) {
+ let floatVal = parseFloat(str);
+ if (isNaN(floatVal)) {
+ return 0;
+ }
+ floatVal = Math.round(str * 10000) / 100;
+ let strVal = floatVal.toString();
+ let searchVal = strVal.indexOf('.');
+ if (searchVal < 0) {
+ searchVal = strVal.length;
+ strVal += '.';
+ }
+ while (strVal.length <= searchVal + 2) {
+ strVal += '0';
+ }
+ return parseFloat(strVal);
+ }
+
+ },
// 获取数据列表
async getDataList() {
this.dataListLoading = true;
- await this.urlOptions.getDataListURL(this.listQuery).then(response => {
- this.tableData = response.data.filter(item => {
- this.proLineList.forEach(it => {
+ if (this.listQuery.reportTime.length == 0) {
+ this.$message({
+ message: '请选择时间',
+ type: 'warning'
+ })
+ return false
+ }
+ await this.urlOptions.getDataListURL(this.listQuery).then(res => {
+ res.data.forEach((ele, index) => {
+ if (ele.det === false) {
+ res.data[index].lineName = '合计'
+ this.remark = res.data[index].remark
+ res.data[index].dailyOutputTrend = res.data[index].dailyOutputTrend != 0 ? this.multipliedByHundred(res.data[index].dailyOutputTrend) + '%' : res.data[index].dailyOutputTrend == 0 ? 0 : undefined
+ res.data[index].originalGlassStatisticsTrend = res.data[index].originalGlassStatisticsTrend != 0 ? this.multipliedByHundred(res.data[index].originalGlassStatisticsTrend) + '%' : res.data[index].originalGlassStatisticsTrend == 0 ? 0 : undefined
+ res.data[index].actualProductTrend = res.data[index].actualProductTrend != 0 ? this.multipliedByHundred(res.data[index].actualProductTrend) + '%' : res.data[index].actualProductTrend == 0 ? 0 : undefined
+ res.data[index].originalGlassPassTrend = res.data[index].originalGlassPassTrend != 0 ? this.multipliedByHundred(res.data[index].originalGlassPassTrend) + '%' : res.data[index].originalGlassPassTrend == 0 ? 0 : undefined
+ }
+ })
+ res.data.forEach(item => {
+ this.proLineList.forEach(it => {
if (item.lineId === it.id) {
- item.dailyOutputTrend = item.dailyOutputTrend ? parseFloat((item.dailyOutputTrend * 100).toFixed(2)) + '%' : null
- item.originalGlassStatisticsTrend = item.originalGlassStatisticsTrend ? parseFloat((item.originalGlassStatisticsTrend * 100).toFixed(2)) + '%' : null
- item.actualProductTrend = item.actualProductTrend ? parseFloat((item.originalGlassStatisticsTrend * 100).toFixed(2)) + '%' : null
- item.originalGlassPassTrend = item.originalGlassPassTrend ? parseFloat((item.originalGlassStatisticsTrend * 100).toFixed(2)) + '%' : null
- item.lineName = it.name
- }
- })
- if (item.det === false) {
- this.all = {
- id: item.id,
- remark: item.remark
- }
- }
- return item.det === true
- });
+ console.log(item)
+ item.lineName = it.name
+ item.dailyOutputTrend = item.dailyOutputTrend != 0 ? this.multipliedByHundred(item.dailyOutputTrend) + '%' : item.dailyOutputTrend == 0 ? 0 : undefined
+ item.originalGlassStatisticsTrend = item.originalGlassStatisticsTrend != 0 ? this.multipliedByHundred(item.originalGlassStatisticsTrend) + '%' : item.originalGlassStatisticsTrend == 0 ? 0 : undefined
+ item.actualProductTrend = item.actualProductTrend != 0 ? this.multipliedByHundred(item.actualProductTrend) + '%' : item.actualProductTrend == 0 ? 0 : undefined
+ item.originalGlassPassTrend = item.originalGlassPassTrend != 0 ? this.multipliedByHundred(item.originalGlassPassTrend) + '%' : item.originalGlassPassTrend == 0 ? 0 : undefined
+ }
+ })
+ })
+ this.tableData = res.data
this.listQuery.total = response.data.length;
this.dataListLoading = false;
});
@@ -139,16 +172,32 @@ export default {
/** 导出按钮操作 */
handleExport() {
// 处理查询参数
- let params = { ...this.listQuery };
- params.pageNo = undefined;
- params.pageSize = undefined;
- this.$modal.confirm('是否确认导出所有数据项?').then(() => {
- this.exportLoading = true;
- return this.urlOptions.exportURL(params);
- }).then(response => {
- this.$download.excel(response, '原片生产周报.xls');
- this.exportLoading = false;
- }).catch(() => { });
+ var xlsxParam = { raw: true };
+ /* 从表生成工作簿对象 */
+ var wb = XLSX.utils.table_to_book(
+ document.querySelector("#exportTable"),
+ xlsxParam
+ );
+ /* 获取二进制字符串作为输出 */
+ var wbout = XLSX.write(wb, {
+ bookType: "xlsx",
+ bookSST: true,
+ type: "array",
+ });
+ try {
+ FileSaver.saveAs(
+ //Blob 对象表示一个不可变、原始数据的类文件对象。
+ //Blob 表示的不一定是JavaScript原生格式的数据。
+ //File 接口基于Blob,继承了 blob 的功能并将其扩展使其支持用户系统上的文件。
+ //返回一个新创建的 Blob 对象,其内容由参数中给定的数组串联组成。
+ new Blob([wbout], { type: "application/octet-stream" }),
+ //设置导出文件名称
+ "许昌安彩年原片生产汇总.xlsx"
+ );
+ } catch (e) {
+ if (typeof console !== "undefined") console.log(e, wbout);
+ }
+ return wbout;
}
},
};
diff --git a/src/views/report/productionDayReport/index.vue b/src/views/report/productionDayReport/index.vue
index 0d8e23d0..2dcd82e4 100644
--- a/src/views/report/productionDayReport/index.vue
+++ b/src/views/report/productionDayReport/index.vue
@@ -1,13 +1,13 @@
-
+
@@ -17,10 +17,11 @@
@click="handleExport">导出
- 编辑
+ 编辑
+ 返回
保存
-
@@ -46,9 +47,9 @@
-
+
{{ scope.row.inputTrend ? parseFloat((scope.row.inputTrend * 100).toFixed(2)) + '%' :
- undefined}}
+ undefined}}
@@ -69,10 +70,10 @@
-
+
{{ scope.row.goodProductTrend ? parseFloat((scope.row.goodProductTrend * 100).toFixed(2)) +
- '%' : undefined }}
+ '%' : undefined }}
@@ -80,57 +81,75 @@
- {{ scope.row.missCheckNow }}
+ {{ scope.row.missCheckNow ? parseFloat((scope.row.missCheckNow *
+ 100).toFixed(2)) +
+ '%' : undefined }}
+
- {{ scope.row.missCheckHis }}
+ {{ scope.row.missCheckHis ? parseFloat((scope.row.missCheckHis *
+ 100).toFixed(2)) +
+ '%' : undefined }}
+
-
+
- {{ scope.row.missCheckTrend ? parseFloat((scope.row.missCheckTrend * 100).toFixed(2)) + '%' :
- undefined }}
+ {{ scope.row.missCheckTrend ? parseFloat((scope.row.missCheckTrend *
+ 100).toFixed(2)) +
+ '%' : undefined }}
+
-
+
- {{ scope.row.goodProductPassNow }}
+ {{ scope.row.goodProductPassNow ? parseFloat((scope.row.goodProductPassNow *
+ 100).toFixed(2)) +
+ '%' : undefined }}
+
-
+
- {{ scope.row.goodProductPassHis }}
+ {{ scope.row.goodProductPassHis ? parseFloat((scope.row.goodProductPassHis *
+ 100).toFixed(2)) +
+ '%' : undefined }}
+
-
+
{{ scope.row.goodProductPassTrend ? parseFloat((scope.row.goodProductPassTrend *
- 100).toFixed(2)) +
- '%' : undefined }}
+ 100).toFixed(2)) +
+ '%' : undefined }}
-