zhangqi 3 years ago
parent
commit
28e5239911

+ 1 - 1
src/HDrpManagement/dispatch/details/index.vue

@@ -7,7 +7,7 @@
           :editData="mainData"
           :mainAreaData="mainAreaData"
           delApiId="20221114135503"
-          turnPageId="20221031141102"
+          turnPageId="20221114135403"
           idname="sa_dispatchid"
           ownertable="sa_dispatch"
           tags=""

+ 147 - 0
src/HDrpManagement/logistics/details/index.vue

@@ -0,0 +1,147 @@
+<template>
+    <div>
+      <basicDetails
+          ref="details"
+          :titleText="`${mainData.billno}`"
+          :oldFormPath="{edit:'HDrpManagement/logistics/modules'}"
+          :editData="mainData"
+          :mainAreaData="mainAreaData"
+          turnPageId="20221122132804"
+          idname="sa_logisticsid"
+          ownertable="sa_logistics"
+          tags=""
+          :tabs="['基础信息','物流单明细']"
+          @pageChange="pageChange"
+          @onEditSuccess="queryMainData($route.query.id)">
+        <div slot="tags">
+        </div>
+        <div slot="customOperation" >
+          <el-button type="primary" size="mini"  v-if="tool.checkAuth($route.name,'confirmRec')" @click="onConfimRec">确认收货</el-button>
+          <el-button class="inline-16" type="primary" size="mini"  v-if="tool.checkAuth($route.name,'check')" :disabled="mainData.status !== '新建'" @click="onCheck">{{mainData.status === '审核'?'反审':'审核'}}</el-button>
+        </div>
+        <div slot="slot0" >
+          <defalutInfo :mainData="mainData"></defalutInfo>
+        </div>
+        <div slot="slot1" >
+          <dispatchTable :needQuery="true"></dispatchTable>
+        </div>
+      </basicDetails>
+    </div>
+  </template>
+  
+  <script>
+  import defalutInfo from '../modules/defaultInfo.vue'
+  import dispatchTable from '../modules/dispatchTable.vue'
+  export default {
+    name: "detail",
+    data() {
+      return {
+        mainData:{},
+        mainAreaData:{}
+      }
+    },
+    components:{
+      defalutInfo,
+      dispatchTable
+    },
+    methods:{
+      async queryMainData(id) {
+        const res = await this.$api.requested({
+          "id": 20221204201804,
+          "content": {
+            "sa_logisticsid":this.$route.query.id
+          }
+        })
+        this.mainData = res.data[0]
+        this.changeDataStructure()
+      },
+      changeDataStructure() {
+        this.mainAreaData = [
+          {
+            label:'物流编号',
+            value:this.mainData.billno
+          },
+          {
+            label:'状态',
+            value:this.mainData.status
+          },
+          {
+            label:'创建人',
+            value:this.mainData.createby
+          },
+          {
+            label:'创建日期',
+            value:this.mainData.createdate
+          },
+        ]
+      },
+      // 监听切换数据,上一页,下一页
+      pageChange (id,rowindex,tabIndex) {
+        this.flag = false
+        tabIndex = this.$route.query.tabIndex
+        this.$router.replace({path:'/customerDetail',query:{id:id,rowindex:rowindex,tabIndex:tabIndex}})
+        this.queryMainData(id)
+      },
+      onSuccess(){
+        this.visible = false
+        this.queryMainData(this.$route.query.id)
+        this.$emit('onSuccess')
+      },
+      onCheck () {
+        this.$confirm(`确定${this.mainData.status === '审核'?'反审核':'审核'}该发货单`, '提示', {
+          confirmButtonText: '确定',
+          cancelButtonText: '取消',
+          type: 'warning'
+        }).then(async () => {
+          const res = await this.$api.requested({
+            "id":20221122133104,
+            "version":1,
+            "content": { 
+              "sa_logisticsid":this.$route.query.id
+            }
+          })
+          this.tool.showMessage(res,()=>{
+            this.queryMainData()
+          })
+        }).catch(() => {
+          this.$message({
+            type: 'info',
+            message: '已取消'
+          });          
+        });
+      },
+      onConfimRec () {
+        this.$confirm(`确认收货吗`, '提示', {
+          confirmButtonText: '确定',
+          cancelButtonText: '取消',
+          type: 'warning'
+        }).then(async () => {
+          const res = await this.$api.requested({
+            "id": "20221122133204",
+            "content": {
+              "sa_logisticsid":this.$route.query.id
+            }
+          })
+          this.tool.showMessage(res,()=>{
+            this.queryMainData()
+          })
+        }).catch(() => {
+          this.$message({
+            type: 'info',
+            message: '已取消'
+          });          
+        });
+      }
+    },
+    mounted () {
+      this.queryMainData(this.$route.query.id)
+     
+    },
+    created() {
+    }
+  }
+  </script>
+  
+  <style scoped>
+  
+  </style>

