فهرست منبع

销售线索、公海线索、线索管理调整

qymljy 2 سال پیش
والد
کامیت
2dbc035c85

+ 32 - 6
src/HManagement/clueManage/clue_private/index.vue

@@ -23,7 +23,7 @@
         <distributionSaler v-if="tool.checkAuth($route.name,'distributionSaler')" @onSuccess="$refs.basicLayout.listData($refs.basicLayout.param.content.pageNumber = 1)" class="inline-16"></distributionSaler>
         <changeSite v-if="tool.checkAuth($route.name,'changeSite')" class="inline-16" :selectList="selectList" @onSuccess="$refs.basicLayout.listData($refs.basicLayout.param.content.pageNumber = 1)"></changeSite>
       </div>
-      <div slot="custom" style="display:flex">
+      <template #custom>
         <!-- <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">
@@ -35,14 +35,14 @@
             </el-option>
           </el-select>
         </div> -->
-        <div class="label_center">
+        <div class="mt-10">
           <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()">
             <el-option v-for="item in statusList" :label="item.value" :key="item.rowindex" :value="item.remarks">
             </el-option>
           </el-select>
         </div>
-        <div class="label_center">
+        <div class="mt-10">
           <p class="search__label">分配状态:</p>
           <el-select v-model="allocationstatus" clearable style="margin-right:10px" size="small" placeholder="请选择线索状态" @change="$refs.basicLayout.param.content.pageNumber = 1 ;$refs.basicLayout.param.content.where.allocationstatus = allocationstatus;$refs.basicLayout.listData()">
             <el-option label="待分配" value="待分配">
@@ -51,14 +51,21 @@
             </el-option>
           </el-select>
         </div>
-        <div class="label_center">
+        <div class="mt-10">
           <p class="search__label">领域:</p>
           <el-select v-model="tradefield" clearable style="margin-right:10px" size="small" placeholder="请选择领域" @change="$refs.basicLayout.param.content.pageNumber = 1 ;$refs.basicLayout.param.content.where.tradefield = tradefield;$refs.basicLayout.listData()">
             <el-option v-for="item in tradefields" :label="item.value" :key="item.rowindex" :value="item.value">
             </el-option>
           </el-select>
         </div>
-      </div>
+        <div class="mt-10">
+          <p class="search__label">标签:</p>
+          <el-select v-model="tag" clearable style="margin-right:10px" size="small" placeholder="请选择标签" @change="$refs.basicLayout.param.content.pageNumber = 1 ;$refs.basicLayout.param.content.where.tag = tag;$refs.basicLayout.listData()">
+            <el-option v-for="item in tagData" :label="item.tag" :key="item.tag" :value="item.tag">
+            </el-option>
+          </el-select>
+        </div>
+      </template>
       <template v-slot:tbList="scope">
         <div v-if="scope.data.column.columnname == 'status'">
           <span style="color:#999999" v-if="scope.data.column.data[[scope.data.column.columnname]] == '已过期'">{{scope.data.column.data[[scope.data.column.columnname]]}}</span>
