Browse Source

Merge branch 'greenUrgent' into testToMerge

qymljy 3 weeks ago
parent
commit
623d658819

+ 65 - 22
src/HDrpManagement/dispatch/details/index.vue

@@ -22,6 +22,7 @@
         <confirmSelection class="inline-16" v-if="tool.checkAuth($route.name,'revocation') && mainData.status == '提交'" btnTitle="撤回" :disabled="mainData.status !== '提交'" btnType="primary" content="是否确定撤回发货单" confirmButtonText="确定" cancelButtonText="取消" paramId="2024120915580002" idName="sa_dispatchid" @onSuccess="onSuccess"></confirmSelection>
         <el-button style="margin-left: 0px" type="primary"  class="inline-16" size="mini"  v-if="tool.checkAuth($route.name,'check') && mainData.status !== '复核' && mainData.status !== '关闭'"  @click="onCheck">{{mainData.status === '审核'?$t('反审核'):mainData.status === '复核'?$t('反审核'):$t('审核')}}</el-button>
         <el-button style="margin-left: 0px"  class="inline-16" :type="mainData.status !== '审核' && mainData.status !== '复核'?'':'primary'" size="mini" v-if="tool.checkAuth($route.name,'recheck') && mainData.status !== '关闭' && dispatch_recheck != 0" :disabled="mainData.status !== '审核' && mainData.status !== '复核'" @click="onReCheck">{{mainData.status === '复核'?$t('反复核'):$t('复核')}}</el-button>
+        <el-button type="primary" v-if="(mainData.status == '审核' || mainData.status == '复核') && tool.checkAuth($route.name,'close')" size="mini" @click="onClose" style="margin-left: 0px" class="inline-16" >{{$t('关 闭')}}</el-button>
         <el-button :type="mainData.status != '新建' && mainData.status != '关闭'?'':'primary'" size="mini" @click="onDel" style="margin-left: 0px" class="inline-16" :disabled="mainData.status != '新建' && mainData.status != '关闭'">{{$t('删 除')}}</el-button>
       </div>
       <div slot="slot2" >
@@ -64,9 +65,9 @@ import dialogTemplate from "@/components/dialogTemplate/index";
       async queryMainData(id) {
         const res = await this.$api.requested({
           "id": "20221114135303",
-          "version":1,
           "content": {
-            "sa_dispatchid":this.$route.query.id
+            "sa_dispatchid":this.$route.query.id,
+            "nocache":true
           }
         })
         if (res.data) this.mainData = res.data
@@ -132,6 +133,14 @@ import dialogTemplate from "@/components/dialogTemplate/index";
           label:'回签单',
             value:this.mainData.signbackstatus
           },
