Procházet zdrojové kódy

Merge remote-tracking branch 'origin/develop' into develop

FengChaoYu před 3 roky
rodič
revize
caf992d381

+ 19 - 7
src/api/basic_data/material.js

@@ -155,13 +155,6 @@ export function getProductRricedel(params) {
   })
 }
 
-export function getProductRriceConfirm(params) {
-  return request({
-    url:'/product-upd-price/confirm',
-    method: 'post',
-    data:params
-  })
-}
 
 
 export function getProductRriceDetail(params) {
@@ -360,3 +353,22 @@ export function handleEdit(params){
     data:params
   })
 }
+
+
+
+
+export function examineData(params){
+  return request({
+    url:'/product-upd-price/confirm',
+    method: 'POST',
+    params
+  })
+}
+
+export function getProductRriceConfirm(params) {
+  return request({
+    url:'/product-upd-price/confirm',
+    method: 'POST',
+    params
+  })
+}

+ 12 - 1
src/api/supply/sales.js

@@ -88,4 +88,15 @@ export function addReturn(params) {
     method: 'post',
     data: params
   })
-}
+}
+
+
+
+
+export function updateReceipt(params) {
+  return request({
+    url: '/stock/manager/receipt',
+    method: 'get',
+     params
+  })
+}

+ 2 - 0
src/components/Common/print-common.vue

@@ -177,9 +177,11 @@ export default {
 </script>
 
 <style scoped lang="scss">
+
   .detail-container {
     width: 100%;
     height: 100%;
+
   }
   .print-page {
     margin: 20px 0;

+ 4 - 3
src/views/basic_data/material/components/modify_list-approval.vue

@@ -309,10 +309,11 @@ export default {
       this.$parent.show = 1;
     },
     onSubmit() {
-          console.log(this.radio);
+
       const params = {
-        ...this.detail,
-        examineStatus:this.radio
+        ids:this.detail.updPriceBillId,
+        examineNote:this.detail.examineNote,
+        examineStatus:this.radio,
       };
 
       getProductRriceConfirm(params).then((res) => {

+ 39 - 3
src/views/basic_data/material/modify_list.vue

@@ -125,6 +125,7 @@
             icon="el-icon-info"
             icon-color="red"
             title="内容确定删除吗?"
+            style="margin-right:10px"
             @onConfirm="hanleDeleteAll"
           >
             <el-button
@@ -136,6 +137,7 @@
               >删除</el-button
             >
           </el-popconfirm>
+          <el-button size="mini"  type="warning" icon="el-icon-finished" @click="batchExamine"  v-if="$checkBtnRole('examine', $route.meta.roles)">批量审批</el-button>
         </div>
         <div class="fr">
             <ExportButton :exUrl="'/product-upd-price/export'" :exParams="exParams" />
@@ -479,6 +481,7 @@
     <ModifyListApply v-else-if="show === 2 || show==5" :cid='cid'/>
     <ModifyListApproval v-else-if="show === 3 " :detail="detail" />
     <ModifyListDetail v-else :detail="detail" />
+       <ExamineDialog :isShow.sync="isShowExamineDialog" :examineForm.sync="examineForm" />
   </div>
 </template>
 
@@ -486,13 +489,15 @@
 import ModifyListApply from './components/modify_list-apply.vue'
 import ModifyListApproval from './components/modify_list-approval.vue'
 import ModifyListDetail from './components/modify_list-detail.vue'
+import ExamineDialog from '@/components/Common/examine-dialog'
 import Mixin from '@/mixin/index'
 import {
   getPriceSubmit,
   getProductRricedel,
   getProductRriceDetail,
   getProductRriceList,
-  getTypeList
+  getTypeList,
+  examineData
 } from '@/api/basic_data/material'
 import { downloadFiles } from '@/utils/util'
 import { getCategoryList } from '@/api/common'
@@ -560,10 +565,16 @@ export default {
       },
       cid:'',
       typeList: [],
-      dictList:[]
+      dictList:[],
+       isShowExamineDialog: false,
+      examineForm: {
+        status: 'OK',
+        remark: '',
+      },
     };
   },
   components: {
+    ExamineDialog,
     ModifyListApply,
     ModifyListApproval,
     ModifyListDetail,
@@ -614,9 +625,34 @@ export default {
         });
       });
     },
