From 5ecb7958c96d3f0b6d47b79aff7eb306c2cf690f Mon Sep 17 00:00:00 2001
From: charles <981744753@qq.com>
Date: 星期二, 06 八月 2024 11:16:58 +0800
Subject: [PATCH] gitlab上面的wms转移到公司git

---
 src/components/makepager/CommonFormTableView.vue | 2255 +++++++++++++++++++++++++++++++----------------------------
 1 files changed, 1,183 insertions(+), 1,072 deletions(-)

diff --git a/src/components/makepager/CommonFormTableView.vue b/src/components/makepager/CommonFormTableView.vue
index 500bf19..a30c7d7 100644
--- a/src/components/makepager/CommonFormTableView.vue
+++ b/src/components/makepager/CommonFormTableView.vue
@@ -1,1142 +1,1253 @@
 <template>
-  <div class="page-view" :class="{ setHeight: isinventory || islistingrules || isReorder }">
-    <el-form
-      ref="form"
-      :model="tableList"
-      :show-message="false"
-      label-position="right"
-      :class="{ setHeight: isinventory || islistingrules || isReorder }"
-    >
-      <el-table
-        :data="tableList.tableData"
-        border
-        style="width: 100%"
-        :height="'calc(100% - 0px)'"
-        :class="{ setHeight: isinventory || islistingrules || isReorder }"
-        :header-cell-style="{ background: '#f1f3f8', color: '#000009' }"
-        :row-class-name="tableRowClassName"
-        @row-click="tableRowClick"
-      >
-        <el-table-column v-if="tableList.selectBox" type="selection" width="40" align="center"> </el-table-column>
-        <el-table-column v-if="tableList.selectIndex" type="index" label="搴忓彿" width="50"> </el-table-column>
-        <el-table-column
-          v-for="(item, i) in tableList.tableColumn"
-          :key="i"
-          :prop="item.prop"
-          :label="item.label"
-          :width="item.width"
-          :min-width="item.min"
-          align="center"
+    <div class="page-view" :class="{ setHeight: isinventory || islistingrules || isReorder }">
+        <el-form
+                ref="form"
+                :model="tableList"
+                :show-message="false"
+                label-position="right"
+                :class="{ setHeight: isinventory || islistingrules || isReorder }"
         >
-          <!-- 琛ㄥご鏍峰紡 -->
-          <template slot="header">
-            <span v-if="item.isRequird" style="color: #f56c6c">*</span>
-            <span>{{ item.label }}</span>
-          </template>
-          <!-- column鏍峰紡 -->
-          <template slot-scope="scope">
-            <template v-if="!detailEnter">
-              <el-form-item
-                v-if="item.input"
-                label=" "
-                :prop="'tableData.' + scope.$index + '.' + item.prop"
-                :rules="[{ required: item.isRequird ? true : false, message: '杈撳叆涓嶈兘涓虹┖' }]"
+            <el-table
+                    :data="tableList.tableData"
+                    border
+                    style="width: 100%"
+                    :height="'calc(100% - 0px)'"
+                    :class="{ setHeight: isinventory || islistingrules || isReorder }"
+                    :header-cell-style="{ background: '#f1f3f8', color: '#000009' }"
+                    :row-class-name="tableRowClassName"
+                    @row-click="tableRowClick"
+                    @selection-change="selectProductArray"
+            >
+                <el-table-column v-if="tableList.selectBox" type="selection" width="40"
+                                 align="center"></el-table-column>
+                <el-table-column v-if="tableList.selectIndex" type="index" label="搴忓彿" width="50"></el-table-column>
+                <el-table-column
+                        v-for="(item, i) in tableList.tableColumn"
+                        :key="i"
+                        :prop="item.prop"
+                        :label="item.label"
+                        :width="item.width"
+                        :min-width="item.min"
+                        align="center"
+                >
+                    <!-- 琛ㄥご鏍峰紡 -->
+                    <template slot="header">
+                        <span v-if="item.isRequird" style="color: #f56c6c">*</span>
+                        <span>
+              {{ item.label }}
+              <span></span>
+              <el-popover
+                      placement="top"
+                      width="240"
+                      trigger="click"
+                      v-if="item.isScanCode"
+                      @show="startScanCode"
+                      :popper-append-to-body="false"
               >
-                <div @click.stop="commoInput">
-                  <el-input
-                    v-model.trim="scope.row[item.prop]"
-                    maxlength="50"
-                    size="mini"
-                    @change="
+                <el-input placeholder="璇疯緭鍏ユ潯鐮�"
+                          v-model="scanCode" ref="input"
+                          @keyup.enter.native="handlerEnter"
+                />
+                <span class="scan-code" slot="reference">
+                  <img src="@/assets/saoma.png" width="20px">
+                  <span style="color:lawngreen">鎵爜</span>
+                </span>
+              </el-popover>
+            </span>
+                    </template>
+                    <!-- column鏍峰紡 -->
+                    <template slot-scope="scope">
+                        <template v-if="!detailEnter">
+                            <el-form-item
+                                    v-if="item.input"
+                                    label=" "
+                                    :prop="'tableData.' + scope.$index + '.' + item.prop"
+                                    :rules="[{ required: item.isRequird ? true : false, message: '杈撳叆涓嶈兘涓虹┖' }]"
+                            >
+                                <div @click.stop="commoInput">
+                                    <el-input
+                                            v-model.trim="scope.row[item.prop]"
+                                            maxlength="50"
+                                            size="mini"
+                                            @change="
                       (val) => {
                         commonInputChange(val, item.prop, scope.row)
                       }
                     "
-                  ></el-input>
-                </div>
-              </el-form-item>
-              <!-- <el-form-item
-                v-else-if="item.productName"
-                label=" "
-                :prop="'tableData.' + scope.$index + '.' + item.prop"
-              >
-                <div class="custom-name">
-                  <SimpleSearchInput
-                    :echoValue="scope.row[item.prop]"
-                    :echoName="scope.row[item.prop]"
-                    checkedNum="1"
-                    :clearable="true"
-                    @select-user="selProductNameClick"
-                  >
-                  </SimpleSearchInput>
-                </div>
-              </el-form-item> -->
-              <el-form-item
-                v-else-if="item.productName"
-                label=" "
-                :prop="'tableData.' + scope.$index + '.' + item.prop"
-              >
-                <div class="custom-name">
-                  <el-autocomplete
-                    v-model="scope.row[item.prop]"
-                    :fetch-suggestions="
+                                    ></el-input>
+                                </div>
+                            </el-form-item>
+                            <!-- <el-form-item
+                              v-else-if="item.productName"
+                              label=" "
+                              :prop="'tableData.' + scope.$index + '.' + item.prop"
+                            >
+                              <div class="custom-name">
+                                <SimpleSearchInput
+                                  :echoValue="scope.row[item.prop]"
+                                  :echoName="scope.row[item.prop]"
+                                  checkedNum="1"
+                                  :clearable="true"
+                                  @select-user="selProductNameClick"
+                                >
+                                </SimpleSearchInput>
+                              </div>
+                            </el-form-item> -->
+                            <el-form-item
+                                    v-else-if="item.productName"
+                                    label=" "
+                                    :prop="'tableData.' + scope.$index + '.' + item.prop"
+                            >
+                                <div class="custom-name">
+                                    <el-autocomplete
+                                            v-model="scope.row[item.prop]"
+                                            :fetch-suggestions="
                       (queryString, callback) => {
                         querySearchAsync(queryString, callback, 'product')
                       }
                     "
-                    value-key="name"
-                    :disabled="!isOperate"
-                    size="mini"
-                    @select="
+                                            value-key="name"
+                                            :disabled="!isOperate"
+                                            size="mini"
+                                            @select="
                       (val) => {
                         handleSelectClient(val, item.prop, scope.row,scope)
                       }
                     "
-                  ></el-autocomplete>
+                                    ></el-autocomplete>
 
