Przeglądaj źródła

feat(发货单): 新增发货不定项订单设置订单编号问题

liujt 4 miesięcy temu
rodzic
commit
46ba0838c1

+ 1 - 0
src/views/saleManage/saleOrder/invoice/components/addInvoiceDialog.vue

@@ -183,6 +183,7 @@
           ref="inventoryTableref"
           :orderId="form.orderId"
           :orderIds="form.orderIds"
+          :orderNos="form.orderNo"
           @replaceTableChange="replaceTableChange"
           :needProduce="saleOrderValue.needProduce"
           :typeIds="saleOrderValue.typedetailIds"

+ 41 - 2
src/views/saleManage/saleOrder/invoice/components/inventoryTable.vue

@@ -137,6 +137,33 @@
           </el-button>
         </el-form-item>
       </template>
+      <template v-slot:orderNo="scope">
+        <el-form-item
+          :prop="'datasource.' + scope.$index + '.orderNo'"
+          :rules="[
+            {
+              required: false,
+              message: '请选择订单编号',
+              trigger: 'blur'
+            }
+          ]"
+        >
+          <el-select
+           v-if="needProduce == 4 && orderNoList.length > 1"
+            v-model="scope.row.orderNo"
+            placeholder="请选择"
+          >
+            <el-option
+              v-for="item in orderNoList"
+              :key="item.value"
+              :label="item.label"
+              :value="item.value"
+            >
+            </el-option>
+          </el-select>
+          <span v-else>{{ scope.row.orderNo }}</span>
+        </el-form-item>
+      </template>
       <template v-slot:sendTotalWeight="scope">
         <el-form-item :prop="'datasource.' + scope.$index + '.sendTotalWeight'">
           <el-input
@@ -441,6 +468,7 @@
     props: {
       orderId: String,
       orderIds: String,
+      orderNos: String,
       needProduce: [String, Number],
       entrustedCode: String,
       pricingWay: [String, Number],
@@ -559,6 +587,15 @@
       clientEnvironmentId() {
         return this.$store.state.user.info.clientEnvironmentId;
       },
+      orderNoList() {
+        const temp = this.orderNos?.split(',') || []
+        return temp.map(item => {
+          return {
+            label: item,
+            value: item
+          }
+        });
+      },
       columns() {
         let columnsVersion = this.columnsVersion;
         return [
@@ -570,10 +607,11 @@
             fixed: 'left'
           },
           {
-            minWidth: 150,
+            minWidth: 200,
             prop: 'orderNo',
             label: '订单编码',
             align: 'center',
+            slot: 'orderNo',
             fixed: 'left'
           },
 
@@ -1298,6 +1336,7 @@
           this.$set(parasm, 'singlePrice', 0);
           this.$set(parasm, 'discountSinglePrice', 0);
           this.$set(parasm, 'goodsLevel', item.goodsLevel);
+          this.$set(parasm, 'orderNo', this.orderNoList[0]?.value || '');
           if (item.modelKey) {
             this.$set(parasm, 'modelKey', item.modelKey.split(','));
           }
@@ -1640,7 +1679,7 @@
             }
           });
           // 退货单退货不校验数量,实物赔偿无法计算
-          if (is && this.sourceType != 3) {
+          if (is && this.sourceType != 3 && this.needProduce != 4) {
             this.$message.warning('发货数量大于订单总数量');
             if (this.isTotalCount == 1) {
               callback(false);