Commit 26cd4fcc authored by zhangyanni's avatar zhangyanni

Merge remote-tracking branch 'origin/master'

parents 5d17700a 965a60e3
......@@ -768,6 +768,12 @@ export default new Router({
meta: {title: '计划实施'},
name:'planmentation',
},
{
path: '/addplanmentation',
component: resolve => require(['./views/mobile/servicerecord/addplanmentation.vue'], resolve),
meta: {title: '新增记录'},
name:'addplanmentation',
},
{
path: '/fielddisplaydetails',
component: resolve => require(['./views/mobile/servicerecord/fielddisplaydetails.vue'], resolve),
......
......@@ -131,7 +131,7 @@
<div style="margin-top: 20px">
<el-form :inline="true" :label-width="diven_zh?'160px':'300px'" :model="addData" :class="diven_zh?'contnetform':'contnetform300'">
<el-form-item label="公司主体是否为关联" style="width: 100%;">
<span>{{addData.isRelevance==0?'是':'否'}}</span>
<span>{{addData.isRelevance==1?'是':'否'}}</span>
</el-form-item>
<el-form-item :label="$t('personalAuth.name')+':'" style="width: 100%;">
<span>{{addData.requirementContacts.empName}}</span>
......
<template>
<div>
<div class="breadWrap_top" style="border-bottom: 1px solid #E6E6E6">
<i class="iconfont icon-fanhui" @click="gotoed"></i>
<p>{{$route.query.response?'编辑记录':'新增记录'}}</p>
</div>
<div :class="isedit?'':'hide'" class="content_data">
<div>
<p style="font-weight: bold">选择发布阶段:</p>
<el-cascader style="width: 100%" @change="cascader_lit" v-model="cascadermodel" :options="options" :props="propsd" :show-all-levels="false"></el-cascader>
</div>
<div>
<p style="font-weight: bold">选择编辑内容:</p>
<div v-if="statechange=='SRT01'" class="contentScreen" v-for="(item,index) in screenchildList" :key="item.fieldId">
<p class="screenTitle">{{item.fieldName}}</p>
<div class="firstLine lineWrap">
<ul>
<li v-for="(items,index) in item.subFieldList" :key="items.fieldId" :class="items.checked?'activeLi':''" @click="checkClik(items)">{{items.fieldName}}</li>
</ul>
</div>
</div>
<div v-if="statechange=='SRT02'" class="contentScreen">
<div class="firstLine lineWrap">
<ul>
<li v-for="(item,index) in screenchildList" :key="item.fieldId" :class="item.checked?'activeLi':''" @click="checkClik(item)">{{item.fieldName}}</li>
</ul>
</div>
</div>
</div>
</div>
<div v-if="!isedit" class="content_data">
<editplanmentaion ref="child" :response="$route.query.response" :labName="labName" :serviceId="this.$route.query.serviceId" :ServicephasesId="ServicephasesId" :screenchildList="screenchildList"></editplanmentaion>
</div>
<div class="service_bottom">
<p v-if="isedit" @click="goto">下一步</p>
<p v-if="!isedit" @click="submitplan">保存</p>
<p v-if="!isedit" @click="isedit = !isedit">返回</p>
</div>
</div>
</template>
<script>
import api from './api/api'
import editplanmentaion from './editplanmentaion';
import {Toast} from 'mint-ui';
export default {
name : "addplanmentation",
components:{
editplanmentaion
},
data(){
return{
data:[],
propsd: {
children: 'subList',
label: 'phaseName',
value: 'phaseId',
},
options:[],
isedit:true,
ServicephasesId:'',
screenchildList:[],
statechange:window.sessionStorage.getItem("statechange"),
labName:'',
subnum:false,
cascadermodel:[],
}
},
methods:{
gotoed(){
this.$router.push({path:"/personalcenter",query:{serviceId:this.$route.query.response.serviceId}});
},
submitplan(){
this.$refs.child.addedit();
},
checkClik(items){
items.checked = !items.checked;
},
goto(){
if(this.subnum){
this.isedit = !this.isedit
}else{
this.$toast("请选择发布阶段");
}
},
cascader_lit(val){
if(val){
this.subnum = true;
for(let i in this.options){
if(this.options[i].phaseId == val[0]){
this.labName = this.options[i].phaseName;
for(let t in this.options[i].subList){
if(this.options[i].subList[t].phaseId == val[1]){
this.labName = this.labName+'-'+this.options[i].subList[t].phaseName;
}
}
}
}
this.ServicephasesId = val[val.length - 1];
api.getServicePhaseFields(this.ServicephasesId,this.statechange).then(response => {
if(response.code == 0) {
if(this.statechange == 'SRT01'){
for(let i in response.result){
if(response.result[i].subFieldList){
for(let t in response.result[i].subFieldList){
response.result[i].subFieldList[t].checked = false;
}
}
}
}else{
for(let i in response.result){
if(response.result[i]){
response.result[i].checked = false;
}
}
}
this.screenchildList = response.result;
} else {
this.$message.error(response.msg);
}
})
.catch(error => {
console.log("提交出错");
return false;
});
}
}
},
mounted(){
// if(this.$route.query.response){
//
// }
api.getServicePhases(window.sessionStorage.getItem("statechange")).then(response => {
if(response.code == 0) {
this.options = response.result;
} else {
this.$message.error(response.msg);
}
})
.catch(error => {
console.log("提交出错");
return false;
});
}
}
</script>
<style scoped lang="scss">
.hide{
display: none;
}
.content_data{
width: 85%;
height: calc(100vh - 3.8rem);
overflow: auto;
margin: 0 auto;
>div{
margin-top: 0.3rem;
font-size: 0.28rem;
color: #69697A;
>p{
margin-bottom: 0.2rem;
}
}
}
.contentScreen{
margin-top: 0.3rem;
.screenTitle{
color: #69697A;
font-size: .24rem;
padding-bottom: .1rem;
}
.lineWrap{
padding-bottom: .1rem;
}
.secondLine{
padding-top: .2rem;
}
ul{
display: flex;
flex-wrap: wrap;
align-items: center;
margin-left: -0.07rem;
li{
min-width: 30%;
text-align: center;
height: .6rem;
font-size: 0.24rem;
background: #F2F2F2;
border-radius: .06rem;
color: #3F3F53;
margin: .1rem;
line-height: .6rem;
padding: 0 .20rem;
}
li.activeLi{
color: #5d78ff;
background:url("../../../assets/img/mobile/checked.png") no-repeat;
background-position: bottom right;
background-size: .4rem .3rem;
background-color: #E2E7FF;
}
}
}
</style>
\ No newline at end of file
......@@ -52,7 +52,7 @@
let _this = this;
setTimeout(function(){
_this.$router.replace({path:"/personalcenter",query:{serviceId:_this.$route.query.serviceId}});
},2000)
},200)
}else{
let params = {
serviceId:this.$route.query.serviceId,
......@@ -63,12 +63,12 @@
this.$toast({
message: '更改成功',
// iconClass: 'iconfont icon-success',
duration: 2000
// duration: 2000
});
let _this = this;
setTimeout(function(){
_this.$router.replace({path:"/personalcenter",query:{serviceId:_this.$route.query.serviceId}});
},2000)
},200)
} else {
this.$message.error(response.msg);
}
......@@ -93,12 +93,12 @@
this.$toast({
message: '添加成功',
// iconClass: 'iconfont icon-success',
duration: 2000
// duration: 2000
});
let _this = this;
setTimeout(function(){
_this.$router.replace('/serviceenterprise')
},2000)
},200)
} else {
this.$message.error(response.msg);
}
......
......@@ -26,6 +26,12 @@ export default {
fillDetail( params ) {
return api.fetchLoadingPost( '/business/service/fillDetail', params );
},
addPlanData( params ) {
return api.fetchLoadingPost( '/business/service/addPlanData', params );
},
updatePlanRecord( params ) {
return api.fetchLoadingPost( '/business/service/updatePlanRecord', params );
},
getDetailFields(params) {
return api.fetchGet( '/business/service/getDetailFields?serviceId='+params );
},
......@@ -44,4 +50,25 @@ export default {
changeServiceType( params ) {
return api.fetchLoadingPost( '/business/service/changeServiceType', Qs.stringify(params));
},
getServicePhases(params) {
return api.fetchGet( '/business/service/getServicePhases?serviceType='+params );
},
getPlanFieldRecord(params) {
return api.fetchGet( '/business/service/getPlanFieldRecord?serviceId='+params );
},
getPhaseRecordDetail(params) {
return api.fetchGet( '/business/service/getPhaseRecordDetail?recordId='+params );
},
removeRecord(params) {
return api.fetchGet( '/business/service/removeRecord?serviceRecordId='+params );
},
getPhasePlanRecord(params) {
return api.fetchGet( '/business/service/getPhasePlanRecord?serviceId='+params );
},
getServicePhaseFields(params,params2) {
return api.fetchGet( '/business/service/getServicePhaseFields?phaseId='+params+'&serviceType='+ params2);
},
getRecordFieldDetail( params ) {
return api.fetchLoadingPost( '/business/service/getRecordFieldDetail', Qs.stringify(params));
},
}
\ No newline at end of file
<template>
<div>
<div>
<div class="project_content">
<p style="color:#3F3F53;line-height: 0.8rem;border-bottom: 1px solid #E9EAF3">当前阶段: <span style="color: #5D78FF">{{labName}}</span></p>
<el-form label-position="top" label-width="80px" :model="projectjson" class="contnetform">
<!--团队信息-->
<div class="editproject" v-if="istable.teamInfo===null"><span>团队信息</span></div>
<div v-if="subprojectjson.coreTeam===null">
<el-form-item label="团队核心成员">
</el-form-item>
<div v-for="item in coreTeam" style="margin-top: -0.2rem;">
<el-form-item label="" style="position: relative;">
<el-input v-model="item.empName" maxlength="36" placeholder="请输入姓名" style="width: 47%;margin-top: 0.2rem;"></el-input>
<el-input v-model="item.empPosition" maxlength="36" placeholder="请输入职务" style="width: 47%;margin-top: 0.2rem;position: absolute;right: 0px;top: 0px;"></el-input>
<el-input v-model="item.empIntroduction" maxlength="36" placeholder="请输入简介" style="margin-top: 0.2rem"></el-input>
</el-form-item>
</div>
<div>
<p class="btntema" @click="addcoreTeam">+添加团队核心成员</p>
</div>
</div>
<div v-if="subprojectjson.manageTeam===null">
<el-form-item label="管理团队">
</el-form-item>
<div v-for="item in manageTeam" style="margin-top: -0.2rem;">
<el-form-item label="" style="position: relative;">
<el-input v-model="item.empName" maxlength="36" placeholder="请输入姓名" style="width: 47%;margin-top: 0.2rem;"></el-input>
<el-input v-model="item.empPosition" maxlength="36" placeholder="请输入职务" style="width: 47%;margin-top: 0.2rem;position: absolute;right: 0px;top: 0px;"></el-input>
<el-input v-model="item.empIntroduction" maxlength="36" placeholder="请输入简介" style="margin-top: 0.2rem"></el-input>
</el-form-item>
</div>
<div>
<p class="btntema" @click="addmanageteam">+添加管理团队人员</p>
</div>
</div>
<el-form-item v-if="subprojectjson.teamNumber===null" label="员工数量">
<el-input @input="inputchange()" v-model="projectjson.teamNumber" type="number" maxlength="36" placeholder="请输入员工数量"></el-input>
</el-form-item>
<div v-if="subprojectjson.stockRight===null">
<el-form-item label="股权结构">
</el-form-item>
<div v-for="item in stockRight" style="margin-top: -0.2rem;">
<el-form-item label="" style="position: relative;">
<el-input v-model="item.stockHolder" maxlength="36" placeholder="请输入股权人" style="width: 47%;margin-top: 0.2rem;"></el-input>
<el-input v-model="item.stockProportion" maxlength="36" placeholder="请输入占比" style="width: 47%;margin-top: 0.2rem;position: absolute;right: 0px;top: 0px;"></el-input>
</el-form-item>
</div>
<div>
<p class="btntema" @click="addstockRight">+添加股权结构</p>
</div>
</div>
<!--市场信息-->
<div class="editproject" v-if="istable.marketInfo===null"><span>市场信息</span></div>
<el-form-item v-if="subprojectjson.productAdvantage===null" label="公司优势">
<el-input @input="inputchange()" v-model="projectjson.productAdvantage" maxlength="300" placeholder="请输入公司优势" type="textarea" :rows="6"></el-input>
</el-form-item>
<el-form-item v-if="subprojectjson.competition===null" label="主要竞争对手">
<el-input @input="inputchange()" v-model="projectjson.competition" maxlength="300" placeholder="请输入主要竞争对手" type="textarea" :rows="6"></el-input>
</el-form-item>
<el-form-item v-if="subprojectjson.coreBusiness===null" label="主营业务">
<el-input @input="inputchange()" v-model="projectjson.coreBusiness" maxlength="300" placeholder="请输入主营业务" type="textarea" :rows="6"></el-input>
</el-form-item>
<el-form-item v-if="subprojectjson.customerCase===null" label="现有客户举例">
<el-input @input="inputchange()" v-model="projectjson.customerCase" maxlength="36" placeholder="请输入现有客户举例"></el-input>
</el-form-item>
<el-form-item v-if="subprojectjson.majorSupplier===null" label="主要供应商">
<el-input @input="inputchange()" v-model="projectjson.majorSupplier" maxlength="36" placeholder="请输入主要供应商"></el-input>
</el-form-item>
<el-form-item v-if="subprojectjson.majorProduct===null" label="主要产品">
<el-input @input="inputchange()" v-model="projectjson.majorProduct" maxlength="36" placeholder="请输入主要产品"></el-input>
</el-form-item>
<el-form-item v-if="subprojectjson.productPhase===null" label="产品阶段">
<el-select style="width:100%;" v-model="projectjson.productPhase" @change="inputchange()" :placeholder="$t('releasejson.plprojectModel')">
<el-option v-for="item in projectphaseData" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey">
</el-option>
</el-select>
</el-form-item>
<el-form-item v-if="subprojectjson.productModel===null" label="产品形态">
<el-select style="width:100%;" v-model="projectjson.productModel" @change="inputchange()" :placeholder="$t('releasejson.plprojectModel')">
<el-option v-for="item in projectformData" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey">
</el-option>
</el-select>
</el-form-item>
<!--技术与研发-->
<div class="editproject" v-if="istable.technologyResearch===null"><span>技术与研发</span></div>
<el-form-item v-if="subprojectjson.patentNumber===null" label="专利数量">
<el-input @input="inputchange()" v-model="projectjson.patentNumber" maxlength="36" placeholder="请输入专利数量"></el-input>
</el-form-item>
<el-form-item v-if="subprojectjson.investment===null" label="近三年研发投入">
<el-input @input="inputchange()" v-model="projectjson.investment" maxlength="36" placeholder="请输入近三年研发投入"></el-input>
</el-form-item>
<div v-if="subprojectjson.technologyTeam===null">
<el-form-item label="主要技术人员">
</el-form-item>
<div v-for="item in technologyTeam" style="margin-top: -0.2rem;">
<el-form-item label="" style="position: relative;">
<el-input v-model="item.empName" maxlength="36" placeholder="请输入姓名" style="width: 47%;margin-top: 0.2rem;"></el-input>
<el-input v-model="item.empPosition" maxlength="36" placeholder="请输入职务" style="width: 47%;margin-top: 0.2rem;position: absolute;right: 0px;top: 0px;"></el-input>
<el-input v-model="item.empIntroduction" maxlength="36" placeholder="请输入简介" style="margin-top: 0.2rem"></el-input>
</el-form-item>
</div>
<div>
<p class="btntema" @click="addtechnologyTeam">+添加主要技术人员</p>
</div>
</div>
<el-form-item v-if="subprojectjson.coreTechnology===null" label="核心技术">
<el-input @input="inputchange()" v-model="projectjson.coreTechnology" maxlength="300" placeholder="请输入核心技术" type="textarea" :rows="6"></el-input>
</el-form-item>
<!--财务数据-->
<div class="editproject" v-if="istable.financialData===null"><span>财务数据</span></div>
<el-form-item v-if="subprojectjson.income===null" label="主营收入">
<el-input @input="inputchange()" v-model="projectjson.income" maxlength="36" placeholder="请输入主营收入"></el-input>
</el-form-item>
<el-form-item v-if="subprojectjson.grossMargins===null" label="毛利率">
<el-input @input="inputchange()" v-model="projectjson.grossMargins" maxlength="36" placeholder="请输入毛利率"></el-input>
</el-form-item>
<el-form-item v-if="subprojectjson.netProfits===null" label="净利润">
<el-input @input="inputchange()" v-model="projectjson.netProfits" maxlength="36" placeholder="请输入净利润"></el-input>
</el-form-item>
<!--融资信息-->
<div class="editproject" v-if="istable.financingInfo===null"><span>融资信息</span></div>
<el-form-item v-if="subprojectjson.financingInvestor===null" label="本轮融资阶段">
<el-input @input="inputchange()" v-model="projectjson.financingInvestor" maxlength="36" placeholder="请输入本轮融资阶段"></el-input>
</el-form-item>
<el-form-item v-if="subprojectjson.preValuation===null" label="当前投前估值">
<el-input @input="inputchange()" v-model="projectjson.preValuation" maxlength="36" placeholder="请输入当前投前估值"></el-input>
</el-form-item>
<el-form-item v-if="subprojectjson.currentFinancingMoney===null" label="融资金额">
<el-input @input="inputchange()" v-model="projectjson.currentFinancingMoney" maxlength="36" placeholder="请输入融资金额"></el-input>
</el-form-item>
<el-form-item v-if="subprojectjson.valuationBasis===null" label="估值依据">
<el-input @input="inputchange()" v-model="projectjson.valuationBasis" maxlength="300" placeholder="请输入估值依据" type="textarea" :rows="6"></el-input>
</el-form-item>
<el-form-item v-if="subprojectjson.investmentLights===null" label="投资亮点">
<el-input @input="inputchange()" v-model="projectjson.investmentLights" maxlength="300" placeholder="请输入投资亮点" type="textarea" :rows="6"></el-input>
</el-form-item>
<div class="editproject" ><span>备注</span></div>
<el-form-item label=" ">
<el-input @input="inputchange()" v-model="projectjson.explication" maxlength="300" placeholder="请输入备注" type="textarea" :rows="6"></el-input>
</el-form-item>
</el-form>
</div>
</div>
<div class="service_bottom">
<p @click="addedit">提交</p>
</div>
</div>
</template>
<script>
import api from './api/api'
export default {
name : "editplanmentaion",
props: ['screenchildList','serviceId','ServicephasesId','labName','response'],
data(){
return{
projectformData:[],
projectphaseData:[],
latestFinancingTurnData:[],
projectjson:{
},
subprojectjson:{
},
istable:{},
manageTeam:[{
empName:'',
empPosition:'',
empIntroduction:'',
}],
coreTeam:[{
empName:'',
empPosition:'',
empIntroduction:'',
}],
technologyTeam:[{
empName:'',
empPosition:'',
empIntroduction:'',
}],
stockRight:[{
stockHolder:'',
stockProportion:'',
}],
}
},
methods:{
addedit(){
for(let i in this.stockRight){
if(this.stockRight[i].stockHolder!=''&&this.stockRight[i].stockProportion!=''){
if(this.projectjson.stockRight==null){
this.projectjson.stockRight = [];
}
this.projectjson.stockRight.push(this.stockRight[i])
}
}
for(let i in this.manageTeam){
if(this.manageTeam[i].empName!=''&&this.manageTeam[i].empPosition!=''&&this.manageTeam[i].empIntroduction!=''){
if(this.projectjson.manageTeam==null){
this.projectjson.manageTeam = [];
}
this.projectjson.manageTeam.push(this.manageTeam[i])
}
}
for(let i in this.technologyTeam){
if(this.technologyTeam[i].empName!=''&&this.technologyTeam[i].empPosition!=''&&this.technologyTeam[i].empIntroduction!=''){
if(this.projectjson.technologyTeam==null){
this.projectjson.technologyTeam = [];
}
this.projectjson.technologyTeam.push(this.technologyTeam[i])
}
}
for(let i in this.coreTeam){
if(this.coreTeam[i].empName!=''&&this.coreTeam[i].empPosition!=''&&this.coreTeam[i].empIntroduction!=''){
if(this.projectjson.coreTeam==null){
this.projectjson.coreTeam = [];
}
this.projectjson.coreTeam.push(this.coreTeam[i])
}
}
if(this.response){
let params = {
params:this.projectjson,
phaseId:this.ServicephasesId,
serviceId:this.response.serviceId,
serviceRecordId:this.response.serviceRecordId
};
api.updatePlanRecord(params).then(response => {
if(response.code == 0) {
this.$router.push({path:"/personalcenter",query:{serviceId:this.response.serviceId}});
} else {
this.$message.error(response.msg);
}
})
.catch(error => {
console.log("提交出错");
return false;
})
}else{
let params = {
params:this.projectjson,
phaseId:this.ServicephasesId,
serviceId:this.serviceId,
};
api.addPlanData(params).then(response => {
if(response.code == 0) {
this.$router.push({path:"/personalcenter",query:{serviceId:this.serviceId}});
} else {
this.$message.error(response.msg);
}
})
.catch(error => {
console.log("提交出错");
return false;
})
}
},
inputchange(){
this.$forceUpdate()
},
//产品阶段
projectphaselist(){
api.selectDictList('project_model').then(response => {
if(response.code == 0) {
this.projectformData = response.result;
} else {
this.$message.error(response.msg);
}
})
.catch(error => {
console.log("提交出错");
return false;
})
},
//产品形态
projectformlist(){
api.selectDictList('project_phase').then(response => {
if(response.code == 0) {
this.projectphaseData = response.result;
} else {
this.$message.error(response.msg);
}
})
.catch(error => {
console.log("提交出错");
return false;
})
},
//最近一次融资轮次
getlatestFinancingTurn(){
api.selectDictList('latest_financing_turn').then(response => {
if(response.code == 0) {
this.latestFinancingTurnData = response.result;
} else {
this.$message.error(response.msg);
}
})
.catch(error => {
console.log("提交出错");
return false;
})
},
addmanageteam(){
this.manageTeam.push({
empName:'',
empPosition:'',
empIntroduction:'',});
},
addcoreTeam(){
this.coreTeam.push({
empName:'',
empPosition:'',
empIntroduction:'',});
},
addtechnologyTeam(){
this.technologyTeam.push({
empName:'',
empPosition:'',
empIntroduction:'',});
},
addstockRight(){
this.stockRight.push({
stockHolder:'',
stockProportion:'',});
},
},
mounted(){
if(window.sessionStorage.getItem("statechange") == 'SRT01'){
for(let i in this.screenchildList){
for(let t in this.screenchildList[i].subFieldList){
if(this.screenchildList[i].subFieldList[t].checked == true){
this.projectjson[this.screenchildList[i].subFieldList[t].fieldCode] = null;
this.subprojectjson[this.screenchildList[i].subFieldList[t].fieldCode] = null;
this.istable[this.screenchildList[i].fieldCode] = null;
}
}
}
}
this.$forceUpdate()
this.projectphaselist();
this.projectformlist();
this.getlatestFinancingTurn();
}
}
</script>
<style scoped lang="scss">
.project_content{
width: 85%;
margin: 0 auto;
}
.btntema{
border: 1px solid #5D78FF;
text-align: center;
line-height: 40px;
border-radius: 3px;
margin-top: 0.4rem;
color:#5D78FF;
}
.editproject{
margin-top: 0.5rem;
> span {
font-weight: bold;
color: #3F3F53;
font-size: 0.32rem;
border-bottom: 2px solid #5d78ff;
padding-bottom: 0.1rem
}
}
</style>
\ No newline at end of file
......@@ -324,13 +324,11 @@
}
},
fieldscode:[],
fieldscode1:[],
}
},
methods:{
addedit(){
console.log(this.projectjson)
for(let i in this.financingList){
if(this.financingList[i].financingTime!=''&&this.financingList[i].financingTurn!=''&&this.financingList[i].financingMoney!=''&&this.financingList[i].financingInvestor!=''){
if(this.projectjson.financingList==null){
......@@ -373,7 +371,7 @@
}
api.fillDetail(this.projectjson).then(response => {
if(response.code == 0) {
this.$router.go(-1)
} else {
this.$message.error(response.msg);
}
......
<template>
<div class="fieldiv">
<ul>
<li @click="fieldetails">
<span>一句话描述公司主要产品</span>
<span>2次更新记录</span>
<i class="iconfont icon-you"></i>
</li>
<li>
<span>一句话描述公司主要产品</span>
<span>12次更新记录</span>
<i class="iconfont icon-you"></i>
</li>
<li>
<span>一句话描述公司主要产品</span>
<span>22次更新记录</span>
<i class="iconfont icon-you"></i>
</li>
<li>
<span>一句话描述公司主要产品</span>
<span>32次更新记录</span>
<li @click="fieldetails(item)" v-for="(item,index) in fieldDisplaydata">
<span>{{item.fieldName}}</span>
<span>{{item.recordCount}}次更新记录</span>
<i class="iconfont icon-you"></i>
</li>
</ul>
......@@ -28,18 +13,15 @@
<script>
export default {
name : "fielddisplay",
props: ['fieldDisplaydata'],
data(){
return{
recordjson:{
problem:'怎样认识《诗经》的文学解读与精血解读试以其中的诗歌为例进行文学解读',
answer:'所谓经学解读即以儒家的所谓经学解读即以儒家的所谓经学解读即以儒家的所谓经学解读即以儒家的所谓经学解读即以儒家的所谓经学解读即以儒家的所谓经学解读即以儒家的所谓经学解读即以儒家的所谓经学解读即以儒家的所谓经学解读即以儒家的所谓经学解读即以儒家的所谓经学解读即以儒家的所谓经学解读即以儒家的所谓经学解读即以儒家的所谓经学解读即以儒家的',
analysis:[require('../../../assets/img/index/cosmo.png'),require('../../../assets/img/index/cosmo.png'),require('../../../assets/img/index/cosmo.png'),require('../../../assets/img/index/cosmo.png'),require('../../../assets/img/index/cosmo.png')],
}
}
},
methods:{
fieldetails(){
this.$router.push({path:"/fielddisplaydetails"});
fieldetails(val){
this.$router.push({path:"/fielddisplaydetails",query:{fieldjson:val,state:true}});
},
},
mounted(){
......@@ -65,7 +47,8 @@
}
>span:nth-child(2){
color: #9197B4;
margin-right: 0.4rem;
position: absolute;
right: 1.2rem;
}
>i{
color: #9197B4;
......
<template>
<div>
<div class="service_top">
<serviceTop :isHistory="false" :isrecord="true" :isSearch="true" recordtext="记录时间:2015-10-20 14:00:23"></serviceTop>
<serviceTop :isHistory="false" :isrecord="true" :isSearch="true" recordtext="记录时间:--"></serviceTop>
</div>
<div>
<div class="record_div">
<p>
<span>一句话描述公司主要产品</span>
<span>10次更新记录</span>
<p v-if="$route.query.state">
<span>{{$route.query.fieldjson.fieldName}}</span>
<span>{{$route.query.fieldjson.recordCount}}次更新记录</span>
</p>
<div>
<p class="titlep">更新</p>
<div v-for="(item,index) in fieldData">
<p class="titlep" :class="item.previousValue?'':'iscolor'">{{item.previousValue?'更新':'新增'}}</p>
<div>
<p>2015-10-20 14:00:00</p>
<p>阶段:<span>融资准备——融资战略咨询</span></p>
<p>一句话描述公司主要产品</p>
<p>此前5个月内,波音737 Max发生了两起坠机事故,造成346人死亡。自3月中旬以来,这一型号的波音客机在全球范围内停飞。</p>
<p>历史:“我们知道我们犯了错误,一些地方出了差错,” 穆伦伯格在两场关于飞机设计和市场销售的国会听证会之前的书面证词中表示。“我们承认这一点,我们正在修复它们。”</p>
<p>{{item.createdTime}}</p>
<p v-if="$route.query.state">阶段:<span>{{$route.query.state?item.phaseName:item.fieldName}}</span></p>
<p :class="$route.query.state?'':'fieldName'">{{item.fieldName}}</p>
<p v-if="item.fieldCode!='manageTeam'&&item.fieldCode!='coreTeam'&&item.fieldCode!='stockRight'&&item.fieldCode!='technologyTeam'">{{item.fieldValue}}</p>
<p v-if="item.fieldCode!='manageTeam'&&item.fieldCode!='coreTeam'&&item.fieldCode!='stockRight'&&item.fieldCode!='technologyTeam'&&item.previousValue">历史:{{item.previousValue}}</p>
<el-table v-if="item.fieldCode=='manageTeam'||item.fieldCode=='coreTeam'||item.fieldCode=='technologyTeam'" :data="item.fieldValue" tooltip-effect="dark" class="projectTable1" style="margin-top: 0.2rem;">
<el-table-column prop="empName" label="姓名" align="center" width="80">
</el-table-column>
<el-table-column prop="empPosition" label="职务" align="center" width="80">
</el-table-column>
<el-table-column prop="empIntroduction" label="简介" align="center">
</el-table-column>
</el-table>
<span v-if="(item.fieldCode=='manageTeam'&&item.previousValue)||(item.fieldCode=='coreTeam'&&item.previousValue)||(item.fieldCode=='technologyTeam'&&item.previousValue)">历史:</span>
<el-table v-if="(item.fieldCode=='manageTeam'&&item.previousValue)||(item.fieldCode=='coreTeam'&&item.previousValue)||(item.fieldCode=='technologyTeam'&&item.previousValue)" :data="item.previousValue" tooltip-effect="dark" class="projectTable1" style="margin-top: 0.2rem;">
<el-table-column prop="empName" label="姓名" align="center" width="80">
</el-table-column>
<el-table-column prop="empPosition" label="职务" align="center" width="80">
</el-table-column>
<el-table-column prop="empIntroduction" label="简介" align="center">
</el-table-column>
</el-table>
<el-table v-if="item.fieldCode=='stockRight'" :data="item.fieldValue" tooltip-effect="dark" class="projectTable1" style="margin-top: 0.2rem;">
<el-table-column prop="stockHolder" label="股权人" align="center">
</el-table-column>
<el-table-column prop="stockProportion" label="占比" align="center">
</el-table-column>
</el-table>
<span v-if="item.fieldCode=='stockRight'&&item.previousValue">历史:</span>
<el-table v-if="item.fieldCode=='stockRight'&&item.previousValue" :data="item.previousValue" tooltip-effect="dark" class="projectTable1" style="margin-top: 0.2rem;">
<el-table-column prop="stockHolder" label="股权人" align="center">
</el-table-column>
<el-table-column prop="stockProportion" label="占比" align="center">
</el-table-column>
</el-table>
</div>
</div>
<div>
<p class="titlep">更新</p>
<div v-if="response.explication">
<p class="titlep">备注</p>
<div>
<p>2015-10-20 14:00:00</p>
<p>阶段:<span>融资准备——融资战略咨询</span></p>
<p>一句话描述公司主要产品</p>
<p>此前5个月内,波音737 Max发生了两起坠机事故,造成346人死亡。自3月中旬以来,这一型号的波音客机在全球范围内停飞。</p>
<p>历史:“我们知道我们犯了错误,一些地方出了差错,” 穆伦伯格在两场关于飞机设计和市场销售的国会听证会之前的书面证词中表示。“我们承认这一点,我们正在修复它们。”</p>
<p>{{response.explication}}</p>
</div>
</div>
</div>
</div>
<div class="service_bottom" v-if="response.lastFlag">
<p @click="editgo">编辑</p>
<p @click="removeRecord">删除</p>
</div>
</div>
</template>
<script>
import serviceTop from './servicetop';
import {Toast} from 'mint-ui';
import api from './api/api'
import { MessageBox } from 'mint-ui';
export default {
name : "fielddisplaydetails",
......@@ -45,23 +75,73 @@
},
data(){
return{
recordjson:{
problem:'怎样认识《诗经》的文学解读与精血解读试以其中的诗歌为例进行文学解读',
answer:'所谓经学解读即以儒家的所谓经学解读即以儒家的所谓经学解读即以儒家的所谓经学解读即以儒家的所谓经学解读即以儒家的所谓经学解读即以儒家的所谓经学解读即以儒家的所谓经学解读即以儒家的所谓经学解读即以儒家的所谓经学解读即以儒家的所谓经学解读即以儒家的所谓经学解读即以儒家的所谓经学解读即以儒家的所谓经学解读即以儒家的所谓经学解读即以儒家的',
analysis:[require('../../../assets/img/index/cosmo.png'),require('../../../assets/img/index/cosmo.png'),require('../../../assets/img/index/cosmo.png'),require('../../../assets/img/index/cosmo.png'),require('../../../assets/img/index/cosmo.png')],
}
fieldData:[],
response:{},
}
},
methods:{
editgo(){
this.$router.push({path:"/addplanmentation",query:{response:this.response}});
},
removeRecord(){
MessageBox.confirm('确定要删除吗?').then(action => {
api.removeRecord(this.response.serviceRecordId).then(response => {
if(response.code == 0) {
this.$router.go(-1)
} else {
this.$message.error(response.msg);
}
})
.catch(error => {
console.log("提交出错");
return false;
});
}).catch(action => {
});
}
},
mounted(){
if(!this.$route.query.state){
api.getPhaseRecordDetail(this.$route.query.fieldjson.recordId).then(response => {
if(response.code == 0) {
this.response = response.result;
this.fieldData = response.result.fieldList;
} else {
this.$message.error(response.msg);
}
})
.catch(error => {
console.log("提交出错");
return false;
})
}else{
api.getRecordFieldDetail({fieldCode:this.$route.query.fieldjson.fieldCode,serviceId:this.$route.query.fieldjson.serviceId}).then(response => {
if(response.code == 0) {
this.fieldData = response.result;
} else {
this.$message.error(response.msg);
}
})
.catch(error => {
console.log("提交出错");
return false;
})
}
}
}
</script>
<style scoped lang="scss">
.iscolor{
color: #FFFFFF!important;
background:#5D78FF!important;
}
.fieldName{
font-weight: bold;
margin-top: -0.24rem;
}
.titlep{
color: #FFFFFF;
font-size: 0.24rem;
......
......@@ -10,9 +10,9 @@
<li v-for="(item,index) in data" :key="index" @click="recordcli(item)">
<p>
{{item.createdTime}}
<span>{{item.recordType=='SRM01'?'发布了一条分析记录':'发布了一条工作规划'}}</span>
<span>{{item.recordType=='SRM01'?'发布了一条分析记录':item.recordType=='SRM02'?'发布了一条工作规划':item.recordType=='SRM03'?'发布了一条实施记录':''}}</span>
</p>
<p>{{item.recordType=='SRM01'?'问题:':'标题:'}}{{item.title}}</p>
<p>{{item.recordType=='SRM01'?'问题:':item.recordType=='SRM02'?'标题:':item.recordType=='SRM03'?'更新内容:':''}}{{item.recordType=='SRM03'?item.content:item.title}}</p>
<p>{{item.companyName}}</p>
</li>
</ul>
......@@ -49,6 +49,10 @@
}else{
this.$router.push({path:"/workplandetails",query:{editstate:true,recordId:val.recordId}});
}
if(val.recordType=='SRM03'){
this.$router.push({path:"/fielddisplaydetails",query:{fieldjson:{recordId:val.recordId}}});
}
},
getsearchServiceRecords(size){
let params = {
......
......@@ -19,8 +19,8 @@
</ul>
</div>
<div class="historical_div">
<fieldDisplay v-if="addprojecttype==2"></fieldDisplay>
<stageDisplay v-if="addprojecttype==1"></stageDisplay>
<fieldDisplay :fieldDisplaydata="fieldDisplaydata" v-if="addprojecttype==2"></fieldDisplay>
<stageDisplay :stageDisplaydata="stageDisplaydata" v-if="addprojecttype==1"></stageDisplay>
</div>
</div>
</div>
......@@ -29,24 +29,18 @@
<script>
import stageDisplay from './stagedisplay';
import fieldDisplay from './fielddisplay';
import api from './api/api'
export default {
name : "workplan",
name : "planmentation",
components:{
fieldDisplay,stageDisplay
},
data(){
return{
addprojecttype:1,
data:[
{span1:'2015-10-20 14:00:23',span2:'拜访记录',p1:'TechBook是太库(Techcode)旗下科创项目与大企业需求即时对接合作平台,以平台为信息中…',p2:'中国南方航空集团有限公司'},
{span1:'2015-10-20 14:00:23',span2:'月度计划信息',p1:'TechBook主要收录来自全球的科创型企业和以中国为核心的大中型企业,科创企业主…',p2:'中国南方航空集团有限公司'},
{span1:'2015-10-20 14:00:23',span2:'工作规划',p1:'目前TechBook正在测试推广阶段,现在注册认证即可获得一定期限…',p2:'中国南方航空集团有限公司'},
{span1:'2015-10-20 14:00:23',span2:'TechBook是一个什么样的平台',p1:'问题:怎样认识《诗经》的文学解读与精血解读?',p2:'中国南方航空集团有限公司'},
{span1:'2015-10-20 14:00:23',span2:'TechBook是一个什么样的平台',p1:'问题:怎样认识《诗经》的文学解读与精血解读?',p2:'中国南方航空集团有限公司'},
{span1:'2015-10-20 14:00:23',span2:'TechBook是一个什么样的平台',p1:'问题:怎样认识《诗经》的文学解读与精血解读?',p2:'中国南方航空集团有限公司'},
{span1:'2015-10-20 14:00:23',span2:'TechBook是一个什么样的平台',p1:'问题:怎样认识《诗经》的文学解读与精血解读?',p2:'中国南方航空集团有限公司'},
{span1:'2015-10-20 14:00:23',span2:'TechBook是一个什么样的平台',p1:'问题:怎样认识《诗经》的文学解读与精血解读?',p2:'中国南方航空集团有限公司'},
]
fieldDisplaydata:[],
stageDisplaydata:[],
data:[]
}
},
methods:{
......@@ -57,15 +51,42 @@
this.addprojecttype = 2;
}
},
getPhasePlanRecorded(){
api.getPhasePlanRecord(this.$route.query.serviceId).then(response => {
if(response.code == 0) {
this.stageDisplaydata = response.result;
} else {
this.$message.error(response.msg);
}
})
.catch(error => {
console.log("提交出错");
return false;
})
},
getPlanFieldRecorded(){
api.getPlanFieldRecord(this.$route.query.serviceId).then(response => {
if(response.code == 0) {
this.fieldDisplaydata = response.result;
} else {
this.$message.error(response.msg);
}
})
.catch(error => {
console.log("提交出错");
return false;
})
},
editlist(){
this.$router.push({path:"/workplandetails",query:{editstate:false}});
this.$router.push({path:"/addplanmentation",query:{serviceId:this.$route.query.serviceId}});
},
recordcli(){
this.$router.push({path:"/workplandetails",query:{editstate:true}});
}
},
mounted(){
this.getPhasePlanRecorded();
this.getPlanFieldRecorded();
}
}
</script>
......
......@@ -89,7 +89,7 @@
api.updateBSSsrviceById(params).then(response => {
if(response.code == 0) {
this.$toast("修改分析记录成功");
this.topage();
this.$router.go(-1)
} else {
this.$message.error(response.msg);
}
......@@ -111,7 +111,7 @@
api.insertBSSsrvice(params).then(response => {
if(response.code == 0) {
this.$toast("创建分析记录成功");
this.topage();
this.$router.go(-1)
} else {
this.$message.error(response.msg);
}
......@@ -139,7 +139,7 @@
api.updateBSSsrviceById(this.recordjson).then(response => {
if(response.code == 0) {
this.$toast("删除分析记录成功");
this.topage();
this.$router.go(-1)
} else {
this.$message.error(response.msg);
}
......
......@@ -2,44 +2,16 @@
<div>
<div>
<div style="margin-top: 0.3rem">
<div class="stage_top"><i></i><p><span>融资准备</span>(融资战略咨询)</p></div>
<div class="stage_tent">
<span>记录1</span>
<span>2019-10-20 13:00:00</span>
<p>更新内容:团队核心成员、一句话描述、主要竞争对手、主要产品、产品形态等</p>
</div>
<div class="stage_tent">
<span>记录1</span>
<span>2019-10-20 13:00:00</span>
<p>更新内容:团队核心成员、一句话描述、主要竞争对手、主要产品、产品形态等</p>
<div style="padding-bottom: 0.5rem"> </div>
</div>
<div class="stage_topchild"><i></i><p><span>融资材料准备</span></p></div>
<div class="stage_tent">
<span>记录1</span>
<span>2019-10-20 13:00:00</span>
<p>更新内容:团队核心成员、一句话描述、主要竞争对手、主要产品、产品形态等</p>
</div>
<div class="stage_tent">
<span>记录1</span>
<span>2019-10-20 13:00:00</span>
<p>更新内容:团队核心成员、一句话描述、主要竞争对手、主要产品、产品形态等</p>
</div>
<div class="stage_tent">
<span>记录1</span>
<span>2019-10-20 13:00:00</span>
<p>更新内容:团队核心成员、一句话描述、主要竞争对手、主要产品、产品形态等</p>
</div>
<div class="stage_tent">
<span>记录1</span>
<span>2019-10-20 13:00:00</span>
<p>更新内容:团队核心成员、一句话描述、主要竞争对手、主要产品、产品形态等</p>
</div>
<div class="stage_top"><i></i><p><span>融资准备</span>(融资战略咨询)</p></div>
<div class="stage_tent">
<span>记录1</span>
<span>2019-10-20 13:00:00</span>
<p>更新内容:团队核心成员、一句话描述、主要竞争对手、主要产品、产品形态等</p>
<div v-for="(item,index) in stageDisplaydata">
<div class="stage_top"><p><span>{{item.phaseName}}</span></p></div>
<div v-for="(items,index) in item.nextPhase">
<div class="stage_topchild"><i></i><p><span>{{items.phaseName}}</span></p></div>
<div v-for="(itemed,index) in items.recordList" @click="fieldetails(itemed)" class="stage_tent">
<span>记录{{index+1}}</span>
<span>{{itemed.createdTime}}</span>
<p>更新内容:{{itemed.content}}</p>
</div>
</div>
</div>
</div>
</div>
......@@ -47,8 +19,18 @@
</template>
<script>
import api from './api/api'
export default {
name : "stagedisplay"
name : "stagedisplay",
props: ['stageDisplaydata'],
methods:{
fieldetails(val){
this.$router.push({path:"/fielddisplaydetails",query:{fieldjson:val,state:false,}});
},
},
mounted(){
}
}
</script>
......@@ -90,7 +72,7 @@
left: 0px;
}
>p{
margin-left: 1rem;
margin-left: 0rem;
font-size: 0.32rem;
>span{
font-weight: bold;
......
......@@ -152,7 +152,7 @@
api.updateBSSsrviceById(params).then(response => {
if(response.code == 0) {
this.$toast("修改工作规划成功");
this.topage();
this.$router.go(-1)
} else {
this.$message.error(response.msg);
}
......@@ -168,13 +168,13 @@
recordType:'SRM02',
title:this.recordjson.title,
content:this.recordjson.content,
explication:this.recordjson.explication,
attachments:this.recordjson.attachments,
created_by:this.empinfo.empId,
};
api.insertBSSsrvice(params).then(response => {
if(response.code == 0) {
this.$toast("创建工作规划成功");
this.topage();
this.$router.go(-1)
} else {
this.$message.error(response.msg);
}
......@@ -202,7 +202,7 @@
api.updateBSSsrviceById(this.recordjson).then(response => {
if(response.code == 0) {
this.$toast("删除工作规划成功");
this.topage();
this.$router.go(-1)
} else {
this.$message.error(response.msg);
}
......
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