-                  <div
-                    v-if="scope.row[item.prop] && scope.row[item.prop].length > 0 && isOperate"
-                    class="common-select-btn"
-                    @click="handleEditClient(scope, item.prop)"
-                  >
-                    <i class="el-icon-edit" title="缂栬緫"></i>
-                  </div>
-                  <div
-                    v-if="scope.row[item.prop] && scope.row[item.prop].length > 0 && isOperate"
-                    class="common-select-btn"
-                    @click="clearupClient(scope)"
-                  >
-                    <i class="el-icon-remove-outline" title="娓呴櫎"></i>
-                  </div>
-                  <div class="common-select-btn" v-else @click="selClientClick(scope, item.prop)">
-                    <i class="el-icon-circle-plus-outline" title="閫夋嫨"></i>
-                  </div>
-                </div>
-              </el-form-item>
-              <el-form-item
-                v-else-if="item.date"
-                label=" "
-                :prop="'tableData.' + scope.$index + '.' + item.prop"
-                :rules="[{ required: item.isRequird ? true : false, message: '杈撳叆涓嶈兘涓虹┖' }]"
-              >
-                <span v-if="scope.row.isEdit">{{ scope.row[item.prop] }}</span>
-                <el-date-picker v-else v-model="scope.row[item.prop]" type="date" size="mini" style="width: 100%">
-                </el-date-picker>
-              </el-form-item>
-              <el-form-item
-                v-else-if="item.inputNumber"
-                label=" "
-                :prop="'tableData.' + scope.$index + '.' + item.prop"
-                :rules="[{ required: item.isRequird ? true : false, message: '杈撳叆涓嶈兘涓虹┖' }]"
-              >
-                <div @click.stop="commoInput">
-                  <el-input-number
-                    v-model="scope.row[item.prop]"
-                    placeholder=""
-                    :min="0"
-                    :controls="false"
-                    size="mini"
-                    style="width: 100%; margin-right: 5px"
-                    @change="
+                                    <div
+                                            v-if="scope.row[item.prop] && scope.row[item.prop].length > 0 && isOperate"
+                                            class="common-select-btn"
+                                            @click="handleEditClient(scope, item.prop)"
+                                    >
+                                        <i class="el-icon-edit" title="缂栬緫"></i>
+                                    </div>
+                                    <div
+                                            v-if="scope.row[item.prop] && scope.row[item.prop].length > 0 && isOperate"
+                                            class="common-select-btn"
+                                            @click="clearupClient(scope)"
+                                    >
+                                        <i class="el-icon-remove-outline" title="娓呴櫎"></i>
+                                    </div>
+                                    <div class="common-select-btn" v-else @click="selClientClick(scope, item.prop)">
+                                        <i class="el-icon-circle-plus-outline" title="閫夋嫨"></i>
+                                    </div>
+                                </div>
+                            </el-form-item>
+                            <el-form-item
+                                    v-else-if="item.date"
+                                    label=" "
+                                    :prop="'tableData.' + scope.$index + '.' + item.prop"
+                                    :rules="[{ required: item.isRequird ? true : false, message: '杈撳叆涓嶈兘涓虹┖' }]"
+                            >
+                                <span v-if="scope.row.isEdit">{{ scope.row[item.prop] }}</span>
+                                <el-date-picker v-else v-model="scope.row[item.prop]" type="date" size="mini"
+                                                style="width: 100%">
+                                </el-date-picker>
+                            </el-form-item>
+                            <el-form-item
+                                    v-else-if="item.inputNumber"
+                                    label=" "
+                                    :prop="'tableData.' + scope.$index + '.' + item.prop"
+                                    :rules="[{ required: item.isRequird ? true : false, message: '杈撳叆涓嶈兘涓虹┖' }]"
+                            >
+                                <div @click.stop="commoInput">
+                                    <el-input-number
+                                            v-model="scope.row[item.prop]"
+                                            placeholder=""
+                                            :min="0"
+                                            :controls="false"
+                                            size="mini"
+                                            style="width: 100%; margin-right: 5px"
+                                            @change="
+                      (val) => {
+                        commonInputChange(val, item.prop, scope.row)
+                      }"
+                                    ></el-input-number>
+                                </div>
+                            </el-form-item>
+                            <el-form-item
+                                    v-else-if="item.inputFloat||item.inputFloatValue"
+                                    label=" "
+                                    :prop="'tableData.' + scope.$index + '.' + item.prop"
+                                    :rules="[{ required: item.isRequird ? true : false, message: '杈撳叆涓嶈兘涓虹┖' }]"
+                            >
+                                <span v-if="scope.row.isEdit||(item.inputFloatValue&&!scope.row[item.isInputFloat])">{{ scope.row[item.prop] }}</span>
+                                <div v-else @click.stop="commoInput">
+                                    <el-input-number
+                                            v-model="scope.row[item.prop]"
+                                            placeholder=""
+                                            :precision="2"
+                                            :controls="false"
+                                            size="mini"
+                                            style="width: 100%; margin-right: 5px"
+                                            :min="item.prop === 'minInventory' ? 0 : 0"
+                                            @change="
                       (val) => {
                         commonInputChange(val, item.prop, scope.row)
                       }
                     "
-                  ></el-input-number>
-                </div>
-              </el-form-item>
-              <el-form-item
-                v-else-if="item.inputFloat||item.inputFloatValue"
-                label=" "
-                :prop="'tableData.' + scope.$index + '.' + item.prop"
-                :rules="[{ required: item.isRequird ? true : false, message: '杈撳叆涓嶈兘涓虹┖' }]"
-              >
-                <span v-if="scope.row.isEdit||(item.inputFloatValue&&!scope.row[item.isInputFloat])">{{ scope.row[item.prop] }}</span>
-                <div v-else @click.stop="commoInput">
-                  <el-input-number
-                    v-model="scope.row[item.prop]"
-                    placeholder=""
-                    :precision="2"
-                    :controls="false"
-                    size="mini"
-                    style="width: 100%; margin-right: 5px"
-                    :min="item.prop === 'minInventory' ? 0 : 0"
-                    @change="
-                      (val) => {
-                        commonInputChange(val, item.prop, scope.row)
-                      }
-                    "
-                  ></el-input-number>
-                </div>
-              </el-form-item>
-              <el-form-item v-else-if="item.select" label=" " :prop="'tableData.' + scope.$index + '.' + item.prop">
-                <div class="custom-name">
-                  <el-select
-                    v-model="scope.row[item.prop]"
-                    placeholder="璇烽�夋嫨"
-                    size="mini"
-                    style="width: 63%"
-                    @change="selCommonClick"
-                  >
-                    <el-option v-for="(item, index) in selOptions" :key="index" :label="item.name" :value="item">
-                    </el-option>
-                  </el-select>
-                </div>
-              </el-form-item>
-              <!-- 浣嶇疆 -->
-              <el-form-item v-else-if="item.location" label=" " :prop="'tableData.' + scope.$index + '.' + item.prop">
-                <div class="custom-name">
+                                    ></el-input-number>
+                                </div>
+                            </el-form-item>
+                            <el-form-item v-else-if="item.select" label=" "
+                                          :prop="'tableData.' + scope.$index + '.' + item.prop">
+                                <div class="custom-name">
+                                    <el-select
+                                            v-model="scope.row[item.prop]"
+                                            placeholder="璇烽�夋嫨"
+                                            size="mini"
+                                            style="width: 63%"
+                                            @change="selCommonClick"
+                                    >
+                                        <el-option v-for="(item, index) in selOptions" :key="index" :label="item.name"
+                                                   :value="item">
+                                        </el-option>
+                                    </el-select>
+                                </div>
+                            </el-form-item>
+                            <!-- 浣嶇疆 -->
+                            <el-form-item v-else-if="item.location" label=" "
+                                          :prop="'tableData.' + scope.$index + '.' + item.prop">
+                                <div class="custom-name">
                   <span v-if="scope.row.isEdit || scope.row.editable">{{
                     scope.row[item.prop]?.label ?? scope.row[item.prop]
                   }}</span>
-                  <el-select
-                    v-else
-                    v-model="scope.row[item.prop]"
-                    placeholder="璇烽�夋嫨"
-                    size="mini"
-                    filterable
-                    style="width: 80%"
-                    @change="
+                                    <el-select
+                                            v-else
+                                            v-model="scope.row[item.prop]"
+                                            placeholder="璇烽�夋嫨"
+                                            size="mini"
+                                            filterable
+                                            style="width: 80%"
+                                            @change="
                       (val) => {
-                        selLocationClick(val, item.prop,scope.row)
+                        selLocationClick(val, item.prop,scope.row,1)
                       }
                     "
-                  >
-                    <el-option
-                      v-for="(item, index) in selLocationOptions"
-                      :key="index"
-                      :label="item.jointName"
-                      :value="{ value: item.id, label: item.jointName }"
-                    >
-                    </el-option>
-                  </el-select>
-                </div>
-              </el-form-item>
-              <!-- 浜у搧鍒拌揪浣嶇疆 -->
-              <el-form-item v-else-if="item.toLocation" label=" " :prop="'tableData.' + scope.$index + '.' + item.prop">
-                <div class="custom-name">
+                                    >
+                                        <el-option
+                                                v-for="(item, index) in selLocationOptions"
+                                                :key="index"
+                                                :label="item.jointName"
+                                                :value="{ value: item.id, label: item.jointName }"
+                                        >
+                                        </el-option>
+                                    </el-select>
+                                </div>
+                            </el-form-item>
+                            <!-- 浜у搧鍒拌揪浣嶇疆 -->
+                            <el-form-item v-else-if="item.toLocation" label=" "
+                                          :prop="'tableData.' + scope.$index + '.' + item.prop">
+                                <div class="custom-name">
                   <span v-if="scope.row.isEdit || scope.row.editable">{{
                     scope.row[item.prop]?.label ?? scope.row[item.prop]
                   }}</span>
-                  <el-select
-                    v-else
-                    v-model="scope.row[item.prop]"
-                    placeholder="璇烽�夋嫨"
-                    size="mini"
-                    filterable
-                    style="width: 80%"
-                    @change="
+                                    <el-select
+                                            v-else
+                                            v-model="scope.row[item.prop]"
+                                            placeholder="璇烽�夋嫨"
+                                            size="mini"
+                                            filterable
+                                            style="width: 80%"
+                                            @change="
                       (val) => {
-                        selLocationClick(val, item.prop, scope.row)
+                        selLocationClick(val, item.prop, scope.row,scope.$index)
                       }
                     "
-                  >
-                    <el-option
-                      v-for="(item, index) in selToLocationOptions"
-                      :key="index"
-                      :label="item.jointName"
-                      :value="{ value: item.id, label: item.jointName }"
-                    >
-                    </el-option>
-                  </el-select>
-                </div>
-              </el-form-item>
-              <!-- 瀛愪綅缃� -->
-              <el-form-item
-                v-else-if="item.sonLocation"
-                label=" "
-                :prop="'tableData.' + scope.$index + '.' + item.prop"
-              >
-                <div class="custom-name">
+                                    >
+                                        <el-option
+                                                v-for="(item, index) in selToLocationOptions"
+                                                :key="index"
+                                                :label="item.jointName"
+                                                :value="item.id"
+                                        >
+                                        </el-option>
+                                    </el-select>
+                                </div>
+                            </el-form-item>
+                            <!-- 瀛愪綅缃� -->
+                            <el-form-item
+                                    v-else-if="item.sonLocation"
+                                    label=" "
+                                    :prop="'tableData.' + scope.$index + '.' + item.prop"
+                            >
+                                <div class="custom-name">
                   <span v-if="scope.row.isEdit || scope.row.editable">{{
                     scope.row[item.prop]?.label ?? scope.row[item.prop]
                   }}</span>
-                  <el-select
-                    v-else
-                    v-model="scope.row[item.prop]"
-                    placeholder="璇烽�夋嫨"
-                    size="mini"
-                    style="width: 80%"
-                    @change="
+                                    <el-select
+                                            v-else
+                                            v-model="scope.row[item.prop]"
+                                            placeholder="璇烽�夋嫨"
+                                            size="mini"
+                                            style="width: 80%"
+                                            @change="
                       (val) => {
                         selSonLocationClick(val, item.prop,scope.row,scope)
                       }
                     "
