From 15ac79a640187f1bc4d52d911428786bfdc710bd Mon Sep 17 00:00:00 2001
From: 王震 <10952869+daywangzhen@user.noreply.gitee.com>
Date: 星期二, 22 八月 2023 09:36:50 +0800
Subject: [PATCH] 新增检验功能完善
---
src/views/laboratory/measure/index.vue | 872 ++++++++++++++++++++++++++++++++++-----------------------
1 files changed, 521 insertions(+), 351 deletions(-)
diff --git a/src/views/laboratory/measure/index.vue b/src/views/laboratory/measure/index.vue
index f7efa18..c32c063 100644
--- a/src/views/laboratory/measure/index.vue
+++ b/src/views/laboratory/measure/index.vue
@@ -1,398 +1,568 @@
<template>
<div>
- <div class="content-main">
- <div class="top-bar">
- <el-form ref="form" :inline="true" :model="searchData">
- <el-form-item :label="this.radioValue === 0 ? '浠櫒璁惧缂栧彿:' : '缂栧彿:'" class="sermargin">
- <el-input
- v-model="searchData.code"
- class="input-form"
- placeholder="璇疯緭鍏�"
- >
- </el-input>
- </el-form-item>
- <el-form-item :label="this.radioValue === 0 ? '浠櫒璁惧鍚嶇О:' : '璁惧鍚嶇О'" class="sermargin">
- <el-input
- v-model="searchData.name"
- class="input-form"
- placeholder="璇疯緭鍏�"
- >
- </el-input>
- </el-form-item>
- <el-form-item :label="this.radioValue === 0 ? '璁¢噺鍗曚綅:' : '璁¢噺鍗曚綅锛�'" style="margin-right: 20px;">
- <el-input
- v-model="searchData.measureunit"
- class="input-form"
- placeholder="璇疯緭鍏�"
- >
- </el-input>
- </el-form-item>
- </el-form>
- <el-form>
- <el-form-item v-if="this.radioValue === 0" class="rightBtn">
- <el-button type="primary" @click="search">鏌ヨ</el-button>
- <el-button type="primary" plain @click="reset">閲嶇疆</el-button>
- </el-form-item>
- <el-form-item v-if="this.radioValue === 1" class="rightBtn">
- <el-button type="primary" icon="el-icon-plus">鏂板璁″垝</el-button>
- </el-form-item>
- </el-form>
- </el-form>
- </div>
- <div class="library-table">
- <div class="table-header">
- <div class="search-bar">
- <el-radio-group v-model="radioValue" @change="radioclick">
- <el-radio-button v-for="item in options" :key="item.value" :label="item.value">
+ <div class="content-main">
+ <div class="top-bar">
+ <el-form :hidden="lookVisible" ref="form" :inline="true" :model="searchData">
+ <el-form-item :label="this.radioValue === 0 ? '浠櫒璁惧缂栧彿:' : '璁″垝缂栧彿:'" class="sermargin">
+ <el-input v-model="searchData.code" @blur="blurSearch()" class="input-form" placeholder="璇疯緭鍏�">
+ </el-input>
+ </el-form-item>
+ <el-form-item v-if="this.radioValue === 0" :label="this.radioValue === 0 ? '浠櫒璁惧鍚嶇О:' : '璁惧鍚嶇О'"
+ class="sermargin">
+ <el-input v-model="searchData.name" class="input-form" placeholder="璇疯緭鍏�">
+ </el-input>
+ </el-form-item>
+ <el-form-item v-if="this.radioValue === 0" :label="this.radioValue === 0 ? '璁¢噺鍗曚綅:' : '璁¢噺鍗曚綅锛�'"
+ style="margin-right: 20px;">
+ <el-input v-model="searchData.measureunit" class="input-form" placeholder="璇疯緭鍏�">
+ </el-input>
+ </el-form-item>
+ </el-form>
+ <el-form :hidden="lookVisible">
+ <el-form-item v-if="this.radioValue === 0" class="rightBtn">
+ <el-button type="primary" @click="search">鏌ヨ</el-button>
+ <el-button type="primary" plain @click="reset()">閲嶇疆</el-button>
+ </el-form-item>
+ <el-form-item v-if="this.radioValue === 1" class="rightBtn">
+ <el-button type="primary" @click="addPlan()" icon="el-icon-plus">鏂板璁″垝</el-button>
+ </el-form-item>
+ </el-form>
+ </div>
+ <div class="library-table">
+ <div class="table-header">
+ <div class="search-bar">
+ <el-radio-group v-model="radioValue" @change="radioclick">
+ <el-radio-button v-for="item in options" :key="item.value" :label="item.value">
{{ item.label }}
</el-radio-button>
- </el-radio-group>
- </div>
- </div>
- <div class="table-box">
- <el-table
- v-if="this.radioValue === 0"
- :max-height="800"
- :cell-style="{textAlign: 'center'}"
- :header-cell-style="{border:'0px',background:'#f5f7fa',color:'#606266',boxShadow: 'inset 0 1px 0 #ebeef5',textAlign: 'center'}"
- :data="measureLedgerTable"
- style="width: 100%"
- >
- <el-table-column
- type="selection"
- min-width="10%"
- />
- <el-table-column
- prop="equipment_code"
- label="浠櫒璁惧缂栧彿"
- min-width="10%"
- />
- <el-table-column
- prop="equipment_name"
- label="浠櫒璁惧鍚嶇О"
- min-width="10%"
- />
- <el-table-column
- prop="measure_range"
- label="娴嬮噺鑼冨洿"
- min-width="15%"
- />
- <el-table-column
- prop="measurecycle"
- label="璁¢噺鍛ㄦ湡"
- min-width="6%"
- />
- <el-table-column
- prop="mesureresult"
- label="璁¢噺缁撴灉"
- min-width="6%">
- <template slot-scope="scope">
- <div v-if="scope.row.mesureresult === 1">
- <span style="color: green;">姝e父</span>
- </div>
- <div v-else>
- <span style="color: red;">澶卞噯</span>
- </div>
- </template>
- </el-table-column>
- <el-table-column
- prop="date"
- label="璁¢噺鏃ユ湡"
- min-width="12%"
- />
- <el-table-column
- prop="term_validity"
- label="璁¢噺鏈夋晥鏈�"
- min-width="8%"
- />
- <el-table-column
- prop="head"
- label="璐熻矗浜�"
- min-width="6%"
- />
- <el-table-column
- prop="create_time"
- label="鍒涘缓鏃ユ湡"
- min-width="8%"
- />
- <el-table-column
- prop="create_person"
- label="鍒涘缓浜�"
- min-width="8%"
- />
- <el-table-column
- prop="measure_code"
- label="璁¢噺缂栧彿"
- min-width="8%"
- />
- <el-table-column
- label="鎿嶄綔"
- min-width="15%"
- >
- <template slot-scope="scope">
- <el-button type="text" size="small" >鏌ョ湅璁¢噺灞ュ巻</el-button>
- <el-button type="text" size="small" >鏌ョ湅闄勪欢</el-button>
- </template>
- </el-table-column>
- </el-table>
- <el-table
- v-show="this.radioValue === 1"
- :max-height="800"
- :cell-style="{textAlign: 'center'}"
- :header-cell-style="{border:'0px',background:'#f5f7fa',color:'#606266',boxShadow: 'inset 0 1px 0 #ebeef5',textAlign: 'center'}"
- :data="measurePlanTable"
- style="width: 100%"
- >
- <el-table-column
- type="selection"
- min-width="10%"
- />
- <el-table-column
- prop="measure_number"
- label="璁¢噺鍗曞彿"
- min-width="10%"
- />
- <el-table-column
- prop="equipment_code"
- label="璁惧缂栧彿"
- min-width="10%"
- />
- <el-table-column
- prop="equipment_name"
- label="璁惧鍚嶇О"
- min-width="8%"
- />
- <el-table-column
- prop="scheduled_date"
- label="璁″垝鏃ユ湡"
- min-width="15%"
- />
- <el-table-column
- prop="measure_state"
- label="璁¢噺鐘舵��"
- min-width="6%">
- <template slot-scope="scope">
- <div v-if="scope.row.measure_state === 1">
- <span style="color: green;">宸插畬鎴�</span>
- </div>
- <div v-else>
- <span style="color: red;">鏈畬鎴�</span>
- </div>
- </template>
- </el-table-column>
- <el-table-column
- prop="head"
- label="璁¢噺璐熻矗浜�"
- min-width="12%"
- />
- <el-table-column
- prop="department"
- label="璁¢噺鍗曚綅"
- min-width="8%"
- />
- <el-table-column
- prop="creater"
- label="鍒涘缓浜�"
- min-width="6%"
- />
- <el-table-column
- prop="create_date"
- label="鍒涘缓鏃ユ湡"
- min-width="8%"
- />
- <el-table-column
- label="鎿嶄綔"
- min-width="15%"
- >
- <template slot-scope="scope">
- <el-button type="text" size="small" >鏌ョ湅璁¢噺灞ュ巻</el-button>
- <el-button type="text" size="small" >鏌ョ湅闄勪欢</el-button>
- </template>
- </el-table-column>
- </el-table>
- <!-- 鍒嗛〉鍣� -->
- <div class="pagination">
- <el-pagination
- @size-change="handleSizeChange"
- @current-change="handleCurrentChange"
- :current-page="currentPage"
- :page-sizes="[5, 10, 20]"
- :page-size="pageSize"
- layout="total, sizes, prev, pager, next, jumper"
- :total="total">
- </el-pagination>
- </div>
- </div>
+ </el-radio-group>
</div>
+ </div>
+ <div class="table-box">
+ <el-table v-if="this.radioValue == 0" :max-height="800" :cell-style="{ textAlign: 'center' }"
+ :header-cell-style="{ border: '0px', background: '#f5f7fa', color: '#606266', boxShadow: 'inset 0 1px 0 #ebeef5', textAlign: 'center' }"
+ :data="measureLedgerTable" style="width: 100%">
+ <el-table-column type="index" min-width="10%" />
+ <el-table-column prop="equipmentCode" label="浠櫒璁惧缂栧彿" min-width="10%" />
+ <el-table-column label="璁¢噺鍗曚綅" prop="measurementUnit" min-width="10%"></el-table-column>
+ <el-table-column prop="equipmentName" label="浠櫒璁惧鍚嶇О" min-width="10%" />
+ <el-table-column prop="measuringRange" label="娴嬮噺鑼冨洿" min-width="10%" />
+ <el-table-column prop="termValidity" label="璁¢噺鍛ㄦ湡" min-width="10%">
+ <template slot-scope="scope">
+ {{ scope.row.termValidity }}鏈�
+ </template>
+ </el-table-column>
+ <el-table-column prop="result" label="璁¢噺缁撴灉" min-width="10%">
+ <template slot-scope="scope">
+ <div v-if="scope.row.result === 1">
+ <span style="color: rgb(78, 210, 16);">姝e父</span>
+ </div>
+ <div v-else-if="scope.row.result === 2">
+ <span style="color: rgb(27, 202, 233);">鐭鍚庡彲鐢�</span>
+ </div>
+ <div v-else>
+ <span style="color: red;">澶卞噯</span>
+ </div>
+ </template>
+ </el-table-column>
+ <el-table-column prop="endDate" label="璁¢噺鏃ユ湡" min-width="12%" />
+ <el-table-column prop="validit" label="璁¢噺鏈夋晥鏈�" min-width="10%" />
+ <el-table-column prop="name" label="璐熻矗浜�" min-width="10%" />
+ <el-table-column prop="createTime" label="鍒涘缓鏃ユ湡" min-width="10%" />
+ <el-table-column prop="name" label="鍒涘缓浜�" min-width="8%" />
+ <el-table-column prop="code" label="璁¢噺缂栧彿" min-width="8%" />
+ <el-table-column label="鎿嶄綔" min-width="15%">
+ <template slot-scope="scope">
+ <el-button type="text" @click="lookMeasurement(scope.row.equipmentCode)" size="small">鏌ョ湅璁¢噺灞ュ巻</el-button>
+ <el-button type="text" size="small">鏌ョ湅闄勪欢</el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+ <el-table v-show="this.radioValue == 1" :max-height="800" :cell-style="{ textAlign: 'center' }"
+ :header-cell-style="{ border: '0px', background: '#f5f7fa', color: '#606266', boxShadow: 'inset 0 1px 0 #ebeef5', textAlign: 'center' }"
+ :data="measurePlanTable" style="width: 100%">
+ <el-table-column type="index" min-width="10%" />
+ <el-table-column prop="plannedOrderNumber" label="璁″垝缂栧彿" min-width="10%" />
+ <el-table-column prop="palanDate" label="璁″垝鏃ユ湡" min-width="10%">
+ <template lot-scope="scope">
+ <!-- {{ scope.row.palanDate }} -->
+ </template>
+ </el-table-column>
+ <el-table-column prop="status" label="璁″垝鐘舵��" min-width="6%">
+ <template slot-scope="scope">
+ <div v-if="scope.row.status == 1">
+ <span style="color: green;">宸插畬鎴�</span>
+ </div>
+ <div v-else>
+ <span style="color: red;">鏈畬鎴�</span>
+ </div>
+ </template>
+ </el-table-column>
+ <el-table-column prop="measurePerson" label="璁″垝璐熻矗浜�" min-width="12%" />
+ <el-table-column prop="createPerson" label="鍒涘缓浜�" min-width="10%" />
+ <el-table-column label="鍒涘缓鏃堕棿" prop="createTime" min-width="10%" />
+ <el-table-column prop="id" label="鎿嶄綔" min-width="15%">
+ <template slot-scope="scope">
+ <el-button type="text" size="small" @click="lookPalan(scope.row.id)">鏌ョ湅璁¢噺灞ュ巻</el-button>
+ <el-button type="text" size="small">鏌ョ湅闄勪欢</el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+ <!-- 鍒嗛〉鍣� -->
+ <div style="display: flex;justify-content: end;">
+ <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
+ :current-page="currentPage" :page-sizes="[5, 10, 20]" :page-size="pageSize"
+ layout="total, sizes, prev, pager, next, jumper" :total="total">
+ </el-pagination>
+ </div>
+ </div>
</div>
+ <div
+ :style="`position: absolute;top:${addTop}px;left: 9px;transition: 1s;width: 99%;height: 82vh;background-color: #fff;z-index: 21;`">
+ <Add ref="add" />
+ </div>
+ <div id="myMOdel"
+ :style="`position: absolute;transition: 1s;top:${mymodelTop}px; left: 9px; width: 99%; height: 85vh; background-color: #fff;z-index: 20;`">
+ <el-col :span="10">
+ <p style="font-size: 13px;padding-left: 40px;">璁″垝淇℃伅</p>
+ </el-col>
+ <el-col>
+ <el-form :model="planInfo" style="padding-left: 150px;color: #9b9898;">
+ <el-form-item>
+ <el-col :span="8">璁″垝缂栧彿锛�<span style="color: black;">{{ planInfo.plannedOrderNumber }}</span></el-col>
+ <el-col :span="8">璐熻矗浜猴細<span style="color: black;">{{ planInfo.measurePerson }}</span></el-col>
+ <el-col :span="8">璁″垝鏃堕棿锛�<span style="color: black;">{{ planInfo.planDate }}</span></el-col>
+ </el-form-item>
+ <el-form-item>
+ <el-col :span="8">璁¢噺鍗曚綅锛�<span style="color: black;">{{ planInfo.unit }}</span></el-col>
+ <el-col :span="8">鍒涘缓浜猴細<span style="color: black;">{{ planInfo.createPerson }}</span></el-col>
+ <el-col :span="8">鍒涘缓鏃堕棿锛�<span style="color: black;">{{ planInfo.createTime }}</span></el-col>
+ </el-form-item>
+ </el-form>
+ </el-col>
+ <el-col>
+ <el-col style="font-size: 13px;padding-left: 55px;">
+ 璁¢噺淇℃伅
+ </el-col>
+ <el-col>
+ <el-progress style="width: 95%;padding-left: 40px;margin-top: 20px;" :percentage="6" :stroke-width="2"
+ :show-text="false"></el-progress>
+ </el-col>
+ </el-col>
+ <el-col style="width:93%;height: 20vh;margin-top: 30px; margin-left: 40px;">
+ <el-table :data="measureData">
+ <el-table-column type="index" label="搴忓彿" />
+ <el-table-column prop="equipmentCode" label="浠櫒璁惧缂栧彿" />
+ <el-table-column prop="equipmentName" label="浠櫒璁惧鍚嶇О" />
+ <el-table-column prop="measuringRange" label="娴嬮噺鑼冨洿" />
+ <el-table-column prop="termValidity" label="璁$畻鍛ㄦ湡">
+ <template slot-scope="scope">
+ {{ scope.row.termValidity }}鏈�
+ </template>
+ </el-table-column>
+ <el-table-column prop="result" label="璁$畻缁撴灉">
+ <template slot-scope="scopeResult">
+ <div v-if="scopeResult.row.result === 1">
+ <span style="color: rgb(78, 210, 16);">姝e父</span>
+ </div>
+ <div v-else-if="scopeResult.row.result === 2">
+ <span style="color: rgb(27, 202, 233);">鐭鍚庡彲鐢�</span>
+ </div>
+ <div v-else-if="scopeResult.row.result == '' || scopeResult.row.result == null">
+ <span style="color: #424744;">鏆傛湭璁¢噺</span>
+ </div>
+ <div v-else>
+ <span style="color: red;">澶卞噯</span>
+ </div>
+ </template>
+ </el-table-column>
+ <el-table-column label="璁$畻鏃ユ湡">
+ <template slot-scope="scopeEndDate">
+ <span v-if="scopeEndDate.row.endDate != '' && scopeEndDate.row.endDate != null">{{
+ scopeEndDate.row.endDate
+ }}</span>
+ <span v-else>鏃�</span>
+ </template>
+ </el-table-column>
+ <el-table-column prop="validit" label="璁$畻鏈夋晥鏈�" />
+ <el-table-column prop="measurementName" label="璐熻矗浜�" />
+ <el-table-column prop="imCreateTime" label="鍒涘缓鏃ユ湡" />
+ <el-table-column prop="measurementName" label="鍒涘缓浜�" />
+ <el-table-column prop="measurementUnit" label="璁¢噺鍗曚綅" />
+ <el-table-column prop="code" label="璁¢噺缂栧彿" />
+ <el-table-column prop="equipmentCode" label="鎿嶄綔">
+ <template slot-scope="scope">
+ <a @click="measureUp(scope)" style="color: deepskyblue;">璁¢噺</a>
+ </template>
+ </el-table-column>
+ </el-table>
+ </el-col>
+ <el-col style="width: 93%;margin-left: 40px; margin-top: 250px;display: flex;justify-content: end;">
+ <el-pagination @size-change="handleSizeChangePlan" @current-change="handleCurrentChangePllan"
+ :current-page="currentPagePlan" :page-sizes="[5, 10]" :page-size="pageSizePlan"
+ layout="total, sizes, prev, pager, next, jumper" :total="totalPlan">
+ </el-pagination>
+ </el-col>
+ </div>
+ <el-dialog class="measureForm" title="璁¢噺" :visible.sync="dialogVisible">
+ <el-form label-position="top" ref="upmeasureForm" :model="measureUpInfo">
+ <el-row :gutter="20">
+ <el-col :span="24">
+ <el-form-item label="妫�瀹氭湁鏁堟湡" prop="date"
+ :rules="[{ required: true, message: '璇烽�夋嫨妫�瀹氭湁鏁堟湡', trigger: 'change' }]">
+ <el-date-picker v-model="measureUpInfo.date" type="date" placeholder="閫夋嫨鏃ユ湡">
+ </el-date-picker>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row :gutter="20">
+ <el-col :span="12">
+ <el-form-item label="涓嶇‘瀹氬害" prop="uncertainty"
+ :rules="[{ required: true, message: '璇峰~鍐欎笉纭畾搴�', trigger: 'blur' }]">
+ <el-input placeholder="璇峰~鍐欎笉纭畾搴�" v-model="measureUpInfo.uncertainty" />
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="缁撴灉" prop="result" :rules="[{ required: true, message: '璇烽�夋嫨缁撴灉', trigger: 'change' }]">
+ <el-select v-model="measureUpInfo.result" clearable filterable :allow-create="true" placeholder="璇烽�夋嫨缁撴灉"
+ style="width:100%">
+ <el-option v-for="item in result" :key="item.id" :label="item.label" :value="item.value" />
+ </el-select>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row :gutter="20">
+ <el-col :span="24">
+ <el-form-item label="鎬ц兘鎸囨爣">
+ <el-input v-model="measureUpInfo.performanceIndex" type="textarea" :rows="2" placeholder="璇疯緭鍏ュ唴瀹�" />
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row :gutter="20">
+ <el-col :span="24">
+ <el-form-item label="澶囨敞">
+ <el-input v-model="measureUpInfo.remarks" type="textarea" :rows="2" placeholder="璇疯緭鍏ュ唴瀹�" />
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row :gutter="20">
+ <el-col :span="24">
+ <el-form-item label="">
+ <el-upload class="upload-demo" action="#" :on-change="handleUploadupdated" :auto-upload="false">
+ <el-button size="small" type="primary">鐐瑰嚮涓婁紶</el-button>
+ </el-upload>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ </el-form>
+ <span slot="footer" class="dialog-footer">
+ <el-button type="primary" @click="upMeasure">纭� 瀹�</el-button>
+
+ <el-button @click="dialogVisible = false">鍙� 娑�</el-button>
+ </span>
+ </el-dialog>
+ </div>
</div>
</template>
<script>
-import { getPlanPageList, getStandingPageList } from '@/api/laboratory/measure'
+import { getPlanPageList, getStandingPageList, getPlanMeasureInstrument, limitGetPlanMeasureRequest, updateMetricalInformationInfo } from '@/api/laboratory/measure'
+import { default as Add } from "./Add.vue";
export default {
+ components: {
+ Add: () => import('./Add.vue')
+ },
data() {
return {
- searchData:{
+ dialogVisible: false,
+ tableIndex: null,
+ measureUpInfo: {
+ id: null,
+ code: null,
+ result: null,
+ date: null,
+ uncertainty: null,
+ performanceIndex: null,
+ remarks: null,
+ file: null,
+ termValidity: null
+ },
+ result: [{
+ label: '鍚堟牸',
+ value: 1
+ }, {
+ label: '鐭鍚庡彲鐢�',
+ value: 2
+ }, {
+ label: '涓嶅悎鏍�',
+ value: 3
+ }],
+ searchData: {
code: '',
name: '',
measureunit: ''
},
radioValue: 0,
- options:[{
+ options: [{
value: 0,
label: '璁¢噺鍙拌处'
- },{
- value: 1 ,
+ }, {
+ value: 1,
label: '璁¢噺璁″垝'
}],
- measureLedgerTable: [{
- equipment_code: 'JSTC-W1-00001', // 浠櫒璁惧缂栧彿
- equipment_name: '鏁板瓧鐢垫ˉ', // 浠櫒璁惧鍚嶇О
- measure_range: '---', // 娴嬮噺鑼冨洿
- measurecycle: '12鏈�', // 璁¢噺鍛ㄦ湡
- mesureresult: 1, // 璁¢噺缁撴灉
- date: '2022-07-20', // 璁¢噺鏃ユ湡
- term_validity: '2023-07-20', // 璁¢噺鏈夋晥鏈�
- head: '榛勫皬鏄�' , // 璐熻矗浜�
- create_time: '2023-07-20', // 鍒涘缓鏃ユ湡
- create_person: '榛勫皬鏄�', // 鍒涘缓浜�
- measure_code: 'QCX20230720' // 璁¢噺缂栧彿
- },{
- equipment_code: 'JSTC-W1-00001', // 浠櫒璁惧缂栧彿
- equipment_name: '鏁板瓧鐢垫ˉ', // 浠櫒璁惧鍚嶇О
- measure_range: '---', // 娴嬮噺鑼冨洿
- measurecycle: '12鏈�', // 璁¢噺鍛ㄦ湡
- mesureresult: 0, // 璁¢噺缁撴灉
- date: '2022-07-20', // 璁¢噺鏃ユ湡
- term_validity: '2023-07-20', // 璁¢噺鏈夋晥鏈�
- head: '榛勫皬鏄�' , // 璐熻矗浜�
- create_time: '2023-07-20', // 鍒涘缓鏃ユ湡
- create_person: '榛勫皬鏄�', // 鍒涘缓浜�
- measure_code: 'QCX20230720' // 璁¢噺缂栧彿
- },{
- equipment_code: 'JSTC-W1-00001', // 浠櫒璁惧缂栧彿
- equipment_name: '鏁板瓧鐢垫ˉ', // 浠櫒璁惧鍚嶇О
- measure_range: '---', // 娴嬮噺鑼冨洿
- measurecycle: '12鏈�', // 璁¢噺鍛ㄦ湡
- mesureresult: 1, // 璁¢噺缁撴灉
- date: '2022-07-20', // 璁¢噺鏃ユ湡
- term_validity: '2023-07-20', // 璁¢噺鏈夋晥鏈�
- head: '榛勫皬鏄�' , // 璐熻矗浜�
- create_time: '2023-07-20', // 鍒涘缓鏃ユ湡
- create_person: '榛勫皬鏄�', // 鍒涘缓浜�
- measure_code: 'QCX20230720' // 璁¢噺缂栧彿
- }],
- measurePlanTable: [{
- measure_number: 'QC568946512', // 璁¢噺鍗曞彿
- equipment_code: '010101', // 璁惧缂栧彿
- equipment_name: '鎷夊姏鏈�', // 璁惧鍚嶇О
- scheduled_date: '2023-04-08 ~ 2023-08-08', // 璁″垝鏃ユ湡
- measure_state: 1, // 璁¢噺鐘舵��
- head: '榛勫皬鏄�', // 璁¢噺璐熻矗浜�
- department: '鍦扮嚎妫�娴�', // 璁¢噺鍗曚綅
- creater: '榛勫皬鏄�', // 鍒涘缓浜�
- create_date: '2023-07-20', // 鍒涘缓鏃ユ湡
- },{
- measure_number: 'QC568946512', // 璁¢噺鍗曞彿
- equipment_code: '010101', // 璁惧缂栧彿
- equipment_name: '鎷夊姏鏈�', // 璁惧鍚嶇О
- scheduled_date: '2023-04-08 ~ 2023-08-08', // 璁″垝鏃ユ湡
- measure_state: 1, // 璁¢噺鐘舵��
- head: '榛勫皬鏄�', // 璁¢噺璐熻矗浜�
- department: '鍦扮嚎妫�娴�', // 璁¢噺鍗曚綅
- creater: '榛勫皬鏄�', // 鍒涘缓浜�
- create_date: '2023-07-20', // 鍒涘缓鏃ユ湡
- },{
- measure_number: 'QC568946512', // 璁¢噺鍗曞彿
- equipment_code: '010101', // 璁惧缂栧彿
- equipment_name: '鎷夊姏鏈�', // 璁惧鍚嶇О
- scheduled_date: '2023-04-08 ~ 2023-08-08', // 璁″垝鏃ユ湡
- measure_state: 0, // 璁¢噺鐘舵��
- head: '榛勫皬鏄�', // 璁¢噺璐熻矗浜�
- department: '鍦扮嚎妫�娴�', // 璁¢噺鍗曚綅
- creater: '榛勫皬鏄�', // 鍒涘缓浜�
- create_date: '2023-07-20', // 鍒涘缓鏃ユ湡
- }],
+ measureLedgerTable: [],
+ measurePlanTable: [],
currentPage: 1,
pageSize: 5,
- total: 20
+ total: 0,
+ currentPagePlan: 1,
+ pageSizePlan: 5,
+ totalPlan: 0,
+ direction: 'rtl',
+ lookVisible: false,
+ measureData: [],
+ planInfo: {
+ plannedOrderNumber: 7897897987,
+ measurePerson: '鏌愭煇浜�',
+ planDate: "2021-09-08 ~ 2024-08-09",
+ unit: '鏌愭煇妫�娴嬪眬',
+ createPerson: '鏌愭煇璐熻矗浜�',
+ createTime: '2021-09-08'
+ },
+ mymodelTop: -700,//14
+ addTop: -700,
+ planId: 0
}
},
- created(){
+ created() {
this.getStandingPageList()
// this.getPlanPageList()
},
methods: {
- // 璇锋眰璁¢噺鍙拌处鍒嗛〉鍒楄〃
- async getStandingPageList(){
- const res = await getStandingPageList({pageNo:this.currentPage , pageSize:this.pageSize })
- // this.measureLedgerTable = res.data
- // console.log(this.measureLedgerTable)
+ upResult() {
+ this.measureData[this.tableIndex].result = this.resultUp
+
},
- // 璇锋眰璁¢噺璁″垝鍒嗛〉鍒楄〃
- async getPlanPageList(){
- const res = await getPlanPageList({})
+ async upMeasure() {
+ let res = await updateMetricalInformationInfo(this.measureUpInfo)
+ if (res) {
+ this.$message({
+ message: '鎿嶄綔鎴愬姛锛�',
+ type: 'success'
+ });
+ this.limitGetPlanMeasureInstrument()
+ this.dialogVisible = false
+ }
},
- handleSizeChange(val) {
- console.log(`褰撳墠姣忛〉${val}鏉℃暟鎹甡)
- this.pageSize = val
+ handleUploadupdated() {
+
},
- handleCurrentChange(val) {
- console.log(`褰撳墠鏄${val}椤礰)
- this.currentPage = val
- }
+ measureUp(scope) {
+ this.dialogVisible = true
+ this.tableIndex = scope.$index
+ this.measureUpInfo.result = scope.row.result
+ this.measureUpInfo.code = scope.row.code
+ this.measureUpInfo.date = scope.row.endDate
+ this.measureUpInfo.id = scope.row.imId
+ this.measureUpInfo.uncertainty = scope.row.uncertainty
+ this.measureUpInfo.performanceIndex = scope.row.performanceIndex
+ this.measureUpInfo.remarks = scope.row.remarks
+ this.measureUpInfo.termValidity = scope.row.termValidity
+ },
+ measureAdd() {
+ let add = this.$refs.add.add()
+ if (add) {
+ this.addTop = -700
+ this.$message({
+ message: '鎿嶄綔鎴愬姛锛�',
+ type: 'success'
+ });
+ this.lookVisible = false
+ }
+ },
+ async handleSizeChangePlan(num) {
+ this.pageSizePlan = num
+ await this.limitGetPlanMeasureInstrument()
+ },
+ async handleCurrentChangePllan(num) {
+ this.currentPagePlan = num
+ await this.limitGetPlanMeasureInstrument()
+ },
+ addPlan() {
+ this.addTop = 14
+ this.lookVisible = true
+ this.$parent.mainShowAdd()
+ },
+ async limitGetPlanMeasureInstrument() {
+ let param = {
+ id: this.planId,
+ currentPage: this.currentPagePlan,
+ pageSize: this.pageSizePlan
+ }
+ let res = await limitGetPlanMeasureRequest(param)
+ this.totalPlan = res.data.taotal
+ this.measureData = res.data.list
+ },
+ lookPalan(id) {
+ this.planId = id
+ this.getPlanAndInfoAndIns(id)
+ this.lookVisible = true
+ this.mymodelTop = 10
+ this.$parent.triggerMainBtnPlan()
+ },
+ async getPlanAndInfoAndIns(id) {
+ let res = await getPlanMeasureInstrument({ "id": id, "currentPage": this.currentPagePlan, "pageSize": this.pageSize });
+ for (const key in res.data.list) {
+ this.planInfo[key] = res.data.list[key]
+ }
+ this.planInfo.planDate = this.planInfo.beginTime + " ~ " + this.planInfo.endTime
+ this.planInfo.metricalInfoAndInsList.forEach(item => {
+ if (item.endDate != '' && item.endDate != null) {
+ item.validit = this.addMonths(item.endDate, item.termValidity)
+ } else {
+ item.validit = '鏃�'
+ }
+ })
+ this.measureData = this.planInfo.metricalInfoAndInsList
+ this.totalPlan = res.data.total
+ },
+ combackLookPlan() {
+ this.lookVisible = false
+ this.mymodelTop = -700
+ },
+ blurSearch() {
+ if (this.radioValue === 1) {
+ }
+ },
+ handleClose() {
+ this.drawer = false
+ },
+ handleCurrentChange(num) {
+ this.currentPage = num
+ this.radioValue ? this.getPlanPageList() : this.getStandingPageList()
+ },
+ handleSizeChange(num) {
+ this.pageSize = num
+ this.radioValue ? this.getPlanPageList() : this.getStandingPageList()
+ },
+ async getStandingPageList() {
+ let param = {
+ currentPage: this.currentPage, pageSize: this.pageSize,
+ code: this.searchData.code, name: this.searchData.name, unit: this.searchData.measureunit
+ }
+ const res = await getStandingPageList(param)
+ this.measureLedgerTable = res.data.records
+ this.total = res.data.total
+ this.measureLedgerTable.forEach(item => {
+ let dateStr = ''
+ let dateArr = item.createTime
+ dateStr = dateArr[0] + "-" + dateArr[1] + "-" + dateArr[2]
+ item.createTime = dateStr
+ let endArr = item.endDate
+ item.endDate = endArr[0] + "-" + endArr[1] + "-" + endArr[2]
+ item.validit = this.addMonths(item.endDate, item.termValidity)
+ })
+ },
+ addMonths(yearMonthDay, monthNum) {
+ var arr = yearMonthDay.split('-');//2020-08-19鎴�2020-08
+ var year = parseInt(arr[0]);
+ var month = parseInt(arr[1]);
+ month = month + monthNum;
+ if (month > 12) {//鏈堜唤鍔�
+ var yearNum = parseInt((month - 1) / 12);
+ month = month % 12 == 0 ? 12 : month % 12;
+ year += yearNum;
+ } else if (month <= 0) {//鏈堜唤鍑�
+ month = Math.abs(month);
+ var yearNum = parseInt((month + 12) / 12);
+ year -= yearNum;
+ }
+ month = month < 10 ? "0" + month : month;
+ return year + "-" + month + "-" + arr[2];
+ },
+ search() {
+ this.getStandingPageList()
+ },
+ reset(formName) {
+ this.searchData.name = ''
+ this.searchData.code = ''
+ this.searchData.measureunit = ''
+ },
+ radioclick() {
+ this.radioValue ? this.getPlanPageList() : this.getStandingPageList()
+ this.reset()
+ },
+ async getPlanPageList() {
+ let param = {
+ currentPage: this.currentPage, pageSize: this.pageSize,
+ code: this.searchData.code, name: this.searchData.name, unit: this.searchData.measureunit
+ }
+ const res = await getPlanPageList(param)
+ res.data.list.forEach(item => {
+ item.palanDate = item.beginTime + " ~ " + item.endTime
+ })
+ this.measurePlanTable = res.data.list
+ this.total = res.data.total
+ },
+ async lookMeasurement(code) {
+ },
}
}
</script>
<style scoped>
+.top-bar {
+ margin: -25px -15px;
+ background: #fff;
+ display: flex;
+ justify-content: space-between;
+ padding: 5px 24px 0px 24px;
-.top-bar{
- margin: -25px -15px;
- background: #fff;
+ .sermargin {
+ margin-right: 60px;
+ }
+}
+
+.rightBtn {
+ margin-right: 50px
+}
+
+.library-table {
+ background-color: #fff;
+ flex: 1;
+ margin: 0px -15px;
+ margin-top: 40px;
+ display: flex;
+ flex-direction: column;
+
+ .table-header {
+ padding: 20px;
display: flex;
justify-content: space-between;
- padding: 5px 24px 0px 24px;
- .sermargin{
- margin-right: 60px;
+
+ .el-form-item {
+ margin-bottom: 30px !important;
}
}
-.rightBtn{
- margin-right: 50px
-}
-.library-table{
- background-color: #fff;
+
+ .table-box {
+ padding: 0px 20px;
+ margin-top: 0px;
+ flex: 1;
+ background: #fff;
+ /* padding: 20px 20px 10px 20px; */
+ display: flex;
+ flex-direction: column;
+
+ .el-table {
flex: 1;
- margin: 0px -15px;
- margin-top: 40px;
- display: flex;
- flex-direction: column;
- .table-header{
- padding: 20px;
- display: flex;
- justify-content: space-between;
- .el-form-item{
- margin-bottom: 30px !important;
- }
- }
- .table-box{
- padding: 0px 20px;
- margin-top: 0px;
- flex: 1;
- background: #fff;
- /* padding: 20px 20px 10px 20px; */
- display: flex;
- flex-direction: column;
- .el-table {
- flex: 1;
- }
- }
- .pagination{
- display:flex;
- justify-content:end;
- margin-top: 20px
- }
}
+ >div:nth-child(2) {
+ display: flex;
+ justify-content: end;
+ margin: 10px 0;
+ }
+ }
+}
</style>
--
Gitblit v1.9.3