Browse Source

2022-12-8

codeMan 2 years ago
parent
commit
31e35cb6eb

+ 11 - 13
src/HManagement/clueManage/clue_import/detailPage/modules/add.vue

@@ -18,11 +18,11 @@
           <el-form-item label="手机号" prop="phonenumber">
             <el-input v-model="form.phonenumber" autocomplete="off" placeholder="输入手机号"></el-input>
           </el-form-item>
-          <el-form-item label="省市县" prop="value">
+          <el-form-item label="省市县" prop="province">
             <el-cascader
               style="width:100%"
               class="width-240"
-              v-model="form.value"
+              v-model="form.province"
               :options="basicData.data().areaData"
               @change="cascaderChange">
             </el-cascader>
@@ -55,13 +55,10 @@ export default {
       drawer:false,
       rule:{
         phonenumber:[
-          { pattern:/^1[3-9]\d{9}$/, message: '请输入正确手机号码',trigger: 'blur' }
-        ],
-        enterprisename:[{ required: true, message: '请输入企业名称', trigger: 'blur' }],
-        value:[
-          { required: true, message: '请选择省市县', trigger: 'blur' },
-          { required: true, message: '请选择省市县', trigger: 'change' }
+          { pattern:/^1[3-9]\d{9}$/, message: '请输入正确手机号码',trigger: 'blur' },
+          { required: true, message: '请输入手机号', trigger: 'blur' }
         ],
+        province:[{ required: true, message: '请选择', trigger: 'blur' }],
       },
       form:{
         "sat_orderclueuploadbillmxid": 0,
@@ -71,7 +68,8 @@ export default {
         "notes":'',
         "phonenumber":'',
         "address":'',
-        "cluesource":''
+        "cluesource":'',
+        "province":''
       },
       arealist:[],
       options:[]
@@ -84,6 +82,9 @@ export default {
     onSubmit () {
        this.$refs['form'].validate(async (valid) => {
         if (!valid) return false;
+        this.form.city = this.form.province[1]
+        this.form.county = this.form.province[2]
+        this.form.province = this.form.province[0]
         const res = await this.$api.requested({
           "classname":"webmanage.saletool.orderclue.orderclue",
           "method": "insertormodify_Orderclueuploadbillmx",
@@ -97,10 +98,7 @@ export default {
       });
     },
     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]})
-      
+      this.form.province = val
     }
   }
 }

+ 12 - 17
src/HManagement/clueManage/clue_import/detailPage/modules/edit.vue

@@ -18,11 +18,11 @@
         <el-form-item label="手机号" prop="phonenumber">
           <el-input v-model="form.phonenumber" autocomplete="off"></el-input>
         </el-form-item>
-        <el-form-item label="省市县" prop="value">
+        <el-form-item label="省市县" prop="province">
           <el-cascader
             style="width:100%"
             class="width-240"
-            v-model="form.value"
+            v-model="form.province"
             :options="basicData.data().areaData"
             @change="cascaderChange">
           </el-cascader>
@@ -55,13 +55,10 @@ export default {
       drawer:false,
       rule:{
         phonenumber:[
-          { pattern:/^1[3-9]\d{9}$/, message: '请输入正确手机号码',trigger: 'blur' }
-        ],
-        enterprisename:[{ required: true, message: '请输入企业名称', trigger: 'blur' }],
-        value:[
-          { required: true, message: '请选择省市县', trigger: 'blur' },
-          { required: true, message: '请选择省市县', trigger: 'change' }
+          { pattern:/^1[3-9]\d{9}$/, message: '请输入正确手机号码',trigger: 'blur' },
+          { required: true, message: '请输入手机号', trigger: 'blur' }
         ],
+        province:[{ required: true, message: '请选择', trigger: 'blur' }],
       },
       form:{
         "sat_orderclueuploadbillmxid": 0,
@@ -71,7 +68,8 @@ export default {
         "notes":'',
         "phonenumber":'',
         "address":'',
-        "cluesource":''
+        "cluesource":'',
+        "province":''
       },
       arealist:[],
       options:[]
@@ -80,12 +78,11 @@ export default {
   methods:{
     onShow () {
       this.drawer = true
-      let arr = ['province','city','county']
-      this.data.value = []
-      arr.forEach(e=>{
-        this.data[e] !== '' ?this.data.value.push(this.data[e]):''
-      })
       this.form = Object.assign({},this.form,this.data)
+      this.form.enterprisename = this.data.enterprisename_customer
+      this.form.province = [this.data.province,this.data.city,this.data.county]
+      console.log(this.form.province);
+      
     },
     async onSubmit () {
       this.$refs['form'].validate(async (valid) => {
@@ -103,9 +100,7 @@ export default {
       });
     },
     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]})
+      this.form.province = val
     }
   }
 }