+      // 打开 批量审批
+    batchExamine() {
+      if (this.ids.length) {
+        this.isShowExamineDialog = true;
+        return
+      }
+      this.$errorMsg('请选择审核项')
+    },
+    // 提交 批量审批
+    submitExamineForm() {
+      // let ids = this.dis.map(item => {
+      //   return item
+      // });
+    const  ids = [...new Set(this.ids)]
+      examineData({
+        ids: ids.join(','),
+        examineStatus: this.examineForm.status,
+        examineRemark: this.examineForm.remark,
+      })
+        .then((res) => {
+          this.isShowExamineDialog = false;
+          this.$successMsg("修改成功");
+          this.getList();
+        })
+    },
     handleGetPriceSubmit(id) {
       console.log(id);
-      getPriceSubmit({ id }).then((res) => {
+      getPriceSubmit({ ids:id }).then((res) => {
         this.$successMsg("已提审");
         this.getList();
       });

+ 17 - 15
src/views/supply/apply/components/engin_return_form.vue

@@ -50,18 +50,18 @@
           </el-form-item>
         </el-col>
         <el-col :xs="24" :sm="12" :lg="8">
-          <el-form-item label="项目类别" prop="enginName">
-            <el-input v-model="mainForm.enginName" placeholder="请输入项目类别"></el-input>
+          <el-form-item label="项目类别" prop="refProjectCategory">
+            <el-input v-model="mainForm.refProjectCategory" placeholder="请输入项目类别" disabled></el-input>
           </el-form-item>
         </el-col>
         <el-col :xs="24" :sm="12" :lg="8">
           <el-form-item label="工程登录类型" prop="loginType">
-            <el-input v-model="mainForm.loginType" placeholder="请输入工程登录类型"></el-input>
+            <el-input v-model="mainForm.loginType" placeholder="请输入工程登录类型" disabled></el-input>
           </el-form-item>
         </el-col>
         <el-col :xs="24" :sm="12" :lg="8">
           <el-form-item label="跨厂区编号" prop="factoryNum">
-            <el-input v-model="mainForm.factoryNum" placeholder="请输入跨厂区编号"></el-input>
+            <el-input v-model="mainForm.factoryNum" placeholder="请输入跨厂区编号" disabled></el-input>
           </el-form-item>
         </el-col>
         <el-col :xs="24" :sm="12" :lg="8">
@@ -211,8 +211,8 @@
             </el-form-item>
           </el-col>
           <el-col :xs="12" :sm="12" :lg="6">
-            <el-form-item prop="enginName" label="项目类别">
-              <el-input v-model="screenForm.enginName" placeholder="请输入项目类别"></el-input>
+            <el-form-item prop="refProjectCategory" label="项目类别">
+              <el-input v-model="screenForm.refProjectCategory" placeholder="请输入项目类别"></el-input>
             </el-form-item>
           </el-col>
           <el-col :xs="12" :sm="12" :lg="6">
@@ -267,7 +267,7 @@
           <el-table-column align="left" label="发货申请单号" prop="orderNo" min-width="120" show-overflow-tooltip></el-table-column>
           <el-table-column align="left" label="订单号" prop="mainOrderId" min-width="160" show-overflow-tooltip>
              <template slot-scope="scope">
-           {{scope.row.orderType === 'TRADE' || scope.row.orderType === 'HMOE' ? scope.row.enginOrderNo : scope.row.mainOrderId}}
+           {{scope.row.orderType === 'TRADE' || scope.row.orderType === 'HOME' ? scope.row.enginOrderNo : scope.row.mainOrderId}}
            </template>
           </el-table-column>
           <el-table-column align="left" label="销售类型" prop="saleTypeName" min-width="100" show-overflow-tooltip></el-table-column>
@@ -359,7 +359,7 @@ export default {
         jxsNum: '',
         jxsName: '',
         loginNum: '',
-        enginName: '',
+        refProjectCategory: '',
         loginType: '',
         factoryNum: '',
         company: '',
@@ -384,7 +384,7 @@ export default {
       isShowDialog: false,
       screenForm: {
         loginNum: '',
-        enginName: '',
+        refProjectCategory: '',
         model: '',
         orderNum: '',
         orderNo: '',
@@ -487,8 +487,8 @@ export default {
         this.mainForm.orderDate = data.orderTime.slice(0, 10);
         this.mainForm.jxsNum = data.customerNumber;
         this.mainForm.jxsName = data.customerName;
-        this.mainForm.loginNum = data.enginOrderNo;
-        this.mainForm.enginName = data.refProjectName;
+        this.mainForm.loginNum = data.refEnginRecordNo;
+        this.mainForm.refProjectCategory = data.refProjectCategory;
         this.mainForm.loginType = data.enginOrderType;
         this.mainForm.factoryNum = data.refFactoryNo;
         this.mainForm.company = data.refUseUnit;
@@ -570,7 +570,8 @@ export default {
         pageNum: this.currentPage,
         pageSize: 10,
         refEnginRecordNo: this.screenForm.loginNum,
-        refProjectName: this.screenForm.enginName,
+        refProjectName: this.screenForm.refProjectCategory,
+        refProjectCategory: this.screenForm.refProjectCategory,
         specification: this.screenForm.model,
         correspondId: this.screenForm.warehouse,
         categoryName: this.screenForm.type,
@@ -725,7 +726,7 @@ export default {
       getEnginGoodsDetail({enginOrderNo}).then(res => {
         let data = res.data;
         this.mainForm.loginNum = data.refEnginRecordNo;
-        this.mainForm.enginName = data.refProjectName;
+        this.mainForm.refProjectCategory = data.refProjectName;
         this.mainForm.loginType = data.refPromiseStatus;
         this.mainForm.factoryNum = data.refFactoryNo;
         this.mainForm.company = data.refUseUnit;
@@ -787,7 +788,8 @@ export default {
             customerName: this.mainForm.jxsName,
             remark: this.mainForm.remark,
             enginOrderNo: this.mainForm.loginNum,
-            refProjectName: this.mainForm.enginName,
+            refProjectName: this.mainForm.refProjectCategory,
+            refProjectCategory:this.mainForm.refProjectCategory,
             enginOrderType: this.mainForm.loginType,
             refFactoryNo: this.mainForm.factoryNum,
             refUseUnit: this.mainForm.company,
@@ -800,7 +802,7 @@ export default {
             fileUrl: this.fileList && this.fileList.length > 0 ? this.fileList[0].url : '',
             fileName: this.fileList && this.fileList.length > 0 ? this.fileList[0].name : '',
             correspondId: this.mainForm.warehouse,
-            correspondName: warehouseItem.name,
+            correspondName: warehouseItem?warehouseItem.name:'',
             salesOrderId: this.goodsList[0].id,
             orders: goodsList,
             examineStatus: status,

+ 28 - 13
src/views/supply/apply/engin_list.vue

@@ -56,18 +56,7 @@
                 <el-input v-model="screenForm.model" placeholder="请输入规格型号"></el-input>
               </el-form-item>
             </el-col>
-            <el-col :xs="24" :sm="12" :lg="6">
-              <el-form-item label="业务员" prop="salesMan">
-                <el-select v-model="screenForm.salesMan" placeholder="选择业务员" clearable filterable style="width: 100%">
-                  <el-option
-                    v-for="item in salesmanList"
-                    :key="item.adminUserId"
-                    :label="item.nickName"
-                    :value="item.adminUserId">
-                  </el-option>
-                </el-select>
-              </el-form-item>
-            </el-col>
+
             <el-col :xs="24" :sm="12" :lg="6">
               <el-form-item label="订单类型" prop="orderType">
                 <el-select v-model="screenForm.orderType" placeholder="请选择" clearable>
@@ -95,7 +84,30 @@
                 <el-input v-model="screenForm.refUseUnit" placeholder="请输入使用单位"></el-input>
               </el-form-item>
             </el-col>
-
+     <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="表头业务员" prop="k3ServiceId">
+                <el-select v-model="screenForm.k3ServiceId" placeholder="选择表头业务员" clearable filterable style="width: 100%">
+                  <el-option
+                    v-for="item in salesmanList"
+                    :key="item.adminUserId"
+                    :label="item.nickName"
+                    :value="item.adminUserId">
+                  </el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+                 <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="表体业务员" prop="salesMan">
+                <el-select v-model="screenForm.salesMan" placeholder="选择表体业务员" clearable filterable style="width: 100%">
+                  <el-option
+                    v-for="item in salesmanList"
+                    :key="item.adminUserId"
+                    :label="item.nickName"
+                    :value="item.adminUserId">
+                  </el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
             <el-col :xs="24" :sm="24" :lg="24" class="tr">
               <el-form-item label="">
                 <el-button @click="resetScreenForm">清空</el-button>
@@ -365,6 +377,7 @@ export default {
         mainOrderId: '',
         refEnginRecordNo: '',
         refUseUnit: '',
+        k3ServiceId:''
       },
       statusList: [
         { label: '已保存', value: 'SAVE' },
@@ -409,6 +422,7 @@ export default {
         endTime: this.screenForm.date ? this.screenForm.date[1] : '',
         examineStatus: this.screenForm.status,
         serviceId: this.screenForm.salesMan,
+        k3ServiceId:this.screenForm.k3ServiceId,
         type: this.screenForm.orderType,
         mainOrderId: this.screenForm.mainOrderId,
         refEnginRecordNo: this.screenForm.refEnginRecordNo,
@@ -463,6 +477,7 @@ export default {
         endTime: this.screenForm.date ? this.screenForm.date[1] : '',
         examineStatus: this.screenForm.status,
         serviceId: this.screenForm.salesMan,
+        k3ServiceId: this.screenForm.k3ServiceId,
         type: this.screenForm.orderType,
         mainOrderId: this.screenForm.mainOrderId,
         refEnginRecordNo: this.screenForm.refEnginRecordNo,

+ 7 - 0
src/views/supply/deliver/components/sum_print.vue

@@ -135,6 +135,13 @@ export default {
 
 @media print {
 
+    // 1 毫米 [mm] = 3,779 527 559 055 1 像素 [px]
+    //  241mm = ~911px
+    //  140mm = ~529px
+    // @page{
+    // width: 911px;
+    // height: 529px;
+    // }
     .detail-container {
     width: 100%;
     height: auto !important;

+ 17 - 15
src/views/supply/deliver/deliver_list.vue

@@ -67,7 +67,7 @@
                 </el-select>
               </el-form-item>
             </el-col>
-            
+
             <el-col :xs="24" :sm="12" :lg="18" class="tr">
               <el-form-item label="">
                 <el-button @click="resetScreenForm">清空</el-button>
@@ -85,16 +85,18 @@
           </div>
         </div>
         <div class="table">
-          <el-table 
-            v-loading="listLoading" 
-            :data="dataList" 
-            element-loading-text="Loading" 
-            border 
-            fit 
-            highlight-current-row 
+          <el-table
+            v-loading="listLoading"
+            :data="dataList"
+            element-loading-text="Loading"
+            border
+            fit
+            highlight-current-row
             stripe
             show-summary
             :summary-method="$getSummaries">
+                        <el-table-column align="left" label="销售类型" prop="saleTypeName" min-width="160" show-overflow-tooltip></el-table-column>
+
             <el-table-column align="left" label="发货单号" prop="id" min-width="120" show-overflow-tooltip>
               <template slot-scope="scope">
                 <CopyButton :copyText="scope.row.id" />
@@ -195,12 +197,12 @@
     <!-- 密码记录 -->
     <el-dialog title="密码记录" :visible.sync="isShowDialog" :show-close="false" width="50%" :close-on-click-modal="false">
       <div class="table" style="margin: 10px 0 20px;">
-        <el-table 
-          v-loading="dialogTable_listLoading" 
-          :data="dialogTable_dataList" 
-          element-loading-text="Loading" 
-          tooltip-effect="dark" 
-          style="width: 100%" 
+        <el-table
+          v-loading="dialogTable_listLoading"
+          :data="dialogTable_dataList"
+          element-loading-text="Loading"
+          tooltip-effect="dark"
+          style="width: 100%"
           max-height="270">
           <el-table-column align="center" label="序号" type="index" width="50"></el-table-column>
           <el-table-column align="center" prop="printPassword" label="密码"></el-table-column>
@@ -224,7 +226,7 @@
         <el-button @click="isShowDialog = false">关 闭</el-button>
       </div>
     </el-dialog>
-    
+
     <DeliverDetail :listItem="queryItem" v-if="isShowDetail" @backListFormDetail="backList" />
 
   </div>

+ 21 - 5
src/views/supply/deliver/sum_list.vue

@@ -80,8 +80,8 @@
               </el-form-item>
             </el-col>
             <el-col :xs="24" :sm="12" :lg="6">
-              <el-form-item label="业务员" prop="salesMan">
-                <el-select v-model="screenForm.salesMan" placeholder="选择业务员" clearable filterable style="width: 100%">
+              <el-form-item label="表头业务员" prop="k3ServiceId">
+                <el-select v-model="screenForm.k3ServiceId" placeholder="选择表头业务员" clearable filterable style="width: 100%">
                   <el-option
                     v-for="item in salesmanList"
                     :key="item.adminUserId"
@@ -91,8 +91,19 @@
                 </el-select>
               </el-form-item>
             </el-col>
-
-            <el-col :xs="24" :sm="24" :lg="24" class="tr">
+        <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="表体业务员" prop="salesMan">
+                <el-select v-model="screenForm.salesMan" placeholder="选择表体业务员" clearable filterable style="width: 100%">
+                  <el-option
+                    v-for="item in salesmanList"
+                    :key="item.adminUserId"
+                    :label="item.nickName"
+                    :value="item.adminUserId">
+                  </el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="24" :lg="18" class="tr">
               <el-form-item label="">
                 <el-button @click="resetScreenForm">清空</el-button>
                 <el-button type="primary" @click="submitScreenForm">搜索</el-button>
@@ -221,7 +232,9 @@
               </template>
             </el-table-column>
             <el-table-column align="right" label="发货数量" prop="refundableQty" min-width="100" show-overflow-tooltip></el-table-column>
-            <el-table-column align="left" label="业务员" prop="serviceName" min-width="100" show-overflow-tooltip></el-table-column>
+                       <el-table-column align="left" label="表头业务员" prop="k3ServiceName" min-width="100" show-overflow-tooltip></el-table-column>
+
+           <el-table-column align="left" label="表体业务员" prop="serviceName" min-width="100" show-overflow-tooltip></el-table-column>
             <el-table-column align="left" label="政策单号" prop="policyCode" min-width="100" show-overflow-tooltip></el-table-column>
             <el-table-column align="left" label="政策名称" prop="policyTitle" min-width="100" show-overflow-tooltip></el-table-column>
             <el-table-column align="left" label="区域" prop="adminArea" min-width="100" show-overflow-tooltip></el-table-column>
@@ -285,6 +298,7 @@ export default {
         orderNum: '',
         type: '',
         salesMan: '',
+        k3ServiceId:'',
         mainOrderId:''
       },
       categoryList: [],
@@ -312,6 +326,7 @@ export default {
         id: this.screenForm.orderNum,
         categoryName: this.screenForm.type,
         serviceId: this.screenForm.salesMan,
+        k3ServiceId:this.screenForm.k3ServiceId
       }
     },
     comRefundableQty(){
@@ -380,6 +395,7 @@ export default {
         id: this.screenForm.orderNum,
         categoryName: this.screenForm.type,
         serviceId: this.screenForm.salesMan,
+        k3ServiceId:this.screenForm.k3ServiceId,
         mainOrderId:this.screenForm.mainOrderId
       };
       getSumList(params).then((res) => {

+ 28 - 18
src/views/supply/implement/implement_list.vue

@@ -37,16 +37,7 @@
                 <el-input v-model="screenForm.model" placeholder="请输入规格型号"></el-input>
               </el-form-item>
             </el-col>
-            <el-col :xs="24" :sm="12" :lg="6">
-              <el-form-item label="业务员" prop="saleMan">
-                <el-input v-model="screenForm.saleMan" placeholder="请输入业务员"></el-input>
-              </el-form-item>
-            </el-col>
-            <el-col :xs="24" :sm="12" :lg="6">
-              <el-form-item label="归属业务员" prop="saleMan2">
-                <el-input v-model="screenForm.saleMan2" placeholder="请输入归属业务员"></el-input>
-              </el-form-item>
-            </el-col>
+
             <el-col :xs="24" :sm="12" :lg="6">
               <el-form-item label="项目名称" prop="enginName">
                 <el-input v-model="screenForm.enginName" placeholder="请输入项目名称"></el-input>
@@ -83,7 +74,22 @@
                 </el-date-picker>
               </el-form-item>
             </el-col>
+                <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="表头业务员" prop="serviceName ">
+                <el-input v-model="screenForm.serviceName " placeholder="请输入表头业务员"></el-input>
+              </el-form-item>
+            </el-col>
 
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="表体业务员" prop="itemServiceName">
+                <el-input v-model="screenForm.itemServiceName" placeholder="请输入表体业务员"></el-input>
+              </el-form-item>
+            </el-col>
+    <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="归属业务员" prop="newServiceName">
+                <el-input v-model="screenForm.newServiceName" placeholder="请输入归属业务员"></el-input>
+              </el-form-item>
+            </el-col>
             <el-col :xs="24" :sm="24" :lg="24" class="tr">
               <el-form-item label="">
                 <el-button @click="resetScreenForm">清空</el-button>
@@ -188,8 +194,9 @@
                 {{scope.row.refundProductAmount | numToFixed}}
               </template>
             </el-table-column>
-            <el-table-column align="left" label="业务员" prop="serviceName" min-width="100" show-overflow-tooltip></el-table-column>
-            <el-table-column align="left" label="归属业务员" prop="newServiceName" min-width="100" show-overflow-tooltip></el-table-column>
+            <el-table-column align="left" label="表头业务员" prop="serviceName" min-width="100" show-overflow-tooltip></el-table-column>
+           <el-table-column align="left" label="表体业务员" prop="itemServiceName" min-width="100" show-overflow-tooltip></el-table-column>
+          <el-table-column align="left" label="归属业务员" prop="newServiceName" min-width="100" show-overflow-tooltip></el-table-column>
             <el-table-column align="left" label="订单备注" prop="headerRemark" min-width="160" show-overflow-tooltip></el-table-column>
             <el-table-column align="left" label="发货申请备注" prop="remark" min-width="160" show-overflow-tooltip></el-table-column>
             <el-table-column align="left" label="表体备注" prop="invoiceRemark" min-width="160" show-overflow-tooltip></el-table-column>
@@ -241,8 +248,9 @@ export default {
         goodsName: '',
         model: '',
         date: '',
-        saleMan: '',
-        saleMan2: '',
+        serviceName : '',
+        itemServiceName:'',
+        newServiceName: '',
         enginName: '',
         loginNum: '',
         k3CategoryNumber:''
@@ -268,8 +276,9 @@ export default {
         specification: this.screenForm.model,
         startTime: this.screenForm.date ? this.screenForm.date[0] : '',
         endTime: this.screenForm.date ? this.screenForm.date[1] : '',
-        serviceName: this.screenForm.saleMan,
-        newServiceName: this.screenForm.saleMan2,
+        serviceName: this.screenForm.serviceName ,
+        newServiceName: this.screenForm.newServiceName,
+          itemServiceName:this.screenForm.itemServiceName,
         projectName: this.screenForm.enginName,
         enginRecordNo: this.screenForm.orderNum,
         k3CategoryNumber:this.screenForm.k3CategoryNumber
@@ -311,8 +320,9 @@ export default {
         specification: this.screenForm.model,
         startTime: this.screenForm.date ? this.screenForm.date[0] : '',
         endTime: this.screenForm.date ? this.screenForm.date[1] : '',
-        serviceName: this.screenForm.saleMan,
-        newServiceName: this.screenForm.saleMan2,
+        serviceName: this.screenForm.serviceName ,
+        newServiceName: this.screenForm.newServiceName,
+            itemServiceName:this.screenForm.itemServiceName,
         projectName: this.screenForm.enginName,
         enginRecordNo: this.screenForm.orderNum,
         k3CategoryNumber:this.screenForm.k3CategoryNumber

+ 62 - 7
src/views/supply/implement/nsales_list.vue

@@ -53,16 +53,31 @@
                 <el-input v-model="screenForm.warehouse" placeholder="请输入仓库名称"></el-input>
               </el-form-item>
             </el-col>
-            <el-col :xs="24" :sm="12" :lg="6">
-              <el-form-item label="发货日期" prop="date">
+           <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="单据日期" prop="date">
                 <el-date-picker
                   v-model="screenForm.date"
                   type="datetimerange"
                   range-separator="至"
-                  style="width: 100%;"
+                  style="width: 100%"
+                  value-format="yyyy-MM-dd HH:mm:ss"
+                  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="approval">
+                <el-date-picker
+                  v-model="screenForm.approval"
+                  type="datetimerange"
+                  range-separator="至"
+                  style="width: 100%"
                   value-format="yyyy-MM-dd HH:mm:ss"
                   start-placeholder="开始日期"
-                  end-placeholder="结束日期">
+                  end-placeholder="结束日期"
+                >
                 </el-date-picker>
               </el-form-item>
             </el-col>
@@ -110,6 +125,11 @@
                 {{scope.row.billStatus | billStatusFilter}}
               </template>
             </el-table-column>
+               <el-table-column align="left" label="发票号" prop="billReceipt" min-width="250" show-overflow-tooltip>
+           <template slot-scope="scope">
+               {{scope.row.billReceipt }}
+            </template>
+          </el-table-column>
             <el-table-column align="left" label="出库单号" prop="id" min-width="110" show-overflow-tooltip>
               <template slot-scope="scope">
                 <CopyButton :copyText="scope.row.id" />
@@ -124,8 +144,8 @@
             </el-table-column>
             <el-table-column align="left" label="订单号" prop="orderNo" min-width="140" show-overflow-tooltip>
               <template slot-scope="scope">
-                <CopyButton :copyText="scope.row.orderType === 'TRADE' || scope.row.orderType === 'HMOE' ? scope.row.enginOrderNo : scope.row.mainOrderId" />
-                <span>{{scope.row.orderType === 'TRADE' || scope.row.orderType === 'HMOE' ? scope.row.enginOrderNo : scope.row.mainOrderId}}</span>
+                <CopyButton :copyText="scope.row.orderType === 'TRADE' || scope.row.orderType === 'HOME' ? scope.row.enginOrderNo : scope.row.mainOrderId" />
+                <span>{{scope.row.orderType === 'TRADE' || scope.row.orderType === 'HOME' ? scope.row.enginOrderNo : scope.row.mainOrderId}}</span>
               </template>
             </el-table-column>
             <el-table-column align="left" label="仓库" prop="correspondName" min-width="100" show-overflow-tooltip></el-table-column>
@@ -267,6 +287,7 @@ export default {
         warehouse: '',
         date: '',
         status: '',
+        approval:'',
         mainOrderId: '',
       },
       statusList: [
@@ -280,13 +301,28 @@ export default {
       isShowDetail: false,
       isShowExamine: false,
       isShowReturnForm: false,
-
+  value1: "",
+      choiceDate: "",
       multipleSelection: [],
       isShowExamineDialog: false,
       examineForm: {
         status: '',
         remark: '',
       },
+       setDisabled: {
+        disabledDate: (time) => {
+          if (this.choiceDate) {
+            const res = 13 * 24 * 3600 * 1000;
+            const minTime = this.choiceDate - res;
+            const maxTime = this.choiceDate + res;
+            return time.getTime() < minTime || time.getTime() > maxTime;
+          }
+        },
+        onPick: ({ maxDate, minDate }) => {
+          this.choiceDate = minDate.getTime();
+          if (maxDate) this.choiceDate = "";
+        },
+      },
     }
   },
 
@@ -303,6 +339,8 @@ export default {
         correspondName: this.screenForm.warehouse,
         startTime: this.screenForm.date ? this.screenForm.date[0] : '',
         endTime: this.screenForm.date ? this.screenForm.date[1] : '',
+         approvalStartTime: this.screenForm.approval ? this.screenForm.approval[0] : "",
+        approvalEndTime: this.screenForm.approval ? this.screenForm.approval[1] : "",
         mainOrderId: this.screenForm.mainOrderId,
       }
     },
@@ -334,6 +372,8 @@ export default {
         correspondName: this.screenForm.warehouse,
         startTime: this.screenForm.date ? this.screenForm.date[0] : '',
         endTime: this.screenForm.date ? this.screenForm.date[1] : '',
+         approvalStartTime: this.screenForm.approval ? this.screenForm.approval[0] : "",
+        approvalEndTime: this.screenForm.approval ? this.screenForm.approval[1] : "",
         mainOrderId: this.screenForm.mainOrderId,
       };
       getList(params).then((res) => {
@@ -346,7 +386,22 @@ export default {
         this.listLoading = false;
       })
     },
+  updateReceipt() {
 
+    if (!this.value1) {
+      this.$errorMsg('请选择时间')
+      return
+    }
+      updateReceipt({
+      startTime:this.value1[0],
+      endTime:this.value1[1]
+      }).then(res=>{
+         this.getList();
+        this.$successMsg("已更新");
+         this.value1 = ''
+      })
+
+    },
     // 提交筛选表单
     submitScreenForm() {
       this.currentPage = 1;

+ 5 - 1
src/views/supply/policy/components/retail_form.vue

@@ -481,8 +481,8 @@
                   filterable
                   placeholder="选择销售类型"
                   style="width: 100%"
+                clearable
                 >
-                  <el-option label="默认" :value="''" />
 
                   <el-option
                     v-for="item in ztypeList"
@@ -1115,6 +1115,10 @@ export default {
     },
     // 引用销售政策搜索
     async handlePolicyTypeList() {
+      if (!this.screenForm.policyId) {
+          this.$errorMsg('请选择销售政策')
+          return
+      }
       if (this.popArr.length) {
         this.popDataArr = []
         this.dataList = []

+ 2 - 1
src/views/supply/price/components/modify_list-approval.vue

@@ -311,7 +311,8 @@ export default {
     onSubmit() {
           console.log(this.radio);
       const params = {
-        ...this.detail,
+        ids:this.detail.updPriceBillId,
+        examineNote:this.detail.examineNote,
         examineStatus:this.radio,
              billType:'HOME'
       };

+ 41 - 4
src/views/supply/price/modify_list.vue

@@ -125,6 +125,7 @@
             icon="el-icon-info"
             icon-color="red"
             title="内容确定删除吗?"
+            style="margin-right:10px"
             @onConfirm="hanleDeleteAll"
           >
             <el-button
@@ -136,6 +137,7 @@
               >删除</el-button
             >
           </el-popconfirm>
+          <el-button size="mini"  type="warning" icon="el-icon-finished" @click="batchExamine"  v-if="$checkBtnRole('examine', $route.meta.roles)">批量审批</el-button>
         </div>
         <div class="fr">
             <ExportButton :exUrl="'/product-upd-price/export'" :exParams="exParams" />
@@ -479,6 +481,7 @@
     <ModifyListApply v-else-if="show === 2 || show==5" :cid='cid'/>
     <ModifyListApproval v-else-if="show === 3 " :detail="detail" />
     <ModifyListDetail v-else :detail="detail" />
+       <ExamineDialog :isShow.sync="isShowExamineDialog" :examineForm.sync="examineForm" />
   </div>
 </template>
 
@@ -486,13 +489,15 @@
 import ModifyListApply from './components/modify_list-apply.vue'
 import ModifyListApproval from './components/modify_list-approval.vue'
 import ModifyListDetail from './components/modify_list-detail.vue'
+import ExamineDialog from '@/components/Common/examine-dialog'
 import Mixin from '@/mixin/index'
 import {
   getPriceSubmit,
   getProductRricedel,
   getProductRriceDetail,
   getProductRriceList,
-  getTypeList
+  getTypeList,
+  examineData
 } from '@/api/basic_data/material'
 import { downloadFiles } from '@/utils/util'
 import { getCategoryList } from '@/api/common'
@@ -560,10 +565,16 @@ export default {
       },
       cid:'',
       typeList: [],
-      dictList:[]
+      dictList:[],
+       isShowExamineDialog: false,
+      examineForm: {
+        status: 'OK',
+        remark: '',
+      },
     };
   },
   components: {
+    ExamineDialog,
     ModifyListApply,
     ModifyListApproval,
     ModifyListDetail,
@@ -574,7 +585,7 @@ export default {
         materialName: this.screenForm.materialName,
         materialNumber: this.screenForm.materialNumber,
         startDate:this.screenForm.startDate,
-             billType:'HOME'
+         billType:'HOME'
       };
     },
   },
@@ -615,9 +626,34 @@ export default {
         });
       });
     },
+      // 打开 批量审批
+    batchExamine() {
+      if (this.ids.length) {
+        this.isShowExamineDialog = true;
+        return
+      }
+      this.$errorMsg('请选择审核项')
+    },
+    // 提交 批量审批
+    submitExamineForm() {
+      // let ids = this.dis.map(item => {
+      //   return item
+      // });
+    const  ids = [...new Set(this.ids)]
+      examineData({
+        ids: ids.join(','),
+        examineStatus: this.examineForm.status,
+        examineRemark: this.examineForm.remark,
+      })
+        .then((res) => {
+          this.isShowExamineDialog = false;
+          this.$successMsg("修改成功");
+          this.getList();
+        })
+    },
     handleGetPriceSubmit(id) {
       console.log(id);
-      getPriceSubmit({ id }).then((res) => {
+      getPriceSubmit({ ids:id }).then((res) => {
         this.$successMsg("已提审");
         this.getList();
       });
@@ -704,6 +740,7 @@ export default {
         customerName: this.screenForm.customerName,
         freeDay: this.screenForm.freeDay,
         toll: this.screenForm.toll,
+        billType:'HOME'
       };
       downloadFiles("/product-compose/export", screenData);
     },

+ 3 - 3
src/views/supply/retail/retail_list.vue

@@ -199,9 +199,9 @@
                 {{ scope.row.price | numToFixed }}
               </template>
             </el-table-column>
-            <el-table-column align="right" label="订单金额" prop="totalAmount" min-width="110" sortable show-overflow-tooltip>
+            <el-table-column align="right" label="订单金额" prop="itemTotalAmount" min-width="110" sortable show-overflow-tooltip>
               <template slot-scope="scope">
-                {{ scope.row.totalAmount | numToFixed }}
+                {{ scope.row.itemTotalAmount | numToFixed }}
               </template>
             </el-table-column>
             <el-table-column align="right" label="实付金额" prop="payAmount" min-width="110" sortable show-overflow-tooltip>
@@ -457,7 +457,7 @@ export default {
       getList(params).then((res) => {
         res.data.records.forEach(item => {
           item.sums1 = ['qty', 'directTransferQty', 'hasSendQty', 'refundableQty'];
-          item.sums2 = ['price', 'totalAmount', 'payAmount', 'rebateAmount', 'payRebateAmount', 'totalDiscAmount'];
+          item.sums2 = ['price', 'itemTotalAmount', 'payAmount', 'rebateAmount', 'payRebateAmount', 'totalDiscAmount'];
         })
         this.dataList = res.data.records;
         this.listTotal = res.data.total;

+ 383 - 140
src/views/supply/sales/sales_list.vue

@@ -3,66 +3,116 @@
     <div v-show="!isShowDetail && !isShowExamine && !isShowReturnForm">
       <!-- 筛选条件 -->
       <div class="screen-container">
-        <el-form ref="screenForm" :model="screenForm" label-width="85px" size="mini" label-position="left">
+        <el-form
+          ref="screenForm"
+          :model="screenForm"
+          label-width="85px"
+          size="mini"
+          label-position="left"
+        >
           <el-row :gutter="20">
             <el-col :xs="24" :sm="24" :lg="24">
               <el-form-item prop="orderNum" label-width="0">
                 <el-radio-group v-model="screenForm.status" @change="getList()">
                   <el-radio-button label="">全部</el-radio-button>
-                  <el-radio-button v-for="(item, index) in statusList" :key="index" :label="item.value">{{item.label}}</el-radio-button>
+                  <el-radio-button
+                    v-for="(item, index) in statusList"
+                    :key="index"
+                    :label="item.value"
+                    >{{ item.label }}</el-radio-button
+                  >
                 </el-radio-group>
               </el-form-item>
             </el-col>
             <el-col :xs="24" :sm="12" :lg="6">
               <el-form-item label="发货单号" prop="orderNum">
-                <el-input v-model="screenForm.orderNum" placeholder="请输入发货单号"></el-input>
+                <el-input
+                  v-model="screenForm.orderNum"
+                  placeholder="请输入发货单号"
+                ></el-input>
               </el-form-item>
             </el-col>
             <el-col :xs="24" :sm="12" :lg="6">
               <el-form-item label="订单号" prop="mainOrderId">
-                <el-input v-model="screenForm.mainOrderId" placeholder="请输入订单号"></el-input>
+                <el-input
+                  v-model="screenForm.mainOrderId"
+                  placeholder="请输入订单号"
+                ></el-input>
               </el-form-item>
             </el-col>
             <el-col :xs="24" :sm="12" :lg="6">
               <el-form-item label="经销商名称" prop="jxsName">
-                <el-input v-model="screenForm.jxsName" placeholder="请输入经销商名称"></el-input>
+                <el-input
+                  v-model="screenForm.jxsName"
+                  placeholder="请输入经销商名称"
+                ></el-input>
               </el-form-item>
             </el-col>
             <el-col :xs="24" :sm="12" :lg="6">
               <el-form-item label="经销商编号" prop="jxsNum">
-                <el-input v-model="screenForm.jxsNum" placeholder="请输入规格型号"></el-input>
+                <el-input
+                  v-model="screenForm.jxsNum"
+                  placeholder="请输入规格型号"
+                ></el-input>
               </el-form-item>
             </el-col>
             <el-col :xs="24" :sm="12" :lg="6">
               <el-form-item label="产品名称" prop="chName">
-                <el-input v-model="screenForm.chName" placeholder="请输入产品名称"></el-input>
+                <el-input
+                  v-model="screenForm.chName"
+                  placeholder="请输入产品名称"
+                ></el-input>
               </el-form-item>
             </el-col>
             <el-col :xs="24" :sm="12" :lg="6">
               <el-form-item label="产品编码" prop="chNum">
-                <el-input v-model="screenForm.chNum" placeholder="请输入产品编码"></el-input>
+                <el-input
+                  v-model="screenForm.chNum"
+                  placeholder="请输入产品编码"
+                ></el-input>
               </el-form-item>
             </el-col>
             <el-col :xs="24" :sm="12" :lg="6">
               <el-form-item label="规格型号" prop="model">
-                <el-input v-model="screenForm.model" placeholder="请输入规格型号"></el-input>
+                <el-input
+                  v-model="screenForm.model"
+                  placeholder="请输入规格型号"
+                ></el-input>
               </el-form-item>
             </el-col>
             <el-col :xs="24" :sm="12" :lg="6">
               <el-form-item label="仓库名称" prop="warehouse">
-                <el-input v-model="screenForm.warehouse" placeholder="请输入仓库名称"></el-input>
+                <el-input
+                  v-model="screenForm.warehouse"
+                  placeholder="请输入仓库名称"
+                ></el-input>
               </el-form-item>
             </el-col>
             <el-col :xs="24" :sm="12" :lg="6">
-              <el-form-item label="发货日期" prop="date">
+              <el-form-item label="单据日期" prop="date">
                 <el-date-picker
                   v-model="screenForm.date"
                   type="datetimerange"
                   range-separator="至"
-                  style="width: 100%;"
+                  style="width: 100%"
                   value-format="yyyy-MM-dd HH:mm:ss"
                   start-placeholder="开始日期"
-                  end-placeholder="结束日期">
+                  end-placeholder="结束日期"
+                >
+                </el-date-picker>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="审核日期" prop="approval">
+                <el-date-picker
+                  v-model="screenForm.approval"
+                  type="datetimerange"
+                  range-separator="至"
+                  style="width: 100%"
+                  value-format="yyyy-MM-dd HH:mm:ss"
+                  start-placeholder="开始日期"
+                  end-placeholder="结束日期"
+                >
                 </el-date-picker>
               </el-form-item>
             </el-col>
@@ -70,7 +120,9 @@
             <el-col :xs="24" :sm="12" :lg="18" class="tr">
               <el-form-item label="">
                 <el-button @click="resetScreenForm">清空</el-button>
-                <el-button type="primary" @click="submitScreenForm">搜索</el-button>
+                <el-button type="primary" @click="submitScreenForm"
+                  >搜索</el-button
+                >
               </el-form-item>
             </el-col>
           </el-row>
@@ -80,8 +132,45 @@
       <div class="mymain-container">
         <div class="btn-group clearfix">
           <div class="fl">
-            <el-button size="mini" type="primary" icon="el-icon-plus" @click="toReturnForm()" v-if="$checkBtnRole('refund', $route.meta.roles)">退货申请</el-button>
-            <el-button size="mini" type="warning" icon="el-icon-finished" @click="batchExamine" :disabled="multipleSelection.length < 1" v-if="$checkBtnRole('examine', $route.meta.roles)">批量审批</el-button>
+            <el-button
+              size="mini"
+              type="primary"
+              icon="el-icon-plus"
+              @click="toReturnForm()"
+              v-if="$checkBtnRole('refund', $route.meta.roles)"
+              >退货申请</el-button
+            >
+            <el-button
+              size="mini"
+              type="warning"
+              icon="el-icon-finished"
+              @click="batchExamine"
+              :disabled="multipleSelection.length < 1"
+              v-if="$checkBtnRole('examine', $route.meta.roles)"
+              >批量审批</el-button
+            >
+              <template       v-if="$checkBtnRole('receipt', $route.meta.roles)">
+            <el-date-picker
+              v-model="value1"
+              size="mini"
+              type="daterange"
+               value-format="yyyy-MM-dd HH:mm:ss"
+              range-separator="至"
+              :picker-options="setDisabled"
+              start-placeholder="开始日期"
+              end-placeholder="结束日期"
+              style="margin:0 10px"
+            >
+            </el-date-picker>
+            <el-button
+              size="mini"
+
+              type="warning"
+              icon="el-icon-finished"
+              @click="updateReceipt"
+              >更新发票</el-button
+            >
+              </template>
           </div>
           <div class="fr">
             <ExportButton :exUrl="'sale/order/export'" :exParams="exParams" />
@@ -98,99 +187,195 @@
             stripe
             @selection-change="handleSelectionChange"
             show-summary
-            :summary-method="$getSummaries">
-            <el-table-column align="center" type="selection" width="55"></el-table-column>
-            <el-table-column align="left" label="状态" prop="examineStatus" min-width="100" show-overflow-tooltip>
+            :summary-method="$getSummaries"
+          >
+            <el-table-column
+              align="center"
+              type="selection"
+              width="55"
+            ></el-table-column>
+            <el-table-column
+              align="left"
+              label="状态"
+              prop="examineStatus"
+              min-width="100"
+              show-overflow-tooltip
+            >
               <template slot-scope="scope">
-                {{scope.row.examineStatus | statusFilter}}
+                {{ scope.row.examineStatus | statusFilter }}
               </template>
             </el-table-column>
-<!--            <el-table-column align="left" label="开票状态" prop="billStatus" min-width="100" show-overflow-tooltip>-->
-<!--              <template slot-scope="scope">-->
-<!--                {{scope.row.billStatus | billStatusFilter}}-->
-<!--              </template>-->
-<!--            </el-table-column>-->
-            <el-table-column align="left" label="出库单号" prop="id" min-width="110" show-overflow-tooltip>
+            <el-table-column
+              align="left"
+              label="发票号"
+              prop="billReceipt"
+              min-width="250"
+              show-overflow-tooltip
+            >
+              <template slot-scope="scope">
+                {{ scope.row.billReceipt }}
+              </template>
+            </el-table-column>
+            <el-table-column
+              align="left"
+              label="出库单号"
+              prop="id"
+              min-width="110"
+              show-overflow-tooltip
+            >
               <template slot-scope="scope">
                 <CopyButton :copyText="scope.row.id" />
-                <span>{{scope.row.id}}</span>
+                <span>{{ scope.row.id }}</span>
               </template>
             </el-table-column>
-<!--            <el-table-column align="left" label="发货单号" prop="orderNo" min-width="130" show-overflow-tooltip>-->
-<!--              <template slot-scope="scope">-->
-<!--                <CopyButton :copyText="scope.row.orderNo" />-->
-<!--                <span>{{scope.row.orderNo}}</span>-->
-<!--              </template>-->
-<!--            </el-table-column>-->
-<!--            <el-table-column align="left" label="订单号" prop="orderNo" min-width="140" show-overflow-tooltip>-->
-<!--              <template slot-scope="scope">-->
-<!--                <CopyButton :copyText="scope.row.orderType === 'TRADE' ? scope.row.enginOrderNo : scope.row.mainOrderId" />-->
-<!--                <span>{{scope.row.orderType === 'TRADE' || scope.row.orderType === 'HMOE' ? scope.row.enginOrderNo : scope.row.mainOrderId}}</span>-->
-<!--              </template>-->
-<!--            </el-table-column>-->
-            <el-table-column align="left" label="仓库" prop="correspondName" min-width="100" show-overflow-tooltip></el-table-column>
-            <el-table-column align="left" label="经销商编码" prop="customerNumber" min-width="100" show-overflow-tooltip>
+            <!--            <el-table-column align="left" label="发货单号" prop="orderNo" min-width="130" show-overflow-tooltip>-->
+            <!--              <template slot-scope="scope">-->
+            <!--                <CopyButton :copyText="scope.row.orderNo" />-->
+            <!--                <span>{{scope.row.orderNo}}</span>-->
+            <!--              </template>-->
+            <!--            </el-table-column>-->
+            <!--            <el-table-column align="left" label="订单号" prop="orderNo" min-width="140" show-overflow-tooltip>-->
+            <!--              <template slot-scope="scope">-->
+            <!--                <CopyButton :copyText="scope.row.orderType === 'TRADE' ? scope.row.enginOrderNo : scope.row.mainOrderId" />-->
+            <!--                <span>{{scope.row.orderType === 'TRADE' || scope.row.orderType === 'HOME' ? scope.row.enginOrderNo : scope.row.mainOrderId}}</span>-->
+            <!--              </template>-->
+            <!--            </el-table-column>-->
+            <el-table-column
+              align="left"
+              label="仓库"
+              prop="correspondName"
+              min-width="100"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="left"
+              label="经销商编码"
+              prop="customerNumber"
+              min-width="100"
+              show-overflow-tooltip
+            >
               <template slot-scope="scope">
                 <CopyButton :copyText="scope.row.customerNumber" />
-                <span>{{scope.row.customerNumber}}</span>
+                <span>{{ scope.row.customerNumber }}</span>
               </template>
             </el-table-column>
-            <el-table-column align="left" label="经销商名称" prop="customerName" min-width="250" show-overflow-tooltip>
+            <el-table-column
+              align="left"
+              label="经销商名称"
+              prop="customerName"
+              min-width="250"
+              show-overflow-tooltip
+            >
               <template slot-scope="scope">
                 <CopyButton :copyText="scope.row.customerName" />
-                <span>{{scope.row.customerName}}</span>
+                <span>{{ scope.row.customerName }}</span>
               </template>
             </el-table-column>
-            <el-table-column align="left" label="物料编码" prop="materialCode" min-width="120" show-overflow-tooltip>
+            <el-table-column
+              align="left"
+              label="物料编码"
+              prop="materialCode"
+              min-width="120"
+              show-overflow-tooltip
+            >
               <template slot-scope="scope">
                 <CopyButton :copyText="scope.row.materialCode" />
-                <span>{{scope.row.materialCode}}</span>
+                <span>{{ scope.row.materialCode }}</span>
               </template>
             </el-table-column>
-            <el-table-column align="left" label="产品编码" prop="materialOldNumber" min-width="140" show-overflow-tooltip>
+            <el-table-column
+              align="left"
+              label="产品编码"
+              prop="materialOldNumber"
+              min-width="140"
+              show-overflow-tooltip
+            >
               <template slot-scope="scope">
                 <CopyButton :copyText="scope.row.materialOldNumber" />
-                <span>{{scope.row.materialOldNumber}}</span>
+                <span>{{ scope.row.materialOldNumber }}</span>
               </template>
             </el-table-column>
-            <el-table-column align="left" label="产品名称" prop="materialName" min-width="160" show-overflow-tooltip>
+            <el-table-column
+              align="left"
+              label="产品名称"
+              prop="materialName"
+              min-width="160"
+              show-overflow-tooltip
+            >
               <template slot-scope="scope">
                 <CopyButton :copyText="scope.row.materialName" />
-                <span>{{scope.row.materialName}}</span>
+                <span>{{ scope.row.materialName }}</span>
               </template>
             </el-table-column>
-            <el-table-column align="left" label="规格型号" prop="specification" min-width="350" show-overflow-tooltip>
+            <el-table-column
+              align="left"
+              label="规格型号"
+              prop="specification"
+              min-width="350"
+              show-overflow-tooltip
+            >
               <template slot-scope="scope">
                 <CopyButton :copyText="scope.row.specification" />
-                <span>{{scope.row.specification}}</span>
+                <span>{{ scope.row.specification }}</span>
               </template>
             </el-table-column>
-            <el-table-column align="left" label="单位" prop="unit" min-width="100" show-overflow-tooltip></el-table-column>
-            <el-table-column align="right" label="数量" prop="refundableQty" min-width="100" show-overflow-tooltip></el-table-column>
-<!--            <el-table-column align="right" label="单价" prop="price" min-width="100" show-overflow-tooltip>-->
-<!--              <template slot-scope="scope">-->
-<!--                {{ scope.row.price | numToFixed }}-->
-<!--              </template>-->
-<!--            </el-table-column>-->
-<!--            <el-table-column align="right" label="订单金额" prop="payAmount" min-width="100" show-overflow-tooltip>-->
-<!--              <template slot-scope="scope">-->
-<!--                {{ scope.row.payAmount | numToFixed }}-->
-<!--              </template>-->
-<!--            </el-table-column>-->
+            <el-table-column
+              align="left"
+              label="单位"
+              prop="unit"
+              min-width="100"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="right"
+              label="数量"
+              prop="refundableQty"
+              min-width="100"
+              show-overflow-tooltip
+            ></el-table-column>
+            <!--            <el-table-column align="right" label="单价" prop="price" min-width="100" show-overflow-tooltip>-->
+            <!--              <template slot-scope="scope">-->
+            <!--                {{ scope.row.price | numToFixed }}-->
+            <!--              </template>-->
+            <!--            </el-table-column>-->
+            <!--            <el-table-column align="right" label="订单金额" prop="payAmount" min-width="100" show-overflow-tooltip>-->
+            <!--              <template slot-scope="scope">-->
+            <!--                {{ scope.row.payAmount | numToFixed }}-->
+            <!--              </template>-->
+            <!--            </el-table-column>-->
             <!-- <el-table-column align="left" label="订单备注" prop="headerRemark" min-width="160" show-overflow-tooltip></el-table-column> -->
-<!--            <el-table-column align="left" label="发货申请备注" prop="remark" min-width="160" show-overflow-tooltip></el-table-column>-->
-<!--            <el-table-column align="left" label="表体备注" prop="invoiceRemark" min-width="160" show-overflow-tooltip></el-table-column>-->
-<!--            <el-table-column align="left" label="业务员" prop="serviceName" min-width="100" show-overflow-tooltip></el-table-column>-->
-<!--            <el-table-column align="left" label="表头业务员" prop="k3ServiceName" min-width="100" show-overflow-tooltip></el-table-column>-->
-            <el-table-column align="center" label="操作" width="120" fixed="right">
+            <!--            <el-table-column align="left" label="发货申请备注" prop="remark" min-width="160" show-overflow-tooltip></el-table-column>-->
+            <!--            <el-table-column align="left" label="表体备注" prop="invoiceRemark" min-width="160" show-overflow-tooltip></el-table-column>-->
+            <!--            <el-table-column align="left" label="业务员" prop="serviceName" min-width="100" show-overflow-tooltip></el-table-column>-->
+            <!--            <el-table-column align="left" label="表头业务员" prop="k3ServiceName" min-width="100" show-overflow-tooltip></el-table-column>-->
+            <el-table-column
+              align="center"
+              label="操作"
+              width="120"
+              fixed="right"
+            >
               <template slot-scope="scope">
-                <el-button type="text" @click="toDetail(scope.row)">详情</el-button>
-                <el-button type="text" @click="toExamine(scope.row)" v-if="$checkBtnRole('examine', $route.meta.roles) && scope.row.examineStatus === 'WAIT'">审批</el-button>
+                <el-button type="text" @click="toDetail(scope.row)"
+                  >详情</el-button
+                >
+                <el-button
+                  type="text"
+                  @click="toExamine(scope.row)"
+                  v-if="
+                    $checkBtnRole('examine', $route.meta.roles) &&
+                    scope.row.examineStatus === 'WAIT'
+                  "
+                  >审批</el-button
+                >
                 <el-popconfirm
-                  style="margin-left: 10px;"
+                  style="margin-left: 10px"
                   title="确定弃审吗?"
                   @onConfirm="handleAbandon(scope.row.id)"
-                  v-if="$checkBtnRole('examine', $route.meta.roles) && scope.row.examineStatus === 'OK'" >
+                  v-if="
+                    $checkBtnRole('examine', $route.meta.roles) &&
+                    scope.row.examineStatus === 'OK'
+                  "
+                >
                   <el-button slot="reference" type="text">弃审</el-button>
                 </el-popconfirm>
               </template>
@@ -207,29 +392,50 @@
             :page-sizes="[10, 20, 30, 50]"
             :page-size="10"
             layout="total, sizes, prev, pager, next, jumper"
-            :total="listTotal">
+            :total="listTotal"
+          >
           </el-pagination>
         </div>
       </div>
     </div>
 
-    <ExamineDialog :isShow.sync="isShowExamineDialog" :examineForm.sync="examineForm" />
-
-    <SalesDetail :listItem="queryItem" v-if="isShowDetail" @backListFormDetail="backList" />
-    <SalesExamine :listItem="queryItem" v-if="isShowExamine" @backListFormExamine="backList" />
-    <SalesReturnForm :listItem="queryItem" v-if="isShowReturnForm" @backListFormDetail="backList" />
+    <ExamineDialog
+      :isShow.sync="isShowExamineDialog"
+      :examineForm.sync="examineForm"
+    />
 
+    <SalesDetail
+      :listItem="queryItem"
+      v-if="isShowDetail"
+      @backListFormDetail="backList"
+    />
+    <SalesExamine
+      :listItem="queryItem"
+      v-if="isShowExamine"
+      @backListFormExamine="backList"
+    />
+    <SalesReturnForm
+      :listItem="queryItem"
+      v-if="isShowReturnForm"
+      @backListFormDetail="backList"
+    />
   </div>
 </template>
 
 <script>
-import { abandonData, examineBatch, examineJudge, getList } from '@/api/supply/sales'
-import SalesDetail from '@/views/supply/sales/components/sales_detail'
-import SalesExamine from '@/views/supply/sales/components/sales_examine'
-import SalesReturnForm from '@/views/supply/sales/components/sales_return_form'
-import ExamineDialog from '@/components/Common/examine-dialog'
+import {
+  abandonData,
+  examineBatch,
+  examineJudge,
+  getList,
+  updateReceipt,
+} from "@/api/supply/sales";
+import SalesDetail from "@/views/supply/sales/components/sales_detail";
+import SalesExamine from "@/views/supply/sales/components/sales_examine";
+import SalesReturnForm from "@/views/supply/sales/components/sales_return_form";
+import ExamineDialog from "@/components/Common/examine-dialog";
 
-let that
+let that;
 export default {
   components: {
     SalesDetail,
@@ -239,16 +445,16 @@ export default {
   },
   filters: {
     statusFilter(val) {
-      let obj = that.statusList.find(o => o.value == val);
-      return obj ? obj.label : ''
+      let obj = that.statusList.find((o) => o.value == val);
+      return obj ? obj.label : "";
     },
     billStatusFilter(val) {
       const MAP = {
-        1: '已开票',
-        0: '未开票',
-      }
+        1: "已开票",
+        0: "未开票",
+      };
       return MAP[val];
-    }
+    },
   },
   data() {
     return {
@@ -257,37 +463,55 @@ export default {
       listTotal: 0, // 列表总数
       dataList: null, // 列表数据
       listLoading: false, // 列表加载loading
-      screenForm: { // 筛选表单数据
-        orderNum: '',
-        jxsName: '',
-        jxsNum: '',
-        chName: '',
-        chNum: '',
-        model: '',
-        warehouse: '',
-        date: '',
-        status: '',
-        mainOrderId: '',
+      screenForm: {
+        // 筛选表单数据
+        orderNum: "",
+        jxsName: "",
+        jxsNum: "",
+        chName: "",
+        chNum: "",
+        model: "",
+        warehouse: "",
+        date: "",
+        status: "",
+        mainOrderId: "",
+        approval:'',
+
       },
       statusList: [
-        { label: '已保存', value: 'SAVE' },
-        { label: '待审核', value: 'WAIT' },
-        { label: '审核通过', value: 'OK' },
-         // { label: '审核驳回', value: 'FAIL' },,
+        { label: "已保存", value: "SAVE" },
+        { label: "待审核", value: "WAIT" },
+        { label: "审核通过", value: "OK" },
+        // { label: '审核驳回', value: 'FAIL' },,
       ],
 
       queryItem: {},
       isShowDetail: false,
       isShowExamine: false,
       isShowReturnForm: false,
-
+      value1: "",
+      choiceDate: "",
       multipleSelection: [],
       isShowExamineDialog: false,
       examineForm: {
-        status: '',
-        remark: '',
+        status: "",
+        remark: "",
       },
-    }
+      setDisabled: {
+        disabledDate: (time) => {
+          if (this.choiceDate) {
+            const res = 13 * 24 * 3600 * 1000;
+            const minTime = this.choiceDate - res;
+            const maxTime = this.choiceDate + res;
+            return time.getTime() < minTime || time.getTime() > maxTime;
+          }
+        },
+        onPick: ({ maxDate, minDate }) => {
+          this.choiceDate = minDate.getTime();
+          if (maxDate) this.choiceDate = "";
+        },
+      },
+    };
   },
 
   computed: {
@@ -301,10 +525,12 @@ export default {
         materialNumber: this.screenForm.chNum,
         specification: this.screenForm.model,
         correspondName: this.screenForm.warehouse,
-        startTime: this.screenForm.date ? this.screenForm.date[0] : '',
-        endTime: this.screenForm.date ? this.screenForm.date[1] : '',
+        startTime: this.screenForm.date ? this.screenForm.date[0] : "",
+        endTime: this.screenForm.date ? this.screenForm.date[1] : "",
+        approvalStartTime: this.screenForm.approval ? this.screenForm.approval[0] : "",
+        approvalEndTime: this.screenForm.approval ? this.screenForm.approval[1] : "",
         mainOrderId: this.screenForm.mainOrderId,
-      }
+      };
     },
   },
 
@@ -332,21 +558,38 @@ export default {
         materialNumber: this.screenForm.chNum,
         specification: this.screenForm.model,
         correspondName: this.screenForm.warehouse,
-        startTime: this.screenForm.date ? this.screenForm.date[0] : '',
-        endTime: this.screenForm.date ? this.screenForm.date[1] : '',
+        startTime: this.screenForm.date ? this.screenForm.date[0] : "",
+        endTime: this.screenForm.date ? this.screenForm.date[1] : "",
+         approvalStartTime: this.screenForm.approval ? this.screenForm.approval[0] : "",
+        approvalEndTime: this.screenForm.approval ? this.screenForm.approval[1] : "",
         mainOrderId: this.screenForm.mainOrderId,
       };
       getList(params).then((res) => {
-        res.data.records.forEach(item => {
-          item.sums1 = ['refundableQty'];
-          item.sums2 = ['price', 'payAmount'];
-        })
+        res.data.records.forEach((item) => {
+          item.sums1 = ["refundableQty"];
+          item.sums2 = ["price", "payAmount"];
+        });
         this.dataList = res.data.records;
         this.listTotal = res.data.total;
         this.listLoading = false;
-      })
+      });
     },
+    updateReceipt() {
+
+    if (!this.value1) {
+      this.$errorMsg('请选择时间')
+      return
+    }
+      updateReceipt({
+      startTime:this.value1[0],
+      endTime:this.value1[1]
+      }).then(res=>{
+         this.getList();
+        this.$successMsg("已更新");
+         this.value1 = ''
+      })
 
+    },
     // 提交筛选表单
     submitScreenForm() {
       this.currentPage = 1;
@@ -376,13 +619,15 @@ export default {
     // 判断是否可以审批
     async examineJudge(item) {
       // 获取页面模版
-      const result = await new Promise((resolve, reject)=>{
-        examineJudge({id: item.id}).then(res => {
-          resolve(res.code == 200);
-        }).catch(res => {
-          resolve(0);
-        })
-      })
+      const result = await new Promise((resolve, reject) => {
+        examineJudge({ id: item.id })
+          .then((res) => {
+            resolve(res.code == 200);
+          })
+          .catch((res) => {
+            resolve(0);
+          });
+      });
       return result;
     },
 
@@ -401,7 +646,7 @@ export default {
     // 进入审批
     async toExamine(item) {
       const canExamine = await this.examineJudge(item);
-      if(!canExamine) {
+      if (!canExamine) {
         return false;
       }
       this.queryItem = item;
@@ -426,31 +671,29 @@ export default {
 
     // 提交 批量审批
     submitExamineForm() {
-      let ids = this.multipleSelection.map(item => {
+      let ids = this.multipleSelection.map((item) => {
         return item.id;
       });
       examineBatch({
-        ids: ids.join(','),
+        ids: ids.join(","),
         examineStatus: this.examineForm.status,
         approvalRemark: this.examineForm.remark,
-      }).then(res => {
+      }).then((res) => {
         this.isShowExamineDialog = false;
         this.getList();
-        this.$successMsg('修改成功');
-      })
+        this.$successMsg("修改成功");
+      });
     },
 
     // 弃审
     handleAbandon(id) {
-      abandonData({id}).then(res => {
+      abandonData({ id }).then((res) => {
         this.$successMsg();
         this.getList();
-      })
+      });
     },
-  }
-}
+  },
+};
 </script>
 
-<style lang="scss" scoped>
-
-</style>
+<style lang="scss" scoped></style>