linwenxin 1 ano atrás
pai
commit
09c77c8a5d

+ 140 - 141
src/views/mallManagement/order/order_list/index.vue

@@ -29,7 +29,8 @@
             <el-form-item label="网点名称" prop="websitId">
               <el-select v-model="screenForm.websitId" placeholder="全部" filterable>
                 <el-option label="全部" value=""></el-option>
-                <el-option :label="item.name" :value="item.id" v-for="(item, index) in websiteList" :key="index"></el-option>
+                <el-option :label="item.name" :value="item.id" v-for="(item, index) in websiteList"
+                  :key="index"></el-option>
               </el-select>
             </el-form-item>
           </el-col>
@@ -40,37 +41,27 @@
             </el-form-item>
           </el-col>
 
-<!--          <el-col :xs="24" :sm="12" :lg="6">-->
-<!--            <el-form-item label="当前状态" prop="orderStatus">-->
-<!--              <el-select v-model="screenForm.orderStatus" placeholder="全部">-->
-<!--                <el-option label="全部" value=""></el-option>-->
-<!--                <el-option :label="item.label" :value="item.value" v-for="(item, index) in screen_status" :key="index"></el-option>-->
-<!--              </el-select>-->
-<!--            </el-form-item>-->
-<!--          </el-col>-->
+          <!--          <el-col :xs="24" :sm="12" :lg="6">-->
+          <!--            <el-form-item label="当前状态" prop="orderStatus">-->
+          <!--              <el-select v-model="screenForm.orderStatus" placeholder="全部">-->
+          <!--                <el-option label="全部" value=""></el-option>-->
+          <!--                <el-option :label="item.label" :value="item.value" v-for="(item, index) in screen_status" :key="index"></el-option>-->
+          <!--              </el-select>-->
+          <!--            </el-form-item>-->
+          <!--          </el-col>-->
 
           <el-col :xs="24" :sm="12" :lg="6">
             <el-form-item label="创建时间" prop="createDate" style="height: 33px;">
-              <el-date-picker
-                v-model="screenForm.createDate"
-                type="datetimerange"
-                value-format="yyyy-MM-dd HH:mm:ss"
-                range-separator="至"
-                start-placeholder="开始日期"
-                end-placeholder="结束日期">
+              <el-date-picker v-model="screenForm.createDate" type="datetimerange" value-format="yyyy-MM-dd HH:mm:ss"
+                range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期">
               </el-date-picker>
             </el-form-item>
           </el-col>
 
           <el-col :xs="24" :sm="12" :lg="6">
             <el-form-item label="支付时间" prop="payDate" style="height: 33px;">
-              <el-date-picker
-                v-model="screenForm.payDate"
-                type="datetimerange"
-                value-format="yyyy-MM-dd HH:mm:ss"
-                range-separator="至"
-                start-placeholder="开始日期"
-                end-placeholder="结束日期">
+              <el-date-picker v-model="screenForm.payDate" type="datetimerange" value-format="yyyy-MM-dd HH:mm:ss"
+                range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期">
               </el-date-picker>
             </el-form-item>
           </el-col>
@@ -123,7 +114,8 @@
           <el-tab-pane label="已超时" name="TIMEOUT"></el-tab-pane>
         </el-tabs>
         <el-button class="fl" type="primary" size="small" @click="batchRemark">批量备注</el-button>
-        <el-button class="fl" type="primary" size="small" @click="batchShipmentVisible = true" v-show="tabCurrent == 'DFH'">批量发货</el-button>
+        <el-button class="fl" type="primary" size="small" @click="batchShipmentVisible = true"
+          v-show="tabCurrent == 'DFH'">批量发货</el-button>
         <el-button class="fl" size="small" @click="downloadTemplate" v-show="tabCurrent == 'DFH'">下载批量发货模版</el-button>
       </div>
       <div class="fr">
@@ -134,7 +126,8 @@
       <div class="table-top">
         <el-row style="width:100%">
           <el-col :span="6">
