Commit a9450ea2 authored by huangjie's avatar huangjie

Merge branch 'dev20230707' of http://192.168.60.201/root/dsk-operate-sys into dev20230707

# Conflicts:
#	dsk-operate-ui/vue.config.js
parent ffaca1b9
......@@ -7,7 +7,7 @@
<div class="app-container">
<el-card class="box-card noborder">
<div class="tables">
<div class="empty" v-if="tableData.total==0">
<div class="empty" v-if="tableData.total==0 && !isSkeleton">
<img src="@/assets/images/project/empty.png">
<div class="p1">抱歉,没找到相关数据</div>
<div class="p2">建议调整关键词或筛选条件,重新搜索</div>
......@@ -25,7 +25,8 @@
<div class="btn btn_primary h32 p10" @click="opennew"><div class="img img1"></div>添加客户</div>
</div>
</div>
<el-table v-if="tableData.total > 0"
<skeleton v-if="isSkeleton"></skeleton>
<el-table v-if="!isSkeleton&&tableData.total > 0"
:data="tableData.rows"
stripe border
style="width: 100%">
......@@ -159,8 +160,11 @@
label="主营业务" width="400">
<template slot-scope="scope">
<div v-if="scope.row.mainBusiness == null || scope.row.mainBusiness == ''">--</div>
<div class="box" v-else-if="scope.row.sq1==true">{{scope.row.mainBusiness1}}...<span @click="sq1(scope.row,false)">更多</span></div>
<div v-if="scope.row.mainBusiness1">
<div class="box" v-if="scope.row.sq1==true">{{scope.row.mainBusiness1}}...<span @click="sq1(scope.row,false)">更多</span></div>
<div class="box" v-else>{{scope.row.mainBusiness}}<span @click="sq1(scope.row,true)">收起</span></div>
</div>
<div v-else>{{scope.row.mainBusiness}}</div>
</template>
</el-table-column>
<el-table-column
......@@ -168,8 +172,11 @@
label="发包属性" width="400">
<template slot-scope="scope">
<div v-if="scope.row.companyAttribute == null || scope.row.companyAttribute == ''">--</div>
<div class="box" v-else-if="scope.row.sq2==true">{{scope.row.companyAttribute1}}...<span @click="sq2(scope.row,false)">更多</span></div>
<div v-if="scope.row.companyAttribute1">
<div class="box" v-if="scope.row.sq2==true">{{scope.row.companyAttribute1}}...<span @click="sq2(scope.row,false)">更多</span></div>
<div class="box" v-else>{{scope.row.companyAttribute}}<span @click="sq2(scope.row,true)">收起</span></div>
</div>
<div v-else>{{scope.row.companyAttribute}}</div>
</template>
</el-table-column>
<el-table-column
......@@ -245,11 +252,12 @@
import {getEnterprise,getDictType,} from '@/api/main'
import prvinceTree from '@/assets/json/provinceTree'
import batchimport from '../../project/projectList/component/batchImport'
import skeleton from '../../project/projectList/component/skeleton'
import axios from 'axios'
import {encodeStr} from "@/assets/js/common"
export default {
name: 'CustomList',
components:{batchimport},
components:{batchimport,skeleton},
data() {
return{
encodeStr,
......@@ -297,6 +305,7 @@ export default {
// isNew:true,
showlist:false,
keys:1,
isSkeleton:true,
}
},
created() {
......@@ -343,6 +352,7 @@ export default {
//获取客户列表
getCustomerList(){
getCustomerList(this.searchParam).then(result=>{
this.isSkeleton = false
this.tableData = result
this.tableData.rows.forEach(item=>{
item.registerCapital = item.registerCapital == null?null: item.registerCapital.replace(/^\D*(\d*(?:\.\d{0,6})?).*$/g, '$1')
......@@ -358,6 +368,7 @@ export default {
}else{
item.sq2 = false
}
console.log(item)
})
})
},
......@@ -378,6 +389,7 @@ export default {
},
//翻页
handleCurrentChange(val) {
this.isSkeleton = true
this.pldr=false
// this.isNew = false
this.searchParam.pageNum=val
......
......@@ -3,7 +3,7 @@
<div class="app-container">
<el-card class="box-card noborder">
<div class="tables">
<div class="empty" v-if="tableData.total==0">
<div class="empty" v-if="tableData.total==0&& !isSkeleton">
<img src="@/assets/images/project/empty.png">
<div class="p1">抱歉,没找到相关数据</div>
<div class="p2">建议调整关键词或筛选条件,重新搜索</div>
......@@ -17,7 +17,8 @@
<div class="total">{{tableData.total}}</div>
</div>
</div>
<el-table v-if="tableData.total > 0"
<skeleton v-if="isSkeleton"></skeleton>
<el-table v-if="!isSkeleton&&tableData.total > 0"
:data="tableData.rows"
stripe border
style="width: 100%">
......@@ -42,13 +43,6 @@
<div @click="toRL(scope.row)"><img class="i" src="@/assets/images/project/khrl1.png"><img class="o" src="@/assets/images/project/khrl2.png"></div>
</div>
</div>
<div class="delform" v-if="scope.row.companyName == '重庆市永川区惠通建设发展有限公司'">
<div class="words">再次认领将会恢复默认客户数据</div>
<div>
<div class="btnsmall btn_primary h28" >确定</div>
<div class="btnsmall btn_cancel h28" >取消</div>
</div>
</div>
</template>
</el-table-column>
......@@ -157,8 +151,11 @@
label="主营业务" width="400">
<template slot-scope="scope">
<div v-if="scope.row.mainBusiness == null || scope.row.mainBusiness == ''">--</div>
<div class="box" v-else-if="scope.row.sq1==true">{{scope.row.mainBusiness1}}...<span @click="sq1(scope.row,false)">更多</span></div>
<div v-if="scope.row.mainBusiness1">
<div class="box" v-if="scope.row.sq1==true">{{scope.row.mainBusiness1}}...<span @click="sq1(scope.row,false)">更多</span></div>
<div class="box" v-else>{{scope.row.mainBusiness}}<span @click="sq1(scope.row,true)">收起</span></div>
</div>
<div v-else>{{scope.row.mainBusiness}}</div>
</template>
</el-table-column>
<el-table-column
......@@ -166,8 +163,11 @@
label="发包属性" width="400">
<template slot-scope="scope">
<div v-if="scope.row.companyAttribute == null || scope.row.companyAttribute == ''">--</div>
<div class="box" v-else-if="scope.row.sq2==true">{{scope.row.companyAttribute1}}...<span @click="sq2(scope.row,false)">更多</span></div>
<div v-if="scope.row.companyAttribute1">
<div class="box" v-if="scope.row.sq2==true">{{scope.row.companyAttribute1}}...<span @click="sq2(scope.row,false)">更多</span></div>
<div class="box" v-else>{{scope.row.companyAttribute}}<span @click="sq2(scope.row,true)">收起</span></div>
</div>
<div v-else>{{scope.row.companyAttribute}}</div>
</template>
</el-table-column>
<el-table-column
......@@ -188,6 +188,13 @@
:total="tableData.total">
</el-pagination>
</div>
<div class="delform" v-if="RLcompanyName">
<div class="words">再次认领将会恢复默认客户数据</div>
<div>
<div class="btnsmall btn_primary h28" @click="RL">确定</div>
<div class="btnsmall btn_cancel h28" @click="RLcompanyName = ''">取消</div>
</div>
</div>
</div>
</el-card>
</div>
......@@ -201,15 +208,18 @@
import {getEnterprise,getDictType,} from '@/api/main'
import {encodeStr} from "@/assets/js/common"
import { historyClaim } from "@/api/common" //认领
import skeleton from '../../project/projectList/component/skeleton'
export default {
name: 'CustomList',
components:{skeleton},
data() {
return{
encodeStr,
searchParam:{
companyName:'',
pageNum:1,
pageSize:20
pageSize:20,
status:1,
},
tableData: [],//列表
......@@ -226,12 +236,13 @@ export default {
// isNew:true,
showlist:false,
keys:1,
RLcompanyName:'',//重新认领企业名称
isSkeleton:true,
}
},
created() {
this.getCustomerList()
this.getDictType()
this.prvinceTree()
},
methods:{
sq1(item,sq){
......@@ -266,6 +277,7 @@ export default {
//获取客户列表
getCustomerList(){
getCustomerList(this.searchParam).then(result=>{
this.isSkeleton = false
this.tableData = result
this.tableData.rows.forEach(item=>{
item.registerCapital = item.registerCapital == null?null: item.registerCapital.replace(/^\D*(\d*(?:\.\d{0,6})?).*$/g, '$1')
......@@ -296,13 +308,15 @@ export default {
},
//认领客户
async toRL(row){
let param = row.companyName
let res = await historyClaim(param)
this.RLcompanyName = row.companyName
},
async RL(){
let res = await historyClaim(this.RLcompanyName)
if(res.code==200){
this.$message.success('认领成功!')
this.handleCurrentChange(1)
this.RLcompanyName=''
}
},
clearname(value){
if(value == ""){
......@@ -311,6 +325,7 @@ export default {
},
//翻页
handleCurrentChange(val) {
this.isSkeleton = true
this.searchParam.pageNum=val
this.getCustomerList()
},
......@@ -320,9 +335,14 @@ export default {
<style lang="scss" scoped>
.delform{
right: 5px;
top: 40px;
width: 228px;
left: 50%;
top: 50%;
margin-left: -114px;
margin-top: -57px;
.words{
font-size: 14px;
}
}
.app-container{
height: calc(100vh - 134px)
......
......@@ -118,9 +118,10 @@
</template>
<script>
import "@/assets/styles/project.scss"
import * as echarts from 'echarts'
export default {
import '@/assets/styles/project.scss'
import * as echarts from 'echarts'
export default {
name: 'Overview',
data() {
return {
......@@ -192,9 +193,9 @@ export default {
initChart(){
//客户级别
this.option = {
tooltip: {
trigger: 'item'
trigger: 'item',
extraCssText: 'border:0',
},
color:['#8A82F3','#5B9CF7','#8DCF96','#FFDC6B','#FE9C77'],//修改配色
series: [
......@@ -203,17 +204,17 @@ export default {
type: 'pie',
radius: ['50%','70%'],
data: [
{ value: 23, name: '集团总部:11%' },
{ value: 61, name: '一级单位:29%' },
{ value: 60, name: '二级单位:29%' },
{ value: 21, name: '三级单位:10%' },
{ value: 44, name: '其他单位: 21%' }
{ value: 23, name: '集团总部:11%',borderWidth:0 },
{ value: 61, name: '一级单位:29%',borderWidth:0 },
{ value: 60, name: '二级单位:29%',borderWidth:0 },
{ value: 21, name: '三级单位:10%',borderWidth:0 },
{ value: 44, name: '其他单位: 21%',borderWidth:0 }
],
emphasis: {
itemStyle: {
shadowBlur: 10,
shadowOffsetX: 0,
shadowColor: 'rgba(0, 0, 0, 0.5)'
shadowColor: 'rgba(0, 0, 0, 0)'
}
}
}
......@@ -267,7 +268,14 @@ export default {
}
}
}
]
],
emphasis: {
itemStyle: {
// 高亮时点的颜色。
color: 'rgb(90,146,247)'
},
}
}
this.option2 && this.myChart2.setOption(this.option2)
//客户资质分析
......@@ -317,7 +325,14 @@ export default {
},
}
}
]
],
emphasis: {
itemStyle: {
// 高亮时点的颜色。
color: 'rgb(134,231,231)'
},
}
}
this.option3 && this.myChart3.setOption(this.option3)
......@@ -358,6 +373,7 @@ export default {
axisPointer:{ //悬浮于圆点展示标签
type:'axis'
},
extraCssText: 'border:0',
// trigger: 'axis'
},
series: [
......
......@@ -346,6 +346,7 @@ export default {
axisPointer:{ //悬浮于圆点展示标签
type:'axis'
},
extraCssText: 'border:0',
// trigger: 'axis'
},
legend: {
......
......@@ -61,6 +61,8 @@
</div>
</div>
</div>
<skeleton v-if="isSkeleton" style="padding-top: 16px"></skeleton>
<div v-else>
<div class="recordlist" v-if="showtype=='gjdt'">
<div class="rec_detail" v-for="(item,index) in recordlist.rows">
<div class="delform" v-if="isdel && delID == item.id">
......@@ -136,6 +138,7 @@
</div>
</div>
</div>
</div>
</el-card>
</div>
</template>
......@@ -145,7 +148,9 @@
import {getFollowList,addFollowRecord,getUserList,delFollowRecord} from '@/api/custom/custom'
import {getGJJL,addGJJL,delGJJL,relateProject,allRecord} from '@/api/project/project'
import {getEnterprise,getDictType,} from '@/api/main'
import skeleton from './skeleton'
export default {
components:{skeleton},
props:{
types: { //当前组件展示类型
type: String,
......@@ -191,6 +196,7 @@
projectList:[],//关联项目
isDisableds:this.isDisabled,
keys:1,
isSkeleton:true,
}
},
computed: {
......@@ -220,6 +226,7 @@
this.isDisableds = false
this.projectId = null//项目id暂时清空,必须手选id
relateProject(this.userId).then(res=>{
this.isSkeleton = false
this.projectList = res.data
})
this.getGJDT()
......@@ -323,6 +330,7 @@
param.customerId = this.customerIds
}
getFollowList(param).then(result=>{
this.isSkeleton = false
this.recordlist = result.code == 200?result:[]
this.recordlist.rows.forEach(item=>{
item.createTime = this.gettime(item.createTime)
......@@ -339,6 +347,7 @@
userId: this.userId
}
allRecord(param).then(result=>{
this.isSkeleton = false
this.recordlist = result.code == 200?result:[]
// this.recordlist.rows.forEach(item=>{
// item.createTime = this.gettime(item.createTime)
......@@ -354,10 +363,12 @@
businessId:this.projectId
}
getGJJL(param).then(result=>{
this.isSkeleton = false
this.recordlist = result.code == 200?result:[]
})
},
handleCurrentChange(val){
this.isSkeleton = true
this.pageNum = val
if(this.showtype == 'gjdt'){
this.getGJDTlist()
......
......@@ -30,6 +30,8 @@
</div>
</div>
</div>
<skeleton v-if="isSkeleton" style="padding-top: 16px"></skeleton>
<div v-else>
<div class="tasktitle"><strong>我的任务</strong><span @click="getYQ">{{yqnum}}条已逾期</span><!--<span class="on">4条已逾期</span>--></div>
<div class="tasklist" v-for="(item,index) in datalist.rows">
<div class="task_name">{{item.task}}</div>
......@@ -60,6 +62,7 @@
</div>
</div>
</div>
</div>
</el-card>
</div>
</template>
......@@ -68,8 +71,10 @@
import "@/assets/styles/project.scss"
import "@/assets/styles/public.css"
import {addGZDB,getGZDB,editGZDB} from '@/api/project/project'
import skeleton from './skeleton'
export default {
components:{skeleton},
name: 'gjjl',
props: {
detailId: { //从企业详情跳转过来ID
......@@ -98,6 +103,7 @@
datalist:[],
yqnum:0,//已逾期数量
isDisableds:this.isDisabled,
isSkeleton:true,
}
},
created(){
......@@ -124,7 +130,9 @@
})
},
getList(){
this.isSkeleton = true
getGZDB(this.searchPram).then(result=>{
this.isSkeleton = false
this.datalist = result.code == 200?result:[]
let num = 0
this.datalist.rows.forEach(item=>{
......
......@@ -2,7 +2,9 @@
<div>
<el-card class="box-card noborder">
<div class="cardtitles">基本信息</div>
<div class="tables">
<skeleton v-if="isSkeleton" style="padding: 16px"></skeleton>
<div class="tables" v-else>
<el-table
:data="tableData"
stripe border
......@@ -135,7 +137,9 @@
<script>
import "@/assets/styles/project.scss"
import {getLXR,editLXR,addLXR} from '@/api/project/project'
import skeleton from './skeleton'
export default {
components:{skeleton},
name: 'lxr',
props: {
detailId: { //从企业详情跳转过来ID
......@@ -163,6 +167,7 @@
projectname:this.$route.query.projectname,
queryParam:[],
isDisableds:this.isDisabled,
isSkeleton:true,
}
},
created(){
......@@ -180,7 +185,9 @@
this.isnew = false
},
getList(){
this.isSkeleton = true
getLXR(this.searchParam).then(result=>{
this.isSkeleton = false
this.tableData = result.code == 200?result.rows:[]
this.total = result.code == 200?result.total:0
})
......
<template>
<el-skeleton animated>
<template slot="template">
<el-skeleton-item variant="text" style="width: 60%;"/>
<el-skeleton-item variant="text" style="width: 100%;" />
<el-skeleton-item variant="text" style="width: 100%;" />
<el-skeleton-item variant="text" style="width: 100%;" />
<el-skeleton-item variant="text" style="width: 60%;" />
<el-skeleton-item variant="text" style="width: 100%;" />
<el-skeleton-item variant="text" style="width: 100%;" />
<el-skeleton-item variant="text" style="width: 100%;" />
</template>
</el-skeleton>
</template>
<script>
export default {
name: 'skeleton'
}
</script>
<style lang="scss" scoped>
.el-skeleton__item{
height: 20px;
border-radius: 0;
margin: 9px 0;
background: #f0f0f0;
}
</style>
......@@ -14,7 +14,8 @@
<div class="btn btn_primary h32 b3" @click="opennew" v-if="isDisableds == false"><div class="img img1"></div>添加相关企业</div>
</div>
<div class="document tables">
<el-table
<skeleton v-if="isSkeleton" style="padding-top: 16px"></skeleton>
<el-table v-else
:data="tableData.rows"
style="width: 100%"
:default-sort = "{prop: 'depth', order: 'descending'}"
......@@ -143,7 +144,9 @@
import "@/assets/styles/project.scss"
import {getXGQY,addXGQY,delXGQY} from '@/api/project/project'
import {getDictType,getEnterprise} from '@/api/main'
import skeleton from './skeleton'
export default {
components:{skeleton},
name: 'xgqy',
props: {
detailId: { //从企业详情跳转过来ID
......@@ -189,6 +192,7 @@
isDisableds:this.isDisabled,
showlist:false,
companData:[],
isSkeleton:true,
}
},
created(){
......@@ -261,8 +265,9 @@
})
},
getlist(){
this.isSkeleton = true
getXGQY(this.searchParam).then(result=>{
console.log(result)
this.isSkeleton = false
this.tableData = result
})
},
......
......@@ -58,7 +58,8 @@
</div>
</div>
<div class="document tables">
<el-table
<skeleton v-if="isSkeleton" style="padding-top: 16px"></skeleton>
<el-table v-else
:data="fileDatas.rows"
style="width: 100%"
:default-sort = "{prop: 'creatTime', order: 'descending'}"
......@@ -150,7 +151,9 @@
import "@/assets/styles/project.scss"
import { getToken } from "@/utils/auth";
import { getZLWD ,delZLWD} from "@/api/project/project";
import skeleton from './skeleton'
export default {
components:{skeleton},
name: 'zlwd',
props: {
detailId: { //从企业详情跳转过来ID
......@@ -181,6 +184,7 @@
ondel:"",
isDisableds:this.isDisabled,
keys:1,
isSkeleton:true,
}
},
created(){
......@@ -195,8 +199,10 @@
this.handleCurrentChange(1)
},
getList(){
this.isSkeleton = true
getZLWD(this.param).then(res=>{
this.fileDatas = res
this.isSkeleton = false
if(this.fileDatas.rows!=null && this.fileDatas.rows.length>0){
this.fileDatas.rows.forEach(item=>{
let names = item.filePath.split('/')
......
......@@ -104,7 +104,9 @@
<!--</el-tooltip>-->
</div>
</div>
<div class="tables" v-if="total == 0">
<skeleton v-if="isSkeleton" style="padding: 16px"></skeleton>
<div class="tables" v-if="total == 0 && !isSkeleton">
<div class="empty">
<img src="@/assets/images/project/empty.png">
<div class="p1">抱歉,没找到相关数据</div>
......@@ -113,7 +115,7 @@
<div class="btn btn_primary btn_shallow h36 w88" @click="pldrs">批量导入</div>
</div>
</div>
<div class="datalist">
<div class="datalist" v-if="!isSkeleton">
<div class="datali" v-for="(item,index) in datalist">
<div class="det-title" @click="toDetail(item.id,'xmsl')">
{{item.projectName}}<span v-if="activeName!='first' && item.followTime" class="people"><i>{{item.nickName1}}</i>
......@@ -182,9 +184,10 @@
import {getDictType,} from '@/api/main'
import addproject from './component/addProject'
import batchimport from './component/batchImport'
import skeleton from './component/skeleton'
export default {
name: 'ProjectList',
components:{addproject,batchimport},
components:{addproject,batchimport,skeleton},
data() {
return {
types:'project',
......@@ -240,6 +243,7 @@ export default {
datalist:[],//列表数据
ondel:-1,
total:0,
isSkeleton:true
}
},
created() {
......@@ -289,6 +293,7 @@ export default {
},
//获取商机列表
getList(pageNum){
this.isSkeleton = true
this.searchParam.pageNum = pageNum
if(this.activeName == 'first'){
this.searchParam.userId = this.$store.state.user.userId
......@@ -297,6 +302,7 @@ export default {
}
this.searchParam.ownerCompany = this.searchParam.projectName
getProjectlist(this.searchParam).then(result=>{
this.isSkeleton = false
if(result.code == 200){
this.datalist = result.rows
this.total = result.total
......@@ -382,7 +388,7 @@ export default {
this.$router.push({ path: '/project/projectList/detail', query: {id:id,tag:tag} });
},
handleClick(){
this.getList(1)
this.reset()
},
handleChange(value) {
// console.log(value);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment