From c13670bb28b8e0c2b68974aa446cd6e98691ef39 Mon Sep 17 00:00:00 2001
From: yuyu <1981343953@qq.com>
Date: 星期五, 04 八月 2023 13:42:37 +0800
Subject: [PATCH] 导航栏,报检管理
---
src/views/laboratory/ledger/index.vue | 1225 +++++++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 1,124 insertions(+), 101 deletions(-)
diff --git a/src/views/laboratory/ledger/index.vue b/src/views/laboratory/ledger/index.vue
index 619ac3b..f092459 100644
--- a/src/views/laboratory/ledger/index.vue
+++ b/src/views/laboratory/ledger/index.vue
@@ -2,7 +2,7 @@
<div class="ledger-main">
<div class="page-header-search">
<div class="search-bar">
- <el-form ref="form" inline="true" :model="searchData">
+ <el-form ref="form" :inline="true" :model="searchData">
<el-form-item>
<el-input
v-model="searchData.keyword"
@@ -12,43 +12,50 @@
</el-input>
</el-form-item>
<el-form-item>
- <el-button type="primary">鏌ヨ</el-button>
- <el-button type="primary" plain>閲嶇疆</el-button>
+ <el-button type="primary" @click="filterTableData">鏌ヨ</el-button>
+ <el-button type="primary" plain @click="resetBtn">閲嶇疆</el-button>
<!-- <el-button type="text">楂樼骇鎼滅储<i class="el-icon-arrow-down el-icon--right" /></el-button> -->
</el-form-item>
</el-form>
</div>
<div class="serve-btn">
- <el-button type="primary" icon="el-icon-plus">鏂板浜哄憳</el-button>
+ <el-button type="primary" icon="el-icon-plus" @click="addDrawerVisible = true">鏂板浠櫒</el-button>
</div>
</div>
<div class="content-main">
<div class="library-bom">
- <el-input
- v-model="filterText"
- placeholder="杈撳叆鍏抽敭瀛楄繘琛岃繃婊�"
- />
+ <div class="bom-item-search">
+ <el-row>
+ <el-col :span="19">
+ <el-input
+ v-model="filterText"
+ placeholder="杈撳叆鍏抽敭瀛楄繘琛岃繃婊�"
+ />
+ </el-col>
+ <el-col :span="5">
+ <el-button type="primary" size="small" @click="addClassVisible = true"><i class="el-icon-plus" /></el-button>
+ </el-col>
+ </el-row>
+ </div>
<el-tree
- ref="tree"
- class="filter-tree"
- :data="data"
+ ref="classTree"
+ :data="classTree"
:props="defaultProps"
- default-expand-all
+ :default-expand-all="true"
:filter-node-method="filterNode"
+ @node-click="nodeClickHandler"
/>
</div>
<div class="library-table">
<div class="table-header">
<div class="search-bar">
- <el-radio-group v-model="radioValue">
- <el-radio-button label="鍏ㄩ儴" />
- <el-radio-button label="杩愯" />
- <el-radio-button label="寰呮満" />
- <el-radio-button label="妫�淇�" />
- <el-radio-button label="鏁呴殰" />
- <el-radio-button label="鎶ュ簾" />
+ <el-radio-group v-model="radioValue" @change="getConditionTable">
+ <!-- <el-radio-button label="0">鍏ㄩ儴</el-radio-button> -->
+ <el-radio-button v-for="item in conditionsOptions" :key="item.value" :label="item.value">
+ {{ item.label }}
+ </el-radio-button>
</el-radio-group>
- <el-checkbox v-model="isOut" :style="{'marginLeft':'12px'}">宸茶繃鏈�</el-checkbox>
+ <el-checkbox v-model="isOut" @change="getExpireTable" :style="{'marginLeft':'12px'}">宸茶繃鏈�</el-checkbox>
</div>
<div class="serve-btn">
<!-- <el-button type="primary" icon="el-icon-plus">鏂板浜哄憳</el-button> -->
@@ -56,86 +63,100 @@
</div>
<div class="table-box">
<el-table
- ref="personnerlTable"
-
+ ref="equipmentTable"
+ node-key="father_name"
:cell-style="{textAlign: 'center'}"
:header-cell-style="{border:'0px',background:'#f5f7fa',color:'#606266',boxShadow: 'inset 0 1px 0 #ebeef5',textAlign: 'center'}"
- :data="personnerlTable"
+ :data="equipmentTable"
style="width: 100%"
>
<el-table-column
- prop="roleName"
+ type="index"
label="搴忓彿"
min-width="90"
/>
<el-table-column
- prop="rolePermissions"
+ prop="equipment_code"
label="浠櫒璁惧缂栧彿"
- min-width="150"
+ min-width="200"
/>
<el-table-column
- prop="age"
+ prop="equipment_name"
label="浠櫒璁惧鍚嶇О"
min-width="150"
/>
<el-table-column
- prop="creatTime"
+ prop="specifications_models"
label="瑙勬牸鍨嬪彿"
min-width="150"
/>
<el-table-column
- prop="phone"
- label="涓婃璁¢噺鏃堕棿"
+ prop="name"
+ label="淇濈浜�"
min-width="200"
/>
<el-table-column
- prop="mailbox"
- label="涓婃璁¢噺鍗曚綅"
+ prop="termValidity"
+ label="璁¢噺鎴鏈夋晥鏈�"
min-width="200"
/>
<el-table-column
- prop="mailbox"
- label="鎴鏈夋晥鏈�"
- min-width="200"
- />
- <el-table-column
- prop="mailbox"
- label="璁¢噺鍛ㄦ湡"
- min-width="200"
- />
- <el-table-column
- prop="incumbentStatus"
+ prop="conditions"
label="璁惧鐘舵��"
min-width="120"
- :filters="[{ text: 0, value: 0 }, { text: 1, value: 1 }]"
- :filter-method="filterTag"
- filter-placement="bottom-end"
>
<template slot-scope="scope">
<el-tag
- :type="scope.row.businessStatus === 0 ? 'primary' : 'success'"
+ :type="scope.row.conditions === 0 ? 'primary' : 'success'"
disable-transitions
- >{{ scope.row.businessStatus === 0 ? '鏈悓鎰�' : '宸插悓鎰�' }}</el-tag>
+ >{{ scope.row.conditions | conditionsFilter }}</el-tag>
</template>
</el-table-column>
<el-table-column
+ prop="storage_place"
+ label="瀛樻斁鍦�"
+ min-width="200"
+ />
+
+ <el-table-column
label="鎿嶄綔"
min-width="120"
- :fixed="true"
+ fixed="right"
>
<template slot-scope="scope">
- <el-button type="text" size="small" @click="handleClick(scope.row)">缂栬緫</el-button>
- <!-- <el-button type="text" size="small">缂栬緫</el-button> -->
+ <el-button type="text" size="small" @click="openDetail(scope.row)">缂栬緫</el-button>
+ <el-button type="text" size="small" @click="clickDelete(scope.row)">鍒犻櫎</el-button>
</template>
</el-table-column>
</el-table>
+ <!-- 寮瑰嚭琛ㄥ崟椤� -->
+ <div>
+ <!-- 娣诲姞鍒嗙被 -->
+ <el-dialog title="娣诲姞鍒嗙被" :visible.sync="addClassVisible" width="33%">
+ <el-form :model="addTreeForm">
+ <el-form-item label="鍒嗙被鍚嶇О" label-width="100px">
+ <el-input v-model="addTreeForm.name" autocomplete="off" />
+ </el-form-item>
+ <el-form-item label="鐖剁骇鍒嗙被" label-width="100px">
+ <el-select v-model="addTreeForm.type" placeholder="璇烽�夋嫨">
+ <el-option label="鍘熸潗鏂�" value="0" />
+ <el-option label="鐢电嚎鐢电紗" value="1" />
+ </el-select>
+ </el-form-item>
+ </el-form>
+ <div slot="footer" class="dialog-footer">
+ <el-button @click="addClassVisible = false">鍙� 娑�</el-button>
+ <el-button type="primary">纭� 瀹�</el-button>
+ </div>
+ </el-dialog>
+ </div>
<div>
<el-pagination
:current-page="currentPage"
- :page-sizes="[100, 200, 300, 400]"
- :page-size="100"
+ :page-sizes="[10, 15, 20, 25]"
+ :page-size="pageSize"
layout="total, sizes, prev, pager, next, jumper"
- :total="400"
+ :total="total"
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
/>
@@ -143,29 +164,589 @@
</div>
</div>
</div>
+ <!-- 浠櫒璇︽儏-->
+ <el-drawer
+ title="浠櫒璁惧璇︽儏"
+ :visible.sync="detailDrawer"
+ size="80%"
+ class="detailDrawer"
+ @close="closeDetailDrawer"
+ >
+ <div>
+ <div class="detail-info">
+ <div class="tips-main">
+ <div class="tips">
+ <span />
+ <div>鍩烘湰淇℃伅</div>
+ </div>
+ <div class="tips-btn">
+ <el-button type="primary" @click="addDrawerVisible = true">缂栬緫</el-button>
+ </div>
+ </div>
+ <div class="message">
+ <div class="message-item"><span><i class="el-icon-edit" />鎵�灞炲垎绫伙細{{ equipmentDetail.classifyId }}</span></div>
+ <div class="message-item">
+ <span><i class="el-icon-edit" />鍒涘缓浜猴細{{ equipmentDetail.createUserId }}</span>
+ <el-tag type="primary"><i class="el-icon-info" :style="{marginRight:'4px', color:'#409EFF'}" /></el-tag>
+ </div>
+ <div class="message-item">
+ <span><i class="el-icon-edit" />寤烘。鏃ユ湡锛歿{ equipmentDetail.acceptanceDate }}</span>
+ </div>
+ <div class="message-item">
+ <span><i class="el-icon-edit" />璁惧缂栧彿锛歿{ equipmentDetail.equipmentCode }}</span>
+ </div>
+ <div class="message-item">
+ <span><i class="el-icon-edit" />鍨嬪彿瑙勬牸锛歿{ equipmentDetail.specificationsModels }}</span>
+ </div>
+ <div class="message-item">
+ <span><i class="el-icon-edit" />娴嬮噺鑼冨洿锛歿{ equipmentDetail.measuringRange }}</span>
+ </div>
+ <div class="message-item">
+ <span><i class="el-icon-edit" />涓嶇‘瀹氬害/璇樊锛歿{ equipmentDetail.errorRate }}</span>
+ </div>
+ <div class="message-item">
+ <span><i class="el-icon-edit" />鐢熶骇鍘傚锛歿{ equipmentDetail.manufacturer }}</span>
+ </div>
+ <div class="message-item">
+ <span><i class="el-icon-edit" />瀛樻斁鍦扮偣锛歿{ equipmentDetail.storagePlace }}</span>
+ </div>
+ <div class="message-item">
+ <span><i class="el-icon-edit" />鍒拌揣鏃ユ湡锛歿{ equipmentDetail.arrivalDate }}</span>
+ </div>
+ <div class="message-item">
+ <span><i class="el-icon-edit" />楠屾敹鏃ユ湡锛歿{ equipmentDetail.acceptanceDate }}</span>
+ </div>
+ <div class="message-item">
+ <span><i class="el-icon-edit" />淇濈浜猴細{{ equipmentDetail.userId }}</span>
+ </div>
+ <div class="message-item">
+ <span><i class="el-icon-edit" />鏄惁鏀寔鏁伴噰锛歿{ equipmentDetail.whetherDataAcquisition==1 ? '鏀寔': '涓嶆敮鎸�' }}</span>
+ </div>
+ <div class="message-item">
+ <span><i class="el-icon-edit" />浠櫒璁惧璁¢噺锛歿{ equipmentDetail.equipmentMeasurement==1 ? '闇�瑕�': '涓嶉渶瑕�' }}</span>
+ </div>
+ <div class="message-item">
+ <span><i class="el-icon-edit" />璁¢噺鍛ㄦ湡锛歿{ equipmentDetail.termValidity }}</span>
+ </div>
+ <div class="message-item">
+ <span><i class="el-icon-edit" />鎻忚堪锛歿{ equipmentDetail.descriptiveness }}</span>
+ </div>
+ </div>
+ </div>
+ <el-tabs v-model="activeTabsName">
+ <el-tab-pane label="璁惧鐮佺偣" name="codePoints">
+ <el-button v-show="!codePointesTableStatus" :style="{marginBottom: '18px'}" @click="addCodePoints">鏂板璁惧鐮佺偣</el-button>
+ <div v-show="codePointesTableStatus" :style="{marginBottom: '18px'}" class="btns">
+ <el-button @click="addNewCodePoints">娣诲姞</el-button>
+ <el-button @click="saveCodePoins">淇濆瓨</el-button>
+ <el-button @click="closeCodePoins">鍙栨秷</el-button>
+ </div>
+
+ <el-table
+ ref="codePointsTable"
+ :cell-style="{textAlign: 'center'}"
+ :header-cell-style="{border:'0px',background:'#f5f7fa',color:'#606266',boxShadow: 'inset 0 1px 0 #ebeef5',textAlign: 'center'}"
+ :data="codePointsTable"
+ style="width: 100%"
+ >
+ <el-table-column
+ type="index"
+ label="搴忓彿"
+ min-width="90"
+ />
+ <el-table-column
+ prop="equipmentPoint"
+ label="鐮佺偣缂栫爜"
+ min-width="150"
+ >
+ <template slot-scope="scope">
+ <span v-show="!codePointesTableStatus">{{ scope.row.equipmentPoint }}</span>
+ <el-input v-show="codePointesTableStatus" v-model="scope.row.equipmentPoint" />
+ </template>
+ </el-table-column>
+
+ <el-table-column
+ prop="equipmentPointName"
+ label="鐮佺偣鍚嶇О"
+ min-width="150"
+ >
+ <template slot-scope="scope">
+ <span v-show="!codePointesTableStatus">{{ scope.row.equipmentPointName }}</span>
+ <el-input v-show="codePointesTableStatus" v-model="scope.row.equipmentPointName" />
+ </template>
+ </el-table-column>
+ <el-table-column
+ prop="unit"
+ label="鍗曚綅"
+ min-width="150"
+ >
+ <template slot-scope="scope">
+ <span v-show="!codePointesTableStatus">{{ scope.row.unit }}</span>
+ <el-input v-show="codePointesTableStatus" v-model="scope.row.unit" />
+ </template>
+ </el-table-column>
+ <el-table-column
+ prop="name"
+ label="鏇存柊浜�"
+ min-width="100"
+ />
+ <el-table-column
+ prop="updateTime"
+ label="鏇存柊鏃ユ湡"
+ min-width="120"
+ />
+ <el-table-column
+ prop="descriptiveness"
+ label="鎻忚堪"
+ min-width="200"
+ >
+ <template slot-scope="scope">
+ <span v-show="!codePointesTableStatus">{{ scope.row.descriptiveness }}</span>
+ <el-input v-show="codePointesTableStatus" v-model="scope.row.descriptiveness" />
+ </template>
+ </el-table-column>
+
+ </el-table>
+ </el-tab-pane>
+ <el-tab-pane label="璁¢噺淇℃伅" name="measure">
+ <el-button :style="{marginBottom: '18px'}" @click="measureFormVisible = true">鏂板璁¢噺淇℃伅</el-button>
+ <el-table
+ ref="measureTable"
+ :cell-style="{textAlign: 'center'}"
+ :header-cell-style="{border:'0px',background:'#f5f7fa',color:'#606266',boxShadow: 'inset 0 1px 0 #ebeef5',textAlign: 'center'}"
+ :data="measureTable"
+ style="width: 100%"
+ >
+ <el-table-column
+ type="index"
+ label="搴忓彿"
+ min-width="90"
+ />
+ <el-table-column
+ prop="name"
+ label="璐熻矗浜�"
+ min-width="200"
+ />
+ <el-table-column
+ prop="measurement_unit"
+ label="璁¢噺鍗曚綅"
+ min-width="150"
+ />
+ <el-table-column
+ prop="beginDate"
+ label="寮�濮嬫棩鏈�"
+ min-width="150"
+ />
+ <el-table-column
+ prop="endDate"
+ label="缁撴潫鏃ユ湡"
+ min-width="150"
+ />
+ <el-table-column
+ prop="performance_index"
+ label="鎬ц兘鎸囨爣"
+ min-width="200"
+ />
+ <el-table-column
+ prop="uncertainty"
+ label="涓嶇‘瀹氬害"
+ min-width="200"
+ />
+ <el-table-column
+ prop="conditions"
+ label="缁撴灉"
+ min-width="120"
+ >
+ <template slot-scope="scope">
+ {{ scope.row.result }}
+ <!-- <el-tag
+ :type="scope.row.result === 0 ? 'primary' : 'success'"
+ disable-transitions
+ >{{ scope.row.result === 0 ? '鏈悓鎰�' : '宸插悓鎰�' }}</el-tag> -->
+ </template>
+ </el-table-column>
+ <el-table-column
+ prop="remarks"
+ label="澶囨敞"
+ min-width="200"
+ />
+ </el-table>
+ </el-tab-pane>
+ </el-tabs>
+ </div>
+ </el-drawer>
+ <!-- 娣诲姞浠櫒/淇敼浠櫒淇℃伅 -->
+ <el-drawer
+ ref="addDrawer"
+ :title="equipmentDetail.id?'淇敼浠櫒璁惧淇℃伅':'鏂板浠櫒璁惧'"
+ :append-to-body="true"
+ :visible.sync="addDrawerVisible"
+ class="addDrawer"
+ size="40%"
+ @close="closeAddOrChangeDrawer"
+ >
+ <div class="demo-drawer__content">
+ <el-form label-position="top" :model="equipmentform">
+ <el-row :gutter="50">
+ <el-col :span="11">
+ <el-form-item label="鎵�灞炲垎绫伙細" label-width="80">
+ <el-cascader v-model="equipmentform.classifyId" :options="classTree" :show-all-levels="false" />
+ </el-form-item>
+ </el-col>
+ <el-col :span="11">
+ <el-form-item label="璁惧缂栧彿锛�" label-width="80">
+ <el-input v-model="equipmentform.equipmentCode" autocomplete="off" />
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row :gutter="50">
+ <el-col :span="11">
+ <el-form-item label="浠櫒璁惧鍚嶇О锛�" label-width="80">
+ <el-input v-model="equipmentform.equipmentName" autocomplete="off" />
+ </el-form-item>
+ </el-col>
+ <el-col :span="11">
+ <el-form-item label="鐘舵�侊細" label-width="80">
+ <el-select
+ v-model="equipmentform.conditions"
+ clearable
+ filterable
+ :allow-create="true"
+ placeholder="璇烽�夋嫨浠櫒璁惧鐘舵��"
+ style="width:100%"
+ >
+ <el-option
+ v-for="item in conditionsOptions"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value"
+ />
+ </el-select>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row :gutter="50">
+ <el-col :span="11">
+ <el-form-item label="鍨嬪彿瑙勬牸锛�" label-width="80">
+ <el-input v-model="equipmentform.specificationsModels" autocomplete="off" />
+ </el-form-item>
+ </el-col>
+ <el-col :span="11">
+ <el-form-item label="娴嬮噺鑼冨洿锛�" label-width="80">
+ <el-input v-model="equipmentform.measuringRange" autocomplete="off" />
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row :gutter="50">
+ <el-col :span="11">
+ <el-form-item label="涓嶇‘瀹氬害/鍑嗙‘搴�/鏈�澶у厑璁歌宸細" label-width="80">
+ <el-input v-model="equipmentform.errorRate" autocomplete="off" />
+ </el-form-item>
+ </el-col>
+ <el-col :span="11">
+ <el-form-item label="鐢熶骇鍘傚锛�" label-width="80">
+ <el-input v-model="equipmentform.manufacturer" autocomplete="off" />
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row :gutter="50">
+ <el-col :span="11">
+ <el-form-item label="瀛樻斁鍦扮偣锛�" label-width="80">
+ <el-input v-model="equipmentform.storagePlace" autocomplete="off" />
+ </el-form-item>
+ </el-col>
+ <el-col :span="11">
+ <el-form-item label="鍒拌揣鏃ユ湡锛�" label-width="80">
+ <el-date-picker
+ v-model="equipmentform.arrivalDate"
+ type="date"
+ placeholder="璇烽�夋嫨鍒拌揣鏃ユ湡"
+ style="width:100%"
+ />
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row :gutter="50">
+ <el-col :span="11">
+ <el-form-item label="楠屾敹鏃ユ湡锛�" label-width="80">
+ <el-date-picker
+ v-model="equipmentform.acceptanceDate"
+ type="date"
+ placeholder="璇烽�夋嫨楠屾敹鏃ユ湡"
+ style="width:100%"
+ />
+ </el-form-item>
+ </el-col>
+ <el-col :span="11">
+ <el-form-item label="淇濈浜猴細" label-width="80">
+ <el-select
+ v-model="equipmentform.userId"
+ clearable
+ filterable
+ :allow-create="true"
+ placeholder="璇烽�夋嫨淇濈浜�"
+ style="width:100%"
+ >
+ <el-option
+ v-for="item in userOpetions"
+ :key="item.id"
+ :label="item.label"
+ :value="item.value"
+ />
+ </el-select>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row :gutter="50">
+ <el-col :span="11">
+ <el-form-item label="鏄惁鏀寔鏁伴噰锛�" label-width="80">
+ <el-radio v-model="equipmentform.whetherDataAcquisition" :label="1">鏀寔</el-radio>
+ <el-radio v-model="equipmentform.whetherDataAcquisition" :label="0">涓嶆敮鎸�</el-radio>
+ </el-form-item>
+ </el-col>
+ <el-col :span="11">
+ <el-form-item label="浠櫒璁惧璁¢噺锛�" label-width="80">
+ <el-radio v-model="equipmentform.equipmentMeasurement" :label="1">闇�瑕�</el-radio>
+ <el-radio v-model="equipmentform.equipmentMeasurement" :label="0">涓嶉渶瑕�</el-radio>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row v-show="equipmentform.equipmentMeasurement===1" :gutter="50">
+ <el-col :span="12">
+ <el-form-item label="璁¢噺鎴鏈夋晥鏈燂細" label-width="80">
+ <el-input v-model="equipmentform.termValidity" type="number" />
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row :gutter="50">
+ <el-col :span="11">
+ <el-form-item label="鎻忚堪锛�" label-width="80">
+ <el-input
+ v-model="equipmentform.descriptiveness"
+ type="textarea"
+ :rows="2"
+ placeholder="璇疯緭鍏ュ唴瀹�"
+ style="width:217%"
+ />
+ </el-form-item>
+ </el-col>
+ </el-row>
+ </el-form>
+ <div class="demo-drawer__footer">
+ <el-button class="el-button--default" @click="addDrawerVisible = false">鍙� 娑�</el-button>
+ <el-button type="primary" class="el-button--primary el-button--medium" @click="addNewEquipment">纭� 瀹�</el-button>
+ </div>
+ </div>
+ </el-drawer>
+ <!-- 鏂板璁¢噺淇℃伅寮圭獥 -->
+ <el-dialog class="measureForm" title="鏂板璁¢噺" :visible.sync="measureFormVisible">
+ <el-form label-position="top" :model="measureForm">
+ <el-row :gutter="20">
+ <el-col :span="12">
+ <el-form-item label="璐熻矗浜�">
+ <el-select
+ v-model="measureForm.userId"
+ clearable
+ filterable
+ :allow-create="true"
+ placeholder="璐熻矗浜�"
+ style="width:100%"
+ >
+ <el-option
+ v-for="item in userOpetions"
+ :key="item.id"
+ :label="item.label"
+ :value="item.value"
+ />
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="璁¢噺鍗曚綅">
+ <el-input v-model="measureForm.measurementUnit" />
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row :gutter="20">
+ <el-col :span="24">
+ <el-form-item label="妫�瀹氭湁鏁堟湡">
+ <el-date-picker
+ v-model="measureForm.date"
+ type="daterange"
+ range-separator="鑷�"
+ start-placeholder="寮�濮嬫棩鏈�"
+ end-placeholder="缁撴潫鏃ユ湡"
+ />
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row :gutter="20">
+ <el-col :span="12">
+ <el-form-item label="涓嶇‘瀹氬害">
+ <el-input v-model="measureForm.uncertainty" />
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="缁撴灉">
+ <el-select
+ v-model="measureForm.result"
+ clearable
+ filterable
+ :allow-create="true"
+ placeholder="璐熻矗浜�"
+ style="width:100%"
+ >
+ <el-option
+ v-for="item in resultOptions"
+ :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="measureForm.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="measureForm.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="handleUpload"
+ :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="addMeasure">纭� 瀹�</el-button>
+
+ <el-button @click="measureFormVisible = false">鍙� 娑�</el-button>
+ </span>
+ </el-dialog>
+ <!-- 鍒犻櫎浠櫒寮瑰嚭妗� -->
+ <el-dialog
+ title="鎻愮ず"
+ :visible.sync="deletedialogVisible"
+ width="30%"
+ :before-close="handleClose">
+ <span>纭畾鍒犻櫎璇ヤ华鍣ㄥ悧锛�</span>
+ <span slot="footer" class="dialog-footer">
+ <el-button @click="deletedialogVisible = false">鍙� 娑�</el-button>
+ <el-button type="primary" @click="deleteInstrument">纭� 瀹�</el-button>
+ </span>
+ </el-dialog>
</div>
</template>
<script>
+import { getClassifyList, getInstrumentList,
+ addInstrumentUser, addInstrument, getInstrumentDetail,
+ getEquipmentPointList, addEquipmentPoint,
+ getMetricalInformationList, changeInstrument, addMetricalInformation, deleteInstrument } from '@/api/laboratory/ledger'
+import { parseTime } from '@/utils/index'
export default {
+ filters: {
+ conditionsFilter(value) {
+ let returnValue = null
+ switch (+value) {
+ case 1:
+ returnValue = '杩愯'
+ break
+ case 2:
+ returnValue = '鏁呴殰'
+ break
+ case 3:
+ returnValue = '鎶ヤ慨'
+ break
+ case 4:
+ returnValue = '妫�淇�'
+ break
+ case 5:
+ returnValue = '寰呮満'
+ break
+ }
+ return returnValue
+ }
+ },
data() {
return {
- // 琛ㄦ牸鏁版嵁
- data: [{
- id: 1,
- label: '涓�绾� 1',
- children: [{
- id: 4,
- label: '浜岀骇 1-1',
- children: [{
- id: 9,
- label: '涓夌骇 1-1-1'
- }, {
- id: 10,
- label: '涓夌骇 1-1-2'
- }]
- }]
- }],
+ // 鐢ㄦ埛涓嬫媺妗嗛厤缃」
+ userOpetions: [],
+ // 浠櫒鐘舵�侀厤缃」
+ conditionsOptions: [
+ {
+ label: '鍏ㄩ儴',
+ value: 0
+ },
+ {
+ label: '杩愯',
+ value: 1
+ },
+ {
+ label: '鏁呴殰',
+ value: 2
+ },
+ {
+ label: '鎶ヤ慨',
+ value: 3
+ },
+ {
+ label: '妫�淇�',
+ value: 4
+ },
+ {
+ label: '寰呮満',
+ value: 5
+ }
+ ],
+ // 璁¢噺鐘舵�侀厤缃」
+ resultOptions: [
+ {
+ label: '鍚堟牸',
+ value: 1
+ },
+ {
+ label: '鏍℃鍚庡彲鐢�',
+ value: 2
+ },
+ {
+ label: '涓嶅悎鏍�',
+ value: 3
+ }
+
+ ],
+ // 鍒嗙被tree鏁版嵁锛屽垎绫婚厤缃」
+ classTree: [],
+ // 娣诲姞鍒嗙被鍙傛暟
+ addTreeForm: {},
// tree榛樿鍊�
defaultProps: {
children: 'children',
@@ -176,26 +757,392 @@
keyword: ''
},
// 琛ㄦ牸鎼滅储鍗曢�夊��
- radioValue: '鍏ㄩ儴',
+ radioValue: '0',
// 琛ㄦ牸鎼滅储宸茶繃鏈�
- isOut: false
+ // 鏄惁杩囨湡
+ isOut: false,
+ // 鎺у埗娣诲姞鍒嗙被妯℃�佹鏄剧ず
+ addClassVisible: false,
+ // 鎺у埗鏂板璁¢噺妯℃�佹鏄剧ず
+ measureFormVisible: false,
+ // 鎺у埗鍒犻櫎浠櫒妯℃�佹鏄剧ず
+ deletedialogVisible: false,
+ // 鎺у埗娣诲姞淇敼浠櫒鎶藉眽鐨勬樉绀�
+ addDrawerVisible: false,
+ // 娣诲姞淇敼浠櫒鍙傛暟瀵硅薄
+ equipmentform: {
+ acceptanceDate: '', // 楠屾敹鏃ユ湡
+ arrivalDate: '', // 鍒拌揣鏃ユ湡
+ classifyId: '', // 鎵�灞炲垎绫�
+ conditions: '', // 鐘舵��
+ descriptiveness: '', // 鎻忚堪
+ equipmentCode: '', // 璁惧缂栧彿
+ equipmentMeasurement: 1, // 浠櫒璁惧璁¢噺
+ equipmentName: '', // 浠櫒璁惧鍚嶇О
+ errorRate: '', // 涓嶇‘瀹氬害/鍑嗙‘搴�/鏈�澶у厑璁歌宸�
+ userId: '', // 淇濈浜�
+ manufacturer: '', // 鐢熶骇鍘傚
+ measuringRange: '', // 娴嬮噺鑼冨洿
+ specificationsModels: '', // 鍨嬪彿瑙勬牸
+ storagePlace: '', // 瀛樻斁鍦扮偣
+ whetherDataAcquisition: 1 // 鏄惁鏀寔鏁伴噰
+ },
+ // 鎺у埗璁惧浠櫒璇︽儏鎶藉眽鏄剧ず
+ detailDrawer: false,
+ // 璁惧鏁版嵁鍒楄〃
+ equipmentTable: [],
+ // 鍒嗛〉鍙傛暟
+ currentPage: 1,
+ pageSize: 10,
+ total: 0,
+ // 鐮佺偣琛ㄦ牸
+ codePointsTable: [
+ {
+ 'unit': 'mm',
+ 'descriptiveness': '鐤簡锛屽仛涓嶄簡',
+ 'equipmentPoint': 'Area-1',
+ 'name': '灏忓皬',
+ 'updateTime': '2023-07-24',
+ 'id': 1,
+ 'equipmentPointName': '瀵间綋灞忚斀锛堝鍘氶潰绉級'
+ }
+ ],
+ // 璁¢噺淇℃伅琛�
+ measureTable: [],
+ // 娣诲姞璁¢噺淇℃伅鍙傛暟瀵硅薄
+ measureForm: {},
+ activeTabsName: 'codePoints',
+ // 鐮佺偣琛ㄦ牸鐨勭姸鎬侊細鏁版嵁灞曠ずfalse/鏂板杈撳叆true
+ codePointesTableStatus: false,
+ // 璁惧璇︽儏瀵硅薄
+ equipmentDetail: {},
+ // 杩囨护鍏抽敭瀛�
+ filterText: '',
+ // 杩囨护鍚庣殑浠櫒璁惧琛�
+ filterdequipmentTable: '',
+ oldtableData: '',
+ // 杩囨护涓嶅悓鐘舵�佽澶�
+ conditionTable: '',
+ nodeclicked: '',
+ expireData: '',
+ instrumentId: ''
}
},
watch: {
filterText(val) {
- this.$refs.tree.filter(val)
+ this.$refs.classTree.filter(val)
}
},
+ created() {
+ this.getThreeData()
+ this.getUserOptions()
+ },
methods: {
+ // 鑾峰彇鍒嗙被鏁版嵁
+ async getThreeData() {
+ const { data } = await getClassifyList()
+ // console.log(data)
+ this.classTree = data.map(item => {
+ if (item.children) {
+ item.children = item.children.map(childrenItem => {
+ return { ...childrenItem, label: childrenItem.son_name, value: childrenItem.id }
+ })
+ }
+ return { ...item, label: item.father_name, value: item.id ? item.id : item.father_name }
+ })
+ // console.log(this.classTree)
+ },
+ // 鑾峰彇鐢ㄦ埛淇℃伅閰嶇疆椤�
+ async getUserOptions() {
+ const { data } = await addInstrumentUser()
+ this.userOpetions = data.map(item => ({ ...item, label: item.name, value: item.id }))
+ },
+ // 鏄剧ず浠櫒璇︽儏
+ async openDetail(row) {
+ // console.log(row)
+ this.detailDrawer = true
+ const { data } = await getInstrumentDetail({ InstrumentId: row.id })
+ this.equipmentDetail = data
+ this.equipmentform = data
+ console.log(this.equipmentform)
+ const { data: pointList } = await getEquipmentPointList({ InstrumentId: this.equipmentDetail.id })
+ this.codePointsTable = pointList
+ const { data: informationList } = await getMetricalInformationList({ InstrumentId: this.equipmentDetail.id })
+ this.measureTable = informationList
+ console.log(informationList)
+ },
+ // 鑺傜偣鐐瑰嚮澶勭悊
+ nodeClickHandler(data, node, element) {
+ this.nodeclicked = data
+ // console.log(data)
+ // 鍙湁鏁版嵁涓惡甯d鎵嶈兘鍙戦�佹煡璇㈣姹�
+ if (data.id) {
+ this.getEquipmentTable({ classifyId: data.id, pageSize: this.pageSize, pageNo: this.currentPage, whetherWhether: this.isOut })
+ }
+ },
+ // 鑾峰彇浠櫒鍒楄〃鏁版嵁
+ async getEquipmentTable(ages) {
+ // console.log('鏉′欢瀵硅薄', ages)
+ const { data } = await getInstrumentList(ages)
+ console.log(data)
+ this.equipmentTable = data.row
+ this.total = data.total
+ this.oldtableData = this.equipmentTable
+ },
+ // 杩囨护鑺傜偣
filterNode(value, data) {
if (!value) return true
return data.label.indexOf(value) !== -1
+ },
+ // 鏀瑰彉椤甸潰鏁版嵁澶у皬
+ handleSizeChange() {
+ // 褰撳墠椤靛ぇ灏�
+ },
+ // 鏀瑰彉褰撳墠椤�
+ handleCurrentChange() {
+ // 褰撳墠椤垫洿鏀�
+ },
+ // 鏄剧ず璁惧鐮佺偣
+ addCodePoints() {
+ // 娣诲姞鏂扮爜鐐癸紝娓呯┖鍘熸暟缁�
+ this.codePointesTableStatus = true
+ this.codePointsTable = undefined
+ },
+ // 鏂板璁惧鐮佺偣
+ addNewCodePoints() {
+ //
+ if (!this.codePointsTable) {
+ this.codePointsTable = []
+ }
+ const newObj = {}
+ newObj.name = '灏忓皬' // 褰撳墠鐢ㄦ埛鐨勫悕绉�
+ newObj.updateTime = '2023-07-24' // 鑾峰彇褰撳墠鏃堕棿
+ newObj.equipmentPoint = 'Area-1'
+ newObj.equipmentPointName = '瀵间綋灞忚斀锛堝鍘氶潰绉級'
+ newObj.descriptiveness = ''
+ newObj.unit = 'mm'
+ newObj.instrumentId = this.equipmentDetail.id
+ this.codePointsTable.push(newObj)
+ },
+ // 淇濆瓨鎻愪氦鏂板璁惧鐮佺偣
+ async saveCodePoins() {
+ console.log(this.codePointsTable)
+ if (!this.codePointsTable) {
+ this.codePointsTable = []
+ }
+ if (this.codePointsTable.length === 0) return this.$message.error('璇风偣鍑绘坊鍔犳寜閽坊鍔犳暟鎹�')
+ try {
+ for (const item of this.codePointsTable) {
+ const { code, data, message } = await addEquipmentPoint(item)
+ console.log(data)
+ if (code !== 200) throw new Error(message)
+ this.$message.success('娣诲姞鎴愬姛')
+ }
+ } catch (error) {
+ this.$message.error(error)
+ }
+ await this.closeCodePoins()
+ },
+ // 鍙栨秷鏂板璁惧鐮佺偣
+ async closeCodePoins() {
+ this.codePointesTableStatus = false
+ this.codePointsTable = undefined
+ const { data: pointList } = await getEquipmentPointList({ InstrumentId: this.equipmentDetail.id })
+ this.codePointsTable = pointList
+ },
+ // 鐐瑰嚮鏂板浠櫒璁惧鎴栧綋瀛樺湪浠櫒璇︽儏鏃舵槸淇敼浠櫒璁惧淇℃伅
+ async addNewEquipment() {
+ if (Array.isArray(this.equipmentform.classifyId)) {
+ this.equipmentform.classifyId = this.equipmentform.classifyId.pop()
+ }
+ if (!this.equipmentDetail.id) {
+ // 鏍煎紡鍖栨棩鏈�
+ console.log('鏂板浠櫒')
+ this.equipmentform.arrivalDate = parseTime(this.equipmentform.arrivalDate, '{y}-{m}-{d}')
+ this.equipmentform.acceptanceDate = parseTime(this.equipmentform.acceptanceDate, '{y}-{m}-{d}')
+ // this.equipmentform.termValidity = parseTime(this.equipmentform?.termValidity, '{y}-{m}-{d}')
+ console.log('鏂板浠櫒璁惧鍙傛暟', this.equipmentform)
+ try {
+ const res = await addInstrument(this.equipmentform)
+ console.log(res)
+ } catch (error) {
+ this.$message.error('娣诲姞澶辫触')
+ }
+ this.$message.success('娣诲姞鎴愬姛')
+ this.addDrawerVisible = false
+ this.equipmentform = {}
+ return
+ }
+ console.log('淇敼浠櫒鍙傛暟', this.equipmentform)
+ try {
+ const res = await changeInstrument(this.equipmentform)
+ console.log(res)
+ this.$message.success('淇敼鎴愬姛')
+ this.addDrawerVisible = false
+ this.detailDrawer = false
+ } catch (error) {
+ this.$message.error('娣诲姞澶辫触')
+ }
+ },
+ // 娣诲姞璁¢噺淇℃伅
+ async addMeasure() {
+ // 鏍煎紡鍖栨椂闂�
+ this.measureForm.instrumentId = this.equipmentDetail.id
+ if (Array.isArray(this.measureForm.date)) {
+ this.measureForm.beginDate = parseTime(this.measureForm.date[0], '{y}-{m}-{d}')
+ this.measureForm.endDate = parseTime(this.measureForm.date[1], '{y}-{m}-{d}')
+ }
+ console.log(this.measureForm)
+ const formData = new FormData()
+ formData.append('file', this.measureForm.file?.raw, this.measureForm.file?.name)
+ console.log(this.measureForm)
+ for (const key in this.measureForm) {
+ console.log(key)
+ // if (key === 'file') return
+ formData.append(key, this.measureForm[key])
+ }
+ console.log(formData)
+ try {
+ const { data } = await addMetricalInformation(formData)
+ console.log(data)
+ this.$message.success('娣诲姞鎴愬姛')
+ this.measureForm = {}
+ this.measureFormVisible = false
+ } catch (error) {
+ this.$message.error('娣诲姞澶辫触')
+ }
+ },
+ // 鍏抽棴璁惧璇︽儏鎶藉眽
+ closeDetailDrawer() {
+ this.equipmentDetail = {}
+ this.codePointsTable = []
+ this.measureTable = []
+ },
+ // 鍏抽棴娣诲姞淇敼璁惧鎶藉眽
+ closeAddOrChangeDrawer() {
+ if (!this.equipmentDetail.id) {
+ this.equipmentform = {}
+ }
+ },
+ // 鏂囦欢涓婁紶
+ handleUpload(file, fileList) {
+ // console.log(file, fileList)
+ this.measureForm.file = file
+ },
+ // 鏍规嵁杈撳叆鐨勮澶囩紪鍙凤紝璁惧鍚嶇О鎴栬�呭瀷鍙疯鏍煎叧閿瓧杩涜杩囨护鍒楄〃
+ filterTableData() {
+ this.oldtableData = this.equipmentTable
+ const filterdequipmentTable = this.equipmentTable.filter(item => {
+ return item.equipment_code.includes(this.searchData.keyword) || item.equipment_name.includes(this.searchData.keyword) || item.specifications_models.includes(this.searchData.keyword)
+ })
+ this.equipmentTable = filterdequipmentTable
+ },
+ resetBtn() {
+ this.searchData.keyword = ''
+ this.equipmentTable = this.oldtableData
+ },
+ getConditionTable() {
+ // console.log(this.radioValue)
+ let filteredTable = this.oldtableData.filter(item => {
+ return item.conditions === this.radioValue
+ })
+ // 鍏堝垽鏂璱sOut
+ if (this.isOut) {
+ // 濡傛灉鐜板湪鍕鹃�変簡宸茶繃鏈熸寜閽紝閭e氨浠庡綋鍓嶈繃婊ゅソ鐨勫垪琛ㄤ腑绛涢�夊嚭杩囨湡鍒楄〃
+ if (this.expireData.length === 0) {
+ this.equipmentTable = null
+ } else {
+ let expireItem
+ for (expireItem of this.expireData) {
+ filteredTable = filteredTable.filter(item => {
+ return item.equipment_code === expireItem.equipment_code
+ })
+ }
+ this.equipmentTable = filteredTable
+ }
+ if (!this.radioValue) {
+ this.equipmentTable = this.expireData
+ }
+ } else {
+ this.equipmentTable = filteredTable
+ if (!this.radioValue) {
+ this.equipmentTable = this.oldtableData
+ }
+ }
+ },
+ async getExpireTable() {
+ // const filteredTable = this.oldtableData.filter(item => {
+ // return item.conditions === this.radioValue
+ // })
+ if (this.isOut) {
+ // 鎹曡幏鐐瑰嚮浜嗗凡杩囨湡锛岃姹傝繃鏈熸暟鎹苟淇濆瓨
+ const { data } = await getInstrumentList({ classifyId: this.nodeclicked.id, pageSize: this.pageSize, pageNo: this.currentPage, whetherWhether: this.isOut })
+ this.expireData = data.row
+ if (this.expireData.length === 0) {
+ this.equipmentTable = null
+ } else {
+ if (this.radioValue !== 0) {
+ let expireItem
+ for (expireItem of this.expireData) {
+ this.equipmentTable = this.oldtableData.filter(item => {
+ console.log(this.radioValue)
+ console.log('item', item)
+ console.log('expireItem', expireItem)
+ return item.conditions === this.radioValue && item.equipment_code === expireItem.equipment_code
+ })
+ console.log(this.equipmentTable)
+ }
+ } else {
+ this.equipmentTable = this.expireData
+ }
+ }
+ } else {
+ // 鎹曡幏鍙栨秷浜嗗凡杩囨湡锛屽皢杩囨湡鏁版嵁娓呯┖锛岄噸鏂版洿鏂癳quipmentTable
+ this.expireData = ''
+ this.equipmentTable = this.oldtableData.filter(item => {
+ return item.conditions === this.radioValue
+ })
+ if (this.radioValue === 0) {
+ this.equipmentTable = this.oldtableData
+ }
+ }
+ },
+ clickDelete(row) {
+ this.instrumentId = row.id
+ this.deletedialogVisible = true
+ },
+ async deleteInstrument() {
+ // console.log(row.id)
+ await deleteInstrument({ instrumentId: this.instrumentId })
+ this.deletedialogVisible = false
}
}
}
</script>
<style lang="scss" scoped>
+.demo-drawer__content{
+ margin-left: 50px;
+}
+.demo-drawer__footer {
+ display: flex;
+ justify-content: space-between;
+}
+
+.demo-drawer__footer .el-button--default {
+ background-color: #fff;
+ color: #333;
+ width: 45%;
+ margin-bottom: 24px;
+}
+
+.demo-drawer__footer .el-button--primary {
+ background-color: #409EFF;
+ color: #fff;
+ width: 45%;
+ margin-right: 60px;
+ margin-bottom: 24px;
+}
.ledger-main{
width: 100%;
height: 100%;
@@ -235,27 +1182,23 @@
.library-bom{
flex: 2;
margin-right: 12px;
+ .bom-item-search{
+ margin-bottom: 12px;
+ ::v-deep .el-input{
+ input{
+ height: 33px;
+ line-height: 33px;
+ }
+ }
+ }
+ .bom-item-search .el-row{
+ // display: flex;
+ .el-col{
+ text-align: right;
+ }
+ }
.el-tree {
margin-top: 12px;
- ::v-deep .el-tree-node__content{
- height: 24px !important;
- font-size: 14px;
- display: inline-block !important;
- padding: 2px;
- color: #333;
- }
- ::v-deep .el-tree-node__content:hover{
- background: rgba(58,124,253,0.1) !important;
- // opacity: 0.31;
- border-radius: 3px;
- color: #333 !important;
- }
- ::v-deep .el-tree-node:focus>.el-tree-node__content{
- background: rgba(58,124,253,0.1) !important;
- // opacity: 0.31;
- border-radius: 3px;
- color: #333 !important;
- }
}
}
.library-table{
@@ -264,19 +1207,10 @@
margin-left: 12px;
display: flex;
flex-direction: column;
-
- /* .table-header{
- display: flex;
- justify-content: space-between;
- .el-form-item{
- margin-bottom: 30px !important;
- }
- } */
.table-box{
margin-top: 30px;
flex: 1;
background: #fff;
- // padding: 20px 20px 10px 20px;
display: flex;
flex-direction: column;
.el-table {
@@ -290,5 +1224,94 @@
}
}
}
+
+}
+.addDrawer{
+ ::v-deep .el-drawer__body{
+ // padding: 24px !important;
+ overflow-y: scroll;
+ overflow-x: hidden;
+ }
+}
+.detailDrawer{
+ ::v-deep .el-drawer__body{
+ padding: 24px !important;
+ overflow-y: scroll;
+ }
+ .detail-info{
+ background: #fff;
+ box-shadow: rgba(100, 100, 111, 0.2) 0px 5px 15px;
+ margin: 0;
+ margin-bottom: 12px;
+ border-radius: 6px;
+ overflow: hidden;
+ .tips-main{
+ padding: 10px 20px 0 20px;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ height: 50px;
+ .tips-btn{
+ margin-bottom: 10px;
+ }
+ .tips{
+ height: 100%;
+ display: flex;
+ height: 24px;
+ align-items: center;
+ font-size: 16px;
+ >span{
+ display: inline-block;
+ margin-right: 10px;
+ width: 4px;
+ height: 16px;
+ background: #0077DB;
+ }
+ >div{
+ height: 100%;
+ line-height: 26px;
+ }
+ .el-button{
+ padding: 0;
+ }
+ }
+ }
+
+ // 鍩烘湰淇℃伅鍜屼紒涓氫俊鎭殑姣忎竴涓俊鎭」鏍峰紡
+ .message{
+ padding: 0px 20px 8px 20px;
+
+ display: flex;
+ flex-wrap: wrap;
+ border-top: 1px solid #F2F6FC;
+ >div{
+ flex: 30%;
+ max-width: 30%;
+ padding: 8px;
+ color: #606266;
+ align-items: center;
+ font-size: 12px;
+ height: 40px;
+ display: flex;
+ align-items: center;
+ >span{
+ color: #303133;
+ font-size: 14px;
+ >i{
+ margin-right: 8px;
+ }
+ }
+ }
+ }
+ }
+ }
+.measureForm{
+ //
+ .el-form-item{
+ //
+ .el-date-editor{
+ width: 100%;
+ }
+ }
}
</style>
--
Gitblit v1.9.3