-            <el-checkbox :indeterminate="isIndeterminate" v-model="checkAll" @change="allChange" style="margin-left: 10px"></el-checkbox>
+            <el-checkbox :indeterminate="isIndeterminate" v-model="checkAll" @change="allChange"
+              style="margin-left: 10px"></el-checkbox>
             <span class="item product">商品信息</span>
           </el-col>
           <el-col :span="3" style="text-align: right"><span class="item">单价(元)/数量</span></el-col>
@@ -149,13 +142,14 @@
       <div class="order-item" v-for="order in dataList" :key="order.orderId">
         <div class="order-top">
           <el-checkbox v-model="order.selected"></el-checkbox>
-          <span><b>订单号</b>:{{order.orderId}}</span>
-          <span><b>下单时间</b>:{{order.createTime}}</span>
-          <span><b>商户</b>:{{order.companyWechatName || '无'}}</span>
-          <span><b>网点</b>:{{order.websitName || '无'}}</span>
+          <span><b>订单号</b>:{{ order.orderId }}</span>
+          <span><b>下单时间</b>:{{ order.createTime }}</span>
+          <span><b>商户</b>:{{ order.companyWechatName || '无' }}</span>
+          <span><b>网点</b>:{{ order.websitName || '无' }}</span>
           <div class="fr">
             <el-link type="primary" :underline="false" @click="showRemark(order.orderId, order.remark)">订单备注</el-link>
             <el-link type="primary" :underline="false" @click="queryDetail(order.orderId)">查看详情</el-link>
+            <el-link type="primary" :underline="false" @click="queryWorkOrder(order.orderId)">订单工单</el-link>
           </div>
         </div>
         <div class="order-content">
@@ -168,14 +162,15 @@
                       <img :src="orderItem.imgUrl" style="height:80px;width: 80px;">
                     </div>
                     <div class="main">
-                      <span>{{orderItem.goodsName}}</span>
-                      <span class="spec" v-if="orderItem.goodsSpecName === '默认' && orderItem.goodsSpecValue === '默认'">默认</span>
-                      <span class="spec" v-else>{{orderItem.goodsSpecName}}-{{orderItem.goodsSpecValue}}</span>
+                      <span>{{ orderItem.goodsName }}</span>
+                      <span class="spec"
+                        v-if="orderItem.goodsSpecName === '默认' && orderItem.goodsSpecValue === '默认'">默认</span>
+                      <span class="spec" v-else>{{ orderItem.goodsSpecName }}-{{ orderItem.goodsSpecValue }}</span>
                     </div>
                   </div>
                   <div class="right">
-                    <span>¥{{orderItem.price}}</span>
-                    <span>x{{orderItem.num}}</span>
+                    <span>¥{{ orderItem.price }}</span>
+                    <span>x{{ orderItem.num }}</span>
                   </div>
                 </div>
               </div>
@@ -184,42 +179,53 @@
               <div class="col-item">
                 <div>{{ order.userName }}</div>
                 <div>{{ order.phone }}</div>
-                <div style="color: #409EFF;">{{ order.isAddCorp ? '(已入驻企微)':'' }}</div>
+                <div style="color: #409EFF;">{{ order.isAddCorp ? '(已入驻企微)' : '' }}</div>
               </div>
             </el-col>
             <el-col :span="3" style="height: 100%;">
               <div class="col-item">
                 <div>{{ order.receUserName }}/{{ order.recePhone }}</div>
-                <div class="ellipsis-2">{{ order.province + order.city + order.area + order.street + order.receAddress + order.houseNo }}</div>
+                <div class="ellipsis-2">{{ order.province + order.city + order.area + order.street + order.receAddress +
+                  order.houseNo }}</div>
               </div>
             </el-col>
             <el-col :span="2" style="height: 100%;">
               <div class="col-item">
-                <div class="totalprice">¥{{order.payAmount}}</div>
-                <div style="font-size: 12px" v-if="order.discountAmount">(<span>-{{order.discountAmount}}</span><span v-if="order.promotionDiscountRate">/{{order.promotionDiscountRate * 10}}折</span>)</div>
+                <div class="totalprice">¥{{ order.payAmount }}</div>
+                <div style="font-size: 12px" v-if="order.discountAmount">(<span>-{{ order.discountAmount }}</span><span
+                    v-if="order.promotionDiscountRate">/{{ order.promotionDiscountRate * 10 }}折</span>)</div>
               </div>
             </el-col>
             <el-col :span="2" style="height: 100%;">
               <div class="col-item">
                 <div style="display: flex; align-items: center;">
