From 3d2b83ca4e1bc6e7b8bb6c6b24ba2d3507884d2a Mon Sep 17 00:00:00 2001
From: huminmin <mac@MacBook-Pro.local>
Date: 星期二, 27 一月 2026 17:14:37 +0800
Subject: [PATCH] 迁移库存解冻/冻结

---
 src/views/inventoryManagement/stockReport/index.vue |  364 ++++++++++++++++++++++++++--------------------------
 1 files changed, 182 insertions(+), 182 deletions(-)

diff --git a/src/views/inventoryManagement/stockReport/index.vue b/src/views/inventoryManagement/stockReport/index.vue
index 1879ea6..a0a1f67 100644
--- a/src/views/inventoryManagement/stockReport/index.vue
+++ b/src/views/inventoryManagement/stockReport/index.vue
@@ -14,17 +14,17 @@
           <el-option label="鏈堟姤" value="monthly" />
           <el-option label="杩涘嚭瀛樻姤琛�" value="inout" />
         </el-select>
-
+        
         <span class="search_title ml10">鏃堕棿鑼冨洿锛�</span>
-        <el-date-picker
-          v-if="searchForm.reportType === 'daily'"
-          v-model="searchForm.singleDate"
-          type="date"
-          placeholder="璇烽�夋嫨鏃ユ湡"
-          format="YYYY-MM-DD"
-          value-format="YYYY-MM-DD"
-          style="width: 200px;"
-        />
+         <el-date-picker
+           v-if="searchForm.reportType === 'daily'"
+           v-model="searchForm.singleDate"
+           type="date"
+           placeholder="璇烽�夋嫨鏃ユ湡"
+           format="YYYY-MM-DD"
+           value-format="YYYY-MM-DD"
+           style="width: 200px;"
+         />
         <el-date-picker
           v-else-if="searchForm.reportType === 'monthly'"
           v-model="searchForm.monthRange"
@@ -47,7 +47,7 @@
           value-format="YYYY-MM-DD"
           style="width: 240px;"
         />
-
+        
         <el-button type="primary" @click="handleQuery" style="margin-left: 10px">
           鏌ヨ
         </el-button>
@@ -55,91 +55,91 @@
       </div>
 
       <div class="search_right">
-        <!--        <el-button type="success" @click="handleExport" icon="Download">-->
-        <!--          瀵煎嚭鎶ヨ〃-->
-        <!--        </el-button>-->
+<!--        <el-button type="success" @click="handleExport" icon="Download">-->
+<!--          瀵煎嚭鎶ヨ〃-->
+<!--        </el-button>-->
       </div>
     </div>
 
