From 3f3f8aa865dd03a9dd2363ceabc61cc458a088d7 Mon Sep 17 00:00:00 2001
From: Fixiaobai <fixiaobai@163.com>
Date: 星期二, 15 八月 2023 17:59:36 +0800
Subject: [PATCH] modified: src/views/laboratory/ledger/index.vue modified: src/views/standardLibrary/index.vue
---
src/views/standardLibrary/index.vue | 14 ++-
src/views/laboratory/ledger/index.vue | 221 ++++++++++++++++++++++++++++++++++++++++---------------
2 files changed, 168 insertions(+), 67 deletions(-)
diff --git a/src/views/laboratory/ledger/index.vue b/src/views/laboratory/ledger/index.vue
index 555d0b6..1f778a6 100644
--- a/src/views/laboratory/ledger/index.vue
+++ b/src/views/laboratory/ledger/index.vue
@@ -16,7 +16,8 @@
</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="addDrawerVisible = true; equipmentform.equipmentMeasurement = 1; equipmentform.whetherDataAcquisition = 1">鏂板浠櫒</el-button>
</div>
</div>
<div class="content-main">
@@ -83,14 +84,11 @@
<el-form-item prop="name" label="鍒嗙被鍚嶇О" label-width="100px" :rules="[
{ required: true, message: '鍒嗙被鍚嶇О涓嶈兘涓虹┖' }
]">
- <el-input v-model="addTreeForm.name"
- />
+ <el-input placeholder="璇峰~鍐欏垎绫诲悕绉�" v-model="addTreeForm.name" />
</el-form-item>
<el-form-item label="鐖剁骇鍒嗙被" label-width="100px">
- <el-select style="width: 100%;" 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">
@@ -123,8 +121,8 @@
<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>
@@ -204,8 +202,8 @@
<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="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>
@@ -246,27 +244,32 @@
<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-form-item label="鎵�灞炲垎绫伙細" prop="classifyId" label-width="80" :rules="[
+ { required: true, message: '璇烽�夋嫨鎵�灞炲垎绫�', trigger: 'change' }
+ ]">
<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 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-form-item label="鐘舵�侊細" prop="conditions"
+ :rules="[{ required: true, message: '璇烽�夋嫨浠櫒璁惧鐘舵��', trigger: 'change' }]" 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"
@@ -277,32 +280,33 @@
</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">
@@ -345,7 +349,7 @@
<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-input v-model="equipmentform.termValidity" placeholder="璇峰~鍐欒閲忔湁鏁堟湡" type="number" />
</el-form-item>
</el-col>
</el-row>
@@ -359,17 +363,17 @@
</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-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" />
@@ -377,14 +381,15 @@
</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-form-item label="妫�瀹氭湁鏁堟湡" prop="date" :rules="[{ required: true, message: '璇烽�夋嫨妫�瀹氭湁鏁堟湡', trigger: 'change' }]">
<el-date-picker v-model="measureForm.date" type="daterange" range-separator="鑷�" start-placeholder="寮�濮嬫棩鏈�"
end-placeholder="缁撴潫鏃ユ湡" />
</el-form-item>
@@ -392,13 +397,14 @@
</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="璐熻矗浜�"
+ <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>
@@ -432,7 +438,7 @@
<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>
<!-- 鍒犻櫎浠櫒寮瑰嚭妗� -->
@@ -451,7 +457,7 @@
getClassifyList, getInstrumentList,
addInstrumentUser, addInstrument, getInstrumentDetail,
getEquipmentPointList, addEquipmentPoint,
- getMetricalInformationList, changeInstrument, addMetricalInformation, deleteInstrument
+ getMetricalInformationList, changeInstrument, addMetricalInformation, deleteInstrument, addClassify
} from '@/api/laboratory/ledger'
import { parseTime } from '@/utils/index'
export default {
@@ -528,7 +534,10 @@
// 鍒嗙被tree鏁版嵁锛屽垎绫婚厤缃」
classTree: [],
// 娣诲姞鍒嗙被鍙傛暟
- addTreeForm: {},
+ addTreeForm: {
+ name: null,
+ type: null
+ },
// tree榛樿鍊�
defaultProps: {
children: 'children',
@@ -580,19 +589,28 @@
// 鐮佺偣琛ㄦ牸
codePointsTable: [
{
- 'unit': 'mm',
- 'descriptiveness': '鐤簡锛屽仛涓嶄簡',
- 'equipmentPoint': 'Area-1',
- 'name': '灏忓皬',
- 'updateTime': '2023-07-24',
+ '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: null
+ },
activeTabsName: 'codePoints',
// 鐮佺偣琛ㄦ牸鐨勭姸鎬侊細鏁版嵁灞曠ずfalse/鏂板杈撳叆true
codePointesTableStatus: false,
@@ -607,7 +625,8 @@
conditionTable: '',
nodeclicked: '',
expireData: '',
- instrumentId: ''
+ instrumentId: '',
+ addTreeFormClassTree: []
}
},
watch: {
@@ -632,7 +651,18 @@
}
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() {
@@ -666,7 +696,6 @@
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
@@ -697,12 +726,12 @@
this.codePointsTable = []
}
const newObj = {}
- newObj.name = '灏忓皬' // 褰撳墠鐢ㄦ埛鐨勫悕绉�
- newObj.updateTime = '2023-07-24' // 鑾峰彇褰撳墠鏃堕棿
- newObj.equipmentPoint = 'Area-1'
- newObj.equipmentPointName = '瀵间綋灞忚斀锛堝鍘氶潰绉級'
+ newObj.name = '' // 褰撳墠鐢ㄦ埛鐨勫悕绉�
+ newObj.updateTime = '' // 鑾峰彇褰撳墠鏃堕棿
+ newObj.equipmentPoint = ''
+ newObj.equipmentPointName = ''
newObj.descriptiveness = ''
- newObj.unit = 'mm'
+ newObj.unit = ''
newObj.instrumentId = this.equipmentDetail.id
this.codePointsTable.push(newObj)
},
@@ -732,18 +761,29 @@
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() {
+ let v = this.submitForm('addNewEquipment')
+ if (!v) {
+ return
+ }
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)
@@ -758,7 +798,6 @@
console.log('淇敼浠櫒鍙傛暟', this.equipmentform)
try {
const res = await changeInstrument(this.equipmentform)
- console.log(res)
this.$message.success('淇敼鎴愬姛')
this.addDrawerVisible = false
this.detailDrawer = false
@@ -766,8 +805,24 @@
this.$message.error('娣诲姞澶辫触')
}
},
+ cancelAddEq() {
+ this.addDrawerVisible = false
+ // this.resetForm('addNewEquipment')
+ },
+ resetForm(formName) {
+ this.$refs[formName].resetFields();
+ },
+ cancelAddMeasure() {
+ this.measureFormVisible = false
+ this.resetForm('addmeasureForm')
+ },
// 娣诲姞璁¢噺淇℃伅
async addMeasure() {
+ let v = this.submitForm('addmeasureForm')
+ console.log(v);
+ if (!v) {
+ return
+ }
// 鏍煎紡鍖栨椂闂�
this.measureForm.instrumentId = this.equipmentDetail.id
if (Array.isArray(this.measureForm.date)) {
@@ -788,6 +843,8 @@
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) {
@@ -894,23 +951,65 @@
this.deletedialogVisible = true
},
async deleteInstrument() {
- // console.log(row.id)
- await deleteInstrument({ instrumentId: this.instrumentId })
+ let up = await deleteInstrument({ instrumentId: this.instrumentId })
+ if (up.data) {
+ this.$message({
+ message: '鎿嶄綔鎴愬姛锛�',
+ type: 'success'
+ });
+ let d = this.nodeclicked
+ this.nodeClickHandler(d);
+ }
this.deletedialogVisible = false
},
- submitTreeForm(formName) {
+ async submitTreeForm(formName) {
+ let _that = this
this.$refs[formName].validate((valid) => {
if (valid) {
- alert('submit!');
+ _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.addTreeForm.type[0]
+ data.sonName = _that.addTreeForm.name
+ } else {
+ data.fatherName = _that.addTreeForm.name
+ }
+ 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
+ this.addClassVisible = false
}
}
}
diff --git a/src/views/standardLibrary/index.vue b/src/views/standardLibrary/index.vue
index bd0a4b2..3a642f1 100644
--- a/src/views/standardLibrary/index.vue
+++ b/src/views/standardLibrary/index.vue
@@ -1,7 +1,7 @@
<template>
<div class="standard-library-main">
<div class="content-main">
- <div class="library-bom">
+ <div class="library-bom" style="width: 300px;">
<el-input
v-model="filterText"
placeholder="杈撳叆鍏抽敭瀛楄繘琛岃繃婊�"
@@ -9,6 +9,7 @@
<el-button type="text">鍏ㄩ儴</el-button>
<el-tree
ref="tree"
+ style="width: 100%;"
class="filter-tree"
:data="standardTree"
:props="defaultProps"
@@ -20,7 +21,7 @@
@node-click="nodeClick"
/>
</div>
- <div class="library-table">
+ <div class="library-table" style="width: 80%;">
<div class="table-header">
<div class="search-bar">
<el-form ref="form" :inline="true" :model="searchData">
@@ -398,14 +399,15 @@
background: #fff;
}
.library-bom{
- padding-right: 10px;
- width: 40vh;
+ // padding-right: 10px;
+ width: 300px;
// height: 100%;
max-height: 100%;
- margin-right: 12px;
+ // margin-right: 12px;
// overflow-y: scroll;
.el-tree {
- // margin-top: 12px;
+ // margin-top:
+ width: 100%;
::v-deep .el-tree-node__content{
height: 24px !important;
font-size: 18px;
--
Gitblit v1.9.3