-                  <img src="@/assets/order/CLOSE.png" style="width: 16px; flex-shrink: 0;" v-if="order.orderStatus == 'CLOSE'">
-                  <img src="@/assets/order/DFH.png" style="width: 16px; flex-shrink: 0;" v-if="order.orderStatus == 'DFH'">
-                  <img src="@/assets/order/NOPAY.png" style="width: 16px; flex-shrink: 0;" v-if="order.orderStatus == 'NOPAY'">
-                  <img src="@/assets/order/OVER.png" style="width: 16px; flex-shrink: 0;" v-if="order.orderStatus == 'OVER'">
-                  <img src="@/assets/order/TIMEOUT.png" style="width: 16px; flex-shrink: 0;" v-if="order.orderStatus == 'TIMEOUT'">
-                  <img src="@/assets/order/YFH.png" style="width: 16px; flex-shrink: 0;" v-if="order.orderStatus == 'YFH'">
+                  <img src="@/assets/order/CLOSE.png" style="width: 16px; flex-shrink: 0;"
+                    v-if="order.orderStatus == 'CLOSE'">
+                  <img src="@/assets/order/DFH.png" style="width: 16px; flex-shrink: 0;"
+                    v-if="order.orderStatus == 'DFH'">
+                  <img src="@/assets/order/NOPAY.png" style="width: 16px; flex-shrink: 0;"
+                    v-if="order.orderStatus == 'NOPAY'">
+                  <img src="@/assets/order/OVER.png" style="width: 16px; flex-shrink: 0;"
+                    v-if="order.orderStatus == 'OVER'">
+                  <img src="@/assets/order/TIMEOUT.png" style="width: 16px; flex-shrink: 0;"
+                    v-if="order.orderStatus == 'TIMEOUT'">
+                  <img src="@/assets/order/YFH.png" style="width: 16px; flex-shrink: 0;"
+                    v-if="order.orderStatus == 'YFH'">
                   <span style="margin-left: 4px">{{ order.orderStatus | ORDER_CURRENT_STATUS_FILTER }}</span>
                 </div>
-                <div>({{ order.toWorkOrder ? '已派单':'未派单' }})</div>
+                <div>({{ order.toWorkOrder ? '已派单' : '未派单' }})</div>
               </div>
             </el-col>
             <el-col :span="2" style="height: 100%;">
               <div class="col-item">
                 <el-popover placement="top" width="220" trigger="hover" v-if="order.commentService">
                   <div class="rate-list">
-                    <div style="display: flex; align-items: center; margin-bottom: 5px;">商品质量:<el-rate :value="order.commentGoods" disabled></el-rate></div>
-                    <div style="display: flex; align-items: center; margin-bottom: 5px;">服务质量:<el-rate :value="order.commentService" disabled></el-rate></div>
-                    <div style="display: flex; align-items: center;">配送质量:<el-rate :value="order.commentExpress" disabled></el-rate></div>
+                    <div style="display: flex; align-items: center; margin-bottom: 5px;">商品质量:<el-rate
+                        :value="order.commentGoods" disabled></el-rate></div>
+                    <div style="display: flex; align-items: center; margin-bottom: 5px;">服务质量:<el-rate
+                        :value="order.commentService" disabled></el-rate></div>
+                    <div style="display: flex; align-items: center;">配送质量:<el-rate :value="order.commentExpress"
+                        disabled></el-rate></div>
                   </div>
                   <el-button type="text" slot="reference">已评价</el-button>
                 </el-popover>
@@ -229,69 +235,57 @@
             <el-col :span="3" style="height: 100%;">
               <div class="col-item">
                 <div class="operate">
