Преглед на файлове

Merge branch 'master' of http://110.41.163.243:9980/kd-aiot/kd-aiot-frontend-wt into test

yusheng преди 1 година
родител
ревизия
1b2de0020f

+ 7 - 1
src/views/bpm/handleTask/components/businessOpportunity/opportunityDetailDialog.vue

@@ -91,9 +91,13 @@
           'salesManagerApprove'
         ].includes(taskDefinitionKey)
       "
+    :isCustomerMark="false"
       ref="inventoryTable"
+      :isDeliveryDeadline="false"
+      :isGuaranteePeriod="false"
+      :isDiscount="false"
+      :pricing-way="form.pricingWay"
       
-      :customerMark="customerMark"
     ></inventoryTable>
 
     <inventoryTabledetail
@@ -110,6 +114,8 @@
       :isDeliveryDeadline="false"
       :isGuaranteePeriod="false"
       :isCustomerMark="false"
+      :isDiscount="false"
+
       :pricingWay="detailData.pricingWay"
     ></inventoryTabledetail>
     <!-- <el-card

+ 17 - 1
src/views/bpm/handleTask/components/purchaseOrder/invoice/receiptInfo.vue

@@ -273,7 +273,21 @@ export default {
           slot: 'discountTotalPrice',
           align: 'center'
         },
