qymljy 2 years ago
parent
commit
e56e87e532

+ 7 - 2
src/HManagement/ecycle/index.vue

@@ -1,6 +1,6 @@
 <template>
   <div>
-<!--    <saleClue></saleClue>-->
+    <saleClue v-if="salClueShow"></saleClue>
   </div>
 </template>
 
@@ -8,7 +8,12 @@
 import saleClue from '@/HManagement/ecycle/saleClue/index'
 export default {
   name: "index",
-  components:{saleClue}
+  components:{saleClue},
+  data(){
+    return {
+      salClueShow:true
+    }
+  }
 }
 </script>
 

+ 15 - 0
src/HManagement/ecycle/modules/delData.vue

@@ -0,0 +1,15 @@
+<template>
+  <div>
+    <el-button type="text" size="mini">删 除</el-button>
+  </div>
+</template>
+
+<script>
+export default {
+  name: "saleClueDel"
+}
+</script>
+
+<style scoped>
+
+</style>

+ 15 - 0
src/HManagement/ecycle/modules/recovery.vue

@@ -0,0 +1,15 @@
+<template>
+  <div>
+    <el-button type="text" size="mini">恢 复</el-button>
+  </div>
+</template>
+
+<script>
+export default {
+  name: "recovery"
+}
+</script>
+
+<style scoped>
+
+</style>

+ 182 - 0
src/HManagement/ecycle/projectChange/index.vue

@@ -0,0 +1,182 @@
+
+<template>
+  <div>
+    <basicLayout
+        ref="basicLayout"
+        tableName="projectChangeTable"
+        idName="sa_projectid"
+        :apiId="{query:20221020143502,del:''}"
+        :autoQuery="false"
+    >
+      <template #custom>
+        <div class="mt-10">
+          <p class="search__label">应用:</p>
+          <el-select
+              class="inline-24"
+              size="small"
+              v-model="application"
+              placeholder="请选择范围"
+              @change="applicationChange"
+          >
+            <el-option
+                v-for="item in applicationList"
+                :key="item.index"
+                :label="item.label"
+                :value="item.value"
+            ></el-option>
+          </el-select>
+        </div>
+        <div class="mt-10">
+          <label  class="search__label">项目类型:</label>
+          <el-select class="inline-24" v-model="selectParam.projecttype" placeholder="请选择项目类型" @change="selectChange" size="small" clearable>
+            <el-option
+                v-for="item in projectType"
+                :key="item.value"
+                :label="item.value"
+                :value="item.value">
+            </el-option>
+          </el-select>
+        </div>
+        <div class="mt-10">
+          <label  class="search__label">项目等级:</label>
+          <el-select class="inline-24" v-model="selectParam.grade" placeholder="请选择项目等级" @change="selectChange" size="small" clearable>
+            <el-option
+                v-for="item in projectLead"
+                :key="item.value"
+                :label="item.value"
+                :value="item.value">
+            </el-option>
+          </el-select>
+        </div>
+        <div class="mt-10">
+          <label  class="search__label">当前项目阶段:</label>
+          <el-select class="inline-24" v-model="selectParam.stagename" placeholder="请选择项目阶段" @change="selectChange" size="small" clearable>
+            <el-option
+                v-for="item in option.stageList"
+                :key="item.stagename"
+                :label="item.stagename"
+                :value="item.stagename">
+            </el-option>
+          </el-select>
+        </div>
+        <div class="mt-10">
+          <label  class="search__label">项目状态:</label>
+          <el-select class="inline-24" v-model="selectParam.status" placeholder="请选择项目状态" @change="selectChange" size="small" clearable>
+            <el-option
+                v-for="item in option.statusTab"
+                :key="item.value"
+                :label="item.label"
+                :value="item.value">
+            </el-option>
+          </el-select>
+        </div>
+        <div class="mt-10">
+          <label class="search__label" >创建日期:</label>
+          <el-date-picker
+              style="margin-right: 24px !important;"
+              size="small"
+              @change="selectChange"
+              value-format="yyyy-MM-dd"
+              v-model="dateSelect"
+              type="daterange"
+              range-separator="至"
+              start-placeholder="开始日期"
+              end-placeholder="结束日期"
+              clearable>
+          </el-date-picker>
+        </div>
+      </template>
+      <template v-slot:tbList="scope">
+        <div v-if="scope.data.column.columnname === 'status'">
+          <span style="color:#52c41a" v-if="scope.data.column.data[[scope.data.column.columnname]] == '跟进中'">{{scope.data.column.data[[scope.data.column.columnname]]}}</span>
+          <span style="color:#fa8c16" v-else-if="scope.data.column.data[[scope.data.column.columnname]] == '已成交'">{{scope.data.column.data[[scope.data.column.columnname]]}}</span>
+          <span style="color:#999999" 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 === 'tag'">
+          <div v-for="item in scope.data.column.data.tag_sys" :key="item.index"  style="float: left;margin-left: 5px;margin-bottom: 5px">
+            <el-tag  color="#FA8C16" size="mini" type="warning" effect="dark">
+              <span>{{item}}</span>
+            </el-tag>
+          </div>
+          <div v-for="item in scope.data.column.data.tag" :key="item.index"  style="float: left;margin-left: 5px;margin-bottom: 5px">
+            <el-tag color="#FAAB16" size="mini" type="warning" effect="dark">
+              <span>{{item}}</span>
+            </el-tag>
+          </div>
+        </div>
+        <div v-else-if="scope.data.column.columnname === 'name'">
+          {{scope.data.column.data.leader[0] && scope.data.column.data.leader[0].name}}
+        </div>
+        <div v-else>
+          {{scope.data.column.data[[scope.data.column.columnname]]?scope.data.column.data[[scope.data.column.columnname]]:'--'}}
+        </div>
+      </template>
+      <template v-slot:tbOpreation="scope">
+        <delData class="inline-16"></delData>
+        <recovery class="inline-16"></recovery>
+      </template>
+    </basicLayout>
+  </div>
+</template>
+
+<script>
+/**
+ * @basicLayout 提供this.$ref['basicLayout'].listData()方法查询列表信息
+ * @param {string} formPath 新建,编辑组件所在文件夹名称,以后所有列表新增修改文件统一放入Form文件夹下面,并创建与开发应用相同的名称的子文件夹
+ * @param {string} tableName 开发端配置的表格名称
+ * @param {String} idName 数据主id名称
+ * @param {object} apiId:{query:查询的接口id,del:删除的接口id}
+ * @param {Array} options:{label:描述,value:值}
+ */
+import recovery from "@/HManagement/ecycle/modules/recovery"
+import delData from "@/HManagement/ecycle/modules/delData"
+export default {
+  data () {
+    return {
+      application:'5',
+      applicationList:[
+        {
+          label: '项目商机',
+          value: "1",
+        },
+        {
+          label: '报价单',
+          value: "2",
+        },
+        {
+          label: '合同',
+          value: "3",
+        },
+        {
+          label: '客户',
+          value: "4",
+        },
+        {
+          label: '销售线索',
+          value: "5",
+        }
+      ],
+      status:'',
+      statusList:[]
+    }
+  },
+  components:{recovery,delData},
+  methods:{
+    queryData(){
+      this.$refs.basicLayout.param.content.isAll = 0
+      this.$refs.basicLayout.param.content.type = 0
+      this.$refs.basicLayout.param.content.deleted = 1
+      this.$refs.basicLayout.listData()
+    },
+    applicationChange(val){
+      console.log(val)
+    }
+  },
+  mounted() {
+    this.queryData()
+  },
+}
+
+</script>
+<style>
+</style>

