zhangqiOMG 2 lat temu
rodzic
commit
381d0d4d35

+ 5 - 4
src/SDrpManagement/salerPrivatecustomer/detail/modules/followLeads/index.vue

@@ -1,7 +1,7 @@
 <template>
   <div >
     <div class="flex-align-center normal-margin">
-      <add class="inline-16" :data="data"  @insertSuccess="onSuccess"></add>
+      <add class="inline-16" :data="data" @onSuccess="listData" ></add>
       <el-input
           style="width:300px"
           placeholder="请输入内容"
@@ -18,8 +18,7 @@
         <p>{{scope.column.data[scope.column.columnname]}}</p>
       </template>
       <template v-slot:opreation="scope">
-<!--        <edit v-if="tool.checkAuth($route.name,'update')" :data="scope.data" @updateSuccess="onSuccess"></edit>
-        <toVoid v-if="tool.checkAuth($route.name,'toVoid')" :data="scope.data" @toVoidSuccess="onSuccess"></toVoid>-->
+        <edit :data="scope.data" @onSuccess="listData"></edit>
       </template>
     </tableLayout>
     <div style="margin-top:16px;text-align:right">
@@ -39,10 +38,12 @@
 
 <script>
 import add from './modules/add'
+import edit from './modules/edit'
+
 export default {
   name: "index",
   props:["data"],
-  components:{add},
+  components:{add,edit},
   data(){
     return {
       tablecols: [],

+ 78 - 47
src/SDrpManagement/salerPrivatecustomer/detail/modules/followLeads/modules/add.vue

@@ -1,70 +1,55 @@
 <template>
   <div>
-    <el-button size="small" type="primary" >新 建</el-button>
+    <el-button size="small" type="primary" @click="onShow">新 建</el-button>
     <el-drawer
         title="新建线索"
         :visible.sync="dialogFormVisible"
-        size="25%"
+        size="30%"
         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="75px">
+          <el-form :model="form" :rules="rules"  ref="form"  size="mini" label-position="right" label-width="76px">
             <el-col :span="24">
-              <el-form-item  label="姓名:" prop="name">
-                <el-input  autosize v-model="form.name" placeholder="请输入姓名"></el-input>
+              <el-form-item  label="客户名称:" >
+                <el-input  autosize v-model="form.enterprisename" placeholder="请输入客户名称"></el-input>
               </el-form-item>
             </el-col>
             <el-col :span="24">
-              <el-form-item  label="手机号:" prop="phonenumber">
-                <el-input  autosize v-model="form.phonenumber" 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  label="联系人:" >
+                <el-input  autosize v-model="form.name" 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  label="手机号:" prop="phonenumber">
+                <el-input  autosize v-model="form.phonenumber" 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  label="省市县:" >
+                <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="生日:" >
-                <el-date-picker
-                    v-model="form.birthday"
-                    value-format="yyyy-MM-dd"
-                    type="date"
-                    placeholder="选择日期"
-                    style="width: 100%"
-                >
-                </el-date-picker>
+              <el-form-item  label="地址:" >
+                <el-input  autosize v-model="form.address" 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.address" placeholder="请输入家庭住址"></el-input>
+              <el-form-item  label="来源:" >
+                <el-input  autosize v-model="form.cluesource" 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-input  autosize v-model="form.notes" placeholder="请输入备注"></el-input>
               </el-form-item>
             </el-col>
           </el-form>
@@ -83,32 +68,78 @@ export default {
   name: "add",
   props:["data"],
   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();
+      }
+    };
     return {
       dialogFormVisible:false,
+      value:'',
       form:{
         "sat_orderclueid": 0,
-        "enterprisename":"客户名称",
-        "name": "联系人",
-        "phonenumber": "13812345678",
-        "province": "浙江省",
-        "city": "嘉兴市",
-        "county": "秀洲区",
-        "address": "秀洲大桥",
+        "enterprisename":"",
+        "name": "",
+        "phonenumber": "",
+        "province": "",
+        "city": "",
+        "county": "",
+        "address": "",
         "notes": "",
-        "cluesource": "朋友介绍",
+        "cluesource": "",
         "sat_campaignid":0,//活动id,当活动id大于0是默认业务员创建
-        "isprivate":0,//0表示公海,1表示私域,
+        "isprivate":1,//0表示公海,1表示私域,
         "sa_customersid":0//可不传
       },
       rules:{
-        name: [
-          { required: true, message: '姓名不能为空', trigger: 'blur' },
+        enterprisename: [
+          { required: true, message: '客户名称不能为空', trigger: 'blur' },
         ],
         phonenumber: [
           { required: true, validator: validateMobilePhone, trigger: 'blur' },
         ]
       },
     }
+  },
+  methods:{
+    onShow(){
+      this.dialogFormVisible = true
+      console.log(this.data,"客户信息")
+      this.form = Object.assign({},this.form,this.data)
+    },
+    /*省市县*/
+    cascaderChange (val) {
+      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]})
+
+    },
+    onClose(){
+
+    },
+   onSubmit(){
+      this.$refs.form.validate(async (valid) => {
+        if (!valid) return false
+        const res = await this.$api.requested({
+          "id":20221205162402,
+          "content": this.form
+        })
+        this.tool.showMessage(res,()=>{
+          this.$emit('onSuccess')
+          this.dialogFormVisible = false
+        })
+      })
+
+    }
   }
 }
 </script>

