From 27dd70096d181051200ec5febf11c99d1940f835 Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期三, 13 九月 2023 16:52:18 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.22:9001/r/mom-before
---
src/components/view/measurementManagement.vue | 1309 ++++++++++++++++++++++++++++++++++++++++++++++++----------
1 files changed, 1,075 insertions(+), 234 deletions(-)
diff --git a/src/components/view/measurementManagement.vue b/src/components/view/measurementManagement.vue
index d3d7291..d89efdd 100644
--- a/src/components/view/measurementManagement.vue
+++ b/src/components/view/measurementManagement.vue
@@ -1,145 +1,710 @@
<template>
- <div>
- <el-row>
- <el-col :span="12" class="top_left_name">璁¢噺绠$悊</el-col>
- <el-col :span="12" style="text-align: right;">
- <el-button
- v-show="radio1 == 2"
- @click="routingJump()"
- type="primary"
- size="mini"
- icon="el-icon-plus"
- style="background: #004EA2; "
- >鏂板</el-button
- >
- <el-button size="mini"
- ><i class="font icon-xiazaidaoru" style="padding-right: 3px;"></i
- >瀵煎嚭</el-button
- >
- </el-col>
- </el-row>
- <div class="top_div">
- <div class="table_top_div">
- <span>璁¢噺缂栧彿锛�</span>
- <el-select
- class="table_top_input"
- size="small"
- v-model="value"
- placeholder="璇烽�夋嫨"
- >
- <el-option
- v-for="item in options"
- :key="item.value"
- :label="item.label"
- :value="item.value"
+ <div class="main_div">
+ <div
+ class="first_div"
+ :style="
+ `width:${addShow ? 0 : 100}%; overflow: hidden;opacity: ${
+ addShow ? 0 : 1
+ };`
+ "
+ >
+ <el-row>
+ <el-col :span="12" class="top_left_name">{{
+ radio1 == 1 ? "璁¢噺鍙拌处" : "璁¢噺璁″垝"
+ }}</el-col>
+ <el-col :span="12" style="text-align: right;">
+ <el-button
+ v-show="radio1 == 2"
+ @click="addShow = true"
+ type="primary"
+ size="mini"
+ icon="el-icon-plus"
+ style="background: #004EA2; "
+ >鏂板</el-button
>
- </el-option>
- </el-select>
- <span>浠櫒璁惧鍚嶇О锛�</span>
- <el-select
- class="table_top_input"
- size="small"
- v-model="value"
- placeholder="璇烽�夋嫨"
- >
- <el-option
- v-for="item in options"
- :key="item.value"
- :label="item.label"
- :value="item.value"
+ <el-button size="mini"
+ ><i class="font icon-xiazaidaoru" style="padding-right: 3px;"></i
+ >瀵煎嚭</el-button
>
- </el-option>
- </el-select>
- <span>璁¢噺鍗曚綅锛�</span>
- <el-select
- class="table_top_input"
- size="small"
- v-model="value"
- placeholder="璇烽�夋嫨"
- >
- <el-option
- v-for="item in options"
- :key="item.value"
- :label="item.label"
- :value="item.value"
+ </el-col>
+ </el-row>
+ <div class="top_div">
+ <div class="table_top_div">
+ <span>{{ radio1 == 1 ? "璁¢噺缂栧彿锛�" : "璁″垝鍗曞彿锛�" }}</span>
+ <el-input
+ class="frame_input"
+ v-model="measureLedgerPage.code"
+ :placeholder="radio1 == 1 ? '璇疯緭鍏ヨ閲忕紪鍙凤細' : '璇疯緭鍏ヨ鍒掑崟鍙凤細'"
+ size="small"
+ />
+ <span style="margin-left: 30px;" v-show="radio1 == 1"
+ >浠櫒璁惧鍚嶇О锛�</span
>
- </el-option>
- </el-select>
- <el-button size="mini" @click="reset"><span>閲� 缃�</span></el-button>
- <el-button
- size="mini"
- type="primary"
- @click="selectSearch"
- style="background: #004EA2;"
- ><span>鏌� 璇�</span></el-button
- >
+ <el-input
+ v-show="radio1 == 1"
+ class="frame_input"
+ v-model="measureLedgerPage.deviceName"
+ placeholder="璇疯緭鍏ヤ华鍣ㄨ澶囧悕绉�"
+ size="small"
+ />
+ <span style="margin-left: 30px;">璁¢噺鍗曚綅锛�</span>
+ <el-input
+ class="frame_input"
+ v-model="measureLedgerPage.measureUnit"
+ placeholder="璇疯緭鍏ヨ閲忓崟浣�"
+ size="small"
+ />
+ <el-button size="mini" @click="reset"><span>閲� 缃�</span></el-button>
+ <el-button
+ size="mini"
+ type="primary"
+ @click="selectTableData"
+ style="background: #004EA2;"
+ ><span>鏌� 璇�</span></el-button
+ >
+ </div>
+ </div>
+ <div class="middle_div">
+ <div class="middle_top_div">
+ <el-radio-group class="ai-tab-change" v-model="radio1">
+ <el-radio-button size="small" label="1">
+ <div class="el_radio_button_div">璁¢噺鍙拌处</div>
+ </el-radio-button>
+ <el-radio-button size="small" label="2">
+ <div class="el_radio_button_div">璁¢噺璁″垝</div>
+ </el-radio-button>
+ </el-radio-group>
+ </div>
+ <div class="middle_middle_div">
+ <el-table
+ v-show="radio1 == 1"
+ ref="multipleTable"
+ :header-cell-style="{ 'text-align': 'center' }"
+ :cell-style="{ 'text-align': 'center' }"
+ :data="measureLedgerPageData"
+ border
+ tooltip-effect="dark"
+ class="middle_middle_table"
+ height="calc(100vh - 372px)"
+ width="100%"
+ >
+ <el-table-column type="selection" width="55"> </el-table-column>
+ <el-table-column label="浠櫒璁惧缂栧彿" min-width="130px" prop="code">
+ </el-table-column>
+ <el-table-column label="浠櫒璁惧鍚嶇О" prop="name" min-width="130px">
+ </el-table-column>
+ <el-table-column
+ label="娴嬮噺鑼冨洿"
+ min-width="130px"
+ prop="measuring_range"
+ ></el-table-column>
+ <el-table-column
+ label="璁¢噺鍛ㄦ湡"
+ min-width="130px"
+ prop="measure_period"
+ >
+ <template slot-scope="scope">
+ <el-tag
+ v-if="scope.row.measure_period !== undefined"
+ disable-transitions
+ style="color: black;"
+ >{{ scope.row.measure_period + "/鏈�" }}</el-tag
+ ></template
+ >
+ </el-table-column>
+ <el-table-column
+ label="璁¢噺缁撴灉"
+ min-width="130px"
+ prop="measure_result"
+ >
+ <template slot-scope="scope">
+ <el-tag
+ v-if="scope.row.measure_result == 1"
+ disable-transitions
+ type="success"
+ >杩愯</el-tag
+ >
+ <el-tag
+ v-else-if="scope.row.measure_result == 2"
+ disable-transitions
+ type="danger"
+ >澶卞噯</el-tag
+ >
+ <el-tag
+ v-else-if="scope.row.measure_result == null"
+ disable-transitions
+ type="info"
+ >鏈閲�</el-tag
+ >
+ </template>
+ </el-table-column>
+ <el-table-column
+ label="璁¢噺鏃ユ湡"
+ min-width="130px"
+ prop="measureDate"
+ ></el-table-column>
+ <el-table-column
+ label="璁¢噺鏈夋晥鏈�"
+ min-width="130px"
+ prop="validityEnd"
+ ></el-table-column>
+ <el-table-column
+ label="璐熻矗浜�"
+ min-width="130px"
+ prop="person_charge"
+ ></el-table-column>
+ <el-table-column
+ label="鍒涘缓鏃ユ湡"
+ min-width="130px"
+ prop="createTime"
+ ></el-table-column>
+ <el-table-column
+ label="鍒涘缓浜�"
+ min-width="130px"
+ prop="founder"
+ ></el-table-column>
+ <el-table-column
+ label="璁¢噺鍗曚綅"
+ min-width="130px"
+ prop="plan_unit"
+ ></el-table-column>
+ <el-table-column
+ label="璁¢噺缂栧彿"
+ min-width="200px"
+ prop="measure_number"
+ ></el-table-column>
+ <el-table-column
+ fixed="right"
+ class="table-fixed"
+ min-width="200px"
+ label="鎿嶄綔"
+ show-overflow-tooltip
+ >
+ <template slot-scope="scope">
+ <el-button
+ type="text"
+ size="mini"
+ @click="showRecord(scope.row)"
+ >鏌ョ湅璁¢噺灞ュ巻</el-button
+ >
+ <el-button type="text" size="mini">鏌ョ湅闄勪欢</el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+ <el-table
+ v-show="radio1 == 2"
+ ref="multipleTable"
+ :data="measurePlanPageData"
+ :header-cell-style="{ 'text-align': 'center' }"
+ :cell-style="{ 'text-align': 'center' }"
+ border
+ tooltip-effect="dark"
+ class="middle_middle_table"
+ height="calc(100vh - 372px)"
+ >
+ <el-table-column type="selection" width="55"> </el-table-column>
+ <el-table-column
+ label="璁″垝鍗曞彿"
+ prop="planNumber"
+ min-width="130px"
+ >
+ </el-table-column>
+ <el-table-column
+ label="璁″垝鏃ユ湡"
+ min-width="130px"
+ prop="planDate"
+ ></el-table-column>
+ <el-table-column
+ label="璁″垝鐘舵��"
+ min-width="130px"
+ prop="planStatue"
+ >
+ <template slot-scope="scope">
+ <el-tag
+ v-if="scope.row.planStatue == 'y'"
+ disable-transitions
+ type="success"
+ >宸插畬鎴�</el-tag
+ >
+ <el-tag
+ v-else-if="scope.row.planStatue == 'n'"
+ disable-transitions
+ type="danger"
+ >鏈畬鎴�</el-tag
+ >
+ </template>
+ </el-table-column>
+ <el-table-column
+ label="璁¢噺璐熻矗浜�"
+ min-width="130px"
+ prop="personCharge"
+ ></el-table-column>
+ <el-table-column
+ label="璁¢噺鍗曚綅"
+ min-width="130px"
+ prop="planUnit"
+ ></el-table-column>
+ <el-table-column
+ label="鍒涘缓浜�"
+ min-width="130px"
+ prop="founder"
+ ></el-table-column>
+ <el-table-column
+ label="鍒涘缓鏃ユ湡"
+ min-width="130px"
+ prop="createTime"
+ ></el-table-column>
+ <el-table-column
+ fixed="right"
+ width="200px"
+ label="鎿嶄綔"
+ show-overflow-tooltip
+ >
+ <template slot-scope="scope">
+ <el-button
+ type="text"
+ size="mini"
+ @click="showRecord(scope.row)"
+ >鏌ョ湅璁¢噺灞ュ巻</el-button
+ >
+ <el-button type="text" size="mini">鏌ョ湅闄勪欢</el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+ </div>
+
+ <div class="middle_under_div">
+ <el-pagination
+ v-show="radio1 == 1"
+ @size-change="handleSizeChange"
+ @current-change="handleCurrentChange"
+ :current-page="currentPage"
+ :page-sizes="[10, 15, 20, 25]"
+ :pager-count="9"
+ :page-size="12"
+ layout="total, sizes, prev, pager, next, jumper"
+ :total="measureLedgerTotal"
+ >
+ </el-pagination>
+ <el-pagination
+ v-show="radio1 == 2"
+ @size-change="handleSizeChange"
+ @current-change="handleCurrentChange"
+ :current-page="currentPage"
+ :page-sizes="[10, 15, 20, 25]"
+ :pager-count="9"
+ :page-size="12"
+ layout="total, sizes, prev, pager, next, jumper"
+ :total="measureLedgerPageTotal"
+ >
+ </el-pagination>
+ </div>
</div>
</div>
- <div class="middle_div">
- <div class="middle_top_div">
- <el-radio-group class="ai-tab-change" v-model="radio1">
- <el-radio-button size="small" label="1">
- <div class="el_radio_button_div">璁¢噺鍙拌处</div>
- </el-radio-button>
- <el-radio-button size="small" label="2">
- <div class="el_radio_button_div">璁¢噺璁″垝</div>
- </el-radio-button>
- </el-radio-group>
- </div>
- <div class="middle_middle_div">
- <el-table
- v-show="radio1 == 1"
- ref="multipleTable"
- :data="tableData"
- border
- tooltip-effect="dark"
- class="middle_middle_table"
- height="calc(100vh - 325px)"
- @selection-change="handleSelectionChange"
- >
- <el-table-column type="selection" width="55"> </el-table-column>
- <el-table-column label="鏃ユ湡" width="120">
- <template slot-scope="scope">{{ scope.row.date }}</template>
- </el-table-column>
- <el-table-column prop="name" label="濮撳悕" width="120">
- </el-table-column>
- <el-table-column prop="address" label="鍦板潃" show-overflow-tooltip>
- </el-table-column>
- </el-table>
- <el-table
- v-show="radio1 == 2"
- ref="multipleTable"
- :data="tableData"
- border
- tooltip-effect="dark"
- class="middle_middle_table"
- height="calc(100vh - 325px)"
- @selection-change="handleSelectionChange"
- >
- <el-table-column type="selection" width="55"> </el-table-column>
- <el-table-column label="鏃ユ湡" width="120">
- <template slot-scope="scope">{{ scope.row.date }}</template>
- </el-table-column>
- <el-table-column prop="name" label="濮撳悕" width="120">
- </el-table-column>
- <el-table-column prop="address" label="鍦板潃" show-overflow-tooltip>
- </el-table-column>
- <el-table-column prop="address" label="鍦板潃" show-overflow-tooltip>
- </el-table-column>
- </el-table>
- </div>
- <div class="middle_under_div">
- <el-pagination
- @size-change="handleSizeChange"
- @current-change="handleCurrentChange"
- :current-page="currentPage4"
- :page-sizes="[12, 20, 30, 40]"
- :pager-count="9"
- :page-size="12"
- layout="total, sizes, prev, pager, next, jumper"
- :total="400"
- >
- </el-pagination>
+ <div
+ class="second_div"
+ :style="
+ `width: ${addShow ? 100 : 0}%; overflow: hidden;opacity: ${
+ addShow ? 1 : 0
+ };`
+ "
+ >
+ <el-row>
+ <el-col :span="12" class="top_left_name">{{
+ viewResume ? "鏂板璁¢噺璁″垝" : "鏌ョ湅璁¢噺灞ュ巻"
+ }}</el-col>
+ <el-col :span="12" style="text-align: right;">
+ <el-button
+ @click="
+ addShow = false;
+ viewResume = true;
+ "
+ size="mini"
+ :style="`opacity: ${addShow ? 1 : 0};transition: 0s`"
+ ><i class="font icon-fanhui"></i>杩斿洖</el-button
+ >
+ <el-button
+ v-show="viewResume == true"
+ type="primary"
+ size="mini"
+ @click="sunmitPlanForm"
+ icon="el-icon-plus"
+ :style="`background: #3a7bfa; opacity: ${addShow ? 1 : 0}`"
+ >淇濆瓨</el-button
+ >
+ </el-col>
+ </el-row>
+ <div class="second_div_main">
+ <el-form :model="addFormDevice" :rules="rules" ref="ruleFormDevice">
+ <!-- form琛ㄥ崟 -->
+ <div class="second_div_top">
+ <el-descriptions
+ class="secode_div_top_descriptions"
+ v-show="viewResume == false"
+ >
+ <template slot="title">
+ <span>璁″垝淇℃伅</span>
+ <span
+ v-show="measurePlanPage.accountOrPlan == false"
+ :style="
+ `font-size: 14px; color: ${okOrNo == 'y' ? 'green' : 'red'}`
+ "
+ > {{ okOrNo == "y" ? "宸插畬鎴�" : "鏈畬鎴�" }}</span
+ >
+ </template>
+ <el-descriptions-item label="璁″垝缂栧彿">{{
+ measureTop.plan_number
+ }}</el-descriptions-item>
+ <el-descriptions-item label="鍒涘缓浜�">{{
+ measureTop.founder
+ }}</el-descriptions-item>
+ <el-descriptions-item label="鍒涘缓鏃ユ湡">{{
+ measureTop.createTime
+ }}</el-descriptions-item>
+ <el-descriptions-item label="璁″垝鏃ユ湡">{{
+ measureTop.planTime
+ }}</el-descriptions-item>
+ <el-descriptions-item label="璁″垝鍗曚綅">{{
+ measureTop.plan_unit
+ }}</el-descriptions-item>
+ <el-descriptions-item label="璐熻矗浜�">{{
+ measureTop.person_charge
+ }}</el-descriptions-item>
+ </el-descriptions>
+ <div
+ class="secode_div_top_descriptions_add"
+ v-show="viewResume == true"
+ >
+ <el-form-item
+ required
+ prop="plannedDate"
+ label="璁″垝鏃ユ湡锛�"
+ style="width: 30%"
+ >
+ <el-date-picker
+ v-model="addFormDevice.plannedDate"
+ value-format="yyyy-MM-dd"
+ type="daterange"
+ range-separator="~"
+ start-placeholder="寮�濮嬫棩鏈�"
+ end-placeholder="缁撴潫鏃ユ湡"
+ >
+ </el-date-picker>
+ </el-form-item>
+ <el-form-item
+ label="璁″垝鍗曚綅锛�"
+ prop="planUnit"
+ required
+ style="width: 20%"
+ >
+ <el-input
+ style="width: 206px"
+ placeholder="璇疯緭鍏ヨ鍒掑崟浣�"
+ clearable
+ v-model="addFormDevice.planUnit"
+ ></el-input>
+ </el-form-item>
+ <el-form-item
+ label="璐熻矗浜猴細"
+ prop="personCharge"
+ required
+ style="width: 20%"
+ >
+ <el-select
+ v-model="addFormDevice.personCharge"
+ style="width: 206px"
+ placeholder="璐熻矗浜�"
+ class="table_top"
+ >
+ <el-option
+ v-for="item in createPerson"
+ :key="item.index"
+ :label="item.name"
+ :value="item.id"
+ ></el-option>
+ </el-select>
+ </el-form-item>
+ </div>
+ </div>
+ <div class="second_div_middle">
+ <div class="el_divider_span">璁惧淇℃伅</div>
+ <el-divider></el-divider>
+ </div>
+ <div class="second_div_table">
+ <div style="float: right;padding-bottom: 8px">
+ <el-button size="mini" type="primary" @click="addDeviceAdd">
+ <span style="font-size: 14px;">鏂板璁惧</span></el-button
+ >
+ </div>
+ <div v-show="viewResume == true">
+ <el-table
+ ref="multipleTableDevice"
+ tooltip-effect="dark"
+ :data="addFormDevice.measureLedgerList"
+ header-cell-class-name="addHeaderCellClassName"
+ border
+ class="end_table"
+ height="calc(100vh - 380px)"
+ >
+ <el-table-column
+ label="浠櫒璁惧缂栫爜"
+ min-width="10%"
+ prop="code"
+ >
+ </el-table-column>
+ <el-table-column min-width="10%" prop="name">
+ <template slot="header">
+ <span class="requiredclass">浠櫒璁惧鍚嶇О</span>
+ </template>
+ <template slot-scope="scope">
+ <el-form-item
+ :prop="`measureLedgerList[` + scope.$index + `].deviceId`"
+ :rules="{
+ required: true,
+ trigger: 'change'
+ }"
+ >
+ <el-select
+ v-model="scope.row.deviceId"
+ @change="nameAndCode(scope)"
+ size="small"
+ placeholder="璇烽�夋嫨璁惧"
+ class="table_top"
+ >
+ <el-option
+ v-for="item in deviceIdAndNameAndCode"
+ :key="item.index"
+ :label="item.name"
+ :value="item.id"
+ ></el-option>
+ </el-select>
+ </el-form-item>
+ </template>
+ </el-table-column>
+ <el-table-column label="娴嬮噺鑼冨洿" min-width="10%">
+ <template slot-scope="scope">
+ <el-form-item
+ :prop="
+ `measureLedgerList[` + scope.$index + `].measuringRange`
+ "
+ :rules="{
+ required: true,
+ trigger: 'blur'
+ }"
+ >
+ <el-input
+ placeholder="璇疯緭鍏ユ祴閲忚寖鍥�"
+ clearable
+ size="small"
+ v-model="
+ addFormDevice.measureLedgerList[scope.$index]
+ .measuringRange
+ "
+ ></el-input>
+ </el-form-item>
+ </template>
+ </el-table-column>
+ <el-table-column label="璁¢噺鍛ㄦ湡" min-width="5%">
+ <template slot-scope="scope">
+ <span
+ v-show="
+ addFormDevice.measureLedgerList[scope.$index]
+ .measurePeriod !== ''
+ "
+ >{{
+ addFormDevice.measureLedgerList[scope.$index]
+ .measurePeriod
+ }}/鏈�</span
+ >
+ </template>
+ </el-table-column>
+ <el-table-column label="璁¢噺缁撴灉" min-width="10%">
+ <template slot-scope="scope">
+ <el-select
+ v-model="
+ addFormDevice.measureLedgerList[scope.$index]
+ .measureResult
+ "
+ style="padding-top: 4px;"
+ size="small"
+ placeholder="璇烽�夋嫨璁¢噺缁撴灉"
+ class="table_top"
+ >
+ <el-option label="姝e父" value="1"></el-option>
+ <el-option label="澶卞噯" value="2"></el-option>
+ </el-select> </template
+ ></el-table-column>
+ <el-table-column width="200px">
+ <template slot="header">
+ <span class="requiredclass">璁¢噺鏃ユ湡</span>
+ </template>
+ <template slot-scope="scope">
+ <el-form-item
+ :prop="
+ `measureLedgerList[` + scope.$index + `].measureDate`
+ "
+ :rules="{
+ required: true,
+ trigger: 'change'
+ }"
+ >
+ <el-date-picker
+ size="small"
+ style="width: 150px;"
+ v-model="
+ addFormDevice.measureLedgerList[scope.$index]
+ .measureDate
+ "
+ value-format="yyyy-MM-dd"
+ type="date"
+ placeholder="閫夋嫨鏃ユ湡"
+ >
+ </el-date-picker>
+ </el-form-item>
+ </template>
+ </el-table-column>
+ <el-table-column width="300px">
+ <template slot="header">
+ <span class="requiredclass">璁¢噺鏈夋晥鏈�</span>
+ </template>
+ <template slot-scope="scope">
+ <el-form-item
+ :prop="
+ `measureLedgerList[` + scope.$index + `].planDateList`
+ "
+ :rules="{
+ required: true,
+ trigger: 'change'
+ }"
+ >
+ <el-date-picker
+ v-model="
+ addFormDevice.measureLedgerList[scope.$index]
+ .planDateList
+ "
+ value-format="yyyy-MM-dd"
+ size="small"
+ style="width: 270px"
+ @change="pickerplanDateList(scope)"
+ type="daterange"
+ range-separator="~"
+ start-placeholder="寮�濮嬫棩鏈�"
+ end-placeholder="缁撴潫鏃ユ湡"
+ >
+ </el-date-picker>
+ </el-form-item>
+ </template>
+ </el-table-column>
+ <el-table-column label="鎿嶄綔" min-width="10%">
+ <template slot-scope="scope">
+ <el-button
+ type="text"
+ size="mini"
+ @click="measureLedgerListDelete(scope)"
+ >鍒犻櫎</el-button
+ >
+ </template>
+ </el-table-column>
+ </el-table>
+ </div>
+ <div v-show="viewResume == false">
+ <el-table
+ :data="recordData"
+ tooltip-effect="dark"
+ :header-cell-style="{ 'text-align': 'center' }"
+ border
+ :row-style="{ height: '50px' }"
+ :cell-style="{ padding: '0px', 'text-align': 'center' }"
+ style="width: 100%; margin-top: 12px;"
+ height="calc(100vh - 400px)"
+ >
+ <el-table-column
+ label="浠櫒璁惧缂栫爜"
+ prop="code"
+ ></el-table-column>
+ <el-table-column
+ label="浠櫒璁惧鍚嶇О"
+ prop="name"
+ ></el-table-column>
+ <el-table-column
+ label="娴嬮噺鑼冨洿"
+ prop="measuring_range"
+ ></el-table-column>
+ <el-table-column
+ label="璁¢噺鍛ㄦ湡"
+ prop="measure_period"
+ ></el-table-column>
+ <el-table-column label="璁¢噺缁撴灉" prop="measure_result">
+ <template slot-scope="scope">
+ <el-tag
+ v-if="scope.row.measure_result == 1"
+ disable-transitions
+ type="success"
+ >杩愯</el-tag
+ >
+ <el-tag
+ v-else-if="scope.row.measure_result == 2"
+ disable-transitions
+ type="danger"
+ >澶卞噯</el-tag
+ >
+ <el-tag
+ v-else-if="scope.row.measure_result == null"
+ disable-transitions
+ type="info"
+ >鏈閲�</el-tag
+ >
+ </template></el-table-column
+ >
+ <el-table-column
+ label="璁¢噺鏃ユ湡"
+ prop="measureDate"
+ ></el-table-column>
+ <el-table-column
+ label="璁¢噺鏈夋晥鏈�"
+ prop="validityEnd"
+ ></el-table-column>
+ <el-table-column
+ label="璐熻矗浜�"
+ prop="personCharge"
+ ></el-table-column>
+ <el-table-column
+ label="鍒涘缓鏃ユ湡"
+ prop="createTime"
+ ></el-table-column>
+ <el-table-column
+ label="鍒涘缓浜�"
+ prop="founder"
+ ></el-table-column>
+ <el-table-column
+ label="璁¢噺鍗曚綅"
+ prop="plan_unit"
+ ></el-table-column>
+ <el-table-column
+ width="200px"
+ label="璁¢噺缂栧彿"
+ prop="measure_number"
+ ></el-table-column>
+ </el-table>
+ <div
+ class="middle_under_div"
+ v-show="measurePlanPage.accountOrPlan == false"
+ >
+ <el-pagination
+ @size-change="handleSizeChange"
+ @current-change="handleCurrentChange"
+ :current-page="currentPage"
+ :page-sizes="[10, 15, 20, 25]"
+ :pager-count="9"
+ :page-size="12"
+ layout="total, sizes, prev, pager, next, jumper"
+ :total="measurePlanPageTotal"
+ >
+ </el-pagination>
+ </div>
+ </div>
+ </div>
+ </el-form>
</div>
</div>
</div>
@@ -160,119 +725,305 @@
name: "measurementManagement",
data() {
return {
- radio1: 1, // 鍒嗙被鍒囨崲
- currentPage4: 4,
- value: "",
- options: [
- {
- value: "閫夐」1",
- label: "榛勯噾绯�"
- },
- {
- value: "閫夐」2",
- label: "鍙岀毊濂�"
- },
- {
- value: "閫夐」3",
- label: "铓典粩鐓�"
- },
- {
- value: "閫夐」4",
- label: "榫欓』闈�"
- },
- {
- value: "閫夐」5",
- label: "鍖椾含鐑ら腑"
- }
- ],
- tableData: [
- {
- date: "2016-05-03",
- name: "鐜嬪皬铏�",
- address: "涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1518 寮�"
- },
- {
- date: "2016-05-02",
- name: "鐜嬪皬铏�",
- address: "涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1518 寮�"
- },
- {
- date: "2016-05-04",
- name: "鐜嬪皬铏�",
- address: "涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1518 寮�"
- },
- {
- date: "2016-05-01",
- name: "鐜嬪皬铏�",
- address: "涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1518 寮�"
- },
- {
- date: "2016-05-08",
- name: "鐜嬪皬铏�",
- address: "涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1518 寮�"
- },
- {
- date: "2016-05-06",
- name: "鐜嬪皬铏�",
- address: "涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1518 寮�"
- },
- {
- date: "2016-05-07",
- name: "鐜嬪皬铏�",
- address: "涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1518 寮�"
- },
- {
- date: "2016-05-07",
- name: "鐜嬪皬铏�",
- address: "涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1518 寮�"
- },
- {
- date: "2016-05-07",
- name: "鐜嬪皬铏�",
- address: "涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1518 寮�"
- },
- {
- date: "2016-05-07",
- name: "鐜嬪皬铏�",
- address: "涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1518 寮�"
- },
- {
- date: "2016-05-07",
- name: "鐜嬪皬铏�",
- address: "涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1518 寮�"
- },
- {
- date: "2016-05-07",
- name: "鐜嬪皬铏�",
- address: "涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1518 寮�"
- }
- ]
+ radio1: 1, // 璁¢噺鍙拌处璁¢噺璁″垝鍒囨崲
+ addShow: false, // 鏂板璁¢噺
+ viewResume: true, // 鐐瑰嚮鏌ョ湅灞ュ巻鏄剧ず
+ currentPage: 1,
+ measureLedgerPage: {
+ code: "", // 璁″垝鍙拌处璁¢噺缂栧彿
+ deviceName: "", // 璁″垝鍙拌处浠櫒璁惧鍚嶇О
+ measureUnit: "", // 璁″垝鍙拌处璁¢噺鍗曚綅
+ pageNo: 1,
+ pageSize: 10
+ },
+ measurePlanPage: {
+ code: "", // 璁″垝鍗曞彿
+ meteringUnit: "", // 璁¢噺鍗曚綅
+ pageNo: 1,
+ pageSize: 10
+ },
+ key: 0,
+ measurePlanPageData: [], // 璁¢噺璁″垝琛ㄦ牸鏁版嵁
+ measureLedgerTotal: "",
+ measureLedgerPageData: [], // 璁¢噺鍙拌处琛ㄦ牸鏁版嵁
+ measureLedgerPageTotal: "",
+ recordData: [],
+ measurePlanPage: {
+ pageNo: 1,
+ pageSize: 10,
+ accountOrPlan: true,
+ measureId: ""
+ },
+ measureTop: {},
+ measurePlanPageTotal: "",
+ okOrNo: "",
+ deviceIdAndNameAndCode: [],
+ addFormDevice: {
+ plannedDate: [], // 璁″垝鏃ユ湡寮�濮嬫椂闂寸粨鏉熸椂闂撮�夋嫨鍣�
+ planDateBegin: "", // 璁″垝鏃ユ湡寮�濮嬫椂闂�
+ planDateEnd: "", // 璁″垝鏃ユ湡缁撴潫鏃堕棿
+ personCharge: "", //璐熻矗浜�
+ planUnit: "", // 璁″垝鍗曚綅
+ measureLedgerList: []
+ },
+ createPerson: [], // 鍒涘缓浜哄垪琛�
+ rules: {
+ planUnit: [
+ { required: true, message: "璇疯緭鍏ヨ鍒掑崟浣�", trigger: "blur" },
+ { min: 1, max: 25, message: "闀垮害鍦� 1 鍒� 25 涓瓧绗�", trigger: "blur" }
+ ],
+ personCharge: [
+ { required: true, message: "璇烽�夋嫨璐熻矗浜�", trigger: "change" }
+ ],
+ plannedDate: [
+ {
+ type: "array",
+ required: true,
+ message: "璇烽�夋嫨璁″垝鏃ユ湡鍖洪棿",
+ fields: {
+ //tpye绫诲瀷璇曟儏鍐佃�屽畾,鎵�浠ュ鏋滆繑鍥炵殑鏄痙ate灏辨敼鎴恉ate
+ 0: { type: "string", required: true, message: "璇烽�夋嫨寮�濮嬫棩鏈�" },
+ 1: { type: "string", required: true, message: "璇烽�夋嫨缁撴潫鏃ユ湡" }
+ }
+ }
+ ]
+ }
};
},
+ mounted() {
+ this.measureLedgerPageMethods(); // 鍒濆鍖栬皟鐢ㄨ鍒掑彴璐﹁〃鏍兼暟鎹�
+ },
methods: {
- handleSizeChange(val) {
- console.log(`姣忛〉 ${val} 鏉);
+ handleSizeChange(pageSize) {
+ if (this.radio1 == 1) {
+ this.measureLedgerPage.pageSize = pageSize;
+ this.measureLedgerPageMethods();
+ } else if (this.radio1 == 2) {
+ this.measurePlanPage.pageSize = pageSize;
+ this.measurePlanPageMethods();
+ }
},
- handleCurrentChange(val) {
- console.log(`褰撳墠椤�: ${val}`);
+ handleCurrentChange(pageNo) {
+ if (this.radio1 == 1) {
+ this.measureLedgerPage.pageNo = pageNo;
+ this.measureLedgerPageMethods();
+ } else if (this.radio1 == 2) {
+ this.measurePlanPage.pageNo = pageNo;
+ this.measurePlanPageMethods();
+ }
},
- routingJump() {
- this.$router.push("/measure/manage");
+ measureLedgerPageMethods() {
+ this.$axios
+ .get(this.$api.url.measureLedgerPageTable, {
+ params: this.measureLedgerPage
+ })
+ .then(res => {
+ this.measureLedgerPageData = res.data.row;
+ this.measureLedgerTotal = res.data.total;
+ });
+ },
+ measurePlanPageMethods() {
+ this.$axios
+ .get(this.$api.url.meteringPlanPageTable, {
+ params: this.measurePlanPage
+ })
+ .then(res => {
+ this.measurePlanPageData = res.data.row;
+ this.measureLedgerPageTotal = res.data.total;
+ });
+ },
+ reset() {
+ if (this.radio1 == 1) {
+ this.measureLedgerPage = {
+ code: "", // 璁″垝鍙拌处璁¢噺缂栧彿
+ measureUnit: "", // 璁″垝鍙拌处浠櫒璁惧鍚嶇О
+ deviceName: "", // 璁″垝鍙拌处璁¢噺鍗曚綅
+ pageNo: 1,
+ pageSize: 10
+ };
+ this.measureLedgerPageMethods();
+ } else {
+ this.measurePlanPage = {
+ code: "", // 璁″垝鍗曞彿
+ meteringUnit: "", // 璁¢噺鍗曚綅
+ pageNo: 1,
+ pageSize: 10
+ };
+ this.measureLedgerPage.code = "";
+ this.measureLedgerPage.measureUnit = "";
+ this.measurePlanPageMethods();
+ }
+ },
+ selectTableData() {
+ if (this.radio1 == 1) {
+ this.measureLedgerPageData = [];
+ this.measureLedgerPageMethods();
+ } else {
+ this.measurePlanPage.code = this.measureLedgerPage.code;
+ this.measurePlanPage.meteringUnit = this.measureLedgerPage.measureUnit;
+ this.measurePlanPageData = [];
+ this.measurePlanPageMethods();
+ }
+ },
+ showRecord(row) {
+ this.addShow = true;
+ this.viewResume = false;
+ this.measurePlanPage.measureId = row.id;
+ this.$axios
+ .get(this.$api.url.meteringPlanListRecord, {
+ params: this.measurePlanPage
+ })
+ .then(res => {
+ this.recordData = res.data.table;
+ this.measureTop = res.data.top;
+ this.measurePlanPageTotal = res.data.total;
+ });
+ if (this.radio1 == 2) {
+ this.okOrNo = row.planStatue;
+ }
+ },
+ addDeviceAdd() {
+ let measureLedgerList = {
+ code: "",
+ deviceId: "",
+ measureDate: "",
+ planDateList: "", // 缂撳瓨鏁版嵁
+ measurePeriod: "",
+ measureResult: "",
+ measuringRange: "",
+ validityBegin: "",
+ validityEnd: ""
+ };
+ this.addFormDevice.measureLedgerList.push(measureLedgerList);
+ },
+ nameAndCode(scope) {
+ let deviceMessage = this.deviceIdAndNameAndCode.find(
+ role => role.id === scope.row.deviceId
+ );
+ this.addFormDevice.measureLedgerList[scope.$index].code =
+ deviceMessage.code;
+ },
+ addHeaderCellClassName({ columnIndex }) {
+ if (columnIndex === 0 || columnIndex === 1) {
+ return "requiredclass";
+ }
+ },
+ pickerplanDateList(scope) {
+ let begin = scope.row.planDateList[0];
+ let end = scope.row.planDateList[1];
+ this.addFormDevice.measureLedgerList[scope.$index].validityBegin = begin;
+ this.addFormDevice.measureLedgerList[scope.$index].validityEnd = end;
+
+ let StartDate = begin.split("-");
+ let EndDate = end.split("-");
+ let dayDate = EndDate[2] - StartDate[2];
+
+ EndDate = parseInt(EndDate[0]) * 12 + parseInt(EndDate[1]);
+ StartDate = parseInt(StartDate[0]) * 12 + parseInt(StartDate[1]);
+
+ let resultDate = EndDate - StartDate + 1;
+ this.addFormDevice.measureLedgerList[
+ scope.$index
+ ].measurePeriod = resultDate;
+ },
+ measureLedgerListDelete(scope) {
+ this.addFormDevice.measureLedgerList.splice(scope.$index, 1);
+ },
+ sunmitPlanForm() {
+ this.$refs.ruleFormDevice.validate(valid => {
+ if (valid) {
+ this.addFormDevice.planDateBegin = this.addFormDevice.plannedDate[0];
+ this.addFormDevice.planDateEnd = this.addFormDevice.plannedDate[1];
+ delete this.addFormDevice.plannedDate;
+ this.addFormDevice.measureLedgerList.forEach(i => {
+ i.validityBegin = i.planDateList[0];
+ i.validityEnd = i.planDateList[1];
+ delete i.planDateList;
+ });
+ this.$axios
+ .post(this.$api.url.meteringPlanDevicePlan, this.addFormDevice, {
+ headers: { "Content-Type": "application/json" }
+ })
+ .then(res => {
+ this.$message({
+ message: res.message,
+ type: "success"
+ });
+ this.addShow = false;
+ });
+ }
+ });
+ }
+ },
+ watch: {
+ radio1: {
+ handler: function(newVal, oldVal) {
+ if (newVal == 2) {
+ this.measurePlanPage.accountOrPlan = false;
+ this.measurePlanPageMethods();
+ } else {
+ this.measurePlanPage.accountOrPlan = true;
+ }
+ }
+ },
+ addShow: {
+ handler: function(newVal, oldVal) {
+ if (newVal === true) {
+ this.$axios.get(this.$api.url.meterPlanListDevice).then(res => {
+ this.deviceIdAndNameAndCode = res.data;
+ });
+ this.$axios.get(this.$api.url.createPerson).then(res => {
+ this.createPerson = res.data;
+ });
+ }
+ }
}
}
};
</script>
-<style>
+<style less="scss">
+.main_div {
+ height: calc(100vh - 110px);
+ position: relative;
+ width: 100%;
+}
+.first_div {
+ float: left;
+ height: calc(100vh - 110px);
+ transition: 0.5s;
+}
+.second_div {
+ float: left;
+ height: calc(100vh - 110px);
+ transition: 0.5s;
+}
+.secode_div_top_descriptions_add {
+ padding-left: 30px;
+ padding-top: 48px;
+
+ .el-form-item {
+ float: left;
+ }
+}
+.end_table {
+ width: 100%;
+ margin-top: 12px;
+
+ .cell {
+ height: 40px;
+ }
+}
+
.top_div {
width: 100%;
- height: 70px;
+ height: 100px;
background-color: #ffffff;
margin: 5px 0;
}
.middle_div {
width: 100%;
- height: calc(100vh - 225px);
+ height: calc(100vh - 290x);
background-color: #ffffff;
}
.middle_top_div {
@@ -284,7 +1035,7 @@
}
.middle_middle_div {
width: 100%;
- height: calc(100vh - 325px);
+ height: calc(100vh - 360px);
margin-top: 5px;
}
.middle_middle_table {
@@ -295,6 +1046,7 @@
width: 99%;
height: 30px;
margin-top: 5px;
+ padding-bottom: 6px;
text-align: right;
}
.table_top_input {
@@ -303,7 +1055,13 @@
}
.table_top_div {
margin-left: 20px;
- padding: 20px 0;
+ padding: 35px 0;
+}
+.el-descriptions-item__label {
+ height: 20px !important;
+}
+.el-input__prefix {
+ padding-left: 0px !important;
}
.table_top_div span {
font-size: 15px;
@@ -318,4 +1076,87 @@
color: #2661a0;
line-height: 14px;
}
+.second_div_top {
+ height: 136px;
+ margin-bottom: 5px;
+ margin-top: 5px;
+}
+.second_div_table {
+ height: calc(100vh - 342px);
+ padding: 0 20px;
+}
+.second_div_middle {
+ height: 30px;
+ position: relative;
+}
+.el_divider_span {
+ z-index: 1;
+ width: 60px;
+ height: 20px;
+ position: absolute;
+ border-bottom: #538bfb 2px solid;
+ color: #538bfb;
+ margin-left: 15px;
+ font-size: 14px;
+}
+.el-divider {
+ position: absolute;
+ background-color: #dcdfe6;
+ width: 97%;
+ margin: 20px 60px 15px 15px;
+}
+.second_div_main {
+ background-color: #ffffff;
+ height: calc(100vh - 150px);
+}
+.table_top_div {
+ margin-left: 20px;
+ padding-top: 15px;
+ padding-bottom: 15px;
+}
+.secode_div_top_descriptions {
+ padding-left: 30px;
+ padding-top: 17px;
+}
+.secode_div_top_descriptions .el-form-item {
+ float: left;
+}
+.requiredclass::before {
+ content: "*";
+ color: #f56c6c;
+ margin-right: 6px;
+}
+.el-descriptions__title {
+ font-size: 15px;
+ font-weight: 500;
+}
+.el-descriptions__body span {
+ padding-left: 30px;
+ font-size: 14px;
+}
+.el-descriptions__table {
+ width: 90%;
+ height: 80px;
+ margin: 0 auto;
+}
+::-webkit-scrollbar {
+ height: 10px;
+ background-color: transparent;
+}
+.icon-fanhui {
+ padding-right: 6px;
+}
+.frame_input {
+ width: 10%;
+ margin: 10px 0;
+ transition: 1.5s;
+}
+.el-tag.el-tag {
+ border-color: transparent;
+ background-color: transparent;
+}
+.el-tag.el-tag:hover {
+ border-color: transparent;
+ background-color: transparent;
+}
</style>
--
Gitblit v1.9.3