+ 49 - 0
src/HDrpManagement/logistics/index.vue

@@ -0,0 +1,49 @@
+
+<template>
+    <div>
+      <basicLayout 
+        ref="basicLayout" 
+        :oldFormPath="{
+          add:'HDrpManagement/logistics/modules'
+        }"
+        tableName="logisticsTable" 
+        idName="sa_logisticsid" 
+        :apiId="{query:20221122132804,del:20221122132904}"
+        :detailPath="{
+          path:'/logisticsdetail'
+        }">
+        <div slot="custom"></div>
+        <template v-slot:tbList="scope">
+          <div>
+            {{scope.data.column.data[[scope.data.column.columnname]]}}
+          </div>
+        </template>
+        <template v-slot:tbOpreation="scope">
+        </template>
+      </basicLayout>
+    </div>
+  </template>
+  
+  <script>
+  /**
+   * @basicLayout 提供this.$ref['basicLayout'].listData()方法查询列表信息
+   * @param {string} formPath 新建,编辑组件所在文件夹名称,以后所有列表新增修改文件统一放入Form文件夹下面,并创建与开发应用相同的名称的子文件夹
+   * @param {string} tableName 开发端配置的表格名称
+   * @param {String} idName 数据主id名称
+   * @param {object} apiId:{query:查询的接口id,del:删除的接口id} 
+   * @param {Array} options:{label:描述,value:值} 
+   */
+  export default {
+    data () {
+      return {
+        options:[]
+        
+      }
+    },
+    methods:{
+    }
+  }
+  
+  </script>
+  <style>
+  </style>

+ 161 - 0
src/HDrpManagement/logistics/modules/add.vue

