From 34a7e21b3508ac0f5f011d958210fdb7176d726b Mon Sep 17 00:00:00 2001 From: Fixiaobai <fixiaobai@163.com> Date: 星期六, 09 九月 2023 11:54:05 +0800 Subject: [PATCH] Merge branch 'master' of http://192.168.0.22:9001/r/lims-before --- src/views/laboratory/measure/index.vue | 832 +++++++++++++++++++++++++++++++++++++++------------------- 1 files changed, 556 insertions(+), 276 deletions(-) diff --git a/src/views/laboratory/measure/index.vue b/src/views/laboratory/measure/index.vue index 7e72abe..e6f2e0d 100644 --- a/src/views/laboratory/measure/index.vue +++ b/src/views/laboratory/measure/index.vue @@ -1,319 +1,599 @@ <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 style="margin-top: 10px;" :hidden="lookVisible" ref="form" :inline="true" :model="searchData"> + <el-form-item :label="this.radioValue === 0 ? '浠櫒璁惧缂栧彿:' : '璁″垝缂栧彿:'" class="sermargin"> + <el-input size="small" v-model="searchData.code" @blur="blurSearch()" class="input-form" placeholder="璇疯緭鍏�"> + </el-input> + </el-form-item> + <el-form-item v-if="this.radioValue === 1"> + <el-button size="small" type="primary" @click="searchPlan">鏌ヨ</el-button> + </el-form-item> + <el-form-item v-if="this.radioValue === 0" :label="this.radioValue === 0 ? '浠櫒璁惧鍚嶇О:' : '璁惧鍚嶇О'" + class="sermargin"> + <el-input size="small" 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 size="small" v-model="searchData.measureunit" class="input-form" placeholder="璇疯緭鍏�"> + </el-input> + </el-form-item> + </el-form> + <el-form :hidden="lookVisible" style="margin-top: 10px;"> + <el-form-item v-if="this.radioValue === 0" class="rightBtn"> + <el-button size="small" type="primary" @click="search">鏌ヨ</el-button> + <el-button size="small" type="primary" plain @click="reset()">閲嶇疆</el-button> + </el-form-item> + <el-form-item v-if="this.radioValue === 1" class="rightBtn"> + <el-button size="small" 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="hello" - label="浠櫒璁惧缂栧彿" - min-width="10%" - /> - <el-table-column - prop="entrust_coding" - label="浠櫒璁惧鍚嶇О" - min-width="10%" - /> - <el-table-column - prop="entrusted" - label="娴嬮噺鑼冨洿" - min-width="15%" - /> - <el-table-column - prop="samples_number" - label="璁¢噺鍛ㄦ湡" - min-width="6%" - /> - <el-table-column - prop="inspection_status" - label="璁¢噺缁撴灉" - min-width="6%"> - <template slot-scope="scope"> - <div v-if="scope.row.inspection_status === 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="specifications_models" - label="璁¢噺鏃ユ湡" - min-width="12%" - /> - <el-table-column - prop="dateSurvey" - label="璁¢噺鏈夋晥鏈�" - min-width="8%" - /> - <el-table-column - prop="completionDeadline" - label="璐熻矗浜�" - min-width="6%" - /> - <el-table-column - prop="contacts" - label="鍒涘缓鏃ユ湡" - min-width="8%" - /> - <el-table-column - prop="inspectionTime" - label="鍒涘缓浜�" - min-width="8%" - /> - <el-table-column - prop="inspectionTime" - 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-if="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="hello" - label="璁¢噺鍗曞彿" - min-width="10%" - /> - <el-table-column - prop="entrust_coding" - label="璁惧缂栧彿" - min-width="10%" - /> - <el-table-column - prop="entrusted" - label="璁惧鍚嶇О" - min-width="15%" - /> - <el-table-column - prop="samples_number" - label="璁″垝鏃ユ湡" - min-width="6%" - /> - <el-table-column - prop="inspection_status" - label="璁¢噺鐘舵��" - min-width="6%"> - <template slot-scope="scope"> - <div v-if="scope.row.inspection_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="specifications_models" - label="璁¢噺璐熻矗浜�" - min-width="12%" - /> - <el-table-column - prop="dateSurvey" - label="璁¢噺鍗曚綅" - min-width="8%" - /> - <el-table-column - prop="completionDeadline" - label="鍒涘缓浜�" - min-width="6%" - /> - <el-table-column - prop="contacts" - 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> - <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="600" :cell-style="{ textAlign: 'left' }" + :header-cell-style="{ border: '0px', background: '#f5f7fa', color: '#606266', boxShadow: 'inset 0 1px 0 #ebeef5', textAlign: 'left' }" + :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="12%" /> + <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="500" :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;padding: 10px 0;"> + <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" + :current-page="currentPage" :page-sizes="[10, 20, 30]" :page-size="pageSize" + layout="total, sizes, prev, pager, next, jumper" :total="total"> + </el-pagination> + </div> + </div> </div> + <div> + <el-button v-if="selectInfoBtn" @click="combackLookPlan" + style="position: fixed;top: 43px;right: 14px; z-index: 1000;" type="primary" icon="el-icon-refresh-left" + size="mini" plain>杩斿洖</el-button> + <div v-if="addBtn" + style="display: flex;justify-content: center;width: 10%;position: fixed;top: 43px;right: 14px; z-index: 1000;"> + <el-button @click="addTop = -82; addBtn = false;lookVisible= false" size="mini" style="width: 60px;">杩斿洖</el-button> + <el-button size="mini" @click="measureAdd" style="width: 60px;" type="primary">淇濆瓨</el-button> + </div> + </div> + <div + :style="`position: absolute;top:${addTop}vh;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: 100vh; 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 max-height="300" :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, + selectInfoBtn: false, + addBtn: false, + 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: [], measurePlanTable: [], currentPage: 1, - pageSize: 5, - total: 20 + pageSize: 10, + total: 0, + currentPagePlan: 1, + pageSizePlan: 10, + 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: -1000,//14 + addTop: -85, + 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 upMeasure() { + let res = await updateMetricalInformationInfo(this.measureUpInfo) + if (res) { + this.$message({ + message: '鎿嶄綔鎴愬姛锛�', + type: 'success' + }); + this.limitGetPlanMeasureInstrument() + this.dialogVisible = false + } + }, + handleUploadupdated() { + + }, + 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 + }, + async measureAdd() { + let res = await this.$refs.add.add() + if (!res) { + return + } + this.addTop = -82 + this.$message({ + message: '鎿嶄綔鎴愬姛锛�', + type: 'success' + }); + this.lookVisible = false + this.addBtn = false + // this.limitGetPlanMeasureInstrument() + this.getPlanPageList() + }, + async handleSizeChangePlan(num) { + this.pageSizePlan = num + this.currentPage + await this.limitGetPlanMeasureInstrument() + }, + handleCurrentChangePllan(num) { + this.currentPagePlan = num; + this.limitGetPlanMeasureInstrument(); + }, + addPlan() { + this.addTop = 2 + this.lookVisible = true + this.$parent.mainShowAdd() + this.addBtn = true + }, + async limitGetPlanMeasureInstrument() { + let param = { + id: this.planId, + currentPage: this.currentPagePlan, + pageSize: this.pageSizePlan + } + const res = await limitGetPlanMeasureRequest(param); + console.log(res.data.total); + // this.totalPlan = res.data.taotal; + this.measureData = res.data.list; + console.log(this.totalPlan); + }, + lookPalan(id) { + this.planId = id + this.getPlanAndInfoAndIns(id) + this.lookVisible = true + this.mymodelTop = 2 + this.selectInfoBtn = true + 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 = -1000 + this.selectInfoBtn = false + }, + 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() + }, + searchPlan(){ + this.getPlanPageList() + }, + reset(formName) { + this.searchData.name = '' + this.searchData.code = '' + this.searchData.measureunit = '' + }, + radioclick() { + this.radioValue ? this.getPlanPageList() : this.getStandingPageList() + this.reset() + }, + async getPlanPageList() { + // console.log(111); + let param = { + currentPage: this.currentPage, + pageSize: this.pageSize, + plannedOrderNumber: this.searchData.code + } + 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 + console.log(333); + }, + async lookMeasurement(code) { + }, } } </script> -<style scoped> +<style scoped lang="scss"> +.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; - } - >div:nth-child(2){ - display: flex; - justify-content: end; - margin: 10px 0; - } - } } + >div:nth-child(2) { + display: flex; + justify-content: end; + margin: 10px 0; + } + } +} </style> -- Gitblit v1.9.3