zhangafei 2 weeks ago
parent
commit
67346f9718

+ 4 - 4
.env.development

@@ -7,15 +7,15 @@ VITE_PUBLIC_PATH = /
 # 跨域代理,您可以配置多个 ,请注意,没有换行符
 # VITE_PROXY = [["/jeecgboot","http://192.168.1.53:9999"],["/upload","http://localhost:3300/upload"]]
 # VITE_PROXY = [["/jeecgboot","http://192.168.1.6:9999"],["/upload","http://localhost:3300/upload"]]
-# VITE_PROXY = [["/jeecgboot","http://192.168.0.119:9999"],["/upload","http://localhost:3300/upload"]]
-VITE_PROXY = [["/jeecgboot","http://123.57.213.14:9898"],["/upload","http://localhost:3300/upload"]]
+VITE_PROXY = [["/jeecgboot","http://192.168.0.119:9999"],["/upload","http://localhost:3300/upload"]]
+# VITE_PROXY = [["/jeecgboot","http://123.57.213.14:9898"],["/upload","http://localhost:3300/upload"]]
 
 #后台接口全路径地址(必填)
 # VITE_GLOB_DOMAIN_URL=http://localhost:9999
 # VITE_GLOB_DOMAIN_URL=http://192.168.1.6:9999
 # VITE_GLOB_DOMAIN_URL=http://192.168.1.53:9999
-# VITE_GLOB_DOMAIN_URL=http://192.168.0.119:9999
-VITE_GLOB_DOMAIN_URL=http://123.57.213.14:9898
+VITE_GLOB_DOMAIN_URL=http://192.168.0.119:9999
+# VITE_GLOB_DOMAIN_URL=http://123.57.213.14:9898
 
 
 

+ 1 - 1
src/views/billet/Dashboard/rollingOne.vue

