Bladeren bron

工商查询

qymljy 1 jaar geleden
bovenliggende
commit
c3c7178066
3 gewijzigde bestanden met toevoegingen van 1158 en 86 verwijderingen
  1. 12 86
      src/Form/salerPrivatecustomer/add.vue
  2. 1061 0
      src/Form/salerPrivatecustomer/addCopy.vue
  3. 85 0
      src/template/businessInquiry/index.vue

+ 12 - 86
src/Form/salerPrivatecustomer/add.vue

@@ -18,54 +18,13 @@
               </el-form-item>
             </el-col>
             <el-col :span="4">
-              <el-popover
-                  placement="right"
-                  width="900"
-                  v-model="businessShow"
-                  trigger="manual">
-                <div style="margin-bottom: 10px;display: flex;justify-content: space-between">
-                  <el-input
-                      style="width:300px;"
-                      placeholder="请输入内容"
-                      v-model="form.enterprisename"
-                      clearable
-                      @clear="businessSearch"
-                      size="mini"
-                      @keyup.enter.native="businessSearch">
-                    <i slot="prefix" class="el-icon-search" @click="businessSearch" ></i>
-                  </el-input>
-                  <el-button style="color: #333333;" size="mini" @click="businessShow = false">关闭</el-button>
-                </div>
-                <el-table :data="businessData" @row-click="businessSelect" :header-cell-style="{background:'#EEEEEE',color:'#333'}" size="mini">
-                  <el-table-column width="260" label="客户名称">
-                    <template slot-scope="scope">
-                      <span style="margin-left: 10px">{{ scope.row.companyName?scope.row.companyName:'--' }}</span>
-                    </template>
-                  </el-table-column>
-                  <el-table-column  label="客户地址">
-                    <template slot-scope="scope">
-                      <span style="margin-left: 10px">{{ scope.row.address?scope.row.address:'--' }}</span>
-                    </template>
-                  </el-table-column>
-                  <el-table-column width="200"  label="客户税号">
-                    <template slot-scope="scope">
-                      <span style="margin-left: 10px">{{ scope.row.taxNum?scope.row.taxNum:'--' }}</span>
-                    </template>
-                  </el-table-column>
-                </el-table>
-                <el-button size="mini" type="primary" style="width: 100%" @click="businessSearch" slot="reference" :disabled="form.enterprisename === ''">工商查询</el-button>
-              </el-popover>
+              <businessInquiry ref="businessRef" @businessData="businessSelect" :keyword="form.enterprisename"></businessInquiry>
             </el-col>
             <el-col :span="24">
               <el-form-item label="企业简称:" prop="abbreviation">
                 <el-input v-model="form.abbreviation" placeholder="请输入企业简称" style="width: 100%"></el-input>
               </el-form-item>
             </el-col>
-<!--            <el-col :span="24">
-              <el-form-item label="erp编号:" prop="erpagentnum">
-                <el-input v-model="form.erpagentnum" placeholder="请输入erp编号" style="width: 100%"></el-input>
-              </el-form-item>
-            </el-col>-->
             <el-col :span="24" >
               <el-form-item label="客户类型:" prop="type">
                 <el-select v-model="form.type" placeholder="请选择客户类型" style="width: 100%">
@@ -74,8 +33,6 @@
                       :key="item.value"
                       :label="item.value"
                       :value="item.value">
-<!--                    <span style="float: left">{{ item.value }}</span>
-                    <span v-if="item.remarks !== ''" style="float: right; color: #8492a6; font-size: 10px">{{ item.remarks }}</span>-->
                     <span style="float: left">{{ item.value }}</span>
                     <span style="float: right; color: #8492a6; font-size: 12px">{{ item.remarks?item.remarks:'暂无描述' }}</span>
                   </el-option>
@@ -110,19 +67,6 @@
                 </el-select>
               </el-form-item>
             </el-col>
-<!--            <el-col :span="24">
-              <el-form-item label="客户行业:" >
-                <el-select v-model="form.industry" placeholder="请选择所属行业" style="width: 100%">
-                  <el-option
-                      v-for="item in options.industryData"
-                      :key="item.value"
-                      :label="item.value"
-                      :value="item.value">
-                  </el-option>
-                </el-select>
-              </el-form-item>
-            </el-col>-->
-
             <el-col :span="24">
               <el-form-item  label="客户行业:" prop="industry">
                 <el-select
@@ -504,9 +448,10 @@ import {mapGetters} from 'vuex'
 import enterprise from '@/SDrpManagement/salerPrivatecustomer/components/enterprise'
 // import duplicateCheck from "@/SDrpManagement/salerPrivatecustomer/components/duplicateCheck";
 import duplicateCheck from "@/components/duplicatesCheck/customerCheck";