+ 149 - 0
src/SDrpManagement/salerPrivatecustomer/detail/modules/followLeads/modules/edit.vue

@@ -0,0 +1,149 @@
+<template>
+  <div>
+    <el-button size="small" type="text" @click="onShow">编 辑</el-button>
+    <el-drawer
+        title="新建线索"
+        :visible.sync="dialogFormVisible"
+        size="30%"
+        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="76px">
+            <el-col :span="24">
+              <el-form-item  label="客户名称:" >
+                <el-input  autosize v-model="form.enterprisename_customer" placeholder="请输入客户名称"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item  label="联系人:" >
+                <el-input  autosize v-model="form.name" placeholder="请输入联系人"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item  label="手机号:" prop="phonenumber">
+                <el-input  autosize v-model="form.phonenumber" placeholder="请输入手机号"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item  label="省市县:" >
+                <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="地址:" >
+                <el-input  autosize 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="form.cluesource" placeholder="请输入来源"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item  label="备注:" >
+                <el-input  autosize v-model="form.notes" 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" @click="onSubmit" class="normal-btn-width">确 定</el-button>
+      </div>
+    </el-drawer>
+  </div>
+</template>
+
+<script>
+export default {
+  name: "followLeadsedit",
+  props:["data"],
+  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();
+      }
+    };
+    return {
+      dialogFormVisible:false,
+      value:'',
+      form:{
+        "sat_orderclueid": 0,
+        "enterprisename":"",
+        "name": "",
+        "phonenumber": "",
+        "province": "",
+        "city": "",
+        "county": "",
+        "address": "",
+        "notes": "",
+        "cluesource": "",
+        "sat_campaignid":0,//活动id,当活动id大于0是默认业务员创建
+        "isprivate":1,//0表示公海,1表示私域,
+        "sa_customersid":0//可不传
+      },
+      rules:{
+        enterprisename: [
+          { required: true, message: '客户名称不能为空', trigger: 'blur' },
+        ],
+        phonenumber: [
+          { required: true, validator: validateMobilePhone, trigger: 'blur' },
+        ]
+      },
+    }
+  },
+  methods:{
+    onShow(){
+      this.dialogFormVisible = true
+      console.log(this.data,"客户信息")
+      this.form = Object.assign({},this.form,this.data)
+    },
+    /*省市县*/
+    cascaderChange (val) {
+      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]})
+
+    },
+    onClose(){
+
+    },
+   onSubmit(){
+      this.$refs.form.validate(async (valid) => {
+        if (!valid) return false
+        const res = await this.$api.requested({
+          "id":20221205162402,
+          "content": this.form
+        })
+        this.tool.showMessage(res,()=>{
+          this.$emit('onSuccess')
+          this.dialogFormVisible = false
+        })
+      })
+
+    }
+  }
+}
+</script>
+
+<style scoped>
+
+</style>