@@ -402,7 +402,7 @@
         return {
           ...heatNoDetails[0],
           sizeObj,
-          sizeValue: sizeDetails[0].size,
+          sizeValue: sizeDetails && sizeDetails.length ? sizeDetails[0].size : '',
           confirmTime,
           id,
           brandNum,

+ 36 - 14
src/views/billet/operator/components/car.vue

@@ -1,7 +1,10 @@
 <template>
   <a-spin :spinning="isSpinning" wrapperClassName="car-info-spin">
-    <a-tabs v-model:activeKey="activeKey" type="card" @change="tabChange">
-      <a-tab-pane :key="item" :tab="'车位' + item" v-for="item in carPosition[ccmNo]">
+    <div type="card">
+      <div :key="item" v-for="item in carPosition[ccmNo]">
+        <div class="car-wei" :class="`car-wei-${item}`">
+          <span class="num">{{ '车位' + item }}</span></div
+        >
         <div class="car-info-wrapper">
           <div class="licensePlate"
             >装运车辆:{{ vehicleInfo['info' + item] && vehicleInfo['info' + item].licensePlate ? vehicleInfo['info' + item].licensePlate : '' }}</div
@@ -42,9 +45,9 @@
             />
           </div>
         </div>
-      </a-tab-pane>
+      </div>
       <!-- <a-tab-pane key="2" tab="车位2" force-render>Content of Tab Pane 2</a-tab-pane> -->
-    </a-tabs>
+    </div>
     <div class="flex justify-between refresh-wrapper" :style="{ left: carPosition[ccmNo].length * 70 + 20 + 'px' }">
       <a-button size="large" type="primary" style="font-size: 18px" @click="refresh(1)"> 刷新 </a-button>
       <RouterLink :to="'/shippingBill/' + ccmNo" target="_blank">
@@ -79,8 +82,7 @@
           <div class="dtl-item flex justify-between" v-for="m in pitem.details">
             <span class="size">{{ m.stackingLength }}</span>
             <span>
-              <span class="zhi">{{ m.stackingCount }}</span
-              > 支</span
+              <span class="zhi">{{ m.stackingCount }}</span> 支</span
             >
           </div>
         </div>
@@ -283,6 +285,7 @@
       },
       onOk: () => {
         let params = { ...vehicleInfo.value[`info${carPositon}`] };
+        console.log('11111111111111111111', params);
         if (type === 'destination') {
           const curDestination = destinationOptions[props.ccmNo].find((item) => item.value === value);
           params.destination = curDestination.label;
@@ -459,12 +462,13 @@
   .car-info-spin {
     position: relative;
     height: 100%;
+    overflow: auto;
 
     :deep(.ant-spin-container) {
       display: flex;
       flex-direction: column;
       height: 100%;
-      overflow: hidden;
+      overflow: auto;
     }
 
     .refresh-wrapper {
@@ -489,6 +493,24 @@
         }
       }
     }
+
+    .car-wei {
+      height: 58px;
+      margin-top: 20px;
+      font-size: 20px;
+      color: #fff;
+
+      .num {
+        display: inline-block;
+        background: #01396c;
+        border-radius: 4px 4px 0 0;
+        padding: 6px 10px;
+      }
+    }
+
+    .car-wei-1 {
+      margin-top: 0;
+    }
   }
 
   .car-info-wrapper {
@@ -546,16 +568,16 @@
   }
 
   .stacking-wrapper {
-    flex: 1;
-    overflow: auto;
+    flex: unset;
+    overflow: unset;
     padding: 0;
     margin-top: 6px;
     padding-bottom: 20px;
     gap: 10px 12px;
 
     .selected-divider-row {
-      width: 120px;
-      height: 90px;
+      width: 158px;
+      height: 120px;
       background: #08184d;
       border-radius: 2px;
       border: 1px solid #001966;
@@ -587,9 +609,9 @@
 
     .p-layer {
       font-family: 'Kingsoft_Cloud_Font';
-      line-height: 24px;
+      line-height: 32px;
       font-weight: 500;
-      font-size: 14px;
+      font-size: 20px;
       color: #cccccc;
       border-bottom: 1px solid #0b2066;
 
@@ -600,7 +622,7 @@
 
     .dtl-item {
       font-weight: 400;
-      font-size: 14px;
+      font-size: 18px;
       color: #808080;
       margin-top: 6px;
 

+ 173 - 68
src/views/billet/operator/components/orgData.vue

@@ -13,12 +13,13 @@
         <div class="flex-1"> 班组:<component :is="renderDictTag(shiftInfo.shiftGroup, 'lg_bz')" /> </div>
         <div class="flex-1"> 班次:<component :is="renderDictTag(shiftInfo.shift, 'lg_bb')" /> </div>
         <div class="flex-1 flex"
-          ><span> 定尺:</span><a-input v-model:value="mainSize" @blur="handleSizeBlur" style="flex: 1" :bordered="false" size="small" />
+          ><span> 定尺:</span
+          ><a-input v-model:value="mainSize" @blur="handleSizeBlur" style="flex: 1; margin-top: -4px" :bordered="false" size="small" />
         </div>
-        <div class="flex-1" style="text-align: center; font-size: 13px">
+        <div class="flex-1" style="text-align: center">
           {{ dayjs(curTime).format('YYYY 年 MM 月 DD 日') }}
         </div>
-        <div class="flex-1" style="text-align: right; font-size: 12px"> lg/R05 </div>
+        <div class="flex-1" style="text-align: right"> lg/R05 </div>
       </div>
       <a-table :columns="columns" size="small" :data-source="dataSource" bordered :pagination="false">
         <template #summary>
@@ -66,6 +67,12 @@
                   <div class="song-item" v-for="ele in stackingList">{{ ele.size }}</div>
                 </div>
               </div>
+              <div class="song-items flex" v-for="(item, index) in coldSendList" :key="index">
+                <div class="title" style="margin-right: 10px; color: #108ee9">{{ index }}</div>
+                <div class="flex flex-col">
+                  <div class="song-item" v-for="ele in item">{{ ele.size }}</div>
+                </div>
+              </div>
             </a-table-summary-cell>
             <a-table-summary-cell :col-span="flowColSpan">
               <div class="song-items flex">
@@ -73,6 +80,11 @@
                   <div class="song-item" v-for="ele in stackingList">{{ ele.amount }}</div>
                 </div>
               </div>
+              <div class="song-items flex" v-for="(item, index) in coldSendList" :key="index">
+                <div class="flex flex-col">
+                  <div class="song-item" v-for="ele in item">{{ ele.amount }}</div>
+                </div>
+              </div>
             </a-table-summary-cell>
             <a-table-summary-cell :col-span="weightColSpan">
               <div class="song-items flex">
@@ -80,6 +92,11 @@
                   <div class="song-item" v-for="ele in stackingList">{{ ele.weight ? ele.weight.toFixed(3) : '' }} t</div>
                 </div>
               </div>
+              <div class="song-items flex" v-for="(item, index) in coldSendList" :key="index">
+                <div class="flex flex-col">
+                  <div class="song-item" v-for="ele in item">{{ ele.weight ? ele.weight.toFixed(3) : '' }} t</div>
+                </div>
+              </div>
             </a-table-summary-cell>
           </a-table-summary-row>
         </template>
@@ -94,15 +111,15 @@
           size="large"
           v-model:value="item.totalCount"
           :min="0"
-          :step="4"
+          :step="1"
           @change="
             (value) => {
               if (!value) {
                 item.totalCount = 0;
               }
-              if (value % 4 !== 0) {
-                item.totalCount = value - (value % 4);
-              }
+              // if (value % 4 !== 0) {
+              //   item.totalCount = value - (value % 4);
+              // }
             }
           "
           :controls="false"
@@ -121,7 +138,7 @@
           </template>
         </a-input-number>
       </div>
-      <div style="font-size: 16px; color: #f50">注:请输入4或4的倍数.</div>
+      <div style="font-size: 16px; color: #f50">注:请输入大于等于0的数.</div>
     </div>
   </a-modal>
 
@@ -313,15 +330,38 @@
   };
 
   const { start, stop } = useTimeoutFn(() => {
-    getHeatList({
-      ccmNo: hostNumber.value,
-      queryType: fetchQueryType.value,
-      changeShiftId: fetchChangeShiftId.value,
-    });
-  }, 10000);
+    getHeatList(
+      {
+        ccmNo: hostNumber.value,
+        queryType: fetchQueryType.value,
+        changeShiftId: fetchChangeShiftId.value,
+      },
+      true
+    );
+  }, 60000);
   onMounted(() => {
     initData(props.openData);
   });
+
+  let newSip: any[] = [];
+  for (let index = 0; index < 22; index++) {
+    newSip.push({
+      SerialNumber: index + 1,
+      heatNo: '',
+      brandNum: '',
+      oneFlow: '',
+      twoFlow: '',
+      threeFlow: '',
+      fourFlow: '',
+      fiveFlow: '',
+      sixFlow: '',
+      sevenFlow: '',
+      eightFlow: '',
+      total: '',
+    });
+  }
+  const defaultSourceData = newSip;
+
   const initData = async (data) => {
     const { ccmNo, shiftText, queryType, curShiftInfo, changeShiftId, time } = data;
     printKey.value = dayjs().unix();
@@ -335,30 +375,15 @@
       curTime.value = time;
     }
 
-    let newSip: any[] = [];
-    for (let index = 0; index < 22; index++) {
-      newSip.push({
-        SerialNumber: index + 1,
-        heatNo: '',
-        brandNum: '',
-        oneFlow: '',
-        twoFlow: '',
-        threeFlow: '',
-        fourFlow: '',
-        fiveFlow: '',
-        sixFlow: '',
-        sevenFlow: '',
-        eightFlow: '',
-        total: '',
-      });
-    }
-
     dataSource.value = [...newSip];
-    getHeatList({
-      ccmNo,
-      queryType,
-      changeShiftId,
-    });
+    getHeatList(
+      {
+        ccmNo,
+        queryType,
+        changeShiftId,
+      },
+      true
+    );
 
     // 获取定尺啊
     initDictOptions('lg_dcgg').then((dc) => {
@@ -381,6 +406,8 @@
   const weightColSpan = ref(4);
   // 热送统计
   const hotSendList = ref<any>({});
+  // 冷装统计
+  const coldSendList = ref<any>({});
   // 堆垛统计
   const stackingList = ref<any>([]);
   // 定尺和备注
@@ -388,7 +415,17 @@
   const mainSize = ref('');
   const mainOrgRemark = ref('');
   const mainRemark = ref('');
-  const getHeatList = async (params) => {
+
+  const getHeatList = async (params, isInit?: boolean) => {
+    if (isInit !== true) {
+      setTimeout(() => {
+        getHeatListCopy(params);
+      }, 800);
+    } else {
+      return getHeatListCopy(params);
+    }
+  };
+  const getHeatListCopy = async (params) => {
     try {
       stop();
       changeLoading(true);
@@ -412,6 +449,10 @@
         const rollThreeSize = {};
         // 上若
         const rollShippSize = {};
+        // 冷装
+        const rollTwoColdSize = {};
+        const rollThreeColdSize = {};
+        const rollShippColdSize = {};
         // 装车按热装和冷装分组
         const rollChargeSizeType = {
           '0': {},
@@ -497,7 +538,7 @@
           },
           dataIndex: 'stackLength',
           key: 'stackLength',
-          // width: 100,
+          width: 120,
           children: [],
         };
 
@@ -535,7 +576,7 @@
           roll_out_shipp: [],
         };
 
-        dataSource.value = dataSource.value.map((item, index) => {
+        const dataOrgSource = defaultSourceData.map((item, index) => {
           if (!newArr[index]) return item;
           const { hotChargeLength, rollClubOneDetails, stackLength } = newArr[index];
 
@@ -640,16 +681,30 @@
                 // 添加定尺
                 columnsHotCharge.roll_club_two.push(sizeFormat);
 
-                if (!rollTwoSize[k.hotChargeLength]) {
-                  rollTwoSize[k.hotChargeLength] = {
-                    type: k.hotChargeBtype,
-                    size: Number(k.hotChargeLength) / 1000 + 'm',
-                    amount: k.totalCount,
-                    weight: k.totalCount * (Number(k.hotChargeLength) / 1000) * 0.2265,
-                  };
+                if (k.hotChargeBtype === '0') {
+                  if (!rollTwoSize[k.hotChargeLength]) {
+                    rollTwoSize[k.hotChargeLength] = {
+                      type: k.hotChargeBtype,
+                      size: Number(k.hotChargeLength) / 1000 + 'm',
+                      amount: k.totalCount,
+                      weight: k.totalCount * (Number(k.hotChargeLength) / 1000) * 0.2265,
+                    };
+                  } else {
+                    rollTwoSize[k.hotChargeLength].amount += k.totalCount;
+                    rollTwoSize[k.hotChargeLength].weight += k.totalCount * (Number(k.hotChargeLength) / 1000) * 0.2265;
+                  }
                 } else {
-                  rollTwoSize[k.hotChargeLength].amount += k.totalCount;
-                  rollTwoSize[k.hotChargeLength].weight += k.totalCount * (Number(k.hotChargeLength) / 1000) * 0.2265;
+                  if (!rollTwoColdSize[k.hotChargeLength]) {
+                    rollTwoColdSize[k.hotChargeLength] = {
+                      type: k.hotChargeBtype,
+                      size: Number(k.hotChargeLength) / 1000 + 'm',
+                      amount: k.totalCount,
+                      weight: k.totalCount * (Number(k.hotChargeLength) / 1000) * 0.2265,
+                    };
+                  } else {
+                    rollTwoColdSize[k.hotChargeLength].amount += k.totalCount;
+                    rollTwoColdSize[k.hotChargeLength].weight += k.totalCount * (Number(k.hotChargeLength) / 1000) * 0.2265;
+                  }
                 }
               }
               // 棒三
@@ -657,16 +712,30 @@
                 // 添加定尺
                 columnsHotCharge.roll_club_three.push(sizeFormat);
 
-                if (!rollThreeSize[k.hotChargeLength]) {
-                  rollThreeSize[k.hotChargeLength] = {
-                    type: k.hotChargeBtype,
-                    size: Number(k.hotChargeLength) / 1000 + 'm',
-                    amount: k.totalCount,
-                    weight: k.totalCount * (Number(k.hotChargeLength) / 1000) * 0.2265,
-                  };
+                if (k.hotChargeBtype === '0') {
+                  if (!rollThreeSize[k.hotChargeLength]) {
+                    rollThreeSize[k.hotChargeLength] = {
+                      type: k.hotChargeBtype,
+                      size: Number(k.hotChargeLength) / 1000 + 'm',
+                      amount: k.totalCount,
+                      weight: k.totalCount * (Number(k.hotChargeLength) / 1000) * 0.2265,
+                    };
+                  } else {
+                    rollThreeSize[k.hotChargeLength].amount += k.totalCount;
+                    rollThreeSize[k.hotChargeLength].weight += k.totalCount * (Number(k.hotChargeLength) / 1000) * 0.2265;
+                  }
                 } else {
-                  rollThreeSize[k.hotChargeLength].amount += k.totalCount;
-                  rollThreeSize[k.hotChargeLength].weight += k.totalCount * (Number(k.hotChargeLength) / 1000) * 0.2265;
+                  if (!rollThreeColdSize[k.hotChargeLength]) {
+                    rollThreeColdSize[k.hotChargeLength] = {
+                      type: k.hotChargeBtype,
+                      size: Number(k.hotChargeLength) / 1000 + 'm',
+                      amount: k.totalCount,
+                      weight: k.totalCount * (Number(k.hotChargeLength) / 1000) * 0.2265,
+                    };
+                  } else {
+                    rollThreeColdSize[k.hotChargeLength].amount += k.totalCount;
+                    rollThreeColdSize[k.hotChargeLength].weight += k.totalCount * (Number(k.hotChargeLength) / 1000) * 0.2265;
+                  }
                 }
               }
               // 上若
@@ -674,16 +743,30 @@
                 // 添加定尺
                 columnsHotCharge.roll_out_shipp.push(sizeFormat);
 
-                if (!rollShippSize[k.hotChargeLength]) {
-                  rollShippSize[k.hotChargeLength] = {
-                    type: k.hotChargeBtype,
-                    size: Number(k.hotChargeLength) / 1000 + 'm',
-                    amount: k.totalCount,
-                    weight: k.totalCount * (Number(k.hotChargeLength) / 1000) * 0.2265,
-                  };
+                if (k.hotChargeBtype === '0') {
+                  if (!rollShippSize[k.hotChargeLength]) {
+                    rollShippSize[k.hotChargeLength] = {
+                      type: k.hotChargeBtype,
+                      size: Number(k.hotChargeLength) / 1000 + 'm',
+                      amount: k.totalCount,
+                      weight: k.totalCount * (Number(k.hotChargeLength) / 1000) * 0.2265,
+                    };
+                  } else {
+                    rollShippSize[k.hotChargeLength].amount += k.totalCount;
+                    rollShippSize[k.hotChargeLength].weight += k.totalCount * (Number(k.hotChargeLength) / 1000) * 0.2265;
+                  }
                 } else {
-                  rollShippSize[k.hotChargeLength].amount += k.totalCount;
-                  rollShippSize[k.hotChargeLength].weight += k.totalCount * (Number(k.hotChargeLength) / 1000) * 0.2265;
+                  if (!rollShippColdSize[k.hotChargeLength]) {
+                    rollShippColdSize[k.hotChargeLength] = {
+                      type: k.hotChargeBtype,
+                      size: Number(k.hotChargeLength) / 1000 + 'm',
+                      amount: k.totalCount,
+                      weight: k.totalCount * (Number(k.hotChargeLength) / 1000) * 0.2265,
+                    };
+                  } else {
+                    rollShippColdSize[k.hotChargeLength].amount += k.totalCount;
+                    rollShippColdSize[k.hotChargeLength].weight += k.totalCount * (Number(k.hotChargeLength) / 1000) * 0.2265;
+                  }
                 }
               }
 
@@ -884,7 +967,7 @@
         remakeColSpan.value = Math.ceil(allSpan / 3);
         const nnColSpan = Math.ceil((allSpan - remakeColSpan.value) / 2);
         const newNNColSpan = nnColSpan % 2 === 0 ? nnColSpan : nnColSpan + 1;
-        sizeColSpan.value = newNNColSpan / 2 > 4 ? newNNColSpan / 2 : 4;
+        sizeColSpan.value = newNNColSpan / 2 > 4 ? 4 : newNNColSpan / 2;
         flowColSpan.value = newNNColSpan - sizeColSpan.value;
         weightColSpan.value = allSpan - remakeColSpan.value - newNNColSpan;
 
@@ -911,12 +994,28 @@
           stackingList.value.forEach((ele) => (allWeight += ele.weight));
         }
 
+        // 冷装统计
+        if (Object.values(rollTwoColdSize).length) {
+          coldSendList.value['二'] = Object.values(rollTwoColdSize);
+          coldSendList.value['二'].forEach((ele) => (allWeight += ele.weight));
+        }
+        if (Object.values(rollThreeColdSize).length) {
+          coldSendList.value['三'] = Object.values(rollThreeColdSize);
+          coldSendList.value['三'].forEach((ele) => (allWeight += ele.weight));
+        }
+        if (Object.values(rollShippColdSize).length) {
+          coldSendList.value['上'] = Object.values(rollShippColdSize);
+          coldSendList.value['上'].forEach((ele) => (allWeight += ele.weight));
+        }
+
         emits('statistics', {
           chargeList: rollChargeSizeType,
           stackingList: stackingList.value,
           hotSendList: hotSendList.value['一'],
         });
         mainRemark.value = `合计:${allWeight.toFixed(3)} t`;
+
+        dataSource.value = dataOrgSource;
       }
       start();
       changeLoading(false);
@@ -1444,9 +1543,11 @@
 
     .ccmno-info {
       font-family: 'Kingsoft_Cloud_Font';
+      font-size: 20px;
 
       .ant-input {
         color: rgba(255, 255, 255, 0.8);
+        font-size: 20px;
       }
     }
     .ccmno {
@@ -1527,6 +1628,7 @@
         min-height: 100%;
 
         .ant-table {
+          font-size: 20px;
           border-top: 1px solid rgba(184, 184, 184, 0.6);
 
           > .ant-table-container {
@@ -1601,6 +1703,7 @@
             padding: 0;
             text-align: center;
             cursor: pointer;
+            font-size: 20px;
           }
 
           .ant-select {
@@ -1642,6 +1745,7 @@
 
           .ant-input {
             color: rgba(255, 255, 255, 0.8);
+            font-size: 20px;
           }
         }
       }
@@ -1659,6 +1763,7 @@
 
           .title {
             margin-right: 10px;
+            color: #f50;
           }
         }
       }

+ 2 - 2
src/views/billet/operator/components/printCarInfo.vue

@@ -17,7 +17,7 @@
           />
           <span v-else>{{ info.destination }}</span>
           <a-button
-            style="margin-left: 20px"
+            style="margin-left: 10px"
             v-if="!info.outTime && info.id && info.destination"
             type="primary"
             :loading="btnLoading"
@@ -26,7 +26,7 @@
             发车
           </a-button>
           <a-button
-            style="margin-left: 20px"
+            style="margin-left: 10px"
             v-if="carPositon == 2 && !info.outTime && info.id"
             type="primary"
             :loading="btnLoading"

+ 113 - 34
src/views/billet/operator/components/printOriginalRecords.vue

@@ -18,7 +18,7 @@
       <div class="ticket next-ticket">
         <div style="text-align: center; position: relative">
           <div class="noprint" style="position: absolute; z-index: 100">
-            <a-button v-if="!isConfirmOrgData && !isEditAbled" type="primary" @click="addHeatNo">添加炉号</a-button>
+            <a-button v-if="isConfirmOrgData || !isEditAbled" type="primary" style="margin-right: 10px" @click="addHeatNo">添加炉号</a-button>
             <a-button
               v-if="isConfirmOrgData"
               type="primary"
@@ -101,6 +101,12 @@
                     <div class="song-item" v-for="ele in stackingList">{{ ele.size }}</div>
                   </div>
                 </div>
+                <div class="song-items flex" v-for="(item, index) in coldSendList" :key="index">
+                  <div class="title" style="margin-right: 10px; color: #108ee9">{{ index }}</div>
+                  <div class="flex flex-col">
+                    <div class="song-item" v-for="ele in item">{{ ele.size }}</div>
+                  </div>
+                </div>
               </a-table-summary-cell>
               <a-table-summary-cell :col-span="flowColSpan">
                 <div class="song-items flex">
@@ -108,6 +114,11 @@
                     <div class="song-item" v-for="ele in stackingList">{{ ele.amount }}</div>
                   </div>
                 </div>
+                <div class="song-items flex" v-for="(item, index) in coldSendList" :key="index">
+                  <div class="flex flex-col">
+                    <div class="song-item" v-for="ele in item">{{ ele.amount }}</div>
+                  </div>
+                </div>
               </a-table-summary-cell>
               <a-table-summary-cell :col-span="weightColSpan">
                 <div class="song-items flex">
@@ -115,17 +126,22 @@
                     <div class="song-item" v-for="ele in stackingList">{{ ele.weight ? ele.weight.toFixed(3) : '' }} t</div>
                   </div>
                 </div>
+                <div class="song-items flex" v-for="(item, index) in coldSendList" :key="index">
+                  <div class="flex flex-col">
+                    <div class="song-item" v-for="ele in item">{{ ele.weight ? ele.weight.toFixed(3) : '' }} t</div>
+                  </div>
+                </div>
               </a-table-summary-cell>
             </a-table-summary-row>
           </template>
         </a-table>
       </div>
 
-      <div style="position: absolute; top: 0; left: 0; width: 100%; height: 100%" v-if="isConfirmOrgData || isEditAbled"> </div>
+      <div style="position: absolute; top: 0; left: 0; width: 100%; height: 100%" v-if="isConfirmOrgData && isEditAbled"> </div>
     </section>
 
     <template #appendFooter>
-      <a-button @click="openJSModal = true" v-if="!isConfirmOrgData && !isEditAbled"> 重量计算 </a-button>
+      <a-button @click="openJSModal = true" v-if="!isConfirmOrgData"> 重量计算 </a-button>
       <a-button type="primary" v-if="isConfirmOrgData && !isEditAbled" @click="handlerConfirmOrgData"> 确认无误 </a-button>
     </template>
   </BasicModal>
@@ -181,9 +197,9 @@
               if (!value) {
                 item.totalCount = 0;
               }
-              if (value % 4 !== 0) {
-                item.totalCount = value - (value % 4);
-              }
+              // if (value % 4 !== 0) {
+              //   item.totalCount = value - (value % 4);
+              // }
             }
           "
           :controls="false"
@@ -202,7 +218,7 @@
           </template>
         </a-input-number>
       </div>
-      <div style="font-size: 16px; color: #f50">注:请输入4或4的倍数.</div>
+      <div style="font-size: 16px; color: #f50">注:请输入大于等于0的数.</div>
     </div>
   </a-modal>
 
@@ -472,7 +488,7 @@
     fetchChangeShiftId.value = changeShiftId;
     shiftInfoTxt.value = shiftText.split('-');
     shiftInfo.value = curShiftInfo;
-    isConfirmOrgData.value = !!confirmOrgData;
+    isConfirmOrgData.value = confirmOrgData === true;
     if (time) {
       curTime.value = time;
     }
@@ -533,6 +549,8 @@
   const weightColSpan = ref(4);
   // 热送统计
   const hotSendList = ref<any>({});
+  // 冷装统计
+  const coldSendList = ref<any>({});
   // 堆垛统计
   const stackingList = ref<any>([]);
   // 定尺和备注
@@ -564,6 +582,10 @@
         const rollThreeSize = {};
         // 上若
         const rollShippSize = {};
+        // 冷装
+        const rollTwoColdSize = {};
+        const rollThreeColdSize = {};
+        const rollShippColdSize = {};
         // 堆垛
         const stackingSize = {};
 
@@ -644,7 +666,7 @@
           },
           dataIndex: 'stackLength',
           key: 'stackLength',
-          // width: 100,
+          width: 120,
           children: [],
         };
 
@@ -787,15 +809,29 @@
                 // 添加定尺
                 columnsHotCharge.roll_club_two.push(sizeFormat);
 
-                if (!rollTwoSize[k.hotChargeLength]) {
-                  rollTwoSize[k.hotChargeLength] = {
-                    size: Number(k.hotChargeLength) / 1000 + 'm',
-                    amount: k.totalCount,
-                    weight: k.totalCount * (Number(k.hotChargeLength) / 1000) * 0.2265,
-                  };
+                if (k.hotChargeBtype === '0') {
+                  if (!rollTwoSize[k.hotChargeLength]) {
+                    rollTwoSize[k.hotChargeLength] = {
+                      size: Number(k.hotChargeLength) / 1000 + 'm',
+                      amount: k.totalCount,
+                      weight: k.totalCount * (Number(k.hotChargeLength) / 1000) * 0.2265,
+                    };
+                  } else {
+                    rollTwoSize[k.hotChargeLength].amount += k.totalCount;
+                    rollTwoSize[k.hotChargeLength].weight += k.totalCount * (Number(k.hotChargeLength) / 1000) * 0.2265;
+                  }
                 } else {
-                  rollTwoSize[k.hotChargeLength].amount += k.totalCount;
-                  rollTwoSize[k.hotChargeLength].weight += k.totalCount * (Number(k.hotChargeLength) / 1000) * 0.2265;
+                  if (!rollTwoColdSize[k.hotChargeLength]) {
+                    rollTwoColdSize[k.hotChargeLength] = {
+                      type: k.hotChargeBtype,
+                      size: Number(k.hotChargeLength) / 1000 + 'm',
+                      amount: k.totalCount,
+                      weight: k.totalCount * (Number(k.hotChargeLength) / 1000) * 0.2265,
+                    };
+                  } else {
+                    rollTwoColdSize[k.hotChargeLength].amount += k.totalCount;
+                    rollTwoColdSize[k.hotChargeLength].weight += k.totalCount * (Number(k.hotChargeLength) / 1000) * 0.2265;
+                  }
                 }
               }
               // 棒三
@@ -803,15 +839,29 @@
                 // 添加定尺
                 columnsHotCharge.roll_club_three.push(sizeFormat);
 
-                if (!rollThreeSize[k.hotChargeLength]) {
-                  rollThreeSize[k.hotChargeLength] = {
-                    size: Number(k.hotChargeLength) / 1000 + 'm',
-                    amount: k.totalCount,
-                    weight: k.totalCount * (Number(k.hotChargeLength) / 1000) * 0.2265,
-                  };
+                if (k.hotChargeBtype === '0') {
+                  if (!rollThreeSize[k.hotChargeLength]) {
+                    rollThreeSize[k.hotChargeLength] = {
+                      size: Number(k.hotChargeLength) / 1000 + 'm',
+                      amount: k.totalCount,
+                      weight: k.totalCount * (Number(k.hotChargeLength) / 1000) * 0.2265,
+                    };
+                  } else {
+                    rollThreeSize[k.hotChargeLength].amount += k.totalCount;
+                    rollThreeSize[k.hotChargeLength].weight += k.totalCount * (Number(k.hotChargeLength) / 1000) * 0.2265;
+                  }
                 } else {
-                  rollThreeSize[k.hotChargeLength].amount += k.totalCount;
-                  rollThreeSize[k.hotChargeLength].weight += k.totalCount * (Number(k.hotChargeLength) / 1000) * 0.2265;
+                  if (!rollThreeColdSize[k.hotChargeLength]) {
+                    rollThreeColdSize[k.hotChargeLength] = {
+                      type: k.hotChargeBtype,
+                      size: Number(k.hotChargeLength) / 1000 + 'm',
+                      amount: k.totalCount,
+                      weight: k.totalCount * (Number(k.hotChargeLength) / 1000) * 0.2265,
+                    };
+                  } else {
+                    rollThreeColdSize[k.hotChargeLength].amount += k.totalCount;
+                    rollThreeColdSize[k.hotChargeLength].weight += k.totalCount * (Number(k.hotChargeLength) / 1000) * 0.2265;
+                  }
                 }
               }
               // 上若
@@ -819,15 +869,29 @@
                 // 添加定尺
                 columnsHotCharge.roll_out_shipp.push(sizeFormat);
 
-                if (!rollShippSize[k.hotChargeLength]) {
-                  rollShippSize[k.hotChargeLength] = {
-                    size: Number(k.hotChargeLength) / 1000 + 'm',
-                    amount: k.totalCount,
-                    weight: k.totalCount * (Number(k.hotChargeLength) / 1000) * 0.2265,
-                  };
+                if (k.hotChargeBtype === '0') {
+                  if (!rollShippSize[k.hotChargeLength]) {
+                    rollShippSize[k.hotChargeLength] = {
+                      size: Number(k.hotChargeLength) / 1000 + 'm',
+                      amount: k.totalCount,
+                      weight: k.totalCount * (Number(k.hotChargeLength) / 1000) * 0.2265,
+                    };
+                  } else {
+                    rollShippSize[k.hotChargeLength].amount += k.totalCount;
+                    rollShippSize[k.hotChargeLength].weight += k.totalCount * (Number(k.hotChargeLength) / 1000) * 0.2265;
+                  }
                 } else {
-                  rollShippSize[k.hotChargeLength].amount += k.totalCount;
-                  rollShippSize[k.hotChargeLength].weight += k.totalCount * (Number(k.hotChargeLength) / 1000) * 0.2265;
+                  if (!rollShippColdSize[k.hotChargeLength]) {
+                    rollShippColdSize[k.hotChargeLength] = {
+                      type: k.hotChargeBtype,
+                      size: Number(k.hotChargeLength) / 1000 + 'm',
+                      amount: k.totalCount,
+                      weight: k.totalCount * (Number(k.hotChargeLength) / 1000) * 0.2265,
+                    };
+                  } else {
+                    rollShippColdSize[k.hotChargeLength].amount += k.totalCount;
+                    rollShippColdSize[k.hotChargeLength].weight += k.totalCount * (Number(k.hotChargeLength) / 1000) * 0.2265;
+                  }
                 }
               }
             });