+ 102 - 27
src/HManagement/ecycle/saleClue/index.vue

@@ -1,3 +1,4 @@
+
 <template>
   <div>
     <basicLayout
@@ -5,52 +6,126 @@
         tableName="saleClueTable"
         idName="sat_orderclueid"
         :apiId="{query:20221101094502,del:''}"
-        :options="options"
-        @listCreate="list"
-        @listData="list2"
-    >
+        :autoQuery="false"
+        >
       <template #custom>
+        <div class="mt-10">
+          <p class="search__label">应用:</p>
+          <el-select
+              class="inline-24"
+              size="small"
+              v-model="application"
+              placeholder="请选择范围"
+              @change="applicationChange"
+          >
+            <el-option
+                v-for="item in applicationList"
+                :key="item.index"
+                :label="item.label"
+                :value="item.value"
+            ></el-option>
+          </el-select>
+        </div>
+        <div class="mt-10">
+          <p class="search__label">跟进状态:</p>
+          <el-select v-model="status" clearable class="inline-24" 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>
       </template>
       <template v-slot:tbList="scope">
-        <div>
+        <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>
+          <span style="color:#52c41a" v-else-if="scope.data.column.data[[scope.data.column.columnname]] == '跟进中'">{{scope.data.column.data[[scope.data.column.columnname]]}}</span>
+          <span style="color:#3874f6" v-else-if="scope.data.column.data[[scope.data.column.columnname]] == '待跟进'">{{scope.data.column.data[[scope.data.column.columnname]]}}</span>
+          <span style="color:#333333" v-else-if="scope.data.column.data[[scope.data.column.columnname]] == '已无效'">{{scope.data.column.data[[scope.data.column.columnname]]}}</span>
+          <span style="color:#fa8c16" v-else-if="scope.data.column.data[[scope.data.column.columnname]] == '已转化'">{{scope.data.column.data[[scope.data.column.columnname]]}}</span>
+          <span v-else>{{scope.data.column.data[[scope.data.column.columnname]]}}</span>
+        </div>
+        <div v-else-if="scope.data.column.columnname == 'leader'">
+          <span v-if="scope.data.column.data[[scope.data.column.columnname]].length !== 0">{{scope.data.column.data[[scope.data.column.columnname]].length > 0 && scope.data.column.data[[scope.data.column.columnname]][0].name}}</span>
+          <span v-else>--</span>
+        </div>
+        <div v-else-if="scope.data.column.columnname == 'city'">
+          <span>{{scope.data.column.data[[scope.data.column.columnname]]?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]]}}
         </div>