+import businessInquiry from '@/template/businessInquiry/index'
 export default {
   name: "add",
-  components:{enterprise,duplicateCheck},
+  components:{enterprise,duplicateCheck,businessInquiry},
   data(){
     return {
       activeName:'first',
@@ -558,7 +503,7 @@ export default {
           oldcontactsid:''
         },
       },
-      value:'',
+      value:[],
       options:{
         type:[],
         parentCustomers:[],
@@ -689,51 +634,31 @@ export default {
       this.queryCustomerGrade()
       this.enterpriseContactList()
     },
-    /*工商查询*/
-    async businessSearch(){
-      this.businessParam.content.keyword = this.form.enterprisename
-      const res = await this.$api.requested(this.businessParam)
-      console.log(res,"工商查询结果")
-      this.businessData = res.data
-      this.total = res.total
-      this.currentPage = res.pageNumber
-      this.businessShow = true
-    },
     /*选择工商信息*/
-    businessSelect(val){
-      console.log("选择的工商信息",val)
+    businessSelect(val,regProvince){
       this.$confirm('是否以查询的工商信息更新客户信息?', '提示', {
         confirmButtonText: '确定',
         cancelButtonText: '取消',
         type: 'warning'
       }).then(() => {
-        this.businessShow = false
+        this.$refs.businessRef.businessShow = false
         this.form.enterprisename = val.companyName
         this.form.address = val.address === "-" ? '' : val.address
         this.form.taxno = val.taxNum
-        this.value = [val.regProvince,val.regCity,val.regArea]
-        this.form.province = val.regProvince
+        this.value = [regProvince,val.regCity,val.regArea]
+        this.form.province = regProvince
         this.form.city = val.regCity
         this.form.county = val.regArea
         this.form.contact = val.legalPerson
+        this.form.telephone = val.phone
       }).catch(() => {
-        this.businessShow = false
+        this.$refs.businessRef.businessShow = false
         this.$message({
           type: 'info',
           message: '已取消更新'
         });
       })
     },
-    /*handleSizeChange(val) {
-      // console.log(`每页 ${val} 条`);
-      this.param.content.pageSize = val
-      this.businessSearch()
-    },
-    handleCurrentChange(val) {
-      // console.log(`当前页: ${val}`);
-      this.param.content.pageNumber = val
-      this.businessSearch()
-    },*/
     /*查重检查*/
     onCheck(){
       this.$refs.form.validate((valid) => {
@@ -867,7 +792,8 @@ export default {
 
       this.form = Object.assign({},this.form,{province:val[0],city:val[1],county:val[2]})
       this.$refs.form.validateField('province')
-
+      console.log(val,'选择222')
+      console.log(this.value,'3333')
     },
     /*客户分类*/
     async gradeList(){

+ 1061 - 0
src/Form/salerPrivatecustomer/addCopy.vue

@@ -0,0 +1,1061 @@
+<template>
+  <div>
+    <el-button size="small" type="primary" @click="show">新 建</el-button>
+    <el-drawer
+        title="新建客户"
+        :visible.sync="dialogFormVisible"
+        size="600px"
+        direction="rtl"
+        :show-close="false"
+        append-to-body
+        @close="onClose">
+      <div class="drawer__panel">
+        <el-row :gutter="20">
+          <el-form :model="form" :rules="rules" ref="form" label-width="100px" label-position="right" size="mini">
+            <el-col :span="20">
+              <el-form-item label="客户名称:" prop="enterprisename">
+                <el-input v-model="form.enterprisename" placeholder="请输入客户名称" style="width: 100%"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="4">
+              <el-popover
+                  placement="right"
+                  width="900"
+                  v-model="businessShow"
+                  trigger="manual">
+                <div style="margin-bottom: 10px;display: flex;justify-content: space-between">
+                  <el-input
+                      style="width:300px;"
+                      placeholder="请输入内容"
+                      v-model="form.enterprisename"
+                      clearable
+                      @clear="businessSearch"
+                      size="mini"
+                      @keyup.enter.native="businessSearch">
+                    <i slot="prefix" class="el-icon-search" @click="businessSearch" ></i>
+                  </el-input>
+                  <el-button style="color: #333333;" size="mini" @click="businessShow = false">关闭</el-button>
+                </div>
+                <el-table :data="businessData" @row-click="businessSelect" :header-cell-style="{background:'#EEEEEE',color:'#333'}" size="mini">
+                  <el-table-column width="260" label="客户名称">
+                    <template slot-scope="scope">
+                      <span style="margin-left: 10px">{{ scope.row.companyName?scope.row.companyName:'--' }}</span>
+                    </template>
+                  </el-table-column>
+                  <el-table-column  label="客户地址">
+                    <template slot-scope="scope">
+                      <span style="margin-left: 10px">{{ scope.row.address?scope.row.address:'--' }}</span>
+                    </template>
+                  </el-table-column>
+                  <el-table-column width="200"  label="客户税号">
+                    <template slot-scope="scope">
+                      <span style="margin-left: 10px">{{ scope.row.taxNum?scope.row.taxNum:'--' }}</span>
+                    </template>
+                  </el-table-column>
+                </el-table>
+                <el-button size="mini" type="primary" style="width: 100%" @click="businessSearch" slot="reference" :disabled="form.enterprisename === ''">工商查询</el-button>
+              </el-popover>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="企业简称:" prop="abbreviation">
+                <el-input v-model="form.abbreviation" placeholder="请输入企业简称" style="width: 100%"></el-input>
+              </el-form-item>
+            </el-col>
+<!--            <el-col :span="24">
+              <el-form-item label="erp编号:" prop="erpagentnum">
+                <el-input v-model="form.erpagentnum" placeholder="请输入erp编号" style="width: 100%"></el-input>
+              </el-form-item>
+            </el-col>-->
+            <el-col :span="24" >
+              <el-form-item label="客户类型:" prop="type">
+                <el-select v-model="form.type" placeholder="请选择客户类型" style="width: 100%">
+                  <el-option
+                      v-for="item in options.type"
+                      :key="item.value"
+                      :label="item.value"
+                      :value="item.value">
+<!--                    <span style="float: left">{{ item.value }}</span>
+                    <span v-if="item.remarks !== ''" style="float: right; color: #8492a6; font-size: 10px">{{ item.remarks }}</span>-->
+                    <span style="float: left">{{ item.value }}</span>
+                    <span style="float: right; color: #8492a6; font-size: 12px">{{ item.remarks?item.remarks:'暂无描述' }}</span>
+                  </el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="客户等级:" prop="grade">
+                <el-select v-model="form.grade" placeholder="请选择客户等级" style="width: 100%">
+                  <el-option
+                      v-for="item in options.customerGrade"
+                      :key="item.rowindex"
+                      :label="item.value "
+                      :value="item.value">
+                    <span style="float: left">{{ item.value }}</span>
+                    <span style="float: right; color: #8492a6; font-size: 12px">{{ item.remarks?item.remarks:'暂无描述' }}</span>
+                  </el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="客户分类:" prop="customergrade">
+                <el-select v-model="form.customergrade" placeholder="请选择客户分类" style="width: 100%">
+                  <el-option
+                      v-for="item in options.customerClassification"
+                      :key="item.rowindex"
+                      :label="item.value "
+                      :value="item.value">
+                    <span style="float: left">{{ item.value }}</span>
+                    <span style="float: right; color: #8492a6; font-size: 12px">{{ item.remarks?item.remarks:'暂无描述' }}</span>
+                  </el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+<!--            <el-col :span="24">
+              <el-form-item label="客户行业:" >
+                <el-select v-model="form.industry" placeholder="请选择所属行业" style="width: 100%">
+                  <el-option
+                      v-for="item in options.industryData"
+                      :key="item.value"
+                      :label="item.value"
+                      :value="item.value">
+                  </el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>-->
+
+            <el-col :span="24">
+              <el-form-item  label="客户行业:" prop="industry">
+                <el-select
+                    ref="sle"
+                    style="width:100%;"
+                    v-model="form.industry"
+                    multiple
+                    placeholder="请选择所属行业"
+                    size="mini"
+                >
+                  <el-option
+                      v-for="item in options.industryData"
+                      :key="item.value"
+                      :label="item.value"
+                      :value="item.value"
+                  >
+                    <span style="float: left">{{ item.value }}</span>
+                    <span style="float: right; color: #8492a6; font-size: 12px">{{ item.remarks?item.remarks:'暂无描述' }}</span>
+                  </el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="联系人:"  prop="contactsinfo.name">
+                <el-popover
+                    placement="left-start"
+                    width="600"
+                    v-model="enterpriseContact.show"
+                    trigger="click">
+                  <el-tabs type="border-card" @tab-click="changeTab" v-model="activeName">
+                    <el-tab-pane label="企业联系人" name="first" >
+                      <el-table
+                          border
+                          height="500px"
+                          :data="enterpriseContact.listData"
+                          @row-click="enterpriseContactSelect"
+                          :header-cell-style="{background:'#EEEEEE',color:'#333'}"
+                          size="mini">
+                        <el-table-column width="80" label="姓名">
+                          <template slot-scope="scope">
+                            <span >{{ scope.row.name?scope.row.name:'--' }}</span>
+                          </template>
+                        </el-table-column>
+                        <el-table-column width="120" label="手机号">
+                          <template slot-scope="scope">
+                            <span >{{ scope.row.phonenumber?scope.row.phonenumber:'--' }}</span>
+                          </template>
+                        </el-table-column>
+                        <el-table-column width="200"  label="邮箱">
+                          <template slot-scope="scope">
+                            <span >{{ scope.row.email?scope.row.email:'--' }}</span>
+                          </template>
+                        </el-table-column>
+                        <el-table-column width="200"  label="单位">
+                          <template slot-scope="scope">
+                            <span >{{ scope.row.enterprisename?scope.row.enterprisename:'--' }}</span>
+                          </template>
+                        </el-table-column>
+                        <el-table-column width="120"  label="部门">
+                          <template slot-scope="scope">
+                            <span >{{ scope.row.position?scope.row.position:'--' }}</span>
+                          </template>
+                        </el-table-column>
+                        <el-table-column width="120"  label="职位">
+                          <template slot-scope="scope">
+                            <span >{{ scope.row.depname?scope.row.depname:'--' }}</span>
+                          </template>
+                        </el-table-column>
+                        <el-table-column width="80"  label="性别">
+                          <template slot-scope="scope">
+                            <span >{{ scope.row.sex?scope.row.sex:'--' }}</span>
+                          </template>
+                        </el-table-column>
+                        <el-table-column width="120"  label="生日">
+                          <template slot-scope="scope">
+                            <span >{{ scope.row.birthday?scope.row.birthday:'--' }}</span>
+                          </template>
+                        </el-table-column>
+                        <el-table-column width="300"  label="家庭住址">
+                          <template slot-scope="scope">
+                            <span >{{ scope.row.address?scope.row.address:'--' }}</span>
+                          </template>
+                        </el-table-column>
+                        <el-table-column width="200"  label="备注">
+                          <template slot-scope="scope">
+                            <span >{{ scope.row.remarks?scope.row.remarks:'--' }}</span>
+                          </template>
+                        </el-table-column>
+                      </el-table>
+<!--                      <div style="display:flex;align-items:center;flex-direction:row-reverse;justify-content:space-between">
+                        <div class="container normal-panel" style="text-align:right">
+                          <el-pagination
+                              background
+                              @size-change="handleSizeChangeEnterprise"
+                              @current-change="handleCurrentChangeEnterprise"
+                              :current-page="enterpriseContact.currentPage"
+                              :page-sizes="[20, 50, 100, 200]"
+                              :page-size="20"
+                              layout="total,sizes, prev, pager, next, jumper"
+                              :total="enterpriseContact.total">
+                          </el-pagination>
+                        </div>
+                        <slot name="footerLeft"></slot>
+                      </div>-->
+                    </el-tab-pane>
+                    <el-tab-pane label="我的联系人" name="second">
+                      <el-table
+                          border
+                          :data="myContacts.listData"
+                          height="500px"
+                          @row-click="myContactSelect"
+                          :header-cell-style="{background:'#EEEEEE',color:'#333'}"
+                          size="mini">
+                        <el-table-column width="80" label="姓名">
+                          <template slot-scope="scope">
+                            <span >{{ scope.row.name?scope.row.name:'--' }}</span>
+                          </template>
+                        </el-table-column>
+                        <el-table-column width="120" label="手机号">
+                          <template slot-scope="scope">
+                            <span >{{ scope.row.phonenumber?scope.row.phonenumber:'--' }}</span>
+                          </template>
+                        </el-table-column>
+                        <el-table-column width="200"  label="邮箱">
+                          <template slot-scope="scope">
+                            <span >{{ scope.row.email?scope.row.email:'--' }}</span>
+                          </template>
+                        </el-table-column>
+                        <el-table-column width="120"  label="部门">
+                          <template slot-scope="scope">
+                            <span >{{ scope.row.position?scope.row.position:'--' }}</span>
+                          </template>
+                        </el-table-column><el-table-column width="120"  label="职位">
+                        <template slot-scope="scope">
+                          <span >{{ scope.row.depname?scope.row.depname:'--' }}</span>
+                        </template>
+                      </el-table-column><el-table-column width="80"  label="性别">
+                        <template slot-scope="scope">
+                          <span >{{ scope.row.sex?scope.row.sex:'--' }}</span>
+                        </template>
+                      </el-table-column><el-table-column width="120"  label="生日">
+                        <template slot-scope="scope">
+                          <span >{{ scope.row.birthday?scope.row.birthday:'--' }}</span>
+                        </template>
+                      </el-table-column>
+                        <el-table-column width="300"  label="家庭住址">
+                          <template slot-scope="scope">
+                            <span >{{ scope.row.address?scope.row.address:'--' }}</span>
+                          </template>
+                        </el-table-column>
+                        <el-table-column width="200"  label="备注">
+                          <template slot-scope="scope">
+                            <span >{{ scope.row.remarks?scope.row.remarks:'--' }}</span>
+                          </template>
+                        </el-table-column>
+                      </el-table>
+<!--                      <div style="display:flex;align-items:center;flex-direction:row-reverse;justify-content:space-between">
+                        <div class="container normal-panel" style="text-align:right">
+                          <el-pagination
+                              background
+                              @size-change="handleSizeChangeMy"
+                              @current-change="handleCurrentChangeMy"
+                              :current-page="myContacts.currentPage"
+                              :page-sizes="[20, 50, 100, 200]"
+                              :page-size="20"
+                              layout="total,sizes, prev, pager, next, jumper"
+                              :total="myContacts.total">
+                          </el-pagination>
+                        </div>
+                        <slot name="footerLeft"></slot>
+                      </div>-->
+                    </el-tab-pane>
+                  </el-tabs>
+                  <el-input  slot="reference"  autosize v-model="form.contactsinfo.name" placeholder="请输入联系人姓名" @input="searchData"></el-input>
+                </el-popover>
+              </el-form-item>
+            </el-col>
+
+            <el-col :span="24" v-if="isPhone">
+              <el-form-item label="联系方式:" prop="contactsinfo.phonenumber">
+                <el-button-group>
+<!--                  <el-button type="primary" size="mini" @click="phoneChang('手机')">手机号</el-button>
+                  <el-button type="" size="mini" @click="phoneChang('座机')">座机电话</el-button>-->
+                  <el-radio v-model="isPhone" :label="true" @change="phoneChang('手机')">手机号</el-radio>
+                  <el-radio v-model="isPhone" :label="false" @change="phoneChang('座机')">座机电话</el-radio>
+                </el-button-group>
+                <el-input v-model="form.contactsinfo.phonenumber" placeholder="请输入手机号" style="width: 100%;margin-top: 10px" @input="telephoneChange('手机')"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24" v-if="!isPhone">
+              <el-form-item label="联系方式:" prop="contactsinfo.telephone">
+                <el-button-group>
+<!--                  <el-button type="" size="mini" @click="phoneChang('手机')">手机号</el-button>
+                  <el-button type="primary" size="mini" @click="phoneChang('座机')">座机电话</el-button>-->
+                  <el-radio v-model="isPhone" :label="true" @change="phoneChang('手机')">手机号</el-radio>
+                  <el-radio v-model="isPhone" :label="false" @change="phoneChang('座机')">座机电话</el-radio>
+                </el-button-group>
+                <div style="width: 100%">
+                  <el-input v-model="areaCode" placeholder="请输入区号" style="width:25%;margin-top: 10px" @input="telephoneChange('座机')"></el-input>
+                  <span style="color: #999999">——</span>
+                  <el-input v-model="telephone" placeholder="请输入座机电话" style="width:68%;margin-top: 10px" @input="telephoneChange('座机')"></el-input>
+                </div>
+              </el-form-item>
+            </el-col>
+
+            <el-col :span="24">
+              <el-form-item label="税号:" prop="taxno">
+                <el-input v-model="form.taxno" placeholder="请输入企业税号" style="width: 100%"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="法人:" prop="contact">
+                <el-input v-model="form.contact" placeholder="请输入法人信息" style="width: 100%"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="联系电话:" prop="telephone">
+                <el-input v-model="form.telephone" placeholder="请输入联系电话" style="width: 100%"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="省市县:" prop="province">
+                <el-cascader
+                    style="width: 100%"
+                    v-model="value"
+                    :options="basicData.data().areaData"
+                    @change="cascaderChange" clearable>
+                </el-cascader>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="详细地址:" prop="address">
+                <el-input v-model="form.address" placeholder="请输入详细地址" style="width: 100%"></el-input>
+              </el-form-item>
+            </el-col>
+
+            <el-col :span="24">
+              <el-form-item label="上级企业:" prop="superiorenterprisename">
+                <el-popover
+                    placement="bottom"
+                    width="700"
+                    trigger="click"
+                    v-model="customerShow"
+                    @show="customerList">
+                  <el-input
+                      style="width:300px;margin-bottom: 10px"
+                      placeholder="请输入内容"
+                      v-model="customerParam.content.where.condition"
+                      clearable
+                      @clear="customerList(customerParam.content.pageNumber = 1)"
+                      size="mini"
+                      @keyup.enter.native="customerList(customerParam.content.pageNumber = 1)">
+                    <i slot="prefix" class="el-icon-search" @click="customerList(customerParam.content.pageNumber = 1)"></i>
+                  </el-input>
+                  <el-table :data="customer.customerData" @row-click="customerData" height="396px" :header-cell-style="{background:'#EEEEEE',color:'#333'}" size="mini">
+                    <el-table-column
+                        label="客户编号"
+                        width="100">
+                      <template slot-scope="scope">
+                        <span style="margin-left: 10px">{{ scope.row.sa_customersid?scope.row.sa_customersid:'--' }}</span>
+                      </template>
+                    </el-table-column>
+                    <el-table-column
+                        label="客户名称"
+                        width="260">
+                      <template slot-scope="scope">
+                        <span style="margin-left: 10px">{{ scope.row.enterprisename?scope.row.enterprisename:'--'}}</span>
+                      </template>
+                    </el-table-column>
+                    <el-table-column
+                        label="地址"
+                    >
+                      <template slot-scope="scope">
+                        <span style="margin-left: 10px">{{ scope.row.address?scope.row.address:'--' }}</span>
+                      </template>
+                    </el-table-column>
+                  </el-table>
+                  <div class="container normal-panel" style="text-align:right">
+                    <el-pagination
+                        background
+                        small
+                        @size-change="handleSizeChangeCustomer"
+                        @current-change="handleCurrentChangeCustomer"
+                        :page-sizes="[20,50,100,]"
+                        layout="total,sizes, prev, pager, next, jumper"
+                        :current-page="customer.currentPage"
+                        :total="customer.total">
+                    </el-pagination>
+                  </div>
+                  <el-input slot="reference" :readonly="true" v-model="form.superiorenterprisename" autocomplete="off" placeholder="请选择客户"  @input="selectCustomer"></el-input>
+                </el-popover>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="客户来源:" prop="source">
+                <el-input v-model="form.source" placeholder="请输入客户来源" style="width: 100%"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="归属经销商:" prop="sa_agentsid">
+                <el-popover
+                    placement="bottom"
+                    width="700"
+                    trigger="click"
+                    v-model="agentsShow"
+                    @show="queryAgents">
+                  <el-input
+                      style="width:300px;margin-bottom: 10px"
+                      placeholder="请输入内容"
+                      v-model="agentsParam.content.where.condition"
+                      clearable
+                      @clear="queryAgents(agentsParam.content.pageNumber = 1)"
+                      size="mini"
+                      @keyup.enter.native="queryAgents(agentsParam.content.pageNumber = 1)">
+                    <i slot="prefix" class="el-icon-search" @click="queryAgents(agentsParam.content.pageNumber = 1)"></i>
+                  </el-input>
+                  <el-table :data="agents.agentsData" @row-click="agentsData" height="396px" :header-cell-style="{background:'#EEEEEE',color:'#333'}" size="mini">
+                    <el-table-column
+                        label="经销商编码"
+                        width="100">
+                      <template slot-scope="scope">
+                        <span style="margin-left: 10px">{{ scope.row.agentnum?scope.row.agentnum:'--' }}</span>
+                      </template>
+                    </el-table-column>
+                    <el-table-column
+                        label="经销商名称"
+                        width="260">
+                      <template slot-scope="scope">
+                        <span style="margin-left: 10px">{{ scope.row.enterprisename?scope.row.enterprisename:'--'}}</span>
+                      </template>
+                    </el-table-column>
+                    <el-table-column
+                        label="地址"
+                    >
+                      <template slot-scope="scope">
+                        <span style="margin-left: 10px">{{ scope.row.address?scope.row.address:'--' }}</span>
+                      </template>
+                    </el-table-column>
+                  </el-table>
+                  <div class="container normal-panel" style="text-align:right">
+                    <el-pagination
+                        background
+                        small
+                        @size-change="handleSizeChangeAgent"
+                        @current-change="handleCurrentChangeAgent"
+                        :page-sizes="[20,50,100,]"
+                        layout="total,sizes, prev, pager, next, jumper"
+                        :current-page="agents.currentPage"
+                        :total="agents.total">
+                    </el-pagination>
+                  </div>
+                  <el-input slot="reference" :readonly="true" v-model="form.agentname" autocomplete="off" placeholder="请选择经销商"  @input="selectAgents"></el-input>
+                </el-popover>
+              </el-form-item>
+            </el-col>
+          </el-form>
+        </el-row>
+      </div>
+      <div class="fixed__btn__panel">
+        <el-button size="small" @click="onClose" class="normal-btn-width inline-16">取 消</el-button>
+<!--        <el-button size="small" type="primary" @click="duplicateChecking" class="normal-btn-width">查 重</el-button>-->
+        <duplicateCheck ref="check" :data="form" @onSuccess="onClose" @onCheck="onCheck"></duplicateCheck>
+        <el-button size="small" type="primary" :loading="loading" @click="onSave" class="normal-btn-width">确 定</el-button>
+      </div>
+    </el-drawer>
+    <enterprise
+        :visible="visibleEnterprise"
+        :index="index"
+        :sa_projectid="form.sa_projectid"
+        v-if="visibleEnterprise"
+        @onEnterprise="onEnterprise">
+    </enterprise>
+  </div>
+
+</template>
+
+<script>
+import {mapGetters} from 'vuex'
+import enterprise from '@/SDrpManagement/salerPrivatecustomer/components/enterprise'
+// import duplicateCheck from "@/SDrpManagement/salerPrivatecustomer/components/duplicateCheck";
+import duplicateCheck from "@/components/duplicatesCheck/customerCheck";
+export default {
+  name: "add",
+  components:{enterprise,duplicateCheck},
+  data(){
+    return {
+      activeName:'first',
+      dialogFormVisible:false,
+      visibleEnterprise:false,
+      customerShow:false,
+      checkResults:'',
+      index:'',
+      businessData:[],
+      businessParam:{
+        "id": 20221208103601,
+        "content": {
+          "pageNumber":1,
+          "pageSize":5,
+          "keyword":''
+        },
+      },
+
+      businessShow:false,
+      total:0,
+      currentPage:0,
+      form:{
+        sa_customersid: 0,//新增是传0
+        parentid: 0, //上级客户ID,默认或没有上级的时候传0
+        sys_enterpriseid: 0, //合作企业档案ID,新增是传0,更新
+        enterprisename:"",//客户名称(企业名称)
+        type: "", //客户类型
+        source: "", //客户来源
+        province:"",//非必填,可选
+        city:"",//非必填,可选
+        county:"",//非必填,可选
+        address:"",//非必填,可选
+        abbreviation:"",//非必填,可选
+        taxno:"",//税号,非必填,可选
+        grade:'',// 客户等级(商户等级)
+        industry:[],//非必填,可选,所属行业
+        contact:"",//非必填,可选
+        phonenumber:"",//非必填,可选
+        customergrade:"",
+        ispublic:0,//1:公海客户,0:私域客户,自己新建的
+        telephone: "",
+        sa_agentsid: "",
+        erpagentnum:"",
+        agentname:'',
+        contactsinfo: {
+          name: "",
+          telephone: "",
+          phonenumber: "",
+          oldcontactsid:''
+        },
+      },
+      value:'',
+      options:{
+        type:[],
+        parentCustomers:[],
+      /*  gradeData:[],*/
+        customerGrade:[],
+        industryData:[],
+        customerClassification:[],
+        distributor:[]
+      },
+      rules:{
+        enterprisename: [
+          { required: true, message: '请输入客户名称', trigger: 'change,blur' },
+        ],
+        type: [
+          { required: true, message: '还未选择客户类型', trigger: 'change' },
+        ],
+        contact: [
+          { required: false, message: '请输入法人', trigger: 'change' },
+        ],
+        telephone: [
+          { required: false, message: '请输入联系电话', trigger: 'change' },
+          { pattern:/^1[3-9]\d{9}$/, message: '请输入正确手机号码',trigger: 'change' }
+        ],
+        province: [
+          { required: true, message: '请选择省市县', trigger: 'blur' },
+        ],
+        'contactsinfo.name':[
+            { required: true, message: '请输入联系人姓名', trigger: 'change,blur' }
+        ],
+        'contactsinfo.phonenumber': [
+          { required: true, message: '请输入联系电话', trigger: 'change' },
+          { pattern:/^1[3-9]\d{9}$/, message: '请输入正确手机号码',trigger: 'change' }
+        ],
+        'contactsinfo.telephone': [
+          { required: true, message: '请输入座机电话', trigger: 'change' },
+          { pattern:/^0\d{2,3}-\d{7,8}$/, message: '请输入正确座机电话',trigger: 'change' }
+        ],
+      },
+      customerParam:{
+        "id": 20220920083901,
+        "content": {
+          "pageNumber": 1,
+          "pageSize": 20,
+          "where": {
+            "condition": "",
+            "type":2,
+            "sa_projectid":""
+          }
+        }
+      },
+      customer:{
+        customerData:[],
+        total:0,
+        currentPage:0,
+      },
+      agentsShow:false,
+      agentsParam:{
+        "id": 20230214162602,
+        "content": {
+          "hrid": '',
+          "pageNumber": 1,
+          "pageSize": 20,
+          "where": {
+            "condition": ""
+          }
+        }
+      },
+      agents:{
+        agentsData:[],
+        total:0,
+        currentPage:0,
+      },
+      isPhone:true,
+      enterpriseContact:{
+        param:{
+          "content": {
+            "sys_enterpriseid": '',
+            "pageNumber": 1,
+            "pageSize": 9999,
+            "where": {
+              "condition": ""
+            }
+          },
+          "id": 20221219193002,
+        },
+        listData:[],
+        total:0,
+        currentPage:0,
+        show:false
+      },
+      myContacts:{
+        param:{
+          "id": 20221219161202,
+          "content": {
+            "pageNumber": 1,
+            "pageSize": 9999,
+            "ownertable":'sa_customers',
+            "ownerid":'',
+            "where": {
+              "condition": ""
+            }
+          }
+        },
+        listData:[],
+        total:0,
+        currentPage:0,
+        show:false
+      },
+      areaCode:'',
+      telephone:''
+    }
+  },
+  computed:{
+    ...mapGetters({
+      dataToForm:'dataToForm',
+      loading:'loading'
+    })
+  },
+  methods:{
+    show(){
+      this.form.agentname = ''
+      this.form.sa_agentsid = ''
+      this.dialogFormVisible = true
+      this.typeList()
+      /*this.parentCustomer()*/
+      this.gradeList()
+      this.industryList()
+      this.queryCustomerGrade()
+      this.enterpriseContactList()
+    },
+    /*工商查询*/
+    async businessSearch(){
+      this.businessParam.content.keyword = this.form.enterprisename
+      const res = await this.$api.requested(this.businessParam)
+      console.log(res,"工商查询结果")
+      this.businessData = res.data
+      this.total = res.total
+      this.currentPage = res.pageNumber
+      this.businessShow = true
+    },
+    /*选择工商信息*/
+    businessSelect(val){
+      console.log("选择的工商信息",val)
+      this.$confirm('是否以查询的工商信息更新客户信息?', '提示', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning'
+      }).then(() => {
+        this.businessShow = false
+        this.form.enterprisename = val.companyName
+        this.form.address = val.address === "-" ? '' : val.address
+        this.form.taxno = val.taxNum
+        this.value = [val.regProvince,val.regCity,val.regArea]
+        this.form.province = val.regProvince
+        this.form.city = val.regCity
+        this.form.county = val.regArea
+        this.form.contact = val.legalPerson
+      }).catch(() => {
+        this.businessShow = false
+        this.$message({
+          type: 'info',
+          message: '已取消更新'
+        });
+      })
+    },
+    /*handleSizeChange(val) {
+      // console.log(`每页 ${val} 条`);
+      this.param.content.pageSize = val
+      this.businessSearch()
+    },
+    handleCurrentChange(val) {
+      // console.log(`当前页: ${val}`);
+      this.param.content.pageNumber = val
+      this.businessSearch()
+    },*/
+    /*查重检查*/
+    onCheck(){
+      this.$refs.form.validate((valid) => {
+        if (!valid) return false
+        this.$refs.check.queryRule()
+      })
+    },
+    /*自动查重判断*/
+    duplicateCheck(){
+      this.$refs.form.validate(async (valid) => {
+        if (!valid) return false
+        const res = await this.$api.requested({
+          "id": 20221208172002,
+          "content": {
+            "sa_customersid":this.form.sa_customersid,
+            "enterprisename":this.form.enterprisename,
+            "taxno":this.form.taxno,
+            "address":this.form.address
+          },
+        })
+        console.log(res,"查重结果")
+        if (res.data.length !== 0){
+          console.log("重复")
+        }
+        this.checkResults = res.data.length
+        this.onSave()
+      })
+    },
+    onSave(){
+     this.$refs.form.validate((valid) => {
+       if (!valid) return false
+       this.$refs.check.creatShow = true
+       this.$store.commit('setLoading',true)
+       this.$refs.check.queryRule(() => {
+        this.$store.commit('setLoading',false)
+       })
+     })
+    },
+    onClose () {
+      this.form.contactsinfo.telephone = ''
+      this.form.contactsinfo.phonenumber = ''
+      this.form.agentname = ''
+      this.form.sa_agentsid = ''
+      this.isPhone = true
+      this.$refs['form'].resetFields();
+      this.dialogFormVisible = false
+      this.checkResults = ''
+      this.value = ''
+      this.businessShow = false
+      this.areaCode = ''
+      this.telephone = ''
+      this.$emit('onSuccess')
+    },
+    /*客户类型列表*/
+    async typeList(){
+      const siteid = JSON.parse(sessionStorage.getItem('active_account')).siteid
+      const res = await this.$api.requested({
+        "classname": "sysmanage.develop.optiontype.optiontype",
+        "method": "optiontypeselect",
+        "content": {
+          "pageNumber": 1,
+          "pageSize": 20,
+          "typename": "customertypemx",
+          "parameter": {
+            "siteid": siteid
+          }
+        }
+      })
+      this.options.type = res.data
+    },
+    async customerList(){
+      const res = await this.$api.requested(this.customerParam)
+      this.customer.customerData = res.data
+      this.customer.total = res.total
+      this.customer.currentPage = res.pageNumber
+    },
+    selectCustomer(){
+      this.customerParam.content.where.condition = this.form.enterprisename
+      this.customerList()
+    },
+    /*客户选择信息*/
+    customerData(val){
+      this.form.parentid = val.sa_customersid
+      this.form.superiorenterprisename = val.enterprisename
+      this.customerShow = false
+    },
+    /*客户分页*/
+    handleSizeChangeCustomer(val) {
+      // console.log(`每页 ${val} 条`);
+      this.customerParam.content.pageSize = val
+      this.customerList()
+    },
+    handleCurrentChangeCustomer(val) {
+      // console.log(`当前页: ${val}`);
+      this.customerParam.content.pageNumber = val
+      this.customerList()
+    },
+    enterpriseList(){
+
+      this.visibleEnterprise = true
+    },
+    /*上级客户列表*/
+    onEnterprise(data){
+      this.visibleEnterprise = false
+      console.log("企业信息",data)
+      this.form.parentid = data.sa_customersid
+      this.form.superiorenterprisename = data.enterprisename
+
+    },
+
+    /*/!*上级客户*!/
+    async parentCustomer(){
+      const res = await this.$api.requested({
+        "id": 20221014101002,
+        "content": {
+          "pageNumber": 1,
+          "pageSize": 20,
+          "where": {
+            "condition": ""
+          }
+        }
+      })
+      console.log(res)
+      this.options.parentCustomers = res.data
+    },*/
+    /*省市县*/
+    cascaderChange (val) {
+      this.form.province = val[0]
+      if (val.length === 1)
+        return this.form = Object.assign({},this.form,{province:val[0],city:'',county:''})
+
+      this.form = Object.assign({},this.form,{province:val[0],city:val[1],county:val[2]})
+      this.$refs.form.validateField('province')
+
+    },
+    /*客户分类*/
+    async gradeList(){
+      const siteid = JSON.parse(sessionStorage.getItem('active_account')).siteid
+      const res = await this.$api.requested({
+        "classname": "sysmanage.develop.optiontype.optiontype",
+        "method": "optiontypeselect",
+        "content": {
+          "pageNumber": 1,
+          "pageSize": 20,
+          "typename": "customergrade",
+          "parameter": {
+            "siteid": siteid
+          }
+        }
+      })
+      console.log("客户等级",res.data)
+      /*for (var i=0;i<res.data.length; i++){
+        if (res.data[i].remarks !== ''){
+          this.options.gradeData[i] = res.data[i].value + "——" + res.data[i].remarks
+        }else{
+          this.options.gradeData[i] = res.data[i].value
+        }
+      }*/
+      this.options.customerClassification = res.data
+      console.log("处理后客户等级",this.options.customerClassification)
+    },
+    /*客户等级*/
+    queryCustomerGrade(){
+      this.$store.dispatch('optiontypeselect','agentgrade').then(res=>{
+        this.options.customerGrade = res.data
+      })
+    },
+    /*行业列表*/
+    async industryList(){
+      const siteid = JSON.parse(sessionStorage.getItem('active_account')).siteid
+      const res = await this.$api.requested({
+        "classname": "sysmanage.develop.optiontype.optiontype",
+        "method": "optiontypeselect",
+        "content": {
+          "pageNumber": 1,
+          "pageSize": 20,
+          "typename": "industry",
+          "parameter": {
+            "siteid": siteid
+          }
+        }
+      })
+      this.options.industryData = res.data
+    },
+    /*所属经销商*/
+    async queryAgents(){
+      var sessionData = sessionStorage.getItem('active_account')
+      this.agentsParam.content.hrid = JSON.parse(sessionData).hrid
+      const res = await this.$api.requested(this.agentsParam)
+      this.agents.agentsData = res.data
+      this.agents.total = res.total
+      this.agents.currentPage = res.pageNumber
+      console.log(this.agents.agentsData ,'经销商')
+    },
+    selectAgents(){
+      this.agentsParam.content.where.condition = this.form.agentname
+      this.queryAgents()
+    },
+    /*客户选择信息*/
+    agentsData(val){
+      this.form.sa_agentsid = val.sa_agentsid
+      this.form.agentname = val.enterprisename
+      this.agentsShow = false
+    },
+    /*客户分页*/
+    handleSizeChangeAgent(val) {
+      // console.log(`每页 ${val} 条`);
+      this.agentsParam.content.pageSize = val
+      this.queryAgents()
+    },
+    handleCurrentChangeAgent(val) {
+      // console.log(`当前页: ${val}`);
+      this.agentsParam.content.pageNumber = val
+      this.queryAgents()
+    },
+    phoneChang(val){
+      if (val === '座机'){
+        this.isPhone = false
+      }else {
+        this.isPhone = true
+      }
+    },
+    searchData(){
+      this.changeTab()
+    },
+    changeTab(){
+      this.enterpriseContactList()
+      this.myContactList()
+    },
+    /*企业联系人*/
+    async enterpriseContactList(){
+      this.enterpriseContact.param.content.where.condition = this.form.contactsinfo.name
+      this.enterpriseContact.param.content.sys_enterpriseid = 0
+      const res = await this.$api.requested(this.enterpriseContact.param)
+      this.enterpriseContact.listData = res.data
+      this.enterpriseContact.total = res.total
+      this.enterpriseContact.currentPage = res.pageNumber
+    },
+    /*选择企业联系人*/
+    enterpriseContactSelect(val){
+      this.form.contactsinfo.oldcontactsid = val.contactsid
+      this.form.contactsinfo.name = val.name
+      if (val.phonenumber.indexOf('-') != '-1'){
+        this.isPhone = false
+        this.areaCode = val.phonenumber.substring(0,val.phonenumber.indexOf('-'))
+        this.telephone = val.phonenumber.substring(this.areaCode.length+1)
+        this.form.contactsinfo.telephone = this.areaCode + '-' + this.telephone
+        this.form.contactsinfo.phonenumber = ''
+      }else {
+        this.isPhone = true
+        this.form.contactsinfo.phonenumber = val.phonenumber
+        this.form.contactsinfo.telephone = ''
+        this.areaCode = ''
+        this.telephone = ''
+      }
+      this.enterpriseContact.show = false
+    },
+    handleSizeChangeEnterprise(val) {
+      // console.log(`每页 ${val} 条`);
+      this.enterpriseContact.param.content.pageSize = val
+      this.enterpriseContactList()
+    },
+    handleCurrentChangeEnterprise(val) {
+      // console.log(`当前页: ${val}`);
+      this.enterpriseContact.param.content.pageNumber = val
+      this.enterpriseContactList()
+    },
+    /*我的联系人*/
+    async myContactList(){
+      this.myContacts.param.content.where.condition = this.form.contactsinfo.name
+      this.myContacts.param.content.sys_enterpriseid = 0
+      this.myContacts.param.content.ownerid = 0
+      const res = await this.$api.requested(this.myContacts.param)
+
+      this.myContacts.listData = res.data
+      this.myContacts.total = res.total
+      this.myContacts.currentPage = res.pageNumber
+    },
+    /*选择我的联系人*/
+    myContactSelect(val){
+      this.form.contactsinfo.oldcontactsid = 0
+      this.form.contactsinfo.name = val.name
+      if (val.phonenumber.indexOf('-') != '-1'){
+        this.isPhone = false
+        this.areaCode = val.phonenumber.substring(0,val.phonenumber.indexOf('-'))
+        this.telephone = val.phonenumber.substring(this.areaCode.length+1)
+        this.form.contactsinfo.telephone = this.areaCode + '-' + this.telephone
+        this.form.contactsinfo.phonenumber = ''
+      }else {
+        this.isPhone = true
+        this.form.contactsinfo.phonenumber = val.phonenumber
+        this.form.contactsinfo.telephone = ''
+      }
+      this.enterpriseContact.show = false
+    },
+    handleSizeChangeMy(val) {
+      // console.log(`每页 ${val} 条`);
+      this.myContacts.param.content.pageSize = val
+      this.myContactList()
+    },
+    handleCurrentChangeMy(val) {
+      // console.log(`当前页: ${val}`);
+      this.myContacts.param.content.pageNumber = val
+      this.myContactList()
+    },
+    telephoneChange(val){
+      if (val === '座机'){
+        this.form.contactsinfo.phonenumber = ''
+        this.form.contactsinfo.telephone = this.areaCode + '-' + this.telephone
+      }else {
+        this.form.contactsinfo.telephone = ''
+        this.areaCode = ''
+        this.telephone = ''
+      }
+    }
+  }
+}
+</script>
+
+<style scoped>
+/deep/.el-input__prefix {
+  display: flex;
+  align-items: center;
+}
+</style>

+ 85 - 0
src/template/businessInquiry/index.vue

@@ -0,0 +1,85 @@
+<template>
+  <div>
+    <el-popover
+        placement="right"
+        width="900"
+        v-model="businessShow"
+        trigger="manual">
+      <div style="margin-bottom: 10px;display: flex;justify-content: space-between">
+        <el-input style="width:200px;" placeholder="搜索" :suffix-icon="param.content.keyword?param.content.keyword.length > 0?'':'':'el-icon-search'"
+                  v-model="param.content.keyword" @keyup.native.enter="listData(param.content.pageNumber = 1)" @clear="clearSearchValue" size="small"
+                  class="input-with-select inline-16 layout_search__panel" clearable>
+        </el-input>
+        <el-button style="color: #333333;" size="mini" @click="businessShow = false">关闭</el-button>
+      </div>
+      <el-table :data="list" @row-click="businessSelect" :header-cell-style="{background:'#EEEEEE',color:'#333'}" size="mini">
+        <el-table-column width="260" label="名称">
+          <template slot-scope="scope">
+            <span style="margin-left: 10px">{{ scope.row.companyName?scope.row.companyName:'--' }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column  label="法人">
+          <template slot-scope="scope">
+            <span style="margin-left: 10px">{{ scope.row.legalPerson?scope.row.legalPerson:'--' }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column width="200"  label="税号">
+          <template slot-scope="scope">
+            <span style="margin-left: 10px">{{ scope.row.taxNum?scope.row.taxNum:'--' }}</span>
+          </template>
+        </el-table-column>
+      </el-table>
+      <el-button size="mini" type="primary" style="width: 100%" @click="onSearch" slot="reference" :disabled="keyword === ''">工商查询</el-button>
+    </el-popover>
+  </div>
+</template>
+
+<script>
+export default {
+  name: "index",  //工商查询
+  props:['keyword'],
+  data(){
+    return {
+      businessShow:false,
+      param:{
+        "id": "20221208103601",
+        "content": {
+          "keyword":"",
+          "pageNumber":1,
+          "pageSize":5
+        },
+      },
+      list:[]
+    }
+  },
+  methods:{
+    onSearch(){
+      this.businessShow = true
+      this.param.content.keyword = this.keyword
+      this.listData()
+    },
+    async listData(){
+      const res = await this.$api.requested(this.param)
+      this.list = res.data
+    },
+    clearSearchValue () {
+      this.$store.dispatch('clearSearchValue')
+      this.listData(this.param.content.pageNumber = 1)
+    },
+    async businessSelect(val){
+      const res = await this.$api.requested({
+        "id": "2024060715002601",
+        "content": {
+          "companyName":val.companyName
+        },
+      })
+      this.$emit('businessData',res.data,val.regProvince)
+    }
+  }
+
+}
+</script>
+
+<style scoped>
+
+</style>