@@ -0,0 +1,161 @@
+<template>
+  <div>
+    <el-button type="primary" size="small" @click="drawer = true">新建物流单</el-button>
+    <el-drawer
+    title="创建物流单"
+    :visible.sync="drawer"
+    direction="rtl"
+    size="80%"
+    append-to-body
+    @close="onClose">
+    <div class="drawer__panel">
+      <p class="normal-title normal-margin">基础信息</p>
+      <el-form :inline="true" :model="form" class="demo-form-inline" size="small">
+        <el-form-item label="企业名称">
+          <enterprise ref="ent" @rowClick="entRowClick"></enterprise>
+        </el-form-item>
+        <el-form-item label="物流公司">
+          <!-- <el-input v-model="form.logic" placeholder="物流公司"></el-input> -->
+          <logisticcom ref="logis" @logisticRowClick="logisticRowClick"></logisticcom>
+        </el-form-item>
+        <el-form-item label="物流单号">
+          <el-input v-model="form.billno" placeholder="物流单号"></el-input>
+        </el-form-item>
+        <el-form-item label="付款方式">
+          <el-select v-model="form.paytype" placeholder="请选择">
+            <el-option
+              label="到付"
+              value="到付">
+            </el-option>
+            <el-option
+              label="寄付"
+              value="寄付">
+            </el-option>
+          </el-select>
+        </el-form-item>
+      </el-form>
+      <div class="mt-10">
+        <div>
+          <p class="normal-title inline-16">添加发货单</p>
+          <el-button type="text" size="mini" @click="addMoreBill">{{setcol === 12?'关闭选择':'添加发货单'}}</el-button>
+        </div>
+        <el-row :gutter="10">
+          <el-col :span="setcol">
+            <dispatch-table ref="dislist"></dispatch-table>
+          </el-col>
+          <el-col :span="24 - setcol">
+            <add-disbill ref="addbill" :data="enterpriseInfo" @onConfirm="onConfirm"></add-disbill>
+          </el-col>
+        </el-row>
+      </div>
+    </div>
+    <div class="fixed__btn__panel">
+      <el-button size="small" @click="drawer = false" class="normal-btn-width">取 消</el-button>
+      <el-button size="small" type="primary" @click="onSubmit" class="normal-btn-width">保存修改</el-button>
+    </div>
+    </el-drawer>
+    <el-dialog append-to-body title="选择收货地址" :visible.sync="dialogAddress">
+      <p style="color:red" class="mt-10">存在多个收货地址,请选择正确收货地址!</p>
+      <el-table :data="rec_address">
+        <el-table-column property="name" label="收货人" width="150"></el-table-column>
+        <el-table-column property="phonenumber" label="联系电话" width="200"></el-table-column>
+        <el-table-column label="地址">
+          <template slot-scope="scope">
+            {{scope.row.province}}{{scope.row.city}}{{scope.row.county}}{{scope.row.address}}
+          </template>
+        </el-table-column>
+        <el-table-column>
+          <template slot-scope="scope">
+            <el-button type="text" @click="selectAddress(scope.row)" size="small">选 择</el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+    </el-dialog>
+  </div>
+</template>
+<script>
+import dispatchTable from './dispatchTable.vue'
+import enterprise from '@/template/enterprise/index.vue'
+import logisticcom from '@/template/selectLogisticcom/index.vue'
+import addDisbill from '@/template/logisyticCanUseDisBill/index.vue'
+export default {
+  components:{
+    dispatchTable,
+    enterprise,
+    addDisbill,
+    logisticcom
+  },
+  data () {
+    return {
+      drawer:false,
+      visible:false,
+      dialogAddress:false,
+      setcol:24,
+      form:{
+        paytype:"到付"
+      },
+      enterpriseInfo:null,
+      rec_address:[]
+    }
+  },
+  methods:{
+    addMoreBill () {
+      if (this.enterpriseInfo === null) return this.$message({
+        message:'请先选择企业信息',
+        type:'error'
+      })
+      this.setcol === 12?this.setcol = 24 : this.setcol = 12
+      this.$refs['addbill'].listData()
+    },
+    entRowClick (row) {
+      this.enterpriseInfo = row
+    },
+    logisticRowClick (row) {
+      console.log(row)
+      this.form.sa_logiscompid = row.sa_logiscompid
+    },
+    onConfirm (data) {
+       function unique(arr, uniId){
+        const res = new Map();
+        return arr.filter((item) => !res.has(item[uniId]) && res.set(item[uniId], 1));
+      }
+      this.$refs['dislist'].tableData = unique([...this.$refs['dislist'].tableData,...data],'billno')
+    },
+    async onSubmit () {
+      const res = await this.$api.requested({
+        "id": "202212004124804",
+        "content": {
+          "sa_logisticsid": 0,
+          "sys_enterpriseid": this.enterpriseInfo.sys_enterpriseid,
+          "sa_logiscompid": this.form.sa_logiscompid,
+          "remarks": "",
+          "logisticno": "",
+          "paytype": this.form.paytype,
+          "sa_dispatchids":this.$refs['dislist'].tableData.map(e=>{
+            return e.sa_dispatchid
+          }),
+          "rec_contactsid":this.form.rec_contactsid
+        }
+      })
+      if (Array.isArray(res.data)) {
+        this.dialogAddress = true
+        this.rec_address = res.data
+      } else {
+        this.tool.showMessage(res,()=>{
+          this.drawer = false
+          this.dialogAddress = false
+          this.$emit('onSuccess')
+          this.form = {}
+        })
+      }
+    },
+    selectAddress (row) {
+      this.form.rec_contactsid = row.rec_contactsid
+      this.onSubmit()
+    },
+    onClose () {
+      this.$refs['ent'].form = this.$refs['logis'].form = {}
+    }
+  }
+}
+</script>

+ 34 - 0
src/HDrpManagement/logistics/modules/defaultInfo.vue

@@ -0,0 +1,34 @@
+<template>
+  <div>
+    <el-descriptions class="normal-margin" :column="2"  border labelClassName="my-label" contentClassName="my-content">
+      <div slot="title" class="my-label__title">收货信息</div>
+      <el-descriptions-item label="企业名称">{{ mainData.enterprisename?mainData.enterprisename:"--" }}</el-descriptions-item>
+      <el-descriptions-item label="联系人">{{ mainData.name?mainData.name:"--" }}</el-descriptions-item>
+      <el-descriptions-item label="联系电话">{{ mainData.phonenumber?mainData.phonenumber:"--" }}</el-descriptions-item>
+      <el-descriptions-item label="地址">{{`${mainData.province}${mainData.city}${mainData.county}${mainData.address}`}}</el-descriptions-item>
+    </el-descriptions>
+    <el-descriptions  border :column="2" labelClassName="my-label" contentClassName="my-content">
+      <div slot="title" class="my-label__title">物流信息</div>
+      <el-descriptions-item label="物流公司">{{ mainData.enterprisename?mainData.enterprisename:"--" }}</el-descriptions-item>
+      <el-descriptions-item label="快递100ID">{{ mainData.kd100id?mainData.kd100id:"--" }}</el-descriptions-item>
+    </el-descriptions>
+  </div>
+</template>
+
+<script>
+export default {
+  props:["mainData"],
+  data(){
+    return {
+    }
+  },
+  mounted() {
+  },
+  methods:{
+  }
+}
+</script>
+
+<style scoped>
+
+</style>

+ 68 - 0
src/HDrpManagement/logistics/modules/dispatchTable.vue

@@ -0,0 +1,68 @@
+<template>
+    <el-table
+      :data="tableData"
+      style="width: 100%"
+      size="mini"
+      border>
+      <el-table-column
+        type="selection"
+        width="55">
+      </el-table-column>
+      <el-table-column
+        prop="billno"
+        label="发货单号">
+      </el-table-column>
+      <el-table-column
+        prop="sonum"
+        label="订单号">
+      </el-table-column>
+      <el-table-column
+        prop="enterprisename"
+        label="企业名称">
+      </el-table-column>
+      <el-table-column
+        prop="logiscomp"
+        label="物流公司">
+      </el-table-column>
+      <el-table-column>
+        <template slot-scope="scope">
+        <el-button type="text" @click="deleteDisBill(scope.row)" size="small">删 除</el-button>
+        </template>
+    	</el-table-column>
+    </el-table>
+  </template>
+
+  <script>
+    export default {
+      props:['needQuery'],
+      data() {
+        return {
+          tableData: []
+        }
+      },
+      mounted () {
+        this.needQuery?this.listData():''
+      },
+			methods:{
+				deleteDisBill (row) {
+					this.tableData = this.tableData.filter(e=>{
+						return e.sa_dispatchid !== row.sa_dispatchid
+					})
+				},
+        async listData(){
+          const res = await this.$api.requested({
+          "id": 20221122133004,
+            "content": {
+              "sa_logisticsid": this.$route.query.id,
+              "pageNumber":1,
+              "pageSize":100,
+              "where": {
+                "condition": ""
+              }
+            }
+          })
+          this.tableData = res.data
+        }
+			}
+    }
+  </script>

+ 162 - 0
src/HDrpManagement/logistics/modules/edit.vue

@@ -0,0 +1,162 @@
+ed<template>
+  <div>
+    <el-button :disabled="data.status !=='新建'" type="primary" size="mini" @click="drawer = true">编 辑</el-button>
+    <el-drawer
+    title="创建物流单"
+    :visible.sync="drawer"
+    direction="rtl"
+    size="80%"
+    append-to-body
+    @close="onClose">
+    <div class="drawer__panel">
+      <p class="normal-title normal-margin">基础信息</p>
+      <el-form :inline="true" :model="form" class="demo-form-inline" size="small">
+        <el-form-item label="企业名称">
+          <enterprise ref="ent" @rowClick="entRowClick"></enterprise>
+        </el-form-item>
+        <el-form-item label="物流公司">
+          <!-- <el-input v-model="form.logic" placeholder="物流公司"></el-input> -->
+          <logisticcom ref="logis" @logisticRowClick="logisticRowClick"></logisticcom>
+        </el-form-item>
+        <el-form-item label="物流单号">
+          <el-input v-model="form.billno" placeholder="物流单号"></el-input>
+        </el-form-item>
+        <el-form-item label="付款方式">
+          <el-select v-model="form.paytype" placeholder="请选择">
+            <el-option
+              label="到付"
+              value="到付">
+            </el-option>
+            <el-option
+              label="寄付"
+              value="寄付">
+            </el-option>
+          </el-select>
+        </el-form-item>
+      </el-form>
+      <div class="mt-10">
+        <div>
+          <p class="normal-title inline-16">添加发货单</p>
+          <el-button type="text" size="mini" @click="addMoreBill">{{setcol === 12?'关闭选择':'添加发货单'}}</el-button>
+        </div>
+        <el-row :gutter="10">
+          <el-col :span="setcol">
+            <dispatch-table ref="dislist"></dispatch-table>
+          </el-col>
+          <el-col :span="24 - setcol">
+            <add-disbill ref="addbill" :data="enterpriseInfo" @onConfirm="onConfirm"></add-disbill>
+          </el-col>
+        </el-row>
+      </div>
+    </div>
+    <div class="fixed__btn__panel">
+      <el-button size="small" @click="drawer = false" class="normal-btn-width">取 消</el-button>
+      <el-button size="small" type="primary" @click="onSubmit" class="normal-btn-width">保存修改</el-button>
+    </div>
+    </el-drawer>
+    <el-dialog append-to-body title="选择收货地址" :visible.sync="dialogAddress">
+      <p style="color:red" class="mt-10">存在多个收货地址,请选择正确收货地址!</p>
+      <el-table :data="rec_address">
+        <el-table-column property="name" label="收货人" width="150"></el-table-column>
+        <el-table-column property="phonenumber" label="联系电话" width="200"></el-table-column>
+        <el-table-column label="地址">
+          <template slot-scope="scope">
+            {{scope.row.province}}{{scope.row.city}}{{scope.row.county}}{{scope.row.address}}
+          </template>
+        </el-table-column>
+        <el-table-column>
+          <template slot-scope="scope">
+            <el-button type="text" @click="selectAddress(scope.row)" size="small">选 择</el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+    </el-dialog>
+  </div>
+</template>
+<script>
+import dispatchTable from './dispatchTable.vue'
+import enterprise from '@/template/enterprise/index.vue'
+import logisticcom from '@/template/selectLogisticcom/index.vue'
+import addDisbill from '@/template/logisyticCanUseDisBill/index.vue'
+export default {
+  props:['data'],
+  components:{
+    dispatchTable,
+    enterprise,
+    addDisbill,
+    logisticcom
+  },
+  data () {
+    return {
+      drawer:false,
+      visible:false,
+      dialogAddress:false,
+      setcol:24,
+      form:{
+        paytype:"到付"
+      },
+      enterpriseInfo:null,
+      rec_address:[]
+    }
+  },
+  methods:{
+    addMoreBill () {
+      if (this.enterpriseInfo === null) return this.$message({
+        message:'请先选择企业信息',
+        type:'error'
+      })
+      this.setcol === 12?this.setcol = 24 : this.setcol = 12
+      this.$refs['addbill'].listData()
+    },
+    entRowClick (row) {
+      this.enterpriseInfo = row
+    },
+    logisticRowClick (row) {
+      console.log(row)
+      this.form.sa_logiscompid = row.sa_logiscompid
+    },
+    onConfirm (data) {
+       function unique(arr, uniId){
+        const res = new Map();
+        return arr.filter((item) => !res.has(item[uniId]) && res.set(item[uniId], 1));
+      }
+      this.$refs['dislist'].tableData = unique([...this.$refs['dislist'].tableData,...data],'billno')
+    },
+    async onSubmit () {
+      const res = await this.$api.requested({
+        "id": "202212004124804",
+        "content": {
+          "sa_logisticsid": 0,
+          "sys_enterpriseid": this.enterpriseInfo.sys_enterpriseid,
+          "sa_logiscompid": this.form.sa_logiscompid,
+          "remarks": "",
+          "logisticno": "",
+          "paytype": this.form.paytype,
+          "sa_dispatchids":this.$refs['dislist'].tableData.map(e=>{
+            return e.sa_dispatchid
+          }),
+          "rec_contactsid":this.form.rec_contactsid
+        }
+      })
+      if (Array.isArray(res.data)) {
+        this.dialogAddress = true
+        this.rec_address = res.data
+      } else {
+        this.tool.showMessage(res,()=>{
+          this.drawer = false
+          this.dialogAddress = false
+          this.$emit('onSuccess')
+          this.form = {}
+        })
+      }
+    },
+    selectAddress (row) {
+      this.form.rec_contactsid = row.rec_contactsid
+      this.onSubmit()
+    },
+    onClose () {
+      this.$refs['ent'].form = this.$refs['logis'].form = {}
+    }
+  }
+}
+</script>