+          {
+            label:'出货状态',
+            value:this.$t(this.mainData.shipmentstatus),
+            style:function () {
+              let style = that.tool.getStatusColor(that.mainData.shipmentstatus)
+              return style
+            }
+          },
           {
             label:'备注',
             value:this.mainData.remarks
@@ -154,28 +163,51 @@ import dialogTemplate from "@/components/dialogTemplate/index";
         this.$emit('onSuccess')
       },
       onCheck () {
-        this.$confirm(`${this.$t(`确定`)}${this.mainData.status === '审核'?this.$t('反审核'):this.$t('审核')}${this.$t(`该发货单`)}`, this.$t('提示'), {
-          confirmButtonText: this.$t('确定'),
-          cancelButtonText: this.$t('取消'),
-          type: 'warning'
-        }).then(async () => {
-          const res = await this.$api.requested({
-            "id": this.mainData.status === '审核'?20221114135703:20221114135603,
-            "version":1,
-            "content": {
+        if (this.mainData.status == '审核'){
+          this.$prompt(this.$t('反审核原因'), this.$t('确定反审核该发货单吗?'), {
+            confirmButtonText: this.$t('确定'),
+            cancelButtonText: this.$t('取消'),
+          }).then(async ({ value }) => {
+            const res = await this.$api.requested({
+              "id": 20221114135703,
+              "content": {
+                "sa_dispatchid": this.$route.query.id,
+                "uncheckreason":value
+              },
+            })
+            this.tool.showMessage(res,()=>{
+              this.queryMainData()
+            })
+          }).catch(() => {
+            this.$message({
+              type: 'info',
+              message: this.$t('取消')
+            });
+          });
+        }else{
+          this.$confirm(`${this.$t(`确定`)}${this.mainData.status === '审核'?this.$t('反审核'):this.$t('审核')}${this.$t(`该发货单`)}`, this.$t('提示'), {
+            confirmButtonText: this.$t('确定'),
+            cancelButtonText: this.$t('取消'),
+            type: 'warning'
+          }).then(async () => {
+            const res = await this.$api.requested({
+              "id": this.mainData.status === '审核'?20221114135703:20221114135603,
+              "version":1,
+              "content": {
                 "sa_dispatchid":this.$route.query.id
-            }
-          })
-          this.tool.showMessage(res,()=>{
-            this.queryMainData()
-            this.$refs.product && this.$refs.product.listData()
-          })
-        }).catch(() => {
-          this.$message({
-            type: 'info',
-            message: this.$t('已取消')
+              }
+            })
+            this.tool.showMessage(res,()=>{
+              this.queryMainData()
+              this.$refs.product && this.$refs.product.listData()
+            })
+          }).catch(() => {
+            this.$message({
+              type: 'info',
+              message: this.$t('已取消')
+            });
           });
-        });
+        }
       },
       onReCheck() {
         this.$confirm(`${this.$t(`确定`)}${this.mainData.status === '复核'?this.$t('反复核'):this.$t('复核')}${this.$t(`该发货单`)}`, this.$t('提示'), {
@@ -245,6 +277,17 @@ import dialogTemplate from "@/components/dialogTemplate/index";
         });
 
       },
+      async onClose(){
+        const res = await this.$api.requested({
+          "id": 2025070114184202,
+          "content": {
+            "sa_dispatchid": this.$route.query.id
+          },
+        })
+        this.tool.showMessage(res,()=>{
+          this.queryMainData()
+        })
+      },
       async isReCheck(){
         const res = await this.$api.requested({
           classname: "sysmanage.site.site",

+ 24 - 2
src/HDrpManagement/dispatch/index.vue

@@ -11,7 +11,12 @@
         :apiId="{query:20221114135403,del:20221114135503}"
         :detailPath="{
           path:'/dispatchdetail'
-        }">
+        }"
+        @checkboxCallBack="checkboxCallBack"
+      >
+        <template #titleRight>
+          <batchReview title="复核" v-if="tool.checkAuth($route.name,'review')" :disabled="selectList.length == 0 || !isStatus" @onSuccess="$refs.basicLayout.listData()" :selectList="selectList" paramID="2025070416403202" paramName="sa_dispatchids" content="确定批量复核发货单?"></batchReview>
+        </template>
         <template #custom>
           <div class="mt-10">
             <label  class="search__label" >{{$t(`状态`)}}:</label>
@@ -43,6 +48,9 @@
           <div v-if="scope.data.column.columnname == 'status'">
             <span :style="tool.getStatusColor(scope.data.column.data[[scope.data.column.columnname]])" >{{$t(scope.data.column.data[[scope.data.column.columnname]])}}</span>
           </div>
+          <div v-else-if="scope.data.column.columnname == 'shipmentstatus'">
+            <span :style="tool.getStatusColor(scope.data.column.data[[scope.data.column.columnname]])" >{{$t(scope.data.column.data[[scope.data.column.columnname]])}}</span>
+          </div>
           <div v-else-if="scope.data.column.columnname == 'sumamount'">
             {{ scope.data.column.data.sumamount ? tool.formatAmount(scope.data.column.data.sumamount,2) : '--' }}
           </div>
@@ -68,14 +76,18 @@
    * @param {object} apiId:{query:查询的接口id,del:删除的接口id}
    * @param {Array} options:{label:描述,value:值}
    */
+  import batchReview from '@/components/btn_click/index'
   export default {
     data () {
       return {
         options:[],
         dateSelect:[],
-        status:''
+        status:'',
+        selectList:[],
+        isStatus:true
       }
     },
+    components:{batchReview},
     methods:{
       selectChange(){
         if (this.dateSelect !== '' && this.dateSelect !== null){
@@ -88,6 +100,16 @@
         }
         this.$refs.basicLayout.param.content.where.status = this.status
         this.$refs.basicLayout.listData()
+      },
+      checkboxCallBack(val){
+        this.isStatus = true
+        this.selectList = []
+        val.forEach((item,index)=>{
+          if (item.status !== '审核'){
+            this.isStatus = false
+          }
+          this.selectList[index] = item.sa_dispatchid
+        })
       }
     }
   }

+ 1 - 0
src/HDrpManagement/dispatch/modules/defaultInfo.vue

@@ -14,6 +14,7 @@
       <el-descriptions-item v-if="siteid == 'YOSTEST1' || siteid == 'HY'" :label="$t(`质保书数量`)">{{ mainData.count_zbs?mainData.count_zbs:mainData.count_zbs == 0?'0':"--" }}</el-descriptions-item>
       <el-descriptions-item v-if="siteid == 'YOSTEST1' || siteid == 'HY'" :label="$t(`合格证数量`)">{{ mainData.count_hgz?mainData.count_hgz:mainData.count_hgz == 0?'0':"--" }}</el-descriptions-item>
       <el-descriptions-item :label="$t('备注')">{{ mainData.remarks?mainData.remarks:"--" }}</el-descriptions-item>
+      <el-descriptions-item :label="$t('反审原因')">{{ mainData.uncheckreason?mainData.uncheckreason:"--" }}</el-descriptions-item>
     </el-descriptions>
     <el-descriptions class="normal-margin" :column="2"  border labelClassName="my-label" contentClassName="my-content">
       <div slot="title" class="my-label__title">{{$t(`收货信息`)}}</div>

+ 41 - 9
src/HDrpManagement/logistics/details/index.vue

@@ -10,7 +10,7 @@
           ownertable="sa_logistics"
           delApiId="20221122132904"
           tags=""
-          :tabs="['基础信息','物流单明细','装箱信息','物流信息']"
+          :tabs="tool.checkAuth($route.name,'erpInfoRecord')?['基础信息','物流单明细','装箱信息','物流信息','erp对接记录']:['基础信息','物流单明细','装箱信息','物流信息']"
           @pageChange="pageChange"
           @onEditSuccess="queryMainData($route.query.id)">
         <div slot="tags">
@@ -24,8 +24,8 @@
           <defalutInfo :mainData="mainData" ref="info"></defalutInfo>
         </div>
         <div slot="slot1" >
-          <dispatchTable ref="dispatch" @onInit="onInit" @rowClick="rowClick" :needQuery="true"></dispatchTable>
-          <dismx ref="dismx"></dismx>
+          <dispatchTable ref="dispatch" @onInit="onInit" @rowClick="rowClick" :needQuery="true" :status="mainData.status" @delSuccess="delSuccess" @isEmpty="$refs.dismx.tableData = []"></dispatchTable>
+          <dismx ref="dismx" style="margin-top: 10px" type="edit" :status="mainData.status" :logistics_qty_editable="logistics_qty_editable"></dismx>
         </div>
         <div  slot="slot2">
           <addBox v-if="tool.checkAuth($route.name,'addBoxInfo') && mainData.status == '新建'" class="mt-10" @onSuccess="onBoxSuccess"></addBox>
@@ -35,6 +35,9 @@
         <div  slot="slot3">
           <courierRecords></courierRecords>
         </div>
+        <div slot="slot4">
+          <erpInfo></erpInfo>
+        </div>
       </basicDetails>
     </div>
 </template>
@@ -47,12 +50,15 @@
   import addBox from './tabs/logisticsBox/add.vue'
   import boxlist from './tabs/logisticsBox/logisticsBox.vue'
   import courierRecords from './tabs/courierRecords.vue'
+  import erpInfo from './tabs/erpInfo.vue'
   export default {
     name: "detail",
     data() {
       return {
         mainData:'',
-        mainAreaData:{}
+        mainAreaData:{},
+        siteid:JSON.parse(sessionStorage.getItem('active_account')).siteid,
+        logistics_qty_editable:0
       }
     },
     components:{
@@ -62,7 +68,8 @@
       addBox,
       boxlist,
       courierRecords,
-      Edit
+      Edit,
+      erpInfo
     },
     methods:{
       async queryMainData(id) {
@@ -72,7 +79,7 @@
             "sa_logisticsid":this.$route.query.id
           }
         })
-        this.mainData = res.data[0]
+        res.data && res.data.length > 0?this.mainData = res.data[0]:this.mainData = ''
         console.log(this.mainData);
 
         this.changeDataStructure()
@@ -85,6 +92,10 @@
             label:'物流编号',
             value:this.mainData.billno
           },
+          {
+            label:'erp单号',
+            value:this.mainData.erpbillno
+          },
           {
             label:'单据日期',
             value:this.mainData.billdate
@@ -214,18 +225,39 @@
         });
       },
       rowClick (row) {
-        this.$refs['dismx'].listData(row.sa_dispatchid)
+        this.$refs['dismx'].listData(row.sa_orderid,row.sa_logistics_itemsid)
       },
       onBoxSuccess () {
         this.$refs['boxlist'].listData()
       },
       onInit (data) {
-        this.$refs.dismx.listData(data.sa_dispatchid)
+        this.$refs.dismx.listData(data.sa_orderid,data.sa_logistics_itemsid)
+      },
+      delSuccess(data){
+        console.log(data,data.length)
+        if (data.length == 0){
+          this.$refs.dismx.tableData = []
+        }
+        // this.$refs.dismx.listData(data.sa_orderid,data.sa_logistics_itemsid)
+      },
+      async queryEdit(){
+        const res = await this.$api.requested({
+          classname: "sysmanage.site.site",
+          method: "querySite_Parameter",
+          content:{
+            siteid:this.siteid
+          }
+        })
+        if (res.code == 0){
+          this.tool.showMessage(res,()=>{})
+        }else {
+          this.logistics_qty_editable = res.data.logistics_qty_editable
+        }
       }
     },
     mounted () {
       this.queryMainData(this.$route.query.id)
-
+      this.queryEdit()
     },
     created() {
     }

