Parcourir la source

销售管理新增客户退货流程(一部分)
合同分类提交报错问题
退货单提交流程报错问题

Z il y a 2 ans
Parent
commit
2b04662ddf

+ 10 - 0
src/api/saleManage/returnGoods.js

@@ -66,6 +66,16 @@ export async function submit(data) {
   }
   return Promise.reject(new Error(res.data.message));
 }
+/**
+ * 根据退货单编码获取出库单详情
+ */
+export async function getOutInBySourceBizNoAPI(id) {
+  const res = await request.get(`/wms/outin/getOutInBySourceBizNo/${id}`);
+  if (res.data.code == 0) {
+    return res.data.data;
+  }
+  return Promise.reject(new Error(res.data.message));
+}
 
 
 

+ 4 - 1
src/views/contractManage/contractBook/components/addDialog.vue

@@ -741,14 +741,17 @@ export default {
     },
     //选择合同类型
     dictChange(val, type) {
+
       this.categoryList = copyObj(
         this.contractBookTypeList.find((item) => item.code == val).children
       );
       if (type == 'init') {
         return;
       }
+      let typeName = ''
+      if (val) typeName = this.contractBookTypeList.find(item => item.code == val)?.name || ''
       this.form = Object.assign({}, this.form, {
-        typeName: val.dictValue,
+        typeName: typeName || val.dictValue,
         contractName: '',
         sourceCode: '',
         sourceName: '',

+ 186 - 159
src/views/purchasingManage/purchaseOrder/returnGoods/components/detailDialog.vue

@@ -9,173 +9,192 @@
     :close-on-click-modal="false"
     width="80%"
     @close="cancel"
-  >
-    <el-form ref="form" :model="form" :rules="rules" label-width="120px">
-      <headerTitle title="退货信息"></headerTitle>
-      <el-row>
-        <el-col :span="12">
-          <el-form-item
-            label="供应商名称:"
-            prop="supplierName"
-            style="margin-bottom: 16px"
-          >
-            {{ form.supplierName }}
-          </el-form-item>
+  >  <div class="switch">
+    <div class="switch_left">
+      <ul>
+        <li
+          v-for="item in tabOptions"
+          :key="item.key"
+          :class="{ active: activeComp == item.key }"
+          @click="activeComp = item.key"
+        >
+          {{ item.name }}
+        </li>
+      </ul>
+    </div>
+  </div>
+    <div v-if="activeComp == 'returnOrder'">
+      <el-form ref="form" :model="form" :rules="rules" label-width="120px">
+        <headerTitle title="退货信息"></headerTitle>
+        <el-row>
+          <el-col :span="12">
+            <el-form-item
+              label="供应商名称:"
+              prop="supplierName"
+              style="margin-bottom: 16px"
+            >
+              {{ form.supplierName }}
+            </el-form-item>
 
-          <el-form-item
-            label="金额:"
-            prop="payAmount"
-            style="margin-bottom: 16px"
-          >
-            {{ form.payAmount }}元
-          </el-form-item>
-          <el-form-item
-            label="总金额:"
-            prop="totalAmount"
-            style="margin-bottom: 16px"
-          >
-            {{ form.totalAmount }}元
-          </el-form-item>
-          <el-form-item
-            label="供应商联系人:"
-            prop="linkName"
-            style="margin-bottom: 16px"
-          >
-            {{ form.linkName }}
-          </el-form-item>
-          <el-form-item
-            label="备注:"
-            prop="remark"
-            style="margin-bottom: 16px"
-          >
-            {{ form.remark }}
-          </el-form-item>
-          <el-form-item
-            label="创建时间:"
-            prop="createTime"
-            style="margin-bottom: 16px"
-          >
-            {{ form.createTime }}
-          </el-form-item>
-          <el-form-item
-            label="制单人:"
-            prop="makerName"
-            style="margin-bottom: 16px"
-          >
-            {{ form.makerName }}
-          </el-form-item>
-          <el-form-item
-            label="回执附件:"
-            prop="repliedFiles"
-            style="margin-bottom: 16px"
-          >
-            <div
-              v-if="detailData.repliedFiles && detailData.repliedFiles?.length"
+            <el-form-item
+              label="金额:"
+              prop="payAmount"
+              style="margin-bottom: 16px"
             >
-              <el-link
-                v-for="link in detailData.repliedFiles"
-                :key="link.id"
-                type="primary"
-                :underline="false"
-                @click="downloadFile(link)"
-              >
-                {{ link.name }}</el-link
+              {{ form.payAmount }}元
+            </el-form-item>
+            <el-form-item
+              label="总金额:"
+              prop="totalAmount"
+              style="margin-bottom: 16px"
+            >
+              {{ form.totalAmount }}元
+            </el-form-item>
+            <el-form-item
+              label="供应商联系人:"
+              prop="linkName"
+              style="margin-bottom: 16px"
+            >
+              {{ form.linkName }}
+            </el-form-item>
+            <el-form-item
+              label="备注:"
+              prop="remark"
+              style="margin-bottom: 16px"
+            >
+              {{ form.remark }}
+            </el-form-item>
+            <el-form-item
+              label="创建时间:"
+              prop="createTime"
+              style="margin-bottom: 16px"
+            >
+              {{ form.createTime }}
+            </el-form-item>
+            <el-form-item
+              label="制单人:"
+              prop="makerName"
+              style="margin-bottom: 16px"
+            >
+              {{ form.makerName }}
+            </el-form-item>
+            <el-form-item
+              label="回执附件:"
+              prop="repliedFiles"
+              style="margin-bottom: 16px"
+            >
+              <div
+                v-if="detailData.repliedFiles && detailData.repliedFiles?.length"
               >
-            </div>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item
-            label="退货单编码:"
-            prop="returnNo"
-            style="margin-bottom: 16px"
-          >
-            {{ form.returnNo }}
-          </el-form-item>
-          <el-form-item
-            label="收货单编码:"
-            prop="receiveNo"
-            style="margin-bottom: 16px"
-          >
-            {{ form.receiveNo }}
-          </el-form-item>
-          <el-form-item prop="orderNo" label="订单编码:">
-            {{ form.orderNo }}
-          </el-form-item>
-          <el-form-item
-            prop="linkPhone"
-            label-width="150px"
-            label="供应商联系电话:"
-          >
-            {{ form.linkPhone }}
-          </el-form-item>
+                <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-col :span="12">
+            <el-form-item
+              label="退货单编码:"
+              prop="returnNo"
+              style="margin-bottom: 16px"
+            >
+              {{ form.returnNo }}
+            </el-form-item>
+            <el-form-item
+              label="收货单编码:"
+              prop="receiveNo"
+              style="margin-bottom: 16px"
+            >
+              {{ form.receiveNo }}
+            </el-form-item>
+            <el-form-item prop="orderNo" label="订单编码:">
+              {{ form.orderNo }}
+            </el-form-item>
+            <el-form-item
+              prop="linkPhone"
+              label-width="150px"
+              label="供应商联系电话:"
+            >
+              {{ form.linkPhone }}
+            </el-form-item>
 
-          <el-form-item
-            label="审核状态:"
-            prop="reviewStatus"
-            style="margin-bottom: 16px"
-          >
-            {{ reviewStatusEnum[form.reviewStatus].label }}
-          </el-form-item>
-          <el-form-item
-            prop="receiveAddress"
-            label-width="150px"
-            label="供应商收货地址:"
-          >
-            {{ form.receiveAddress }}
-          </el-form-item>
-          <el-form-item
-            label="附件:"
-            prop="returnFiles"
-            style="margin-bottom: 16px"
-          >
-            <div
-              v-if="detailData.returnFiles && detailData.returnFiles?.length"
+            <el-form-item
+              label="审核状态:"
+              prop="reviewStatus"
+              style="margin-bottom: 16px"
             >
-              <el-link
-                v-for="link in detailData.returnFiles"
-                :key="link.id"
-                type="primary"
-                :underline="false"
-                @click="downloadFile(link)"
-              >
-                {{ link.name }}</el-link
+              {{ reviewStatusEnum[form.reviewStatus].label }}
+            </el-form-item>
+            <el-form-item
+              prop="receiveAddress"
+              label-width="150px"
+              label="供应商收货地址:"
+            >
+              {{ form.receiveAddress }}
+            </el-form-item>
+            <el-form-item
+              label="附件:"
+              prop="returnFiles"
+              style="margin-bottom: 16px"
+            >
+              <div
+                v-if="detailData.returnFiles && detailData.returnFiles?.length"
               >
-            </div>
-          </el-form-item>
-        </el-col>
-      </el-row>
-    </el-form>
+                <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-col>
+        </el-row>
+      </el-form>
 
-    <headerTitle title="产品清单"></headerTitle>
-    <ele-pro-table
-      ref="table"
-      :needPage="false"
-      :columns="columns"
-      :toolkit="[]"
-      :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 }">
-        <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
-          >
+      <headerTitle title="产品清单"></headerTitle>
+      <ele-pro-table
+        ref="table"
+        :needPage="false"
+        :columns="columns"
+        :toolkit="[]"
+        :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>
-    </ele-pro-table>
+        </template> -->
+        <template v-slot:technicalDrawings="{ row }">
+          <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>
+    <bpmDetail
+      v-if="activeComp === 'bpm' && form.processInstanceId"
+      :id="form.processInstanceId"
+    ></bpmDetail>
 
     <div slot="footer" class="footer">
       <el-button @click="cancel">返回</el-button>
@@ -191,11 +210,18 @@
 
   import { reviewStatusEnum } from '@/enum/dict';
   import { copyObj } from '@/utils/util';
+  import bpmDetail from "@/views/bpm/processInstance/detail.vue";
 
   export default {
+    components: {bpmDetail},
     mixins: [dictMixins],
     data() {
       return {
+        activeComp:'returnOrder',
+        tabOptions: [
+          { key: 'returnOrder', name: '退货单详情' },
+          { key: 'bpm', name: '流程详情' },
+        ],
         codeData: [],
         reviewStatusEnum,
         visible: false,
@@ -364,6 +390,7 @@
             (this.tableBankData = []);
           this.tableLinkData = [];
           this.visible = false;
+          this.activeComp = 'returnOrder';
         });
       },
       downloadFile(file) {

+ 5 - 1
src/views/purchasingManage/purchaseOrder/returnGoods/index.vue

@@ -284,7 +284,11 @@
       },
       sub(res) {
         submit({
-          businessId: res.id
+          businessId: res.id,
+          variables: {
+            storemanIds:res.storemanIds.toString(),
+            pass: true
+          }
         }).then((res) => {
           this.$message.success('提交成功');
           this.reload();

+ 621 - 0
src/views/saleManage/saleOrder/returnGoods/components/aaa.vue

@@ -0,0 +1,621 @@
+<template>
+  <ele-modal
+    custom-class="ele-dialog-form long-dialog-form"
+    :centered="true"
+    :visible.sync="aaaFlag"
+    :title="title"
+    :close-on-click-modal="false"
+    width="80%"
+    @close="cancel">
+    <div>
+      <div class="content-detail">
+        <header-title title="基本信息" size="16px"></header-title>
+
+        <div class="mt20">
+          <el-form label-width="110px">
+            <el-col :span="8">
+              <el-form-item label="出库单号">
+                <span>{{ infoData.bizNo }}</span>
+              </el-form-item>
+            </el-col>
+            <el-col :span="8">
+              <el-form-item label="出库物品类型">
+                  <span>{{
+                      infoData.bizType == 3
+                        ? '物品'
+                        : getDictValue('类型用途', infoData.assetType)
+                    }}</span>
+              </el-form-item>
+            </el-col>
+            <el-col :span="8">
+              <el-form-item label="出库场景">
+                <span>{{ getSceneState(infoData.bizType) }}</span>
+              </el-form-item>
+            </el-col>
+            <el-col :span="8" v-if="infoData.bizType == 3">
+              <el-form-item label="客户名称">
+                <span>{{ infoData.clientName }}</span>
+              </el-form-item> </el-col
+            ><el-col :span="8" v-if="infoData.bizType == 3">
+            <el-form-item label="客户联系人">
+              <span>{{ infoData.clientUser }}</span>
+            </el-form-item> </el-col
+          ><el-col :span="8" v-if="infoData.bizType == 3">
+            <el-form-item label="客户电话">
+              <span>{{ infoData.clientPhone }}</span>
+            </el-form-item>
+          </el-col>
+
+            <el-col :span="8">
+              <el-form-item
+                :label="infoData.bizType == 4 ? '领料单' : '来源单据'"
+              >
+                <span>{{ infoData.sourceBizNo }}</span>
+              </el-form-item>
+            </el-col>
+
+            <el-col :span="8">
+              <el-form-item label="领料人联系方式">
+                <span>{{ infoData.fromUserPhone }}</span>
+              </el-form-item>
+            </el-col>
+            <el-col :span="8">
+              <el-form-item label="出库登记人">
+                <span>{{ infoData.extInfo?.createUserName }}</span>
+              </el-form-item>
+            </el-col>
+            <el-col :span="8">
+              <el-form-item label="权属部门">
+                <span>{{ infoData.extInfo?.deptName }}</span>
+              </el-form-item>
+            </el-col>
+            <el-col :span="8">
+              <el-form-item label="创建时间">
+                <span>{{ infoData.createTime }}</span>
+              </el-form-item>
+            </el-col>
+            <el-col :span="8">
+              <el-form-item label="出库时间">
+                <span>{{ infoData.createTime }}</span>
+              </el-form-item>
+            </el-col>
+            <el-col :span="8">
+              <el-form-item label="状态:">
+                <span>{{ stepsTitle }}</span>
+              </el-form-item>
+            </el-col>
+            <el-col :span="8">
+              <el-form-item label="领料人部门">
+                <span>{{ infoData.verifyDeptName }}</span>
+              </el-form-item>
+            </el-col>
+            <el-col :span="8">
+              <el-form-item label="领料人">
+                <span>{{ infoData.fromUser }}</span>
+              </el-form-item>
+            </el-col>
+            <el-col :span="16">
+              <el-form-item label="备注">
+                <span>{{ infoData.remark }}</span>
+              </el-form-item>
+            </el-col>
+          </el-form>
+        </div>
+      </div>
+      <div class="content-detail mt20">
+        <header-title title="出库物品明细" size="16px"></header-title>
+
+        <div class="mt20">
+          <div class="mt10">
+            <el-table
+              ref="multipleTable"
+              :data="warehousingMaterialList"
+              tooltip-effect="dark"
+              style="width: 100%"
+              stripe
+              :header-cell-style="{ background: '#EEEEEE', border: 'none' }"
+            >
+              <el-table-column label="序号" type="index" width="50">
+              </el-table-column>
+              <el-table-column
+                label="编码"
+                prop="categoryCode"
+              ></el-table-column>
+              <el-table-column label="名称" prop="name"></el-table-column>
+
+              <el-table-column
+                v-for="(item, index) in tableHeader"
+                :key="index"
+                align="center"
+                :label="item.label"
+                :prop="item.prop"
+              >
+                <template slot-scope="{ row }">
+                  <template v-if="item.formatter">{{
+                      item.formatter(row)
+                    }}</template>
+                  <template v-else>{{ row[item.prop] }}</template>
+                </template>
+              </el-table-column>
+              <el-table-column
+                label="批次号"
+                prop="batchNo"
+              ></el-table-column>
+              <el-table-column label="最小包装单元" width="120">
+                <template slot-scope="{ row }">
+                  {{ row.minPackingCount }}{{ row.measuringUnit }}/{{
+                    row.packingUnit
+                  }}
+                </template>
+              </el-table-column>
+              <el-table-column label="包装数量" prop="availableCountBase">
+                <template slot-scope="{ row }">
+                  {{ row.packingCount }}{{ row.packingUnit }}
+                </template>
+              </el-table-column>
+              <el-table-column
+                label="计量数量"
+                prop="count"
+              ></el-table-column>
+              <el-table-column
+                label="计量单位"
+                prop="measuringUnit"
+              ></el-table-column>
+              <el-table-column label="重量" prop="weight"></el-table-column>
+              <el-table-column
+                label="重量单位"
+                prop="weightUnit"
+              ></el-table-column>
+              <el-table-column label="单价">
+                <template slot-scope="{ row }">
+                  {{ row.price ? row.price : '-' }}元/{{ row.measuringUnit }}
+                </template>
+              </el-table-column>
+              <el-table-column
+                label="金额"
+                prop="totalMoney"
+              ></el-table-column>
+              <el-table-column label="领料部门" prop="llbm"></el-table-column>
+            </el-table>
+          </div>
+        </div>
+      </div>
+      <!-- ${
+            infoData.bizType == 3
+              ? '物品'
+              : getDictValue('类型用途', infoData.assetType)
+          }明细 -->
+      <div class="mt20">
+        <header-title :title="`出库包装明细`" size="16px"></header-title>
+        <el-table
+          ref="multipleTable"
+          :data="materialCodeReqList"
+          tooltip-effect="dark"
+          style="width: 100%"
+          stripe
+          :header-cell-style="{ background: '#EEEEEE', border: 'none' }"
+        >
+          <el-table-column label="序号" type="index" width="50">
+          </el-table-column>
+          <!-- ${
+              infoData.bizType == 3
+                ? '物品'
+                : getDictValue('类型用途', infoData.assetType)
+            } -->
+          <el-table-column
+            :label="`编码`"
+            prop="categoryCode"
+          ></el-table-column>
+          <el-table-column :label="`名称`" prop="name"></el-table-column>
+          <el-table-column label="批次号" prop="batchNo"></el-table-column>
+          <el-table-column
+            label="包装编码"
+            prop="code"
+            width="80"
+          ></el-table-column>
+          <el-table-column label="包装数量" prop="packingCount" width="80">
+            <template slot-scope="{ row }">
+              {{ row.packingCount == 0 ? '0' : row.packingCount }}
+            </template>
+          </el-table-column>
+          <el-table-column
+            label="包装单位"
+            prop="packingUnit"
+          ></el-table-column>
+          <el-table-column
+            label="计量数量"
+            prop="totalCount"
+          ></el-table-column>
+          <el-table-column
+            label="计量单位"
+            prop="measuringUnit"
+          ></el-table-column>
+          <!-- <el-table-column label="领料部门" prop=""></el-table-column> -->
+          <el-table-column
+            v-if="infoData.bizType == 2 || infoData.bizType == 1"
+            label="物料代号"
+            prop="materielCode"
+          >
+            <template slot-scope="{ row }">
+              {{ row.materielCode }}
+            </template>
+          </el-table-column>
+          <el-table-column
+            v-if="infoData.bizType == 2 || infoData.bizType == 1"
+            label="客户代号"
+            prop="clientCode"
+          >
+            <template slot-scope="{ row }">
+              {{ row.clientCode }}
+            </template>
+          </el-table-column>
+          <!-- v-if="infoData.bizType == 1" -->
+          <el-table-column label="刻码" prop="engrave">
+            <template slot-scope="{ row }">
+              {{ row.engrave }}
+            </template>
+          </el-table-column>
+          <el-table-column label="重量" prop="weight">
+            <template slot-scope="{ row }">
+              {{ row.weight }}
+            </template>
+          </el-table-column>
+          <el-table-column label="重量单位" prop="weightUtil">
+            <template slot-scope="{ row }">
+              {{ row.weightUtil }}
+            </template>
+          </el-table-column>
+
+          <el-table-column label="日期" prop="createTime" width="200">
+            <template slot="header" slot-scope="scope">
+              <!-- {{ dateTypes != 1 ? '采购日期' : '生产日期' }} -->
+              采购日期
+            </template>
+            <template slot-scope="{ row }">
+              {{ row.createTime }}
+            </template>
+          </el-table-column>
+          <el-table-column label="领料部门" prop="">
+            <template slot-scope="{ row }">
+              {{ row.llbm }}
+            </template>
+          </el-table-column>
+          <!-- <el-table-column label="转消耗" prop="">
+            <template slot-scope="{ row }">
+              <el-checkbox
+                disabled
+                v-model="row.isTransferAsset"
+              ></el-checkbox>
+            </template>
+          </el-table-column> -->
+        </el-table>
+      </div>
+      <div class="mt20">
+        <header-title :title="`出库物料明细`" size="16px"></header-title>
+        <el-table
+          ref="multipleTable1"
+          :data="metaList"
+          tooltip-effect="dark"
+          style="width: 100%"
+          stripe
+          :header-cell-style="{ background: '#EEEEEE', border: 'none' }"
+        >
+          <el-table-column label="序号" type="index" width="50">
+          </el-table-column>
+          <el-table-column label="编码" prop="assetCode"> </el-table-column>
+          <el-table-column label="名称" prop="assetName"> </el-table-column>
+          <el-table-column label="批次号" prop="batchNo"> </el-table-column>
+          <el-table-column label="物料编码" prop="no"> </el-table-column>
+          <el-table-column label="计量数量" prop="">
+            <template slot-scope="{ row }">1</template>
+          </el-table-column>
+          <el-table-column label="计量单位" prop="measuringUnit">
+          </el-table-column>
+          <el-table-column label="物料代号" prop="meterielCode">
+          </el-table-column>
+          <el-table-column label="客户代号" prop="clientCode">
+          </el-table-column>
+          <el-table-column label="刻码" prop="engrave"> </el-table-column>
+          <el-table-column label="重量" prop="weight"> </el-table-column>
+          <el-table-column label="重量单位" prop="weightUnit">
+          </el-table-column>
+        </el-table>
+      </div>
+    </div>
+
+    <div slot="footer">
+      <el-button type="primary">保存</el-button>
+      <el-button type="primary">提交</el-button>
+      <el-button type="info">关闭</el-button>
+    </div>
+
+  </ele-modal>
+
+</template>
+
+<script>
+
+// import { getInfo } from '@/api/stockManagement/outgoingManagement' '@/components/PageHeader'
+// import PageHeader from '@/components/PageHeader';
+//import { tableHeader } from '../common';
+import { mapGetters, mapActions } from 'vuex';
+//import warehouseDefinition from '@/api/warehouseManagement/warehouseDefinition';
+
+// import {
+//   materialType,
+//   warehousingType,
+//   useDict,
+//   useDictLabel,
+//   inputStatus,
+//   outputSceneState,
+//   auditStatus
+// } from '@/utils/dict/index';
+import { getUser } from '@/api/system/user';
+import {getOutInBySourceBizNoAPI} from "@/api/saleManage/returnGoods";
+export default {
+  props:['aaaFlag'],
+  data() {
+    return {
+      title:'',
+      metaList: [],
+      infoData: {},
+      warehousingMaterialList: [],
+      materialCodeReqList: [],
+      tableData2: [],
+      fromUserList: [],
+
+      num: 1,
+      stepsList: [
+        { status: 'Done', nodeName: '创建' },
+        { status: 'Done', nodeName: '暂存', time: '2023-01-06' },
+        { status: 'Done', nodeName: '收货中' },
+        { status: 'Processing', nodeName: '已收货' }
+      ],
+      list: [
+        {
+          name: '紧急',
+          color: 'red'
+        },
+        {
+          name: '重要',
+          color: 'blue'
+        },
+        {
+          name: '已催办',
+          color: 'red'
+        }
+      ],
+      stepsTitle: '已完成',
+      stepsStatus: 'success',
+      active: 0
+    };
+  },
+  watch: {},
+  computed: {
+    ...mapGetters(['getDictValue']),
+    tableHeader() {
+      return tableHeader(this.infoData?.extInfo?.assetType);
+    }
+  },
+
+  created() {
+    //
+    // this.getUser();
+    // this._getInfo();
+    // this.requestDict('类型用途');
+  },
+  methods: {
+    init(row={}){
+      getOutInBySourceBizNoAPI(row.returnNo)
+    },
+    getUserName(id) {
+      let obj = this.fromUserList.find((x) => x.id == id);
+      return obj && obj.name;
+    },
+    async getUser() {
+      let res22 = await warehouseDefinition.getUserPage({
+        groupId: 1,
+        size: 9999,
+        page: 1
+      });
+      this.fromUserList = res22.list;
+    },
+    // close() {
+    //   finishPageTab(); // 关闭当前页签
+    // },
+    ...mapActions('dict', ['requestDict']),
+    // getMaterialType: useDictLabel(materialType),
+    // getInputStatus: useDictLabel(inputStatus),
+    // getWarehousingType: useDictLabel(warehousingType),
+    // getSceneState: useDictLabel(outputSceneState),
+    // getAuditStatus: useDictLabel(auditStatus),
+
+  }
+};
+</script>
+
+<style lang="scss" scoped>
+.stepsStatus {
+  width: 40%;
+  margin: 0 auto;
+}
+.p20 {
+  padding: 20px;
+}
+.flex {
+  display: flex;
+}
+.title {
+  justify-content: space-between;
+  border-bottom: 1px solid #ccc;
+  padding-bottom: 5px;
+  span {
+    font-size: 16px;
+  }
+  .col {
+    padding-left: 40px;
+    font-size: 14px;
+    color: #aaaaaa;
+  }
+}
+.degree {
+  margin-right: 10px;
+  padding: 0px 15px;
+  color: #fff;
+  font-size: 13px;
+  line-height: 23px;
+  border-radius: 23px;
+  display: flex;
+  align-items: center;
+  justify-content: space-between;
+  span {
+    width: 5px;
+    height: 5px;
+    border-radius: 100%;
+    margin-right: 6px;
+    background-color: #fff;
+  }
+}
+.red {
+  background-color: rgb(163, 0, 20);
+}
+.blue {
+  background-color: #1989fa;
+}
+.createdInfo {
+  justify-content: space-around;
+  margin-top: 10px;
+  font-size: 14px;
+  .col {
+    color: #6e6e6e;
+    padding-right: 10px;
+  }
+}
+.mt40 {
+  margin-top: 40px;
+}
+
+.custSteps {
+  margin-top: 20px;
+  margin-left: 70px;
+  .box {
+    width: 158px;
+    border: 1px solid #ccc;
+    padding: 10px;
+    flex-direction: row;
+    flex-wrap: wrap;
+    // justify-content: space-between;
+    font-size: 12px;
+    color: #9e9e9e;
+    .x {
+      width: 20px;
+      height: 15px;
+      margin-right: 5px;
+    }
+    .q {
+      background-color: #d0e4d5;
+    }
+    .b {
+      background-color: #1989fa;
+    }
+    .g {
+      background-color: #157a2c;
+    }
+    .r {
+      background-color: #a30014;
+    }
+    .a {
+      align-items: center;
+      margin-bottom: 10px;
+    }
+    .mr10 {
+      margin-right: 10px;
+    }
+    .mb0 {
+      margin-bottom: 0;
+    }
+  }
+  .stepsInfo {
+    // flex: 1;
+    width: 483px;
+  }
+}
+.mt20 {
+  margin-top: 20px;
+}
+.content-detail {
+  overflow: hidden;
+}
+.executor {
+  font-size: 14px;
+  .col {
+    color: #6e6e6e;
+    padding-right: 10px;
+  }
+}
+.result {
+  justify-content: space-around;
+}
+.mr20 {
+  margin-right: 20px;
+}
+.details {
+  font-size: 14px;
+  margin-bottom: 10px;
+}
+
+.customSteps {
+  margin-top: 40px;
+  font-size: 14px;
+  margin-left: 80px;
+  .time {
+    font-size: 12px;
+    color: #6e6e6e;
+    margin-right: 20px;
+    position: relative;
+    &::after {
+      content: '';
+      width: 1px;
+      height: 100%;
+      background-color: #157a2c;
+      position: absolute;
+      right: -26px;
+    }
+  }
+  .flex:last-child {
+    .time {
+      &::after {
+        display: none;
+      }
+    }
+  }
+  .round {
+    margin-right: 20px;
+    width: 10px;
+    height: 10px;
+    border-radius: 100%;
+    background-color: #157a2c;
+    position: relative;
+    span {
+      position: absolute;
+      top: 50%;
+      left: 50%;
+      width: 4px;
+      height: 4px;
+      background-color: #fff;
+      border-radius: 100%;
+      transform: translate(-2px, -2px);
+    }
+  }
+  .text {
+    .info {
+      margin-top: 10px;
+      width: 955px;
+      background-color: #f0f3f3;
+      overflow: hidden;
+      padding: 10px;
+      margin-bottom: 10px;
+    }
+  }
+}
+</style>

+ 287 - 0
src/views/saleManage/saleOrder/returnGoods/components/customerReturnOrderDialog.vue

@@ -0,0 +1,287 @@
+<template>
+  <ele-modal
+    custom-class="ele-dialog-form long-dialog-form"
+    :centered="true"
+    :visible.sync="customerReturnOrderDialogFlag"
+    :title="title"
+    :close-on-click-modal="false"
+    width="80%"
+    @close="cancel">
+    <el-form label-width="100px"
+             rules=""
+             ref="formRef"
+             :model="form">
+
+      <header-title title="退货物品明细" size="16px"></header-title>
+
+      <ele-pro-table
+        ref="table"
+        :needPage="false"
+        :columns="columns"
+        :toolkit="[]"
+        :datasource="datasource"
+        cache-key="customerReturnOrderDialog"
+        class="time-form"
+      >
+        <!-- 表头工具栏 -->
+        <template v-slot:toolbar>
+          <el-button
+            size="small"
+            type="primary"
+            icon="el-icon-plus"
+            class="ele-btn-icon"
+            @click="handleSelectGoods"
+
+          >
+            选择退货物品
+          </el-button>
+        </template>
+        <template v-slot:action="{ row }">
+          <el-popconfirm
+            v-if="returnType!=1"
+            class="ele-action"
+            title="确定要删除吗?"
+            @confirm="remove(row)"
+          >
+            <template v-slot:reference>
+              <el-link type="danger" :underline="false" icon="el-icon-delete">
+                删除
+              </el-link>
+            </template>
+          </el-popconfirm>
+        </template>
+
+
+        <template v-slot:packageCount="{ row }">
+          <el-input type="number" v-model="row.packageCount"></el-input>
+        </template>
+
+        <template v-slot:measurementCount="{ row }">
+          <el-input type="number" v-model="row.measurementCount"></el-input>
+        </template>
+
+        <template v-slot:weight="{ row }">
+          <el-input type="number" v-model="row.weight"></el-input>
+        </template>
+
+        <template v-slot:carveCode="{ row }">
+          <el-input type="number" v-model="row.carveCode"></el-input>
+        </template>
+
+        <template v-slot:reason="{ row }">
+          <el-input type="number" v-model="row.reason"></el-input>
+        </template>
+
+        <template v-slot:feedbackDate="{ row }">
+          <el-date-picker
+            v-model="row.feedbackDate"
+            type="date"
+            placeholder="选择日期">
+          </el-date-picker>
+        </template>
+
+        <template v-slot:sendDate="{ row }">
+          <el-date-picker
+            v-model="row.sendDate"
+            type="date"
+            placeholder="选择日期">
+          </el-date-picker>
+        </template>
+
+      </ele-pro-table>
+    </el-form>
+
+    <div slot="footer">
+      <el-button type="primary">保存</el-button>
+      <el-button type="primary">提交</el-button>
+      <el-button type="info">关闭</el-button>
+    </div>
+
+    <aaa v-if="aaaFlag" ref="aaaRef" :aaaFlag.sync="aaaFlag" ></aaa>
+  </ele-modal>
+</template>
+
+
+<script>
+
+import aaa from './aaa.vue'
+export default {
+  name: "customerReturnOrderDialog",
+  props: {
+    taskDefinitionKeyList: {
+      type: Array,
+      default: () => ['stater'],
+    },
+    customerReturnOrderDialogFlag: {
+      type: Boolean,
+      default: false,
+    }
+  },
+  components: {aaa},
+  data() {
+    return {
+      title: '客户退货处理单',
+      dialogType: 'add',
+      aaaFlag:false,
+      datasource: [],
+      currentRow: {},
+
+    }
+  },
+  computed: {
+    columns() {
+      let basicFields = [
+        {
+          columnKey: 'action',
+          label: '操作',
+          width: 120,
+          align: 'center',
+          resizable: false,
+          slot: 'action',
+          fixed: 'right',
+          showOverflowTooltip: true,
+
+        },
+        {
+          width: 45,
+          type: 'index',
+          columnKey: 'index',
+          align: 'center',
+          fixed: 'left'
+        },
+        {
+          minWidth: 120,
+          prop: 'productName',
+          label: '名称',
+          align: 'center',
+          slot: 'productName'
+        },
+        {
+          minWidth: 120,
+          prop: 'productCode',
+          label: '编码',
+          align: 'center',
+          slot: 'productCode'
+        },
+        {
+          minWidth: 120,
+          prop: 'modelType',
+          label: '型号',
+          align: 'center',
+          slot: 'modelType'
+        },
+        {
+          minWidth: 120,
+          prop: 'specification',
+          label: '规格',
+          align: 'center',
+          slot: 'specification'
+        },
+        {
+          minWidth: 80,
+          prop: 'packingCount',
+          label: '包装数量',
+          align: 'center',
+          slot: 'packingCount',
+          headerSlot: 'headerPackingCount'
+        },
+        {
+          minWidth: 80,
+          prop: 'packingUnit',
+          label: '包装单位',
+          align: 'center',
+          slot: 'packingUnit'
+        },
+        {
+          minWidth: 80,
+          prop: 'count',
+          label: '计量数量',
+          align: 'center',
+          slot: 'count',
+          headerSlot: 'headerCount'
+        },
+        {
+          minWidth: 80,
+          prop: 'measuringUnit',
+          label: '计量单位',
+          align: 'center',
+          slot: 'measuringUnit'
+        },
+        {
+          minWidth: 80,
+          prop: 'weight',
+          label: '重量',
+          align: 'center',
+          slot: 'weight',
+          headerSlot: 'headerWeight'
+        },
+        {
+          minWidth: 80,
+          prop: 'weightUtil',
+          label: '重量单位',
+          align: 'center',
+          slot: 'weightUtil'
+        },
+        {
+          minWidth: 80,
+          prop: 'engrave',
+          label: '刻码',
+          slot: 'engrave',
+          align: 'center',
+          headerSlot: 'headerEngrave'
+        },
+      ]
+      let processNodes = {
+        stater: [
+          {
+            minWidth: 140,
+            prop: 'reason',
+            label: '客户退货理由',
+            align: 'center',
+            slot: 'reason',
+            headerSlot: 'headerReason'
+          },
+          {
+            minWidth: 140,
+            prop: 'feedbackDate',
+            label: '客户反馈日期',
+            align: 'center',
+            slot: 'feedbackDate'
+          },
+          {
+            minWidth: 140,
+            prop: 'sendDate',
+            label: '客户发出日期',
+            slot: 'sendDate',
+            align: 'center',
+            headerSlot: 'headerSendDate'
+          },
+        ],
+      }
+      this.taskDefinitionKeyList.forEach(item => {
+        basicFields.push(...processNodes[item])
+      })
+
+      return basicFields
+    }
+  },
+  methods: {
+    init(type, row = {}) {
+      this.dialogType = type
+      this.currentRow = row
+    },
+    handleSelectGoods(){
+      this.aaaFlag = true
+      this.$nextTick(()=>{
+        this.$refs.aaaRef.init(this.currentRow)
+      })
+    },
+    cancel() {
+      this.$emit('update:customerReturnOrderDialogFlag', false)
+    },
+  }
+}
+</script>
+<style scoped lang="scss">
+
+</style>

+ 257 - 215
src/views/saleManage/saleOrder/returnGoods/index.vue

@@ -2,7 +2,7 @@
   <div class="ele-body">
     <el-card shadow="never" v-loading="loading">
       <div class="ele-border-lighter form-content" v-loading="loading">
-        <search-table @search="reload"> </search-table>
+        <search-table @search="reload"></search-table>
 
         <!-- 数据表格 -->
         <ele-pro-table
@@ -47,7 +47,8 @@
               :underline="false"
               @click="openorderDetail(row, 'returnNo')"
             >
-              {{ row.returnNo }}</el-link
+              {{ row.returnNo }}
+            </el-link
             >
           </template>
           <template v-slot:sendNo="{ row }">
@@ -56,7 +57,8 @@
               :underline="false"
               @click="openorderDetail(row, 'sendNo')"
             >
-              {{ row.sendNo }}</el-link
+              {{ row.sendNo }}
+            </el-link
             >
           </template>
           <template v-slot:orderNo="{ row }">
@@ -65,11 +67,28 @@
               :underline="false"
               @click="openorderDetail(row, 'orderNo')"
             >
-              {{ row.orderNo }}</el-link
+              {{ row.orderNo }}
+            </el-link
             >
           </template>
           <!-- 操作列 -->
           <template v-slot:action="{ row }">
+<!--            <el-link-->
+<!--              type="primary"-->
+<!--              :underline="false"-->
+<!--              icon="el-icon-edit"-->
+<!--              @click="handleCreateCROrder('add', row)"-->
+<!--              v-if="[1].includes(row.canCreateHandleReceipt)&&!row.handleReceiptId">-->
+<!--             退货处理-->
+<!--            </el-link>-->
+<!--            <el-link-->
+<!--              type="primary"-->
+<!--              :underline="false"-->
+<!--              icon="el-icon-edit"-->
+<!--              @click="handleCreateCROrder('update', row)"-->
+<!--              v-if="row.handleReceiptId&&row.canCreateHandleReceipt=='1'">-->
+<!--              退货处理-->
+<!--            </el-link>-->
             <el-link
               type="primary"
               :underline="false"
@@ -113,6 +132,12 @@
     <send-detail-dialog ref="sendDetailDialogRef"></send-detail-dialog>
     <order-detail-dialog ref="orderDetailDialogRef"></order-detail-dialog>
     <detail-dialog ref="DetailDialogRef"></detail-dialog>
+    <!--  客户真实退货单  -->
+    <customer-return-order-dialog
+      v-if="customerReturnOrderDialogFlag"
+      :customer-return-order-dialog-flag.sync="customerReturnOrderDialogFlag"
+      ref="customerReturnOrderDialogRef">
+    </customer-return-order-dialog>
     <!-- 多选删除弹窗 -->
     <pop-modal
       :visible.sync="delVisible"
@@ -123,232 +148,249 @@
 </template>
 
 <script>
-  import searchTable from './components/searchTable.vue';
-  import addReturnGoodsDialog from './components/addReturnGoodsDialog.vue';
-  import detailDialog from './components/detailDialog.vue';
-  import sendDetailDialog from '@/views/saleManage/saleOrder/invoice/components/detailDialog.vue';
-  import orderDetailDialog from '@/views/saleManage/saleOrder/components/detailDialog.vue';
-  import popModal from '@/components/pop-modal';
-  import { reviewStatusEnum } from '@/enum/dict';
-  import {
-    getReturnTableList,
-    submit,
-    deleteReturnInformation
-  } from '@/api/saleManage/returnGoods';
-  import dictMixins from '@/mixins/dictMixins';
+import searchTable from './components/searchTable.vue';
+import addReturnGoodsDialog from './components/addReturnGoodsDialog.vue';
+import detailDialog from './components/detailDialog.vue';
+import sendDetailDialog from '@/views/saleManage/saleOrder/invoice/components/detailDialog.vue';
+import orderDetailDialog from '@/views/saleManage/saleOrder/components/detailDialog.vue';
+import popModal from '@/components/pop-modal';
+import customerReturnOrderDialog
+  from "@/views/saleManage/saleOrder/returnGoods/components/customerReturnOrderDialog.vue";
+import {reviewStatusEnum} from '@/enum/dict';
+import {
+  getReturnTableList,
+  submit,
+  deleteReturnInformation
+} from '@/api/saleManage/returnGoods';
+import dictMixins from '@/mixins/dictMixins';
 
-  export default {
-    mixins: [dictMixins],
-    components: {
-      searchTable,
-      sendDetailDialog,
-      orderDetailDialog,
-      popModal,
-      addReturnGoodsDialog,
-      detailDialog
-    },
-    data() {
-      return {
-        activeComp: 'saleorder',
-        tabOptions: [
-          { key: 'saleorder', name: '销售订单' },
-          { key: 'invoice', name: '发货单' },
-          { key: 'returnorder', name: '退货单' }
-        ],
-        selection: [], //单选中集合
-        delVisible: false, //批量删除弹框状态
-        loading: false, // 加载状态
-        columns: [
-          {
-            width: 45,
-            type: 'selection',
-            columnKey: 'selection',
-            align: 'center'
-          },
-          {
-            columnKey: 'index',
-            label: '序号',
-            type: 'index',
-            width: 55,
-            align: 'center',
-            showOverflowTooltip: true,
-            fixed: 'left'
-          },
-          {
-            prop: 'returnNo',
-            label: '退货单编码',
-            align: 'center',
-            slot: 'returnNo',
-            showOverflowTooltip: true,
-            minWidth: 200
-          },
-          {
-            prop: 'sendNo',
-            label: '发货单编码',
-            align: 'center',
-            slot: 'sendNo',
-            showOverflowTooltip: true,
-            minWidth: 200
-          },
-          {
-            prop: 'orderNo',
-            label: '销售订单编码',
-            align: 'center',
-            slot: 'orderNo',
-            showOverflowTooltip: true,
-            minWidth: 200
-          },
-          {
-            prop: 'contactName',
-            label: '客户名称',
-            align: 'center',
-            showOverflowTooltip: true,
-            minWidth: 180
-          },
-          {
-            prop: 'payAmount',
-            label: '应付金额',
-            align: 'center',
-            slot: 'payAmount',
-            showOverflowTooltip: true,
-            minWidth: 200
-          },
-          {
-            prop: 'reviewStatus',
-            label: '状态',
-            align: 'center',
-            showOverflowTooltip: true,
-            minWidth: 200,
-            formatter: (_row, _column, cellValue) => {
-              return reviewStatusEnum[_row.reviewStatus].label;
-            }
-          },
-          {
-            prop: 'createTime',
-            label: '创建时间',
-            align: 'center',
-            showOverflowTooltip: true,
-            minWidth: 170
-          },
-          {
-            columnKey: 'action',
-            label: '操作',
-            width: 230,
-            align: 'center',
-            resizable: false,
-            slot: 'action',
-            showOverflowTooltip: true,
-            fixed: 'right'
+export default {
+  mixins: [dictMixins],
+  components: {
+    searchTable,
+    sendDetailDialog,
+    orderDetailDialog,
+    popModal,
+    addReturnGoodsDialog,
+    detailDialog,
+    customerReturnOrderDialog
+  },
+  data() {
+    return {
+      activeComp: 'saleorder',
+      tabOptions: [
+        {key: 'saleorder', name: '销售订单'},
+        {key: 'invoice', name: '发货单'},
+        {key: 'returnorder', name: '退货单'}
+      ],
+      selection: [], //单选中集合
+      delVisible: false, //批量删除弹框状态
+      loading: false, // 加载状态
+      customerReturnOrderDialogFlag: false, // 客户真实退货单
+      columns: [
+        {
+          width: 45,
+          type: 'selection',
+          columnKey: 'selection',
+          align: 'center'
+        },
+        {
+          columnKey: 'index',
+          label: '序号',
+          type: 'index',
+          width: 55,
+          align: 'center',
+          showOverflowTooltip: true,
+          fixed: 'left'
+        },
+        {
+          prop: 'returnNo',
+          label: '退货单编码',
+          align: 'center',
+          slot: 'returnNo',
+          showOverflowTooltip: true,
+          minWidth: 200
+        },
+        {
+          prop: 'sendNo',
+          label: '发货单编码',
+          align: 'center',
+          slot: 'sendNo',
+          showOverflowTooltip: true,
+          minWidth: 200
+        },
+        {
+          prop: 'orderNo',
+          label: '销售订单编码',
+          align: 'center',
+          slot: 'orderNo',
+          showOverflowTooltip: true,
+          minWidth: 200
+        },
+        {
+          prop: 'contactName',
+          label: '客户名称',
+          align: 'center',
+          showOverflowTooltip: true,
+          minWidth: 180
+        },
+        {
+          prop: 'payAmount',
+          label: '应付金额',
+          align: 'center',
+          slot: 'payAmount',
+          showOverflowTooltip: true,
+          minWidth: 200
+        },
+        {
+          prop: 'reviewStatus',
+          label: '状态',
+          align: 'center',
+          showOverflowTooltip: true,
+          minWidth: 200,
+          formatter: (_row, _column, cellValue) => {
+            return reviewStatusEnum[_row.reviewStatus].label;
           }
-        ]
-      };
-    },
-    computed: {},
+        },
+        {
+          prop: 'createTime',
+          label: '创建时间',
+          align: 'center',
+          showOverflowTooltip: true,
+          minWidth: 170
+        },
+        {
+          columnKey: 'action',
+          label: '操作',
+          width: 230,
+          align: 'center',
+          resizable: false,
+          slot: 'action',
+          showOverflowTooltip: true,
+          fixed: 'right'
+        }
+      ]
+    };
+  },
+  computed: {},
 
-    methods: {
-      /* 表格数据源 */
-      datasource({ page, limit, where, order }) {
-        return getReturnTableList({
-          pageNum: page,
-          size: limit,
-          ...where
-        });
-      },
+  methods: {
+    /* 表格数据源 */
+    datasource({page, limit, where, order}) {
+      return getReturnTableList({
+        pageNum: page,
+        size: limit,
+        ...where
+      });
+    },
 
-      /* 刷新表格 */
-      reload(where) {
-        this.$refs.table.reload({ page: 1, where });
-      },
+    /* 刷新表格 */
+    reload(where) {
+      this.$refs.table.reload({page: 1, where});
+    },
 
-      //新增编辑
-      openEdit(type, row) {
-        this.$refs.invoiceDialogRef.open(type, row);
-        this.$refs.invoiceDialogRef.$refs.form &&
-          this.$refs.invoiceDialogRef.$refs.form.clearValidate();
-      },
+    //新增编辑
+    openEdit(type, row) {
+      this.$refs.invoiceDialogRef.open(type, row);
+      this.$refs.invoiceDialogRef.$refs.form &&
+      this.$refs.invoiceDialogRef.$refs.form.clearValidate();
+    },
 
-      //批量删除
-      allDelBtn() {
-        if (this.selection.length === 0) return;
-        this.delVisible = true;
-      },
+    //批量删除
+    allDelBtn() {
+      if (this.selection.length === 0) return;
+      this.delVisible = true;
+    },
 
-      //删除接口
-      remove(delData) {
-        deleteReturnInformation(delData).then((res) => {
-          this.$message.success('删除成功!');
-          this.reload();
-        });
-      },
+    //删除接口
+    remove(delData) {
+      deleteReturnInformation(delData).then((res) => {
+        this.$message.success('删除成功!');
+        this.reload();
+      });
+    },
 
-      //删除弹框确定
-      commitBtn() {
-        const dataId = this.selection.map((v) => v.id);
-        this.remove(dataId);
-      },
-      returnSubmit(res) {
-        submit({
-          businessId: res.id
-        }).then((res) => {
-          this.$message.success('提交成功!');
-          this.reload();
-        });
-      },
-      //查看详情
-      openorderDetail(row, type) {
-        if (type === 'returnNo') {
-          this.$refs.DetailDialogRef.open(row);
-        }
-        if (type === 'sendNo') {
-          this.$refs.sendDetailDialogRef.open({ id: row.sendId });
-        }
-        if (type === 'orderNo') {
-          this.$refs.orderDetailDialogRef.open({ id: row.orderId });
-        }
+    //删除弹框确定
+    commitBtn() {
+      const dataId = this.selection.map((v) => v.id);
+      this.remove(dataId);
+    },
+    returnSubmit(res) {
+      submit({
+        businessId: res.id
+      }).then((res) => {
+        this.$message.success('提交成功!');
+        this.reload();
+      });
+    },
+    //创建/修改客户退货单
+    handleCreateCROrder(type,row){
+      this.customerReturnOrderDialogFlag = true
+      this.$nextTick(()=>{
+        this.$refs.customerReturnOrderDialogRef.init(type,row)
+      })
+    },
+    //查看详情
+    openorderDetail(row, type) {
+      if (type === 'returnNo') {
+        this.$refs.DetailDialogRef.open(row);
+      }
+      if (type === 'sendNo') {
+        this.$refs.sendDetailDialogRef.open({id: row.sendId});
+      }
+      if (type === 'orderNo') {
+        this.$refs.orderDetailDialogRef.open({id: row.orderId});
       }
     }
-  };
+  }
+};
 </script>
 
 <style lang="scss" scoped>
-  .ele-body {
-    padding-top: 0;
-    padding-bottom: 0;
-  }
-  :deep .el-card__body {
-    padding: 0;
-  }
-  :deep(.el-link--inner) {
-    margin-left: 0px !important;
-  }
+.ele-body {
+  padding-top: 0;
+  padding-bottom: 0;
+}
 
-  .sys-organization-list {
-    height: calc(100vh - 264px);
-    box-sizing: border-box;
-    border-width: 1px;
-    border-style: solid;
-    overflow: auto;
-  }
-  .sys-organization-list :deep(.el-tree-node__content) {
-    height: 40px;
-    & > .el-tree-node__expand-icon {
-      margin-left: 10px;
-    }
-  }
+:deep .el-card__body {
+  padding: 0;
+}
 
-  .switch_left ul .active {
-    border-top: 4px solid var(--color-primary);
-    color: var(--color-primary-5);
-  }
-  .switch {
-    padding-bottom: 20px;
-  }
+:deep(.el-link--inner) {
+  margin-left: 0px !important;
+}
 
-  .el-dropdown-link {
-    cursor: pointer;
-    color: var(--color-primary-5);
-  }
-  .el-icon-arrow-down {
-    font-size: 12px;
+.sys-organization-list {
+  height: calc(100vh - 264px);
+  box-sizing: border-box;
+  border-width: 1px;
+  border-style: solid;
+  overflow: auto;
+}
+
+.sys-organization-list :deep(.el-tree-node__content) {
+  height: 40px;
+
+  & > .el-tree-node__expand-icon {
+    margin-left: 10px;
   }
+}
+
+.switch_left ul .active {
+  border-top: 4px solid var(--color-primary);
+  color: var(--color-primary-5);
+}
+
+.switch {
+  padding-bottom: 20px;
+}
+
+.el-dropdown-link {
+  cursor: pointer;
+  color: var(--color-primary-5);
+}
+
+.el-icon-arrow-down {
+  font-size: 12px;
+}
 </style>