-                  <el-popconfirm title="确定取消订单吗?" @confirm="cancelOrder(order.orderId)" v-if="order.orderStatus === 'NOPAY'">
+                  <el-popconfirm title="确定取消订单吗?" @confirm="cancelOrder(order.orderId)"
+                    v-if="order.orderStatus === 'NOPAY'">
                     <el-button slot="reference" type="text" size="small">取消订单</el-button>
                   </el-popconfirm>
-                  <el-button type="text" size="small" v-if="order.orderStatus === 'DFH'" @click="showLogistics(order, 'add')">发货</el-button>
-                  <el-button type="text" size="small" v-if="order.orderStatus === 'DFH'" @click="openAddressForm(order)">修改收货地址</el-button>
-                  <el-button 
-                    type="text" 
-                    size="small" 
-                    v-if="order.orderStatus === 'YFH' && order.orderDetails.some(i => i.workOrderType === 'INSTALL')" 
+                  <el-button type="text" size="small" v-if="order.orderStatus === 'DFH'"
+                    @click="showLogistics(order, 'add')">发货</el-button>
+                  <el-button type="text" size="small" v-if="order.orderStatus === 'DFH'"
+                    @click="openAddressForm(order)">修改收货地址</el-button>
+                  <el-button type="text" size="small"
+                    v-if="order.orderStatus === 'YFH' && order.orderDetails.some(i => i.workOrderType === 'INSTALL')"
                     @click="showLogistics(order, 'edit')">
                     修改快递单号
                   </el-button>
-                  <el-button 
-                    type="text" 
-                    size="small" 
-                    v-if="(order.orderStatus === 'YFH' || order.orderStatus === 'OVER') && order.orderDetails.some(i => i.workOrderType === 'INSTALL')" 
+                  <el-button type="text" size="small"
+                    v-if="(order.orderStatus === 'YFH' || order.orderStatus === 'OVER') && order.orderDetails.some(i => i.workOrderType === 'INSTALL')"
                     @click="queryLogistics(order.logisticsNo, order.companyCode)">
                     查看物流
                   </el-button>
-                  <el-button type="text" size="small" v-if="order.toWorkOrder" @click="toWorkOrderDetail(order.orderId)">查看工单</el-button>
+                  <el-button type="text" size="small" v-if="order.toWorkOrder"
+                    @click="toWorkOrderDetail(order.orderId)">查看工单</el-button>
                 </div>
               </div>
             </el-col>
           </el-row>
         </div>
-        <div class="order-remark buyer" v-if="order.buyerMsg">买家留言:{{order.buyerMsg}}</div>
-        <div class="order-remark saler" v-if="order.remark">商家备注:{{order.remark}}</div>
+        <div class="order-remark buyer" v-if="order.buyerMsg">买家留言:{{ order.buyerMsg }}</div>
+        <div class="order-remark saler" v-if="order.remark">商家备注:{{ order.remark }}</div>
       </div>
       <div class="no-data" v-if="dataList.length <= 0">暂无订单</div>
     </div>
     <div class="pagination clearfix">
       <div class="fr">
-        <el-pagination
-          @size-change="handleSizeChange"
-          @current-change="handleCurrentChange"
-          :current-page="currentPage"
-          :page-sizes="[10, 20, 30, 50]"
-          :page-size="10"
-          layout="total, sizes, prev, pager, next, jumper"
+        <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="currentPage"
+          :page-sizes="[10, 20, 30, 50]" :page-size="10" layout="total, sizes, prev, pager, next, jumper"
           :total="listTotal">
         </el-pagination>
       </div>
     </div>
-    <el-dialog :title="'订单备注'" :visible.sync="remarkVisible" :show-close="false" width="50%" :close-on-click-modal="false">
-      <el-input
-        type="textarea"
-        :autosize="{ minRows: 8, maxRows: 16}"
-        placeholder="请输入备注内容"
-        v-model="remark"
-        maxlength="100"
-        show-word-limit>
+    <el-dialog :title="'订单备注'" :visible.sync="remarkVisible" :show-close="false" width="50%"
+      :close-on-click-modal="false">
+      <el-input type="textarea" :autosize="{ minRows: 8, maxRows: 16 }" placeholder="请输入备注内容" v-model="remark"
+        maxlength="100" show-word-limit>
       </el-input>
       <div slot="footer" class="dialog-footer">
         <el-button type="primary" @click="saveRemark">保 存</el-button>
         <el-button @click="cancelRemark">取 消</el-button>
       </div>
     </el-dialog>
-    <el-dialog :title="'物流信息'" :visible.sync="logisticsVisible" :show-close="false" width="80%" :close-on-click-modal="false">
-      <el-table
-        v-loading="logisticsLoading"
-        :data="logistics"
-        style="width: 100%"
-        size="mini">
+    <el-dialog :title="'物流信息'" :visible.sync="logisticsVisible" :show-close="false" width="80%"
+      :close-on-click-modal="false">
+      <el-table v-loading="logisticsLoading" :data="logistics" style="width: 100%" size="mini">
         <el-table-column prop="comName" label="物流公司" align="center"></el-table-column>
         <el-table-column prop="areaName" label="地区名称" align="center"></el-table-column>
         <el-table-column prop="time" label="物流时间" align="center"></el-table-column>
@@ -308,22 +302,24 @@
     </el-dialog>
 
     <!-- 发货弹窗 -->
-    <el-dialog :title="logisticsType == 'add' ? '发货':'修改单号'" :visible.sync="logisticsIdVisible" :show-close="false" width="50%" :close-on-click-modal="false">
+    <el-dialog :title="logisticsType == 'add' ? '发货' : '修改单号'" :visible.sync="logisticsIdVisible" :show-close="false"
+      width="50%" :close-on-click-modal="false">
       <el-form :model="logisticsForm" ref="logisticsForm" label-width="80px" label-position="left">
-        <el-form-item label="快递单号" prop="logisticsNo"
-          :rules="[{ required: true, message: '快递单号不能为空', trigger: 'blur' }]" >
+        <el-form-item label="快递单号" prop="logisticsNo" :rules="[{ required: true, message: '快递单号不能为空', trigger: 'blur' }]">
           <el-input v-model="logisticsForm.logisticsNo" placeholder="请输入快递单号"></el-input>
         </el-form-item>
         <el-form-item label="物流公司" prop="companyCode"
-          :rules="[{ required: true, message: '请选择物流公司', trigger: 'change' }]" >
+          :rules="[{ required: true, message: '请选择物流公司', trigger: 'change' }]">
           <el-select v-model="logisticsForm.companyCode" placeholder="请选择物流公司" style="width: 100%;">
-            <el-option :label="item.name" :value="item.code" v-for="(item, index) in companyList" :key="index"></el-option>
+            <el-option :label="item.name" :value="item.code" v-for="(item, index) in companyList"
+              :key="index"></el-option>
           </el-select>
         </el-form-item>
         <el-form-item label="仓储" prop="storageId" v-if="logisticsType === 'add'"
-          :rules="[{ required: true, message: '请选择仓储', trigger: 'change' }]" >
+          :rules="[{ required: true, message: '请选择仓储', trigger: 'change' }]">
           <el-select v-model="logisticsForm.storageId" placeholder="请选择仓储" style="width: 100%;">
-            <el-option :label="item.storageName" :value="item.storageId" v-for="(item, index) in storageList" :key="index"></el-option>
+            <el-option :label="item.storageName" :value="item.storageId" v-for="(item, index) in storageList"
+              :key="index"></el-option>
           </el-select>
         </el-form-item>
         <el-form-item label="是否派单" prop="workOrder" v-if="logisticsType === 'add'">
@@ -346,7 +342,8 @@
     </el-dialog>
 
     <!-- 修改收货地址 -->
-    <el-dialog title="修改收货地址" :visible.sync="addressFormVisible" :show-close="false" width="50%" :close-on-click-modal="false">
+    <el-dialog title="修改收货地址" :visible.sync="addressFormVisible" :show-close="false" width="50%"
+      :close-on-click-modal="false">
       <el-form :model="addressForm" :rules="addressFormRules" ref="addressForm" label-width="80px" label-position="left">
         <el-form-item label="姓名" prop="name">
           <el-input v-model="addressForm.name" placeholder="请输入姓名"></el-input>
@@ -388,20 +385,14 @@
     </el-dialog>
 
     <!-- 批量发货 -->
-    <el-dialog title="批量发货" :visible.sync="batchShipmentVisible" :show-close="false" width="30%" :close-on-click-modal="false">
+    <el-dialog title="批量发货" :visible.sync="batchShipmentVisible" :show-close="false" width="30%"
+      :close-on-click-modal="false">
       <el-form ref="batchShipmentForm" label-position="top" label-width="120px" style="height: 194px;">
         <el-form-item label="上传发货表格" prop="fileUrl">
-          <el-upload
-            ref="upload"
-            class="upload-demo"
-            :action="baseURL + 'order/goods/batch/deliver'"
-            :headers="myHeaders"
-            :on-remove="handleRemove"
-            :on-change="handleChange"
-            :before-upload="beforeUpload"
-            :auto-upload="false"
+          <el-upload ref="upload" class="upload-demo" :action="baseURL + 'order/goods/batch/deliver'" :headers="myHeaders"
+            :on-remove="handleRemove" :on-change="handleChange" :before-upload="beforeUpload" :auto-upload="false"
             :file-list="fileList">
-            <el-button size="small" type="primary">{{fileList.length == 0 ? '点击上传':'重新上传'}}</el-button>
+            <el-button size="small" type="primary">{{ fileList.length == 0 ? '点击上传' : '重新上传' }}</el-button>
             <div slot="tip" class="el-upload__tip">只支持上传excel表格文件</div>
           </el-upload>
         </el-form-item>
@@ -418,9 +409,9 @@
 
 <script>
 import { getToken } from '@/utils/auth'
-import {cancelOrder, getList, goodsDeliver, saveRemark, batchShipment, batchRemark, getWebsiteList, editLogistics, getRegion, editAddress} from "@/api/order";
-import {getExpress, getCompanyList} from "@/api/common";
-import {downloadFiles, handleImport} from '@/utils/util'
+import { cancelOrder, getList, goodsDeliver, saveRemark, batchShipment, batchRemark, getWebsiteList, editLogistics, getRegion, editAddress } from "@/api/order";
+import { getExpress, getCompanyList } from "@/api/common";
+import { downloadFiles, handleImport } from '@/utils/util'
 import * as Storage from "@/api/storage";
 import '@/styles/order-list.scss'
 
@@ -429,7 +420,7 @@ export default {
   data() {
     return {
       baseURL: process.env.VUE_APP_BASE_API,
-      myHeaders: {'x-token': getToken()},
+      myHeaders: { 'x-token': getToken() },
       screenForm: { // 筛选表单数据
         orderId: '', // 订单号
         goodsName: '', // 商品名称
@@ -511,7 +502,7 @@ export default {
       get() {
         return this.dataList.every(item => item.selected === true)
       },
-      set() {}
+      set() { }
     },
     isIndeterminate() {
       return !this.dataList.every(item => item.selected !== true) && !this.dataList.every(item => item.selected !== false)
@@ -524,6 +515,14 @@ export default {
     this.getWebsiteList();
   },
   methods: {
+    queryWorkOrder(id) {
+      this.$router.push({
+        name: "workOrderPool",
+        query: {
+          saleOrderId: id,
+        }
+      })
+    },
     changeTabs(tab, event) {
       // this.$refs.screenForm.resetFields();
       this.screenForm.orderStatus = this.tabCurrent === 'ALL' ? '' : tab.$options.propsData.name
@@ -531,7 +530,7 @@ export default {
       this.getList();
     },
     // 获取数据列表
-    getList () {
+    getList() {
       // this.listLoading = true;
 
       let params = {
@@ -564,11 +563,11 @@ export default {
       })
     },
     // 查看详情
-    queryDetail (orderId) {
+    queryDetail(orderId) {
       // let {href} = this.$router.resolve({path: `/order/detail?orderId=${orderId}`});
       // window.open(href, '_blank');
       this.$router.push({
-        name:"order_detail",
+        name: "order_detail",
         query: {
           orderId
         }
@@ -639,7 +638,7 @@ export default {
       this.logisticsType = type;
       this.logisticsIdVisible = true;
       this.editOrderId = item.orderId;
-      if(type === 'edit') {
+      if (type === 'edit') {
         this.logisticsForm.logisticsNo = item.logisticsNo;
         this.logisticsForm.companyCode = item.companyCode;
       }
@@ -656,7 +655,7 @@ export default {
       this.$refs.logisticsForm.validate((valid) => {
         if (valid) {
           // 发货
-          if(this.logisticsType === 'add') {
+          if (this.logisticsType === 'add') {
             goodsDeliver({
               orderId: this.editOrderId,
               logisticsNo: this.logisticsForm.logisticsNo,
@@ -709,7 +708,7 @@ export default {
     },
 
     // 取消 批量发货
-    cancelBatchShipmentForm(){
+    cancelBatchShipmentForm() {
       this.batchShipmentVisible = false;
       this.fileList = [];
     },
@@ -736,7 +735,7 @@ export default {
       if (!this.canClickSave) return false;
       this.canClickSave = false;
       setTimeout(() => { this.canClickSave = true }, 3000)
-      if(this.fileList.length <= 0) {
+      if (this.fileList.length <= 0) {
         return this.$errorMsg('请上传发货表格');
       }
       const loading = this.$loading({
@@ -751,11 +750,11 @@ export default {
       formData.append("file", file);
       let result = await handleImport('order/goods/batch/deliver', formData);
       this.importFileList = [];
-      if(result.code == 200) {
+      if (result.code == 200) {
         loading.close();
         this.$successMsg('批量发货成功');
         this.getList();
-      }else {
+      } else {
         loading.close();
         this.$alert(result.message, '批量发货失败', {
           confirmButtonText: '确定'
@@ -764,15 +763,15 @@ export default {
     },
 
     // 获取省市区街道
-    getRegion(level=0, id=0) {
-      getRegion({pid: id}).then(res => {
-        if(level === 0) {
+    getRegion(level = 0, id = 0) {
+      getRegion({ pid: id }).then(res => {
+        if (level === 0) {
           this.provinceList = res.data;
-        }else if(level === 1) {
+        } else if (level === 1) {
           this.cityList = res.data;
-        }else if(level === 2) {
+        } else if (level === 2) {
           this.areaList = res.data;
-        }else if(level === 3) {
+        } else if (level === 3) {
           this.streetList = res.data;
         }
       })
@@ -811,24 +810,24 @@ export default {
     },
 
     // 初始化省市区街道
-    initRegion(level, item, id=0) {
+    initRegion(level, item, id = 0) {
       let { province, city, area, street } = item;
       let nextId = null;
-      getRegion({pid: id}).then(res => {
-        if(level === 0) {
+      getRegion({ pid: id }).then(res => {
+        if (level === 0) {
           this.provinceList = res.data;
           nextId = this.addressForm.province = this.provinceList[this.$findElem(this.provinceList, 'name', province)].id;
-        }else if(level === 1) {
+        } else if (level === 1) {
           this.cityList = res.data;
           nextId = this.addressForm.city = this.cityList[this.$findElem(this.cityList, 'name', city)].id;
-        }else if(level === 2) {
+        } else if (level === 2) {
           this.areaList = res.data;
           nextId = this.addressForm.area = this.areaList[this.$findElem(this.areaList, 'name', area)].id;
-        }else if(level === 3) {
+        } else if (level === 3) {
           this.streetList = res.data;
           nextId = this.addressForm.street = this.streetList[this.$findElem(this.streetList, 'name', street)].id;
         }
-        if(level < 3) {
+        if (level < 3) {
           level = level + 1;
           this.initRegion(level, item, nextId);
         }
@@ -912,7 +911,7 @@ export default {
     // 切换全选/全不选
     allChange(val) {
       // 如果有其中一个false,那就全选
-      if(this.dataList.some((item) => { return item.selected === false })) {
+      if (this.dataList.some((item) => { return item.selected === false })) {
         let dataList = this.dataList;
         dataList.forEach(item => {
           item.selected = true;
@@ -931,19 +930,19 @@ export default {
     },
 
     batchRemark() {
-      if(this.dataList.every((item) => { return item.selected === false })) {
+      if (this.dataList.every((item) => { return item.selected === false })) {
         return this.$errorMsg('至少选择一个订单');
       }
       this.$prompt('请输入备注', '批量备注', {
         confirmButtonText: '确定',
         cancelButtonText: '取消',
-        inputValidator: function(value) {
-          if(!value) return '请输入备注'
+        inputValidator: function (value) {
+          if (!value) return '请输入备注'
         },
       }).then(({ value }) => {
         let selectedlist = [];
         this.dataList.forEach(item => {
-          if(item.selected) {
+          if (item.selected) {
             selectedlist.push(item.orderId);
           }
         });
@@ -954,16 +953,16 @@ export default {
           this.getList();
           this.$successMsg();
         })
-      }).catch(() => {});
+      }).catch(() => { });
     },
 
-    handleText(text){
-      if(!text) {
+    handleText(text) {
+      if (!text) {
         return '';
       }
-      if(text.length>10){
+      if (text.length > 10) {
         return text.slice(0, 10) + "...";
-      }else {
+      } else {
         return text
       }
     },
@@ -974,12 +973,12 @@ export default {
       // window.open(href, '_blank');
 
       this.$router.push({
-        name:"workOrder_detail",
+        name: "workOrder_detail",
         query: {
           orderId
         }
       })
-      
+
     },
 
   }

+ 23 - 9
src/views/workOrder/workOrderPool/index.vue

@@ -3,7 +3,7 @@
   <template-page ref="pageRef" :getList="getList" :operation="operation" :exportList="exportList"
     :optionsEvensGroup="optionsEvensGroup" :columnParsing="columnParsing" :tableAttributes="tableAttributes"
     :tableEvents="tableEvents" :moreParameters="moreParameters" :screeningAnalysis="screeningAnalysis"
-    :filterMethod="filterMethod" :replaceOrNotMap="true">
+    :filterMethod="filterMethod" :replaceOrNotMap="true" :defaultSearchData="defaultSearchData">
     <!-- 创建工单 -->
     <div class="cartographer_big">
       <el-dialog title="创建工单" width="100%" :modal="false" :visible.sync="createFormBool" :before-close="handleClose">
@@ -75,7 +75,8 @@ export default {
       },
       recordSelected: [],
       orderTypeList: [],
-      orderStatusList: []
+      orderStatusList: [],
+      defaultSearchData: [],
     }
   },
   computed: {
@@ -173,18 +174,14 @@ export default {
         ]
       ]
     }
-  }, 
+  },
   watch: {
     $route() {
-      if (this.$route.path === "/workOrder/workOrderPool" && this.$route.query.id) {
-        this.id = this.$route.query.id
-        this.$nextTick(() => {
-          this.detailFormBool = true
-        })
-      }
+      this.initFun()
     }
   },
   created() {
+    this.initFun()
     EventBus.$on('handleOrderClone', () => {
       this.handleClose()
     })
@@ -197,6 +194,23 @@ export default {
     })
   },
   methods: {
+    initFun() {
+      if (this.$route.path === "/workOrder/workOrderPool") {
+        if (this.$route.query.id) {
+          this.id = this.$route.query.id
+          this.$nextTick(() => {
+            this.detailFormBool = true
+          })
+        }
+        if (this.$route.query.saleOrderId) {
+          this.defaultSearchData = [{ "param": "a.sale_order_id", "compare": "like", "value": this.$route.query.saleOrderId, label: "销售订单号" }]
+          this.$nextTick(()=>{
+            this.defaultSearchData = []
+            this.$router.push({name: "workOrderPool",params: {},query: {}})
+          })
+        }
+      }
+    },
     selectable(row, index) {
       return !["YWG", "YJS", "YQX"].includes(Object.entries(row.selectMapData.orderStatus).find(([key, val]) => val == row.orderStatus)?.[0])
     },