From 7320ff9035de1b3395d6f879c359a6a85cd868d6 Mon Sep 17 00:00:00 2001
From: chenhc <2369838784@qq.com>
Date: Fri, 31 May 2024 18:25:50 +0800
Subject: [PATCH] =?UTF-8?q?feat:=200531=E5=A2=9E=E5=8A=A0=E6=98=AF?=
 =?UTF-8?q?=E5=90=A6=E9=9C=80=E8=A6=81=E6=89=AB=E7=A0=81=E5=AD=97=E6=AE=B5?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 src/views/basic/product/product.vue     | 35 +++++++------
 src/views/basic/product/productAdd.vue  | 46 ++++++++++++++++-
 src/views/basic/product/productEdit.vue | 66 +++++++++++++++++++++++++
 3 files changed, 127 insertions(+), 20 deletions(-)

diff --git a/src/views/basic/product/product.vue b/src/views/basic/product/product.vue
index 7f9684c0..477f408d 100644
--- a/src/views/basic/product/product.vue
+++ b/src/views/basic/product/product.vue
@@ -891,24 +891,23 @@
                           </el-select>
                         </div>
                       </el-col>
-                      <el-col :span="12" class="el-col">
-<!--                        <div class="text item">-->
-<!--                          <div class="itemTag">-->
-<!--                            <span>是否寄售:&nbsp;</span>-->
-<!--                          </div>-->
-<!--                          <el-select-->
-<!--                            v-model="editQuery.isAdavence"-->
-<!--                            disabled-->
-<!--                            style="width: 65%"-->
-<!--                            size="small"-->
-<!--                          >-->
-<!--                            <el-option label="是" :value="true"></el-option>-->
-<!--                            <el-option label="否" :value="false"></el-option>-->
-<!--                            <el-option label="否" :value="null"></el-option>-->
-<!--                          </el-select>-->
-<!--                        </div>-->
-                      </el-col>
-                    </el-row>
+                        <el-col :span="12" class="el-col">
+                          <div class="text item">
+                            <div class="itemTag">
+                              <span>是否需要扫码:&nbsp;</span>
+                            </div>
+                            <el-select
+                              v-model="editQuery.requireScanCode"
+                              disabled
+                              style="width: 65%"
+                              size="small"
+                            >
+                              <el-option label="是" :value=1></el-option>
+                              <el-option label="否" :value=0></el-option>
+                            </el-select>
+                          </div>
+                        </el-col>
+                      </el-row>
                   </el-collapse-item>
 
                   <el-collapse-item name="2">
diff --git a/src/views/basic/product/productAdd.vue b/src/views/basic/product/productAdd.vue
index 92b0f276..f28f6c81 100644
--- a/src/views/basic/product/productAdd.vue
+++ b/src/views/basic/product/productAdd.vue
@@ -76,7 +76,29 @@
       </el-col>
       <el-col :span="11" class="el-col">
         <el-form-item label="分类编码:" prop="flbm">
-          <el-input style="width: 90%" size="small" placeholder="请输入分类编码" v-model.trim="newProductData.flbm"></el-input>
+          <el-select
+            size="small"
+            v-model="newProductData.flbm"
+            filterable
+            remote
+            clearable="true"
+            style="width: 90%"
+            reserve-keyword
+            placeholder="请选择"
+            :remote-method="classifySearch"
+            :loading="loading"
+            @change="classifyChange()"
+          >
+            <el-option
+              v-for="item in classifyList"
+              :key="item.code"
+              :label="item.name"
+              :value="item.code">
+              <span>{{ item.code }}</span>
+              <span>{{ item.name }}</span>
+            </el-option>
+          </el-select>
+<!--          <el-input style="width: 90%" size="small" placeholder="请输入分类编码" v-model.trim="newProductData.flbm"></el-input>-->
         </el-form-item>
       </el-col>
     </el-row>
@@ -148,6 +170,7 @@
 
 <script>
 import {getYbHcflDetail,addProduct} from '@/api/basic/product/udiRelevance'
+import {filterClassify} from "@/api/purchase/classifyCode"
 
 export default {
   name: 'productAdd',
@@ -178,12 +201,31 @@ export default {
         cpms: null,
         attributeType: null,
         hcType: null,
+        requireScanCode: null,
       },
-      thirdSys: []
+      thirdSys: [],
+      classifyList: [],
     }
 
   },
   methods: {
+    classifyChange(){
+      this.editQuery.requireScanCode = this.classifyList.find(item => item.code == this.editQuery.flbm).requireScanCode;
+    },
+    classifySearch(key) {
+      let query = {
+        key: key,
+      }
+      filterClassify(query)
+        .then(response => {
+          this.loading = false;
+          this.classifyList = response.data.list || [];
+        })
+        .catch(() => {
+          this.loading = false;
+          this.classifyList = [];
+        });
+    },
     getYbHcData(){
       let query = {
         specificationCode: this.newProductData.ybbm
diff --git a/src/views/basic/product/productEdit.vue b/src/views/basic/product/productEdit.vue
index 0a0d906d..935ff62a 100644
--- a/src/views/basic/product/productEdit.vue
+++ b/src/views/basic/product/productEdit.vue
@@ -328,6 +328,35 @@
             </el-form-item>
           </el-col>
         </el-row>
+        <el-row>
+          <el-col :span="12">
+            <el-form-item label="分类编码:" prop="require">
+              <el-select
+                v-model="editQuery.flbm"
+                filterable
+                remote
+                clearable="true"
+                style="width: 80%"
+                reserve-keyword
+                placeholder="请选择"
+                :remote-method="classifySearch"
+                :loading="loading"
+                @change="classifyChange()"
+              >
+                <el-option
+                  v-for="item in classifyList"
+                  :key="item.code"
+                  :label="item.name"
+                  :value="item.code">
+                  <span>{{ item.code }}</span>
+                  <span>{{ item.name }}</span>
+                </el-option>
+              </el-select>
+
+
+            </el-form-item>
+          </el-col>
+        </el-row>
 
 
       </el-card>
@@ -352,6 +381,23 @@
             </el-row>
             <el-divider direction="horizontal"></el-divider>
 
+            <el-row>
+              <el-col span="5">
+                <span class="sptext">是否需要扫码</span>
+              </el-col>
+              <el-divider direction="vertical"></el-divider>
+              <el-col span="5">
+                <el-select v-model="editQuery.requireScanCode" style="width: 65%" placeholder="状态" clearable>
+                  <el-option label="是" :value=1></el-option>
+                  <el-option label="否" :value=0></el-option>
+                </el-select>
+              </el-col>
+              <el-divider direction="vertical"></el-divider>
+              <el-col span="13">
+                <span class="sptext">是否需要扫码</span>
+              </el-col>
+            </el-row>
+            <el-divider></el-divider>
 
             <el-row>
               <el-col span="5">
@@ -705,6 +751,7 @@ import Treeselect from "@riophae/vue-treeselect";
 import {getListMenu, getOneName} from '@/api/basic/basicHospType'
 import {getSupComapnys} from "@/api/purchase/supCompany";
 import {getHslbs} from "@/api/thrsys/thrHsfl";
+import {filterClassify} from "@/api/purchase/classifyCode"
 
 
 export default {
@@ -766,6 +813,7 @@ export default {
         measname: null,
         nameCode: null
       },
+      classifyList: [],
     }
   },
   components: {
@@ -789,8 +837,26 @@ export default {
     if (this.editQuery.basicPrductRemak8 != null) {
       this.findHsflMethod(this.editQuery.basicPrductRemak8);
     }
+    this.classifySearch()
   },
   methods: {
+    classifyChange(){
+      this.editQuery.requireScanCode = this.classifyList.find(item => item.code == this.editQuery.flbm).requireScanCode;
+    },
+    classifySearch(key) {
+      let query = {
+        key: key,
+      }
+      filterClassify(query)
+        .then(response => {
+          this.loading = false;
+          this.classifyList = response.data.list || [];
+        })
+        .catch(() => {
+          this.loading = false;
+          this.classifyList = [];
+        });
+    },
     getYbHcData(){
       let query = {
         specificationCode: this.editQuery.ybbm