Commit 20ea96f0 authored by MyName's avatar MyName

项目管理

parent e0e9b4c5
import request from '@/utils/request'
//新增项目
export function addProject(param) {
return request({
url: '/business/info/add',
method: 'POST',
data: param
})
}
//商机列表
export function getProjectlist(param) {
return request({
url: '/business/info/list',
method: 'GET',
params: param
})
}
...@@ -85,7 +85,7 @@ ...@@ -85,7 +85,7 @@
<div>水利项目</div> <div>水利项目</div>
</div> </div>
</div> </div>
<div class="addnew"><div class="img"></div>新建项目</div> <div class="addnew" @click="addNew(true)"><div class="img"></div>新建项目</div>
</el-card> </el-card>
</div> </div>
...@@ -121,14 +121,17 @@ ...@@ -121,14 +121,17 @@
</div> </div>
</el-card> </el-card>
</div> </div>
<addproject v-if="isshow" @addproject="add" @cancel="addNew"></addproject>
</div> </div>
</template> </template>
<script> <script>
import "@/assets/styles/project.scss" import "@/assets/styles/project.scss"
import * as echarts from 'echarts' import * as echarts from 'echarts'
import addproject from '../projectList/component/addProject'
export default { export default {
name: 'Overview', name: 'Overview',
components:{addproject},
data() { data() {
return { return {
chartDom: '', chartDom: '',
...@@ -203,11 +206,11 @@ export default { ...@@ -203,11 +206,11 @@ export default {
visitMode:"线下拜访", visitMode:"线下拜访",
}, },
]}, ]},
dialogVisible:false, isshow:false,
} }
}, },
created() { created() {
console.log() // this.$route.push({ path: "/projectList" })
}, },
mounted(){ mounted(){
this.$nextTick(()=>{ this.$nextTick(()=>{
...@@ -432,6 +435,13 @@ export default { ...@@ -432,6 +435,13 @@ export default {
let minute = times.getMinutes() let minute = times.getMinutes()
let second = times.getSeconds() let second = times.getSeconds()
return year+'-'+month+'-'+day+' '+hour+":"+minute+":"+second return year+'-'+month+'-'+day+' '+hour+":"+minute+":"+second
},
addNew(isshow){
this.isshow = isshow
},
add(){
this.isshow = false
this.$router.push({ path: '/project/projectList' })
} }
} }
} }
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
<el-dialog <el-dialog
class="popups" class="popups"
width="534px" width="534px"
:visible.sync="dialogVisible" :visible.sync="isshow"
@close="resetForm('ruleForm')" @close="resetForm('ruleForm')"
> >
<div class="poptitle"> <div class="poptitle">
...@@ -10,10 +10,10 @@ ...@@ -10,10 +10,10 @@
<span>添加客户</span> <span>添加客户</span>
</div> </div>
<el-form class="popform j" :model="queryParam" :rules="rules" ref="ruleForm" label-width="130px"> <el-form class="popform j" :model="queryParam" :rules="rules" ref="ruleForm" label-width="130px">
<el-form-item label="项目名称:" class="row" prop="name"> <el-form-item label="项目名称:" class="row" prop="projectName">
<el-input type="text" placeholder="请输入" v-model="queryParam.projectName" @input="getCompany"></el-input> <el-input type="text" placeholder="请输入" v-model="queryParam.projectName"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="业主单位:" class="row" prop="company"> <el-form-item label="业主单位:" class="row" prop="ownerCompany">
<el-input type="text" placeholder="请输入" v-model="queryParam.ownerCompany" @input="getCompany"></el-input> <el-input type="text" placeholder="请输入" v-model="queryParam.ownerCompany" @input="getCompany"></el-input>
<div class="resultlist" v-if="showlist"> <div class="resultlist" v-if="showlist">
<div v-for="(item,index) in companData" @click="selCompany(item)"><span v-html="item.name"></span></div> <div v-for="(item,index) in companData" @click="selCompany(item)"><span v-html="item.name"></span></div>
...@@ -21,21 +21,21 @@ ...@@ -21,21 +21,21 @@
</el-form-item> </el-form-item>
<el-form-item label="项目阶段:" class="row"> <el-form-item label="项目阶段:" class="row">
<el-select placeholder="请选择" v-model="queryParam.projectStage"> <el-select placeholder="请选择" v-model="queryParam.projectStage">
<el-option v-for="(item,index) in customerLevel" :key="index" :label="item.dictLabel" :value="item.dictValue"></el-option> <el-option v-for="(item,index) in projectStage" :key="index" :label="item.dictLabel" :value="item.dictValue"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="项目类型:" class="row"> <el-form-item label="项目类型:" class="row">
<el-select placeholder="请选择" v-model="queryParam.projectType"> <el-select placeholder="请选择" v-model="queryParam.projectType">
<el-option v-for="(item,index) in customerLevel" :key="index" :label="item.dictLabel" :value="item.dictValue"></el-option> <el-option v-for="(item,index) in projectType" :key="index" :label="item.dictLabel" :value="item.dictValue"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="项目类别:" class="row"> <el-form-item label="项目类别:" class="row">
<el-select placeholder="请选择" v-model="queryParam.projectCategory"> <el-select placeholder="请选择" v-model="queryParam.projectCategory">
<el-option v-for="(item,index) in customerLevel" :key="index" :label="item.dictLabel" :value="item.dictValue"></el-option> <el-option v-for="(item,index) in projectCategory" :key="index" :label="item.dictLabel" :value="item.dictValue"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="投资估算:" class="row"> <el-form-item label="投资估算:" class="row">
<el-input type="text" placeholder="请输入" v-model="queryParam.investmentAmount"></el-input> <el-input type="text" placeholder="请输入金额" @input="number" v-model="queryParam.investmentAmount"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="可见范围:" class="row"> <el-form-item label="可见范围:" class="row">
<el-select placeholder="请选择" v-model="queryParam.isPrivate"> <el-select placeholder="请选择" v-model="queryParam.isPrivate">
...@@ -52,6 +52,8 @@ ...@@ -52,6 +52,8 @@
</template> </template>
<script> <script>
import {getEnterprise,getDictType,} from '@/api/main'
import {addProject} from '@/api/project/project'
export default { export default {
name: 'addProject', name: 'addProject',
data(){ data(){
...@@ -65,23 +67,9 @@ ...@@ -65,23 +67,9 @@
label:'他人可见' label:'他人可见'
} }
],//可见范围 ],//可见范围
dialogVisible:true, isshow:true,
queryParam:{ queryParam:{
companyId:'',//jsk企业id userId:'',//用户id
companyName:'',//客户名称(企业名称
customerLevel:'',//客户等级
legalPerson:'',//法定代表人
registerCapital:'',//注册资本
registerAddress:'',//企业注册地址
creditCode:'',//社会统一信用代码
address:'',//选择的地址
provinceId:'',
cityId:'',
districtId:'',
},
xmjd:[],//项目阶段
queryParam:{
userId:this.$store.state.user,//用户id
projectName:'',// 项目名称 projectName:'',// 项目名称
companyId:'',//企业id companyId:'',//企业id
ownerCompany:'',//业主单位 ownerCompany:'',//业主单位
...@@ -91,32 +79,67 @@ ...@@ -91,32 +79,67 @@
investmentAmount:'',//投资估算 investmentAmount:'',//投资估算
isPrivate:0,//可见范围(0 仅自己可见,1 他人可见) isPrivate:0,//可见范围(0 仅自己可见,1 他人可见)
}, },
rules:{
projectName:[{ required: true, message: '请输入非空格字符!', trigger: 'blur' },],
ownerCompany:[{ required: true, message: '请输入非空格字符!', trigger: 'blur' },],
},
showlist:false,
companData:[],//联想企业列表
projectStage:[],//项目阶段
projectType:[],//项目类型
projectCategory:[],//项目类别
} }
}, },
mounted(){ mounted(){
}, },
created(){ created(){
//项目阶段 //项目阶段
// project_stage_type getDictType('project_stage_type').then(result=>{
this.projectStage = result.code == 200 ? result.data:[]
})
//项目类型
getDictType('project_type').then(result=>{
this.projectType = result.code == 200 ? result.data:[]
})
//项目类别
getDictType('project_category').then(result=>{
this.projectCategory = result.code == 200 ? result.data:[]
})
}, },
methods:{ methods:{
//获取建设库客户
getCompany(value){
if (value.length>=2){
let param = {
keyword:value,
page:{
limit:20,
page:1
}
}
getEnterprise(JSON.stringify(param)).then(result=>{
if(result.code != 200)
return
this.showlist = true
this.companData = result.data.list
})
}
},
selCompany(item){
this.queryParam.companyId = item.jskEid
this.queryParam.ownerCompany = item.name.replace(/<[^>]+>/g, '')
this.showlist = false
},
//添加客户 //添加客户
submitForm(formName) { submitForm(formName) {
if(this.queryParam.companyId=="" || this.queryParam.companyId == null){ this.queryParam.userId = this.$store.state.user.userId
this.$message.error({message:'请选择企业!',showClose:true})
return;
}
this.$refs[formName].validate((valid) => { this.$refs[formName].validate((valid) => {
if (valid) { if (valid) {
addCustomer(this.queryParam).then(result=>{ addProject(this.queryParam).then(result=>{
if(result.code == 200){ if(result.code == 200){
this.$message.success('添加成功!') this.$message.success('添加成功!')
this.dialogVisible = false
this.handleCurrentChange(1)
this.resetForm('ruleForm') this.resetForm('ruleForm')
this.$emit('addproject')
}else{ }else{
this.$message.error(result.msg) this.$message.error(result.msg)
} }
...@@ -127,25 +150,34 @@ ...@@ -127,25 +150,34 @@
}, },
resetForm(formName) { resetForm(formName) {
this.queryParam = { this.queryParam = {
companyId:'',//jsk企业id projectName:'',// 项目名称
companyName:'',//客户名称(企业名称 companyId:'',//企业id
customerLevel:'',//客户等级 ownerCompany:'',//业主单位
legalPerson:'',//法定代表人 projectStage:'',//项目阶段
registerCapital:'',//注册资本 projectType:'',//项目类型
registerAddress:'',//企业注册地址 projectCategory:'',//项目类别
creditCode:'',//社会统一信用代码 investmentAmount:'',//投资估算
address:'',//选择的地址 isPrivate:0,//可见范围(0 仅自己可见,1 他人可见)
provinceId:'',
cityId:'',
districtId:'',
}, },
this.dialogVisible = false
this.showlist = false this.showlist = false
this.$emit("cancel",false)
}, },
//输入数字
number(value){
this.queryParam.investmentAmount = value.replace(/^\D*(\d*(?:\.\d{0,2})?).*$/g, '$1')//输入2位小数
}
} }
} }
</script> </script>
<style scoped> <style scoped>
.wordprimary{
display: inline;
padding-right: 26px;
}
.btn_primary{
padding: 0;
}
</style> </style>
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