| 
					
				 | 
			
			
				@@ -16,10 +16,12 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         flat 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         bordered 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          <template v-slot:header-cell="props"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <template v-slot:header-cell="props"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           <q-th :props="props" @dblclick="handleHeaderDblClick(props.col)"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             <!-- 为特定列添加下拉选择器 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <template v-if="['bound_department'].includes(props.col.name)"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <template 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              v-if="['check_status', 'log_type'].includes(props.col.name)" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               <q-select 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 dense 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 outlined 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -59,107 +61,195 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           <q-space /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           <div class="flex items-center"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <q-btn-group push class="q-ml-md"> </q-btn-group> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <div class="q-mr-md">{{ $t("download_center.createTime") }}</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             <q-input 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              readonly 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               outlined 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              rounded 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               dense 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              debounce="300" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              color="primary" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              v-model="filter" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              :placeholder="$t('search')" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              @input="getSearchList()" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              @keyup.enter="getSearchList()" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              v-model="createDate2" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              :placeholder="interval" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               <template v-slot:append> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                <q-icon name="search" @click="getSearchList()" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <q-icon name="event" class="cursor-pointer"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  <q-popup-proxy 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ref="qDateProxy" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    transition-show="scale" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    transition-hide="scale" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <q-date v-model="createDate1" range> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      <div class="row items-center justify-end q-gutter-sm"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        <q-btn 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                          :label="$t('index.cancel')" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                          color="primary" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                          flat 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                          v-close-popup 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        <q-btn 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                          :label="$t('index.clear')" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                          color="primary" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                          @click=" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            createDate2 = ''; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            createDate1 = ''; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                          " 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                          v-close-popup 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    </q-date> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  </q-popup-proxy> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                </q-icon> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             </q-input> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <q-btn-group push class="q-ml-md"> </q-btn-group> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         <template v-slot:body="props"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          <q-tr :props="props"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <q-tr :props="props" :style="getRowStyle(props.row)"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             <q-td auto-width> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               <q-btn 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 size="sm" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 round 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                :icon="props.row.expand ? 'remove' : 'ballot'" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                :icon="props.row.expand ? 'unfold_less' : 'expand'" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 @click="handle_row_expand(props.row)" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <q-tooltip 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  content-class="bg-amber text-black shadow-4" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  :offset="[10, 10]" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  content-style="font-size: 12px" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  {{ "查看流水下的托盘日志" }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                </q-tooltip> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              </q-btn> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             </q-td> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             <q-td 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               v-for="col in columns.filter((c) => c.name !== 'expand')" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               :key="col.name" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               :props="props" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              {{ col.field ? props.row[col.field] : props.row[col.name] }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <span v-if="col.name === 'check_status'"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                {{ checkStatusToText(props.row[col.field]) }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              </span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <span v-else-if="col.name === 'goods_qty'"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                {{ props.row.goods_in_qty - props.row.goods_out_qty }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              </span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <span v-else-if="col.name === 'log_type'"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                {{ logtypeToText(props.row[col.field]) }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              </span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <span 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                v-else-if=" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  ['check_status', 'goods_qty'].indexOf(col.name) === -1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                " 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                {{ col.field ? props.row[col.field] : props.row[col.name] }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              </span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             </q-td> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           </q-tr> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           <!-- 第二级:时间轴 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          <q-tr v-show="props.row.expand" :props="props" class="expanded-row"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <q-td colspan="100%"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              <div class="q-pa-md timeline-wrapper"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                <q-timeline 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  color="#e0e0e0" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  v-if="props.row.batch_items?.length" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  <q-timeline-entry 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    v-for="(batch_item, index) in props.row.batch_items" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    :key="index" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    class="custom-node" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <q-tr 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            v-show="props.row.expand" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            :props="props" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            class="expanded-row" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            :style="getRowStyle(props.row)" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <q-td colspan="100%"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <div class="q-pa-md timeline-wrapper"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  <q-timeline 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    color="#e0e0e0" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    v-if="props.row.containers?.length" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    <template v-slot:title> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      <span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        <div>批次 {{ batch_item.bound_number }}</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        <div class="row"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                          <div class="col"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            <div class="custom-title"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                              {{ batch_item.goods_desc }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                          </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                          <div class="col"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            <div class="custom-title"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                              计划数量:{{ batch_item.goods_qty }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <q-timeline-entry 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      v-for="(container, index) in props.row.containers" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      :key="index" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      class="custom-node" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      <template v-slot:title> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        <span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                          <div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            托盘 {{ container.container_code }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            <span class="text-caption"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                              操作时间:{{ container.create_time }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            </span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                           </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        </span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      <template v-slot:subtitle> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        <div class="text-caption"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                          批次: {{ container.batch }} | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                          物料编码: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                          {{ container.goods_code }} |{{ container.goods_desc }} | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                          <br> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                          批次计划入库数: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                          {{ container.batch_goods_qty }} | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                          批次总组盘数: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                          {{ container.batch_goods_in_qty }} | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                          批次总出库数: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                          {{ container.batch_goods_out_qty }} | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                          在库数量: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                          {{ container.batch_goods_in_location_qty }} | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                          <div class="col"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            <div class="custom-title"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                              入库数量:{{ batch_item.goods_in_qty }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      <div class="timeline-content"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        <div class="row"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                          <div class="col-6"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            <div class="text-caption"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                              操作类型: {{ logtypeToText(container.log_type) }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                          </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                          <div class="col"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            <div class="custom-title"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                              实际在库数量:{{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                batch_item.goods_in_location_qty 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                              }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            <div class="text-caption"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                              操作人: {{ container.creater }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                           </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                          <div class="col"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            <div class="custom-title"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                              预定/已出库数量:{{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                batch_item.goods_out_qty 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                              }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                          <div class="col-6"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            数量变化:<br /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            <span v-if="container.log_type === 'delete'"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                              {{ container.old_goods_qty }} → 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                              {{ container.new_goods_qty }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            </span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            <span v-else-if="container.log_type === 'out'"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                              出库数量:{{ container.old_goods_out_qty }} → 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                              {{ container.new_goods_out_qty }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            </span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            <span v-else-if="container.log_type === 'create'"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                              入库数量:{{ container.old_goods_qty }} → 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                              {{ container.new_goods_in_qty }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            </span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            <span v-else-if="container.log_type === 'update'"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                              入库数量:{{ container.old_goods_qty }} → 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                              {{ container.new_goods_qty }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                              <br /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                              出库数量:{{ container.old_goods_out_qty }} → 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                              {{ container.new_goods_out_qty }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            </span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            <!-- <div class="text-caption"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                              状态: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                              <span v-if="container.old_status !== null"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                {{ getStatusText(container.old_status) }} → 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                {{ getStatusText(container.new_status) }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                              </span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            </div> --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                           </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      </span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  </q-timeline-entry> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                </q-timeline> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                <div v-else-if="props.row.loading" class="text-center q-pa-md"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  <q-spinner color="primary" size="2em" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  <div class="q-mt-sm">正在加载信息...</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    </q-timeline-entry> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  </q-timeline> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  <div v-else class="text-caption text-grey"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    暂无容器操作记录 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            </q-td> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              </q-td> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           </q-tr> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       </q-table> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     </transition> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     <template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       <div v-show="max !== 0" class="q-pa-lg flex flex-center"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         <div>{{ total }}</div> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -192,12 +282,15 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 <router-view /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 <script> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import { getauth, postauth, putauth, deleteauth } from 'boot/axios_request' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import { filter } from 'jszip' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { getauth, putauth } from 'boot/axios_request' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import { date, LocalStorage } from 'quasar' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import containercard from 'components/containercard.vue' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   name: 'PageTask', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  components: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    containercard 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   data () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     return { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       createDate1: '', 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -211,13 +304,14 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       login_name: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       authin: '0', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       searchUrl: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      pathname: 'bound/batch/count/', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      pathname: 'container/batchdetaillog/', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       pathname_previous: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       pathname_next: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       separator: 'cell', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       loading: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       height: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       viewForm: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      editDialog: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       table_list: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       columns: [ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -228,6 +322,32 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           headerStyle: 'width: 50px' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          name: 'create_time', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          label: '操作时间', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          field: 'create_time', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          align: 'center', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          headerStyle: 'width: 40px' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          name: 'log_type', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          label: '操作类型', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          field: 'log_type', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          align: 'center', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          headerStyle: 'width: 20px' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          name: 'bound_code', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          label: '单据编号', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          align: 'center', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          field: 'bound_code' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          name: 'batch_code', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          label: '批号', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          align: 'center', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          field: 'batch_code' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           name: 'goods_code', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           label: '存货编码', 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -242,18 +362,24 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          name: 'total_quantity', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          label: '在库数目', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          field: 'total_quantity', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          name: 'goods_qty', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          label: '数目', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           align: 'center' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           name: 'goods_unit', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           label: '单位', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           field: 'goods_unit', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           align: 'center', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           headerStyle: 'width: 20px' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          name: 'check_status', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          label: '质检状态', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          field: 'check_status', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          align: 'center', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          headerStyle: 'width: 20px' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       filter: '', 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -267,12 +393,31 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       paginationIpt: 1, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       containers: {}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       timer: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            filterModels: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      showInventoryDetails: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      select_container_number: 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      select_container_code: 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      filterModels: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         bound_department: null 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      editForm: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        id: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        bound_number: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        goods_code: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        goods_desc: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        goods_qty: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        goods_unit: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        goods_package: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        goods_in_qty: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        goods_out_qty: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        goods_std: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        check_status: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        check_user: '默认质检人', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        create_time: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        note: '无' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       activeSearchField: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       activeSearchLabel: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      filterdata: {}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      filterdata: {} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   computed: { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -285,7 +430,82 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   methods: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-       // 处理过滤变化 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    handleEditRow (row) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.editForm = { ...row } // 复制当前行的数据到表单 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.editForm.note = this.editForm.note || '无' // 防止note为空 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.editForm.check_user = this.editForm.check_user || '默认质检人' // 防止check_user为空 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      console.log(this.editForm) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.editDialog = true // 打开对话框 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    saveEditRow () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const _this = this 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      putauth(`bound/batch/${_this.editForm.id}/`, _this.editForm) // 假设修改API是这样的 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        .then((res) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          _this.editDialog = false // 关闭对话框 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          if (res.status_code !== 400) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            _this.$q.notify({ message: '修改成功', color: 'positive' }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            _this.getSearchList() // 刷新列表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // 错误信息的键值映射到中文字段名称 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            const errorFieldMap = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              note: '备注', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              check_user: '质检人' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // 遍历 res 对象的属性,查找错误信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            let errorMessage = '修改失败' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            for (const key in res) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              if (Array.isArray(res[key]) && res[key].length > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                const fieldLabel = errorFieldMap[key] || key 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                errorMessage = `${fieldLabel}: ${res[key].join(' ')}` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                break 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            console.error('修改失败', errorMessage) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            _this.$q.notify({ message: errorMessage, color: 'negative' }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        .catch((error) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          console.error('修改失败', error) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          _this.$q.notify({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            message: '发生未知错误,请联系管理员', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            color: 'negative' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    checkStatusToText (check_status) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const statusTexts = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        0: '待质检', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        1: '质检合格', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        2: '质检问题' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return statusTexts[check_status] || '未知状态' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    logtypeToText (log) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const logtypeTexts = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        create: '批次入库', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        out: '批次出库', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        delete: '批次删除', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        update: '批次更新' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return logtypeTexts[log] || '未知状态' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    getRowStyle (row) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // 根据check_status值返回不同的背景色 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const statusColors = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        0: '#fff9c4', // 更浅的黄色 - 待质检 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        1: '#c8e6c9', // 更浅的绿色 - 质检合格 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        2: '#ffcdd2' // 更浅的红色 - 质检问题 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const color = statusColors[row.check_status] || '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return color ? { backgroundColor: color } : {} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // 处理过滤变化 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     handleFilterChange () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       this.pagination.page = 1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       this.getSearchList(1) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -302,15 +522,40 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           ] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         case 'bound_status': 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           return [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            { label: '待审核', value: 0 }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            { label: '确认无误', value: 1 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            { label: '待质检', value: 0 }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            { label: '质检合格', value: 1 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           ] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         case 'bound_department': 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           return this.bound_department_list 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        case 'check_status': 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          return [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            { label: '待质检', value: 0 }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            { label: '质检合格', value: 1 }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            { label: '质检问题', value: 2 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          ] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        case 'log_type': 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          return [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            { label: '批次入库', value: 'create' }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            { label: '批次出库', value: 'out' }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            { label: '批次删除', value: 'delete' }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            { label: '批次更新', value: 'update' } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          ] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         default: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           return [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    getStatusText (status) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const statusMap = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        0: '待入库', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        1: '在库', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        2: '待出库', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        3: '已出库', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        4: '异常' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return statusMap[status] || '未知状态' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     handleHeaderDblClick (column) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       // 排除不需要搜索的列 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       if (['detail', 'action'].includes(column.name)) return 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -389,12 +634,12 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           icon: 'search', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           color: 'positive' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 重置激活的搜索字段 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         this.activeSearchField = '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         this.activeSearchLabel = '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     class_to_name (class_id) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       const class_map = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         1: '整盘', 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -409,10 +654,12 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       if (row.expand) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 添加行级 loading 状态 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         _this.$set(row, 'loading', true) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        getauth('bound/batch/count/' + row.id + '/', {}) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        getauth('container/batchdetaillog/containerlog/?batchlog_id=' + row.id) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           .then((res) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            _this.$set(row, 'batch_items', res.batch_items) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            console.log('当前的', row.batch_items) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // 将数据存储到当前行的 containers 属性 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            _this.$set(row, 'containers', res) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            console.log('当前的', row.containers) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           .catch((err) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             _this.$q.notify({ message: err.detail, color: 'negative' }) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -453,7 +700,15 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           _this.table_list = res.results.map((item) => ({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             ...item, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             expand: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            batch_items: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            containers: [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              // { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              //   id: 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              //   container_code: 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              //   current_location: '0', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              //   goods_qty: 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              //   class: 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              // } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             loading: false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           })) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           _this.total = res.count 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -485,7 +740,8 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       this.getSearchList(this.current) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        getSearchList (page = 1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // 修改搜索方法以包含过滤条件 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    getSearchList (page = 1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       this.current = page 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       this.paginationIpt = page 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -499,9 +755,9 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       this.getList({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         number__icontains: this.filter, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        document_date__range: this.date_range, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        ...filterParams ,// 添加过滤条件 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        ...this.filterdata, // 添加其他过滤条件 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        create_time__range: this.date_range, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ...filterParams, // 添加过滤条件 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ...this.filterdata // 添加其他过滤条件 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -603,22 +859,22 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           this.createDate2 = `${val.from} - ${val.to}` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           this.date_range = `${val.from},${val.to} ` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          // this.downloadhUrl = this.pathname + 'filelist/?' + 'document_date__range=' + this.date_range 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          // this.downloadhUrl = this.pathname + 'filelist/?' + 'create_time__range=' + this.date_range 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           this.createDate2 = `${val}` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           this.dateArray = val.split('/') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           this.searchUrl = 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             this.pathname + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             '?' + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            'document_date__year=' + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            'create_time__year=' + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             this.dateArray[0] + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             '&' + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            'document_date__month=' + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            'create_time__month=' + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             this.dateArray[1] + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             '&' + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            'document_date__day=' + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            'create_time__day=' + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             this.dateArray[2] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          // this.downloadhUrl = this.pathname + 'filelist/?' + 'document_date__year=' + this.dateArray[0] + '&' + 'document_date__month=' + this.dateArray[1] + '&' + 'document_date__day=' + this.dateArray[2] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          // this.downloadhUrl = this.pathname + 'filelist/?' + 'create_time__year=' + this.dateArray[0] + '&' + 'create_time__month=' + this.dateArray[1] + '&' + 'create_time__day=' + this.dateArray[2] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         this.date_range = this.date_range.replace(/\//g, '-') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 |