From d1cb4f799dc84410817905e16ab6e2b360cc1a35 Mon Sep 17 00:00:00 2001 From: 王震 <10952869+daywangzhen@user.noreply.gitee.com> Date: 星期二, 29 八月 2023 08:57:49 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- src/components/view/measurementManagement.vue | 1097 +++++++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 797 insertions(+), 300 deletions(-) diff --git a/src/components/view/measurementManagement.vue b/src/components/view/measurementManagement.vue index 71ae13e..fbd1415 100644 --- a/src/components/view/measurementManagement.vue +++ b/src/components/view/measurementManagement.vue @@ -10,7 +10,7 @@ > <el-row> <el-col :span="12" class="top_left_name">{{ - radio1 == 1 ? "璁¢噺鍙拌处" : "璁¢噺棰勬祴" + radio1 == 1 ? "璁¢噺鍙拌处" : "璁¢噺璁″垝" }}</el-col> <el-col :span="12" style="text-align: right;"> <el-button @@ -30,56 +30,35 @@ </el-row> <div class="top_div"> <div class="table_top_div"> - <span>璁¢噺缂栧彿锛�</span> - <el-select - class="table_top_input" + <span>{{ radio1 == 1 ? "璁¢噺缂栧彿锛�" : "璁″垝鍗曞彿锛�" }}</span> + <el-input + class="frame_input" + v-model="measureLedgerPage.code" + :placeholder="radio1 == 1 ? '璇疯緭鍏ヨ閲忕紪鍙凤細' : '璇疯緭鍏ヨ鍒掑崟鍙凤細'" size="small" - v-model="value" - placeholder="璇烽�夋嫨" + /> + <span style="margin-left: 30px;" v-show="radio1 == 1" + >浠櫒璁惧鍚嶇О锛�</span > - <el-option - v-for="item in options" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> - <span>浠櫒璁惧鍚嶇О锛�</span> - <el-select - class="table_top_input" + <el-input + v-show="radio1 == 1" + class="frame_input" + v-model="measureLedgerPage.deviceName" + placeholder="璇疯緭鍏ヤ华鍣ㄨ澶囧悕绉�" size="small" - v-model="value" - placeholder="璇烽�夋嫨" - > - <el-option - v-for="item in options" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> - <span>璁¢噺鍗曚綅锛�</span> - <el-select - class="table_top_input" + /> + <span style="margin-left: 30px;">璁¢噺鍗曚綅锛�</span> + <el-input + class="frame_input" + v-model="measureLedgerPage.measureUnit" + placeholder="璇疯緭鍏ヨ閲忓崟浣�" size="small" - v-model="value" - placeholder="璇烽�夋嫨" - > - <el-option - v-for="item in options" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> + /> <el-button size="mini" @click="reset"><span>閲� 缃�</span></el-button> <el-button size="mini" type="primary" - @click="selectSearch" + @click="selectTableData" style="background: #004EA2;" ><span>鏌� 璇�</span></el-button > @@ -100,52 +79,99 @@ <el-table v-show="radio1 == 1" ref="multipleTable" - :data="tableData" + :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%" - @selection-change="handleSelectionChange" > <el-table-column type="selection" width="55"> </el-table-column> - <el-table-column label="浠櫒璁惧缂栧彿" min-width="130px"> + <el-table-column label="浠櫒璁惧缂栧彿" min-width="130px" prop="code"> </el-table-column> - <el-table-column label="浠櫒璁惧鍚嶇О" min-width="130px"> + <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" - ></el-table-column> + 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" - ></el-table-column> + 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"></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"></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="130px" + min-width="200px" + prop="measure_number" ></el-table-column> <el-table-column fixed="right" @@ -154,57 +180,79 @@ label="鎿嶄綔" show-overflow-tooltip > - <el-button - type="text" - size="mini" - @click=" - addShow = true; - viewResume = false; - " - >鏌ョ湅璁¢噺灞ュ巻</el-button - > - <el-button type="text" size="mini">鏌ョ湅闄勪欢</el-button> + <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="tableData" + :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)" - @selection-change="handleSelectionChange" > <el-table-column type="selection" width="55"> </el-table-column> - <el-table-column label="璁″垝鍗曞彿" min-width="130px"> - </el-table-column> - <el-table-column label="璁惧缂栫爜" min-width="130px"> - </el-table-column> <el-table-column - label="璁惧鍚嶇О" + label="璁″垝鍗曞彿" + prop="planNumber" min-width="130px" - ></el-table-column> + > + </el-table-column> <el-table-column label="璁″垝鏃ユ湡" min-width="130px" + prop="planDate" ></el-table-column> <el-table-column label="璁″垝鐘舵��" min-width="130px" - ></el-table-column> + 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"></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" @@ -212,16 +260,15 @@ label="鎿嶄綔" show-overflow-tooltip > - <el-button - type="text" - size="mini" - @click=" - addShow = true; - viewResume = false; - " - >鏌ョ湅璁¢噺灞ュ巻</el-button - > - <el-button type="text" size="mini">鏌ョ湅闄勪欢</el-button> + <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> @@ -231,24 +278,24 @@ v-show="radio1 == 1" @size-change="handleSizeChange" @current-change="handleCurrentChange" - :current-page="currentPage4" - :page-sizes="[12, 20, 30, 40]" + :current-page="currentPage" + :page-sizes="[10, 15, 20, 25]" :pager-count="9" :page-size="12" layout="total, sizes, prev, pager, next, jumper" - :total="400" + :total="measureLedgerTotal" > </el-pagination> <el-pagination v-show="radio1 == 2" @size-change="handleSizeChange" @current-change="handleCurrentChange" - :current-page="currentPage4" - :page-sizes="[12, 20, 30, 40]" + :current-page="currentPage" + :page-sizes="[10, 15, 20, 25]" :pager-count="9" :page-size="12" layout="total, sizes, prev, pager, next, jumper" - :total="600" + :total="measureLedgerPageTotal" > </el-pagination> </div> @@ -280,6 +327,7 @@ v-show="viewResume == true" type="primary" size="mini" + @click="sunmitPlanForm" icon="el-icon-plus" :style="`background: #3a7bfa; opacity: ${addShow ? 1 : 0}`" >淇濆瓨</el-button @@ -287,131 +335,376 @@ </el-col> </el-row> <div class="second_div_main"> - <div class="second_div_top"> - <el-descriptions class="secode_div_top_descriptions"> - <template slot="title"> - <span>璁″垝淇℃伅</span> - <span v-show="viewResume == false" style="font-size: 14px;" - > 宸插畬鎴�</span + <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%" > - </template> - <el-descriptions-item label="璁″垝缂栧彿" - >kooriookami</el-descriptions-item - > - <el-descriptions-item label="鍒涘缓浜�" - >18100000000</el-descriptions-item - > - <el-descriptions-item label="鍒涘缓鏃ユ湡">鑻忓窞甯�</el-descriptions-item> - <el-descriptions-item label="璁″垝鏃ユ湡">鑻忓窞甯�</el-descriptions-item> - <el-descriptions-item label="璁″垝鍗曚綅" - >姹熻嫃鐪佽嫃宸炲競鍚翠腑鍖哄惔涓ぇ閬� 1188 鍙�</el-descriptions-item - > - <el-descriptions-item label="璐熻矗浜�">鑻忓窞甯�</el-descriptions-item> - </el-descriptions> - </div> - <div class="second_div_middle"> - <div class="el_divider_span">璁惧淇℃伅</div> - <el-divider></el-divider> - </div> - <div class="second_div_table"> - <!-- <div> - <el-button size="mini" style="padding: 5px 7px;" icon="el-icon-plus" - ><span style="font-size: 14px;">鎵归噺璁¢噺</span></el-button - > - </div> --> - <div v-show="viewResume == true"> - <el-table - ref="multipleTable" - :data="tableData" - tooltip-effect="dark" - border - style="width: 100%; margin-top: 12px;" - height="calc(100vh - 382px)" - > - <el-table-column type="selection" width="55" min-width="5%"> - </el-table-column> - <el-table-column label="浠櫒璁惧缂栫爜" min-width="10%"> - </el-table-column> - <el-table-column - label="浠櫒璁惧鍚嶇О" - min-width="10%" - ></el-table-column> - <el-table-column - label="娴嬮噺鑼冨洿" - min-width="10%" - ></el-table-column> - <el-table-column - label="璁¢噺鍛ㄦ湡" - min-width="10%" - ></el-table-column> - <el-table-column - label="璁¢噺缁撴灉" - min-width="10%" - ></el-table-column> - <el-table-column - label="璁¢噺鏃ユ湡" - min-width="10%" - ></el-table-column> - <el-table-column - label="璁¢噺鏈夋晥鏈�" - min-width="10%" - ></el-table-column> - <el-table-column label="鎿嶄綔" min-width="10%"> - <el-button type="text" size="mini">浣滃簾</el-button> - </el-table-column> - </el-table> - <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="600" + <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-pagination> + <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 v-show="viewResume == false"> - <el-table - :data="tableData" - tooltip-effect="dark" - border - :row-style="{ height: '50px' }" - :cell-style="{ padding: '0px' }" - style="width: 100%; margin-top: 12px;" - height="calc(100vh - 382px)" - > - <el-table-column label="浠櫒璁惧缂栫爜"> </el-table-column> - <el-table-column label="浠櫒璁惧鍚嶇О"></el-table-column> - <el-table-column label="娴嬮噺鑼冨洿"></el-table-column> - <el-table-column label="璁¢噺鍛ㄦ湡"></el-table-column> - <el-table-column label="璁¢噺缁撴灉"></el-table-column> - <el-table-column label="璁¢噺鏃ユ湡"></el-table-column> - <el-table-column label="璁¢噺鏈夋晥鏈�"></el-table-column> - <el-table-column label="璐熻矗浜�"></el-table-column> - <el-table-column label="鍒涘缓鏃ユ湡"></el-table-column> - <el-table-column label="鍒涘缓浜�"></el-table-column> - <el-table-column label="璁¢噺鍗曚綅"></el-table-column> - <el-table-column label="璁¢噺缂栧彿"></el-table-column> - </el-table> - <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="600" + <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 > - </el-pagination> + </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 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 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 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 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 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 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 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> - </div> + </el-form> </div> </div> </div> @@ -435,106 +728,261 @@ radio1: 1, // 璁¢噺鍙拌处璁¢噺璁″垝鍒囨崲 addShow: false, // 鏂板璁¢噺 viewResume: true, // 鐐瑰嚮鏌ョ湅灞ュ巻鏄剧ず - 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 寮�" - } - ] + 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(); + } + }, + 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; @@ -550,6 +998,23 @@ 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: 100px; @@ -590,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; @@ -638,9 +1109,22 @@ 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: 20px; - padding-top: 10px; + 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; @@ -662,4 +1146,17 @@ .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