+        <span v-if="!scope.data.column.data[scope.data.column.columnname] ">--</span>
+      </template>
+      <template v-slot:tbOpreation="scope">
+        <delData class="inline-16"></delData>
+        <recovery class="inline-16"></recovery>
       </template>
     </basicLayout>
   </div>
 </template>
 
 <script>
+/**
+ * @basicLayout 提供this.$ref['basicLayout'].listData()方法查询列表信息
+ * @param {string} formPath 新建,编辑组件所在文件夹名称,以后所有列表新增修改文件统一放入Form文件夹下面,并创建与开发应用相同的名称的子文件夹
+ * @param {string} tableName 开发端配置的表格名称
+ * @param {String} idName 数据主id名称
+ * @param {object} apiId:{query:查询的接口id,del:删除的接口id}
+ * @param {Array} options:{label:描述,value:值}
+ */
+import recovery from "@/HManagement/ecycle/modules/recovery"
+import delData from "@/HManagement/ecycle/modules/delData"
 export default {
-  name: "index",
-  data(){
+  data () {
     return {
-      options:[]
+      application:'5',
+      applicationList:[
+        {
+          label: '项目商机',
+          value: "1",
+        },
+        {
+          label: '报价单',
+          value: "2",
+        },
+        {
+          label: '合同',
+          value: "3",
+        },
+        {
+          label: '客户',
+          value: "4",
+        },
+        {
+          label: '销售线索',
+          value: "5",
+        }
+      ],
+      status:'',
+      statusList:[]
     }
   },
+  components:{recovery,delData},
   methods:{
-    queryData(id){
-      console.log("执行")
-      this.$refs['basicLayout'].param.content.type = id
+    queryData(){
       this.$refs.basicLayout.param.content.isAll = 0
-      this.$refs['basicLayout'].listData()
-    },
-    list (param) {
-      param.content.isAll = 0
-      param.content.deleted = 1
-      param.content.type = 1
-    },
-    list2 (data) {
-      console.log(data);
-
+      this.$refs.basicLayout.param.content.type = 0
+      this.$refs.basicLayout.param.content.deleted = 1
+      this.$refs.basicLayout.listData()
     },
+    applicationChange(val){
+      console.log(val)
+    }
+  },
+  mounted() {
+    this.queryData()
+  },
+  async created () {
+    const res2 = await this.$store.dispatch('optiontypeselect','datafollowuptype')
+    this.statusList = res2.data
+    console.log(this.statusList);
   },
-  mounted () {
-    this.queryData(1)
-  }
 }
-</script>
-
-<style scoped>
 
+</script>
+<style>
 </style>

+ 45 - 0
src/HManagement/ecycle/saleClue/index1.vue

@@ -0,0 +1,45 @@
+<template>
+  <div>
+    <basicLayout
+        ref="basicLayout"
+        tableName="saleClueTable"
+        idName="sat_orderclueid"
+        :apiId="{query:20221101094502,del:''}">
+      <template #custom>
+      </template>
+      <template v-slot:tbList="scope">
+        <span>
+          {{scope.data.column.data[[scope.data.column.columnname]]}}
+        </span>
+      </template>
+    </basicLayout>
+  </div>
+</template>
+
+<script>
+export default {
+  name: "index",
+  data(){
+    return {
+
+    }
+  },
+  methods:{
+    list (param) {
+      param.content.isAll = 0
+      param.content.deleted = 1
+      param.content.type = 0
+    },
+    list2 (data) {
+      console.log(data,'数据');
+    },
+  },
+  mounted () {
+
+  }
+}
+</script>
+
+<style scoped>
+
+</style>

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

@@ -176,7 +176,7 @@ export default {
       param.content.type = 1
     },
     list2 (data) {
-      console.log(data);
+      console.log(data,"数据");
   
     },
   }

+ 1 - 1
src/components/normal-basic-layout/index.vue

@@ -282,7 +282,7 @@ export default {
       this.tableLayout = this.layout
       this.getSystemAppid()
     } catch (error) {
-      
+      console.log(error)
     }
    
   }

+ 1 - 1
src/router/HManagement.js

@@ -608,7 +608,7 @@ const HManagement = [
     component: () => import(/* webpackChunkName: "about" */ '@/HManagement/addressList/mygroup/index')
   },{
     path: '/ecycle',
-    name: 'ecycle',
+    name: 'recycle',
     meta: {
       title: '回收站',
       ast_nav: true,