|
@@ -74,13 +74,6 @@
|
|
|
/>
|
|
|
</div>
|
|
|
<div class="btns">
|
|
|
- <!-- <el-button
|
|
|
- v-if="!editStatus && !addStatus"
|
|
|
- type="primary"
|
|
|
- class="btn"
|
|
|
- @click="changeEditstatus"
|
|
|
- >编辑</el-button
|
|
|
- > -->
|
|
|
<el-button
|
|
|
v-if="!addStatus && !editStatus"
|
|
|
type="primary"
|
|
@@ -106,39 +99,7 @@
|
|
|
>取消</el-button
|
|
|
>
|
|
|
</div>
|
|
|
- <!-- 导入代码 -->
|
|
|
- <!-- <div class="btns">
|
|
|
- <el-button
|
|
|
- class="btn"
|
|
|
- :type="disabled ? 'success' : 'primary'"
|
|
|
- @click="changeEdit"
|
|
|
- v-if="importStatus"
|
|
|
- >{{ disabled ? "保存" : "编辑" }}</el-button
|
|
|
- >
|
|
|
- <el-button
|
|
|
- v-if="disabled && importStatus"
|
|
|
- type="info"
|
|
|
- class="btn"
|
|
|
- @click="cancelEdit"
|
|
|
- >取消</el-button
|
|
|
- >
|
|
|
- <el-upload
|
|
|
- class="btn"
|
|
|
- :action="url"
|
|
|
- :show-file-list="false"
|
|
|
- accept=".xlsx, .xls"
|
|
|
- multiple
|
|
|
- :on-success="onSuccess"
|
|
|
- :headers="headers"
|
|
|
- >
|
|
|
- <el-button class="btn" type="primary">导入</el-button>
|
|
|
- </el-upload>
|
|
|
- </div> -->
|
|
|
</div>
|
|
|
- <!-- <div class="tableTitle">
|
|
|
- 调阻精度一致性检测表
|
|
|
- <span style="float: right; right: 30px">2024年</span>
|
|
|
- </div> -->
|
|
|
<div class="info" v-if="!addStatus">
|
|
|
<el-table
|
|
|
:data="tableData"
|
|
@@ -197,70 +158,6 @@
|
|
|
</el-tooltip>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
-<!-- <el-table-column
|
|
|
- width="100"
|
|
|
- prop="accuracys"
|
|
|
- align="center"
|
|
|
- label="数据"
|
|
|
- >
|
|
|
- <template #default="{ row }">
|
|
|
- <div v-for="(item, index) in row.accuracys" :key="index">
|
|
|
- <span>数值{{ index + 1 }}: {{ item }}</span>
|
|
|
- </div>
|
|
|
- </template>
|
|
|
- </el-table-column>-->
|
|
|
- <!-- <el-table-column align="center" :label="title">
|
|
|
- <el-table-column
|
|
|
- align="center"
|
|
|
- prop="accuracy1"
|
|
|
- width="60"
|
|
|
- label="数值1"
|
|
|
- >
|
|
|
- <template #default="{ row }"
|
|
|
- ><span>{{ row.accuracy1 }}</span>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column
|
|
|
- align="center"
|
|
|
- prop="accuracy2"
|
|
|
- width="60"
|
|
|
- label="数值2"
|
|
|
- >
|
|
|
- <template #default="{ row }"
|
|
|
- ><span>{{ row.accuracy2 }}</span>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column
|
|
|
- align="center"
|
|
|
- prop="accuracy3"
|
|
|
- width="60"
|
|
|
- label="数值3"
|
|
|
- >
|
|
|
- <template #default="{ row }"
|
|
|
- ><span>{{ row.accuracy3 }}</span>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column
|
|
|
- align="center"
|
|
|
- prop="accuracy4"
|
|
|
- width="60"
|
|
|
- label="数值4"
|
|
|
- >
|
|
|
- <template #default="{ row }"
|
|
|
- ><span>{{ row.accuracy4 }}</span>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column
|
|
|
- align="center"
|
|
|
- prop="accuracy5"
|
|
|
- width="60"
|
|
|
- label="数值5"
|
|
|
- >
|
|
|
- <template #default="{ row }"
|
|
|
- ><span>{{ row.accuracy5 }}</span>
|
|
|
- </template>
|
|
|
- </el-table-column> </el-table-column
|
|
|
- > -->
|
|
|
<el-table-column
|
|
|
align="center"
|
|
|
prop="avg"
|
|
@@ -340,227 +237,6 @@
|
|
|
/>
|
|
|
</div>
|
|
|
<div class="info" v-else>
|
|
|
- <!-- <el-table
|
|
|
- :data="addData"
|
|
|
- border
|
|
|
- :style="{ height: 120 + 'px', width: maxWidth + 'px' }"
|
|
|
- :show-overflow-tooltip="true"
|
|
|
- >
|
|
|
- <el-table-column
|
|
|
- align="center"
|
|
|
- width="60"
|
|
|
- prop="dateStr"
|
|
|
- label="日期"
|
|
|
- >
|
|
|
- <template #default="{ row }"
|
|
|
- >
|
|
|
- <el-input-number
|
|
|
-
|
|
|
- v-model="row.accuracy1"
|
|
|
- :precision="2"
|
|
|
- :step="0.01"
|
|
|
- width="60"
|
|
|
- />
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column
|
|
|
- align="center"
|
|
|
- width="140"
|
|
|
- prop="model"
|
|
|
- label="产品型号"
|
|
|
- >
|
|
|
- <template #default="{ row }"
|
|
|
- >
|
|
|
- <el-input-number
|
|
|
-
|
|
|
- v-model="row.accuracy1"
|
|
|
- :precision="2"
|
|
|
- :step="0.01"
|
|
|
- width="60"
|
|
|
- />
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column
|
|
|
- align="center"
|
|
|
- width="140"
|
|
|
- prop="batchNo"
|
|
|
- label="生产批号"
|
|
|
- >
|
|
|
- <template #default="{ row }"
|
|
|
- >
|
|
|
- <el-input-number
|
|
|
-
|
|
|
- v-model="row.accuracy1"
|
|
|
- :precision="2"
|
|
|
- :step="0.01"
|
|
|
- width="60"
|
|
|
- />
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column align="center" :label="showLable + '精度'">
|
|
|
- <el-table-column
|
|
|
- align="center"
|
|
|
- prop="accuracy1"
|
|
|
- width="180"
|
|
|
- label="精度1"
|
|
|
- >
|
|
|
- <template #default="{ row }"
|
|
|
- >
|
|
|
- <el-input-number
|
|
|
-
|
|
|
- v-model="row.accuracy1"
|
|
|
- :precision="2"
|
|
|
- :step="0.01"
|
|
|
- width="60"
|
|
|
- />
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column
|
|
|
- align="center"
|
|
|
- prop="accuracy2"
|
|
|
- width="180"
|
|
|
- label="精度2"
|
|
|
- >
|
|
|
- <template #default="{ row }"
|
|
|
- >
|
|
|
- <el-input-number
|
|
|
-
|
|
|
- v-model="row.accuracy2"
|
|
|
- :precision="2"
|
|
|
- :step="0.01"
|
|
|
- />
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column
|
|
|
- align="center"
|
|
|
- prop="accuracy3"
|
|
|
- width="180"
|
|
|
- label="精度3"
|
|
|
- >
|
|
|
- <template #default="{ row }"
|
|
|
- >
|
|
|
- <el-input-number
|
|
|
-
|
|
|
- v-model="row.accuracy3"
|
|
|
- :precision="2"
|
|
|
- :step="0.01"
|
|
|
- />
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column
|
|
|
- align="center"
|
|
|
- prop="accuracy4"
|
|
|
- width="180"
|
|
|
- label="精度4"
|
|
|
- >
|
|
|
- <template #default="{ row }"
|
|
|
- >
|
|
|
- <el-input-number
|
|
|
-
|
|
|
- v-model="row.accuracy4"
|
|
|
- :precision="2"
|
|
|
- :step="0.01"
|
|
|
- />
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column
|
|
|
- align="center"
|
|
|
- prop="accuracy5"
|
|
|
- width="180"
|
|
|
- label="精度5"
|
|
|
- >
|
|
|
- <template #default="{ row }"
|
|
|
- >
|
|
|
- <el-input-number
|
|
|
-
|
|
|
- v-model="row.accuracy5"
|
|
|
- :precision="2"
|
|
|
- :step="0.01"
|
|
|
- />
|
|
|
- </template>
|
|
|
- </el-table-column> </el-table-column
|
|
|
- ><el-table-column align="center" prop="avg" label="平均值">
|
|
|
- <template #default="{ row }"
|
|
|
- >
|
|
|
- <el-input-number
|
|
|
-
|
|
|
- v-model="row.accuracy1"
|
|
|
- :precision="2"
|
|
|
- :step="0.01"
|
|
|
- width="60"
|
|
|
- />
|
|
|
- </template> </el-table-column
|
|
|
- ><el-table-column align="center" prop="range" label="极差">
|
|
|
- <template #default="{ row }"
|
|
|
- >
|
|
|
- <el-input-number
|
|
|
-
|
|
|
- v-model="row.accuracy1"
|
|
|
- :precision="2"
|
|
|
- :step="0.01"
|
|
|
- width="60"
|
|
|
- />
|
|
|
- </template> </el-table-column
|
|
|
- ><el-table-column align="center" prop="checkUser" label="检测人">
|
|
|
- <template #default="{ row }"
|
|
|
- >
|
|
|
- <el-input-number
|
|
|
-
|
|
|
- v-model="row.accuracy1"
|
|
|
- :precision="2"
|
|
|
- :step="0.01"
|
|
|
- width="60"
|
|
|
- />
|
|
|
- </template> </el-table-column
|
|
|
- ><el-table-column
|
|
|
- align="center"
|
|
|
- prop="checkDeviceNo"
|
|
|
- label="检查设备编号"
|
|
|
- >
|
|
|
- <template #default="{ row }"
|
|
|
- >
|
|
|
- <el-input-number
|
|
|
-
|
|
|
- v-model="row.accuracy1"
|
|
|
- :precision="2"
|
|
|
- :step="0.01"
|
|
|
- width="60"
|
|
|
- />
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column align="center" prop="abnormal" label="是否异常">
|
|
|
- <template #default="{ row }"
|
|
|
- >
|
|
|
- <el-input-number
|
|
|
-
|
|
|
- v-model="row.accuracy1"
|
|
|
- :precision="2"
|
|
|
- :step="0.01"
|
|
|
- width="60"
|
|
|
- />
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column align="center" prop="analyseUser" label="分析人">
|
|
|
- <template #default="{ row }"
|
|
|
- >
|
|
|
- <el-input-number
|
|
|
-
|
|
|
- v-model="row.accuracy1"
|
|
|
- :precision="2"
|
|
|
- :step="0.01"
|
|
|
- width="60"
|
|
|
- />
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column align="center" prop="measure" label="处置措施" />
|
|
|
- <template #empty>
|
|
|
- <div>
|
|
|
- <span style="color: green; font-size: 16px"
|
|
|
- >请先导入文件</span
|
|
|
- >
|
|
|
- </div>
|
|
|
- </template>
|
|
|
- </el-table> -->
|
|
|
<el-form
|
|
|
ref="ruleFormRef"
|
|
|
:model="addData"
|
|
@@ -645,31 +321,6 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="box" v-show="!addStatus">
|
|
|
- <!-- <div
|
|
|
- style="
|
|
|
- display: flex;
|
|
|
- align-items: center;
|
|
|
- justify-content: space-between;
|
|
|
- "
|
|
|
- >
|
|
|
- <div style="display: flex; align-items: center">
|
|
|
- <div class="bg"></div>
|
|
|
- 控制图绘制
|
|
|
- </div>
|
|
|
-
|
|
|
- <el-button
|
|
|
- type="primary"
|
|
|
- v-print="'#print'"
|
|
|
- style="margin-left: 10px; height: 25px"
|
|
|
- >打 印</el-button
|
|
|
- >
|
|
|
- </div>
|
|
|
- <div class="info">
|
|
|
- <div id="print">
|
|
|
- <div id="charts" :style="{ height: maxHeight / 2 + 'px' }"></div>
|
|
|
- <div id="charts1" :style="{ height: maxHeight / 2 + 'px' }"></div>
|
|
|
- </div>
|
|
|
- </div>-->
|
|
|
<div class="info" v-if="value2 === 'X̅-R'">
|
|
|
<XbarR ref="xbarRRef" :process="showLable" />
|
|
|
</div>
|
|
@@ -702,7 +353,7 @@
|
|
|
|
|
|
<script setup>
|
|
|
import { ref } from "vue";
|
|
|
-import XbarR from "./Xbar-R.vue";
|
|
|
+import XbarR from "./Xbar-R-2.vue";
|
|
|
import XbarS from "./Xbar-S-2.vue";
|
|
|
import P from "./P.vue";
|
|
|
import NP from "./NP.vue";
|
|
@@ -806,10 +457,10 @@ const getTableData = async () => {
|
|
|
if (code == "200") {
|
|
|
tableData.value = data.records;
|
|
|
showData.value = { ...data, list: null };
|
|
|
- if (tableData.value.length > 0) {
|
|
|
- setChart1();
|
|
|
- setChart2();
|
|
|
- }
|
|
|
+ // if (tableData.value.length > 0) {
|
|
|
+ // setChart1();
|
|
|
+ // setChart2();
|
|
|
+ // }
|
|
|
currentOption.total = data.totalCount;
|
|
|
currentOption.page = data.pageNo;
|
|
|
oldDataJSON.value = JSON.stringify(data.records);
|
|
@@ -1116,7 +767,7 @@ const taskOption = ref([]);
|
|
|
const value = ref(opOptions.value[0].remark);
|
|
|
const title = ref("调阻精度");
|
|
|
|
|
|
-const value2 = ref(sccOptions.value[0].dictValue);
|
|
|
+var value2 = ref("");
|
|
|
|
|
|
const showLable = ref("调阻");
|
|
|
const changeSelect = () => {
|
|
@@ -1153,8 +804,8 @@ const changeSelect = () => {
|
|
|
// item.avg = 0;
|
|
|
// item.range = 0;
|
|
|
// });
|
|
|
- setChart1();
|
|
|
- setChart2();
|
|
|
+ // setChart1();
|
|
|
+ changeSelect2();
|
|
|
}, 0);
|
|
|
};
|
|
|
const changeSelect2 = () => {
|
|
@@ -1548,7 +1199,7 @@ const setView = () => {
|
|
|
charts1.value.setOption(chartsOption1.value, true);
|
|
|
charts2.value.setOption(chartsOption2.value, true);
|
|
|
};
|
|
|
-onMounted(() => {
|
|
|
+onMounted(async () => {
|
|
|
getTaskOption();
|
|
|
setHeight();
|
|
|
year.value = new Date().getFullYear() + "";
|
|
@@ -1557,17 +1208,21 @@ onMounted(() => {
|
|
|
lableValue.value = item.dictValue;
|
|
|
}
|
|
|
});
|
|
|
- getTableData();
|
|
|
- nextTick(() => {
|
|
|
- charts1.value = echarts.init(document.getElementById("charts"));
|
|
|
- charts2.value = echarts.init(document.getElementById("charts1"));
|
|
|
- charts1.value.setOption(chartsOption1.value, true);
|
|
|
- charts2.value.setOption(chartsOption2.value, true);
|
|
|
- });
|
|
|
- window.addEventListener("resize", setView);
|
|
|
+
|
|
|
+ await getTableData();
|
|
|
+ value2.value = "X̅-R";
|
|
|
+ xbarRRefMethod();
|
|
|
+
|
|
|
+ // nextTick(() => {
|
|
|
+ // charts1.value = echarts.init(document.getElementById("charts"));
|
|
|
+ // charts2.value = echarts.init(document.getElementById("charts1"));
|
|
|
+ // charts1.value.setOption(chartsOption1.value, true);
|
|
|
+ // charts2.value.setOption(chartsOption2.value, true);
|
|
|
+ // });
|
|
|
+ // window.addEventListener("resize", setView);
|
|
|
});
|
|
|
onBeforeUnmount(() => {
|
|
|
- window.removeEventListener("resize", setView);
|
|
|
+ // window.removeEventListener("resize", setView);
|
|
|
});
|
|
|
</script>
|
|
|
|