From 4fae15f72f9367f8b9c544ce539d58f5a59aaf2f Mon Sep 17 00:00:00 2001 From: Fixiaobai <fixiaobai@163.com> Date: 星期三, 06 九月 2023 13:22:54 +0800 Subject: [PATCH] Merge branch 'master' of http://192.168.218.113:9001/r/lims-before --- src/views/standardLibrary/index.vue | 102 +++++++++++++++++++++++++++++++++++--------------- 1 files changed, 71 insertions(+), 31 deletions(-) diff --git a/src/views/standardLibrary/index.vue b/src/views/standardLibrary/index.vue index d476cc5..e694db0 100644 --- a/src/views/standardLibrary/index.vue +++ b/src/views/standardLibrary/index.vue @@ -2,10 +2,10 @@ <div class="standard-library-main"> <div class="content-main"> <div class="library-bom" style="width: 300px"> - <el-input v-model="filterText" placeholder="杈撳叆鍏抽敭瀛楄繘琛岃繃婊�"></el-input> + <el-input clearable v-model="filterText" placeholder="杈撳叆鍏抽敭瀛楄繘琛岃繃婊�"></el-input> <el-button type="text">鍏ㄩ儴</el-button> <el-tree ref="tree" style="width: 100%" class="filter-tree" :data="standardTree" :props="defaultProps" - node-key="id" highlight-current default-expand-all :filter-node-method="filterNode" + node-key="id" :highlight-current="true" :default-expand-all="true" :filter-node-method="filterNode" :render-content="renderContent" @node-click="nodeClick" /> </div> <div class="library-table" style="width: 80%"> @@ -65,22 +65,22 @@ <el-dialog class="addTree" title="娣诲姞鏍囧噯鎸囨爣" width="28%" :visible.sync="addTreeFormVisible"> <el-form v-model="addTreeForm" label-position="top"> <el-form-item label="鏍囧噯绫诲瀷"> - <el-cascader v-model="addTreeForm.addTypeArr" :options="formTypeOptions" + <el-cascader v-model="addTreeForm.addTypeArr" :options="formTypeOptions" :props="{ ...defaultProps, checkStrictly: true }" clearable @change="changeCascader"/> </el-form-item> <el-form-item v-show="addTreeForm.addTypeArr.length < 2" label="鐗╂枡鍚嶇О"> - <el-input v-model="addTreeForm.materialName" /> + <el-input @change="changeSample" v-model="addTreeForm.materialName" /> </el-form-item> <el-form-item v-show="addTreeForm.addTypeArr.length < 3" label="鎵ц鏍囧噯"> - <el-input v-model="addTreeForm.standardName" /> + <el-input v-model="addTreeForm.standardName" /> </el-form-item> <el-form-item v-show="addTreeForm.addTypeArr.length < 4" label="瑙勬牸鍨嬪彿"> - <el-input v-model="addTreeForm.specificationsName" /> + <el-input v-model="addTreeForm.specificationsName" /> </el-form-item> </el-form> <div slot="footer" class="dialog-footer"> <el-button type="primary" @click="subAddTreeForm">纭� 瀹�</el-button> - <el-button @click="addTreeFormVisible = false">鍙� 娑�</el-button> + <el-button @click="clear">鍙� 娑�</el-button> </div> </el-dialog> </div> @@ -108,6 +108,7 @@ export default { data() { return { + filterNodeData: [], options: [], versionValue: "", deleteList: [], @@ -131,12 +132,18 @@ formTypeOptions: [], addTreeForm: { addTypeArr: [], + specificationsName: "" } }; }, watch: { filterText(val) { this.$refs.tree.filter(val); + }, + addTreeFormVisible(newVal){ + if(newVal === false){ + this.clear(); + } } }, created() { @@ -144,6 +151,41 @@ }, mounted() {}, methods: { + clear(){ + this.addTreeFormVisible = false; + this.addTreeForm.addTypeArr=[]; + this.addTreeForm.specificationsName=''; + this.addTreeForm.materialName='' + this.addTreeForm.standardName='' + }, + changeSample(){ + // console.log(this.standardTree); + // console.log(this.addTreeForm); + // console.log(this.addTreeForm.addTypeArr.length); + let selectType=this.standardTree.filter(item=>{ + return item.id===this.addTreeForm.addTypeArr[0] + })[0]; + if(this.addTreeForm.addTypeArr.length==1){ + let samples=selectType.children.filter(item=>{ + return item.name===this.addTreeForm.materialName + })[0] + if(samples===undefined||samples===[]){ + this.$message({ + message: '璇峰厛鍦ㄥ熀纭�鏁版嵁涓坊鍔犺銆�'+this.addTreeForm.materialName+'銆戞牱鍝�', + type: 'warning' + }); + return false; + } + } + return true + }, + oneSize(){}, + twoSize(){ + return true; + }, + threeSize(){ + return true; + }, async initSelect() { this.options = []; this.versionValue = ""; @@ -189,7 +231,7 @@ }) .catch(() => {}); }, - filterNode(value, data) { + filterNode(value, data,node) { if (!value) return true; return data.name.indexOf(value) !== -1; }, @@ -242,6 +284,7 @@ //TODO handle the exception } }); + }, getDefault(arr, index) { for (const item of arr) { @@ -308,29 +351,24 @@ }) { // 鍒ゆ柇鏄惁鏄埗鑺傜偣鎴栨枃浠跺す const isFolder = "children" in data; - return ( < - span class = "tree-node" > { - isFolder ? ( < - i class = { - node.expanded ? - "el-icon-folder-opened blue-folder" : "el-icon-folder blue-folder" - } > - < - /i> - ) : ( < - i class = "el-icon-document blue-folder" > < /i> - ) - } < - div class = "tree-lable" > [{ - node.level - }] { - data.name - } < - /div> < / - span > + return ( <span class="tree-node"> { + isFolder ? ( <i class = {node.expanded ?"el-icon-folder-opened blue-folder" : "el-icon-folder blue-folder"} ></i> + ) : ( <i class = "el-icon-document blue-folder" > </i>) + } <div class = "tree-lable" > [{node.level}] {data.name} </div> </span> ); }, async subAddTreeForm() { + if(this.addTreeForm.addTypeArr.length==0){ + this.$message({ + message: '璇峰厛閫夋嫨鏍囧噯绫诲瀷锛�', + type: 'warning' + }); + return + } + let handelerSample=this.changeSample() + if(!handelerSample){ + return; + } let res = null; try { switch (this.addTreeForm.addTypeArr.length) { @@ -360,8 +398,11 @@ this.addTreeFormVisible = false; this.getStandardTree(); this.getTableByClick(this.selectData, this.versionValue); - this.addTreeForm=null - this.addTreeForm.addTypeArr=[] + this.addTreeForm.addTypeArr=[]; + this.addTreeForm.specificationsName='' + this.addTreeForm.materialName='' + this.addTreeForm.standardName='' + // console.log(this.addTreeForm); }, changeCascader(data) { this.addTreeForm.addTypeArr = data; @@ -393,7 +434,6 @@ }); } }); - console.log(this.tableData); }, // 琛ㄦ牸鏍戝叏閮ㄩ�変腑閰嶇疆 // 鍏ㄩ��/鍙栨秷閫夋搷浣� -- Gitblit v1.9.3