Przeglądaj źródła

联系人调整

qymljy 1 rok temu
rodzic
commit
105499a33f

+ 0 - 24
src/Form/QuotedPrice/edit.vue

@@ -68,30 +68,6 @@
                 </el-popover>
               </el-form-item>
             </el-col>
-
-<!--            <el-col :span="24">
-              <el-form-item label="联系www人:" label-width="100px" prop="name">
-                <el-popover
-                    placement="bottom"
-                    width="700"
-                    trigger="click"
-                    v-model="contactsShow"
-                    @show="contactsList">
-                  <selectTemplate type="联系人" ref="contactTemplate" :param="contactsParam" @selectData="contactsData"></selectTemplate>
-                  <el-input slot="reference"  :readonly="true" v-model="form.contactsname" autocomplete="off" placeholder="请选择联系人" :disabled="form.sys_enterpriseid === ''"  ></el-input>
-                </el-popover>
-              </el-form-item>
-            </el-col>
-            <el-col  :span="24">
-              <el-form-item label="联系人手机号:" label-width="100px" >
-                <el-input  v-model="form.contactsphonenumber" autocomplete="off" placeholder="手机号" disabled></el-input>
-              </el-form-item>
-            </el-col>
-            <el-col  :span="24">
-              <el-form-item label="电话:" label-width="100px" >
-                <el-input  v-model="form.telephone" autocomplete="off" placeholder="电话" disabled></el-input>
-              </el-form-item>
-            </el-col>-->
             <el-col  :span="24">
               <el-form-item label="联系人:" label-width="100px" prop="name">
                 <contactsNewTemplate ref="contactsRef"  :sys_enterpriseid="form.sys_enterpriseid" :name="form.contactsname" :sa_projectid="form.sa_projectid" :disabled="form.sys_enterpriseid === ''" @contactData="contactData" @inputChange="inputChange" @focus="$refs.contactsRef.listData($refs.contactsRef.param.content.pageNumner = 1)" placement="left-start"></contactsNewTemplate>

+ 17 - 64
src/HDrpManagement/projectChange/modules/modules/contacts/components/edit.vue

@@ -14,7 +14,7 @@
           <el-form :model="form" :rules="rules"  ref="form"  size="mini" label-position="right" label-width="90px">
             <el-col :span="24">
               <el-form-item  label="姓名:" prop="name">
-                <contactsNewTemplate ownertable="sa_project" :ownerid="data.sa_projectid" @contactData="contactData" :name="form.name" @inputChange="inputChange"></contactsNewTemplate>
+                <el-input v-model="form.name" placeholder="请填写联系人"></el-input>
               </el-form-item>
             </el-col>
             <el-col :span="24">
@@ -149,11 +149,6 @@
                 <el-input type="textarea" rows="5" v-model="form.address" placeholder="请输入家庭住址"></el-input>
               </el-form-item>
             </el-col>
-<!--            <el-col :span="24">
-              <el-form-item  label="群组:" >
-                <el-input  autosize v-model="groupname" placeholder="请输入群组" disabled></el-input>
-              </el-form-item>
-            </el-col>-->
             <el-col :span="24">
               <el-form-item label="偏好" prop="preference">
                 <el-input v-model="form.preference" autocomplete="on" placeholder="请填写偏好"></el-input>
@@ -182,11 +177,10 @@
 
 <script>
 import {mapGetters} from "vuex";