-    <!--    &lt;!&ndash; 缁熻鍗$墖 &ndash;&gt;-->
-    <!--    <div class="stats_cards" v-if="reportData.summary">-->
-    <!--      <el-row :gutter="20">-->
-    <!--        <el-col :span="6">-->
-    <!--          <el-card class="stats_card">-->
-    <!--            <div class="stats_content">-->
-    <!--              <div class="stats_icon in">-->
-    <!--                <el-icon><TrendCharts /></el-icon>-->
-    <!--              </div>-->
-    <!--              <div class="stats_info">-->
-    <!--                <div class="stats_value">{{ reportData.summary.totalIn || 0 }}</div>-->
-    <!--                <div class="stats_label">鎬诲叆搴撻噺</div>-->
-    <!--              </div>-->
-    <!--            </div>-->
-    <!--          </el-card>-->
-    <!--        </el-col>-->
-    <!--        <el-col :span="6">-->
-    <!--          <el-card class="stats_card">-->
-    <!--            <div class="stats_content">-->
-    <!--              <div class="stats_icon out">-->
-    <!--                <el-icon><TrendCharts /></el-icon>-->
-    <!--              </div>-->
-    <!--              <div class="stats_info">-->
-    <!--                <div class="stats_value">{{ reportData.summary.totalOut || 0 }}</div>-->
-    <!--                <div class="stats_label">鎬诲嚭搴撻噺</div>-->
-    <!--              </div>-->
-    <!--            </div>-->
-    <!--          </el-card>-->
-    <!--        </el-col>-->
-    <!--        <el-col :span="6">-->
-    <!--          <el-card class="stats_card">-->
-    <!--            <div class="stats_content">-->
-    <!--              <div class="stats_icon stock">-->
-    <!--                <el-icon><Box /></el-icon>-->
-    <!--              </div>-->
-    <!--              <div class="stats_info">-->
-    <!--                <div class="stats_value">{{ reportData.summary.currentStock || 0 }}</div>-->
-    <!--                <div class="stats_label">褰撳墠搴撳瓨</div>-->
-    <!--              </div>-->
-    <!--            </div>-->
-    <!--          </el-card>-->
-    <!--        </el-col>-->
-    <!--        <el-col :span="6">-->
-    <!--          <el-card class="stats_card">-->
-    <!--            <div class="stats_content">-->
-    <!--              <div class="stats_icon turnover">-->
-    <!--                <el-icon><Refresh /></el-icon>-->
-    <!--              </div>-->
-    <!--              <div class="stats_info">-->
-    <!--                <div class="stats_value">{{ reportData.summary.turnoverRate || 0 }}%</div>-->
-    <!--                <div class="stats_label">鍛ㄨ浆鐜�</div>-->
-    <!--              </div>-->
-    <!--            </div>-->
-    <!--          </el-card>-->
-    <!--        </el-col>-->
-    <!--      </el-row>-->
-    <!--    </div>-->
+<!--    &lt;!&ndash; 缁熻鍗$墖 &ndash;&gt;-->
+<!--    <div class="stats_cards" v-if="reportData.summary">-->
+<!--      <el-row :gutter="20">-->
+<!--        <el-col :span="6">-->
+<!--          <el-card class="stats_card">-->
+<!--            <div class="stats_content">-->
+<!--              <div class="stats_icon in">-->
+<!--                <el-icon><TrendCharts /></el-icon>-->
+<!--              </div>-->
+<!--              <div class="stats_info">-->
+<!--                <div class="stats_value">{{ reportData.summary.totalIn || 0 }}</div>-->
+<!--                <div class="stats_label">鎬诲叆搴撻噺</div>-->
+<!--              </div>-->
+<!--            </div>-->
+<!--          </el-card>-->
+<!--        </el-col>-->
+<!--        <el-col :span="6">-->
+<!--          <el-card class="stats_card">-->
+<!--            <div class="stats_content">-->
+<!--              <div class="stats_icon out">-->
+<!--                <el-icon><TrendCharts /></el-icon>-->
+<!--              </div>-->
+<!--              <div class="stats_info">-->
+<!--                <div class="stats_value">{{ reportData.summary.totalOut || 0 }}</div>-->
+<!--                <div class="stats_label">鎬诲嚭搴撻噺</div>-->
+<!--              </div>-->
+<!--            </div>-->
+<!--          </el-card>-->
+<!--        </el-col>-->
+<!--        <el-col :span="6">-->
+<!--          <el-card class="stats_card">-->
+<!--            <div class="stats_content">-->
+<!--              <div class="stats_icon stock">-->
+<!--                <el-icon><Box /></el-icon>-->
+<!--              </div>-->
+<!--              <div class="stats_info">-->
+<!--                <div class="stats_value">{{ reportData.summary.currentStock || 0 }}</div>-->
+<!--                <div class="stats_label">褰撳墠搴撳瓨</div>-->
+<!--              </div>-->
+<!--            </div>-->
+<!--          </el-card>-->
+<!--        </el-col>-->
+<!--        <el-col :span="6">-->
+<!--          <el-card class="stats_card">-->
+<!--            <div class="stats_content">-->
+<!--              <div class="stats_icon turnover">-->
+<!--                <el-icon><Refresh /></el-icon>-->
+<!--              </div>-->
+<!--              <div class="stats_info">-->
+<!--                <div class="stats_value">{{ reportData.summary.turnoverRate || 0 }}%</div>-->
+<!--                <div class="stats_label">鍛ㄨ浆鐜�</div>-->
+<!--              </div>-->
+<!--            </div>-->
+<!--          </el-card>-->
+<!--        </el-col>-->
+<!--      </el-row>-->
+<!--    </div>-->
 
