浏览代码

2022-12-14 16:40

codeMan 3 年之前
父节点
当前提交
4745a06dbd
共有 25 个文件被更改,包括 433 次插入48 次删除
  1. 3 0
      src/HDrpManagement/contractManage/components/addContract.vue
  2. 3 0
      src/HDrpManagement/contractManage/components/editContract.vue
  3. 2 2
      src/HDrpManagement/contractManage/modules/detail.vue
  4. 4 1
      src/HDrpManagement/reportcenter/index.vue
  5. 9 7
      src/HManagement/clueManage/clue_private/index.vue
  6. 25 4
      src/HManagement/clueManage/clue_private/modules/add.vue
  7. 7 5
      src/HManagement/clueManage/clue_private/modules/detail.vue
  8. 19 1
      src/HManagement/clueManage/clue_private/modules/edit.vue
  9. 1 1
      src/HManagement/clueManage/clue_private/modules/recall.vue
  10. 19 2
      src/HManagement/clueManage/clue_public/modules/add.vue
  11. 4 0
      src/HManagement/clueManage/clue_public/modules/detail.vue
  12. 19 1
      src/HManagement/clueManage/clue_public/modules/edit.vue
  13. 19 2
      src/HManagement/clueManage/m_activity/modules/addClue.vue
  14. 20 3
      src/HManagement/clueManage/m_activity/modules/editClue.vue
  15. 3 5
      src/HManagement/roleManage/modules/table.vue
  16. 27 3
      src/SManagement/orderclue/components/add.vue
  17. 25 4
      src/SManagement/orderclue/components/edit.vue
  18. 1 1
      src/SManagement/orderclue/components/export.vue
  19. 1 1
      src/SManagement/orderclue/components/follow.vue
  20. 1 1
      src/SManagement/orderclue/components/move.vue
  21. 213 0
      src/SManagement/orderclue/components/selectActivity/selectActivity.vue
  22. 1 1
      src/SManagement/orderclue_detail/components/changeData.vue
  23. 1 1
      src/SManagement/orderclue_detail/components/delete.vue
  24. 1 1
      src/SManagement/orderclue_detail/components/noNull.vue
  25. 5 1
      src/SManagement/orderclue_detail/index.vue

+ 3 - 0
src/HDrpManagement/contractManage/components/addContract.vue

@@ -510,6 +510,9 @@ export default {
           } else {
             this.form.type = this.$route.query.type
           }