-import contactsNewTemplate from '@/template/contactsNewTemplate/index'
+
 export default {
   name: "edit",
   props:["data","disabled","status","disabled","sa_projectid"],
-  components:{contactsNewTemplate},
   data(){
     var validateMobilePhone = (rule, value, callback) => {
       if (value === '') {
@@ -221,17 +215,17 @@ export default {
       tagList:[],
       tags:[],
       groupname:'项目联系人',
-      form:{
-        contactsid: 0, //0表示新增,大于0表示选择的联系人
-        sa_projectid: 1, //项目id
+      form: {
+        contactsid: '', //0表示新增,大于0表示选择的联系人
+        sa_projectid: '', //项目id
         sys_enterpriseid: '', //关联的企业id
-        enterprisename:'',
+        enterprisename: '',
         name: "",
         sex: "",
         depname: "",
         position: "",
         isleader: 1,
-        birthday : "",
+        birthday: "",
         phonenumber: "",
         email: "",
         province: "",
@@ -348,7 +342,6 @@ export default {
   },
   methods:{
     onshow(){
-      console.log(this.data)
       this.dialogFormVisible = true
       this.associatedCustomersList()
       this.myCustomersList()
@@ -366,7 +359,6 @@ export default {
 
     },
     onSubmit(){
-      /*this.form.sa_projectid = this.data.sa_projectid*/
       this.$refs['form'].validate(async (valid) => {
         if (!valid) return false
         this.$store.commit('setLoading',true)
@@ -379,28 +371,20 @@ export default {
           "content": this.form
         })
         this.tool.showMessage(res,async ()=>{
-          /*let res2 = await this.$api.requested({
-            "id": 20220929090901,
-            "content": {
-              "ownertable":"sys_phonebook",
-              "ownerid":res.data.sys_phonebookid,
-              "datatag": this.form.tag
-            }
-          })*/
           this.$store.commit('setLoading',false)
           this.$emit("editSuccess")
           this.$refs.form.resetFields()
           this.form = {
-            contactsid: 0, //0表示新增,大于0表示选择的联系人
-            sa_projectid: 1, //项目id
-            sys_enterpriseid: 1, //关联的企业id
-            enterprisename:'',
+            contactsid: '', //0表示新增,大于0表示选择的联系人
+            sa_projectid: '', //项目id
+            sys_enterpriseid: '', //关联的企业id
+            enterprisename: '',
             name: "",
             sex: "",
             depname: "",
             position: "",
             isleader: 1,
-            birthday : "",
+            birthday: "",
             phonenumber: "",
             email: "",
             province: "",
@@ -468,14 +452,12 @@ export default {
       this.myContacts.param.content.sys_enterpriseid = this.data.sys_enterpriseid
       this.myContacts.param.content.ownerid = this.$route.query.id
       const res = await this.$api.requested(this.myContacts.param)
-      console.log(res,"我的联系人")
       this.myContacts.listData = res.data
       this.myContacts.total = res.total
       this.myContacts.currentPage = res.pageNumber
     },
     /*选择我的联系人*/
     myContactSelect(val){
-      console.log(val,"选择的联系人")
       this.form.enterprisename = ''
       this.form = Object.assign({},this.form,val)
       if (val.phonenumber.indexOf('-') != '-1'){
@@ -491,31 +473,6 @@ export default {
       }
       this.enterpriseContact.show = false
     },
-    inputChange(val){
-      this.form.name = val
-    },
-    contactData(val){
-      this.form.name = val.name
-      if (val.phonenumber.indexOf('-') != '-1'){
-        this.form.isTelephone = '1'
-        this.form.areaCode = val.phonenumber.substring(0,val.phonenumber.indexOf('-'))
-        this.form.telephone = val.phonenumber.substring(this.form.areaCode.length+1)
-        this.form.phonenumber = ''
-      }else {
-        this.form.isTelephone = '0'
-        this.form.phonenumber = val.phonenumber
-        this.form.areaCode = ''
-        this.form.telephone = ''
-      }
-      this.form.email = val.email
-      this.form.position = val.position
-      this.form.depname = val.depname
-      this.form.sex = val.sex
-      this.form.birthday = val.birthday
-      this.form.address = val.address
-      this.form.remarks = val.remarks
-      this.form.sys_phonebookid = val.sys_phonebookid
-    },
     handleSizeChangeMy(val) {
       // console.log(`每页 ${val} 条`);
       this.myContacts.param.content.pageSize = val
@@ -531,13 +488,11 @@ export default {
       this.associatedCustomers.param.content.where.condition = this.form.enterprisename
       this.associatedCustomers.param.content.where.sa_projectid = this.data.sa_projectid
       const res = await this.$api.requested(this.associatedCustomers.param)
-      console.log(res,"关联客户")
       this.associatedCustomers.listData = res.data
       this.associatedCustomers.total = res.total
       this.associatedCustomers.currentPage = res.pageNumber
     },
     associatedCustomersSelect(val){
-      console.log(val,"选择关联客户")
       this.form.sys_enterpriseid = val.sys_enterpriseid
       this.form.enterprisename = val.enterprisename
       this.associatedCustomers.show = false
@@ -556,13 +511,11 @@ export default {
     async myCustomersList(){
       this.myCustomers.param.content.where.condition = this.form.enterprisename
       const res = await this.$api.requested(this.myCustomers.param)
-      console.log(res,"我的客户")
       this.myCustomers.listData = res.data
       this.myCustomers.total = res.total
       this.myCustomers.currentPage = res.pageNumber
     },
     myCustomersSelect(val){
-      console.log(val,"选择我的客户")
       this.form.sys_enterpriseid = val.sys_enterpriseid
       this.form.enterprisename = val.enterprisename
       this.associatedCustomers.show = false
@@ -580,16 +533,16 @@ export default {
     onClose(){
       this.$refs['form'].resetFields()
       this.form = {
-        contactsid: 0, //0表示新增,大于0表示选择的联系人
-        sa_projectid: 1, //项目id
-        sys_enterpriseid: 1, //关联的企业id
-        enterprisename:'',
+        contactsid: '', //0表示新增,大于0表示选择的联系人
+        sa_projectid: '', //项目id
+        sys_enterpriseid: '', //关联的企业id
+        enterprisename: '',
         name: "",
         sex: "",
         depname: "",
         position: "",
         isleader: 1,
-        birthday : "",
+        birthday: "",
         phonenumber: "",
         email: "",
         province: "",

+ 638 - 0
src/HDrpManagement/projectChange/modules/modules/contacts/components/editCopy.vue

@@ -0,0 +1,638 @@
+<template>
+  <div>
+    <el-button size="mini" type="text" @click="onshow" :disabled="!tool.checkAuth($route.name,'contactsManage') || !disabled || status === '已失败' || status === '已结案'">编 辑</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"  size="mini" label-position="right" label-width="90px">
+            <el-col :span="24">
+              <el-form-item  label="姓名:" prop="name">
+                <contactsNewTemplate ownertable="sa_project" :ownerid="data.sa_projectid" @contactData="contactData" :name="form.name" @inputChange="inputChange"></contactsNewTemplate>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item>
+                <el-radio v-model="form.isTelephone" label="0">手机号</el-radio>
+                <el-radio v-model="form.isTelephone" label="1">座机电话</el-radio>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24" v-if="form.isTelephone == '1'">
+              <el-form-item label="联系方式:" prop="telephone" >
+                <el-input v-model="form.areaCode" style="width: 25%" autocomplete="on" placeholder="请填写区号"></el-input>
+                <span style="color: #999999">——</span>
+                <el-input v-model="form.telephone" style="width: 68%" autocomplete="on" placeholder="请填写座机电话"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24"  >
+              <el-form-item v-if="form.isTelephone == '0'" label="联系方式:" prop="phonenumber" :rules="[
+              { required: true, message: '手机号码不能为空'},
+              { pattern:/^1[3-9][0-9]\d{8}$/, message: '请输入正确手机号码',trigger: 'blur' }
+            ]">
+                <el-input v-model="form.phonenumber" autocomplete="on" placeholder="请填写手机号码"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item  label="微信:" prop="wechatnum">
+                <el-input  autosize v-model="form.wechatnum" placeholder="请输入微信" ></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item  label="邮箱:" :rules="[
+                { pattern:/^[A-Za-z0-9\u4e00-\u9fa5]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/, message: '请输入有效的邮箱',trigger: 'blur' }
+              ]">
+                <el-input   autosize v-model="form.email" placeholder="请输入邮箱"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item  label="传真:" >
+                <el-input  autosize v-model="form.fax" placeholder="请输入传真" ></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item  label="关联企业:" prop="enterprisename">
+                <el-popover
+                    placement="bottom-start"
+                    width="900"
+                    v-model="associatedCustomers.show"
+                    trigger="click">
+                  <el-tabs type="border-card" @tab-click="changeTabCustomers">
+
+                      <el-input  style="width:200px;" placeholder="搜索" :suffix-icon="associatedCustomers.param.content.where.condition?associatedCustomers.param.content.where.condition.length > 0?'':'':'el-icon-search'" v-model="associatedCustomers.param.content.where.condition" @keyup.native.enter="associatedCustomersList(associatedCustomers.param.content.pageNumber = 1)" @clear="associatedCustomersList(associatedCustomers.param.content.pageNumber = 1)" size="small" class="input-with-select inline-16 layout_search__panel" clearable>
+                      </el-input>
+                      <el-table
+                          border
+                          height="500px"
+                          :data="associatedCustomers.listData"
+                          style="margin-top: 10px"
+                          @row-click="associatedCustomersSelect"
+                          :header-cell-style="{background:'#EEEEEE',color:'#333'}"
+                          size="mini">
+                        <el-table-column width="80" label="企业编号">
+                          <template slot-scope="scope">
+                            <span >{{ scope.row.sys_enterpriseid?scope.row.sys_enterpriseid:'--' }}</span>
+                          </template>
+                        </el-table-column>
+                        <el-table-column width="190" label="企业名称">
+                          <template slot-scope="scope">
+                            <span >{{ scope.row.enterprisename?scope.row.enterprisename:'--' }}</span>
+                          </template>
+                        </el-table-column>
+                        <el-table-column  label="企业地址">
+                          <template slot-scope="scope">
+                            <span >{{ scope.row.address?scope.row.address:'--' }}</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="handleSizeAssociatedCustomers"
+                              @current-change="handleCurrentAssociatedCustomers"
+                              :current-page="associatedCustomers.currentPage"
+                              :page-sizes="[20, 50, 100, 200]"
+                              :page-size="20"
+                              layout="total,sizes, prev, pager, next, jumper"
+                              :total="associatedCustomers.total">
+                          </el-pagination>
+                        </div>
+                        <slot name="footerLeft"></slot>
+                      </div>
+
+                  </el-tabs>
+                  <el-input  slot="reference" :disabled="form.contactsid !== 0"  autosize v-model="form.enterprisename" placeholder="请选择关联企业" @input="changeTabCustomers"></el-input>
+                </el-popover>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item  label="单位:" prop="company">
+                <el-input  autosize v-model="form.company" placeholder="请输入单位" ></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item  label="部门:" >
+                <el-input  autosize v-model="form.depname" placeholder="请输入部门"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item  label="职位:" >
+                <el-input  autosize v-model="form.position" placeholder="请输入职位"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item  label="性别:" >
+                <el-radio v-model="form.sex" label="男">男</el-radio>
+                <el-radio v-model="form.sex" label="女">女</el-radio>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item  label="生日:" >
+                <el-date-picker
+                    v-model="form.birthday"
+                    value-format="yyyy-MM-dd"
+                    type="date"
+                    placeholder="选择日期"
+                    style="width: 100%"
+                >
+                </el-date-picker>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item  label="家庭住址:" >
+                <el-input type="textarea" rows="5" v-model="form.address" placeholder="请输入家庭住址"></el-input>
+              </el-form-item>
+            </el-col>
+<!--            <el-col :span="24">
+              <el-form-item  label="群组:" >
+                <el-input  autosize v-model="groupname" placeholder="请输入群组" disabled></el-input>
+              </el-form-item>
+            </el-col>-->
+            <el-col :span="24">
+              <el-form-item label="偏好" prop="preference">
+                <el-input v-model="form.preference" autocomplete="on" placeholder="请填写偏好"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="爱好" prop="hobby">
+                <el-input v-model="form.hobby" autocomplete="on" placeholder="请填写爱好"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item  label="备注:" >
+                <el-input type="textarea"  rows="5" v-model="form.remarks" placeholder="请输入备注"></el-input>
+              </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">取 消</el-button>
+        <el-button size="small" type="primary" :loading="loading" @click="onSubmit" class="normal-btn-width">确 定</el-button>
+      </div>
+    </el-drawer>
+  </div>
+</template>
+
+<script>
+import {mapGetters} from "vuex";
+import contactsNewTemplate from '@/template/contactsNewTemplate/index'
+export default {
+  name: "edit",
+  props:["data","disabled","status","disabled","sa_projectid"],
+  components:{contactsNewTemplate},
+  data(){
+    var validateMobilePhone = (rule, value, callback) => {
+      if (value === '') {
+        callback(new Error('手机号不可为空'));
+      } else {
+        if (value !== '') {
+          var reg=/^1[3456789]\d{9}$/;
+          if(!reg.test(value)){
+            callback(new Error('请输入有效的手机号码'));
+          }
+        }
+        callback();
+      }
+    };
+    var telephone = (rule,value,callback) =>{
+      if (this.form.areaCode === '' && this.form.telephone === ''){
+        callback(new Error('座机电话不能为空'))
+      } else {
+        var reg=/^0\d{2,3}-\d{7,8}$/
+        let telephone = this.form.areaCode + '-' + this.form.telephone
+        if (!reg.test(telephone)){
+          callback(new Error('请输入正确座机电话'))
+        } else {
+          callback();
+        }
+      }
+
+    }
+    return {
+      dialogFormVisible:false,
+      visible:false,
+      tagList:[],
+      tags:[],
+      groupname:'项目联系人',
+      form:{
+        contactsid: 0, //0表示新增,大于0表示选择的联系人
+        sa_projectid: 1, //项目id
+        sys_enterpriseid: '', //关联的企业id
+        enterprisename:'',
+        name: "",
+        sex: "",
+        depname: "",
+        position: "",
+        isleader: 1,
+        birthday : "",
+        phonenumber: "",
+        email: "",
+        province: "",
+        city: "",
+        county: "",
+        address: "",
+        remarks: "",
+        sys_phonebookid:'',
+        ownerid: this.$route.query.id,
+        ownertable: "sa_project",
+        isTelephone:'0',
+        areaCode:'',
+      },
+      rules:{
+        name: [
+          { required: true, message: '姓名不能为空', trigger: 'blur,change' },
+        ],
+        // phonenumber: [
+        //   { required: true, validator: validateMobilePhone, trigger: 'blur' },
+        // ],
+        enterprisename: [
+          { required: false, message: '单位不能为空', trigger: 'blur,change' },
+        ],
+        telephone:[
+          { required: true, validator: telephone, trigger: 'change' }
+        ],
+      },
+      enterpriseContact:{
+        param:{
+          "content": {
+            "sa_projectid": '',
+            "pageNumber": 1,
+            "pageSize": 9999,
+            "where": {
+              "condition": ""
+            }
+          },
+          "id": 20221219201402,
+        },
+        listData:[],
+        total:0,
+        currentPage:0,
+        show:false
+      },
+      myContacts:{
+        param:{
+          "id": 20221219161202,
+          "content": {
+            "pageNumber": 1,
+            "pageSize": 9999,
+            "ownertable":'sa_project',
+            "ownerid":'',
+            "where": {
+              "condition": ""
+            }
+          }
+        },
+        listData:[],
+        total:0,
+        currentPage:0,
+        show:false
+      },
+      associatedCustomers:{
+        param:{
+          "id": 20220920083901,
+          "content": {
+            "pageNumber": 1,
+            "pageSize": 20,
+            "where": {
+              "condition": "",
+              "sa_projectid":'',
+              "type":4,
+              "typemx":"",
+            }
+          }
+        },
+        listData:[],
+        total:0,
+        currentPage:0,
+        show:false
+      },
+      myCustomers:{
+        param:{
+          "id": 20220920083901,
+          "content": {
+            "pageNumber": 1,
+            "pageSize": 20,
+            "where": {
+              "condition": "",
+              "sa_projectid":'',
+              "type":6,
+            }
+          }
+        },
+        listData:[],
+        total:0,
+        currentPage:0,
+        show:false
+      },
+      paramTag:{
+        "id":"20220929085401",
+        "content":{
+          "nocache":true,
+          "ownertable":"",
+          "ownerid":0,
+        }
+      }
+    }
+  },
+  computed:{
+    ...mapGetters({
+      loading:'loading'
+    })
+  },
+  methods:{
+    onshow(){
+      console.log(this.data)
+      this.dialogFormVisible = true
+      this.associatedCustomersList()
+      this.myCustomersList()
+      this.enterpriseContactList()
+      this.myContactList()
+      this.getTag()
+      this.form = Object.assign({},this.form,this.data)
+      this.tags = this.form.tag
+      if ((this.form.phonenumber.indexOf('-')) != '-1'){
+        this.form.isTelephone = '1'
+        this.form.areaCode = this.data.phonenumber.substring(0,this.form.phonenumber.indexOf('-'))
+        this.form.telephone = this.data.phonenumber.substring(this.form.areaCode.length+1)
+        this.form.phonenumber = ''
+      }
+
+    },
+    onSubmit(){
+      /*this.form.sa_projectid = this.data.sa_projectid*/
+      this.$refs['form'].validate(async (valid) => {
+        if (!valid) return false
+        this.$store.commit('setLoading',true)
+        if (this.form.isTelephone == '1'){
+          this.form.phonenumber = this.form.areaCode + "-" + this.form.telephone
+        }
+        this.form.tag = this.tags
+        const res = await this.$api.requested({
+          "id": 20221219135502,
+          "content": this.form
+        })
+        this.tool.showMessage(res,async ()=>{
+          /*let res2 = await this.$api.requested({
+            "id": 20220929090901,
+            "content": {
+              "ownertable":"sys_phonebook",
+              "ownerid":res.data.sys_phonebookid,
+              "datatag": this.form.tag
+            }
+          })*/
+          this.$store.commit('setLoading',false)
+          this.$emit("editSuccess")
+          this.$refs.form.resetFields()
+          this.form = {
+            contactsid: 0, //0表示新增,大于0表示选择的联系人
+            sa_projectid: 1, //项目id
+            sys_enterpriseid: 1, //关联的企业id
+            enterprisename:'',
+            name: "",
+            sex: "",
+            depname: "",
+            position: "",
+            isleader: 1,
+            birthday : "",
+            phonenumber: "",
+            email: "",
+            province: "",
+            city: "",
+            county: "",
+            address: "",
+            remarks: "",
+            sys_phonebookid:'',
+            isTelephone:'0',
+            areaCode:'',
+          }
+          this.dialogFormVisible = false
+        })
+      })
+    },
+    searchData(){
+      this.changeTab()
+    },
+    changeTab(){
+      this.enterpriseContactList()
+      this.myContactList()
+    },
+    changeTabCustomers(){
+      this.associatedCustomersList()
+      this.myCustomersList()
+    },
+    /*企业联系人*/
+    async enterpriseContactList(){
+      this.enterpriseContact.param.content.where.condition = this.form.name
+      this.enterpriseContact.param.content.sa_projectid = this.data.sa_projectid
+      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 = Object.assign({},this.form,val)
+      if (val.phonenumber.indexOf('-') != '-1'){
+        this.form.isTelephone = '1'
+        this.form.areaCode = val.phonenumber.substring(0,val.phonenumber.indexOf('-'))
+        this.form.telephone = val.phonenumber.substring(this.form.areaCode.length+1)
+        this.form.phonenumber = ''
+      }else {
+        this.form.isTelephone = '0'
+        this.form.phonenumber = val.phonenumber
+        this.form.areaCode = ''
+        this.form.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.name
+      this.myContacts.param.content.sys_enterpriseid = this.data.sys_enterpriseid
+      this.myContacts.param.content.ownerid = this.$route.query.id
+      const res = await this.$api.requested(this.myContacts.param)
+      console.log(res,"我的联系人")
+      this.myContacts.listData = res.data
+      this.myContacts.total = res.total
+      this.myContacts.currentPage = res.pageNumber
+    },
+    /*选择我的联系人*/
+    myContactSelect(val){
+      console.log(val,"选择的联系人")
+      this.form.enterprisename = ''
+      this.form = Object.assign({},this.form,val)
+      if (val.phonenumber.indexOf('-') != '-1'){
+        this.form.isTelephone = '1'
+        this.form.areaCode = val.phonenumber.substring(0,val.phonenumber.indexOf('-'))
+        this.form.telephone = val.phonenumber.substring(this.form.areaCode.length+1)
+        this.form.phonenumber = ''
+      }else {
+        this.form.isTelephone = '0'
+        this.form.phonenumber = val.phonenumber
+        this.form.areaCode = ''
+        this.form.telephone = ''
+      }
+      this.enterpriseContact.show = false
+    },
+    inputChange(val){
+      this.form.name = val
+    },
+    contactData(val){
+      this.form.name = val.name
+      if (val.phonenumber.indexOf('-') != '-1'){
+        this.form.isTelephone = '1'
+        this.form.areaCode = val.phonenumber.substring(0,val.phonenumber.indexOf('-'))
+        this.form.telephone = val.phonenumber.substring(this.form.areaCode.length+1)
+        this.form.phonenumber = ''
+      }else {
+        this.form.isTelephone = '0'
+        this.form.phonenumber = val.phonenumber
+        this.form.areaCode = ''
+        this.form.telephone = ''
+      }
+      this.form.email = val.email
+      this.form.position = val.position
+      this.form.depname = val.depname
+      this.form.sex = val.sex
+      this.form.birthday = val.birthday
+      this.form.address = val.address
+      this.form.remarks = val.remarks
+      this.form.sys_phonebookid = val.sys_phonebookid
+    },
+    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()
+    },
+    /*关联客户*/
+    async associatedCustomersList(){
+      this.associatedCustomers.param.content.where.condition = this.form.enterprisename
+      this.associatedCustomers.param.content.where.sa_projectid = this.data.sa_projectid
+      const res = await this.$api.requested(this.associatedCustomers.param)
+      console.log(res,"关联客户")
+      this.associatedCustomers.listData = res.data
+      this.associatedCustomers.total = res.total
+      this.associatedCustomers.currentPage = res.pageNumber
+    },
+    associatedCustomersSelect(val){
+      console.log(val,"选择关联客户")
+      this.form.sys_enterpriseid = val.sys_enterpriseid
+      this.form.enterprisename = val.enterprisename
+      this.associatedCustomers.show = false
+    },
+    handleSizeAssociatedCustomers(val) {
+      // console.log(`每页 ${val} 条`);
+      this.associatedCustomers.param.content.pageSize = val
+      this.associatedCustomersList()
+    },
+    handleCurrentAssociatedCustomers(val) {
+      // console.log(`当前页: ${val}`);
+      this.associatedCustomers.param.content.pageNumber = val
+      this.associatedCustomersList()
+    },
+    /*我的客户*/
+    async myCustomersList(){
+      this.myCustomers.param.content.where.condition = this.form.enterprisename
+      const res = await this.$api.requested(this.myCustomers.param)
+      console.log(res,"我的客户")
+      this.myCustomers.listData = res.data
+      this.myCustomers.total = res.total
+      this.myCustomers.currentPage = res.pageNumber
+    },
+    myCustomersSelect(val){
+      console.log(val,"选择我的客户")
+      this.form.sys_enterpriseid = val.sys_enterpriseid
+      this.form.enterprisename = val.enterprisename
+      this.associatedCustomers.show = false
+    },
+    handleSizeMyCustomers(val) {
+      // console.log(`每页 ${val} 条`);
+      this.myCustomers.param.content.pageSize = val
+      this.myCustomersList()
+    },
+    handleCurrentMyCustomers(val) {
+      // console.log(`当前页: ${val}`);
+      this.myCustomers.param.content.pageNumber = val
+      this.myCustomersSelect()
+    },
+    onClose(){
+      this.$refs['form'].resetFields()
+      this.form = {
+        contactsid: 0, //0表示新增,大于0表示选择的联系人
+        sa_projectid: 1, //项目id
+        sys_enterpriseid: 1, //关联的企业id
+        enterprisename:'',
+        name: "",
+        sex: "",
+        depname: "",
+        position: "",
+        isleader: 1,
+        birthday : "",
+        phonenumber: "",
+        email: "",
+        province: "",
+        city: "",
+        county: "",
+        address: "",
+        remarks: "",
+        sys_phonebookid:'',
+        isTelephone:'0',
+        areaCode:'',
+      }
+      this.dialogFormVisible = false
+    },
+    async getTag(){
+      this.paramTag.content.ownertable = 'sa_project_contacts'
+      const res = await this.$api.requested(this.paramTag)
+      this.tagList = res.data.option
+    },
+    hasDisabledTag (item) {
+      let arr = []
+      let arr2 = []
+      arr = this.tagList.filter(item=>{
+        return this.tags.includes(item.tag)
+      })
+      arr.forEach(e=>{
+        arr2 = arr2.concat(e.mutextag)
+      })
+      arr2 = this.tags.length === 0?[]:arr2
+      let _isSame = arr2.some(tag=>item.tag === tag)
+      return _isSame
+    },
+    onClear(row){
+      for(var i=0;i<this.tags.length;i++){
+        if (this.tags[i] === row){
+          this.tags.splice(i,1)
+          break
+        }
+      }
+    }
+  },
+}
+</script>
+
+<style scoped>
+
+</style>

+ 3 - 29
src/HDrpManagement/publicCustomer/modules/detail/contacts/modules/edit.vue

@@ -12,9 +12,9 @@
       <div class="drawer__panel">
         <el-row :gutter="20">
           <el-form :model="form" :rules="rules"  ref="form"  size="mini" label-position="right" label-width="90px">
-            <el-col :span="20">
+            <el-col :span="24">
               <el-form-item  label="姓名:" prop="name">
-                <contactsNewTemplate ownertable="sys_enterprise" :ownerid="sys_enterpriseid" @contactData="contactData" :name="form.name" @inputChange="inputChange"></contactsNewTemplate>
+                <el-input v-model="form.name" placeholder="请填写联系人"></el-input>
               </el-form-item>
             </el-col>
             <el-col :span="24">
@@ -144,11 +144,10 @@
 
 <script>
 import {mapGetters} from "vuex";
-import contactsNewTemplate from '@/template/contactsNewTemplate/index'
+
 export default {
   name: "edit",
   props:["data","enterprisename","disabled","sys_enterpriseid"],
-  components:{contactsNewTemplate},
   data(){
     var validateMobilePhone = (rule, value, callback) => {
       if (value === '') {
@@ -403,31 +402,6 @@ export default {
       this.form.sys_phonebookid = val.sys_phonebookid
       this.enterpriseContact.show = false
     },
-    inputChange(val){
-      this.form.name = val
-    },
-    contactData(val){
-      this.form.name = val.name
-      if (val.phonenumber.indexOf('-') != '-1'){
-        this.form.isTelephone = '1'
-        this.form.areaCode = val.phonenumber.substring(0,val.phonenumber.indexOf('-'))
-        this.form.telephone = val.phonenumber.substring(this.form.areaCode.length+1)
-        this.form.phonenumber = ''
-      }else {
-        this.form.isTelephone = '0'
-        this.form.phonenumber = val.phonenumber
-        this.form.areaCode = ''
-        this.form.telephone = ''
-      }
-      this.form.email = val.email
-      this.form.position = val.position
-      this.form.depname = val.depname
-      this.form.sex = val.sex
-      this.form.birthday = val.birthday
-      this.form.address = val.address
-      this.form.remarks = val.remarks
-      this.form.sys_phonebookid = val.sys_phonebookid
-    },
     handleSizeChangeMy(val) {
       // console.log(`每页 ${val} 条`);
       this.myContacts.param.content.pageSize = val

+ 2 - 46
src/SDrpManagement/salerPrivatecustomer/detail/modules/contacts/modules/edit.vue

@@ -14,7 +14,7 @@
           <el-form :model="form" :rules="rules"  ref="form"  size="mini" label-position="right" label-width="90px">
             <el-col :span="24">
               <el-form-item  label="姓名:" prop="name">
-                <contactsNewTemplate ownertable="sys_enterprise" :ownerid="sys_enterpriseid" @contactData="contactData" :name="form.name" @inputChange="inputChange"></contactsNewTemplate>
+                <el-input v-model="form.name" placeholder="请填写联系人"></el-input>
               </el-form-item>
             </el-col>
             <el-col :span="24">
@@ -43,19 +43,6 @@
                 <el-input  autosize v-model="form.wechatnum" placeholder="请输入微信" ></el-input>
               </el-form-item>
             </el-col>
-<!--            <el-col :span="24">
-              <el-form-item  label="标签:" >
-                <el-select v-model="tags" style="width: 100%" placeholder="请选择标签" size="small" multiple  class="inline-16" @remove-tag="onClear">
-                  <el-option
-                      v-for="item in tagList"
-                      :key="item.index"
-                      :label="item.tag"
-                      :value="item.tag"
-                      :disabled="hasDisabledTag(item)">
-                  </el-option>
-                </el-select>
-              </el-form-item>
-            </el-col>-->
             <el-col :span="24">
               <el-form-item  label="邮箱:" :rules="[
               { pattern:/^[A-Za-z0-9\u4e00-\u9fa5]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/, message: '请输入有效的邮箱',trigger: 'blur' }
@@ -110,11 +97,7 @@
               <el-form-item  label="家庭住址:" >
                 <el-input type="textarea" rows="5" v-model="form.address" placeholder="请输入家庭住址"></el-input>
               </el-form-item>
-            </el-col>
-<!--            <el-col :span="24">
-              <el-form-item  label="群组:" >
-                <el-input  autosize v-model="groupname" placeholder="请输入群组" disabled></el-input>
-              </el-form-item>
+            </el-col>m>
             </el-col>-->
             <el-col :span="24">
               <el-form-item label="偏好" prop="preference">
@@ -144,11 +127,9 @@
 
 <script>
 import {mapGetters} from "vuex";
-import contactsNewTemplate from '@/template/contactsNewTemplate/index'
 export default {
   name: "edit",
   props:["data","enterprisename","disabled","sys_enterpriseid"],
-  components:{contactsNewTemplate},
   data(){
     var validateMobilePhone = (rule, value, callback) => {
       if (value === '') {
@@ -405,31 +386,6 @@ export default {
       this.form.sys_phonebookid = val.sys_phonebookid
       this.enterpriseContact.show = false
     },
-    inputChange(val){
-      this.form.name = val
-    },
-    contactData(val){
-      this.form.name = val.name
-      if (val.phonenumber.indexOf('-') != '-1'){
-        this.form.isTelephone = '1'
-        this.form.areaCode = val.phonenumber.substring(0,val.phonenumber.indexOf('-'))
-        this.form.telephone = val.phonenumber.substring(this.form.areaCode.length+1)
-        this.form.phonenumber = ''
-      }else {
-        this.form.isTelephone = '0'
-        this.form.phonenumber = val.phonenumber
-        this.form.areaCode = ''
-        this.form.telephone = ''
-      }
-      this.form.email = val.email
-      this.form.position = val.position
-      this.form.depname = val.depname
-      this.form.sex = val.sex
-      this.form.birthday = val.birthday
-      this.form.address = val.address
-      this.form.remarks = val.remarks
-      this.form.sys_phonebookid = val.sys_phonebookid
-    },
     handleSizeChangeMy(val) {
       // console.log(`每页 ${val} 条`);
       this.myContacts.param.content.pageSize = val