-                  >
-                    <el-option
-                      v-for="(item, index) in selSonLocationOptions"
-                      :key="index"
-                      :label="item.jointName"
-                      :value="{ value: item.id, label: item.jointName }"
-                    >
-                    </el-option>
-                  </el-select>
-                </div>
-              </el-form-item>
-              <!-- 閲嶈璐ц鍒�-浣嶇疆 -->
-              <el-form-item
-                v-else-if="item.defaultLocation"
-                label=" "
-                :prop="'tableData.' + scope.$index + '.' + item.prop"
-              >
-                <div class="custom-name">
-                  <el-select
-                    v-if="!scope.row.isEdit && scope.row.isOrder"
-                    v-model="locacionName"
-                    placeholder="璇烽�夋嫨"
-                    size="mini"
-                    filterable
-                    style="width: 80%"
-                    @change="
+                                    >
+                                        <el-option
+                                                v-for="(item, index) in selSonLocationOptions"
+                                                :key="index"
+                                                :label="item.jointName"
+                                                :value="item.id"
+                                        >
+                                        </el-option>
+                                    </el-select>
+                                </div>
+                            </el-form-item>
+                            <!-- 閲嶈璐ц鍒�-浣嶇疆 -->
+                            <el-form-item
+                                    v-else-if="item.defaultLocation"
+                                    label=" "
+                                    :prop="'tableData.' + scope.$index + '.' + item.prop"
+                            >
+                                <div class="custom-name">
+                                    <el-select
+                                            v-if="!scope.row.isEdit && scope.row.isOrder"
+                                            v-model="locacionName"
+                                            placeholder="璇烽�夋嫨"
+                                            size="mini"
+                                            filterable
+                                            style="width: 80%"
+                                            @change="
                       (val) => {
-                        selLocationClick(val, item.prop, scope.row)
+                        selLocationClick(val, item.prop, scope.row,3)
                       }