+ 73 - 0
src/HDrpManagement/logistics/details/tabs/erpInfo.vue

@@ -0,0 +1,73 @@
+<template>
+  <div>
+    <tableDetail :layout="tablecols" :data="list" :opwidth="200" :custom="true">
+      <template v-slot:customcol="scope">
+        <div >{{scope.column.data[scope.column.columnname]||scope.column.columnname ==='operation'?scope.column.data[scope.column.columnname] : '--'}}</div>
+      </template>
+    </tableDetail>
+    <div  class="container normal-panel" style="text-align:right">
+      <el-pagination
+          background
+          @size-change="handleSizeChange"
+          @current-change="handleCurrentChange"
+          :current-page="currentPage"
+          :page-sizes="[20, 50, 100, 200]"
+          :page-size="100"
+          layout="total,sizes, prev, pager, next, jumper"
+          :total="total">
+      </el-pagination>
+    </div>
+  </div>
+</template>
+
+<script>
+export default {
+  name: "erpInfo",
+  data(){
+    return {
+      param:{
+        "id": 2025070309465702,
+        "content": {
+          "ownertable": "sa_logistics",
+          "ownerid": "71147",
+          "pageNumber": 1,
+          "pageSize": 20
+        },
+      },
+      tablecols:[],
+      list:[],
+      currentPage:0,
+      total:0
+    }
+  },
+  methods:{
+    async listData(){
+      this.param.content.ownerid = this.$route.query.id
+      const res = await this.$api.requested(this.param)
+      this.list = res.data
+      this.total = res.total
+      this.currentPage = res.pageNumber
+    },
+    handleSizeChange(val) {
+      // console.log(`每页 ${val} 条`);
+      this.param.content.pageSize = val
+      this.listData()
+    },
+    handleCurrentChange(val) {
+      // console.log(`当前页: ${val}`);
+      this.param.content.pageNumber = val
+      this.listData()
+    },
+  },
+  mounted() {
+    this.listData()
+  },
+  created() {
+    this.tablecols = this.tool.tabelCol(this.$route.name).erpInfoTable.tablecols
+  }
+}
+</script>
+
+<style scoped>
+
+</style>

+ 9 - 2
src/HDrpManagement/logistics/details/tabs/logisticsBox/add.vue

@@ -1,6 +1,6 @@
 <template>
   <div>
-    <el-button type="primary" size="small" @click="drawer = true">{{$t(`新建装箱信息`)}}</el-button>
+    <el-button type="primary" size="small" @click="addShow">{{$t(`新建装箱信息`)}}</el-button>
     <el-drawer
       :title="$t(`新建装箱信息`)"
       :visible.sync="drawer"
@@ -81,6 +81,7 @@
               </el-table-column>
               <el-table-column
                 :label="$t('操作')"
+                fixed="right"
                 width="90">
                 <template slot-scope="scope">
                   <el-button type="text" size="mini" @click="deleteRow(scope.row)">{{$t('删 除')}}</el-button>
@@ -89,7 +90,7 @@
             </el-table>
           </el-col>
           <el-col :span="24 - setcol">
-            <logisticsCanUseProduct ref="logislist" :sa_logistics_boxid="0" @onConfirm="onConfirm">
+            <logisticsCanUseProduct ref="logislist" :sa_logistics_boxid="0" @onConfirm="onConfirm" :addList="tableData">
               <el-button class="inline-16" slot="allBtn" type="primary" size="small" @click="handlePullData">{{$t(`一键全选`)}}</el-button>
             </logisticsCanUseProduct>
           </el-col>