-    <!--    &lt;!&ndash; 鍥捐〃鍖哄煙 &ndash;&gt;-->
-    <!--    <div class="chart_section" v-if="reportData.chartData">-->
-    <!--      <el-row :gutter="20">-->
-    <!--        <el-col :span="12">-->
-    <!--          <el-card>-->
-    <!--            <template #header>-->
-    <!--              <span>搴撳瓨瓒嬪娍鍥�</span>-->
-    <!--            </template>-->
-    <!--            <div ref="trendChart" style="height: 300px;"></div>-->
-    <!--          </el-card>-->
-    <!--        </el-col>-->
-    <!--        <el-col :span="12">-->
-    <!--          <el-card>-->
-    <!--            <template #header>-->
-    <!--              <span>杩涘嚭搴撳姣�</span>-->
-    <!--            </template>-->
-    <!--            <div ref="comparisonChart" style="height: 300px;"></div>-->
-    <!--          </el-card>-->
-    <!--        </el-col>-->
-    <!--      </el-row>-->
-    <!--    </div>-->
+<!--    &lt;!&ndash; 鍥捐〃鍖哄煙 &ndash;&gt;-->
+<!--    <div class="chart_section" v-if="reportData.chartData">-->
+<!--      <el-row :gutter="20">-->
+<!--        <el-col :span="12">-->
+<!--          <el-card>-->
+<!--            <template #header>-->
+<!--              <span>搴撳瓨瓒嬪娍鍥�</span>-->
+<!--            </template>-->
+<!--            <div ref="trendChart" style="height: 300px;"></div>-->
+<!--          </el-card>-->
+<!--        </el-col>-->
+<!--        <el-col :span="12">-->
+<!--          <el-card>-->
+<!--            <template #header>-->
+<!--              <span>杩涘嚭搴撳姣�</span>-->
+<!--            </template>-->
+<!--            <div ref="comparisonChart" style="height: 300px;"></div>-->
+<!--          </el-card>-->
+<!--        </el-col>-->
+<!--      </el-row>-->
+<!--    </div>-->
 
     <!-- 璇︾粏鏁版嵁琛ㄦ牸 -->
     <div class="table_section">
@@ -147,88 +147,88 @@
         <template #header>
           <span>{{ getTableTitle() }}</span>
         </template>
-        <el-table
-            v-loading="tableLoading"
-            :data="reportData.tableData"
-            border
-            height="400"
-            style="width: 100%"
-            :header-cell-style="{ background: '#F0F1F5', color: '#333333' }"
-        >
+         <el-table
+           v-loading="tableLoading"
+           :data="reportData.tableData"
+           border
+           height="400"
+           style="width: 100%"
+           :header-cell-style="{ background: '#F0F1F5', color: '#333333' }"
+         >
           <el-table-column
-              align="center"
-              label="搴忓彿"
-              type="index"
-              width="60"
+            align="center"
+            label="搴忓彿"
+            type="index"
+            width="60"
           />
-          <el-table-column
-              label="鍏ュ簱鏃堕棿"
-              prop="createTime"
-              width="200"
-              show-overflow-tooltip
-              v-if="searchForm.reportType !== 'inout'"
-          />
-          <el-table-column
-              label="鍏ュ簱鎵规"
-              prop="inboundBatches"
-              width="240"
-              show-overflow-tooltip
-              v-if="searchForm.reportType !== 'inout'"
-          />
-          <el-table-column
-              label="浜у搧澶х被"
-              prop="productName"
-              show-overflow-tooltip
-          />
-          <el-table-column
-              label="瑙勬牸鍨嬪彿"
-              prop="model"
-              show-overflow-tooltip
-          />
-          <el-table-column
-              label="鍗曚綅"
-              prop="unit"
-              show-overflow-tooltip
-          />
-          <el-table-column
-              label="鍏ュ簱鏁伴噺"
-              prop="totalStockIn"
-              align="center"
-              v-if="searchForm.reportType === 'inout'"
-          />
-          <el-table-column
-              label="鍏ュ簱鏁伴噺"
-              prop="stockInNum"
-              align="center"
-              v-else
-          />
-          <el-table-column
-              label="鍑哄簱鏁伴噺"
-              prop="totalStockOut"
-              width="100"
-              align="center"
-              v-if="searchForm.reportType === 'inout'"
-          />
-          <el-table-column
-              label="鐜板湪搴撳瓨"
-              prop="currentStock"
-              align="center"
-          />
-          <el-table-column label="鏉ユ簮"
-                           prop="recordType"
-                           v-if="searchForm.reportType !== 'inout'"
-                           show-overflow-tooltip>
-            <template #default="scope">
-              {{ getRecordType(scope.row.recordType) }}
-            </template>
-          </el-table-column>
-          <el-table-column
-              label="鍏ュ簱浜�"
-              prop="createBy"
-              width="80"
-              v-if="searchForm.reportType !== 'inout'"
-              show-overflow-tooltip
-          />
+           <el-table-column
+             label="鍏ュ簱鏃堕棿"
+             prop="createTime"
+             width="200"
+             show-overflow-tooltip
+             v-if="searchForm.reportType !== 'inout'"
+           />
+           <el-table-column
+             label="鍏ュ簱鎵规"
+             prop="inboundBatches"
+             width="240"
+             show-overflow-tooltip
+             v-if="searchForm.reportType !== 'inout'"
+           />
+           <el-table-column
+             label="浜у搧澶х被"
+             prop="productName"
+             show-overflow-tooltip
+           />
+           <el-table-column
+             label="瑙勬牸鍨嬪彿"
+             prop="model"
+             show-overflow-tooltip
+           />
+           <el-table-column
+             label="鍗曚綅"
+             prop="unit"
+             show-overflow-tooltip
+           />
+           <el-table-column
+             label="鍏ュ簱鏁伴噺"
+             prop="totalStockIn"
+             align="center"
+             v-if="searchForm.reportType === 'inout'"
+           />
+           <el-table-column
+               label="鍏ュ簱鏁伴噺"
+               prop="stockInNum"
+               align="center"
+               v-else
+           />
+           <el-table-column
+             label="鍑哄簱鏁伴噺"
+             prop="totalStockOut"
+             width="100"
+             align="center"
+             v-if="searchForm.reportType === 'inout'"
+           />
+           <el-table-column
+             label="鐜板湪搴撳瓨"
+             prop="currentStock"
+             align="center"
+           />
+           <el-table-column label="鏉ユ簮"
+                            prop="recordType"
+                            v-if="searchForm.reportType !== 'inout'"
+                            show-overflow-tooltip>
+             <template #default="scope">
+               {{ getRecordType(scope.row.recordType) }}
+             </template>
+           </el-table-column>
+           <el-table-column
+             label="鍏ュ簱浜�"
+             prop="createBy"
+             width="80"
+             v-if="searchForm.reportType !== 'inout'"
+             show-overflow-tooltip
+           />
         </el-table>
       </el-card>
     </div>