+ 0 - 1
src/HManagement/clueManage/clue_import/index.vue

@@ -4,7 +4,6 @@
     <basicLayout 
       ref="basicLayout" 
       :oldFormPath="{
-        add:'HManagement/clueManage/clue_public/modules',
         edit:'HManagement/clueManage/clue_public/modules'
       }"
       tableName="clueImportList" 

+ 0 - 3
src/HManagement/clueManage/clue_private/modules/add.vue

@@ -66,9 +66,6 @@ export default {
           {required:true,message:'请输入手机号',trigger:'blur'},
           { pattern:/^1[3-9]\d{9}$/, message: '请输入正确手机号码',trigger: 'blur' }
         ],
-        enterprisename:[
-          {required:true,message:'请输入客户名称',trigger:'blur'},
-        ],
         province:[
           {required:true,message:'请选择省市县',trigger:'blur'},
         ],

+ 0 - 3
src/HManagement/clueManage/clue_private/modules/edit.vue

@@ -67,9 +67,6 @@ export default {
           {required:true,message:'请输入手机号',trigger:'blur'},
           { pattern:/^1[3-9]\d{9}$/, message: '请输入正确手机号码',trigger: 'blur' }
         ],
-        enterprisename:[
-          {required:true,message:'请输入客户名称',trigger:'blur'},
-        ],
         province:[
           {required:true,message:'请选择省市县',trigger:'blur'},
         ],

+ 0 - 3
src/HManagement/clueManage/clue_public/modules/add.vue

@@ -65,9 +65,6 @@ export default {
           {required:true,message:'请输入手机号',trigger:'blur'},
           { pattern:/^1[3-9]\d{9}$/, message: '请输入正确手机号码',trigger: 'blur' }
         ],
-        enterprisename:[
-          {required:true,message:'请输入客户名称',trigger:'blur'},
-        ],
         province:[
           {required:true,message:'请选择省市县',trigger:'blur'},
         ],

+ 41 - 22
src/HManagement/clueManage/clue_public/modules/detail.vue

@@ -25,7 +25,7 @@
       </div>
       <div slot="slot1" class="container normal-panel">
         <el-descriptions>
-          <div slot="title">跟进记录 &nbsp;<i @click="followRecord(isdesc === 1?isdesc = 0:isdesc =1)" :class="isdesc === 1?'fa fa-sort-amount-asc':'fa fa-sort-amount-desc'"></i></div>
+          <div slot="title">跟进记录 &nbsp;<i @click="followRecord(param.content.sort[0].reversed = param.content.sort[0].reversed == 1 ? 0 : 1)" :class="param.content.sort[0].reversed == 1?'fa fa-sort-amount-asc':'fa fa-sort-amount-desc'"></i></div>
         </el-descriptions>
         <div class="flex-align-center normal-margin">
           <p>日期:&nbsp;</p>
@@ -43,19 +43,21 @@
             clearable>
           </el-date-picker>
         </div>
-        <div class="item" v-for="(item,index) in recordlist" :key="index">
-          <p>{{index + 1}}.{{item.createdate}},由经销商端<span style="font-weight:bold;margin:0 6px;font-size:13px">{{item.createby}}</span>开始跟进,跟进方式:<span style="font-weight:bold;margin:0 5px">{{item.followupmode}}</span>,{{handleTxt[item.logtype]}}</p>
-          <div class="content">
-            <div style="margin-bottom:10px">
-              <p v-if="item.competitor">已购买品牌:{{item.competitor}}</p>
-              {{item.content}}
+        <div class="detail">
+          <div class="item" v-for="(item,index) in recordlist" :key="index">
+            <p>{{index + 1}}.{{item.createdate}},由经销商端<span style="font-weight:bold;margin:0 6px;font-size:13px">{{item.createby}}</span>开始跟进,跟进方式:<span style="font-weight:bold;margin:0 5px">{{item.followupmode}}</span>,{{handleTxt[item.logtype]}}</p>
+            <div class="content">
+              <div style="margin-bottom:10px">
+                <p v-if="item.competitor">已购买品牌:{{item.competitor}}</p>
+                {{item.content}}
+              </div>
+              <file-item 
+                :marginRight="10"
+                :rowCount="5"
+                :isDownLoad="true" 
+                :fileData="item.attinfo">
+              </file-item>
             </div>