@@ -129,6 +130,12 @@ export default {
     uploadAllData
   },
   methods:{
+    addShow(){
+      this.drawer = true
+      this.tableData = []
+      this.$refs.logislist.tableData = []
+      this.setcol = 24
+    },
    onSubmit (){
       this.$refs.form.validate(async(valid)=>{
         if (!valid) return false

+ 1 - 0
src/HDrpManagement/logistics/details/tabs/logisticsBox/edit.vue

@@ -68,6 +68,7 @@
               </el-table-column>
               <el-table-column
                 :label="$t('操作')"
+                fixed="right"
                 width="90">
                 <template slot-scope="scope">
                   <el-button type="text" size="mini" @click="deleteRow(scope.row)">{{$t('删 除')}}</el-button>

+ 1 - 0
src/HDrpManagement/logistics/details/tabs/logisticsBox/logisticsBox.vue

@@ -19,6 +19,7 @@
         </el-table-column>
         <el-table-column
           :label="$t('操作')"
+          fixed="right"
           width="120">
           <template slot-scope="scope">
             <!-- <el-button class="inline-16" type="text" size="small" slot="reference">{{$t('编 辑')}}</el-button> -->

+ 31 - 1
src/HDrpManagement/logistics/index.vue

@@ -13,6 +13,15 @@
       :detailPath="{
         path:'/logisticsdetail'
       }">
+      <template #titleRight>
+        <importFileNew ref="importFile" class="inline-16"
+           v-if="tool.checkAuth($route.name,'freightImport')"
+           :bindData="{ownertable:'plm_item',ownerid:$route.query.id,usetype:'default'}"
+           :paramID="2025070310211502" title="运费导入"
+           :errorUrl="errorUrl"
+           @clearUrl="errorUrl = null"
+           @onSuccess="bindImport"></importFileNew>
+      </template>
       <template #custom>
         <div class="mt-10">
           <label  class="search__label" >{{$t(`状态`)}}:</label>
@@ -66,13 +75,16 @@
    * @param {object} apiId:{query:查询的接口id,del:删除的接口id}
    * @param {Array} options:{label:描述,value:值}
    */
+  import importFileNew from '@/components/import/importFileNew'
   export default {
+    components:{importFileNew},
     data () {
       return {
         options:[],
         sonum:'',
         dateSelect:[],
-        status:''
+        status:'',
+        errorUrl:null
       }
     },
     methods:{
@@ -92,6 +104,24 @@
           this.$refs.basicLayout.param.content.where.enddate = ''
         }
         this.$refs.basicLayout.listData()
+      },
+      async bindImport(id){
+        const res = await this.$api.requested({
+          "id": 2025070310225802,
+          "content": {
+            "attachmentid":id
+          },
+        })
+        if (res.data !== '成功') {
+          this.errorUrl = res.data
+          this.$message.error(this.$t('导入失败'));
+        }else {
+          this.tool.showMessage(res,()=>{
+            this.$refs.importFile.dialogUploadVisible = false
+            this.$refs.basicLayout.listData()
+          })
+        }
+
       }
     },
     mounted () {

+ 3 - 1
src/HDrpManagement/logistics/modules/add.vue

@@ -68,7 +68,7 @@
             <dispatch-table type="add" ref="dislist"></dispatch-table>
           </el-col>
           <el-col :span="24 - setcol">
-            <add-disbill v-if="drawer" ref="addbill" :data="enterpriseInfo" :paytype="form.paytype" @onConfirm="onConfirm"></add-disbill>
+            <add-disbill v-if="drawer" ref="addbill" :data="enterpriseInfo" :paytype="form.paytype" @onConfirm="onConfirm" :addList="selectList"></add-disbill>
           </el-col>
         </el-row>
       </div>
@@ -120,6 +120,7 @@ export default {
         ],
       },
       enterpriseInfo:null,
+      selectList:[],
       pickerOptions: {
         disabledDate(time) {
           return time.getTime() < Date.now() - 24 * 3600 * 1000;
@@ -157,6 +158,7 @@ export default {
       this.$refs['dislist'].tableData = unique([...this.$refs['dislist'].tableData,...data],'billno')
       this.isCorrelate = this.$refs.dislist.tableData.length
       this.form.remarks = this.$refs['dislist'].tableData[0].remarks
+      this.selectList = this.$refs.dislist.tableData
     },
     async onSubmit () {
       this.$store.commit('setLoading',true)

+ 35 - 70
src/HDrpManagement/logistics/modules/dispatchTable.vue

@@ -1,74 +1,30 @@
 <template>
 <div>
-  <el-table
-    class="mt-10"
-    :data="tableData"
-    style="width: 100%"
-    size="mini"
-    border
-    @row-click="rowClick">
-    <el-table-column
-      type="selection"
-      width="55">
-    </el-table-column>
-    <el-table-column
-      prop="billno"
-      :label="$t(`发货单号`)">
-    </el-table-column>
-    <el-table-column
-      prop="sonum"
-      :label="$t('订单号')">
-    </el-table-column>
-    <el-table-column
-      prop="enterprisename"
-      :label="$t(`企业名称`)">
-    </el-table-column>
-    <el-table-column
-      prop="name"
-      :label="$t(`收货人`)">
-    </el-table-column>
-    <el-table-column
-      prop="phonenumber"
-      :label="$t(`收货人联系电话`)">
-    </el-table-column>
-    <el-table-column
-      prop="province"
-      :label="$t('省市县')">
-      <template slot-scope="scope" v-if="scope.row.province">
-        {{`${scope.row.province}-${scope.row.city}-${scope.row.county}`}}
-      </template>
-    </el-table-column>
-    <el-table-column
-      prop="address"
-      :label="$t('地址')">
-    </el-table-column>
-    <el-table-column
-      prop="remarks"
-      :label="$t('备注')">
-    </el-table-column>
-    <el-table-column
-      prop="freightstatus"
-      :label="$t(`寄付方式`)">
-    </el-table-column>
-    <el-table-column
-    v-if="type === 'edit' || type === 'add'"
-    fixed="right"
-    :label="$t('操作')"
-    width="90">
-      <template slot-scope="scope">
-      <el-button type="text" @click="deleteDisBill(scope.row)" size="small">{{$t('删 除')}}</el-button>
-      </template>
-    </el-table-column>
-  </el-table>
+  <tableDetail :layout="tablecols" :data="tableData" :opwidth="200" :custom="true" :checkbox="true" @rowClick="rowClick" fixedName="operation">
+    <template v-slot:customcol="scope">
+      <div v-if="scope.column.columnname === 'shipmentstatus'" :style="{color:tool.getStatusColor(scope.column.data[scope.column.columnname],true)}">
+        {{scope.column.data[scope.column.columnname]}}
+      </div>
+      <div v-else-if="scope.column.columnname === 'province'" >
+        {{scope.column.data[scope.column.columnname]}}
+        {{`${scope.column.data.province}-${scope.column.data.city}-${scope.column.data.county}`}}
+      </div>
+      <div v-else>{{scope.column.data[scope.column.columnname]||scope.column.columnname ==='operation'?scope.column.data[scope.column.columnname] : '--'}}</div>
+    </template>
+    <template v-slot:opreation="scope">
+      <el-button type="text" @click="deleteDisBill(scope.data)" size="small" :disabled="status != '新建'">{{$t('删 除')}}</el-button>
+    </template>
+  </tableDetail>
 </div>
 </template>
 
 <script>
   export default {
-    props:['needQuery','type'],
+    props:['needQuery','type','status'],
     data() {
       return {
-        tableData: []
+        tableData: [],
+        tablecols:[]
       }
     },
     components:{
@@ -87,8 +43,7 @@
             }
           })
           this.tool.showMessage(res,()=>{
-            this.listData()
-            this.$emit('delSuccess')
+            this.listData('删除')
           })
         } else {
           this.tableData = this.tableData.filter(e=>{
@@ -96,7 +51,7 @@
           })
         }
       },
-      async listData(){
+      async listData(val){
         const res = await this.$api.requested({
         "id": 20221122133004,
           "content": {
@@ -108,16 +63,26 @@
             }
           }
         })
-        if(res.data.length > 0) this.$emit('onInit',res.data[0]);
+        console.log(res.data,'111111数据输出')
+        if(res.data && res.data.length > 0) this.$emit('onInit',res.data[0]);
         this.tableData = res.data
-        this.$emit('isCorrelation',res.data.length)
-        console.log(this.tableData);
-
-        res.data.length > 0?this.rowClick(res.data[0]):''
+        if (res.data && res.data.length){
+          this.$emit('isCorrelation',res.data.length,res.data)
+        }
+        res.data && res.data.length > 0?this.rowClick(res.data[0]):''
+        if (res.data.length == 0){
+          this.$emit('isEmpty')
+        }
+        if (val == '删除'){
+          this.$emit('delSuccess',res.data)
+        }
       },
       rowClick (row) {
         this.$emit('rowClick',row)
       }
+    },
+    created() {
+      this.tablecols = this.tool.tabelCol(this.$route.name).deliveryTable.tablecols
     }
   }
 </script>