-
+        {
+            prop: 'provenance',
+            label: '产地',
+            slot: 'provenance',
+            align: 'center',
+            minWidth: 200,
+            showOverflowTooltip: true,
+            formatter: (row, column) => {
+              return row.provenance && row.provenance.length
+                ? row.provenance
+                    .map((item) => this.getDictValue('产地', item))
+                    .join(',')
+                : '';
+            }
+          },
         {
           width: 80,
           prop: 'deliveryDays',
@@ -335,6 +349,8 @@ export default {
   },
   created() {
     console.log(this.detailData, 'detailData')
+    this.requestDict('产地');
+
   },
   methods: {
 

+ 1 - 0
src/views/bpm/handleTask/components/quotation/addDialog.vue

@@ -258,6 +258,7 @@
         :isCustomerMark="false"
         :isDeliveryDeadline="false"
         :isGuaranteePeriod="false"
+        :isDiscount="false"
       ></inventoryTable>
       <!-- <el-row style="margin-top: 20px">
         <el-col :span="6">

+ 3 - 0
src/views/bpm/handleTask/components/quotation/detailDialog.vue

@@ -181,11 +181,14 @@
       :isCustomerMark="false"
       :isDeliveryDeadline="false"
       :isGuaranteePeriod="false"
+      :isDiscount="false"
       v-if="taskDefinitionKey === 'technicianApprove'"
     ></inventoryTable>
     <inventoryTabledetail
     :isCustomerMark="false"
       v-if="taskDefinitionKey != 'technicianApprove'"
+      :isDiscount="false"
+
       ref="inventoryTabledetailRef"
     ></inventoryTabledetail>
   </div>

+ 11 - 4
src/views/bpm/handleTask/components/saleOrder/entrustedReceiveReturnGoods/boxTabPage.vue

@@ -19,7 +19,7 @@
 </template>
 
 <script>
-  import { getPurchaseOutSourceSendDetailAPI } from '@/api/bpm/components/purchasingManage/outSourceSend';
+  import { getReturnSaleOrderrecordDetail } from '@/api/bpm/components/purchasingManage/outSourceSend';
 
   export default {
     name: 'boxTabPage',
@@ -53,7 +53,13 @@
       };
     },
     async created() {
-      this.form = await getPurchaseOutSourceSendDetailAPI(this.businessId);
+      this.form = await getReturnSaleOrderrecordDetail(this.businessId);
+      console.log(this.form,'this.for111m')
+      // this.detailList = this.form.productList.filter((item) => {
+      //   item['packingWeight'] = item.weight;
+      //     item['quantity'] = item.measurementCount;
+      //     item['measuringUnit'] = item.measurementUnit;
+      // });
     },
     computed: {
       tabOption() {
@@ -80,8 +86,9 @@
           case 'tab2':
             return {
               form: this.form,
-              bizType: 7,
-              sourceBizNo: this.form.returnNo
+              bizType: 8,
+              sourceBizNo: this.form.returnNo,
+              detailList: this.form.productList
             };
         }
       }

+ 250 - 71
src/views/bpm/handleTask/components/saleOrder/entrustedReceiveReturnGoods/detailDialog.vue

@@ -4,10 +4,10 @@
       <headerTitle title="退货信息"></headerTitle>
       <el-row>
         <el-col :span="12">
-          <el-form-item
-            label="退货类型:"
-            style="margin-bottom: 16px">
-            {{ form.returnSourceType==2?'受托收货单退货':'销售发货单退货' }}
+          <el-form-item label="退货类型:" style="margin-bottom: 16px">
+            {{
+              form.returnSourceType == 2 ? '受托收货单退货' : '销售发货单退货'
+            }}
           </el-form-item>
           <el-form-item
             label="客户名称:"
@@ -16,9 +16,7 @@
           >
             {{ form.contactName }}
           </el-form-item>
-          <el-form-item
-            label="退货方式:"
-            style="margin-bottom: 16px">
+          <el-form-item label="退货方式:" style="margin-bottom: 16px">
             {{ form.typeName }}
           </el-form-item>
           <el-form-item
@@ -67,7 +65,7 @@
             {{ form.returnNo }}
           </el-form-item>
           <el-form-item
-            v-if="form.returnSourceType==2"
+            v-if="form.returnSourceType == 2"
             label="受托收货编码:"
             prop="entrustedReceiveCode"
             style="margin-bottom: 16px"
@@ -100,20 +98,20 @@
             style="margin-bottom: 16px"
           >
             <fileMain v-model="form.returnFiles" type="view"></fileMain>
-<!--            <div-->
-<!--              v-if="detailData.returnFiles && detailData.returnFiles?.length"-->
-<!--            >-->
-<!--              <el-link-->
-<!--                v-for="link in detailData.returnFiles"-->
-<!--                :key="link.id"-->
-<!--                type="primary"-->
-<!--                :underline="false"-->
-<!--                @click="downloadFile(link)"-->
-<!--              >-->
-<!--                {{ link.name }}-->
-<!--              </el-link-->
-<!--              >-->
-<!--            </div>-->
+            <!--            <div-->
+            <!--              v-if="detailData.returnFiles && detailData.returnFiles?.length"-->
+            <!--            >-->
+            <!--              <el-link-->
+            <!--                v-for="link in detailData.returnFiles"-->
+            <!--                :key="link.id"-->
+            <!--                type="primary"-->
+            <!--                :underline="false"-->
+            <!--                @click="downloadFile(link)"-->
+            <!--              >-->
+            <!--                {{ link.name }}-->
+            <!--              </el-link-->
+            <!--              >-->
+            <!--            </div>-->
           </el-form-item>
           <el-form-item
             label="回执附件:"
@@ -121,31 +119,40 @@
             style="margin-bottom: 16px"
           >
             <fileMain v-model="form.repliedFiles" type="view"></fileMain>
-<!--            <div-->
-<!--              v-if="detailData.repliedFiles && detailData.repliedFiles?.length"-->
-<!--            >-->
-<!--              <el-link-->
-<!--                v-for="link in detailData.repliedFiles"-->
-<!--                :key="link.id"-->
-<!--                type="primary"-->
-<!--                :underline="false"-->
-<!--                @click="downloadFile(link)"-->
-<!--              >-->
-<!--                {{ link.name }}-->
-<!--              </el-link-->
-<!--              >-->
-<!--            </div>-->
+            <!--            <div-->
+            <!--              v-if="detailData.repliedFiles && detailData.repliedFiles?.length"-->
+            <!--            >-->
+            <!--              <el-link-->
+            <!--                v-for="link in detailData.repliedFiles"-->
+            <!--                :key="link.id"-->
+            <!--                type="primary"-->
+            <!--                :underline="false"-->
+            <!--                @click="downloadFile(link)"-->
+            <!--              >-->
+            <!--                {{ link.name }}-->
+            <!--              </el-link-->
+            <!--              >-->
+            <!--            </div>-->
           </el-form-item>
         </el-col>
       </el-row>
     </el-form>
+
+    <headerTitle title="原产品清单"></headerTitle>
+    <ele-pro-table
+      ref="table"
+      :needPage="false"
+      :columns="oldColumns"
+      :toolkit="[]"
+      :datasource="productList"
+      row-key="id"
+    >
+      <template v-slot:technicalDrawings="{ row }">
+        <fileMain v-model="row.technicalDrawings" type="view"></fileMain>
+      </template>
+    </ele-pro-table>
     <headerTitle
-      title="产品清单"
-      v-show="
-        taskDefinitionKey == 'starter' ||
-        taskDefinitionKey == 'deptLeader' ||
-        ['10', '20', '30'].includes(form.type)
-      "
+      title="退货产品明细"
     ></headerTitle>
     <ele-pro-table
       ref="table"
@@ -155,43 +162,22 @@
       :datasource="detailData.productList"
       row-key="id"
     >
-      <!-- <template v-slot:toolbar>
-        <div class="headbox">
-        <span class="amount">总计:{{detailData.totalAmount}}元</span>
-        <span class="amount">应付金额:{{detailData.payAmount}}元</span>
-      </div>
-      </template> -->
-      <template v-slot:technicalDrawings="{ row }">
-        <fileMain v-model="row.technicalDrawings" type="view"></fileMain>
-<!--        <div v-if="row.technicalDrawings && row.technicalDrawings?.length">-->
-<!--          <el-link-->
-<!--            v-for="link in row.technicalDrawings"-->
-<!--            :key="link.id"-->
-<!--            type="primary"-->
-<!--            :underline="false"-->
-<!--            @click="downloadFile(link)"-->
-<!--          >-->
-<!--            {{ link.name }}</el-link-->
-<!--          >-->
-<!--        </div>-->
-      </template>
     </ele-pro-table>
   </div>
 </template>
 
 <script>
   import { getReturnSaleOrderrecordDetail } from '@/api/bpm/components/saleManage/saleorder';
+  import { getPSaleEntrustedReceiveDetailAPI } from '@/api/bpm/components/saleManage/entrustedReceive';
   import { getFile } from '@/api/system/file';
   import dictMixins from '@/mixins/dictMixins';
   import { reviewStatusEnum } from '@/enum/dict';
-  import fileMain from "@/components/addDoc/index.vue";
-
+  import fileMain from '@/components/addDoc/index.vue';
 
   export default {
     mixins: [dictMixins],
     components: {
       fileMain
-
     },
     data() {
       return {
@@ -207,8 +193,8 @@
         },
         rules: {},
         detailData: {},
-
-        competAnalysisListcolumns: [
+        productList: [],
+        oldColumns: [
           {
             width: 45,
             type: 'index',
@@ -288,14 +274,14 @@
             prop: 'singleWeight',
             label: '单重',
             slot: 'singleWeight',
-            align: "center"
+            align: 'center'
           },
           {
             width: 200,
             prop: 'receiveTotalWeight',
             label: '收货总重',
             slot: 'receiveTotalWeight',
-            align: "center",
+            align: 'center',
             headerSlot: 'headerSendTotalWeight'
           },
           {
@@ -303,14 +289,14 @@
             prop: 'sendTotalWeight',
             label: '发货总重',
             slot: 'sendTotalWeight',
-            align: "center"
+            align: 'center'
           },
           {
             width: 100,
             prop: 'increaseTotalWeight',
             label: '增重重量',
             slot: 'increaseTotalWeight',
-            align: "center"
+            align: 'center'
           },
           {
             width: 160,
@@ -376,6 +362,193 @@
             label: '备注',
             slot: 'remark'
           }
+        ],
+        competAnalysisListcolumns: [
+          {
+            width: 45,
+            type: 'index',
+            columnKey: 'index',
+            align: 'center',
+            fixed: 'left'
+          },
+          {
+            minWidth: 160,
+            prop: 'productCode',
+            label: '编码',
+            showOverflowTooltip: true,
+            align: 'center'
+          },
+          {
+            minWidth: 120,
+            prop: 'productName',
+            label: '名称',
+            showOverflowTooltip: true,
+            align: 'center'
+          },
+
+          {
+            minWidth: 160,
+            prop: 'batchNo',
+            label: '批次号',
+            showOverflowTooltip: true,
+            slot: 'batchNo',
+            align: 'center'
+          },
+          {
+            minWidth: 160,
+            prop: 'barcodes',
+            label: '发货条码',
+            showOverflowTooltip: true,
+            slot: 'barcodes',
+            align: 'center'
+          },
+          {
+            minWidth: 120,
+            prop: 'materielDesignation',
+            label: '物料代号',
+            showOverflowTooltip: true,
+            align: 'center'
+          },
+          {
+            minWidth: 120,
+            prop: 'clientCode',
+            label: '客户代号',
+            showOverflowTooltip: true,
+            align: 'center'
+          },
+          {
+            minWidth: 120,
+            prop: 'engrave',
+            label: '刻码',
+            showOverflowTooltip: true,
+            align: 'center'
+          },
+          {
+            minWidth: 160,
+            prop: 'packageNo',
+            align: 'center',
+            label: '包装编码',
+            showOverflowTooltip: true
+          },
+          {
+            minWidth: 100,
+            prop: 'packingQuantity',
+            align: 'center',
+            label: '包装数量',
+            showOverflowTooltip: true
+          },
+          {
+            minWidth: 120,
+            prop: 'packingUnit',
+            align: 'center',
+            label: '包装单位',
+            showOverflowTooltip: true
+          },
+          {
+            minWidth: 100,
+            prop: 'totalCount',
+            label: '计量数量',
+            showOverflowTooltip: true,
+            align: 'center'
+          },
+          {
+            minWidth: 150,
+            prop: 'measuringUnit',
+            label: '计量单位',
+            showOverflowTooltip: true,
+            align: 'center'
+          },
+          {
+            width: 160,
+            prop: 'pricingWay',
+            label: '计价方式',
+            slot: 'pricingWay',
+            align: 'center',
+            formatter: (row, column) => {
+              return row.pricingWay == 1 ? '按数量计费' : row.pricingWay == 2 ? '按重量计费':'';
+
+            }
+          },
+          {
+            width: 100,
+            prop: 'singlePrice',
+            label: '单价',
+            slot: 'singlePrice',
+            align: 'center'
+          },
+       
+          {
+            width: 100,
+            prop: 'totalPrice',
+            label: '合计',
+            align: 'center'
+          },
+         
+          {
+            minWidth: 80,
+            prop: 'receiveTotalWeight',
+            label: '重量',
+            // slot: 'singleWeight',
+            showOverflowTooltip: true,
+            align: 'center'
+          },
+          {
+            minWidth: 100,
+            prop: 'weightUnit',
+            label: '重量单位',
+            showOverflowTooltip: true,
+            align: 'center'
+          },
+          // {
+          //   minWidth: 100,
+          //   prop: 'qmsResult',
+          //   label: '质检结果',
+          //   showOverflowTooltip: true,
+          //   align: 'center',
+          //   formatter: (_row, _column, cellValue) => {
+          //     return this.qualityResults[_row.qmsResult];
+          //   }
+          // },
+          // {
+          //   minWidth: 100,
+          //   prop: 'qmsStatus',
+          //   label: '质检状态',
+          //   showOverflowTooltip: true,
+          //   align: 'center',
+          //   formatter: (_row, _column, cellValue) => {
+          //     return this.qualityStatus[_row.qmsStatus];
+          //   }
+          // },
+          // {
+          //   minWidth: 130,
+          //   prop: 'productionDate',
+          //   showOverflowTooltip: true,
+          //   label: '生产日期',
+          //   align: 'center'
+          // },
+
+          // {
+          //   minWidth: 100,
+          //   prop: 'purchaseDate',
+          //   label: '采购日期',
+          //   align: 'center'
+          // },
+
+          {
+            minWidth: 200,
+            prop: 'returnReason',
+            label: '退货原因',
+            slot: 'returnReason',
+            align: 'center'
+          },
+
+          {
+            width: 220,
+            prop: 'remark',
+            label: '备注',
+            slot: 'remark',
+            align: 'center'
+          }
         ]
       };
     },
@@ -418,6 +591,11 @@
           })
         ]);
       },
+      //受托单详情
+      async getSendSaleOrderDetail(id) {
+        const data = await getPSaleEntrustedReceiveDetailAPI(id);
+        this.productList = data.productList;
+      },
       async getDetailData(id) {
         this.loading = true;
         const data = await getReturnSaleOrderrecordDetail(id);
@@ -428,6 +606,7 @@
           this.$nextTick(() => {
             this.$refs.inventoryTabledetailRef &&
               this.$refs.inventoryTabledetailRef.putTableValue(data);
+              this.getSendSaleOrderDetail(data.entrustedReceiveId)
           });
         }
       }