| | |
| | | <template> |
| | | <div class="ledger-main"> |
| | | <div class="page-header-search"> |
| | | <div class="search-bar"> |
| | | <el-form ref="form" :inline="true" :model="searchData"> |
| | | <el-form-item> |
| | | <el-input |
| | | v-model="searchData.keyword" |
| | | placeholder="请输入编号/设备名称/型号规格" |
| | | > |
| | | <i slot="prefix" class="el-input__icon el-icon-search" /> |
| | | </el-input> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <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" @click="addDrawerVisible = true">新增仪器</el-button> |
| | | <el-button type="primary" icon="el-icon-plus" |
| | | @click="showAddDrawer()">新增仪器</el-button> |
| | | </div> |
| | | </div> |
| | | <div class="content-main"> |
| | |
| | | <div class="bom-item-search"> |
| | | <el-row> |
| | | <el-col :span="19"> |
| | | <el-input |
| | | v-model="filterText" |
| | | placeholder="输入关键字进行过滤" |
| | | /> |
| | | <el-input v-model="filterText" clearable placeholder="输入关键字进行过滤" /> |
| | | </el-col> |
| | | <el-col :span="5"> |
| | | <el-button type="primary" size="small" @click="addClassVisible = true"><i class="el-icon-plus" /></el-button> |
| | | <el-button type="primary" size="small" @click="addClassVisible = true"><i |
| | | class="el-icon-plus" /></el-button> |
| | | </el-col> |
| | | </el-row> |
| | | </div> |
| | | <el-tree |
| | | ref="classTree" |
| | | :data="classTree" |
| | | :props="defaultProps" |
| | | :default-expand-all="true" |
| | | :filter-node-method="filterNode" |
| | | @node-click="nodeClickHandler" |
| | | /> |
| | | <el-tree :highlight-current="true" ref="classTree" :data="classTree" :props="defaultProps" :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" @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" @change="getExpireTable" :style="{'marginLeft':'12px'}">已过期</el-checkbox> |
| | | </div> |
| | | <div class="serve-btn"> |
| | | <!-- <el-button type="primary" icon="el-icon-plus">新增人员</el-button> --> |
| | | <el-row :gutter="20"> |
| | | <el-col :span="8"> |
| | | <el-form ref="form" :inline="true" :model="searchData"> |
| | | <el-form-item> |
| | | <el-input v-model="searchData.keyword" placeholder="请输入编号/设备名称/型号规格"> |
| | | <i slot="prefix" class="el-input__icon el-icon-search" /> |
| | | </el-input> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button type="primary" @click="filterTableData">查询</el-button> |
| | | <el-button type="primary" plain @click="resetBtn">重置</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | </el-col> |
| | | <el-col :span="16"> |
| | | <el-radio-group v-model="radioValue" @change="getConditionTable"> |
| | | <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" @change="getExpireTable" :style="{ 'marginLeft': '12px' }">已过期</el-checkbox> |
| | | </el-col> |
| | | </el-row> |
| | | </div> |
| | | </div> |
| | | <div class="table-box"> |
| | | <el-table |
| | | 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="equipmentTable" |
| | | style="width: 100%" |
| | | > |
| | | <el-table-column |
| | | type="index" |
| | | label="序号" |
| | | min-width="90" |
| | | /> |
| | | <el-table-column |
| | | prop="equipment_code" |
| | | label="仪器设备编号" |
| | | min-width="200" |
| | | /> |
| | | <el-table-column |
| | | prop="equipment_name" |
| | | label="仪器设备名称" |
| | | min-width="150" |
| | | /> |
| | | <el-table-column |
| | | prop="specifications_models" |
| | | label="规格型号" |
| | | min-width="150" |
| | | /> |
| | | <el-table-column |
| | | prop="name" |
| | | label="保管人" |
| | | min-width="200" |
| | | /> |
| | | <el-table-column |
| | | prop="termValidity" |
| | | label="计量截止有效期" |
| | | min-width="200" |
| | | /> |
| | | <el-table-column |
| | | prop="conditions" |
| | | label="设备状态" |
| | | min-width="120" |
| | | > |
| | | <el-table ref="equipmentTable" node-key="father_name" :cell-style="{ textAlign: 'left' }" |
| | | :header-cell-style="{ border: '0px', background: '#f5f7fa', color: '#606266', boxShadow: 'inset 0 1px 0 #ebeef5', textAlign: 'left' }" |
| | | :data="equipmentTable" style="width: 100%;"> |
| | | <el-table-column type="index" label="序号" min-width="90" /> |
| | | <el-table-column prop="equipment_code" label="仪器设备编号" min-width="200" /> |
| | | <el-table-column prop="equipment_name" label="仪器设备名称" min-width="150" /> |
| | | <el-table-column prop="specifications_models" label="规格型号" min-width="150" /> |
| | | <el-table-column prop="name" label="保管人" min-width="200" /> |
| | | <el-table-column prop="termValidity" label="计量截止有效期" min-width="200" /> |
| | | <el-table-column prop="conditions" label="设备状态" min-width="120"> |
| | | <template slot-scope="scope"> |
| | | <el-tag |
| | | :type="scope.row.conditions === 0 ? 'primary' : 'success'" |
| | | disable-transitions |
| | | >{{ scope.row.conditions | conditionsFilter }}</el-tag> |
| | | <el-tag v-if="scope.row.conditions === 1" type="success" disable-transitions>运行</el-tag> |
| | | <el-tag v-if="scope.row.conditions === 2" type="danger" disable-transitions>故障</el-tag> |
| | | <el-tag v-if="scope.row.conditions === 3" type="warning" disable-transitions>报修</el-tag> |
| | | <el-tag v-if="scope.row.conditions === 4" type="warning" disable-transitions>检修</el-tag> |
| | | <el-tag v-if="scope.row.conditions === 5" disable-transitions>待机</el-tag> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="storage_place" |
| | | label="存放地" |
| | | min-width="200" |
| | | /> |
| | | |
| | | <el-table-column |
| | | label="操作" |
| | | min-width="120" |
| | | fixed="right" |
| | | > |
| | | <el-table-column prop="storage_place" label="存放地" min-width="200" /> |
| | | <el-table-column label="操作" min-width="120" fixed="right"> |
| | | <template slot-scope="scope"> |
| | | <el-button type="text" size="small" @click="openDetail(scope.row)">编辑</el-button> |
| | | <el-button type="text" size="small" @click="clickDelete(scope.row)">删除</el-button> |
| | |
| | | <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 :model="addTreeForm" ref="addTreeForm"> |
| | | <el-form-item prop="name" label="分类名称" label-width="100px" :rules="[ |
| | | { required: true, message: '分类名称不能为空' } |
| | | ]"> |
| | | <el-input placeholder="请填写分类名称" v-model="addTreeForm.name" /> |
| | | </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-cascader v-model="addTreeForm.type" :options="addTreeFormClassTree" style="width: 374.88px;" |
| | | :show-all-levels="false" /> |
| | | </el-form-item> |
| | | </el-form> |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button @click="addClassVisible = false">取 消</el-button> |
| | | <el-button type="primary">确 定</el-button> |
| | | <el-button @click="resetTreeForm('addTreeForm')">取 消</el-button> |
| | | <el-button type="primary" @click="submitTreeForm('addTreeForm')">确 定</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | </div> |
| | | <div> |
| | | <el-pagination |
| | | :current-page="currentPage" |
| | | :page-sizes="[10, 15, 20, 25]" |
| | | :page-size="pageSize" |
| | | layout="total, sizes, prev, pager, next, jumper" |
| | | :total="total" |
| | | @size-change="handleSizeChange" |
| | | @current-change="handleCurrentChange" |
| | | /> |
| | | <el-pagination :current-page="currentPage" :page-sizes="[10, 15, 20, 25]" :page-size="pageSize" |
| | | layout="total, sizes, prev, pager, next, jumper" :total="total" @size-change="handleSizeChange" |
| | | @current-change="handleCurrentChange" /> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <!-- 仪器详情--> |
| | | <el-drawer |
| | | title="仪器设备详情" |
| | | :visible.sync="detailDrawer" |
| | | size="80%" |
| | | class="detailDrawer" |
| | | @close="closeDetailDrawer" |
| | | > |
| | | <el-drawer title="仪器设备详情" :visible.sync="detailDrawer" size="80%" class="detailDrawer" @close="closeDetailDrawer"> |
| | | <div> |
| | | <div class="detail-info"> |
| | | <div class="tips-main"> |
| | |
| | | <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> |
| | | <span><i class="el-icon-user" />创建人:{{ 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> |
| | |
| | | <span><i class="el-icon-edit" />验收日期:{{ equipmentDetail.acceptanceDate }}</span> |
| | | </div> |
| | | <div class="message-item"> |
| | | <span><i class="el-icon-edit" />保管人:{{ equipmentDetail.userId }}</span> |
| | | <span><i class="el-icon-edit" />保管人:{{ equipmentDetail.userName }}</span> |
| | | </div> |
| | | <div class="message-item"> |
| | | <span><i class="el-icon-edit" />是否支持数采:{{ equipmentDetail.whetherDataAcquisition==1 ? '支持': '不支持' }}</span> |
| | | <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> |
| | | <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> |
| | | <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"> |
| | | <div :style="{ marginBottom: '18px' }" class="btns"> |
| | | <el-button @click="addNewCodePoints">添加</el-button> |
| | | <el-button @click="saveCodePoins">保存</el-button> |
| | | <el-button v-show="codePointesTableStatus" @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" |
| | | > |
| | | <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" /> |
| | | <el-input v-if="codePointesTableStatus && scope.row.isInput" v-model="scope.row.equipmentPoint" /> |
| | | <span v-else>{{ scope.row.equipmentPoint }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | |
| | | <el-table-column |
| | | prop="equipmentPointName" |
| | | label="码点名称" |
| | | min-width="150" |
| | | > |
| | | <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" /> |
| | | <el-input v-if="codePointesTableStatus && scope.row.isInput" v-model="scope.row.equipmentPointName" /> |
| | | <span v-else>{{ scope.row.equipmentPointName }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="unit" |
| | | label="单位" |
| | | min-width="150" |
| | | > |
| | | <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" /> |
| | | <el-input v-if="codePointesTableStatus && scope.row.isInput" v-model="scope.row.unit" /> |
| | | <span v-else>{{ scope.row.unit }}</span> |
| | | </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" |
| | | > |
| | | <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" /> |
| | | <el-input v-if="codePointesTableStatus && scope.row.isInput" v-model="scope.row.descriptiveness" /> |
| | | <span v-else>{{ scope.row.descriptiveness }}</span> |
| | | </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" |
| | | > |
| | | <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 |
| | |
| | | >{{ scope.row.result === 0 ? '未同意' : '已同意' }}</el-tag> --> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="remarks" |
| | | label="备注" |
| | | min-width="200" |
| | | /> |
| | | <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" |
| | | > |
| | | <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-form label-position="top" ref="addNewEquipment" :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 label="所属分类:" prop="classifyId" label-width="80" :rules="[ |
| | | { required: true, message: '请选择所属分类', trigger: 'blur' } |
| | | ]"> |
| | | <el-cascader style="width: 100%;" 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 label="设备编号:" prop="equipmentCode" |
| | | :rules="[{ required: true, message: '请填写设备编号', trigger: 'blur' }]" label-width="80"> |
| | | <el-input v-model="equipmentform.equipmentCode" placeholder="请填写设备编号" 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 label="仪器设备名称:" prop="equipmentName" |
| | | :rules="[{ required: true, message: '请填写仪器设备名称', trigger: 'blur' }]" label-width="80"> |
| | | <el-input v-model="equipmentform.equipmentName" placeholder="请填写仪器设备名称" 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-form-item label="状态:" prop="conditions" |
| | | :rules="[{ required: true, message: '请选择仪器设备状态', trigger: 'blur' }]" label-width="80"> |
| | | <el-select v-model="equipmentform.conditions" clearable :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 label="型号规格:" prop="specificationsModels" |
| | | :rules="[{ required: true, message: '请填写型号规格', trigger: 'blur' }]" label-width="80"> |
| | | <el-input v-model="equipmentform.specificationsModels" placeholder="请填写型号规格" 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-input v-model="equipmentform.measuringRange" placeholder="请填写测量范围" 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-input v-model="equipmentform.errorRate" placeholder="请填写不确定度/准确度/最大允许误差" 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-input v-model="equipmentform.manufacturer" placeholder="请填写生产厂家" 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-input v-model="equipmentform.storagePlace" placeholder="请填写存放地点" 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-date-picker value-format="yyyy-MM-dd" 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-date-picker value-format="yyyy-MM-dd" 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 v-model="equipmentform.userId" clearable :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-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row v-show="equipmentform.equipmentMeasurement===1" :gutter="50"> |
| | | <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 label="计量周期(月):" label-width="80"> |
| | | <el-input min="0" v-model="equipmentform.termValidity" placeholder="请填写计量周期" 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-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 class="el-button--default" @click="cancelAddEq">取 消</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-form label-position="top" ref="addmeasureForm" :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-form-item label="负责人" prop="userId" :rules="[{ required: true, message: '请选择负责人', trigger: 'change' }]"> |
| | | <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 label="计量单位" prop="measurementUnit" |
| | | :rules="[{ required: true, message: '请填写计量单位', trigger: 'blur' }]"> |
| | | <el-input placeholder="请填写计量单位" 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 label="检定有效期" prop="date" :rules="[{ required: true, message: '请选择检定有效期', trigger: 'blur' }]"> |
| | | <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 label="不确定度" prop="uncertainty" |
| | | :rules="[{ required: true, message: '请填写不确定度', trigger: 'blur' }]"> |
| | | <el-input placeholder="请填写不确定度" 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-form-item label="结果" prop="result" :rules="[{ required: true, message: '请选择结果', trigger: 'change' }]"> |
| | | <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 :gutter="20"> |
| | | <el-col :span="24"> |
| | | <el-form-item label="性能指标"> |
| | | <el-input |
| | | v-model="measureForm.performanceIndex" |
| | | type="textarea" |
| | | :rows="2" |
| | | placeholder="请输入内容" |
| | | /> |
| | | <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-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-form-item label="" prop="file"> |
| | | <el-upload ref="upload" class="upload-demo" action="#" :on-change="handleUpload" :auto-upload="false"> |
| | | <el-button size="small" type="primary">点击上传</el-button> |
| | | </el-upload> |
| | | </el-form-item> |
| | |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button type="primary" @click="addMeasure">确 定</el-button> |
| | | |
| | | <el-button @click="measureFormVisible = false">取 消</el-button> |
| | | <el-button @click="cancelAddMeasure">取 消</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | <!-- 删除仪器弹出框 --> |
| | | <el-dialog |
| | | title="提示" |
| | | :visible.sync="deletedialogVisible" |
| | | width="30%" |
| | | :before-close="handleClose"> |
| | | <el-dialog title="提示" :visible.sync="deletedialogVisible" width="30%"> |
| | | <span>确定删除该仪器吗?</span> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="deletedialogVisible = false">取 消</el-button> |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import { getClassifyList, getInstrumentList, |
| | | import { |
| | | getClassifyList, getInstrumentList, |
| | | addInstrumentUser, addInstrument, getInstrumentDetail, |
| | | getEquipmentPointList, addEquipmentPoint, |
| | | getMetricalInformationList, changeInstrument, addMetricalInformation, deleteInstrument } from '@/api/laboratory/ledger' |
| | | getMetricalInformationList, changeInstrument, addMetricalInformation, deleteInstrument, addClassify |
| | | } 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 |
| | | } |
| | | }, |
| | | filters: {}, |
| | | data() { |
| | | return { |
| | | // 用户下拉框配置项 |
| | | userOpetions: [], |
| | | // 仪器状态配置项 |
| | | conditionsOptions: [ |
| | | { |
| | | label: '全部', |
| | | value: 0 |
| | | }, |
| | | { |
| | | label: '运行', |
| | | value: 1 |
| | |
| | | // 分类tree数据,分类配置项 |
| | | classTree: [], |
| | | // 添加分类参数 |
| | | addTreeForm: {}, |
| | | addTreeForm: { |
| | | name: null, |
| | | type: null |
| | | }, |
| | | // tree默认值 |
| | | defaultProps: { |
| | | children: 'children', |
| | |
| | | // 码点表格 |
| | | codePointsTable: [ |
| | | { |
| | | 'unit': 'mm', |
| | | 'descriptiveness': '疯了,做不了', |
| | | 'equipmentPoint': 'Area-1', |
| | | 'name': '小小', |
| | | 'updateTime': '2023-07-24', |
| | | 'isInput':false, |
| | | 'unit': '', |
| | | 'descriptiveness': '', |
| | | 'equipmentPoint': '', |
| | | 'name': '', |
| | | 'updateTime': '', |
| | | 'id': 1, |
| | | 'equipmentPointName': '导体屏蔽(壁厚面积)' |
| | | 'equipmentPointName': '' |
| | | } |
| | | ], |
| | | // 计量信息表 |
| | | measureTable: [], |
| | | // 添加计量信息参数对象 |
| | | measureForm: {}, |
| | | measureForm: { |
| | | userId: null, |
| | | measurementUnit: null, |
| | | date: null, |
| | | uncertainty: null, |
| | | result: null, |
| | | performanceIndex: null, |
| | | remarks: null, |
| | | file: "" |
| | | }, |
| | | activeTabsName: 'codePoints', |
| | | // 码点表格的状态:数据展示false/新增输入true |
| | | codePointesTableStatus: false, |
| | |
| | | conditionTable: '', |
| | | nodeclicked: '', |
| | | expireData: '', |
| | | instrumentId: '' |
| | | instrumentId: '', |
| | | addTreeFormClassTree: [] |
| | | } |
| | | }, |
| | | watch: { |
| | | filterText(val) { |
| | | this.$refs.classTree.filter(val) |
| | | }, |
| | | measureFormVisible(newVal){ |
| | | if(newVal === false){ |
| | | this.resetForm("addmeasureForm"); |
| | | } |
| | | } |
| | | }, |
| | | created() { |
| | |
| | | this.getUserOptions() |
| | | }, |
| | | methods: { |
| | | //显示新增仪器模态框 |
| | | showAddDrawer(){ |
| | | this.addDrawerVisible = true; |
| | | this.equipmentform = { |
| | | acceptanceDate: '', // 验收日期 |
| | | arrivalDate: '', // 到货日期 |
| | | classifyId: '', // 所属分类 |
| | | conditions: '', // 状态 |
| | | descriptiveness: '', // 描述 |
| | | equipmentCode: '', // 设备编号 |
| | | equipmentMeasurement: 1, // 仪器设备计量 |
| | | equipmentName: '', // 仪器设备名称 |
| | | errorRate: '', // 不确定度/准确度/最大允许误差 |
| | | userId: '', // 保管人 |
| | | manufacturer: '', // 生产厂家 |
| | | measuringRange: '', // 测量范围 |
| | | specificationsModels: '', // 型号规格 |
| | | storagePlace: '', // 存放地点 |
| | | whetherDataAcquisition: 1 // 是否支持数采 |
| | | } |
| | | }, |
| | | // 获取分类数据 |
| | | async getThreeData() { |
| | | const { data } = await getClassifyList() |
| | |
| | | } |
| | | return { ...item, label: item.father_name, value: item.id ? item.id : item.father_name } |
| | | }) |
| | | // console.log(this.classTree) |
| | | this.addTreeFormClassTree = JSON.parse(JSON.stringify(this.classTree)) |
| | | let father = { |
| | | children: null, |
| | | father_name: "无", |
| | | id: 0, |
| | | label: "无", |
| | | value: 0 |
| | | } |
| | | this.addTreeFormClassTree.unshift(father) |
| | | this.addTreeFormClassTree.forEach(item => { |
| | | item.children = null |
| | | }) |
| | | }, |
| | | // 获取用户信息配置项 |
| | | async getUserOptions() { |
| | |
| | | }, |
| | | // 显示仪器详情 |
| | | async openDetail(row) { |
| | | // console.log(row) |
| | | this.detailDrawer = true |
| | | const { data } = await getInstrumentDetail({ InstrumentId: row.id }) |
| | | this.equipmentDetail = data |
| | |
| | | // 节点点击处理 |
| | | nodeClickHandler(data, node, element) { |
| | | this.nodeclicked = data |
| | | // console.log(data) |
| | | console.log(data) |
| | | // 只有数据中携带id才能发送查询请求 |
| | | 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 |
| | |
| | | addCodePoints() { |
| | | // 添加新码点,清空原数组 |
| | | this.codePointesTableStatus = true |
| | | this.codePointsTable = undefined |
| | | }, |
| | | // 新增设备码点 |
| | | addNewCodePoints() { |
| | | // |
| | | if (!this.codePointsTable) { |
| | | this.codePointsTable = [] |
| | | } |
| | | console.log(this.equipmentDetail.id); |
| | | this.codePointesTableStatus = true; |
| | | const newObj = {} |
| | | newObj.name = '小小' // 当前用户的名称 |
| | | newObj.updateTime = '2023-07-24' // 获取当前时间 |
| | | newObj.equipmentPoint = 'Area-1' |
| | | newObj.equipmentPointName = '导体屏蔽(壁厚面积)' |
| | | newObj.isInput = true, |
| | | newObj.name = '' // 当前用户的名称 |
| | | newObj.updateTime = '' // 获取当前时间 |
| | | newObj.equipmentPoint = '' |
| | | newObj.equipmentPointName = '' |
| | | newObj.descriptiveness = '' |
| | | newObj.unit = 'mm' |
| | | newObj.unit = '' |
| | | newObj.instrumentId = this.equipmentDetail.id |
| | | this.codePointsTable.push(newObj) |
| | | this.codePointsTable.unshift(newObj) |
| | | }, |
| | | // 保存提交新增设备码点 |
| | | async saveCodePoins() { |
| | | console.log(this.codePointsTable) |
| | | if (!this.codePointsTable) { |
| | | this.codePointsTable = [] |
| | | if (this.codePointsTable.length === 0) { |
| | | return this.$message.error('请点击添加按钮添加数据') |
| | | } |
| | | 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) |
| | | } |
| | | let data = this.codePointsTable.filter(item => { |
| | | return item.instrumentId != null; |
| | | }) |
| | | await addEquipmentPoint(data).then(()=>{ |
| | | this.$message.success('添加成功') |
| | | }).catch(error=>{ |
| | | this.$message.error(error.message) |
| | | }) |
| | | await this.closeCodePoins() |
| | | }, |
| | | // 取消新增设备码点 |
| | |
| | | const { data: pointList } = await getEquipmentPointList({ InstrumentId: this.equipmentDetail.id }) |
| | | this.codePointsTable = pointList |
| | | }, |
| | | async submitForm(formName) { |
| | | this.$refs[formName].validate((valid) => { |
| | | if (valid) { |
| | | return true |
| | | } else { |
| | | return false; |
| | | } |
| | | }); |
| | | }, |
| | | // 点击新增仪器设备或当存在仪器详情时是修改仪器设备信息 |
| | | 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.$refs["addNewEquipment"].validate(async(valid)=>{ |
| | | if(valid){ |
| | | if (Array.isArray(this.equipmentform.classifyId)) { |
| | | this.equipmentform.classifyId = this.equipmentform.classifyId.pop() |
| | | } |
| | | if (!this.equipmentDetail.id) { |
| | | // 格式化日期 |
| | | 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}') |
| | | await addInstrument(this.equipmentform).then(()=>{ |
| | | this.$message.success('添加成功') |
| | | }).catch(error=>{ |
| | | this.$message.error(error.message); |
| | | }) |
| | | let d = this.nodeclicked; |
| | | this.nodeClickHandler(d); |
| | | this.addDrawerVisible = false |
| | | this.equipmentform = {} |
| | | return |
| | | } |
| | | console.log('修改仪器参数', this.equipmentform) |
| | | await changeInstrument(this.equipmentform).then(()=>{ |
| | | this.$message.success('修改成功') |
| | | let d = this.nodeclicked; |
| | | this.nodeClickHandler(d); |
| | | this.addDrawerVisible = false |
| | | this.detailDrawer = false |
| | | }).catch(error=>{ |
| | | this.$message.error(error.message); |
| | | }) |
| | | } |
| | | this.$message.success('添加成功') |
| | | this.addDrawerVisible = false |
| | | this.equipmentform = {} |
| | | return |
| | | }); |
| | | }, |
| | | cancelAddEq() { |
| | | this.resetForm('addDrawer') |
| | | this.addDrawerVisible = false |
| | | }, |
| | | resetForm(formName) { |
| | | this.measureForm = { |
| | | userId: null, |
| | | measurementUnit: null, |
| | | date: null, |
| | | uncertainty: null, |
| | | result: null, |
| | | performanceIndex: null, |
| | | remarks: null, |
| | | file: "" |
| | | } |
| | | 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('添加失败') |
| | | } |
| | | this.$refs[formName].resetFields(); |
| | | }, |
| | | cancelAddMeasure() { |
| | | this.$refs['upload'].clearFiles(); |
| | | this.measureForm.file = null; |
| | | this.measureFormVisible = false |
| | | this.resetForm('addmeasureForm'); |
| | | }, |
| | | // 添加计量信息 |
| | | 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('添加失败') |
| | | } |
| | | this.$refs['addmeasureForm'].validate(async(valid)=>{ |
| | | if(valid){ |
| | | // 格式化时间 |
| | | 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() |
| | | if(this.measureForm.file == null || this.measureForm.file == ""){ |
| | | this.$message.warning("请选择要上传的文件!"); |
| | | return; |
| | | }else{ |
| | | 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('添加成功') |
| | | const { data: informationList } = await getMetricalInformationList({ InstrumentId: this.equipmentDetail.id }) |
| | | this.measureTable = informationList |
| | | this.measureForm = {} |
| | | this.measureFormVisible = false |
| | | } catch (error) { |
| | | this.$message.error('添加失败') |
| | | } |
| | | this.measureForm.file = null; |
| | | this.$refs['upload'].clearFiles(); |
| | | }else{ |
| | | console.log(32); |
| | | } |
| | | }); |
| | | }, |
| | | // 关闭设备详情抽屉 |
| | | closeDetailDrawer() { |
| | | this.equipmentDetail = {} |
| | | this.codePointsTable = [] |
| | | this.measureTable = [] |
| | | this.measureForm.file = null; |
| | | this.$refs['upload'].clearFiles(); |
| | | }, |
| | | // 关闭添加修改设备抽屉 |
| | | closeAddOrChangeDrawer() { |
| | |
| | | }, |
| | | // 文件上传 |
| | | handleUpload(file, fileList) { |
| | | // console.log(file, fileList) |
| | | console.log(file, fileList) |
| | | this.measureForm.file = file |
| | | }, |
| | | // 根据输入的设备编号,设备名称或者型号规格关键字进行过滤列表 |
| | |
| | | }, |
| | | resetBtn() { |
| | | this.searchData.keyword = '' |
| | | this.radioValue = 0; |
| | | this.isOut = false; |
| | | this.equipmentTable = this.oldtableData |
| | | }, |
| | | getConditionTable() { |
| | |
| | | this.deletedialogVisible = true |
| | | }, |
| | | async deleteInstrument() { |
| | | // console.log(row.id) |
| | | await deleteInstrument({ instrumentId: this.instrumentId }) |
| | | await deleteInstrument({ instrumentId: this.instrumentId }).then(res=>{ |
| | | this.$message.success('删除成功!'); |
| | | let d = this.nodeclicked |
| | | this.nodeClickHandler(d); |
| | | }).catch(()=>{ |
| | | this.$message.error('删除失败!'); |
| | | }); |
| | | this.deletedialogVisible = false |
| | | }, |
| | | async submitTreeForm(formName) { |
| | | let _that = this |
| | | this.$refs[formName].validate((valid) => { |
| | | if (valid) { |
| | | _that.addClassifyInfo() |
| | | } else { |
| | | console.log('error submit!!'); |
| | | return false; |
| | | } |
| | | }); |
| | | }, |
| | | async addClassifyInfo() { |
| | | let _that = this |
| | | let data = { |
| | | fatherName: null, |
| | | sonName: null |
| | | } |
| | | |
| | | if (_that.addTreeForm.type != null && _that.addTreeForm.type[0] != 0) { |
| | | data.fatherName = _that.addTreeFormClassTree.filter(item => { |
| | | return item.value == _that.addTreeForm.type[0] |
| | | })[0].label |
| | | data.sonName = _that.addTreeForm.name |
| | | } else { |
| | | data.fatherName = _that.addTreeForm.name |
| | | } // return; |
| | | let add = await addClassify(data); |
| | | switch (add.message.split('-$')[0]) { |
| | | case '1': |
| | | this.$message({ |
| | | message: '操作成功!', |
| | | type: 'success' |
| | | }); |
| | | _that.getThreeData() |
| | | _that.resetTreeForm('addTreeForm') |
| | | break; |
| | | case '2': |
| | | this.$message({ |
| | | message: '已存在该分类', |
| | | type: 'warning' |
| | | }); |
| | | break; |
| | | case '0': |
| | | this.$message.error('添加失败!请联系管理员'); |
| | | break; |
| | | } |
| | | |
| | | }, |
| | | resetTreeForm(formName) { |
| | | this.$refs[formName].resetFields(); |
| | | this.addClassVisible = false |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | .demo-drawer__content{ |
| | | .demo-drawer__content { |
| | | margin-left: 50px; |
| | | } |
| | | |
| | | .demo-drawer__footer { |
| | | display: flex; |
| | | justify-content: space-between; |
| | |
| | | margin-right: 60px; |
| | | margin-bottom: 24px; |
| | | } |
| | | .ledger-main{ |
| | | |
| | | .ledger-main { |
| | | width: 100%; |
| | | height: 100%; |
| | | // 页面头部条件搜索 |
| | | .page-header-search{ |
| | | |
| | | // 页面头部条件搜索 |
| | | .page-header-search { |
| | | background: #fff; |
| | | display: flex; |
| | | justify-content: space-between; |
| | | padding: 0 24px 12px 24px; |
| | | .search-bar{ |
| | | .el-radio-button.is-active{ |
| | | padding: 15px 24px 12px 24px; |
| | | .serve-btn{ |
| | | position: relative; |
| | | left: 92%; |
| | | } |
| | | .search-bar { |
| | | .el-radio-button.is-active { |
| | | color: #409EFF !important; |
| | | background: #ecf5ff !important; |
| | | border-color: #b3d8ff !important; |
| | | } |
| | | .el-form{ |
| | | .el-form-item{ |
| | | margin-bottom: 0px !important; |
| | | .el-input{ |
| | | width: 360px; |
| | | } |
| | | .el-form { |
| | | .el-form-item { |
| | | margin-bottom: 0px !important; |
| | | |
| | | .el-input { |
| | | width: 500px; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | // 页面中心内容区域 |
| | | .content-main{ |
| | | // 页面中心内容区域 |
| | | .content-main { |
| | | display: flex; |
| | | height: 100%; |
| | | min-height: calc(100vh - 88px); |
| | | padding: 15px; |
| | | >div{ |
| | | |
| | | >div { |
| | | padding: 20px; |
| | | background: #fff; |
| | | } |
| | | .library-bom{ |
| | | |
| | | .library-bom { |
| | | flex: 2; |
| | | margin-right: 12px; |
| | | .bom-item-search{ |
| | | height: 80vh; |
| | | |
| | | .bom-item-search { |
| | | margin-bottom: 12px; |
| | | ::v-deep .el-input{ |
| | | input{ |
| | | |
| | | ::v-deep .el-input { |
| | | input { |
| | | height: 33px; |
| | | line-height: 33px; |
| | | } |
| | | } |
| | | } |
| | | .bom-item-search .el-row{ |
| | | // display: flex; |
| | | .el-col{ |
| | | text-align: right; |
| | | } |
| | | } |
| | | |
| | | .bom-item-search .el-row { |
| | | |
| | | // display: flex; |
| | | .el-col { |
| | | text-align: right; |
| | | } |
| | | } |
| | | |
| | | .el-tree { |
| | | margin-top: 12px; |
| | | } |
| | | } |
| | | .library-table{ |
| | | |
| | | .library-table { |
| | | flex: 8; |
| | | max-width: 80%; |
| | | margin-left: 12px; |
| | | display: flex; |
| | | flex-direction: column; |
| | | .table-box{ |
| | | margin-top: 30px; |
| | | height: 80vh; |
| | | |
| | | .table-box { |
| | | margin-top: 30px; |
| | | flex: 1; |
| | | background: #fff; |
| | | display: flex; |
| | | flex-direction: column; |
| | | |
| | | .el-table { |
| | | flex: 1; |
| | | background: #fff; |
| | | } |
| | | |
| | | >div:nth-child(2) { |
| | | display: flex; |
| | | flex-direction: column; |
| | | .el-table { |
| | | flex: 1; |
| | | } |
| | | >div:nth-child(2){ |
| | | display: flex; |
| | | justify-content: end; |
| | | margin: 10px 0; |
| | | } |
| | | justify-content: end; |
| | | margin: 10px 0; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | .addDrawer{ |
| | | ::v-deep .el-drawer__body{ |
| | | // padding: 24px !important; |
| | | overflow-y: scroll; |
| | | overflow-x: hidden; |
| | | } |
| | | |
| | | .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{ |
| | | |
| | | .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{ |
| | | |
| | | .tips-main { |
| | | padding: 10px 20px 0 20px; |
| | | display: flex; |
| | | justify-content: space-between; |
| | | align-items: center; |
| | | height: 50px; |
| | | .tips-btn{ |
| | | |
| | | .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{ |
| | | |
| | | .tips { |
| | | height: 100%; |
| | | line-height: 26px; |
| | | } |
| | | .el-button{ |
| | | padding: 0; |
| | | } |
| | | 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{ |
| | | .message { |
| | | padding: 0px 20px 8px 20px; |
| | | |
| | | display: flex; |
| | | flex-wrap: wrap; |
| | | border-top: 1px solid #F2F6FC; |
| | | >div{ |
| | | |
| | | >div { |
| | | flex: 30%; |
| | | max-width: 30%; |
| | | padding: 8px; |
| | |
| | | height: 40px; |
| | | display: flex; |
| | | align-items: center; |
| | | >span{ |
| | | |
| | | >span { |
| | | color: #303133; |
| | | font-size: 14px; |
| | | >i{ |
| | | |
| | | >i { |
| | | margin-right: 8px; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | .measureForm{ |
| | | } |
| | | |
| | | .measureForm { |
| | | |
| | | // |
| | | .el-form-item{ |
| | | .el-form-item { |
| | | |
| | | // |
| | | .el-date-editor{ |
| | | .el-date-editor { |
| | | width: 100%; |
| | | } |
| | | } |