+ 8 - 4
src/HDrpManagement/logistics/modules/edit.vue

@@ -66,10 +66,10 @@ ed<template>
         </div>
         <el-row :gutter="10">
           <el-col :span="setcol">
-            <dispatch-table type="edit" :needQuery="true" ref="dislist" @isCorrelation="isCorrelation" @delSuccess="delSuccess"></dispatch-table>
+            <dispatch-table type="edit" :needQuery="true" ref="dislist" @isCorrelation="isCorrelation" @delSuccess="delSuccess" :status="data.status"></dispatch-table>
           </el-col>
           <el-col :span="24 - setcol">
-            <add-disbill ref="addbill" :data="enterpriseInfo" @onConfirm="onConfirm"></add-disbill>
+            <add-disbill ref="addbill" :data="enterpriseInfo" @onConfirm="onConfirm" :addList="selectList"></add-disbill>
           </el-col>
         </el-row>
       </div>
@@ -117,6 +117,7 @@ export default {
       visible:false,
       setcol:24,
       isCorrelate:0,
+      selectList:[],
       form:{
        "freightamount": "",
         "logisticno": "",
@@ -147,7 +148,8 @@ export default {
       this.$nextTick(()=>{
         this.$refs['ent'].form.enterprisename = this.data.enterprisename
         this.$refs['logis'].form.abbreviation = this.data.logiscomp_enterprisename
-        this.$refs.dislist.listData()
+        this.selectList = []
+        // this.$refs.dislist.listData()
         this.setcol = 24
       })
 
@@ -155,8 +157,9 @@ export default {
     delSuccess(){
       this.$refs['addbill'].listData()
     },
-    isCorrelation(val){
+    isCorrelation(val,data){
       this.isCorrelate = val
+      this.selectList = data
     },
     addMoreBill () {
       if (this.enterpriseInfo === null) return this.$message({
@@ -182,6 +185,7 @@ export default {
       this.$refs['dislist'].tableData = unique([...this.$refs['dislist'].tableData,...data],'billno')
       this.isCorrelate = this.$refs.dislist.tableData.length
       this.form.remarks = this.$refs['dislist'].tableData[0].remarks
+      this.selectList = this.$refs['dislist'].tableData
     },
     async onSubmit () {
       this.form.sa_dispatchids = this.$refs['dislist'].tableData.map(e=>{

+ 36 - 25
src/HDrpManagement/logistics/modules/productlist.vue

@@ -47,8 +47,14 @@
       <el-table-column
         :label="$t(`数量`)">
         <template slot-scope="scope">
-          <!-- <el-input-number :controls="true" controls-position='right' :step-strictly="true" v-if="type === 'edit'" size="mini" v-model="scope.row.qty" :min="1" :step="scope.row.orderaddqty" :label="$t(`输入数量`)" @change="qtyChange(scope.row,scope.$index)"></el-input-number> -->
-          <span>{{scope.row.qty}}</span>
+           <el-input-number :controls="true" controls-position='right' :step-strictly="true" v-if="type === 'edit' && tool.checkAuth($route.name,'update') && status == '新建' && logistics_qty_editable" size="mini" v-model="scope.row.qty" :min="1" :step="scope.row.orderaddqty" :label="$t(`输入数量`)" @change="qtyChange(scope.row,scope.$index)"></el-input-number>
+          <span v-else>{{scope.row.qty}}</span>
+        </template>
+      </el-table-column>
+      <el-table-column
+          :label="$t(`未出货数量`)">
+        <template slot-scope="scope">
+          <span>{{scope.row.unlogisticsqty?scope.row.unlogisticsqty:scope.row.unlogisticsqty == 0?'0':'--'}}</span>
         </template>
       </el-table-column>
       <el-table-column
@@ -57,12 +63,11 @@
         width="90">
         <template slot-scope="scope">
           <el-tag size="mini" type="info" effect="plain">{{scope.row.unitname}}</el-tag>
-
         </template>
       </el-table-column>
-      <el-table-column v-if="type === 'edit'" width="90" fixed="right">
+      <el-table-column v-if="type === 'edit'" width="90" fixed="right" :label="$t('操作')">
         <template slot-scope="scope">
-          <el-button type="text" size="mini" @click="deleteOrderProduct(scope.row)">{{$t('删 除')}}</el-button>
+          <el-button type="text" size="mini" @click="deleteOrderProduct(scope.row)" :disabled="!logistics_qty_editable || status != '新建'">{{$t('删 除')}}</el-button>
         </template>
       </el-table-column>
     </el-table>
@@ -83,16 +88,18 @@
 
 <script>
 export default {
-  props:['type'],
+  props:['type','status','logistics_qty_editable'],
   data () {
     return {
       tableData:[],
       param:{
-        "id": 20221115104703,
+        "id": 2025070313223102,
         "content": {
           "sa_orderid": 0,
+          "sa_logistics_itemsid":'',
           "pageNumber": 1,
           "pageSize": 20,
+          "nocache":true,
           "where": {
               "condition": ""
           }
@@ -105,8 +112,9 @@ export default {
     }
   },
   methods:{
-    async listData (id) {
-      this.param.content.sa_dispatchid = id
+    async listData (sa_orderid,sa_logistics_itemsid) {
+      this.param.content.sa_orderid = sa_orderid
+      this.param.content.sa_logistics_itemsid = sa_logistics_itemsid
       const res = await this.$api.requested(this.param)
       this.tableData = res.data
       this.total = res.total
@@ -115,48 +123,51 @@ export default {
     handleSizeChange(val) {
       // console.log(`每页 ${val} 条`);
       this.param.content.pageSize = val
-      this.listData(this.param.content.sa_dispatchid)
+      this.listData(this.param.content.sa_orderid,this.param.content.sa_logistics_itemsid)
     },
     handleCurrentChange(val) {
       // console.log(`当前页: ${val}`);
       this.param.content.pageNumber = val
-      this.listData(this.param.content.sa_dispatchid)
+      this.listData(this.param.content.sa_orderid,this.param.content.sa_logistics_itemsid)
     },
     async deleteOrderProduct (row) {
       const res = await this.$api.requested({
-        "id": 20221115104803,
+        "id": 2025071013452502,
         "content": {
-          "sa_dispatch_itemsids": [row.sa_dispatch_itemsid]
+          "sa_logisticsid":this.$route.query.id,
+          "sa_logistics_items_mxids": [row.sa_logistics_items_mxid]
         },
       })
       this.tool.showMessage(res,()=>{
-        this.listData()
+        this.listData(this.param.content.sa_orderid,this.param.content.sa_logistics_itemsid)
         this.$emit('onSuccess')
       })
     },
     async updateOrderProduct (val) {
       const res  = await this.$api.requested({
-        "id": 20221110145302,
-        "content": val
+        "id": 2025070313551202,
+        "content":{
+          "items":[val]
+        }
       })
+      this.listData(this.param.content.sa_orderid,this.param.content.sa_logistics_itemsid)
+      if (res.code == 0){
+        this.$message.error(this.$t(res.msg));
+      }
     },
     qtyChange (val,index) {
       let that = this
       this.$set(this.tableData,index,val)
-      // console.log(val,this.tableData)
-      // // 防抖
+      console.log(val,this.tableData)
+      // 防抖
       if(this.time !== null){
         clearTimeout(this.time);
       }
       this.time = setTimeout(() => {
         that.updateOrderProduct({
-          "sa_orderitemsid":val.sa_orderitemsid,
-          "sa_orderid":this.$route.query.id,//订单ID
-          "itemid":val.itemid,//商品ID
-          "type":"数量",//调整类型,目前只支持数量
-          "oldvalue":val.qty,//原值
-          "newvalue":val.qty,//调整后值
-          "remarks":val.remarks
+          "sa_dispatch_itemsid":val.sa_dispatch_itemsid,
+          "sa_logistics_items_mxid":val.sa_logistics_items_mxid,
+          "qty":val.qty
         })
       },500)
     }

+ 50 - 0
src/components/btn_click/index.vue

@@ -0,0 +1,50 @@
+<template>
+  <div>
+    <el-button :type="disabled?'':'primary'"  size="small" :disabled="disabled" @click="onClick">{{$t(title)}}</el-button>
+  </div>
+</template>
+
+<script>
+export default {
+  name: "index",
+  props:["title","disabled",'selectList','paramID','paramName','content'],
+  data(){
+    return {
+      param:{
+        "id": 2025070416403202,
+        "content": {
+          "sa_dispatchids": []
+        },
+      }
+    }
+  },
+  methods:{
+    onClick(){
+      this.$confirm(this.content, this.$t('提示'), {
+        confirmButtonText: this.$t('确定'),
+        cancelButtonText: this.$t('取消'),
+        type: 'warning'
+      }).then(async () => {
+        this.param.id = this.paramID
+        this.param.content = {
+          [this.paramName]:this.selectList
+        }
+        const res = await this.$api.requested(this.param)
+        this.tool.showMessage(res,()=>{
+          this.$emit('onSuccess')
+        })
+      }).catch(() => {
+        this.$message({
+          type: 'info',
+          message: this.$t('已取消')
+        });
+      });
+    }
+  }
+
+}
+</script>
+
+<style scoped>
+
+</style>

+ 214 - 0
src/components/import/importFileNew.vue

@@ -0,0 +1,214 @@
+<template>
+  <div>
+    <!-- 按钮类型 -->
+    <el-button type="success" size="small" @click="onShow(0)" icon="el-icon-upload">{{$t(title)}}</el-button>
+    <el-dialog :title="$t('文件上传')" class="import-panel" :visible.sync="dialogUploadVisible" width="500px" append-to-body :close-on-click-modal="false" :show-close="false" @close="clearFiles">
+      <div slot="title"></div>
+      <div style="background:#f1f2f3" class="my-tabs" >
+        <el-tabs v-model="activeName" type="card" @tab-click="handleClick">
+          <!-- <el-tab-pane :label="$t('导入经销商线索')" name="first"></el-tab-pane> -->
+          <el-tab-pane :label="$t(`导入`)" name="second"></el-tab-pane>
+        </el-tabs>
+      </div>
+      <div style="padding:20px">
+        <el-upload
+            style="width:100%"
+            ref="my-upload"
+            class="upload-demo normal-margin"
+            :accept="accept"
+            action="#"
+            :auto-upload="false"
+            :show-file-list="false"
+            :on-change="handleChange"
+            drag
+            multiple>
+          <i class="el-icon-upload"></i>
+          <div class="el-upload__text">{{$t('将文件拖到此处,或') + ' '}}<em>{{$t('点击上传')}}</em></div>
+        </el-upload>
+        <div class="progress_panel" v-for="file in filelist" :key="file.uid">
+          <img v-if="file.type === 'DOC' || file.type === 'DOCX'" width="30" src="@/assets/file_icons/word.png"
+               alt="">
+          <img v-else-if="file.type === 'PDF'" width="30" src="@/assets/file_icons/PDF.png" alt="">
+          <img v-else-if="file.type === 'MP4' || file.type === 'AVI'" width="30" src="@/assets/file_icons/video.png"
+               alt="">
+          <img v-else-if="file.type === 'XLS' || file.type === 'XLSX'" width="30" src="@/assets/file_icons/excel.png"
+               alt="">
+          <img v-else-if="file.type === 'PNG' || file.type === 'JPG'|| file.type === 'JPEG'" width="30"
+               src="@/assets/file_icons/image.png" alt="">
+          <img v-else-if="file.type === 'PPT' || file.type === 'PPTX'" width="30" src="@/assets/file_icons/PPT.png"
+               alt="">
+          <img v-else width="30" src="@/assets/file_icons/unknow.png" alt="">
+          <div>
+            <p v-if="file.progress === 100" style="float:right"><span style="color:#67C23A">●</span>{{$t('上传成功')}}</p>
+            <p>{{file.raw?file.raw.name:$t('暂无上传文件')}}</p>
+            <el-progress :percentage="file.progress" :show-text="false"></el-progress>
+          </div>
+        </div>
+        <slot name="errorFile"></slot>
+        <p class="tips">• + {{$t('为保证数据导入顺利,推荐您下载并使用' + ' ')}}<a :href="modelurl">《{{$t('Excel标准模板')}}》</a></p>
+        <p class="tips">• {{$t('文件中数据不能超过5000行')}}</p>
+        <a :href="errorUrl" class="tips" style="color:red" v-if="errorUrl">•{{$t(`下载错误数据`)}}</a>
+        <div class="dialog-footer">
+          <el-button size="small" @click="cancel" class="normal-btn-width">{{$t('取 消')}}</el-button>
+          <el-button size="small" type="warning" @click="dialogUploadVisible = false" class="normal-btn-width btn-warning">{{$t('确 定')}}</el-button>
+        </div>
+      </div>
+
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+export default {
+  /*
+   folderid:文件夹id; 必填
+   btntype:展示上传按钮的类型;
+   accept:限制上传文件类型;
+   bindData:附件上传成功后对应需要绑定的数据信息
+ */
+  name: "importFileNew",
+  props:['btntype','accept','bindData','errorUrl','title','paramID'],
+  data () {
+    return {
+      dialogUploadVisible: false,
+      params: {
+        "classname": "system.attachment.huawei.OBS",
+        "method": "getFileName",
+        "content": {
+          "filename": '',
+          "filetype": '',
+          "parentid": ""//归属文件夹ID
+        }
+      },
+      file: {},
+      filelist: [],
+      CampaignList:[],
+      activeName:'last',
+      modelurl:'',
+      campaignid:'',
+      folderid:JSON.parse(sessionStorage.getItem('folderid')).appfolderid,
+    }
+  },
+  mounted () {
+
+    // this.listData()
+  },
+  methods: {
+    onShow () {
+      this.dialogUploadVisible = true
+      this.getModelUrl()
+    },
+    cancel () {
+      this.dialogUploadVisible = false
+      this.campaignid = ''
+      this.$refs['my-upload'].clearFiles()
+      this.filelist = []
+    },
+    handleChange (file, filelist) {
+      this.filelist = filelist
+      var index = file.raw.name.lastIndexOf(".");
+      var ext = file.name.substr(index + 1);
+      this.params.content.filename = file.raw.name
+      this.params.content.filetype = ext
+      this.getUploadUrl(file, ext)
+    },
+    handleClick () {
+      this.getModelUrl()
+    },
+    // 获取导入模板
+    async getModelUrl () {
+      const res = await this.$api.requested({
+        "id":this.paramID,
+        "content": {
+        }
+      })
+      this.modelurl = res.data
+
+    },
+    // 获取华为云上传地址
+    async getUploadUrl (file, ext) {
+      this.params.content.parentid = this.folderid
+      const res = await this.$api.requested(this.params)
+      let url = res.data.uploadurl
+      let obsfilename = res.data.serialfilename
+
+      this.upoladFileToServer(url, file, ext, obsfilename)
+    },
+    // 上传到华为云
+    async upoladFileToServer (url, file, ext, obsfilename) {
+      let THIS = this
+      let config = {
+        headers: ext === 'pdf' ? { 'Content-Type': 'application/pdf' } : { 'Content-Type': 'application/octet-stream' },
+        onUploadProgress: function (progressEvent) {
+          let percent = progressEvent.loaded / progressEvent.total * 100
+          THIS.filelist.forEach(e => {
+            if (e.uid === file.uid) {
+              THIS.$set(e, 'type', ext.toUpperCase());
+              THIS.$set(e, 'progress', percent);
+            }
+          })
+        },
+      }
+      const res = await this.$upload.hw_upload(url, file.raw, config)
+      this.createFileRecord(obsfilename)
+    },
+
+    // 上传成功以后生成附件记录
+    async createFileRecord (obsfilename) {
+      let obj = {
+        "serialfilename": obsfilename
+      }
+      obj = Object.assign({},obj,this.bindData)
+      let param = {
+        "classname": "system.attachment.huawei.OBS",
+        "method": "uploadSuccess",
+        "content":obj
+      }
+
+      const res = await this.$api.requested(param)
+      this.$emit('onSuccess',res.data.attachmentids[0])
+    },
+
+    clearFiles () {
+      this.$refs['my-upload'].clearFiles()
+      this.filelist = []
+      this.dialogUploadVisible = false
+      this.$emit('clearUrl')
+    },
+  }
+}
+</script>
+<style>
+.import-panel .el-dialog__header,.import-panel .el-dialog__body{
+  padding: 0 !important;
+}
+.upload-demo > div {
+  width: 100% !important;
+}
+.upload-demo .el-upload-dragger {
+  width: 100% !important;
+}
+</style>
+<style scoped>
+.progress_panel {
+  display: flex;
+  align-items: center;
+  padding: 10px;
+  margin: 10px 0;
+  border-radius: 5px;
+  transition: linear 0.2s all;
+}
+.progress_panel:hover {
+  box-shadow: 0px 0px 5px #ccc;
+}
+.progress_panel > div {
+  flex: 1;
+  padding: 0 10px;
+}
+.progress_panel > div > p {
+  line-height: 30px;
+}
+.tips{
+  line-height: 30px;
+}
+</style>

+ 41 - 20
src/template/logisticsCanUseProduct/index.vue

@@ -57,31 +57,31 @@
         :label="$t(`装箱数量`)">
       </el-table-column>
     </el-table>
-    <div style="margin-top:16px;text-align:right">
-      <el-pagination
-        background
-        small
-        @size-change="handleSizeChange"
-        @current-change="handleCurrentChange"
-        :current-page="currentPage"
-        :page-size="params.content.pageSize"
-        layout="total, prev, pager, next, jumper"
-        :total="total">
-      </el-pagination>
-    </div>
+<!--    <div style="margin-top:16px;text-align:right">-->
+<!--      <el-pagination-->
+<!--        background-->
+<!--        small-->
+<!--        @size-change="handleSizeChange"-->
+<!--        @current-change="handleCurrentChange"-->
+<!--        :current-page="currentPage"-->
+<!--        :page-size="params.content.pageSize"-->
+<!--        layout="total, prev, pager, next, jumper"-->
+<!--        :total="total">-->
+<!--      </el-pagination>-->
+<!--    </div>-->
   </div>
 </template>
 
 <script>
 export default {
-  props:['sa_logistics_boxid'],
+  props:['sa_logistics_boxid','addList'],
   data () {
     return {
       params:{
         "id": 20230110112204,
         "content": {
           "pageNumber": 1,
-          "pageSize": 20,
+          "pageSize": 99999,
           "sa_logisticsid":0,
           "sa_logistics_boxid":1,
           "where": {
@@ -98,15 +98,36 @@ export default {
   },
   methods:{
     async listData () {
+      console.log(this.addList)
       this.params.content.sa_logisticsid = this.$route.query.id
       this.params.content.sa_logistics_boxid = this.sa_logistics_boxid
       const res = await this.$api.requested(this.params)
       res.data.forEach(e => {
         e.remarks = ''
       });
-      this.tableData = res.data
-      this.total = res.total
-      this.currentPage = res.pageNumber
+      if (this.addList && this.addList.length > 0){
+        let indexof = 0
+        let dataNew = []
+        res.data.forEach((t,indexs)=>{
+          let float = 0
+          this.addList.forEach((i,index)=>{
+            if (t.itemid == i.itemid){
+              float = 1
+            }
+          })
+          if (float != 1){
+            dataNew[indexof] = res.data[indexs]
+            indexof = indexof + 1
+          }
+        })
+        this.tableData = dataNew
+
+      }else {
+        this.tableData = res.data
+      }
+      // this.tableData = res.data
+      // this.total = res.total
+      // this.currentPage = res.pageNumber
     },
     handleSizeChange(val) {
       // console.log(`每页 ${val} 条`);
@@ -122,10 +143,10 @@ export default {
       this.tableSelectData = val
     },
     onConfirm () {
-      this.tableData.forEach((item,index) => {
-        this.tableSelectData.forEach(item2 => {
+      this.tableSelectData.forEach((item,index) => {
+        this.tableData.forEach((item2,indexs) => {
           if (item.itemid == item2.itemid) {
-            this.tableData.splice(index,1)
+            this.tableData.splice(indexs,1)
           }
         })
       })

+ 58 - 64
src/template/logisyticCanUseDisBill/index.vue

@@ -2,72 +2,38 @@
   <div>
     <div class="flex-align-center flex-between mt-10">
       <el-input style="width:200px" size="small"  suffix-icon="el-icon-search" v-model="params.content.where.condition" :placeholder="$t('搜索')" @keyup.enter.native="listData(params.content.pageNumber = 1)" @clear="listData(params.content.pageNumber = 1)" clearable></el-input>
-      <el-button type="primary" size="small" :disabled="tableSelectData.length === 0" @click="onConfirm">添加选中发货单</el-button>
+      <el-button type="primary" size="small" :disabled="tableSelectData.length === 0" @click="onConfirm">{{$t(`添加选中发货单`)}}</el-button>
     </div>
-    <el-table
-      :data="tableData"
-      style="width: 100%"
-      size="mini"
-      @selection-change="selectionChange"
-      border>
-      <el-table-column
-        type="selection"
-        width="55">
-      </el-table-column>
-      <el-table-column
-        prop="billno"
-        :label="$t(`发货单号`)">
-      </el-table-column>
-      <el-table-column
-        prop="sonum"
-        :label="$t('订单号')">
-      </el-table-column>
-      <el-table-column
-        prop="enterprisename"
-        :label="$t(`企业名称`)">
-      </el-table-column>
-      <el-table-column
-      prop="recheckby"
-      :label="$t(`收货人`)">
-    </el-table-column>
-    <el-table-column
-      prop="contactsphonenumber"
-      :label="$t(`收货人联系电话`)">
-    </el-table-column>
-    <el-table-column
-      prop="province"
-      :label="$t('省市县')">
-      <template slot-scope="scope" v-if="scope.row.province">
-        {{`${scope.row.province}-${scope.row.city}-${scope.row.county}`}}
+    <tableDetail :layout="tablecols" :data="tableData" :opwidth="200" :custom="true" :checkbox="true" @selectionChange="selectionChange">
+      <template v-slot:customcol="scope">
+        <div v-if="scope.column.columnname === 'shipmentstatus'" :style="{color:tool.getStatusColor(scope.column.data[scope.column.columnname],true)}">
+          {{scope.column.data[scope.column.columnname]}}
+        </div>
+        <div v-else-if="scope.column.columnname === 'province'" >
+          {{scope.column.data[scope.column.columnname]}}
+          {{`${scope.column.data.province}-${scope.column.data.city}-${scope.column.data.county}`}}
+        </div>
+        <div v-else>{{scope.column.data[scope.column.columnname]||scope.column.columnname ==='operation'?scope.column.data[scope.column.columnname] : '--'}}</div>
       </template>
-    </el-table-column>
-    <el-table-column
-      prop="address"
-      :label="$t('地址')">
-    </el-table-column>
-    <el-table-column
-      prop="freightstatus"
-      :label="$t(`寄付方式`)">
-    </el-table-column>
-    </el-table>
-    <div style="margin-top:16px;text-align:right">
-      <el-pagination
-        background
-        small
-        @size-change="handleSizeChange"
-        @current-change="handleCurrentChange"
-        :current-page="currentPage"
-        :page-size="params.content.pageSize"
-        layout="total, prev, pager, next, jumper"
-        :total="total">
-      </el-pagination>
-    </div>
+    </tableDetail>
+<!--    <div style="margin-top:16px;text-align:right">-->
+<!--      <el-pagination-->
+<!--        background-->
+<!--        small-->
+<!--        @size-change="handleSizeChange"-->
+<!--        @current-change="handleCurrentChange"-->
+<!--        :current-page="currentPage"-->
+<!--        :page-size="params.content.pageSize"-->
+<!--        layout="total, prev, pager, next, jumper"-->
+<!--        :total="total">-->
+<!--      </el-pagination>-->
+<!--    </div>-->
   </div>
 </template>
 
   <script>
     export default {
-      props:['data','paytype'],
+      props:['data','paytype','addList'],
       data() {
         return {
           tableSelectData:[],
@@ -78,7 +44,7 @@
             "id":20221122133504,
             "content": {
               "pageNumber": 1,
-              "pageSize": 20,
+              "pageSize": 9999999,
               "sa_logisticsid":0,
               "freightstatus":'',
               "sys_enterpriseid":'',
@@ -86,18 +52,43 @@
                   "condition": ""
               }
             }
-          }
+          },
+          tablecols:[]
         }
       },
       methods:{
         async listData () {
+          this.tableData = []
           this.params.content.sa_logisticsid = this.$route.query.id?this.$route.query.id:0
           this.params.content.sys_enterpriseid = this.data.sys_enterpriseid
           this.params.content.paytype = this.params.content.freightstatus = this.paytype
           const res = await this.$api.requested(this.params)
-          this.tableData = res.data
-          this.total = res.total
-          this.currentPage = res.pageNumber
+
+          // this.tableData = res.data
+
+          if (this.addList && this.addList.length > 0){
+            let indexof = 0
+            let dataNew = []
+            res.data.forEach((t,indexs)=>{
+              let float = 0
+              this.addList.forEach((i,index)=>{
+                if (t.sa_dispatchid == i.sa_dispatchid){
+                  float = 1
+                }
+              })
+              if (float != 1){
+                dataNew[indexof] = res.data[indexs]
+                indexof = indexof + 1
+              }
+            })
+            this.tableData = dataNew
+
+          }else {
+            this.tableData = res.data
+          }
+
+          // this.total = res.total
+          // this.currentPage = res.pageNumber
         },
         handleSizeChange(val) {
           // console.log(`每页 ${val} 条`);
@@ -118,6 +109,9 @@
         clearSelection () {
           this.$refs.multipleTable.clearSelection();
         }
+      },
+      created() {
+        this.tablecols = this.tool.tabelCol(this.$route.name).deliveryAddTable.tablecols
       }
     }
   </script>