Fixiaobai
2023-09-04 0b9a9b4aa3051565b213b9efcb5e02ecbda0e791
src/views/basicData/index.vue
@@ -2,7 +2,7 @@
   <div class="main_div">
      <div class="top_div">
         <span>样品名称:</span>
         <el-select v-model="params.material" size="small" placeholder="请选择样品名称">
         <el-select v-model="params.material" size="small" placeholder="请选择样品名称" @change="selectProductModelTable()">
            <el-option v-for="item in productModelSelectmater" :value="item" :key="item.index" :label="item"></el-option>
         </el-select>
         <span class="top_div_span">项目分组:</span>
@@ -10,7 +10,7 @@
         <span class="top_div_span">项目名称:</span>
         <el-input v-model="params.name" placeholder="请输入项目名称" style="width: 10%" size="small "></el-input>
         <el-button type="primary" class="top_div_button" size="small" @click="selectProductModelTable">查询</el-button>
         <el-button class="top_div_button" size="small" @click="params = {}">重置</el-button>
         <el-button class="top_div_button" size="small" @click="clean">重置</el-button>
         <div style="float: right">
            <el-button class="top_div_button" type="primary" size="small" icon="el-icon-folder-add"
               @click="centerDialogVisible = true">新增</el-button>
@@ -19,21 +19,22 @@
               <el-form :model="form" :rules="rules" ref="ruleForm" class="addForm">
                  <el-form-item prop="material" required>
                     <span>样品名称:</span>
                     <el-autocomplete class="inline-input" v-model="form.material" :fetch-suggestions="querySearch"
                        placeholder="请输入样品名称"></el-autocomplete>
                     <el-autocomplete class="inline-input" v-model="form.material" :fetch-suggestions="querySearch1"
                        placeholder="请输入样品名称" style="width: calc(100% - 70px);"></el-autocomplete>
                  </el-form-item>
                  <el-form-item>
                     <span>项目分组:</span>
                     <el-input v-model="form.father" style="width: 85%" placeholder="请输入样品分组"></el-input>
                     <el-autocomplete class="inline-input" v-model="form.father" :fetch-suggestions="querySearch2"
                        placeholder="请输入样品分组" style="width: calc(100% - 70px);"></el-autocomplete>
                  </el-form-item>
                  <el-row :gutter="24">
                     <el-col :span="12"><el-form-item prop="name" required><span>项目名称:</span>
                           <el-input style="width: 70%" v-model="form.name"
                           <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="'单&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;位:'"></span>
                           <el-input style="width: 70%" v-model="form.unit"
                           <el-input style="width: calc(100% - 70px);" v-model="form.unit"
                              placeholder="请输入单位"></el-input></el-form-item></el-col>
                  </el-row>
               </el-form>
@@ -159,6 +160,7 @@
                           message: res.message,
                           type: "success",
                        });
                        this.selectProductMaster();
                        this.selectProductModelTable();
                     });
                  }
@@ -209,6 +211,13 @@
         childrenClick(scope) {
            this.isUpdate = true;
            let father = "";
            this.form = {
               material: "", // 样品名称
               father: "", // 项目分组
               name: "", // 项目名称
               unit: "", // 单位
               id: ""
            }
            selectproductModelByIdApi(scope.row.id).then((res) => {
               let result = res.data;
               this.form.name = result.name;
@@ -216,8 +225,8 @@
               this.form.father = result.father;
               this.form.unit = result.unit;
               this.form.id = scope.row.id;
               this.centerDialogVisible = true;
            });
            this.centerDialogVisible = true;
         },
         selectDataList() {
            this.tableData.forEach((a) => {
@@ -305,18 +314,50 @@
               this.selectProductModelTable();
            });
         },
         querySearch(queryString, cb) {
            var restaurants = this.restaurants;
         querySearch1(queryString, cb) {
            var restaurants = []
            this.productModelSelectmater.forEach(a => {
               restaurants.push({
                  value: a
               })
            })
            var results = queryString ? restaurants.filter(this.createFilter(queryString)) : restaurants;
            // 调用 callback 返回建议列表的数据
            cb(results);
         },
         querySearch2(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);
            };
         },
         clean() {
            this.params = {
               material: this.params.material,
               father: null,
               name: null
            }
            this.selectProductModelTable()
         },
         selectList(){
            this.selectProductMaster().then((res) => {
               this.params.material = this.productModelSelectmater[0];
               this.selectProductModelTable();
            })
         }
      },
      mounted() {
         this.selectProductMaster().then((res) => {
            this.params.material = this.productModelSelectmater[0];
            this.selectProductModelTable();
         });
         this.selectList()
      },
      watch: {
         centerDialogVisible: {