Просмотр исходного кода

Merge branch 'dev' of http://110.41.163.243:9980/kd-aiot/kd-aiot-frontend-mes into dev

lucw 8 месяцев назад
Родитель
Сommit
e50fec57ba

+ 12 - 0
src/api/entrust/index.js

@@ -115,3 +115,15 @@ export async function pleaseEntrustSaveDetail(data) {
   }
   return Promise.reject(new Error(res.data.message));
 }
+
+//确认收货
+export async function pleaseTReceiveGoods(data) {
+  const res = await request.post(
+    `/mes/please_entrust_management/receiveDetailEnd`,
+    data
+  );
+  if (res.data.code == 0) {
+    return res.data;
+  }
+  return Promise.reject(new Error(res.data.message));
+}

+ 2 - 10
src/components/common/seekPage.vue

@@ -88,11 +88,8 @@
     },
 
     data() {
-      const today = new Date();
       return {
-        defaultWhere: {
-          startTime: today
-        },
+        defaultWhere: {},
         dropdownVisible: false,
         seekListRow: [],
         deboListRow: []
@@ -150,7 +147,6 @@
       /** 生成字段属性 */
       getFieldProps(item) {
         const base = {
-          clearable: item.clearable !== undefined ? item.clearable : true,
           placeholder:
             item.placeholder ||
             (item.type === 'input' ? '请输入内容' : '请选择'),
@@ -179,7 +175,6 @@
             return {
               ...base,
               type: item.dateType || 'daterange',
-              defaultValue: this.today,
               'value-format': 'yyyy-MM-dd HH:mm:ss',
               'range-separator': '至',
               'start-placeholder': '开始日期',
@@ -216,10 +211,7 @@
 
       /** 重置 */
       reset() {
-        const today = new Date();
-        this.defaultWhere = {
-          startTime: today
-        };
+        this.defaultWhere = {};
         this.search();
       }
     }

+ 15 - 8
src/views/beEntrusted/components/create-order.vue

@@ -199,9 +199,7 @@
       </el-form>
       <template v-slot:footer>
         <el-button @click="cancel">取消</el-button>
-        <el-button type="primary" @click="save" :loading="loading">
-          确定
-        </el-button>
+        <el-button type="primary" @click="save"> 确定 </el-button>
       </template>
       <!-- 选择工艺路线 -->
       <ProcessRoute ref="processRouteRef" @changeParent="changeParent" />
@@ -230,7 +228,7 @@
     data() {
       return {
         visible: false,
-        loading: false,
+        loading: null,
         disabledList: [], //已保存数据不做删除
         form: {
           bomCategoryId: '',
@@ -254,7 +252,9 @@
           produceRoutingName: '',
           sourceId: '',
           sourceCode: '',
-          priority: ''
+          priority: '',
+          formingWeight: '',
+          newWeightUnit: ''
         },
         // 表单验证规则
         rules: {
@@ -409,6 +409,8 @@
         this.form.measuringUnit = this.form.measuringUnit;
         this.form.sourceCode = this.form.code;
         this.form.sourceId = this.form.id;
+        this.form.formingWeight = this.form.totalWeight;
+        this.form.newWeightUnit = this.form.weightUnit;
 
         this.getRoteList(this.form.beEntrustedFactoriesId);
       },
@@ -481,21 +483,26 @@
 
           this.form.planDeliveryTime = this.form.planDeliveryTime.split(' ')[0];
 
-          this.loading = true;
           let params = {
             ...this.form,
             sourceType: 3
           };
 
+          this.loading = this.$loading({
+            lock: true,
+            text: '加载中',
+            background: 'rgba(0, 0, 0, 0.7)'
+          });
+
           createProductionOrder(params)
             .then((res) => {
-              this.loading = false;
+              this.loading.close();
               this.$message.success('成功');
               this.cancel();
               this.$emit('refresh');
             })
             .catch((e) => {
-              this.loading = false;
+              this.loading.close();
             });
         });
       },

+ 41 - 20
src/views/beEntrusted/components/goodsDetail.vue

@@ -1,7 +1,7 @@
 <template>
   <ele-modal
     :visible.sync="visible"
-    title="发货单"
+    :title="title"
     v-if="visible"
     width="65vw"
     append-to-body
@@ -25,7 +25,7 @@
         <el-input
           placeholder=""
           v-model="row.receiveQuantity"
-          :disabled="type == 'detail'"
+          :disabled="type == 'detail' || type == 'send'"
         >
           <template slot="append">{{ row.measuringUnit }}</template>
         </el-input>
@@ -40,7 +40,7 @@
       </template>
     </ele-pro-table>
 
-    <template v-slot:footer v-if="type != 'detail'">
+    <template v-slot:footer v-if="type != 'detail' && type != 'send'">
       <el-button @click="cancel">取消</el-button>
       <el-button type="primary" @click="save"> 确定 </el-button>
     </template>
@@ -60,7 +60,15 @@
         current: null,
         typeName,
         id: '',
-        columns: [
+        type: '',
+        title: '',
+        loading: null
+      };
+    },
+
+    computed: {
+      columns() {
+        return [
           {
             width: 45,
             type: 'selection',
@@ -114,7 +122,8 @@
             label: '接收数量',
             align: 'center',
             minWidth: 150,
-            showOverflowTooltip: true
+            showOverflowTooltip: true,
+            show: this.type != 'send' ? true : false
           },
 
           {
@@ -140,13 +149,13 @@
             showOverflowTooltip: true
           },
 
-          {
-            prop: 'taskName',
-            label: '工序',
-            align: 'center',
-            minWidth: 150,
-            showOverflowTooltip: true
-          },
+          // {
+          //   prop: 'taskName',
+          //   label: '工序',
+          //   align: 'center',
+          //   minWidth: 150,
+          //   showOverflowTooltip: true
+          // },
           {
             prop: 'categoryCode',
             label: '编码',
@@ -167,9 +176,8 @@
             align: 'center',
             showOverflowTooltip: true
           }
-        ],
-        type: ''
-      };
+        ];
+      }
     },
 
     methods: {
@@ -177,12 +185,15 @@
         this.visible = true;
         this.id = item.id;
         this.type = type;
+        this.title = this.type != 'send' ? '收货单' : '发货单';
         this.getDetail(item.id);
       },
 
       async getDetail(id) {
+        const detailType = this.type != 'send' ? 1 : 2;
         await pleaseEntrustGoodsDetail({
-          id
+          id,
+          detailType
         }).then((res) => {
           this.goodsList = [];
           res.data.forEach((item) => {
@@ -208,11 +219,21 @@
           }
         }
 
-        confirmReceipt(this.goodsList).then((res) => {
-          this.$message.success('收货成功');
-          this.$emit('done');
-          this.visible = false;
+        this.loading = this.$loading({
+          lock: true,
+          text: '加载中',
+          background: 'rgba(0, 0, 0, 0.7)'
         });
+        confirmReceipt(this.goodsList)
+          .then((res) => {
+            this.loading.close();
+            this.$message.success('收货成功');
+            this.$emit('done');
+            this.visible = false;
+          })
+          .catch(() => {
+            this.loading.close();
+          });
       },
 
       cancel() {

+ 20 - 2
src/views/beEntrusted/index.vue

@@ -70,6 +70,12 @@
           <el-tag v-else-if="row.sendStatus == 2" type="success">{{
             '已收货'
           }}</el-tag>
+          <el-tag v-else-if="row.sendStatus == 3" type="success">{{
+            '受托已发'
+          }}</el-tag>
+          <el-tag v-else-if="row.sendStatus == 4" type="success">{{
+            '请托已收'
+          }}</el-tag>
         </template>
 
         <template v-slot:approvalStatus="{ row }">
@@ -103,11 +109,23 @@
             收货
           </el-link>
 
+          <el-link
+            type="primary"
+            :underline="false"
+            @click="receiveGoos(row, 'send')"
+            v-if="
+              row.approvalStatus == 2 &&
+              (row.sendStatus == 3 || row.sendStatus == 4)
+            "
+          >
+            发货详情
+          </el-link>
+
           <el-link
             type="primary"
             :underline="false"
             @click="receiveGoos(row, 'detail')"
-            v-if="row.approvalStatus == 2 && row.sendStatus == 2"
+            v-if="row.approvalStatus == 2 && row.sendStatus != 1"
           >
             收货详情
           </el-link>
@@ -140,7 +158,7 @@
       </template>
     </ele-modal>
 
-    <create-order ref="createOrderRef"></create-order>
+    <create-order ref="createOrderRef" @refresh="reload"></create-order>
     <goodsDetail ref="goodsDetailRef" @done="refresh"></goodsDetail>
   </div>
 </template>

+ 0 - 7
src/views/entrust/components/addInvoice.vue

@@ -124,13 +124,6 @@
             showOverflowTooltip: true
           },
 
-          {
-            prop: 'taskName',
-            label: '工序',
-            align: 'center',
-            minWidth: 150,
-            showOverflowTooltip: true
-          },
           {
             prop: 'categoryCode',
             label: '编码',

+ 1 - 1
src/views/entrust/components/create.vue

@@ -248,7 +248,7 @@
     <template v-slot:footer v-if="type != 'detail'">
       <el-button @click="cancel">取消</el-button>
       <el-button type="primary" @click="save(1)"> 保存 </el-button>
-      <el-button type="primary" @click="save(2)"> 提交 </el-button>
+      <el-button type="primary" @click="save(2)" v-if="type != 'edit'"> 提交 </el-button>
     </template>
     <!-- <detail
       v-if="activeComp === 'bpm' && form.processInstanceId"

+ 91 - 32
src/views/entrust/components/goodsDetail.vue

@@ -1,7 +1,7 @@
 <template>
   <ele-modal
     :visible.sync="visible"
-    title="发货单"
+    :title="title"
     v-if="visible"
     width="65vw"
     append-to-body
@@ -14,7 +14,7 @@
       class="ele-btn-icon"
       @click="addGoods"
       style="margin-bottom: 10px"
-      v-if="type != 'detail'"
+      v-if="type != 'detail' && type != 'receipt'"
     >
       新增在制品
     </el-button>
@@ -37,12 +37,22 @@
         <span>{{ row.weight }}{{ row.weightUnit }}</span>
       </template>
 
+      <template v-slot:receiveQuantity="{ row }">
+        <el-input
+          placeholder=""
+          v-model="row.receiveQuantity"
+          :disabled="type == 'receipt' && itemData.sendStatus == 4"
+        >
+          <template slot="append">{{ row.measuringUnit }}</template>
+        </el-input>
+      </template>
+
       <template v-slot:rootCategoryLevelId="{ row }">
         <el-tag>{{ typeName[Number(row.rootCategoryLevelId)] }}</el-tag>
       </template>
     </ele-pro-table>
 
-    <template v-slot:footer v-if="type != 'detail'">
+    <template v-slot:footer v-if="type != 'detail' && itemData.sendStatus != 4">
       <el-button @click="cancel">取消</el-button>
       <el-button type="primary" @click="save"> 确定 </el-button>
     </template>
@@ -54,7 +64,8 @@
 <script>
   import {
     pleaseEntrustGoodsDetail,
-    pleaseEntrustSaveDetail
+    pleaseEntrustSaveDetail,
+    pleaseTReceiveGoods
   } from '@/api/entrust';
   import { typeName } from '@/views/produce/components/common.js';
 
@@ -72,14 +83,16 @@
         current: null,
         typeName,
         id: '',
-        columns: [
-          // {
-          //   width: 45,
-          //   type: 'selection',
-          //   columnKey: 'selection',
-          //   align: 'center',
-          //   reserveSelection: true
-          // },
+        title: '',
+        type: '',
+        itemData: {},
+        loading: null
+      };
+    },
+
+    computed: {
+      columns() {
+        return [
           {
             columnKey: 'index',
             label: '序号',
@@ -127,6 +140,15 @@
             minWidth: 110,
             showOverflowTooltip: true
           },
+          {
+            prop: 'receiveQuantity',
+            slot: 'receiveQuantity',
+            label: '接收数量',
+            align: 'center',
+            minWidth: 150,
+            showOverflowTooltip: true,
+            show: this.type == 'receipt' ? true : false
+          },
           {
             prop: 'specification',
             label: '规格',
@@ -143,13 +165,13 @@
             showOverflowTooltip: true
           },
 
-          {
-            prop: 'taskName',
-            label: '工序',
-            align: 'center',
-            minWidth: 150,
-            showOverflowTooltip: true
-          },
+          // {
+          //   prop: 'taskName',
+          //   label: '工序',
+          //   align: 'center',
+          //   minWidth: 150,
+          //   showOverflowTooltip: true
+          // },
           {
             prop: 'categoryCode',
             label: '编码',
@@ -170,37 +192,74 @@
             align: 'center',
             showOverflowTooltip: true
           }
-        ],
-        type: ''
-      };
+        ];
+      }
     },
 
     methods: {
       open(item, type) {
         this.visible = true;
         this.type = type;
+        this.title = this.type != 'receipt' ? '发货单' : '收货单';
+        this.itemData = item;
         this.id = item.id;
         this.getDetail(item.id);
       },
 
       async getDetail(id) {
+        const detailType = this.type == 'receipt' ? 2 : 1;
         await pleaseEntrustGoodsDetail({
-          id
+          id,
+          detailType
         }).then((res) => {
-          this.goodsList = res.data;
+          this.goodsList = [];
+          res.data.forEach((item) => {
+            if (this.type == 'receipt' && this.itemData.sendStatus != 4) {
+              item.receiveQuantity = item.quantity;
+            }
+            this.goodsList.push(this.deepCopy(item));
+          });
         });
       },
 
       save() {
-        if (this.goodsList.length == 0) {
-          return this.$message.warning('请先新增一条在制品数据!');
-        }
+        if (this.type != 'receipt') {
+          if (this.goodsList.length == 0) {
+            return this.$message.warning('请先新增一条在制品数据!');
+          }
 
-        pleaseEntrustSaveDetail(this.goodsList).then((res) => {
-          this.$message.success('发货成功');
-          this.$emit('done');
-          this.visible = false;
-        });
+          this.loading = this.$loading({
+            lock: true,
+            text: '加载中',
+            background: 'rgba(0, 0, 0, 0.7)'
+          });
+          pleaseEntrustSaveDetail(this.goodsList)
+            .then((res) => {
+              this.loading.close();
+              this.$message.success('发货成功');
+              this.$emit('done');
+              this.visible = false;
+            })
+            .catch(() => {
+              this.loading.close();
+            });
+        } else if (this.type == 'receipt') {
+          this.loading = this.$loading({
+            lock: true,
+            text: '加载中',
+            background: 'rgba(0, 0, 0, 0.7)'
+          });
+          pleaseTReceiveGoods(this.goodsList)
+            .then((res) => {
+              this.loading.close();
+              this.$message.success('收货成功');
+              this.$emit('done');
+              this.visible = false;
+            })
+            .catch(() => {
+              this.loading.close();
+            });
+        }
       },
 
       cancel() {

+ 26 - 14
src/views/entrust/index.vue

@@ -38,6 +38,12 @@
           <el-tag v-else-if="row.sendStatus == 2" type="success">{{
             '已收货'
           }}</el-tag>
+          <el-tag v-else-if="row.sendStatus == 3" type="success">{{
+            '受托已发'
+          }}</el-tag>
+          <el-tag v-else-if="row.sendStatus == 4" type="success">{{
+            '请托已收'
+          }}</el-tag>
         </template>
 
         <template v-slot:approvalStatus="{ row }">
@@ -81,17 +87,6 @@
           >
             打印
           </el-button>
-          <!-- <el-button
-            size="small"
-            type="danger"
-            icon="el-icon-delete"
-            class="ele-btn-icon"
-            @click="remove()"
-            plain
-            :disabled="selection.length == 0"
-          >
-            删除
-          </el-button> -->
         </template>
 
         <template v-slot:action="{ row }">
@@ -147,13 +142,30 @@
             发货
           </el-link>
 
+          <el-link
+            type="primary"
+            :underline="false"
+            @click="sendGoods(row, 'receipt')"
+            v-if="row.approvalStatus == 2 && row.sendStatus == 3"
+          >
+            收货
+          </el-link>
+
+          <el-link
+            type="primary"
+            :underline="false"
+            @click="sendGoods(row, 'receipt')"
+            v-if="row.approvalStatus == 2 && row.sendStatus == 4"
+          >
+            收货详情
+          </el-link>
+
           <el-link
             type="primary"
             :underline="false"
             @click="sendGoods(row, 'detail')"
             v-if="
-              row.approvalStatus == 2 &&
-              (row.sendStatus == 1 || row.sendStatus == 2)
+              row.approvalStatus == 2 && row.sendStatus != 0 && row.sendStatus
             "
           >
             发货详情
@@ -485,7 +497,7 @@
           {
             columnKey: 'action',
             label: '操作',
-            width: 180,
+            width: 220,
             align: 'center',
             resizable: false,
             fixed: 'right',

+ 24 - 0
src/views/produce/components/new_produceOrder.vue

@@ -67,6 +67,14 @@
         </div>
       </template>
 
+      <template v-slot:entrustStatus="{ row }">
+        <div v-if="row.entrustStatus">
+          <span v-if="row.entrustStatus == 1">未请托</span>
+          <span v-if="row.entrustStatus == 2">请托中</span>
+          <span v-if="row.entrustStatus == 3">请托完成</span>
+        </div>
+      </template>
+
       <template v-slot:workOrderType="{ row }">
         <span v-if="row.workOrderType == 1">普通订单</span>
         <span v-if="row.workOrderType == 2">临时订单</span>
@@ -236,6 +244,13 @@
             slot: 'outsourceStatus',
             showOverflowTooltip: true
           },
+          {
+            prop: 'entrustStatus',
+            label: '请托状态',
+            align: 'center',
+            slot: 'entrustStatus',
+            showOverflowTooltip: true
+          },
           {
             prop: 'productionCodes',
             label: '生产编号',
@@ -431,6 +446,10 @@
         if (row.outsourceStatus == 2) {
           return 'warning-row';
         }
+
+        if (row.entrustStatus == 2) {
+          return 'ent-row';
+        }
       },
 
       /* 表格数据源 */
@@ -536,6 +555,11 @@
     // color: #39d9ac;
   }
 
+  ::v-deep .el-table .ent-row {
+    background: #5419d4;
+    // color: #39d9ac;
+  }
+
   ::v-deep .el-table .success-row {
     background: #f0f9eb;
   }

+ 39 - 8
src/views/produce/components/outsourcing/details.vue

@@ -18,6 +18,7 @@
       max-height="61vh"
       :need-page="false"
       v-if="activeName == '1'"
+      @refresh="refresh"
     >
       <template v-slot:toolbar>
         <div class="rx-sc">
@@ -152,6 +153,7 @@
       max-height="61vh"
       :need-page="false"
       v-if="activeName == '2'"
+      @refresh="refresh"
     >
       <template v-slot:toolbar>
         <div class="rx-sc">
@@ -190,6 +192,12 @@
         <el-tag v-else-if="row.sendStatus == 2" type="success">{{
           '已收货'
         }}</el-tag>
+        <el-tag v-else-if="row.sendStatus == 3" type="success">{{
+          '受托已发'
+        }}</el-tag>
+        <el-tag v-else-if="row.sendStatus == 4" type="success">{{
+          '请托已收'
+        }}</el-tag>
       </template>
 
       <template v-slot:approvalStatus="{ row }">
@@ -257,13 +265,30 @@
           发货
         </el-link>
 
+        <el-link
+          type="primary"
+          :underline="false"
+          @click="sendGoods(row, 'receipt')"
+          v-if="row.approvalStatus == 2 && row.sendStatus == 3"
+        >
+          收货
+        </el-link>
+
+        <el-link
+          type="primary"
+          :underline="false"
+          @click="sendGoods(row, 'receipt')"
+          v-if="row.approvalStatus == 2 && row.sendStatus == 4"
+        >
+          收货详情
+        </el-link>
+
         <el-link
           type="primary"
           :underline="false"
           @click="sendGoods(row, 'detail')"
           v-if="
-            row.approvalStatus == 2 &&
-            (row.sendStatus == 1 || row.sendStatus == 2)
+            row.approvalStatus == 2 && row.sendStatus != 0 && row.sendStatus
           "
         >
           发货详情
@@ -761,7 +786,7 @@
           {
             columnKey: 'action',
             label: '操作',
-            width: 180,
+            width: 220,
             align: 'center',
             resizable: false,
             fixed: 'right',
@@ -915,17 +940,23 @@
 
       /* 刷新表格 */
       reload() {
+        console.log('999');
         this.$nextTick(() => {
-          console.log('88');
-          // this.getList(this.workListIds);
+          if (this.activeName == '2') {
+            this.getPleaseData(this.workOrderCode);
+          } else {
+            this.getDataList(this.workOrderCode);
+          }
         });
       },
       refresh() {
         this.$nextTick(() => {
-          console.log('88');
-          // this.getList(this.workListIds);
+          if (this.activeName == '2') {
+            this.getPleaseData(this.workOrderCode);
+          } else {
+            this.getDataList(this.workOrderCode);
+          }
         });
-        // this.getList(this.workListIds);
       },
 
       handleAdd() {

+ 21 - 363
src/views/produce/components/warehousing/index.vue

@@ -138,106 +138,6 @@
                 </el-select>
               </div>
             </div>
-
-            <!-- <div>
-              <div class="text">入库规格</div>
-              <div class="select-type">
-                <el-select
-                  v-model="inWarehouseSpecType"
-                  filterable
-                  clearable
-                  placeholder="请选择入库规格"
-                  size="mini"
-                  class="content_num select-warehousing"
-                  disabled
-                >
-                  <el-option
-                    v-for="item in WarehouseSpecTypeList"
-                    :key="item.value"
-                    :label="item.text"
-                    :value="item.value"
-                  ></el-option>
-                </el-select>
-              </div>
-            </div> -->
-          </div>
-          <!-- <div style="margin-top: 6px">
-            <el-select
-              v-model="item.warehouseId"
-              filterable
-              clearable
-              placeholder="请选择仓库"
-              size="mini"
-              class="content_num"
-            >
-              <el-option
-                v-for="item in warehouseList"
-                :key="item.id"
-                :value="item.id"
-                :label="item.name"
-              ></el-option>
-            </el-select>
-          </div> -->
-
-          <!-- <div v-for="(it, idx) in item.toWarehouseList" :key="idx"> -->
-          <batchSemiProductJobBom
-            :list="item.semiProductList"
-            :item="item"
-            :singleReport="item.singleReport"
-            :storeType="storeType"
-            :equipmentList="item.equipmentList"
-            :isChoose="isChoose"
-            :isEngrave="isEngrave"
-            :isDisposal="isDisposal"
-          >
-          </batchSemiProductJobBom>
-          <!-- </div> -->
-        </div>
-
-        <!-- <div v-else-if="clientEnvironmentId == 3 && item.singleReport == 1">
-          <div class="item">
-            <div>
-              <div class="text">仓库</div>
-              <div class="select-type">
-                <el-select
-                  v-model="warehouseId"
-                  filterable
-                  clearable
-                  placeholder="请选择仓库"
-                  size="mini"
-                  class="content_num"
-                >
-                  <el-option
-                    v-for="item in warehouseList"
-                    :key="item.id"
-                    :value="item.id"
-                    :label="item.name"
-                  ></el-option>
-                </el-select>
-              </div>
-            </div>
-
-            <div>
-              <div class="text">入库规格</div>
-              <div class="select-type">
-                <el-select
-                  v-model="inWarehouseSpecType"
-                  filterable
-                  clearable
-                  placeholder="请选择入库规格"
-                  size="mini"
-                  class="content_num select-warehousing"
-                  disabled
-                >
-                  <el-option
-                    v-for="item in WarehouseSpecTypeList"
-                    :key="item.value"
-                    :label="item.text"
-                    :value="item.value"
-                  ></el-option>
-                </el-select>
-              </div>
-            </div>
           </div>
 
           <batchSemiProductJobBom
@@ -251,9 +151,8 @@
             :isDisposal="isDisposal"
           >
           </batchSemiProductJobBom>
-        </div> -->
+        </div>
 
-        <!-- 单独报工 -->
         <div
           v-else-if="
             item.currentTaskDiagram.type == 5 &&
@@ -262,8 +161,7 @@
             item.semiProductList
           "
         >
-          <!-- <div v-if="item.toWarehouseList && item.toWarehouseList.length > 0"> -->
-          <div class="item">
+          <div class="item" v-if="item.currentTaskDiagram.isEntrustSend != 1">
             <div>
               <div class="text">仓库</div>
               <div class="select-type">
@@ -284,39 +182,8 @@
                 </el-select>
               </div>
             </div>
-
-            <!-- <div>
-              <div class="text">入库规格</div>
-              <div class="select-type">
-                <el-select
-                  v-model="inWarehouseSpecType"
-                  filterable
-                  clearable
-                  placeholder="请选择入库规格"
-                  size="mini"
-                  class="content_num select-warehousing"
-                  disabled
-                >
-                  <el-option
-                    v-for="item in WarehouseSpecTypeList"
-                    :key="item.value"
-                    :label="item.text"
-                    :value="item.value"
-                  ></el-option>
-                </el-select>
-              </div>
-            </div> -->
           </div>
 
-          <!-- <div v-for="(it, idx) in item.toWarehouseList" :key="idx"> -->
-          <!-- <packingTgBom
-                :list="it.extInfo.pickOutInList"
-                :singleReport="item.singleReport"
-                :item="item"
-                :equipmentList="item.equipmentList"
-                :isWarehousing="true"
-              ></packingTgBom> -->
-          <!-- </div> -->
           <batchSemiProductJobBom
             :list="item.semiProductList"
             :item="item"
@@ -328,38 +195,8 @@
             :isDisposal="isDisposal"
           >
           </batchSemiProductJobBom>
-          <!-- </div> -->
         </div>
 
-        <!-- {{ item.currentTaskDiagram.type }} {{ item.singleReport }}
- {{ clientEnvironmentId != 2 && item && item.currentTaskDiagram.type == 5 && clientEnvironmentId != 3 && item.singleReport == 1 }} -->
-        <!-- <div
-          v-if="
-            clientEnvironmentId != 2 &&
-            item &&
-            item.currentTaskDiagram.type == 5 &&
-            clientEnvironmentId != 3 &&
-            item.singleReport !== 1
-          "
-        >
-          <div style="margin-top: 6px">
-            <el-select
-              v-model="item.warehouseId"
-              filterable
-              clearable
-              placeholder="请选择仓库"
-              size="mini"
-              class="content_num"
-            >
-              <el-option
-                v-for="item in warehouseList"
-                :key="item.id"
-                :value="item.id"
-                :label="item.name"
-              ></el-option>
-            </el-select>
-          </div> -->
-
         <div
           v-if="
             item.product &&
@@ -368,7 +205,7 @@
             item.singleReport !== 1
           "
         >
-          <div class="item">
+          <div class="item" v-if="item.currentTaskDiagram.isEntrustSend != 1">
             <div>
               <div class="text">仓库</div>
               <div class="select-type">
@@ -389,67 +226,7 @@
                 </el-select>
               </div>
             </div>
-
-            <!-- <div>
-              <div class="text">入库规格</div>
-              <div class="select-type">
-                <el-select
-                  v-model="inWarehouseSpecType"
-                  filterable
-                  clearable
-                  placeholder="请选择入库规格"
-                  size="mini"
-                  class="content_num select-warehousing"
-                  disabled
-                >
-                  <el-option
-                    v-for="item in WarehouseSpecTypeList"
-                    :key="item.value"
-                    :label="item.text"
-                    :value="item.value"
-                  ></el-option>
-                </el-select>
-              </div>
-            </div> -->
           </div>
-          <!-- <div style="margin-top: 6px">
-            <el-select
-              v-model="warehouseId"
-              filterable
-              clearable
-              placeholder="请选择仓库"
-              size="mini"
-              class="content_num"
-            >
-              <el-option
-                v-for="item in warehouseList"
-                :key="item.id"
-                :value="item.id"
-                :label="item.name"
-              ></el-option>
-            </el-select>
-          </div> -->
-
-          <!-- 批量报工 -->
-          <!-- <div
-            class="list_box"
-            v-for="(d, index) in item.toWarehouseList"
-            :key="index"
-          > -->
-          <!-- <div class="time" style="margin-bottom: 10rpx"
-              >打包时间: {{ d.createTime }}</div
-            > -->
-          <!-- <packagingGroupingTwx
-              ref="packagingGroupingRef"
-              :objData="d.extInfo"
-              :workOrderId="item.workOrderId"
-              :taskId="item.currentTaskDiagram.taskId"
-            >
-            </packagingGroupingTwx> -->
-
-          <!-- :list="objData.product" :item="objData" :isDetails="true"
-            :singleReport="objData.singleReport"
-            :equipmentList="objData.equipmentList" -->
 
           <batchSemiProductJobBom
             :list="item.product"
@@ -462,61 +239,7 @@
             :isDisposal="isDisposal"
           >
           </batchSemiProductJobBom>
-          <!-- </div> -->
         </div>
-
-        <!-- <div v-if="clientEnvironmentId == 2">
-          <div class="item">
-            <div>
-              <div class="text">仓库</div>
-              <div class="select-type">
-                <el-select
-                  v-model="warehouseId"
-                  filterable
-                  clearable
-                  placeholder="请选择仓库"
-                  size="mini"
-                  class="content_num"
-                >
-                  <el-option
-                    v-for="item in warehouseList"
-                    :key="item.id"
-                    :value="item.id"
-                    :label="item.name"
-                  ></el-option>
-                </el-select>
-              </div>
-            </div>
-
-            <div>
-              <div class="text">入库规格</div>
-              <div class="select-type">
-                <el-select
-                  v-model="inWarehouseSpecType"
-                  filterable
-                  clearable
-                  placeholder="请选择入库规格"
-                  size="mini"
-                  class="content_num select-warehousing"
-                  disabled
-                >
-                  <el-option
-                    v-for="item in WarehouseSpecTypeList"
-                    :key="item.value"
-                    :label="item.text"
-                    :value="item.value"
-                  ></el-option>
-                </el-select>
-              </div>
-            </div>
-          </div>
-        </div> -->
-
-        <!-- item.currentTaskDiagram.type == 4 ? item.pickOutInList : item.semiProductList -->
-
-        <!-- <div v-else>
-          <el-empty :image-size="30" description="暂无数据"></el-empty>
-        </div> -->
       </div>
     </div>
   </div>
@@ -813,7 +536,7 @@
       },
 
       async getTeamList(id) {
-        if(!id) return;
+        if (!id) return;
         const ids = id.split(',');
         this.teamList = [];
         this.teamUserList = [];
@@ -829,7 +552,6 @@
 
           this.teamAllList.push(item.userVOList);
         });
-
       },
 
       changeId() {
@@ -1015,77 +737,7 @@
             .catch((e) => {
               this.loading.close();
             });
-        }
-        // else if (this.clientEnvironmentId == 2) {
-        //   if (!this.warehouseId) {
-        //     return this.$message.warning('请选择仓库');
-        //   }
-
-        //   const listData = this.List.map((item) => {
-        //     let categoryId = '',
-        //       rootCategoryLevelId = '';
-        //     if (item.product.length) {
-        //       categoryId = item.categoryId;
-        //       rootCategoryLevelId = item.rootCategoryLevelId;
-        //     }
-
-        //     let storageInfo = {
-        //       inWarehouseSpecType:
-        //         this.clientEnvironmentId !== 3 || this.clientEnvironmentId !== 2
-        //           ? Number(this.inWarehouseSpecType)
-        //           : '',
-        //       warehouseId: this.warehouseId,
-        //       inWarehouseType: this.inWarehouseType,
-        //       toWarehouseList: this.clientEnvironmentId == 3 ? this.tgList : []
-        //     };
-
-        //     if (this.clientEnvironmentId == 2) {
-        //       let num = '';
-        //       if (item.workReportInfo && item.workReportInfo?.formedNum) {
-        //         num = item.workReportInfo.formedNum;
-        //       }
-
-        //       storageInfo.packingReportList = [
-        //         {
-        //           code: item.productCode,
-        //           categoryId: categoryId,
-        //           workOrderId: item.workOrderId,
-        //           rootCategoryLevelId: rootCategoryLevelId,
-        //           totalQuantity: num,
-        //           quantity: num,
-        //           unit: item.unit,
-        //           packingNum: 1,
-        //           taskId: -1
-        //         }
-        //       ];
-        //       item.storageInfo = storageInfo;
-        //     }
-
-        //     return {
-        //       ...item
-        //     };
-        //   });
-
-        //   console.log(listData, 'listData');
-        //   this.loading = this.$loading({
-        //     lock: true,
-        //     text: '加载中',
-        //     background: 'rgba(0, 0, 0, 0.7)'
-        //   });
-
-        //   jobSave(listData)
-        //     .then((res) => {
-        //       console.log(res);
-        //       this.$message.success('入库成功');
-        //       this.loading.close();
-        //       this.getList(this.idsList);
-        //       this.$emit('warehouseSuccess', 'warehouseSuccess');
-        //     })
-        //     .catch((e) => {
-        //       this.loading.close();
-        //     });
-        // }
-        else if (this.clientEnvironmentId == 3) {
+        } else if (this.clientEnvironmentId == 3) {
           for (const item of this.List) {
             for (const it of item.semiProductList) {
               const data = it.extInfo;
@@ -1161,24 +813,30 @@
         } else {
           let _arr = [];
 
-          console.log(this.List, 'this.List');
-
           this.List.forEach((item) => {
             item.warehouseId = this.warehouseId;
           });
 
           console.log(_arr, '_arr121221');
 
-          let bol = true;
-          bol = this.List.every((e, i) => {
-            return e.warehouseId;
-          });
-
-          if (!bol) {
-            this.$message.warning(`仓库不能为空`);
-            return false;
+          for (let item of this.List) {
+            if (item.currentTaskDiagram.isEntrustSend != 1) {
+              if (!item.warehouseId) {
+                return this.$message.warning(`仓库不能为空`);
+              }
+            }
           }
 
+          // let bol = true;
+          // bol = this.List.every((e, i) => {
+          //   return e.warehouseId;
+          // });
+
+          // if (!bol) {
+          //   this.$message.warning(`仓库不能为空`);
+          //   return false;
+          // }
+
           let _arr2 = JSON.parse(JSON.stringify(this.List));
 
           _arr2.map((m) => {

+ 3 - 3
src/views/produce/index.vue

@@ -67,7 +67,7 @@
               :default-expand-all="defaultExpandAll" -->
           </el-tab-pane>
 
-          <!-- <el-tab-pane label="工位" name="second"> -->
+          <!-- <el-tab-pane label="我的任务" name="second"> -->
           <!-- <AssetTree @handleNodeClick="handleNodeClickNew" @setRootId="setRootId" id="0" :paramsType="'type'"
               ref="treeList" eqDevice="sb" /> -->
           <!-- <el-tree
@@ -77,8 +77,8 @@
               :highlight-current="true"
               @node-click="handleNodeClick"
             >
-            </el-tree>
-          </el-tab-pane> -->
+            </el-tree>-->
+          <!-- </el-tab-pane> -->
         </el-tabs>
       </div>
 

+ 7 - 0
src/views/produceOrder/index.vue

@@ -538,6 +538,13 @@
             minWidth: 110,
             showOverflowTooltip: true
           },
+          {
+            prop: 'sourceCode',
+            label: '来源编码',
+            align: 'center',
+            minWidth: 110,
+            showOverflowTooltip: true
+          },
           {
             prop: 'workOrderType',
             label: '订单类型',

+ 7 - 0
src/views/produceWord/index.vue

@@ -209,6 +209,13 @@ r++<template>
             minWidth: 110,
             showOverflowTooltip: true
           },
+          {
+            prop: 'sourceCode',
+            label: '来源编码',
+            align: 'center',
+            minWidth: 110,
+            showOverflowTooltip: true
+          },
           {
             prop: 'workOrderType',
             label: '订单类型',

+ 40 - 8
src/views/taskList/components/Ddtails.vue

@@ -104,6 +104,29 @@
             ></el-input>
           </el-form-item>
         </el-col>
+        <el-col :lg="12" :md="12" :sm="12" :xl="12" :xs="12">
+          <el-form-item label="报工数" prop="reportQuantity">
+            <el-input
+              v-model.number="form.reportQuantity"
+              :disabled="inputDis"
+              placeholder="请输入"
+              type="number"
+              @input="(e) => handleQuantityInput(e, 'reportQuantity')"
+            ></el-input>
+          </el-form-item>
+        </el-col>
+
+        <el-col :lg="12" :md="12" :sm="12" :xl="12" :xs="12">
+          <el-form-item label="损耗数" prop="lossQuantity">
+            <el-input
+              v-model.number="form.lossQuantity"
+              :disabled="inputDis"
+              placeholder="请输入"
+              type="number"
+              @input="(e) => handleQuantityInput(e, 'lossQuantity')"
+            ></el-input>
+          </el-form-item>
+        </el-col>
         <el-col :span="24">
           <el-form-item label="备注信息">
             <el-input
@@ -138,12 +161,13 @@
         >
           <el-form-item :label="item.label" class="form80">
             <el-input v-model="current[item.prop]" disabled>
-              <!-- <template
-                slot="append"
-                v-if="item.label == '要求生产数量:'"
-              >
-              {{  }}
-              </template> -->
+              <template slot="append" v-if="item.label == '要求生产数量:'">
+                {{ current['measuringUnit'] }}
+              </template>
+
+              <template slot="append" v-if="item.label == '要求生产重量:'">
+                {{ current['newWeightUnit'] }}
+              </template>
             </el-input>
           </el-form-item>
         </el-col>
@@ -160,7 +184,15 @@
           :xs="12"
         >
           <el-form-item :label="item.label" class="form80">
-            <el-input v-model="current[item.prop]" disabled></el-input>
+            <el-input v-model="current[item.prop]" disabled>
+              <template slot="append" v-if="item.label == '任务数量:'">
+                {{ current['measuringUnit'] }}
+              </template>
+
+              <template slot="append" v-if="item.label == '任务重量:'">
+                {{ current['newWeightUnit'] }}
+              </template>
+            </el-input>
           </el-form-item>
         </el-col>
       </el-row>
@@ -262,7 +294,7 @@
             { label: '任务开始时间:', prop: 'startTime' },
             { label: '任务结束时间:', prop: 'endTime' },
             { label: '任务数量:', prop: 'quantity' },
-            { label: '任务重量(kg):', prop: 'weight' }
+            { label: '任务重量:', prop: 'weight' }
           ]
         },
         loadingBtn: false,

+ 6 - 2
src/views/taskList/index.vue

@@ -631,7 +631,9 @@
           batchNo: row.batchNo,
           productCode: row.productCode,
           productName: row.productName,
-          specification: row.specification
+          specification: row.specification,
+          newWeightUnit: row.newWeightUnit,
+          measuringUnit: row.measuringUnit
         };
         let form = {
           realEndTime: row.realEndTime,
@@ -640,7 +642,9 @@
           unqualifiedQuantity: row.unqualifiedQuantity,
           qualifiedWeight: row.qualifiedWeight,
           remark: row.assigneeRemark,
-          qualifiedQuantity: row.qualifiedQuantity
+          qualifiedQuantity: row.qualifiedQuantity,
+          reportQuantity: row.reportQuantity,
+          lossQuantity: row.lossQuantity
         };
         this.$refs.detailsRef.open(type, currentRow, form);
       },

+ 198 - 0
src/views/wanLong/components/dailySearch.vue

@@ -0,0 +1,198 @@
+<!-- 搜索表单 -->
+<template>
+  <el-form
+    label-width="90px"
+    class="ele-form-search"
+    @keyup.enter.native="search"
+    @submit.native.prevent
+  >
+    <el-row :gutter="15">
+      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
+        <el-form-item label="日期:">
+          <el-date-picker
+            v-model="where.createTime"
+            type="date"
+            placeholder="选择日期"
+            :clearable="false"
+          >
+          </el-date-picker>
+        </el-form-item>
+      </el-col>
+      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
+        <el-form-item label="产品分类:">
+          <el-select
+            clearable
+            v-model="where.categoryLevelId"
+            placeholder="请选择"
+          >
+            <el-option
+              v-for="item in categoryData"
+              :label="item.label"
+              :value="item.value"
+              :key="item.value"
+            ></el-option>
+          </el-select>
+        </el-form-item>
+      </el-col>
+      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
+        <el-form-item label="工单状态:">
+          <el-select
+            clearable
+            v-model="where.workOrderStatusList"
+            placeholder="请选择"
+            multiple
+          >
+            <el-option
+              v-for="item in orderStatus"
+              :label="item.label"
+              :value="item.value"
+              :key="item.value"
+            ></el-option>
+          </el-select>
+        </el-form-item>
+      </el-col>
+
+      <el-col v-bind="styleResponsive ? { lg: 3, md: 6 } : { span: 3 }">
+        <div class="ele-form-actions">
+          <el-button
+            type="primary"
+            icon="el-icon-search"
+            class="ele-btn-icon"
+            @click="search"
+          >
+            查询
+          </el-button>
+          <el-button @click="reset" icon="el-icon-refresh-left" type="primary"
+            >重置</el-button
+          >
+        </div>
+      </el-col>
+    </el-row>
+  </el-form>
+</template>
+
+<script>
+  import { getTreeByPid } from '@/api/classifyManage';
+  export default {
+    data() {
+      const defaultWhere = {
+        createTime: new Date(),
+        startTime: '',
+        endTime: '',
+        categoryLevelId: '',
+        workOrderStatusList: []
+      };
+      return {
+        // 表单数据
+        defaultWhere: { ...defaultWhere },
+        where: { ...defaultWhere },
+        treeData: [],
+        teamList: [],
+        categoryData: [],
+        orderStatus: [
+          {
+            value: 4,
+            label: '待生产'
+          },
+          {
+            value: 5,
+            label: '生产中'
+          },
+          {
+            value: 6,
+            label: '已完成'
+          },
+          {
+            value: 7,
+            label: '已延期'
+          },
+          {
+            value: 9,
+            label: '暂停'
+          },
+          {
+            value: 10,
+            label: '终止'
+          }
+        ]
+      };
+    },
+    computed: {
+      // 是否开启响应式布局
+      styleResponsive() {
+        return this.$store.state.theme.styleResponsive;
+      }
+    },
+
+    created() {
+      this.getTreeData();
+    },
+    methods: {
+      /* 搜索 */
+      search() {
+        const where = { ...this.where };
+
+        if (where.createTime) {
+          const time = this.formatDate(where.createTime).split(' ')[0];
+          where.startTime = time + ' 00:00:00';
+          where.endTime = time + ' 23:59:59';
+        }
+
+        delete where.createTime;
+
+        this.$emit('search', where);
+      },
+      /*  重置 */
+      reset() {
+        this.where = { ...this.defaultWhere };
+
+        this.search();
+      },
+      async getTreeData() {
+        try {
+          const res = await getTreeByPid(9);
+          const rootNode = res.data?.[0];
+
+          if (!rootNode || !rootNode.children) {
+            this.categoryData = [];
+            return;
+          }
+
+          this.categoryData = rootNode.children.map((child) =>
+            this.formatNode(child)
+          );
+        } catch (error) {
+          this.categoryData = [];
+        }
+      },
+      formatNode(node) {
+        return {
+          id: node.id,
+          parentId: node.parentId,
+          name: node.name,
+          code: node.code,
+          value: node.value || node.id,
+          label: node.label || node.name,
+          sortNum: node.sortNum
+        };
+      },
+      formatDate(date) {
+        const d = new Date(date);
+        const yyyy = d.getFullYear();
+        const mm = String(d.getMonth() + 1).padStart(2, '0');
+        const dd = String(d.getDate()).padStart(2, '0');
+        const hh = String(d.getHours()).padStart(2, '0');
+        const mi = String(d.getMinutes()).padStart(2, '0');
+        const ss = String(d.getSeconds()).padStart(2, '0');
+        return `${yyyy}-${mm}-${dd} ${hh}:${mi}:${ss}`;
+      }
+    }
+  };
+</script>
+<style lang="scss" scoped>
+  .ele-form-actions {
+    display: flex;
+    align-items: center;
+    justify-content: flex-end;
+  }
+</style>

+ 75 - 127
src/views/wanLong/index.vue

@@ -1,7 +1,8 @@
 <template>
   <div class="ele-body">
     <el-card shadow="never" v-loading="loading">
-      <seek-page :seekList="seekList" @search="search"></seek-page>
+      <dailySearch @search="reload" ref="searchRef"> </dailySearch>
+      <!-- <seek-page :seekList="seekList" @search="search"></seek-page> -->
 
       <ele-pro-table
         ref="table"
@@ -50,13 +51,17 @@
 
 <script>
   import { getDailyList, updateDaily } from '@/api/wanLong/index';
-  import { getTreeByPid } from '@/api/classifyManage';
+  import dailySearch from './components/dailySearch.vue';
   import * as XLSX from 'xlsx';
   import { saveAs } from 'file-saver';
 
   export default {
     name: 'wanLongIndex',
 
+    components: {
+      dailySearch
+    },
+
     data() {
       return {
         loading: false,
@@ -64,76 +69,76 @@
         selection: [],
         tableHeight: 'calc(100vh - 320px)',
         dynamicColumns: [], // 保存 taskList 动态列
-        taskNames: [], // taskName 列名数组
-        categoryData: [],
-        categoryType: [],
-
-        orderStatus: [
-          {
-            value: 4,
-            label: '待生产'
-          },
-          {
-            value: 5,
-            label: '生产中'
-          },
-          {
-            value: 6,
-            label: '已完成'
-          },
-          {
-            value: 7,
-            label: '已延期'
-          },
-          {
-            value: 9,
-            label: '暂停'
-          },
-          {
-            value: 10,
-            label: '终止'
-          }
-        ]
+        taskNames: [] // taskName 列名数组
+        // categoryData: [],
+        // categoryType: [],
+
+        // orderStatus: [
+        //   {
+        //     value: 4,
+        //     label: '待生产'
+        //   },
+        //   {
+        //     value: 5,
+        //     label: '生产中'
+        //   },
+        //   {
+        //     value: 6,
+        //     label: '已完成'
+        //   },
+        //   {
+        //     value: 7,
+        //     label: '已延期'
+        //   },
+        //   {
+        //     value: 9,
+        //     label: '暂停'
+        //   },
+        //   {
+        //     value: 10,
+        //     label: '终止'
+        //   }
+        // ]
       };
     },
 
     computed: {
-      seekList() {
-        const today = new Date();
-        const year = today.getFullYear();
-        const month = String(today.getMonth() + 1).padStart(2, '0');
-        const day = String(today.getDate()).padStart(2, '0');
-
-        const dateStr = `${year}-${month}-${day}`;
-
-        return [
-          {
-            label: '选择日期:',
-            value: 'startTime',
-            type: 'date',
-            dateType: 'date',
-            placeholder: '',
-            defaultValue: dateStr,
-            clearable: false,
-            width: 220
-          },
-          {
-            label: '物品分类:',
-            value: 'categoryLevelId',
-            type: 'select',
-            placeholder: '',
-            planList: this.categoryType
-          },
-          {
-            label: '工单状态:',
-            value: 'workOrderStatusList',
-            type: 'select',
-            placeholder: '',
-            multiple: true,
-            planList: this.orderStatus
-          }
-        ];
-      },
+      // seekList() {
+      //   const today = new Date();
+      //   const year = today.getFullYear();
+      //   const month = String(today.getMonth() + 1).padStart(2, '0');
+      //   const day = String(today.getDate()).padStart(2, '0');
+
+      //   const dateStr = `${year}-${month}-${day}`;
+
+      //   return [
+      //     {
+      //       label: '选择日期:',
+      //       value: 'startTime',
+      //       type: 'date',
+      //       dateType: 'date',
+      //       placeholder: '',
+      //       defaultValue: dateStr,
+      //       clearable: false,
+      //       width: 220
+      //     },
+      //     {
+      //       label: '物品分类:',
+      //       value: 'categoryLevelId',
+      //       type: 'select',
+      //       placeholder: '',
+      //       planList: this.categoryType
+      //     },
+      //     {
+      //       label: '工单状态:',
+      //       value: 'workOrderStatusList',
+      //       type: 'select',
+      //       placeholder: '',
+      //       multiple: true,
+      //       planList: this.orderStatus
+      //     }
+      //   ];
+      // },
 
       columns() {
         const baseColumns = [
@@ -277,9 +282,7 @@
       }
     },
 
-    created() {
-      this.getTreeData();
-    },
+    created() {},
 
     methods: {
       datasource({ page, limit, where }) {
@@ -292,19 +295,8 @@
           const dateStr = `${year}-${month}-${day}`;
           where.startTime = dateStr + ' 00:00:00';
           where.endTime = dateStr + ' 23:59:59';
-          console.log(where.startTime, '8888');
-        } else {
-          if (where.startTime) {
-            let times = this.formatDate(where.startTime).split(' ');
-
-            where.endTime = times[0] + ' 00:00:00';
-            where.startTime = times[0] + ' 23:59:59';
-          } else {
-            console.log(where.startTime, '9999');
-            where.startTime = '';
-            where.endTime = '';
-          }
         }
+        console.log(where, '8989');
         return getDailyList({
           pageNum: page,
           size: -1,
@@ -339,10 +331,6 @@
         });
       },
 
-      search(e) {
-        this.reload(e);
-      },
-
       reload(where) {
         this.$nextTick(() => {
           this.$refs.table.reload({ page: 1, where });
@@ -365,28 +353,6 @@
           : 'calc(100vh - 320px)';
       },
 
-      onClickSubCountAllFirst(row) {
-        console.log('点击下料初始值', row);
-        this.$message.info(`下料初始值: ${row.subCountAllFirst}`);
-      },
-
-      onClickSubCountSendFirst(row) {
-        console.log('点击送货初始值', row);
-        this.$message.info(`送货初始值: ${row.subCountSendFirst}`);
-      },
-
-      formatNode(node) {
-        return {
-          id: node.id,
-          parentId: node.parentId,
-          name: node.name,
-          code: node.code,
-          value: node.value || node.id,
-          label: node.label || node.name,
-          sortNum: node.sortNum
-        };
-      },
-
       formatDate(date) {
         const d = new Date(date);
         const yyyy = d.getFullYear();
@@ -397,24 +363,6 @@
         const ss = String(d.getSeconds()).padStart(2, '0');
         return `${yyyy}-${mm}-${dd} ${hh}:${mi}:${ss}`;
       },
-
-      async getTreeData() {
-        try {
-          const res = await getTreeByPid(9);
-          const rootNode = res.data?.[0];
-
-          if (!rootNode || !rootNode.children) {
-            this.categoryType = [];
-            return;
-          }
-
-          this.categoryType = rootNode.children.map((child) =>
-            this.formatNode(child)
-          );
-        } catch (error) {
-          this.categoryType = [];
-        }
-      },
       async printData() {
         try {
           const tableData = this.$refs.table?.getData?.() || [];