+ 22 - 0
src/router/HDrpManagement.js

@@ -51,6 +51,28 @@ const HDrpManagement = [
       },
     ]
   },
+  {
+    path: '/logistics',
+    name: 'logistics',
+    meta: {
+      title: '物流单',
+      ast_nav: true,
+      keeproute: true,
+    },
+    component: () => import(/* webpackChunkName: "about" */ '@/HDrpManagement/logistics/index'),
+    children:[
+      {
+        path: '/logisticsdetail',
+        name: 'logistics',
+        meta: {
+          title: '订单详情',
+          ast_nav: true,
+        },
+        component: () => import(/* webpackChunkName: "about" */ '@/HDrpManagement/logistics/details/index'),
+      },
+    ]
+  },
+  
   {
     path: '/brandmag',
     name: 'brandmag',

+ 2 - 0
src/template/enterprise/index.vue

@@ -83,6 +83,8 @@ export default {
     async queryEnterpriseArchives () {
       const res = await this.$api.requested(this.params)
       this.ENlist = res.data
+      this.total = res.total
+      this.currentPage = res.pageNumber
     },
     handleSizeChange(val) {
       this.params.content.pageSize = val

+ 102 - 0
src/template/logisyticCanUseDisBill/index.vue

@@ -0,0 +1,102 @@
+<template>
+  <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="产品名称,编号" @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>
+    </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="发货单号">
+      </el-table-column>
+      <el-table-column
+        prop="sonum"
+        label="订单号">
+      </el-table-column>
+      <el-table-column
+        prop="enterprisename"
+        label="企业名称">
+      </el-table-column>
+      <el-table-column
+        prop="logiscomp"
+        label="物流公司">
+      </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>
+  </template>
+
+  <script>
+    export default {
+      props:['data'],
+      data() {
+        return {
+          tableSelectData:[],
+          tableData: [],
+          total:0,
+          currentPage:0,
+          params:{
+            "id":20221122133504,
+            "content": {
+              "pageNumber": 1,
+              "pageSize": 20,
+              "sa_logisticsid":0,
+              "sys_enterpriseid":'',
+              "where": {
+                  "condition": ""
+              }
+            }
+          }
+        }
+      },
+      methods:{
+        async listData () {
+          console.log(this.data,'----')
+          this.params.content.sys_enterpriseid = this.data.sys_enterpriseid
+          const res = await this.$api.requested(this.params)
+          this.tableData = res.data
+          this.total = res.total
+          this.currentPage = res.pageNumber
+        },
+        handleSizeChange(val) {
+          // console.log(`每页 ${val} 条`);
+          this.params.content.pageSize = val
+          this.listData()
+        },
+        handleCurrentChange(val) {
+          // console.log(`当前页: ${val}`);
+          this.params.content.pageNumber = val
+          this.listData()
+        },
+        selectionChange (val) {
+          this.tableSelectData = val
+        },
+        onConfirm () {
+          this.$emit('onConfirm',this.tableSelectData)
+        },
+        clearSelection () {
+          this.$refs.multipleTable.clearSelection();
+        }
+      }
+    }
+  </script>

+ 105 - 0
src/template/selectLogisticcom/index.vue

@@ -0,0 +1,105 @@
+<template>
+  <div>
+    <el-popover
+      placement="bottom"
+      width="100%"
+      v-model="visible">
+      <div>
+        <div class="flex-align-center flex-between" style="margin-bottom:10px">
+          <el-input style="width:200px" suffix-icon="el-icon-search" size="small" v-model="params.content.where.condition" placeholder="输入企业信息" @keyup.enter.native="queryLogisticcom(params.content.pageNumber = 1)" @clear="queryLogisticcom(params.content.pageNumber = 1)" clearable></el-input>
+          <addTemp @onSuccess="queryLogisticcom"></addTemp>
+        </div>
+        <el-table
+          :data="logisticcomlist"
+          style="width: 100%"
+          size="mini">
+          <el-table-column
+            prop="abbreviation"
+            label="公司简称"
+            width="120">
+          </el-table-column>
+          <el-table-column
+            prop="kd100id"
+            label="快递100ID"
+            width="120">
+          </el-table-column>
+          <el-table-column
+            label="操作"
+            width="90">
+            <template slot-scope="scope">
+              <el-button type="text" @click="rowClick(scope.row)" size="mini">选 择</el-button>
+            </template>
+          </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>
+      <el-input :validate-event="false" slot="reference" v-model="form.abbreviation" @focus="queryLogisticcom"  placeholder="物流公司" clearable></el-input>
+    </el-popover>
+  </div>
+</template>
+
+<script>
+import addTemp from '@/Form/EnterpriseArchives/add.vue'
+export default {
+  components:{
+    addTemp
+  },
+  data () {
+    return {
+      logisticcomlist:[],
+      total:0,
+      currentPage:0,
+      form:{},
+      params:{
+        "id": 20221121135804,
+        "content": {
+          "pageNumber": 1,
+          "pageSize": 10,
+          "where": {
+            "condition": ''
+          }
+        }
+      },
+      visible:false
+    }
+  },
+  methods:{
+    async queryLogisticcom () {
+      const res = await this.$api.requested(this.params)
+      this.logisticcomlist = res.data
+      this.total = res.total
+      this.currentPage = res.pageNumber
+    },
+    handleSizeChange(val) {
+      this.params.content.pageSize = val
+      this.queryLogisticcom()
+    },
+    handleCurrentChange(val) {
+      this.params.content.pageNumber = val
+      this.queryLogisticcom()
+    },
+    rowClick (row) {
+      this.visible = false
+      this.form.abbreviation = row.abbreviation
+      this.$emit('logisticRowClick',row)
+    }
+  },
+  mounted () {
+    // this.queryLogisticcom()
+  }
+}
+
+</script>
+<style>
+</style>