@@ -137,7 +144,9 @@ export default {
       allocationstatus:'',
       arealist:[],
       tradefields:[],
-      selectList:[]
+      selectList:[],
+      tagData:[],
+      tag:''
     }
   },
   provide() {
@@ -151,6 +160,7 @@ export default {
     const res3 = await this.$store.dispatch('optiontypeselect','tradefield')
     this.tradefields = res3.data
     this.query_arealist()
+    this.tagList()
   },
   methods:{
     list (param) {
@@ -176,6 +186,22 @@ export default {
 
       this.arealist = this.tool.createMenu(res.data)
     },
+    /*标签列表*/
+    async tagList(){
+      const res = await this.$api.requested({
+        "id":20221013104401,
+        "content":{
+          "isExport":1,
+          "pageNumber":1,
+          "pageSize":100,
+          "sys_systemtagid":14,
+          "where":{
+            "condition":""
+          }
+        }
+      })
+      this.tagData = res.data
+    },
     listdata(data) {
       console.log(data);
 

+ 7 - 2
src/HManagement/clueManage/clue_private/modules/add.vue

@@ -446,8 +446,13 @@ export default {
     },
     /*已选项目*/
     selectProject(id,name){
-      this.param.content.sa_projectid = id
-      this.param.content.projectname = name
+      if (name !== ''){
+        this.param.content.sa_projectid = id
+        this.param.content.projectname = name
+      }else {
+        this.param.content.sa_projectid = id
+      }
+
     }
   },
 

+ 6 - 2
src/HManagement/clueManage/clue_private/modules/edit.vue

@@ -430,8 +430,12 @@ export default {
     },
     /*已选项目*/
     selectProject(id,name){
-      this.form.sa_projectid = id
-      this.form.projectname = name
+      if (name !== ''){
+        this.form.sa_projectid = id
+        this.form.projectname = name
+      }else {
+        this.form.sa_projectid = id
+      }
     }
   },
   mounted () {

+ 31 - 5
src/HManagement/clueManage/clue_public/index.vue

@@ -15,22 +15,29 @@
       @listCreate="list"
       @checkboxCallBack="checkboxCallBack"
     >
-    <div slot="custom" style="display:flex">
-      <div class="label_center">
+    <template #custom>
+      <div class="mt-10">
         <p class="search__label">领域:</p>
         <el-select v-model="tradefield" clearable style="margin-right:10px" size="small" placeholder="请选择领域" @change="$refs.basicLayout.param.content.pageNumber = 1 ;$refs.basicLayout.param.content.where.tradefield = tradefield;$refs.basicLayout.listData()">
           <el-option v-for="item in tradefields" :label="item.value" :key="item.rowindex" :value="item.value">
           </el-option>
         </el-select>
       </div>
-      <div class="label_center">
+      <div class="mt-10">
         <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()">
           <el-option label="待跟进"  value="待跟进"></el-option>
           <el-option label="已过期"  value="已过期"></el-option>
         </el-select>
       </div>
-    </div>
+      <div class="mt-10">
+        <p class="search__label">标签:</p>
+        <el-select v-model="tag" clearable style="margin-right:10px" size="small" placeholder="请选择标签" @change="$refs.basicLayout.param.content.pageNumber = 1 ;$refs.basicLayout.param.content.where.tag = tag;$refs.basicLayout.listData()">
+          <el-option v-for="item in tagData" :label="item.tag" :key="item.tag" :value="item.tag">
+          </el-option>
+        </el-select>
+      </div>
+    </template>
       <div slot="titleRight" >
         <!-- <distribution class="inline-16" v-if="tool.checkAuth($route.name,'distribution')" @onSuccess="$refs.basicLayout.listData()"></distribution> -->
         <distributionSaler v-if="tool.checkAuth($route.name,'distributionSaler')" @onSuccess="$refs.basicLayout.listData()" class="inline-16"></distributionSaler>
@@ -107,7 +114,9 @@ export default {
       arealist:[],
       tradefield:'',
       tradefields:[],
-      selectList:[]
+      selectList:[],
+      tagData:[],
+      tag:''
     }
   },
   provide() {
@@ -124,6 +133,7 @@ export default {
     const res3 = await this.$store.dispatch('optiontypeselect','tradefield')
     this.tradefields = res3.data
     this.query_arealist()
+    this.tagList()
   },
   methods: {
     statusChange () {
@@ -142,6 +152,22 @@ export default {
       })
       this.arealist = this.tool.createMenu(res.data)
     },
+    /*标签列表*/
+    async tagList(){
+      const res = await this.$api.requested({
+        "id":20221013104401,
+        "content":{
+          "isExport":1,
+          "pageNumber":1,
+          "pageSize":100,
+          "sys_systemtagid":14,
+          "where":{
+            "condition":""
+          }
+        }
+      })
+      this.tagData = res.data
+    },
     checkboxCallBack(row){
       console.log(row,'已选数据')
       this.selectList = row

+ 12 - 11
src/HManagement/marketing2/agent/index.vue

@@ -4,23 +4,24 @@
     <areaTree ref="arealist" style="width:250px;flex:0 1 auto" @onClick="onClick">
     </areaTree>
     <div class="hm-info-panel">
-      <basicLayout 
-        ref="basicLayout" 
+      <basicLayout
+        ref="basicLayout"
         formPath="marketing2/agent"
-        tableName="agentTable" 
+        tableName="agentTable"
         idName="sa_agentsid"
         :detailPath="{path:'/agent_detail'}"
         :apiId="{query:20221011144903,del:20221011145003}"
         :autoQuery="false"
         :options="options"
+        :isExport="false"
         @listCreate="list">
         <div slot="titleRight">
-          <importFile 
-            ref="importFile" 
-            class="inline-16" 
-            :bindData="{ownertable:'sa_agents',ownerid:$route.query.id,usetype:'default'}" 
-            :errorUrl="errorUrl" 
-            @clearUrl="errorUrl = null" 
+          <importFile
+            ref="importFile"
+            class="inline-16"
+            :bindData="{ownertable:'sa_agents',ownerid:$route.query.id,usetype:'default'}"
+            :errorUrl="errorUrl"
+            @clearUrl="errorUrl = null"
             @onSuccess="bindImportOrder"
             v-if="tool.checkAuth($route.name,'export')"
           ></importFile>
@@ -222,7 +223,7 @@ export default {
         this.$refs['basicLayout'].listData()
         this.$store.dispatch('sendDataToForm',data)
       }
-      
+
     },
     onSuccess () {
       this.$refs.arealist.query_arealist()
@@ -271,4 +272,4 @@ export default {
 
   margin-right: 10px;
 }
-</style>
+</style>

+ 27 - 1
src/SManagement/orderclue/index.vue

@@ -51,6 +51,13 @@
           </el-option>
         </el-select>
       </div>
+      <div class="mt-10">
+        <p class="search__label">标签:</p>
+        <el-select v-model="tag" clearable style="margin-right:10px" size="small" placeholder="请选择标签" @change="$refs.basicLayout.param.content.pageNumber = 1 ;$refs.basicLayout.param.content.where.tag = tag;$refs.basicLayout.listData()">
+          <el-option v-for="item in tagData" :label="item.tag" :key="item.tag" :value="item.tag">
+          </el-option>
+        </el-select>
+      </div>
     </template>
       <template v-slot:tbList="scope">
         <div v-if="scope.data.column.columnname == 'status'">
@@ -118,7 +125,9 @@ export default {
       statusList:[],
       tradefield:'',
       tradefields:[],
-      selectList:[]
+      selectList:[],
+      tagData:[],
+      tag:''
     }
   },
   provide() {
@@ -132,6 +141,7 @@ export default {
     this.query_arealist()
     this.queryUserInfo()
     this.querytemplet()
+    this.tagList()
    /* const res = await this.$store.dispatch('optiontypeselect','dataarea')
     this.areaList2 = res.data*/
 
@@ -219,6 +229,22 @@ export default {
       }
       this.areaChange()
     },
+    /*标签列表*/
+    async tagList(){
+      const res = await this.$api.requested({
+        "id":20221013104401,
+        "content":{
+          "isExport":1,
+          "pageNumber":1,
+          "pageSize":100,
+          "sys_systemtagid":14,
+          "where":{
+            "condition":""
+          }
+        }
+      })
+      this.tagData = res.data
+    },
     checkboxCallBack(row){
       console.log(row,'已选数据')
       this.selectList = row

+ 2 - 2
src/components/attachment_list/index.vue

@@ -43,11 +43,11 @@
           </div>
           <div v-else>
             <el-button type="text" size="small" @click="download(scope.row)" :disabled="status === '已失败' || status === '已结案'">下 载</el-button>
-            <el-button :disabled="onlyread || status === '已失败' || status === '已结案' || scope.row.document.match('授权书【IBP')" class="inline-16" type="text" size="small" @click="editAttachment(scope.row)" >编 辑</el-button>
+            <el-button :disabled="onlyread || status === '已失败' || status === '已结案' " class="inline-16" type="text" size="small" @click="editAttachment(scope.row)" >编 辑</el-button>
             <el-popconfirm
               title="确定删除当前附件吗?"
               @confirm="deleteAttachment(scope.row)">
-              <el-button :disabled="onlyread || status === '已失败' || status === '已结案' || scope.row.document.match('授权书【IBP')" slot="reference" size="small" type="text" >删 除</el-button>
+              <el-button :disabled="onlyread || status === '已失败' || status === '已结案' || scope.row.usetype === 'undelete'" slot="reference" size="small" type="text" >删 除</el-button>
             </el-popconfirm>
           </div>
         </template>

+ 25 - 13
src/template/clueModel/project.vue

@@ -2,7 +2,7 @@
   <div>
     <el-popover
         placement="top"
-        width="600"
+        width="750"
         trigger="click"
         v-model="popoverShow">
       <el-input style="width:200px;" placeholder="搜索" :suffix-icon="param.content.where.condition?param.content.where.condition.length > 0?'':'':'el-icon-search'" v-model="param.content.where.condition" @keyup.native.enter="listData(param.content.pageNumber = 1)" @clear="listData(param.content.pageNumber = 1)" size="small" class="input-with-select inline-16 layout_search__panel" clearable>
@@ -16,19 +16,27 @@
           <p v-else>{{scope.column.data[scope.column.columnname]?scope.column.data[scope.column.columnname]:'--'}}</p>
         </template>
       </tableList>
-      <div  class="container normal-panel" style="text-align:right">
-        <el-pagination
-            background
-            @size-change="handleSizeChange"
-            @current-change="handleCurrentChange"
-            :current-page="param.content.pageNumber"
-            :page-sizes="[20, 50, 100, 200]"
-            :page-size="20"
-            layout="total,sizes, prev, pager, next, jumper"
-            :total="total">
-        </el-pagination>
+      <div>
+
+        <div  class="container normal-panel" style="text-align:right">
+          <div style="float: left">
+            <el-button type="primary" @click="onClear">清空</el-button>
+          </div>
+          <el-pagination
+              background
+              @size-change="handleSizeChange"
+              @current-change="handleCurrentChange"
+              :current-page="param.content.pageNumber"
+              :pager-count="5"
+              :page-sizes="[20, 50, 100, 200]"
+              :page-size="20"
+              layout="total,sizes, prev, pager, next, jumper"
+              :total="total">
+          </el-pagination>
+        </div>
       </div>
-      <el-input v-model="projectName" readonly  placeholder="请选择设计院" slot="reference"  :disabled="!disabled"></el-input>
+      <el-input v-model="projectName" readonly  placeholder="请选择设计院" slot="reference"  :disabled="!disabled" >
+      </el-input>
     </el-popover>
   </div>
 </template>
@@ -109,6 +117,10 @@ export default {
       this.$emit('project',row.sa_projectid)*/
       /*this.enterprisename = row.enterprisename
       this.$emit('designingInstitute',row.sys_enterpriseid)*/
+    },
+    onClear(){
+      this.projectName = ''
+      this.$emit('project','','')
     }
   },
   created() {