From b9d86ddf9e6bb36736214cd632d69ae83debc754 Mon Sep 17 00:00:00 2001 From: zouyu <2723363702@qq.com> Date: 星期三, 27 九月 2023 18:17:13 +0800 Subject: [PATCH] Merge branch 'master' of http://114.132.189.42:9002/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..010cbb6 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: 0, + measureLedgerPageData: [], // 璁¢噺鍙拌处琛ㄦ牸鏁版嵁 + measureLedgerPageTotal: 0, + recordData: [], + measurePlanPage: { + pageNo: 1, + pageSize: 10, + accountOrPlan: true, + measureId: "" + }, + measureTop: {}, + measurePlanPageTotal: 0, + 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