-            <file-item 
-              :rowCount="5"
-              :isDownLoad="true" 
-              :fileData="item.attinfo"
-              @deleteSuccess="deleteFile">
-            </file-item>
           </div>
         </div>
       </div>
@@ -87,6 +89,22 @@ export default {
         '丢单':'丢单操作,具体原因如下',
         '无效':'无效操作,具体原因如下',
       },
+      param: {
+        "classname": "webmanage.saletool.orderclue.publicclue.PublicClue",
+        "method": "getFollowList",
+        "content": {
+          "sat_orderclueid": this.$route.query.id,
+          "where": this.dateParam,
+          "sort": [
+            {
+              "reversed":0,
+              "sorted":1,
+              "sortid":0,
+              "sortname":'默认'
+            }
+          ]
+        }
+      }
     }
   },
   components:{
@@ -95,19 +113,15 @@ export default {
   },
   methods:{
     async followRecord () {
-      const res = await this.$api.requested({
-        "classname": "webmanage.saletool.orderclue.publicclue.PublicClue",
-        "method": "getFollowList",
-        "content": {
-          "sat_orderclueid": this.$route.query.id,
-          "isdesc": this.isdesc,
-          "where": this.dateParam
-        }
-      })
+      this.param.content.sat_orderclueid = this.$route.query.id
+      this.param.content.where = this.dateParam
+      const res = await this.$api.requested(this.param)
+      this.param.content.sort = res.sort
       this.recordlist = res.data
       this.recordlist.forEach(item => {
         item.attinfo = this.fileType.fileList(item.attinfo)
       })
+      
     },
     dateChange (val) {
       if (!val) {val = []}
@@ -243,4 +257,9 @@ export default {
   border-radius: 5px;
   font-size: 14px;
 }
+.detail {
+  overflow-y: scroll;
+  height: calc(100vh - 400px);
+  padding-right: 10px;
+}
 </style>

+ 1 - 4
src/HManagement/clueManage/clue_public/modules/edit.vue

@@ -1,5 +1,5 @@
 <template>
-  <div v-if="data.status === '待分配'">
+  <div>
     <el-button size="mini" :type="type" @click="onShow">编 辑</el-button>
     <el-drawer title="编编辑线索" append-to-body :visible.sync="dialogFormVisible" size="40%">
       <div class="drawer__panel">
@@ -53,9 +53,6 @@ export default {
           { required: true, message: '请输入联系人手机号', trigger: 'blur' },
           { pattern:/^1[3-9]\d{9}$/, message: '请输入正确手机号码',trigger: 'blur' }
         ],
-        enterprisename:[
-          {required:true,message:'请输入客户名称',trigger:'blur'},
-        ],
         province:[
           {required:true,message:'请选择省市县',trigger:'blur'},
         ],

+ 2 - 5
src/HManagement/clueManage/m_activity/modules/addClue.vue

@@ -71,11 +71,8 @@ export default {
         phonenumber:[
           { pattern:/^1[3-9]\d{9}$/, message: '请输入正确手机号码',trigger: 'blur' }
         ],
-        enterprisename:[
-          { required: true, message: '请输入客户名称', trigger: 'blur' },
-        ],
-        cluesource:[
-          { required: true, message: '请输入来源', trigger: 'change' }
+        province:[
+          { required: true, message: '请选择', trigger: 'blur' },
         ],
       },
       options:[]

+ 2 - 5
src/HManagement/clueManage/m_activity/modules/editClue.vue

@@ -70,11 +70,8 @@ export default {
         phonenumber:[
           { pattern:/^1[3-9]\d{9}$/, message: '请输入正确手机号码',trigger: 'blur' }
         ],
-        enterprisename:[
-          { required: true, message: '请输入客户名称', trigger: 'blur' },
-        ],
-        cluesource:[
-          { required: true, message: '请输入来源', trigger: 'change' }
+        province:[
+          { required: true, message: '请选择', trigger: 'blur' },
         ],
       },
       options:[]

+ 2 - 2
src/SManagement/orderclue/components/add.vue

@@ -65,8 +65,8 @@ export default {
           {required:true,message:'请输入手机号',trigger:'blur'},
           { pattern:/^1[3-9]\d{9}$/, message: '请输入正确手机号码',trigger: 'blur' }
         ],
-        enterprisename:[
-          {required:true,message:'请输入客户名称',trigger:'blur'},
+        province:[
+          {required:true,message:'请选择',trigger:'blur'},
         ],
       },
       areaSelectResult:'',

+ 2 - 4
src/SManagement/orderclue/components/edit.vue

@@ -62,8 +62,8 @@ export default {
           { required: true, message: '请输入手机号', trigger: 'blur' },
           { pattern: /^1[3-9]\d{9}$/, message: '请输入正确手机号码', trigger: 'blur' }
         ],
-        enterprisename: [
-          {required:true,message:'请输入客户名称',trigger:'blur'},
+        province: [
+          {required:true,message:'请选择',trigger:'blur'},
         ],
       },
       areaSelectResult: '',
@@ -127,8 +127,6 @@ export default {
       this.isHandle = is
     },
     editBtn () {
-      console.log(this.data);
-      
       this.drawer = true
       this.param = Object.assign({}, this.param, this.data)
       this.param.province = [this.data.province, this.data.city, this.data.county]

+ 2 - 2
src/SManagement/orderclue/components/file/index2.vue

@@ -7,7 +7,8 @@
       :key="index"
       :style="[
         {'width': auto ? '100%' : '300px'},
-        {'margin-right':marginRight + 'px'}
+        {'margin-right':marginRight + 'px'},
+        {'margin-bottom':marginRight + 'px'}
       ]"
     >
       <div class="left">
@@ -135,7 +136,6 @@ export default {
   transition: .2s linear;
   cursor: pointer;
   border-radius: 5px;
-  margin-bottom: 20px;
   background: #ffffff;
   height: 80px;
 }

+ 0 - 2
src/SManagement/orderclue/components/follow.vue

@@ -143,8 +143,6 @@ export default {
           this.loading = false
           this.$emit('onSuccess')
           this.dialogVisible = false
-          console.log('上传完成');
-          
         })
       })
     },

+ 1 - 0
src/SManagement/orderclue/components/upload.vue

@@ -94,6 +94,7 @@ export default {
       })
     },
     toUpload (callback) {
+      if (this.fileList.length == 0) callback() 
       this.fileList.forEach(file=>{
         let index = file.name.lastIndexOf(".");
         let ext = file.name.substr(index + 1);

+ 15 - 4
src/SManagement/orderclue_detail/components/followDetail.vue

@@ -1,6 +1,8 @@
 <template>
   <div class="normal-card" style="padding-right:0">
-    <p class="title">跟进记录<i class="el-icon-sort" @click="sortFun"></i></p>
+    <el-descriptions>
+      <div slot="title">跟进记录 &nbsp;<i @click="sortFun" :class="param.content.sort[0].reversed == 1?'fa fa-sort-amount-asc':'fa fa-sort-amount-desc'"></i></div>
+    </el-descriptions>
     <div class="select">
       <span class="demonstration">日期范围:</span>
       <time-select @clearSelect="clearSelect" @timeChange="timeChange"></time-select>
@@ -14,7 +16,7 @@
             {{item.content}}
           </div>
           <file-item 
-            :marginRight="20"
+            :marginRight="10"
             :rowCount="5"
             :isDownLoad="true" 
             :fileData="item.attinfo"
@@ -59,7 +61,15 @@ export default {
             "where": {
                 "start": "",
                 "end": ""
-            }
+            },
+            "sort": [
+              {
+                "reversed":0,
+                "sorted":1,
+                "sortid":0,
+                "sortname":'默认'
+              }
+            ]
         }
       },
       handleTxt:{
@@ -89,6 +99,7 @@ export default {
       this.follow.forEach(item => {
         item.attinfo = this.fileType.fileList(item.attinfo)
       })
+      this.param.content.sort = res.sort
       console.log(this.follow);
       
     },
@@ -109,7 +120,7 @@ export default {
       this.getFollowDetail()  
     },
     sortFun() {
-      this.param.content.isdesc = this.param.content.isdesc == 1 ? this.param.content.isdesc = 0 : this.param.content.isdesc = 1
+      this.param.content.sort[0].reversed = this.param.content.sort[0].reversed == 0 ? 1 : 0
       this.getFollowDetail()
     },
     deleteFile (data) {

+ 2 - 1
src/SManagement/orderclue_detail/index.vue

@@ -210,7 +210,8 @@ export default {
           }
         })
         this.tool.showMessage(res , () => {
-          this.queryMainData()
+          this.$store.dispatch('changeDetailDrawer',false)
+          this.$router.push('/orderclue')
         })
       })
     },