+          this.form.discountrate ? this.form.discountrate =  (this.form.discountrate / 100).toFixed(4) : ''
+          this.form.productdiscount ? this.form.productdiscount =  (this.form.productdiscount / 100).toFixed(4) : ''
+          this.form.orderratio ? this.form.orderratio =  (this.form.orderratio / 100).toFixed(4) : ''
           let res = await this.$api.requested({
             "id":20221121185302,
             "content": this.form

+ 3 - 0
src/HDrpManagement/contractManage/components/editContract.vue

@@ -507,6 +507,9 @@ export default {
           } else {
             this.form.type = this.$route.query.type
           }
+          this.form.discountrate ? this.form.discountrate =  (parseInt(this.form.discountrate) / 100).toFixed(4) : ''
+          this.form.productdiscount ? this.form.productdiscount =  (parseInt(this.form.productdiscount) / 100).toFixed(4) : ''
+          this.form.orderratio ? this.form.orderratio =  (parseInt(this.form.orderratio) / 100).toFixed(4) : ''
           let res = await this.$api.requested({
             "id":20221121185302,
             "content": this.form

+ 2 - 2
src/HDrpManagement/contractManage/modules/detail.vue

@@ -390,7 +390,7 @@ export default {
           },
           {
             label:'折扣(%)',
-            value:this.mainData.discountrate
+            value:this.mainData.discountrate * 100
           },
           {
             label:'合同有效期',
@@ -549,7 +549,7 @@ export default {
           },
           {
             label:this.mainData.calculatemodel == 1 ? '订单金额比例(%)' : '产品折扣(%)',
-            value:this.mainData.calculatemodel == 1 ? this.mainData.orderratio : this.mainData.productdiscount
+            value:this.mainData.calculatemodel == 1 ? this.mainData.orderratio * 100 : this.mainData.productdiscount *100
           },
           {
             label:'创建时间',

+ 4 - 1
src/HDrpManagement/reportcenter/index.vue

@@ -28,6 +28,7 @@
 </template>
 
 <script>
+import { log } from '@antv/g2plot/lib/utils';
 export default {
   data () {
     return {
@@ -39,7 +40,9 @@ export default {
     listCreate (params) {
       console.log(params,JSON.parse(sessionStorage.getItem('activeApp')).systemappid,'create');
       
-      params.content.systemappid = 1
+      params.content.systemappid = JSON.parse(sessionStorage.getItem('activeApp')).systemappid
+      console.log(params);
+      
     },
     listData (data) {
       console.log(data);

+ 9 - 7
src/HManagement/clueManage/clue_private/index.vue

@@ -1,5 +1,6 @@
 
 <template>
+      <!-- :tableName="value == '经销商' ? 'cluePrivateTable' : 'cluePrivateSalerTable'"  -->
   <div>
     <basicLayout 
       ref="basicLayout" 
@@ -7,7 +8,7 @@
         edit:'HManagement/clueManage/clue_private/modules',
         add:'HManagement/clueManage/clue_private/modules'
       }"
-      :tableName="value == '经销商' ? 'cluePrivateTable' : 'cluePrivateSalerTable'" 
+      tableName="cluePrivateSalerTable" 
       idName="sat_orderclueid" 
       :apiId="{query:20221101094302,del:20221101100502}" 
       :options="options"
@@ -16,11 +17,11 @@
       @listData="listdata"
     >
       <div slot="titleRight" style="display:flex;margin-left:10px">
-        <distribution class="inline-16" v-if="tool.checkAuth($route.name,'distributionAgent')" @onSuccess="$refs.basicLayout.listData()"></distribution>
+        <!-- <distribution class="inline-16" v-if="tool.checkAuth($route.name,'distributionAgent')" @onSuccess="$refs.basicLayout.listData()"></distribution> -->
         <distributionSaler v-if="tool.checkAuth($route.name,'distributionSaler')" @onSuccess="$refs.basicLayout.listData()"></distributionSaler>
       </div>
       <div slot="custom" style="display:flex">
-        <div class="label_center" style="display:flex;margin-right:10px">
+        <!-- <div class="label_center" style="display:flex;margin-right:10px">
           <p class="search__label">人员类别:</p>
           <el-select size="small" v-model="value" placeholder="请选择人员类别" @change="selectChange">
             <el-option
@@ -30,7 +31,7 @@
               :value="item.value">
             </el-option>
           </el-select>
-        </div>
+        </div> -->
         <div class="label_center">
           <p class="search__label">跟进状态:</p>
           <el-select v-model="status" clearable style="margin-right:10px" size="small" placeholder="请选择线索状态" @change="$refs.basicLayout.param.content.pageNumber = 1 ;$refs.basicLayout.param.content.where.status = status;$refs.basicLayout.listData()">
@@ -62,7 +63,7 @@
           <span style="color:#333333" v-else-if="scope.data.column.data[[scope.data.column.columnname]] == '已分配'">{{scope.data.column.data[[scope.data.column.columnname]]}}</span>
         </div>
         <div v-else-if="scope.data.column.columnname == 'province'">
-          <span>{{scope.data.column.data.province}}-{{scope.data.column.data.city}}-{{scope.data.column.data.county}}</span>
+          <span v-if="scope.data.column.data.province.length > 0">{{scope.data.column.data.province}}-{{scope.data.column.data.city}}-{{scope.data.column.data.county}}</span>
         </div>
         <div v-else>
           {{scope.data.column.data[[scope.data.column.columnname]]}}
@@ -84,7 +85,7 @@ export default {
   data () {
     return {
       options:[],
-      value:'经销商',
+      value:'业务员',
       select: [
         {label:'经销商',value:'经销商'},
         {label:'业务员',value:'业务员'}
@@ -108,7 +109,8 @@ export default {
   },
   methods:{
     list (param) {
-      param.content.where.cluetype = '经销商'
+      param.content.where.cluetype = '业务员'
+      param.content.nocache = true
     },
     selectChange () {
       this.$refs.basicLayout.param.content.where.cluetype = this.value

+ 25 - 4
src/HManagement/clueManage/clue_private/modules/add.vue

@@ -19,6 +19,16 @@
               @change="cascaderChange" ref="cascader">
             </el-cascader>
           </el-form-item>
+          <el-form-item label="市场活动" prop="campaign_name">
+            <el-popover
+              placement="bottom"
+              trigger="manual"
+              v-model="activityVisible"
+              width="400">
+              <selectActivity ref="member" :radio="true" @onSelect="centerChange" @onCancel="activityVisible = false"></selectActivity>
+              <el-input readonly type="text" slot="reference" size="small" @focus="activityVisible=true" v-model="param.content.campaign_name"></el-input>
+            </el-popover>
+          </el-form-item>
           <el-form-item label="地址" prop="address">
             <el-input v-model="param.content.address" size="small"></el-input>
           </el-form-item>
@@ -39,11 +49,13 @@
 </template>
 
 <script>
-
+import selectActivity from '@/SManagement/orderclue/components/selectActivity/selectActivity'
 export default {
+  components: {selectActivity},
   data () {
     return {
       drawer: false,
+      activityVisible:false,
       param: {
           "id": 20221205162402,
           "content": {
@@ -58,7 +70,7 @@ export default {
             "notes": "",
             "cluesource": "",
             "sat_campaignid":0,//活动id,当活动id大于0是默认业务员创建
-            "isprivate":1//0表示公海,1表示私域
+            "isprivate":0//0表示公海,1表示私域
           }
       },
       rules: {
@@ -82,6 +94,11 @@ export default {
       return this.arealist()
     }
   },
+  watch: {
+    drawer (val) {
+      !val && this.$refs.ruleForm.resetFields()
+    }
+  },
   methods: {
     onShow () {
       this.drawer = true
@@ -102,7 +119,6 @@ export default {
           }
           let res = await this.$api.requested(this.param)
           this.tool.showMessage(res,() => {
-            this.$refs.ruleForm.resetFields()
             this.drawer = false  
             this.areaSelectResult = []
             this.$emit('onSuccess')
@@ -115,7 +131,12 @@ export default {
     },
     onClose () {
       this.$refs['ruleForm'].resetFields()
-    }
+    },
+    centerChange (data) {
+      this.param.content.campaign_name = data[0].name
+      this.param.content.sat_campaignid = data[0].sat_campaignid
+      this.activityVisible = false
+    },
   }
 }
 

+ 7 - 5
src/HManagement/clueManage/clue_private/modules/detail.vue

@@ -3,10 +3,6 @@
     <basicDetails
         ref="details"
         :titleText="mainData.name"
-        :oldFormPath="{
-          edit:'HManagement/clueManage/clue_private/modules',
-          add:'HManagement/clueManage/clue_private/modules',
-        }"
         :editData="mainData"
         :mainAreaData="mainAreaData"
         turnPageId="20221101094302"
@@ -18,6 +14,7 @@
       <div slot="tags">
       </div>
       <div slot="customOperation">
+        <edit class="inline-16" :data="mainData" @onSuccess="queryMainData" v-if="tool.checkAuth($route.name,'update') && mainData.allocationstatus == '待分配'"/>
         <recall class="inline-16" v-if="mainData.status === '待跟进' || mainData.status === '跟进中' && mainData.isTeam !== '团队' && tool.checkAuth($route.name,'recall')" :data="mainData" @onSuccess="queryMainData"></recall>
       </div>
       <div slot="slot0" class="container normal-panel">
@@ -58,6 +55,7 @@
 <script>
 import BaseInfo from '@/HDrpManagement/projectChange/modules/modules/baseInfo/baseInfo'
 import recall from './recall.vue'
+import edit from './edit'
 export default {
   name: "detail",
   data() {
@@ -75,7 +73,7 @@ export default {
     }
   },
   components:{
-    BaseInfo,recall
+    BaseInfo,recall,edit
   },
   methods:{
     async followRecord () {
@@ -129,6 +127,10 @@ export default {
           label:'来源',
           value:this.mainData.cluesource
         },
+        {
+          label:'市场活动',
+          value:this.mainData.campaign_name
+        },
         {
           label:'负责人',
           value:this.mainData.leadername

+ 19 - 1
src/HManagement/clueManage/clue_private/modules/edit.vue

@@ -22,6 +22,16 @@
               @change="cascaderChange">
             </el-cascader>
           </el-form-item>
+          <el-form-item label="市场活动" prop="sat_campaignid">
+            <el-popover
+              placement="bottom"
+              trigger="manual"
+              v-model="activityVisible"
+              width="400">
+              <selectActivity ref="member" :radio="true" @onSelect="centerChange" @onCancel="activityVisible = false"></selectActivity>
+              <el-input readonly type="text" slot="reference" size="small" @focus="activityVisible=true" v-model="form.campaign_name"></el-input>
+            </el-popover>
+          </el-form-item>
           <el-form-item label="地址">
             <el-input v-model="form.address" autocomplete="off"></el-input>
           </el-form-item>
@@ -42,10 +52,13 @@
 </template>
 
 <script>
+import selectActivity from '@/SManagement/orderclue/components/selectActivity/selectActivity'
 export default {
   props:['data'],
+  components: {selectActivity},
   data () {
     return {
+      activityVisible:false,
       dialogFormVisible:false,
       form:{
         "sat_orderclueid": 0,
@@ -96,7 +109,12 @@ export default {
     cascaderChange (val) {
       this.form.province = val
       
-    }
+    },
+    centerChange (data) {
+      this.form.campaign_name = data[0].name
+      this.form.sat_campaignid = data[0].sat_campaignid
+      this.activityVisible = false
+    },
   },
   mounted () {
   }

+ 1 - 1
src/HManagement/clueManage/clue_private/modules/recall.vue

@@ -1,5 +1,5 @@
 <template>
-  <div class="inline-16" style="width:100%">
+  <div class="inline-16">
     <el-popconfirm
       title="确定撤回当前线索吗?"
       @confirm="revoke()">

+ 19 - 2
src/HManagement/clueManage/clue_public/modules/add.vue

@@ -19,6 +19,16 @@
               @change="cascaderChange" ref="cascader">
             </el-cascader>
           </el-form-item>
+          <el-form-item label="市场活动" prop="campaign_name">
+            <el-popover
+              placement="bottom"
+              trigger="manual"
+              v-model="activityVisible"
+              width="400">
+              <selectActivity ref="member" :radio="true" @onSelect="centerChange" @onCancel="activityVisible = false"></selectActivity>
+              <el-input readonly type="text" slot="reference" size="small" @focus="activityVisible=true" v-model="param.content.campaign_name"></el-input>
+            </el-popover>
+          </el-form-item>
           <el-form-item label="地址" prop="address">
             <el-input v-model="param.content.address" size="small"></el-input>
           </el-form-item>
@@ -39,11 +49,13 @@
 </template>
 
 <script>
-
+import selectActivity from '@/SManagement/orderclue/components/selectActivity/selectActivity'
 export default {
+  components: {selectActivity},
   data () {
     return {
       drawer: false,
+      activityVisible:false,
       param: {
         "id":20221205162402,
         "content": {
@@ -108,7 +120,12 @@ export default {
     },
     onClose () {
       this.$refs['ruleForm'].resetFields()
-    }
+    },
+    centerChange (data) {
+      this.param.content.campaign_name = data[0].name
+      this.param.content.sat_campaignid = data[0].sat_campaignid
+      this.activityVisible = false
+    },
   }
 }
 

+ 4 - 0
src/HManagement/clueManage/clue_public/modules/detail.vue

@@ -192,6 +192,10 @@ export default {
           label:'来源',
           value:this.mainData.cluesource
         },
+        {
+          label:'市场活动',
+          value:this.mainData.campaign_name
+        },
         {
           label:'所属经销商',
           value:this.mainData.enterprisename

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

@@ -22,6 +22,16 @@
               @change="cascaderChange">
             </el-cascader>
           </el-form-item>
+          <el-form-item label="市场活动" prop="sat_campaignid">
+            <el-popover
+              placement="bottom"
+              trigger="manual"
+              v-model="activityVisible"
+              width="400">
+              <selectActivity ref="member" :radio="true" @onSelect="centerChange" @onCancel="activityVisible = false"></selectActivity>
+              <el-input readonly type="text" slot="reference" size="small" @focus="activityVisible=true" v-model="form.campaign_name"></el-input>
+            </el-popover>
+          </el-form-item>
           <el-form-item label="地址">
             <el-input v-model="form.address" autocomplete="off"></el-input>
           </el-form-item>
@@ -43,10 +53,13 @@
 </template>
 
 <script>
+import selectActivity from '@/SManagement/orderclue/components/selectActivity/selectActivity'
 export default {
+  components: {selectActivity},
   props:['data','type'],
   data () {
     return {
+      activityVisible:false,
       dialogFormVisible:false,
       rule:{
         phonenumber:[
@@ -85,7 +98,12 @@ export default {
     },
     cascaderChange (val) {
       this.form.province = val
-    }
+    },
+    centerChange (data) {
+      this.form.campaign_name = data[0].name
+      this.form.sat_campaignid = data[0].sat_campaignid
+      this.activityVisible = false
+    },
   },
   mounted () {
     

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

@@ -27,6 +27,16 @@
             @change="cascaderChange">
           </el-cascader>
           </el-form-item>
+          <el-form-item label="市场活动" prop="sat_campaignid">
+            <el-popover
+              placement="bottom"
+              trigger="manual"
+              v-model="activityVisible"
+              width="400">
+              <selectActivity ref="member" :radio="true" @onSelect="centerChange" @onCancel="activityVisible = false"></selectActivity>
+              <el-input readonly type="text" slot="reference" size="small" @focus="activityVisible=true" v-model="form.campaign_name"></el-input>
+            </el-popover>
+          </el-form-item>
           <el-form-item label="地址" prop="address">
             <el-input v-model="form.address" placeholder="请输入地址"></el-input>
           </el-form-item>
@@ -47,12 +57,14 @@
 </template>
 
 <script>
-
+import selectActivity from '@/SManagement/orderclue/components/selectActivity/selectActivity'
 export default {
   props:['disabled'],
+  components: {selectActivity},
   data () {
     return {
       drawer:false,
+      activityVisible:false,
       form:{
         "sat_orderclueid": 0,
         "enterprisename":"",
@@ -103,7 +115,12 @@ export default {
     },
     cascaderChange (val) {
       this.form.province = val
-    }
+    },
+    centerChange (data) {
+      this.form.campaign_name = data[0].name
+      this.form.sat_campaignid = data[0].sat_campaignid
+      this.activityVisible = false
+    },
   }
 }
 

+ 20 - 3
src/HManagement/clueManage/m_activity/modules/editClue.vue

@@ -27,6 +27,16 @@
             @change="cascaderChange">
           </el-cascader>
           </el-form-item>
+          <el-form-item label="市场活动" prop="sat_campaignid">
+            <el-popover
+              placement="bottom"
+              trigger="manual"
+              v-model="activityVisible"
+              width="400">
+              <selectActivity ref="member" :radio="true" @onSelect="centerChange" @onCancel="activityVisible = false"></selectActivity>
+              <el-input readonly type="text" slot="reference" size="small" @focus="activityVisible=true" v-model="form.campaign_name"></el-input>
+            </el-popover>
+          </el-form-item>
           <el-form-item label="地址" prop="address">
             <el-input v-model="form.address" placeholder="请输入地址"></el-input>
           </el-form-item>
@@ -47,11 +57,13 @@
 </template>
 
 <script>
-
+import selectActivity from '@/SManagement/orderclue/components/selectActivity/selectActivity'
 export default {
+  components: {selectActivity},
   data () {
     return {
       drawer:false,
+      activityVisible:false,
       form:{
         "sat_orderclueid": 0,
         "enterprisename":"",
@@ -83,13 +95,13 @@ export default {
       this.form = Object.assign({},this.form,this.data)
       this.form.enterprisename = this.data.enterprisename_customer
       this.form.province = [this.form.province,this.form.city,this.form.county]
+      this.form.sat_campaignid = this.$route.query.id
       console.log(this.form);
       
     },
     add () {
       this.$refs['form'].validate(async (valid) => {
         if (!valid) return false
-        this.form.sat_campaignid = this.$route.query.id
         if(this.form.province.length > 0) {
           this.form.city = this.form.province[1]
           this.form.county = this.form.province[2]
@@ -108,7 +120,12 @@ export default {
     },
     cascaderChange (val) {
       this.form.province = val
-    }
+    },
+    centerChange (data) {
+      this.form.campaign_name = data[0].name
+      this.form.sat_campaignid = data[0].sat_campaignid
+      this.activityVisible = false
+    },
   }
 }
 

+ 3 - 5
src/HManagement/roleManage/modules/table.vue

@@ -44,11 +44,9 @@ export default {
   },
   watch: {
     data (val) {
-      console.log(val);
-      
       this.data.forEach((row) => {
         this.allArr.forEach(item => {
-          if (row.itemid == item.itemid) {
+          if (row.sys_reportid == item.sys_reportid) {
             this.$nextTick(() => {
               this.$refs["tables"].toggleRowSelection(row, true);
             })
@@ -62,7 +60,7 @@ export default {
   },
   methods:{
     aaaa(e,a) {
-      let index = this.allArr.findIndex(v=>v.itemid == a.itemid)
+      let index = this.allArr.findIndex(v=>v.sys_reportid == a.sys_reportid)
       if(index == -1) {
         this.allArr.push(a)
       } else {
@@ -78,7 +76,7 @@ export default {
         })
       } else {
         val.forEach(item => {
-          let res = this.allArr.every(item2 => item.itemid != item2.itemid)
+          let res = this.allArr.every(item2 => item.sys_reportid != item2.sys_reportid)
           res ? this.allArr.push(item) : ''
         })
       }

+ 27 - 3
src/SManagement/orderclue/components/add.vue

@@ -19,6 +19,16 @@
               @change="cascaderChange" ref="cascader">
             </el-cascader>
           </el-form-item>
+          <el-form-item label="市场活动" prop="sat_campaignid">
+            <el-popover
+              placement="bottom"
+              trigger="manual"
+              v-model="activityVisible"
+              width="400">
+              <selectActivity ref="member" :radio="true" @onSelect="centerChange" @onCancel="activityVisible = false"></selectActivity>
+              <el-input readonly type="text" slot="reference" size="small" @focus="activityVisible=true" v-model="param.content.campaign_name"></el-input>
+            </el-popover>
+          </el-form-item>
           <el-form-item label="地址" prop="address">
             <el-input v-model="param.content.address" size="small"></el-input>
           </el-form-item>
@@ -39,10 +49,12 @@
 </template>
 
 <script>
-
+import selectActivity from '@/SManagement/orderclue/components/selectActivity/selectActivity'
 export default {
+  components: {selectActivity},
   data () {
     return {
+      activityVisible:false,
       drawer: false,
       param: {
         "id":20221205162402,
@@ -57,7 +69,9 @@ export default {
             "address": "",
             "notes": "",
             "cluesource": "",
-            "isprivate":1
+            "sat_campaignid":0,
+            "isprivate":1,
+            "campaign_name":''
         }
       },
       rules: {
@@ -81,6 +95,11 @@ export default {
       return this.arealist()
     }
   },
+  watch: {
+    drawer (val) {
+      !val && this.$refs.ruleForm.resetFields()
+    }
+  },
   methods: {
     onShow () {
       this.drawer = true
@@ -114,7 +133,12 @@ export default {
     },
     onClose () {
       this.$refs['ruleForm'].resetFields()
-    }
+    },
+    centerChange (data) {
+      this.param.content.campaign_name = data[0].name
+      this.param.content.sat_campaignid = data[0].sat_campaignid
+      this.activityVisible = false
+    },
   }
 }
 

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

@@ -1,6 +1,6 @@
 <template>
   <div class="edit">
-    <el-button size="mini" :disabled="!isHandle" @click="editBtn">编 辑</el-button>
+    <el-button size="mini" type="primary" :disabled="!isHandle" @click="editBtn">编 辑</el-button>
     <el-drawer title="编辑线索" :visible.sync="drawer" size="30%" direction="rtl" append-to-body>
       <div class="drawer__panel">
         <el-form :model="param" :rules="rules" ref="ruleForm" label-width="80px" class="demo-ruleForm"
@@ -19,6 +19,16 @@
               @change="cascaderChange">
             </el-cascader>
           </el-form-item>
+          <el-form-item label="市场活动" prop="sat_campaignid">
+            <el-popover
+              placement="bottom"
+              trigger="manual"
+              v-model="activityVisible"
+              width="400">
+              <selectActivity ref="member" :radio="true" @onSelect="centerChange" @onCancel="activityVisible = false"></selectActivity>
+              <el-input readonly type="text" slot="reference" size="small" @focus="activityVisible=true" v-model="param.campaign_name"></el-input>
+            </el-popover>
+          </el-form-item>
           <el-form-item label="地址" prop="address">
             <el-input v-model="param.address" size="mini"></el-input>
           </el-form-item>
@@ -39,11 +49,13 @@
 </template>
 
 <script>
-
+import selectActivity from '@/SManagement/orderclue/components/selectActivity/selectActivity'
 export default {
+  components: {selectActivity},
   data () {
     return {
       drawer: false,
+      activityVisible:false,
       param: {
         "sat_orderclueid": 0,
         "enterprisename":"",
@@ -89,6 +101,8 @@ export default {
     }
   },
   created () {
+  },
+  mounted () {
     this.isHandleFun()
   },
   watch: {
@@ -112,8 +126,10 @@ export default {
   methods: {
     isHandleFun () {
       let is 
+      console.log(this.data);
+      
       if(this.data.leader.length <= 0 ) return
-      if(this.data.leader && JSON.parse(window.sessionStorage.getItem('userInfo')).userid == this.data.leader[0].userid) {
+      if(JSON.parse(window.sessionStorage.getItem('userInfo')).userid == this.data.leader[0].userid) {
         is = true
         if(this.data.status == '待跟进' || this.data.status == '跟进中') {
           is = true
@@ -166,7 +182,12 @@ export default {
     cascaderChange (result) {
       this.areaSelectResult = result
 
-    }
+    },
+    centerChange (data) {
+      this.param.campaign_name = data[0].name
+      this.param.sat_campaignid = data[0].sat_campaignid
+      this.activityVisible = false
+    },
   },
 }
 

+ 1 - 1
src/SManagement/orderclue/components/export.vue

@@ -1,6 +1,6 @@
 <template>
   <div>
-    <el-button type="success" size="small" icon="el-icon-download" style="margin-left:10px" @click="submit()">导 出</el-button>
+    <el-button type="primary" size="small" icon="el-icon-download" style="margin-left:10px" @click="submit()">导 出</el-button>
   </div>
 </template>
 

+ 1 - 1
src/SManagement/orderclue/components/follow.vue

@@ -1,6 +1,6 @@
 <template>
   <div class="follow" style="margin-right:10px">
-    <el-button size="mini" @click="followBtn" :disabled="disabled">跟进</el-button>
+    <el-button size="mini" type="primary" @click="followBtn" :disabled="disabled">跟进</el-button>
     <el-drawer title="线索跟进" append-to-body :visible.sync="dialogVisible" size="30%" :before-close="handleClose">
       <div class="drawer__panel">
         <el-form :model="param" :rules="rules" ref="ruleForm" label-width="110px" class="demo-ruleForm"

+ 1 - 1
src/SManagement/orderclue/components/move.vue

@@ -1,6 +1,6 @@
 <template>
   <div class="move" style="margin-right:10px">
-    <el-button size="mini" @click="moveBtn">转移</el-button>
+    <el-button size="mini" type="primary" @click="moveBtn">转移</el-button>
     <el-dialog title="转移" append-to-body :visible.sync="dialogVisible" width="500px" :before-close="handleClose">
       <div class="handle">
         <p class="title">团队成员</p>

+ 213 - 0
src/SManagement/orderclue/components/selectActivity/selectActivity.vue

@@ -0,0 +1,213 @@
+<template>
+<div>
+	<!-- <el-input class="normal-margin" type="text" v-model="search" @keyup.native.enter="listData" suffix-icon="el-icon-search" size="small" placeholder="输入成员名称">
+    <div slot="prepend">
+      <el-tag type="info" size="mini" closable v-for="item in selected" :key="item.index">{{item.name}}</el-tag>
+    </div>
+  </el-input> -->
+  <div class="search_input normal-margin">
+    <div class="tag flex-align-center" type="primary" size="mini" closable v-for="item in selected" :key="item.index">
+      <div class="avatar-mini">
+        <img class="avatar__image" v-if="item.headpic" :src="item.headpic" alt="">
+        <p v-else>{{item.name}}</p>
+      </div>
+      <p class="inline-16">{{item.name}}</p>
+      <b><i class="el-icon-close" @click="closeTag(item)"></i></b>
+    </div>
+    <input class="input_panel" type="text" v-model="search" @keyup.enter="listData" placeholder="输入搜索内容">
+  </div>
+	<div class="flex-align-stretch menber__panel">
+		<div class="flex-align-center menber__item flex-between" :class="showSelelctIcon(item)?'active_menber__item':''" style="flex:1 0 auto" v-for="item in tableData" :key="item.index" @click="clickMenber(item)">
+			<div  class="flex-align-center">
+				<div class="avatar inline-16">
+					<img class="avatar__image" v-if="item.headpic" :src="item.headpic" alt="">
+					<p v-else>{{item.name}}</p>
+				</div>
+				<div>
+					<p>{{ item.name }}</p>
+					<small style="color:#999999ad;margin-top:10px">活动类型:{{ item.type?item.type:"暂无" }}&emsp;地址:{{ item.address?item.address:"暂无" }}</small>
+				</div>
+			</div>
+			<i class="el-icon-check iconCheck" v-if="showSelelctIcon(item)"></i>
+		</div>
+	</div>
+  <el-empty v-if="tableData.length === 0" description="暂无数据" :image-size="40"></el-empty>
+  <el-button size="mini" type="text" style="margin-top:16px;float:right" @click="onCancel">取 消</el-button>
+	<el-button size="mini" type="primary" style="margin-top:16px;float:right;margin-right:10px" @click="onSelect">确 定</el-button>
+ 	<div style="margin-top:16px;text-align:left">
+    <el-pagination
+    background
+    small
+    @size-change="handleSizeChange"
+    @current-change="handleCurrentChange"
+    :current-page="currentPage"
+    :page-size="params.content.pageSize"
+    layout="total, prev, pager, next"
+    :total="total">
+    </el-pagination>
+</div>
+</div>
+</template>
+
+<script>
+export default {
+	props:['radio','checked'],
+  data () {
+    return {
+      search:'',
+      tableData: [],
+      total:0,
+      currentPage:0,
+      selected:[],
+      params: {
+        "id":20221101095102,
+        "content": {
+          'isAll':0,
+          "pageNumber":1,
+          "pageSize":20,
+          "where": {
+            'condition':''
+          }
+        }
+      }
+    }
+  },
+  components:{
+  },
+  methods:{
+    async listData () {
+			this.params.content.where.condition = this.search
+      const res = await this.$api.requested(this.params)
+      this.tableData = res.data
+      this.total = res.total
+      this.currentPage = res.pageNumber
+      console.log(this.tableData);
+      
+    },
+    handleSizeChange(val) {
+      // console.log(`每页 ${val} 条`);
+      this.params.content.pageSize = val
+      this.listData()
+    },
+    handleCurrentChange(val) {
+      // console.log(`当前页: ${val}`);
+      this.params.content.pageNumber = val
+      this.listData()
+    },
+		clickMenber (item) {
+			if (this.radio) {
+				this.selected = []
+			}
+			let _isSame = this.selected.some(m=>item.sat_campaignid === m.sat_campaignid)
+			if (!_isSame) {
+				this.selected.push(item)
+			} else {
+				this.selected = this.selected.filter(e=>{
+					return e.sat_campaignid !== item.sat_campaignid
+				})
+			}
+		},
+		showSelelctIcon (item) {
+			let _isSame = this.selected.some(m=>item.sat_campaignid === m.sat_campaignid)
+			return _isSame
+		},
+		onSelect () {
+			this.$emit('onSelect',this.selected)
+		},
+    closeTag (item) {
+      this.selected = this.selected.filter(e=>{
+        return e.sat_campaignid !== item.sat_campaignid
+      })
+    },
+    onCancel () {
+      this.$emit('onCancel')
+    }
+  },
+  mounted () {
+    this.listData()
+  }
+}
+
+</script>
+<style>
+</style>
+<style scoped>
+.search_input{
+  display: flex;
+  align-items: center;
+  flex-wrap: wrap;
+  padding: 8px 8px 0 8px;
+  border: 1px solid #f1f2f3;
+  border-radius: 5px;
+}
+.input_panel{
+  flex: 1;
+  min-width: 100px;
+  border:none;
+  outline: none;
+  margin-bottom: 8px;
+  color:#666
+}
+.menber__item{
+	width: calc(100% - 20px);
+	padding:5px 10px;
+	border-radius: 5px;
+	cursor: pointer;
+	color:#666;
+	margin-bottom: 5px;
+	transition: .2s linear;
+}
+.menber__item:hover{
+	background: #b5e4ff6e;
+}
+.active_menber__item{
+	background: #b5e4ff6e;
+}
+.menber__panel {
+	max-height: 300px;
+	overflow-y:scroll ;
+}
+.avatar{
+  position: relative;
+  height:30px;
+  width: 30px;
+  border-radius: 100%;
+  text-align: center;
+  line-height: 30px;
+  color:#fff;
+  font-weight: 500;
+  background: #3874F6;
+  cursor: pointer;
+  overflow: hidden;
+}
+.avatar__image{
+  height: 100%;
+  width: 100%;
+}
+.avatar-mini{
+  position: relative;
+  height:20px;
+  width: 20px;
+  line-height: 20px;
+  text-align: center;
+  margin-right: 5px;
+  color:#fff;
+  font-size: 12px;
+  font-weight: 500;
+  border-radius: 100%;
+  background: #3874F6;
+}
+.iconCheck{
+	font-weight: bold;
+	color:#3874F6
+}
+.tag{
+  font-size: 12px;
+  color:#666;
+  padding: 5px;
+  border-radius: 3px;
+  margin:0 5px 8px 0;
+  background: #b5e4ff6e;
+  cursor: pointer;
+}
+</style>

+ 1 - 1
src/SManagement/orderclue_detail/components/changeData.vue

@@ -1,6 +1,6 @@
 <template>
   <div>
-    <el-button size="mini" @click="dialog=true" :disabled="disabled">转 化</el-button>
+    <el-button size="mini" type="primary" @click="dialog=true" :disabled="disabled">转 化</el-button>
     <el-dialog append-to-body width="30%" title="转化为项目商机" :visible.sync="dialog">
       <el-form :model="form" :rules="rules" ref="form" label-width="90px" label-position="right" size="mini">
           <el-col :span="24">

+ 1 - 1
src/SManagement/orderclue_detail/components/delete.vue

@@ -1,6 +1,6 @@
 <template>
   <div>
-    <el-button size="mini" @click="dialog=true" :disabled="disabled">作 废</el-button>
+    <el-button size="mini" type="primary" @click="dialog=true" :disabled="disabled">作 废</el-button>
     <el-dialog append-to-body width="30%" title="作废" :visible.sync="dialog">
       <el-input type="textarea" v-model="deletereason" size="small" :autosize="{minRows:6}" placeholder="作废原因"></el-input>
       <div class="dialog-footer">

+ 1 - 1
src/SManagement/orderclue_detail/components/noNull.vue

@@ -1,6 +1,6 @@
 <template>
   <div class="inline-16">
-    <el-button size="mini" :disabled="disabled" @click="dialog=true">无 效</el-button>
+    <el-button size="mini" type="primary" :disabled="disabled" @click="dialog=true">无 效</el-button>
     <el-dialog append-to-body width="30%" title="无效" :visible.sync="dialog">
       <el-input type="textarea" v-model="deletereason" size="small" placeholder="无效原因"></el-input>
       <div class="dialog-footer">

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

@@ -25,7 +25,7 @@
           :teamList="teamList()"  
           v-if="userInfo.isAuth == 1 ? mainData.status == '待跟进' || mainData.status == '跟进中' : ''"></move> -->
         <changeData v-if="tool.checkAuth($route.name,'change')" :data="mainData" :disabled="!isHandle" class="inline-16"/>
-        <el-button v-if="tool.checkAuth($route.name,'goBack')" :disabled="!isHandle" class="inline-16" size="mini" @click="goBack">退 回</el-button>
+        <el-button type="primary" v-if="tool.checkAuth($route.name,'goBack')" :disabled="!isHandle" class="inline-16" size="mini" @click="goBack">退 回</el-button>
         <noNull v-if="tool.checkAuth($route.name,'change')" class="inline-16" :disabled="!isHandle" @onSuccess="$store.dispatch('changeDetailDrawer',false);$router.replace('/orderclue')" :id="mainData.sat_orderclueid"/>
         <Del v-if="tool.checkAuth($route.name,'delete')" class="inline-16" :disabled="!isHandle" :idName="20221123193702" @onSuccess="$store.dispatch('changeDetailDrawer',false);$router.replace('/orderclue')" :id="mainData.sat_orderclueid" idKey="sat_orderclueids"/>
       </div>
@@ -124,6 +124,10 @@ export default {
           label:'来源',
           value:this.mainData.cluesource
         },
+        {
+          label:'市场活动',
+          value:this.mainData.campaign_name
+        },
         {
           label:'负责人',
           value:this.mainData.leader.length > 0 && this.mainData.leader[0].name