|
|
@@ -0,0 +1,180 @@
|
|
|
+<template>
|
|
|
+ <basicLayout
|
|
|
+ ref="basicLayout"
|
|
|
+ tableName="cluePublicTable"
|
|
|
+ idName="sat_orderclueid"
|
|
|
+ :apiId="{query:20221101094402,del:''}"
|
|
|
+ :autoQuery="false"
|
|
|
+ @checkboxCallBack="checkboxCallBack"
|
|
|
+ >
|
|
|
+ <template #titleLight>
|
|
|
+ <batchDeletion v-if="tool.checkAuth($route.name,'batchDeletion')" ref="batchDeletion" :ownerids="selectData" sys_object="1" @delSuccess="queryData"></batchDeletion>
|
|
|
+ <batchRecovery v-if="tool.checkAuth($route.name,'batchRecovery')" ref="batchRecovery" :ownerids="selectData" sys_object="1" @recoverySuccess="queryData"></batchRecovery>
|
|
|
+ </template>
|
|
|
+ <template #custom>
|
|
|
+ <div class="mt-10">
|
|
|
+ <application @changeApplication="changeApplication" :application="application"></application>
|
|
|
+ </div>
|
|
|
+ <div class="mt-10">
|
|
|
+ <p class="search__label">{{$t('领域')}}:</p>
|
|
|
+ <el-select v-model="selectParam.tradefield" clearable class="inline-24" size="small" :placeholder="$t('请选择领域')" @change="queryData" @focus="queryType('tradefield')">
|
|
|
+ <el-option v-for="item in options.tradefield" :label="$t(item.value)" :key="item.rowindex" :value="item.value">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </div>
|
|
|
+ <div class="mt-10">
|
|
|
+ <p class="search__label">{{$t('跟进状态')}}:</p>
|
|
|
+ <el-select v-model="selectParam.status" clearable class="inline-24" size="small" :placeholder="$t(`请选择状态`)" @change="queryData" @focus="queryType('datafollowuptype')">
|
|
|
+ <el-option v-for="item in options.datafollowuptype" :label="$t(item.value)" :key="item.rowindex" :value="item.value">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </div>
|
|
|
+ <div class="mt-10">
|
|
|
+ <p class="search__label">{{$t('标签')}}:</p>
|
|
|
+ <el-select v-model="selectParam.tag" clearable class="inline-24" size="small" :placeholder="$t('请选择标签')" @change="queryData" multiple @focus="tagList">
|
|
|
+ <el-option v-for="item in options.tagData" :label="$t(item.tag)" :key="item.tag" :value="item.tag">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </div>
|
|
|
+ <div class="mt-10">
|
|
|
+ <p class="search__label">{{ $t("来源") }}:</p>
|
|
|
+ <el-select
|
|
|
+ v-model="selectParam.cluesource"
|
|
|
+ @focus="queryType('cluesourcesift')"
|
|
|
+ clearable
|
|
|
+ class="inline-24"
|
|
|
+ size="small"
|
|
|
+ :placeholder="$t('请选择来源')"
|
|
|
+ @change="queryData"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="item in options.cluesourcesift"
|
|
|
+ :label="$t(item.value)"
|
|
|
+ :key="item.rowindex"
|
|
|
+ :value="item.value"
|
|
|
+ >
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ <template v-slot:tbList="scope">
|
|
|
+ <div v-if="scope.data.column.columnname == 'status'">
|
|
|
+ <span :style="tool.getStatusColor(scope.data.column.data[[scope.data.column.columnname]])">{{$t(scope.data.column.data[[scope.data.column.columnname]])}}</span>
|
|
|
+ </div>
|
|
|
+ <div v-else-if="scope.data.column.columnname === 'alltag'">
|
|
|
+ <div v-if="scope.data.column.data.alltag && scope.data.column.data.alltag.length > 0">
|
|
|
+ <div v-for="item in scope.data.column.data.alltag" :key="item.index" style="float: left;margin-left: 5px;margin-bottom: 5px">
|
|
|
+ <el-tag color="#3874F6" size="mini" type="primary" effect="dark">
|
|
|
+ <span>{{$t(item)}}</span>
|
|
|
+ </el-tag>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div v-else>--</div>
|
|
|
+ </div>
|
|
|
+ <div v-else-if="scope.data.column.columnname == 'scale'">
|
|
|
+ <span>{{scope.data.column.data[[scope.data.column.columnname]] !== '' && scope.data.column.data[[scope.data.column.columnname]] !== 0?scope.data.column.data[[scope.data.column.columnname]]+$t(scope.data.column.data.unitname):'--'}}</span>
|
|
|
+ </div>
|
|
|
+ <div v-else-if="scope.data.column.columnname == 'pcc' && scope.data.column.data.province">
|
|
|
+ {{scope.data.column.data.province}}-{{scope.data.column.data.city}}-{{scope.data.column.data.county}}
|
|
|
+ </div>
|
|
|
+ <div v-else-if="scope.data.column.columnname == 'totalinvestment'">
|
|
|
+ <span>{{scope.data.column.data[[scope.data.column.columnname]] !== 0?tool.formatAmount(scope.data.column.data[[scope.data.column.columnname]],2):'--'}}</span>
|
|
|
+ </div>
|
|
|
+ <div v-else-if="scope.data.column.columnname == 'costofconstruction'">
|
|
|
+ <span>{{scope.data.column.data[[scope.data.column.columnname]] !== 0?tool.formatAmount(scope.data.column.data[[scope.data.column.columnname]],2):'--'}}</span>
|
|
|
+ </div>
|
|
|
+ <div v-else>
|
|
|
+ {{$t(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" :ownerid="scope.data.data.sat_orderclueid" sys_object="1" @delSuccess="delSuccess"></delData>
|
|
|
+ <recovery type="线索" class="inline-16" :ownerid="scope.data.data.sat_orderclueid" sys_object="1" @recoverySuccess="queryData"></recovery>
|
|
|
+ </template>
|
|
|
+ </basicLayout>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+import recovery from "@/HManagement/ecycle/modules/recovery"
|
|
|
+import delData from "@/HManagement/ecycle/modules/delData"
|
|
|
+import batchDeletion from "@/HManagement/ecycle/modules/batchDeletion";
|
|
|
+import batchRecovery from "@/HManagement/ecycle/modules/batchRecovery";
|
|
|
+import application from '../application/index'
|
|
|
+export default {
|
|
|
+ name: "index",
|
|
|
+ components:{recovery,delData,batchDeletion,batchRecovery,application},
|
|
|
+ data(){
|
|
|
+ return {
|
|
|
+ application:'7',
|
|
|
+ options:{
|
|
|
+ cluesourcesift:[],
|
|
|
+ tradefield:[],
|
|
|
+ tagData:[],
|
|
|
+ datafollowuptype:[]
|
|
|
+ },
|
|
|
+ selectParam:{
|
|
|
+ tradefield:'',
|
|
|
+ status:'',
|
|
|
+ tag:[],
|
|
|
+ cluesource:''
|
|
|
+ },
|
|
|
+ selectData:[]
|
|
|
+ }
|
|
|
+ },
|
|
|
+ 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.param.content.where = this.selectParam
|
|
|
+ // this.$refs.basicLayout.param.content.sort = [{reversed:0,sorted:1,sortid:182,sortname:'作废时间倒序'}]
|
|
|
+ this.$refs.basicLayout.listData()
|
|
|
+ },
|
|
|
+ /*获取分类*/
|
|
|
+ async queryType(val){
|
|
|
+ if (this.options[val].length == 0){
|
|
|
+ const res = await this.$store.dispatch("optiontypeselect", val)
|
|
|
+ this.options[val] = 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.options.tagData = res.data
|
|
|
+ },
|
|
|
+ checkboxCallBack(val){
|
|
|
+ this.selectData = []
|
|
|
+ val.forEach((item,index) => {
|
|
|
+ this.selectData[index] = item.sat_orderclueid
|
|
|
+ })
|
|
|
+ this.$refs.batchDeletion.length = this.selectData.length
|
|
|
+ this.$refs.batchRecovery.length = this.selectData.length
|
|
|
+ },
|
|
|
+ delSuccess(){
|
|
|
+ this.queryData()
|
|
|
+ },
|
|
|
+ changeApplication(val){
|
|
|
+ this.$emit('changeApplication',val)
|
|
|
+ }
|
|
|
+ },
|
|
|
+ mounted() {
|
|
|
+ this.queryData()
|
|
|
+ }
|
|
|
+}
|
|
|
+</script>
|
|
|
+
|
|
|
+<style scoped>
|
|
|
+
|
|
|
+</style>
|