From 275d9a3c158173842449782201b9be2c243dd58b Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期四, 07 九月 2023 18:00:43 +0800
Subject: [PATCH] modified: .env.development modified: src/main.js new file: src/styles/fonts/element-icons.ttf new file: src/styles/fonts/element-icons.woff new file: src/styles/icon.css modified: src/views/inspectionManagement/commissionInspection/addCommision.vue modified: src/views/laboratory/organizational/index.vue
---
src/views/standardLibrary/index.vue | 240 ++++++++++++++++++++++++++++++++++++++++++++++--------------
1 files changed, 184 insertions(+), 56 deletions(-)
diff --git a/src/views/standardLibrary/index.vue b/src/views/standardLibrary/index.vue
index 8adee1f..5cbf919 100644
--- a/src/views/standardLibrary/index.vue
+++ b/src/views/standardLibrary/index.vue
@@ -2,23 +2,30 @@
<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-button type="text">鍏ㄩ儴</el-button>
+ <el-row :gutter="10">
+ <el-col :span="19">
+ <el-input size="small" clearable v-model="filterText" placeholder="杈撳叆鍏抽敭瀛楄繘琛岃繃婊�"></el-input>
+ </el-col>
+ <el-col :span="5">
+ <el-button size="small" type="primary" icon="el-icon-plus" @click="addTreeFormVisible = true"></el-button>
+ </el-col>
+ </el-row>
+ <el-button size="small" 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%">
<div class="table-header">
<div class="serve-btn">
<span class="tipMsg">{{ msg !== "" ? msg : "" }}</span>
- <el-select v-model="versionValue" @change="changeSelect" placeholder="璇烽�夋嫨鐗堟湰鍙�">
+ <el-select size="small" v-model="versionValue" @change="changeSelect" placeholder="璇烽�夋嫨鐗堟湰鍙�">
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
- <el-button type="primary" @click="addVersionFun">鏂板鐗堟湰鍙�</el-button>
- <el-button type="primary" icon="el-icon-plus" @click="addTreeFormVisible = true">鏂板</el-button>
- <el-button class="top_div_button" icon="el-icon-delete-solid" style="color: #00a5ff"
+ <el-button size="small" type="primary" @click="addVersionFun">鏂板鐗堟湰鍙�</el-button>
+ <el-button size="small" type="primary" @click="centerDialogVisible = true">鏂板椤圭洰</el-button>
+ <el-button size="small" class="top_div_button" icon="el-icon-delete-solid" style="color: #00a5ff"
@click="deleteListClick">鍒犻櫎</el-button>
</div>
</div>
@@ -65,23 +72,50 @@
<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>
+ <el-dialog :visible.sync="centerDialogVisible" width="30%" title="鏂板" :hide-required-asterisk="false">
+ <el-form :model="form" :rules="rules" ref="ruleForm" class="addForm">
+ <el-form-item prop="father">
+ <span>椤圭洰鍒嗙粍锛�</span>
+ <el-autocomplete class="inline-input" v-model="form.father" :fetch-suggestions="querySearch"
+ placeholder="璇疯緭鍏ユ牱鍝佸垎缁�" style="width: calc(100% - 70px);"></el-autocomplete>
+ </el-form-item>
+ <el-row :gutter="24">
+ <el-col :span="12">
+ <el-form-item prop="name">
+ <span>椤圭洰鍚嶇О锛�</span>
+ <el-input style="width: calc(100% - 70px);" v-model="form.name" placeholder="璇疯緭鍏ラ」鐩悕绉�"></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item prop="unit">
+ <span v-html="'鍗� 浣嶏細'"></span>
+ <el-input style="width: calc(100% - 70px);" v-model="form.unit" placeholder="璇疯緭鍏ュ崟浣�"></el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ </el-form>
+ <span slot="footer" class="dialog-footer">
+ <el-button @click="centerDialogVisible = false" size="small ">鍙� 娑�</el-button>
+ <el-button type="primary" @click="submitAdd" size="small ">纭</el-button>
+ </span>
</el-dialog>
</div>
</template>
@@ -97,17 +131,33 @@
blurUpdateApi,
getVersion,
addVersion,
+ addProduct
} from "@/api/standardLibrary";
-
import {
- selectproductModelApi
+ addStandardProjectGroupApi,
} from "@/api/basicData/index";
- import {
- Tree
- } from "element-ui";
export default {
data() {
return {
+ projectGroupingOptions:[],
+ form: {
+ father: "", // 椤圭洰鍒嗙粍
+ name: "", // 椤圭洰鍚嶇О
+ unit: "", // 鍗曚綅
+ },
+ rules: {
+ fater:[{required:true,message:"璇烽�夋嫨椤圭洰鍚嶇О",trigger:"blur"}],
+ name: [
+ {required: true,message: "璇疯緭鍏ラ」鐩悕绉�",trigger: "blur"},
+ {min: 2,max: 25,message: "闀垮害鍦� 2 鍒� 25 涓瓧绗�",trigger: "blur",},
+ ],
+ unit: [
+ {required: true,message: "璇疯緭鍏ュ崟浣�",trigger: "blur"},
+ {min: 1,max: 25,message: "闀垮害鍦� 1 鍒� 25 涓瓧绗�",trigger: "blur"}
+ ],
+ },
+ centerDialogVisible : false,
+ filterNodeData: [],
options: [],
versionValue: "",
deleteList: [],
@@ -131,19 +181,91 @@
formTypeOptions: [],
addTreeForm: {
addTypeArr: [],
+ specificationsName: "",
+ materialName: "",
+ standardName: "",
}
};
},
watch: {
filterText(val) {
this.$refs.tree.filter(val);
- }
+ },
+ addTreeFormVisible(newVal){
+ if(newVal === false){
+ this.clear();
+ }
+ },
+ centerDialogVisible: {
+ handler(newVal, oldVal) {
+ if (newVal == true) {
+ addStandardProjectGroupApi().then((res) => {
+ this.projectGroupingOptions = res.data;
+ });
+ } else {
+ // 璇锋眰鎴愬姛娓呴櫎鏁版嵁
+ this.form = {};
+ // 鎻愪氦鎴愬姛娓呴櫎妫�楠�
+ this.$refs.ruleForm.resetFields();
+ }
+ },
+ },
},
created() {
this.getStandardTree();
},
- mounted() {},
+ mounted() {
+
+ },
methods: {
+ querySearch(queryString, cb) {
+ var restaurants = []
+ this.projectGroupingOptions.forEach(a => {
+ restaurants.push({
+ value: a
+ })
+ })
+ var results = queryString ? restaurants.filter(this.createFilter(queryString)) : restaurants;
+ // 璋冪敤 callback 杩斿洖寤鸿鍒楄〃鐨勬暟鎹�
+ cb(results);
+ },
+ createFilter(queryString) {
+ return (restaurant) => {
+ return (restaurant.value.toLowerCase().indexOf(queryString.toLowerCase()) === 0);
+ };
+ },
+ clear(){
+ this.addTreeFormVisible = false;
+ this.addTreeForm.addTypeArr=[];
+ this.addTreeForm.specificationsName='';
+ this.addTreeForm.materialName=''
+ this.addTreeForm.standardName=''
+ },
+ changeSample(){
+ 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 = "";
@@ -165,9 +287,26 @@
this.tableData = [];
this.getTableByClick(this.selectData, this.versionValue);
},
+ async submitAdd(){
+ await addProduct({
+ father : this.form.father,
+ name : this.form.name,
+ specificationId: this.selectData.id,
+ unit : this.form.unit,
+ version : this.versionValue
+ }).then(res=>{
+ console.log(res);
+ this.$message.success(res.message);
+ this.centerDialogVisible = false;
+ this.getTableByClick(this.selectData, this.versionValue);
+ }).catch(error=>{
+ this.$message.error(error.message);
+ })
+ },
async insertVersion() {
const resp = await addVersion({
- specificationsId: this.selectData.id
+ specificationsId: this.selectData.id,
+ version: this.versionValue
});
if (resp.code === 200) {
this.initSelect();
@@ -188,7 +327,7 @@
})
.catch(() => {});
},
- filterNode(value, data) {
+ filterNode(value, data,node) {
if (!value) return true;
return data.name.indexOf(value) !== -1;
},
@@ -241,6 +380,7 @@
//TODO handle the exception
}
});
+
},
getDefault(arr, index) {
for (const item of arr) {
@@ -307,29 +447,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) {
@@ -359,28 +494,21 @@
this.addTreeFormVisible = false;
this.getStandardTree();
this.getTableByClick(this.selectData, this.versionValue);
+ this.addTreeForm.addTypeArr=[];
+ this.addTreeForm.specificationsName=''
+ this.addTreeForm.materialName=''
+ this.addTreeForm.standardName=''
+ // console.log(this.addTreeForm);
},
changeCascader(data) {
this.addTreeForm.addTypeArr = data;
},
- selectProductModelTable() {
- selectproductModelApi(this.params).then((res) => {
- res.data.forEach((i) => {
- if (i.name === undefined) {
- i.name = i.children[0].name;
- i.unit = i.children[0].unit;
- i.id = i.children[0].id;
- i.edit = true;
- delete i.children;
- }
- });
- this.tableData = res.data;
- this.selectDataList();
- });
- },
selectDataList() {
+ let i=0
this.tableData.forEach((a) => {
+ a.id="0"+i
a.code = "[1]";
+ i++;
if (a.children != undefined) {
a.children.forEach((b) => {
b.code = "[2]";
--
Gitblit v1.9.3