-                    "
-                  >
-                    <el-option
-                      v-for="(ite, index) in selLocationOptions"
-                      :key="index"
-                      :label="ite.name"
-                      :value="{ value: ite.id, label: ite.name }"
-                    >
-                    </el-option>
-                  </el-select>
-                  <span v-else-if="scope.row.isEdit || scope.row.editable">{{
+                    ">
+                                        <el-option
+                                                v-for="(ite, index) in selLocationOptions"
+                                                :key="index"
+                                                :label="ite.name"
+                                                :value="item.id"
+                                        >
+                                        </el-option>
+                                    </el-select>
+                                    <span v-else-if="scope.row.isEdit || scope.row.editable">{{
                     scope.row[item.prop]?.label ?? scope.row[item.prop]
                   }}</span>
-                </div>
-              </el-form-item>
-              <!-- 浜у搧 -->
-              <el-form-item v-else-if="item.product" label=" " :prop="'tableData.' + scope.$index + '.' + item.prop">
-                <div class="custom-name">
-                  <span v-if="scope.row.isEdit || scope.row.editable">{{ scope.row.productName }}</span>
-                  <template v-else>
-                    <SimpleSearchInput
-                      v-model="scope.row[item.prop]"
-                      :echoValue="scope.row[item.prop]"
-                      :echoName="scope.row[item.prop]"
-                      checkedNum="1"
-                      :clearable="true"
-                      @select-user="
-                        (val) => {
-                          selProductClick(val, scope.row)
-                        }
-                      "
-                    >
-                    </SimpleSearchInput>
-                  </template>
-                </div>
-              </el-form-item>
-              <!-- 浠� -->
-              <el-form-item
-                v-else-if="item.formLocation"
-                label=" "
-                :prop="'tableData.' + scope.$index + '.' + item.prop"
-              >
-                <div class="custom-name">
-                  <span v-if="scope.row.isEdit || scope.row.editable">{{ scope.row.formLocation }}</span>
-                  <el-autocomplete
-                    v-else
-                    style="width: 100%"
-                    v-model="scope.row.productCategory"
-                    @focus="productTypeFocus"
-                    :fetch-suggestions="
-                      (queryString, callback) => {
+                                </div>
+                            </el-form-item>
+                            <!-- 浜у搧 -->
+                            <el-form-item v-else-if="item.product" label=" "
+                                          :prop="'tableData.' + scope.$index + '.' + item.prop">
+                                <div class="custom-name">
+                                    <span v-if="scope.row.isEdit || scope.row.editable">{{ scope.row.productName }}</span>
+                                    <template v-else>
+                                        <SimpleSearchInput
+                                                v-model="scope.row[item.prop]"
+                                                :echoValue="scope.row[item.prop]"
+                                                :echoName="scope.row[item.prop]"
+                                                checkedNum="1"
+                                                :clearable="true"
+                                                @select-user="
+                                                (val) => {
+                                                  selProductClick(val, scope.row)
+                                                }">
+                                        </SimpleSearchInput>
+                                    </template>
+                                </div>
+                            </el-form-item>
+                            <!-- 浠� -->
+                            <el-form-item
+                                    v-else-if="item.formLocation"
+                                    label=" "
+                                    :prop="'tableData.' + scope.$index + '.' + item.prop"
+                            >
+                                <div class="custom-name">
+                                    <span v-if="scope.row.isEdit || scope.row.editable">{{ scope.row.formLocation }}</span>
+                                    <el-autocomplete
+                                            v-else
+                                            style="width: 100%"
+                                            v-model="scope.row.productCategory"
+                                            @focus="productTypeFocus"
+                                            :fetch-suggestions="(queryString, callback) => {
                         querySearchAsync(queryString, callback, 'formLocation')
-                      }
-                    "
-                    value-key="name"
-                    @select="handleSelectClient('formLocation', $event)"
-                  ></el-autocomplete>
-                </div>
-              </el-form-item>
-              <!-- 浜у搧绫诲埆 -->
-              <el-form-item
-                v-else-if="item.productType"
-                label=" "
-                :prop="'tableData.' + scope.$index + '.' + item.prop"
-              >
-                <div class="custom-name">
-                  <span v-if="scope.row.isEdit || scope.row.editable">{{ scope.row.productCategory }}</span>
-                  <el-autocomplete
-                    v-else
-                    style="width: 100%"
-                    v-model="scope.row.productCategory"
-                    @focus="productTypeFocus"
-                    :fetch-suggestions="
+                      }"
+                                            value-key="name"
+                                            @select="handleSelectClient('formLocation', $event)"
+                                    ></el-autocomplete>
+                                </div>
+                            </el-form-item>
+                            <!-- 浜у搧绫诲埆 -->
+                            <el-form-item
+                                    v-else-if="item.productType"
+                                    label=""
+                                    :prop="'tableData.' + scope.$index + '.' + item.prop"
+                            >
+                                <div class="custom-name">
+                                    <span v-if="scope.row.isEdit || scope.row.editable">{{ scope.row.productCategory }}</span>
+                                    <el-autocomplete
+                                            v-else
+                                            style="width: 100%"
+                                            v-model="scope.row.productCategory"
+                                            @focus="productTypeFocus"
+                                            :fetch-suggestions="
                       (queryString, callback) => {
                         querySearchAsync(queryString, callback, 'productType')
                       }
                     "
-                    value-key="name"
-                    @select="handleSelectClient('productType', $event)"
-                  ></el-autocomplete>
-                </div>
-              </el-form-item>
-              <!-- 鐢ㄦ埛 -->
-              <el-form-item v-else-if="item.user" label=" " :prop="'tableData.' + scope.$index + '.' + item.prop">
-                <div class="custom-name">
-                  <span>{{ "绠$悊鍛�" }}</span>
-                  <!-- <el-select
-                    v-else
-                    v-model="scope.row[item.prop]"
-                    placeholder="璇烽�夋嫨"
-                    size="mini"
-                    style="width: 80%"
-                    @change="selCommonClick"
-                  >
-                    <el-option v-for="item in memberOptions" :key="item.id" :label="item.name" :value="item.name">
-                    </el-option>
-                  </el-select> -->
-                </div>
-              </el-form-item>
-              <!-- 璺嚎 -->
-              <el-form-item v-else-if="item.route" label=" " :prop="'tableData.' + scope.$index + '.' + item.prop">
-                <div class="custom-name">
-                  <span v-if="scope.row.isEdit">{{ scope.row[item.prop]?.label ?? scope.row[item.prop] }}</span>
-                  <el-select
-                    v-else
-                    v-model="scope.row[item.prop]"
-                    placeholder="璇烽�夋嫨"
-                    size="mini"
-                    style="width: 80%"
-                    @change="
+                                            value-key="name"
+                                            @select="handleSelectClient('productType', $event)"
+                                    ></el-autocomplete>
+                                </div>
+                            </el-form-item>
+                            <!-- 鐢ㄦ埛 -->
+                            <el-form-item v-else-if="item.user" label=" "
+                                          :prop="'tableData.' + scope.$index + '.' + item.prop">
+                                <div class="custom-name">
+                                    <span>{{ "绠$悊鍛�" }}</span>
+                                    <!-- <el-select
+                                      v-else
+                                      v-model="scope.row[item.prop]"
+                                      placeholder="璇烽�夋嫨"
+                                      size="mini"
+                                      style="width: 80%"
+                                      @change="selCommonClick"
+                                    >
+                                      <el-option v-for="item in memberOptions" :key="item.id" :label="item.name" :value="item.name">
+                                      </el-option>
+                                    </el-select> -->
+                                </div>
+                            </el-form-item>
+                            <!-- 璺嚎 -->
+                            <el-form-item v-else-if="item.route" label=" "
+                                          :prop="'tableData.' + scope.$index + '.' + item.prop">
+                                <div class="custom-name">
+                                    <span v-if="scope.row.isEdit">{{ scope.row[item.prop]?.label ?? scope.row[item.prop] }}</span>
+                                    <el-select
+                                            v-else
+                                            v-model="scope.row[item.prop]"
+                                            placeholder="璇烽�夋嫨"
+                                            size="mini"
+                                            style="width: 80%"
+                                            @change="
                       (val) => {
                         selRouteClick(val, item.prop)
                       }
                     "
-                  >
-                    <el-option
-                      v-for="(item, index) in selRouteOptions"
-                      :key="index"
-                      :label="item.name"
-                      :value="{ value: item.id, label: item.name }"
-                    >
-                    </el-option>
-                  </el-select>
-                </div>
-              </el-form-item>
-              <!-- 鍏徃 -->
-              <el-form-item v-else-if="item.company" label=" " :prop="'tableData.' + scope.$index + '.' + item.prop">
-                <div class="custom-name">
-                  <span v-if="scope.row.isEdit">{{ scope.row[item.prop] }}</span>
-                  <el-select v-else v-model="scope.row[item.prop]" placeholder="璇烽�夋嫨" size="mini" style="width: 80%">
-                    <el-option v-for="(item, index) in companyOptions" :key="index" :label="item.name" :value="item">
-                    </el-option>
-                  </el-select>
-                </div>
-              </el-form-item>
-              <span v-else>{{ scope.row[item.prop] }}</span>
-            </template>
-            <span v-else>{{ scope.row[item.prop] }}</span>
-          </template>
-        </el-table-column>
-        <slot name="tableButton" />
-      </el-table>
-    </el-form>
-    <div v-if="!detailEnter && !isinventory && !isReorder&&isOperateAdd" style="margin: 10px">
-      <el-button size="small" type="primary" @click="add">鏂板</el-button>
-      <el-button size="small" type="primary" @click="empty">娓呯┖</el-button>
+                                    >
+                                        <el-option
+                                                v-for="(item, index) in selRouteOptions"
+                                                :key="index"
+                                                :label="item.name"
+                                                :value="{ value: item.id, label: item.name }"
+                                        >
+                                        </el-option>
+                                    </el-select>
+                                </div>
+                            </el-form-item>
+                            <!-- 鍏徃 -->
+                            <el-form-item v-else-if="item.company" label=" "
+                                          :prop="'tableData.' + scope.$index + '.' + item.prop">
+                                <div class="custom-name">
+                                    <span v-if="scope.row.isEdit">{{ scope.row[item.prop] }}</span>
+                                    <el-select v-else v-model="scope.row[item.prop]" placeholder="璇烽�夋嫨" size="mini"
+                                               style="width: 80%">
+                                        <el-option v-for="(item, index) in companyOptions" :key="index"
+                                                   :label="item.name" :value="item">
+                                        </el-option>
+                                    </el-select>
+                                </div>
+                            </el-form-item>
+                            <!-- 澶囨敞 -->
+                            <el-form-item v-else-if="item.editInput" label=" "
+                                          :prop="'tableData.' + scope.$index + '.' + item.prop">
+                                <div class="custom-name">
+                                    <span v-if="scope.row.isEdit">{{ scope.row[item.prop] }}</span>
+                                    <el-input v-else v-model="scope.row[item.prop]" placeholder="璇疯緭鍏�" size="mini"
+                                              style="width: 80%"></el-input>
+                                </div>
+                            </el-form-item>
+                            <!-- 浜у搧鍚嶇О -->
+                            <span v-else>{{ scope.row[item.prop] }}</span>
+                        </template>
+                        <span v-else>{{ scope.row[item.prop] }}</span>
+                    </template>
+                </el-table-column>
+                <slot name="tableButton"/>
+            </el-table>
+        </el-form>
+        <div v-if="!detailEnter && !isinventory && !isReorder&&isOperateAdd" style="margin: 10px">
+            <el-button size="small" type="primary" @click="add">鏂板</el-button>
+            <el-button size="small" type="primary" @click="empty">娓呯┖</el-button>
+            <el-button size="small" type="primary" @click="deleteItems">鍒犻櫎</el-button>
+        </div>
+        <!-- 浜у搧鍚嶇О -->
+        <SelectCommonDialog
+                v-if="editSelCommonConfig.editVisible"
+                :edit-common-config="editSelCommonConfig"
+                :selectBoxList="tableList.tableData"
+                :quotationNumber="quotationNumber"
+                @selClient="selClient"
+                :warehouseId="warehouseId"
+                @getSelectArray="getSelectArray"/>
     </div>
-    <!-- 浜у搧鍚嶇О -->
-    <SelectCommonDialog
-      v-if="editSelCommonConfig.editVisible"
-      :edit-common-config="editSelCommonConfig"
-      :selectBoxList="tableList.tableData"
-      :quotationNumber="quotationNumber"
-      @selClient="selClient"
-      @getSelectArray="getSelectArray"
-    />
-  </div>
 </template>
 
 <script>
-import { getProductList } from "@/api/product/product"
-import { getLocationList } from "@/api/warehouseManage/warehouse"
-import { getCompanyList } from "@/api/common/other"
-import { getRuleList} from "@/api/operate/inventoryAdjustment"
-import { getProductCategoryList } from "@/api/product/productCategory"
-import SimpleSearchInput from "@/components/makepager/SimpleSearchInput"
-import { getAmountAndPrediction } from "@/api/product/reorderRules"
-import SelectCommonDialog from "@/views/other/commonDialog/SelectCommonDialog"
-export default {
-  name: "CommmonFormTableView",
-  components: { SimpleSearchInput, SelectCommonDialog },
-  props: {
-    detailEnter: {
-      type: Boolean,
-      default: false
-    },
-    sign: {
-      type: String,
-      default: ""
-    },
-    productTableList: {
-      type: Object,
-      default: () => {
-        return {
-          selectBox: false,
-          selectIndex: false,
-          tableData: [], // 鎺ュ彛杩斿洖鏁版嵁
-          tableColumn: [
-            // table琛ㄥ崟
-            { label: "", prop: "", min: 200, tooltip: true }
-          ]
-        }
-      }
-    },
-    isinventory: {
-      type: Boolean,
-      default: false
-    },
-    islistingrules: {
-      type: Boolean,
-      default: false
-    },
-    isReorder: {
-      type: Boolean,
-      default: false
-    },
-    // 鏍规嵁鎶ヤ环鍗曟煡璇骇鍝�
-    quotationNumber: {
-      type: [String, Number],
-      default: ""
-    },
-    // 鍒楄〃鏂板鏄惁澶氶��
-    addTypeIdMultiple: {
-      type: Boolean,
-      default: false
-    },
-    // 鏄惁鍙互鎿嶄綔 娣诲姞绛�
-    isOperate: {
-      type: Boolean,
-      default: true
-    },
-    // 鏄惁鏈夋柊澧炲拰娓呯┖鎿嶄綔
-    isOperateAdd: {
-      type: Boolean,
-      default: true
-    },
-  },
-  data() {
-    return {
-      total: 0,
-      productList: [],
-      tableList: [],
-      editSelCommonConfig: {
-        editVisible: false,
-        isSelectBox: false,
-        title: "",
-        infomation: {}
-      },
-      productIndex: 0,
-      productNameOptions: [],
-      productTypeNameOptions: [],
-      memberOptions: [{ id: 1, name: "绠$悊鍛�" }],
-      selOptions: [
-        { id: 1, name: "浠�" },
-        { id: 2, name: "鎵�" }
-      ],
-      selLocationOptions: [], // 浣嶇疆
-      selSonLocationOptions: [], //瀛愪綅缃�
-      selToLocationOptions: [], // 浜у搧鍒拌揪浣嶇疆
-      companyOptions: [], // 鍏徃
-      selRouteOptions: [{ id: 1, name: "鍒堕��" }], // 璺嚎
-      locacionName: "",
-      locacionId: 0,
-      productName: "",
-      productId: "",
-      initialPosition: "",
-      formLocationList: [],
-      toLocationList: []
-    }
-  },
-  created() {
-    if (this.isinventory) {
-      this.getRuleList()
-    } else if (this.isReorder) {
-      this.getProductList()
-      this.getLocationList()
-    } else {
-      this.getProductList()
-      this.getProductCategoryList()
-    }
-    if (this.islistingrules) {
-      this.getToLocationList()
-      // this.getCompanyList()
-    }
-    this.tableList = this.productTableList
-  },
-  computed: {},
-  watch: {
-    productTableList() {
-      // this.showcol = this.productTableList.showcol
-      this.getTableInfo()
-    }
-  },
-  methods: {
-    getTableInfo(){
-      this.tableList = this.productTableList
-      if (this.tableList.tableData.length === 1 && this.tableList.tableData[0].name === "") {
-        this.isRecalculate = false
-      } else {
-        this.isRecalculate = true
-      }
-    },
-    // 浜у搧鍚嶇О
-    async getProductList() {
-      await getProductList({
-        page: 1,
-        pageSize: 100
-      }).then((res) => {
-        if (res.code === 200) {
-          if (res.data && res.data.length > 0) {
-            this.productNameOptions = res.data
-          }
-        }
-      })
-    },
-    // 涓嬫媺鎼滅储
-    async handleSelectClient(value, item,row,scope) {
-      this.$emit("selProductClick", value, item,row,scope)
-      if (value === "product") {
-        if (item.categoryId === 0 || item.categoryName === "") {
-          this.productTypeNameOptions = []
-          this.tableList.tableData[this.tableList.rowClickIndex].productCategory = ""
-        } else {
-          await getProductCategoryList({
-            categoryId: item.categoryId,
-            keyWord: item.categoryName,
-            page: 1,
-            pageSize: 15
-          }).then((res) => {
-            if (res.code === 200) {
-              const list = res.data ? res.data : []
-              this.productTypeNameOptions = list
-              this.tableList.tableData[this.tableList.rowClickIndex].productCategory = list[0].name
+    import {getProductList, getProductDetailsByBarCodeApi} from "@/api/product/product"
+    import {getLocationList} from "@/api/warehouseManage/warehouse"
+    import {getCompanyList} from "@/api/common/other"
+    import {getRuleList} from "@/api/operate/inventoryAdjustment"
+    import {getProductCategoryList} from "@/api/product/productCategory"
+    import SimpleSearchInput from "@/components/makepager/SimpleSearchInput"
+    import {getAmountAndPrediction} from "@/api/product/reorderRules"
+    import SelectCommonDialog from "@/views/other/commonDialog/SelectCommonDialog"
+    export default {
+        name: "CommmonFormTableView",
+        components: {SimpleSearchInput, SelectCommonDialog},
+        props: {
+            warehouseId:{
+              type:Number,
+              default:0
+            },
+            detailEnter: {
+                type: Boolean,
+                default: false
+            },
+            sign: {
+                type: String,
+                default: ""
+            },
+            productTableList: {
+                type: Object,
+                default: () => {
+                    return {
+                        selectBox: false,
+                        selectIndex: false,
+                        tableData: [], // 鎺ュ彛杩斿洖鏁版嵁
+                        tableColumn: [
+                            // table琛ㄥ崟
+                            {label: "", prop: "", min: 200, tooltip: true}
+                        ]
+                    }
+                }
+            },
+            isinventory: {
+                type: Boolean,
+                default: false
+            },
+            islistingrules: {
+                type: Boolean,
+                default: false
+            },
+            isReorder: {
+                type: Boolean,
+                default: false
+            },
+            // 鏍规嵁鎶ヤ环鍗曟煡璇骇鍝�
+            quotationNumber: {
+                type: [String, Number],
+                default: ""
+            },
+            // 鍒楄〃鏂板鏄惁澶氶��
+            addTypeIdMultiple: {
+                type: Boolean,
+                default: false
+            },
+            // 鏄惁鍙互鎿嶄綔 娣诲姞绛�
+            isOperate: {
+                type: Boolean,
+                default: true
+            },
+            // 鏄惁鏈夋柊澧炲拰娓呯┖鎿嶄綔
+            isOperateAdd: {
+                type: Boolean,
+                default: true
+            },
+        },
+        data() {
+            return {
+                scanCode: '',
+                total: 0,
+                productList: [],
+                tableList: [],
+                editSelCommonConfig: {
+                    editVisible: false,
+                    isSelectBox: false,
+                    title: "",
+                    infomation: {}
+                },
+                productIndex: 0,
+                productNameOptions: [],
+                productTypeNameOptions: [],
+                memberOptions: [{id: 1, name: "绠$悊鍛�"}],
+                selOptions: [
+                    {id: 1, name: "浠�"},
+                    {id: 2, name: "鎵�"}
+                ],
+                selLocationOptions: [], // 浣嶇疆
+                selSonLocationOptions: [], //瀛愪綅缃�
+                selToLocationOptions: [], // 浜у搧鍒拌揪浣嶇疆
+                companyOptions: [], // 鍏徃
+                selRouteOptions: [{id: 1, name: "鍒堕��"}], // 璺嚎
+                locacionName: "",
+                locacionId: 0,
+                productName: "",
+                productId: "",
+                initialPosition: "",
+                formLocationList: [],
+                toLocationList: []
             }
-          })
-        }
-      } else if (value === "productType") {
-        console.log("浜у搧绫诲瀷閫変腑")
-      }
-    },
-    querySearchAsync(queryString, cb, value) {
-      let restaurants = ""
-      if (value === "product") {
-        restaurants = this.productNameOptions
-      } else if (value === "productType") {
-        restaurants = this.productTypeNameOptions
-      } else if (value === "formLocation") {
-        restaurants = this.selLocationOptions
-      }
-      var results = (queryString&&restaurants) ? restaurants.filter(this.createStateFilter(queryString, value)) : restaurants
-      cb(results)
-      if (results.length === 0) {
-        this.productTypeNameOptions = []
-      }
-      this.$emit("querySearchData", queryString, results, value)
-    },
-    createStateFilter(queryString) {
-      return (state) => {
-        return state.name.toLowerCase().indexOf(queryString.toLowerCase()) === 0
-      }
-    },
-    // 鏂板
-    selClientClick(scope, prop) {
-      console.log(scope, prop)
-      this.productIndex = scope.$index
-      this.editSelCommonConfig.title = "浜у搧鍚嶇О"
-      this.editSelCommonConfig.isSelectBox = true
-      this.editSelCommonConfig.editVisible = true
-    },
-    // 缂栬緫
-    handleEditClient(scope, prop) {
-      console.log(scope, prop)
-      this.productIndex = scope.$index
-      this.editSelCommonConfig.title = "浜у搧鍚嶇О"
-      this.editSelCommonConfig.isSelectBox = false
-      this.editSelCommonConfig.editVisible = true
-    },
-    // 娓呴櫎閫変腑浜у搧
-    setValueNull(val) {
-      console.log(val, "鐪嬬湅val")
-    },
-
-    // 搴撳瓨璋冩暣鑾峰彇浣嶇疆鍜屼骇鍝�
-    async getRuleList() {
-      await getRuleList({
-        locationId: 0,
-        productId: ""
-      }).then((res) => {
-        if (res.code === 200) {
-          const list = res.data ? res.data : []
-          this.selLocationOptions = list.locationList
-          this.selSonLocationOptions = list.locationList
-          this.productNameOptions = list.productList
-        }
-      })
-    },
-    // 鑾峰彇浜у搧绫诲瀷鍒楄〃
-    async getProductCategoryList() {
-      await getProductCategoryList({
-        categoryId: 0,
-        keyWord: "",
-        page: 1,
-        pageSize: 15
-      }).then((res) => {
-        if (res.code === 200) {
-          const list = res.data ? res.data : []
-          this.productTypeNameOptions = list
-        }
-      })
-    },
-
-    // 浣嶇疆
-    async getLocationList() {
-      this.locacionName = ""
-      await getLocationList({
-        // keyword: "",
-        type:3,
-        jointName: this.initialPosition ? this.initialPosition : null,
-        productId: this.queryProductId ? this.queryProductId : null,
-        productCategoryId: this.categoryId ? this.categoryId : null,
-        page: 1,
-        pageSize: 100
-      }).then((res) => {
-        if (res.code === 200) {
-          const list = res.data ? res.data : []
-          this.selLocationOptions = list
-          this.selSonLocationOptions = list
-          if (this.isReorder) {
-            this.locacionName = list[0]?.name
-            this.locacionId = list[0]?.id
-            this.$emit("selLocationClick", list[0], "locacionName")
-          }
-        }
-      })
-    },
-    // 浜у搧鍒拌揪浣嶇疆
-    async getToLocationList() {
-      await getLocationList({
-        // keyword: "",
-        type: 3,
-        page: 1,
-        pageSize: 100
-      }).then((res) => {
-        if (res.code === 200) {
-          const list = res.data ? res.data : []
-          this.selToLocationOptions = list
-          this.selSonLocationOptions = list
-          if (this.isReorder) {
-            this.locacionName = list[0]?.name
-            this.locacionId = list[0]?.id
-            this.$emit("selLocationClick", list[0], "locacionName")
-          }
-        }
-      })
-    },
-    // 璁剧疆瀛愪綅缃�/婧愪綅缃�
-    async setLocationList(jointName, tag) {
-      if (tag === "fromLocation") {
-        await getLocationList({
-          jointName: jointName,
-          page: 1,
-          pageSize: 100
-        }).then((res) => {
-          if (res.code === 200) {
-            this.selSonLocationOptions = res.data
-          }
-        })
-      } else if (tag === "toLocation") {
-        await getLocationList({
-          jointName: jointName,
-          page: 1,
-          pageSize: 100
-        }).then((res) => {
-          if (res.code === 200) {
-            this.selToLocationOptions = res.data
-          }
-        })
-      } else {
-        await getLocationList({
-          jointName: jointName,
-          page: 1,
-          pageSize: 100
-        }).then((res) => {
-          if (res.code === 200) {
-            this.selSonLocationOptions = res.data
-          }
-        })
-      }
-    },
-    // 鑾峰彇鍏徃鍒楄〃
-    async getCompanyList() {
-      await getCompanyList().then((res) => {
-        if (res.code === 200) {
-          this.companyOptions = res.data
-        }
-      })
-    },
-    selProductNameClick(item) {
-      this.productIndex = this.tableList.tableData.length - 1
-      this.tableList.tableData.map((ite, index) => {
-        if (index === this.productIndex) {
-          ite.productId = item.id
-          ite.productName = item.name
-          ite.amount = item.amount
-          ite.unit = item.unit
-        }
-      })
-    },
-    // 閫夋嫨浜у搧
-    selProductClick(item, row) {
-      console.log("閫夋嫨浜у搧",row,item)
-      if (this.isReorder) {
-        this.productId = item.id
-        this.productName = item.name
-        this.getAmountAndPrediction(item, "product", row)
-      } else {
-        let selIndex = 0
-        this.tableList.tableData.map((ite, index) => {
-          // ite.id 鏄笂鏋惰鍒欑殑, ite.productId鏄簱瀛樿皟鏁寸殑
-          if (ite.id === row.id && ite.id != undefined && row.id != undefined) {
-            selIndex = index
-            ite.productId = item.id
-            ite.productName = item.name
-            ite.categoryId = item.categoryId
-            ite.productCategory = item.categoryName
-            ite.amount = item.amount
-            ite.unit = item.unit
-          } else if (ite.productId === row.productId) {
-            selIndex = index
-            ite.productId = item.id
-            ite.productName = item.name
-            ite.categoryId = item.categoryId
-            ite.productCategory = item.categoryName
-            // ite.amount = item.amount
-            ite.unit = item.unit
-          }
-        })
-        this.$emit("selProductClick", "product", this.tableList.tableData[selIndex])
-      }
-      if (this.isinventory) {
-        getRuleList({
-          locationId: 0,
-          productId: item.value
-        }).then((res) => {
-          if (res.code === 200) {
-            const list = res.data ? res.data : []
-            this.selLocationOptions = list.locationList
-            this.selSonLocationOptions = list.locationList
-          }
-        })
-      }
-
-      // this.$emit("selProductClick", item)
-    },
-    // 閫夋嫨浜у搧绫诲瀷
-    selProductTypeClick(item) {
-      this.tableList.tableData.map((ite) => {
-        if (ite.productCategory.label === item.label) {
-          ite.productCategoryId = item.value
-          ite.productCategory = item.label
-        }
-      })
-      if (this.isinventory) {
-        this.getProductCategoryList()
-      }
-      // this.$emit("selProductTypeClick", item)
-    },
-    // 浜у搧绫诲瀷鑾峰彇鐒︾偣
-    productTypeFocus() {
-      getProductCategoryList({
-        categoryId: 0,
-        keyWord: "",
-        page: 1,
-        pageSize: 15
-      }).then((res) => {
-        if (res.code === 200) {
-          const list = res.data ? res.data : []
-          this.productTypeNameOptions = list
-        }
-      })
-    },
-    // 閫夋嫨浣嶇疆
-    selLocationClick(item, prop, row) {
-      console.log("浣嶇疆閫夋嫨",item,row)
-      if (prop === "areaName") {
-        getLocationList({
-          jointName: item.label,
-          page: 1,
-          pageSize: 100
-        }).then((res) => {
-          if (res.code === 200) {
-            const list = res.data ? res.data : []
-            this.selSonLocationOptions = list
-          }
-        })
-      }else if(prop==='locationName'){
-        console.log("locationName")
-      }
-      if (this.isReorder) {
-        this.locacionId = item.value
-        this.productId = row.productId
-        if (this.productId.length !== 0) {
-          this.getAmountAndPrediction(row, "location", item)
-        }
-      }
-      if (this.isinventory) {
-        getRuleList({
-          locationId: item.value,
-          productId: ""
-        }).then((res) => {
-          if (res.code === 200) {
-            const list = res.data ? res.data : []
-            this.productNameOptions = list.productList
-          }
-        })
-      }
-      this.$emit("selLocationClick", item, prop)
-    },
-    // 閫夋嫨瀛愪綅缃�
-    selSonLocationClick(item,prop,row,scope) {
-      this.$emit("selSonLocationClick", item,prop,row,scope)
-    },
-    // 鑾峰彇鍦ㄥ簱涓庨娴嬫暟閲�
-    getAmountAndPrediction(item, val, ite) {
-      let selIndex = 0
-      getAmountAndPrediction({
-        locationId: val === "product" ? this.locacionId : ite.value,
-        productId: val === "product" ? item.id : this.productId
-      }).then((res) => {
-        if (res.code === 200) {
-          this.tableList.tableData.map((ite, index) => {
-            if (val === "product") {
-              if (index === 0) {
-                selIndex = index
-                ite.amount = res.data.amount
-                ite.prediction = res.data.prediction
-                ite.productId = item.id
-                ite.productName = item.name
-                ite.unit = item.unit
-              }
+        },
+        created() {
+            if (this.isinventory) {
+                this.getRuleList()
+            } else if (this.isReorder) {
+                this.getProductList()
+                //this.getLocationList()
             } else {
-              if (ite.id === item.id) {
-                selIndex = index
-                ite.amount = res.data.amount
-                ite.prediction = res.data.prediction
-              }
+                this.getProductList()
+                this.getProductCategoryList()
             }
-          })
-          this.$emit("selProductClick", this.tableList.tableData[selIndex])
-        }
-      })
-    },
-    // 閫夋嫨璺嚎
-    selRouteClick(item, prop) {
-      this.$emit("selRouteClick", item, prop)
-    },
-    // 閫夋嫨鍗曚綅/鐢ㄦ埛
-    selCommonClick(item) {
-      console.log(item)
-    },
-    handleReserve(row) {
-      return row._id ? row._id : row.id
-    },
-    handleSelectionChange(val) {
-      this.$emit("getSelectArray", val)
-    },
+            /*if (this.islistingrules) {
+                this.getToLocationList()
+                // this.getCompanyList()
+            }*/
+            this.tableList = this.productTableList
+        },
+        computed: {},
+        watch: {
+            productTableList() {
+                // this.showcol = this.productTableList.showcol
+                this.getTableInfo()
+            },
+            scanCode: {
+                handler(newValue, oldValue) {
+                    //1.杈撳叆涓嶄細瑙﹀彂锛岄渶瑕佹壂鍏ユ潯褰㈢爜瑙﹀彂
+                    if (newValue&&(newValue.length - oldValue.length > 1)) {
+                        const codeNum=this.scanCode;
+                        this.scanCode="";
+                         this.queryProduct(codeNum);
+                    }
+                }
+            }
+        },
+        methods: {
+            deleteItems(){
+              this.$emit('deleteItems');
+            },
+            selectProductArray(val){
+                this.$emit('selectProductArray',val);
+            },
+            handlerEnter() {
+                if (this.scanCode.length > 0) {
+                    const codeNum=this.scanCode;
+                    this.scanCode="";
+                    this.queryProduct(codeNum);
+                }
+            },
+            async queryProduct(codeNum) {
+                const {code, data, msg} = await getProductDetailsByBarCodeApi(codeNum);
+                if (code === 200) {
+                    this.$emit("getSelectArray", [data]);
+                    this.$message.success(`鎵爜鎴愬姛,${data.name}鏁伴噺鍔�1`);
+                } else {
+                    this.$message.error(msg);
+                }
+               // this.scanCode = "";
+            },
+            startScanCode() {
+                this.$nextTick(() => {
+                    this.$refs.input[0].focus();
+                });
+            },
+            getTableInfo() {
+                this.tableList = this.productTableList
+                if (this.tableList.tableData.length === 1 && this.tableList.tableData[0].name === "") {
+                    this.isRecalculate = false
+                } else {
+                    this.isRecalculate = true
+                }
+            },
+            // 浜у搧鍚嶇О
+            async getProductList() {
+                await getProductList({
+                    page: 1,
+                    pageSize: 100
+                }).then((res) => {
+                    if (res.code === 200) {
+                        if (res.data && res.data.length > 0) {
+                            this.productNameOptions = res.data
+                        }
+                    }
+                })
+            },
+            // 涓嬫媺鎼滅储
+            async handleSelectClient(value, item, row, scope) {
+                this.$emit("selProductClick", value, item, row, scope)
+                if (value === "product") {
+                    if (item.categoryId === 0 || item.categoryName === "") {
+                        this.productTypeNameOptions = []
+                        this.tableList.tableData[this.tableList.rowClickIndex].productCategory = ""
+                    } else {
+                        await getProductCategoryList({
+                            categoryId: item.categoryId,
+                            keyWord: item.categoryName,
+                            page: 1,
+                            pageSize: 15
+                        }).then((res) => {
+                            if (res.code === 200) {
+                                const list = res.data ? res.data : [];
+                                this.productTypeNameOptions = list;
+                                this.tableList.tableData[this.tableList.rowClickIndex].productCategory = list[0].name
+                            }
+                        })
+                    }
+                } else if (value === "productType") {
+                    console.log("浜у搧绫诲瀷閫変腑")
+                }
+            },
+            querySearchAsync(queryString, cb, value) {
+                let restaurants = ""
+                if (value === "product") {
+                    restaurants = this.productNameOptions
+                } else if (value === "productType") {
+                    restaurants = this.productTypeNameOptions;
+                } else if (value === "formLocation") {
+                    restaurants = this.selLocationOptions
+                }
+                var results = (queryString && restaurants) ? restaurants.filter(this.createStateFilter(queryString, value)) : restaurants
+                cb(results)
+                if (results.length === 0) {
+                    this.productTypeNameOptions = []
+                }
+                this.$emit("querySearchData", queryString, results, value)
+            },
+            createStateFilter(queryString) {
+                return (state) => {
+                    return state.name.toLowerCase().indexOf(queryString.toLowerCase()) === 0
+                }
+            },
+            // 鏂板
+            selClientClick(scope, prop) {
+                console.log(scope, prop)
+                this.productIndex = scope.$index
+                this.editSelCommonConfig.title = "浜у搧鍚嶇О"
+                this.editSelCommonConfig.isSelectBox = true
+                this.editSelCommonConfig.editVisible = true
+            },
+            // 缂栬緫
+            handleEditClient(scope, prop) {
+                console.log(scope, prop)
+                this.productIndex = scope.$index
+                this.editSelCommonConfig.title = "浜у搧鍚嶇О"
+                this.editSelCommonConfig.isSelectBox = false
+                this.editSelCommonConfig.editVisible = true
+            },
+            // 娓呴櫎閫変腑浜у搧
+            setValueNull(val) {
+                console.log(val, "鐪嬬湅val")
+            },
 
-    // 鏁板瓧鎹㈣涓洪噾棰濇樉绀烘牸寮�
-    number_format(number, decimals, dec_point, thousands_sep) {
-      decimals = 2 //杩欓噷榛樿璁剧疆淇濈暀涓や綅灏忔暟锛屼篃鍙互娉ㄩ噴杩欏彞閲囩敤浼犲叆鐨勫弬鏁�
-      /*
-       * 鍙傛暟璇存槑锛�
-       * number锛氳鏍煎紡鍖栫殑鏁板瓧
-       * decimals锛氫繚鐣欏嚑浣嶅皬鏁�
-       * dec_point锛氬皬鏁扮偣绗﹀彿
-       * thousands_sep锛氬崈鍒嗕綅绗﹀彿
-       * */
-      number = (number + "").replace(/[^0-9+-Ee.]/g, "")
-      var n = !isFinite(+number) ? 0 : +number,
-        prec = !isFinite(+decimals) ? 0 : Math.abs(decimals),
-        sep = typeof thousands_sep === "undefined" ? "," : thousands_sep,
-        dec = typeof dec_point === "undefined" ? "." : dec_point
-      var s = n.toString().split(".")
-      var re = /(-?\d+)(\d{3})/
-      while (re.test(s[0])) {
-        s[0] = s[0].replace(re, "$1" + sep + "$2")
-      }
-      if ((s[1] || "").length < prec) {
-        s[1] = s[1] || ""
-        s[1] += new Array(prec - s[1].length + 1).join("0")
-      } else {
-        s[1] = s[1].substring(0, prec) //灏忔暟鐐逛綅鏁拌秴鍑洪暱搴︽椂鎴彇鍓嶉潰鐨勪綅鏁�
-      }
-      return s.join(dec)
-    },
-    // 鏂板
-    add() {
-      if (this.addTypeIdMultiple) {
-        this.productIndex = this.tableList.tableData.length
-        this.editSelCommonConfig.title = "浜у搧鍚嶇О"
-        this.editSelCommonConfig.isSelectBox = true
-        this.editSelCommonConfig.editVisible = true
-      } else {
-        this.$emit("addProductClick")
-      }
-    },
-    commonInputChange(val, prop, row) {
-      this.$emit("inputContent", val, prop, row)
-    },
-    // 娓呯┖
-    empty() {
-      this.$emit("emptyProductClick")
-    },
-    // 娓呴櫎宸查�夋嫨鐢ㄦ埛
-    clearupClient(scope) {
-      this.productIndex = scope.$index
-      this.tableList.tableData.map((ite, index) => {
-        if (index === this.productIndex) {
-          ite.productName = ""
-          ite.id = ""
-          ite.name = ""
-          ite.amount = 1
-          ite.number = ""
-          ite.model = ""
-          ite.specs = ""
-          ite.unit = ""
-          ite.deliveryTime = 0
-          ite.shippingDuration = 0
+            // 搴撳瓨璋冩暣鑾峰彇浣嶇疆鍜屼骇鍝�
+            async getRuleList() {
+                await getRuleList({
+                    locationId: 0,
+                    productId: ""
+                }).then((res) => {
+                    if (res.code === 200) {
+                        const list = res.data ? res.data : []
+                        this.selLocationOptions = list.locationList
+                        this.selSonLocationOptions = list.locationList
+                        this.productNameOptions = list.productList
+                    }
+                })
+            },
+            // 鑾峰彇浜у搧绫诲瀷鍒楄〃
+            async getProductCategoryList() {
+                await getProductCategoryList({
+                    categoryId: 0,
+                    keyWord: "",
+                    page: 1,
+                    pageSize: 15
+                }).then((res) => {
+                    if (res.code === 200) {
+                        const list = res.data ? res.data : []
+                        this.productTypeNameOptions = list
+                    }
+                })
+            },
+
+            // 浣嶇疆
+            async getLocationList() {
+                this.locacionName = ""
+                await getLocationList({
+                    // keyword: "",
+                    type: 3,
+                    jointName: this.initialPosition ? this.initialPosition : null,
+                    productId: this.queryProductId ? this.queryProductId : null,
+                    productCategoryId: this.categoryId ? this.categoryId : null,
+                    page: 1,
+                    pageSize: 100
+                }).then((res) => {
+                    if (res.code === 200) {
+                        const list = res.data ? res.data : []
+                        this.selLocationOptions = list
+                        this.selSonLocationOptions = list
+                        if (this.isReorder) {
+                            this.locacionName = list[0]?.name
+                            this.locacionId = list[0]?.id
+                            this.$emit("selLocationClick", list[0], "locacionName")
+                        }
+                    }
+                })
+            },
+            // 浜у搧鍒拌揪浣嶇疆
+            async getToLocationList() {
+                await getLocationList({
+                    // keyword: "",
+                    type: 3,
+                    page: 1,
+                    pageSize: 100
+                }).then((res) => {
+                    if (res.code === 200) {
+                        const list = res.data ? res.data : []
+                        this.selToLocationOptions = list
+                        this.selSonLocationOptions = list
+                        if (this.isReorder) {
+                            this.locacionName = list[0]?.name
+                            this.locacionId = list[0]?.id
+                            this.$emit("selLocationClick", list[0], "locacionName")
+                        }
+                    }
+                })
+            },
+            // 璁剧疆瀛愪綅缃�/婧愪綅缃�
+            async setLocationList(jointName, tag) {
+                if (tag === "fromLocation") {
+                    /*await getLocationList({
+                        warehouseId: jointName,
+                        page: 1,
+                        pageSize: 100
+                    }).then((res) => {
+                        if (res.code === 200) {
+                            this.selSonLocationOptions = res.data;
+                        }
+                    })*/
+                    this.selSonLocationOptions = jointName;
+                } else if (tag === "toLocation") {
+                    /*await getLocationList({
+                        page: 1,
+                        pageSize: 100
+                    }).then((res) => {
+                        if (res.code === 200) {
+                            this.selToLocationOptions = res.data
+                        }
+                    })*/
+                    this.selToLocationOptions = jointName;
+                } else {
+                    /*await getLocationList({
+                        warehouseId: jointName,
+                        page: 1,
+                        pageSize: 100
+                    }).then((res) => {
+                        if (res.code === 200) {
+                            this.selSonLocationOptions = res.data;
+                        }
+                    })*/
+                    this.selSonLocationOptions = jointName;
+                }
+            },
+            // 鑾峰彇鍏徃鍒楄〃
+            async getCompanyList() {
+                await getCompanyList().then((res) => {
+                    if (res.code === 200) {
+                        this.companyOptions = res.data
+                    }
+                })
+            },
+            selProductNameClick(item) {
+                this.productIndex = this.tableList.tableData.length - 1
+                this.tableList.tableData.map((ite, index) => {
+                    if (index === this.productIndex) {
+                        ite.productId = item.id
+                        ite.productName = item.name
+                        ite.amount = item.amount
+                        ite.unit = item.unit
+                    }
+                })
+            },
+            // 閫夋嫨浜у搧
+            selProductClick(item, row) {
+                console.log("閫夋嫨浜у搧", row, item)
+                if (this.isReorder) {
+                    this.productId = item.id
+                    this.productName = item.name
+                    this.getAmountAndPrediction(item, "product", row)
+                } else {
+                    let selIndex = 0
+                    this.tableList.tableData.map((ite, index) => {
+                        // ite.id 鏄笂鏋惰鍒欑殑, ite.productId鏄簱瀛樿皟鏁寸殑
+                        if (ite.id === row.id && ite.id != undefined && row.id != undefined) {
+                            selIndex = index
+                            ite.productId = item.id
+                            ite.productName = item.name
+                            ite.categoryId = item.categoryId
+                            ite.productCategory = item.categoryName
+                            ite.amount = item.amount
+                            ite.unit = item.unit
+                        } else if (ite.productId === row.productId) {
+                            selIndex = index
+                            ite.productId = item.id
+                            ite.productName = item.name
+                            ite.categoryId = item.categoryId
+                            ite.productCategory = item.categoryName
+                            // ite.amount = item.amount
+                            ite.unit = item.unit
+                        }
+                    })
+                    this.$emit("selProductClick", "product", this.tableList.tableData[selIndex])
+                }
+                if (this.isinventory) {
+                    getRuleList({
+                        locationId: 0,
+                        productId: item.value
+                    }).then((res) => {
+                        if (res.code === 200) {
+                            const list = res.data ? res.data : []
+                            this.selLocationOptions = list.locationList
+                            this.selSonLocationOptions = list.locationList
+                        }
+                    })
+                }
+
+                // this.$emit("selProductClick", item)
+            },
+            // 閫夋嫨浜у搧绫诲瀷
+            selProductTypeClick(item) {
+                this.tableList.tableData.map((ite) => {
+                    if (ite.productCategory.label === item.label) {
+                        ite.productCategoryId = item.value
+                        ite.productCategory = item.label
+                    }
+                })
+                if (this.isinventory) {
+                    this.getProductCategoryList()
+                }
+                // this.$emit("selProductTypeClick", item)
+            },
+            // 浜у搧绫诲瀷鑾峰彇鐒︾偣
+            productTypeFocus() {
+                getProductCategoryList({
+                    categoryId: 0,
+                    keyWord: "",
+                    page: 1,
+                    pageSize: 15
+                }).then((res) => {
+                    if (res.code === 200) {
+                        const list = res.data ? res.data : []
+                        this.productTypeNameOptions = list
+                    }
+                })
+            },
+            // 閫夋嫨浣嶇疆
+            selLocationClick(item, prop, row,index) {
+                console.log("浣嶇疆閫夋嫨1", item,prop ,row);
+                if (prop === "areaName") {
+                    getLocationList({
+                        jointName: item.label,
+                        page: 1,
+                        pageSize: 100
+                    }).then((res) => {
+                        if (res.code === 200) {
+                            const list = res.data ? res.data : []
+                            this.selSonLocationOptions = list
+                        }
+                    })
+                } else if (prop === 'locationName') {
+                    console.log("locationName")
+                }
+                if (this.isReorder) {
+                    this.locacionId = item.value
+                    this.productId = row.productId
+                    if (this.productId.length !== 0) {
+                        this.getAmountAndPrediction(row, "location", item)
+                    }
+                }
+                if (this.isinventory) {
+                    getRuleList({
+                        locationId: item.value,
+                        productId: ""
+                    }).then((res) => {
+                        if (res.code === 200) {
+                            const list = res.data ? res.data : []
+                            this.productNameOptions = list.productList
+                        }
+                    })
+                }
+                this.$emit("selLocationClick", item, prop,index);
+            },
+            // 閫夋嫨瀛愪綅缃�
+            selSonLocationClick(item, prop, row, scope) {
+                this.$emit("selSonLocationClick", item, prop, row, scope)
+            },
+            // 鑾峰彇鍦ㄥ簱涓庨娴嬫暟閲�
+            getAmountAndPrediction(item, val, ite) {
+                let selIndex = 0;
+                getAmountAndPrediction({
+                    locationId: val === "product" ? this.locacionId : ite.value,
+                    productId: val === "product" ? item.id : this.productId
+                }).then((res) => {
+                    if (res.code === 200) {
+                        this.tableList.tableData.map((ite, index) => {
+                            if (val === "product") {
+                                if (index === 0) {
+                                    selIndex = index
+                                    ite.amount = res.data.amount
+                                    ite.prediction = res.data.prediction
+                                    ite.productId = item.id
+                                    ite.productName = item.name
+                                    ite.unit = item.unit
+                                }
+                            } else {
+                                if (ite.id === item.id) {
+                                    selIndex = index
+                                    ite.amount = res.data.amount
+                                    ite.prediction = res.data.prediction
+                                }
+                            }
+                        })
+                        this.$emit("selProductClick", this.tableList.tableData[selIndex])
+                    }
+                })
+            },
+            // 閫夋嫨璺嚎
+            selRouteClick(item, prop) {
+                this.$emit("selRouteClick", item, prop)
+            },
+            // 閫夋嫨鍗曚綅/鐢ㄦ埛
+            selCommonClick(item) {
+                console.log(item)
+            },
+            handleReserve(row) {
+                return row._id ? row._id : row.id
+            },
+            handleSelectionChange(val) {
+                this.productIndex = this.tableList.tableData.length;
+                this.$emit("getSelectArray", val)
+            },
+
+            // 鏁板瓧鎹㈣涓洪噾棰濇樉绀烘牸寮�
+            number_format(number, decimals, dec_point, thousands_sep) {
+                decimals = 2 //杩欓噷榛樿璁剧疆淇濈暀涓や綅灏忔暟锛屼篃鍙互娉ㄩ噴杩欏彞閲囩敤浼犲叆鐨勫弬鏁�
+                /*
+                 * 鍙傛暟璇存槑锛�
+                 * number锛氳鏍煎紡鍖栫殑鏁板瓧
+                 * decimals锛氫繚鐣欏嚑浣嶅皬鏁�
+                 * dec_point锛氬皬鏁扮偣绗﹀彿
+                 * thousands_sep锛氬崈鍒嗕綅绗﹀彿
+                 * */
+                number = (number + "").replace(/[^0-9+-Ee.]/g, "")
+                var n = !isFinite(+number) ? 0 : +number,
+                    prec = !isFinite(+decimals) ? 0 : Math.abs(decimals),
+                    sep = typeof thousands_sep === "undefined" ? "," : thousands_sep,
+                    dec = typeof dec_point === "undefined" ? "." : dec_point
+                var s = n.toString().split(".")
+                var re = /(-?\d+)(\d{3})/
+                while (re.test(s[0])) {
+                    s[0] = s[0].replace(re, "$1" + sep + "$2")
+                }
+                if ((s[1] || "").length < prec) {
+                    s[1] = s[1] || ""
+                    s[1] += new Array(prec - s[1].length + 1).join("0")
+                } else {
+                    s[1] = s[1].substring(0, prec) //灏忔暟鐐逛綅鏁拌秴鍑洪暱搴︽椂鎴彇鍓嶉潰鐨勪綅鏁�
+                }
+                return s.join(dec)
+            },
+            // 鏂板
+            add() {
+                if(this.warehouseId||this.$route.query.workType){
+                    if(this.$route.query.workType==3&&!this.warehouseId){
+                        this.$message.warning('璇峰厛閫夋嫨璋冩嫧鍦板潃');
+                        return ;
+                    }
+                    if (this.addTypeIdMultiple) {
+                        this.productIndex = this.tableList.tableData.length
+                        this.editSelCommonConfig.title = "浜у搧鍚嶇О"
+                        this.editSelCommonConfig.isSelectBox = true
+                        this.editSelCommonConfig.editVisible = true
+                    } else {
+                        this.$emit("addProductClick")
+                    }
+                }else{
+                    this.$message.warning('璇峰厛閫夋嫨浠撳簱')
+                }
+            },
+            commonInputChange(val, prop, row) {
+                this.$emit("inputContent", val, prop, row)
+            },
+            // 娓呯┖
+            empty() {
+                this.$emit("emptyProductClick")
+            },
+            // 娓呴櫎宸查�夋嫨鐢ㄦ埛
+            clearupClient(scope) {
+                this.productIndex = scope.$index;
+                this.tableList.tableData.map((ite, index) => {
+                    if (index === this.productIndex) {
+                        ite.productName = ""
+                        ite.id = ""
+                        ite.name = ""
+                        ite.amount = 1
+                        ite.number = ""
+                        ite.model = ""
+                        ite.specs = ""
+                        ite.unit = ""
+                        ite.deliveryTime = 0
+                        ite.shippingDuration = 0
+                    }
+                })
+                this.$emit("clearupProduct", this.tableList.tableData)
+            },
+            deleteClient(row, scope) {
+                if (this.tableList.tableData.length == 1) {
+                    this.$message.error("鑷冲皯淇濈暀涓�鏉★紝涓嶈兘鍒櫎浜嗭紒")
+                    return true
+                }
+                this.tableList.tableData.splice(scope.$index, 1)
+            },
+            // 琛岀偣鍑�
+            tableRowClick(row) {
+                if (this.isReorder) {
+                    this.locacionName = row.location.name
+                }
+                this.$emit("tableRowClick", row, row.index)
+            },
+            // 鍗曢�夎鐩稿叧
+            tableRowClassName({row, rowIndex}) {
+                row.index = rowIndex
+            },
+            setFormItem(val) {
+                console.log(val)
+            },
+            commoInput() {
+            },
+            selClient(item) {
+                let list = this.tableList.tableData.map((item) => item.id)
+                if (list.findIndex((v) => v == item.id) == -1) {
+                    this.isRecalculate = true
+                    // this.editConfig.infomation.client_name = row.name
+                    this.tableList.tableData.map((ite, index) => {
+                        if (index === this.productIndex) {
+                            ite.productName = item.name
+                            ite.productId = item.id
+                            ite.name = item.name
+                            ite.amount = 1
+                            ite.number = item.id
+                            ite.specs = item.specs
+                            ite.model = item.model
+                            // ite.price = item.price
+                            // ite.total = item.amount ? item.amount * item.price : 1 * item.price
+                            ite.unit = item.unit
+                        }
+                    })
+                } else {
+                    this.$message.error("涓嶈兘閫夋嫨閲嶅鐨勪骇鍝侊紝 璇烽噸鏂伴�夋嫨")
+                }
+            },
+            getSelectArray(val) {
+                this.$emit("getSelectArray", val, this.productIndex)
+            }
         }
-      })
-      this.$emit("clearupProduct", this.tableList.tableData)
-    },
-    deleteClient(row, scope) {
-      if (this.tableList.tableData.length == 1) {
-        this.$message.error("鑷冲皯淇濈暀涓�鏉★紝涓嶈兘鍒櫎浜嗭紒")
-        return true
-      }
-      this.tableList.tableData.splice(scope.$index, 1)
-    },
-    // 琛岀偣鍑�
-    tableRowClick(row) {
-      if (this.isReorder) {
-        this.locacionName = row.location.name
-      }
-      this.$emit("tableRowClick", row, row.index)
-    },
-    // 鍗曢�夎鐩稿叧
-    tableRowClassName({ row, rowIndex }) {
-      row.index = rowIndex
-    },
-    setFormItem(val) {
-      console.log(val)
-    },
-    commoInput() {},
-    selClient(item) {
-      let list = this.tableList.tableData.map((item) => item.id)
-      if (list.findIndex((v) => v == item.id) == -1) {
-        this.isRecalculate = true
-        // this.editConfig.infomation.client_name = row.name
-        this.tableList.tableData.map((ite, index) => {
-          if (index === this.productIndex) {
-            ite.productName = item.name
-            ite.productId = item.id
-            ite.name = item.name
-            ite.amount = 1
-            ite.number = item.id
-            ite.specs = item.specs
-            ite.model = item.model
-            // ite.price = item.price
-            // ite.total = item.amount ? item.amount * item.price : 1 * item.price
-            ite.unit = item.unit
-          }
-        })
-      } else {
-        this.$message.error("涓嶈兘閫夋嫨閲嶅鐨勪骇鍝侊紝 璇烽噸鏂伴�夋嫨")
-      }
-    },
-    getSelectArray(val) {
-      this.$emit("getSelectArray", val, this.productIndex)
     }
-  }
-}
 </script>
 
 <!-- Add "scoped" attribute to limit CSS to this component only -->
 <style lang="scss" scoped>
-.setHeight {
-  height: 100%;
-}
-.page-view {
-  min-width: 100px;
-
-  .el-form-item {
-    margin-bottom: 0;
-    .custom-name {
-      display: flex;
-      justify-content: center;
-      font-size: 12px;
-      line-height: 17px;
-      font-family: PingFangSC;
-      .common-select-btn {
-        margin-left: 5px;
-        font-size: 13px;
+    .scan-code {
         cursor: pointer;
-      }
+        margin-left: 10px;
+        img, span {
+            position: relative;
+        }
+        img {
+            top: 5px;
+        }
+        span: {
+            top: -10px;
+        }
     }
-  }
-}
-::v-deep {
-  .el-autocomplete {
-    height: 28px;
-    .el-input {
-      height: 28px;
-      .el-input__inner {
-        height: 28px;
-      }
-    }
-  }
-  .el-form-item__label {
-    display: none;
-  }
-  .el-form-item__content {
-    // height: 28px; /* 璁剧疆楂樺害 */
-    line-height: 22px; /* 璁剧疆琛岄珮 */
-  }
-  .el-table__footer-wrapper tbody td.el-table__cell {
-    background-color: #fff;
-    // text-align: right;
-    font-weight: bold;
-  }
-  .el-table .cell,
-  .el-table th.el-table__cell > .cell {
-    padding: 0 5px;
-  }
-  // .el-input__inner {
-  //   text-align: left;
-  // }
-}
 
-::v-deep .el-table .cell {
-  font-size: 12px;
-  line-height: 17px;
-  font-family: PingFangSC;
-  color: rgba(0, 0, 0, 0.9);
-  .el-button--text {
-    width: auto;
-    height: auto;
-    font-family: PingFangSC-Medium, sans-serif;
-  }
-}
-::v-deep .el-table .el-table__cell {
-  padding: 6px 0 !important;
-  height: 35px;
-  text-align: center;
-}
-::v-deep .el-table__body-wrapper {
-  height: unset !important;
-}
+    .setHeight {
+        height: 100%;
+    }
+
+    .page-view {
+        min-width: 100px;
+
+        .el-form-item {
+            margin-bottom: 0;
+            .custom-name {
+                display: flex;
+                justify-content: center;
+                font-size: 12px;
+                line-height: 17px;
+                font-family: PingFangSC;
+                .common-select-btn {
+                    margin-left: 5px;
+                    font-size: 13px;
+                    cursor: pointer;
+                }
+            }
+        }
+    }
+
+    ::v-deep {
+        .el-autocomplete {
+            height: 28px;
+            .el-input {
+                height: 28px;
+                .el-input__inner {
+                    height: 28px;
+                }
+            }
+        }
+        .el-form-item__label {
+            display: none;
+        }
+        .el-form-item__content {
+            // height: 28px; /* 璁剧疆楂樺害 */
+            line-height: 22px; /* 璁剧疆琛岄珮 */
+        }
+        .el-table__footer-wrapper tbody td.el-table__cell {
+            background-color: #fff;
+            // text-align: right;
+            font-weight: bold;
+        }
+        .el-table .cell,
+        .el-table th.el-table__cell > .cell {
+            padding: 0 5px;
+        }
+        // .el-input__inner {
+        //   text-align: left;
+        // }
+    }
+
+    ::v-deep .el-table .cell {
+        font-size: 12px;
+        line-height: 17px;
+        font-family: PingFangSC;
+        color: rgba(0, 0, 0, 0.9);
+        .el-button--text {
+            width: auto;
+            height: auto;
+            font-family: PingFangSC-Medium, sans-serif;
+        }
+    }
+
+    ::v-deep .el-table .el-table__cell {
+        padding: 6px 0 !important;
+        height: 35px;
+        text-align: center;
+    }
+
+    ::v-deep .el-table__body-wrapper {
+        height: unset !important;
+    }
 </style>

--
Gitblit v1.8.0