@@ -1016,7 +1080,7 @@
         remakeColSpan.value = Math.ceil(allSpan / 3);
         const nnColSpan = Math.ceil((allSpan - remakeColSpan.value) / 2);
         const newNNColSpan = nnColSpan % 2 === 0 ? nnColSpan : nnColSpan + 1;
-        sizeColSpan.value = newNNColSpan / 2 > 4 ? newNNColSpan / 2 : 4;
+        sizeColSpan.value = newNNColSpan / 2 > 4 ? 4 : newNNColSpan / 2;
         flowColSpan.value = newNNColSpan - sizeColSpan.value;
         weightColSpan.value = allSpan - remakeColSpan.value - newNNColSpan;
 
@@ -1043,6 +1107,20 @@
           stackingList.value.forEach((ele) => (allWeight += ele.weight));
         }
 
+        // 冷装统计
+        if (Object.values(rollTwoColdSize).length) {
+          coldSendList.value['二'] = Object.values(rollTwoColdSize);
+          coldSendList.value['二'].forEach((ele) => (allWeight += ele.weight));
+        }
+        if (Object.values(rollThreeColdSize).length) {
+          coldSendList.value['三'] = Object.values(rollThreeColdSize);
+          coldSendList.value['三'].forEach((ele) => (allWeight += ele.weight));
+        }
+        if (Object.values(rollShippColdSize).length) {
+          coldSendList.value['上'] = Object.values(rollShippColdSize);
+          coldSendList.value['上'].forEach((ele) => (allWeight += ele.weight));
+        }
+
         mainRemark.value = `合计:${allWeight.toFixed(3)} t`;
       }
       changeLoading(false);
@@ -1791,6 +1869,7 @@
 
           .title {
             margin-right: 10px;
+            color: #f50;
           }
         }
       }