@@ -307,7 +307,7 @@
   if (!validateSearchForm()) {
     return
   }
-
+  
   tableLoading.value = true
   try {
     const params = getQueryParams()
@@ -325,7 +325,7 @@
       // nextTick(() => {
       //   initCharts()
       // })
-
+      
     }
   } catch (error) {
     ElMessage.error('鏌ヨ澶辫触锛�' + error.message)
@@ -395,7 +395,7 @@
     startDate: "",
     endDate: ""
   }
-
+  
   if (searchForm.reportType === 'daily') {
     params.reportDate = searchForm.singleDate
   } else if (searchForm.reportType === 'monthly') {
@@ -405,7 +405,7 @@
     params.startDate = searchForm.dateRange[0]
     params.endDate = searchForm.dateRange[1]
   }
-
+  
   return params
 }
 
@@ -427,7 +427,7 @@
   if (!validateSearchForm()) {
     return
   }
-
+  
   try {
     const params = getQueryParams()
     // const response = await exportStockReport(params)
@@ -442,7 +442,7 @@
     // link.click()
     // document.body.removeChild(link)
     // window.URL.revokeObjectURL(url)
-
+    
     // ElMessage.success('瀵煎嚭鎴愬姛')
   } catch (error) {
     ElMessage.error('瀵煎嚭澶辫触锛�' + error.message)
@@ -452,7 +452,7 @@
 // 鍒濆鍖栧浘琛�
 const initCharts = () => {
   if (!reportData.value.chartData) return
-
+  
   initTrendChart()
   initComparisonChart()
 }
@@ -460,7 +460,7 @@
 // 鍒濆鍖栬秼鍔垮浘
 const initTrendChart = () => {
   if (!trendChart.value) return
-
+  
   const chart = echarts.init(trendChart.value)
   const option = {
     title: {
@@ -497,7 +497,7 @@
 // 鍒濆鍖栧姣斿浘
 const initComparisonChart = () => {
   if (!comparisonChart.value) return
-
+  
   const chart = echarts.init(comparisonChart.value)
   const option = {
     title: {
@@ -544,7 +544,7 @@
 onMounted(() => {
   const today = new Date()
   searchForm.singleDate = today.toISOString().split('T')[0]
-
+  
   const yesterday = new Date(today.getTime() - 24 * 60 * 60 * 1000)
   searchForm.dateRange = [
     yesterday.toISOString().split('T')[0],

--
Gitblit v1.9.3