Commit 1504a8dc by Sweet Zhang

商机跟进

parents 33b48658 d6113dc8
......@@ -31,7 +31,7 @@
"src/assets/weui/weui.css",
"src/styles.scss"
],
"scripts": [],// 引入全局脚步,构建时会打包进来,常用于第三方库引入的脚本
"scripts": [], // 引入全局脚步,构建时会打包进来,常用于第三方库引入的脚本
"es5BrowserSupport": true
},
"configurations": {
......@@ -187,4 +187,4 @@
}
},
"defaultProject": "ydLife"
}
}
\ No newline at end of file
import {BrowserModule} from '@angular/platform-browser';
import {NgModule} from '@angular/core';
import {AppRoutingModule} from './app-routing.module';
import {AppComponent} from './app.component';
import {PageNotFoundComponent} from './page-not-found/page-not-found.component';
import {MyModule} from './my/my.module';
import {Router} from '@angular/router';
import {AuthModule} from './auth/auth.module';
import {HttpClientModule} from '@angular/common/http';
import {LifeCommonModule} from './common/life-common.module';
import {httpInterceptorProviders} from './http-interceptors/index';
import {DatePipe} from "@angular/common";
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { AppRoutingModule } from './app-routing.module';
import { AppComponent } from './app.component';
import { PageNotFoundComponent } from './page-not-found/page-not-found.component';
import { MyModule } from './my/my.module';
import { Router } from '@angular/router';
import { AuthModule } from './auth/auth.module';
import { HttpClientModule } from '@angular/common/http';
import { LifeCommonModule } from './common/life-common.module';
import { httpInterceptorProviders } from './http-interceptors/index';
import { DatePipe } from "@angular/common";
import { SafeHtmlPipe } from './safe-html.pipe';
import {LocalStorage} from './domain/local.storage';
import { LocalStorage } from './domain/local.storage';
@NgModule({
declarations: [
AppComponent,
......@@ -26,7 +27,7 @@ import {LocalStorage} from './domain/local.storage';
HttpClientModule,
AppRoutingModule,
],
providers: [DatePipe, httpInterceptorProviders,LocalStorage],
providers: [DatePipe, httpInterceptorProviders, LocalStorage],
bootstrap: [AppComponent]
})
export class AppModule {
......
......@@ -11,11 +11,9 @@
position: fixed;
z-index: 5000;
width: 9.8em;
min-height: 7.6em;
height: 60px;
padding: 0 0.7em;
top: 180px;
left: 50%;
margin-left: -4.9em;
background: rgba(17, 17, 17, 0.7);
text-align: justify;
border-radius: 5px;
......@@ -25,7 +23,6 @@
justify-content: center;
align-items: center;
.weui-toast__content {
padding: 0 0 15px;
width: 100%;
word-break: break-all;
text-align: justify;
......
<div class="wrapper">
<ul class="tab">
<li *ngFor="let titleItem of titleList" (click)="selectTab(titleItem.id)"
[ngClass]="{selected:selectedId===titleItem.id}">
[ngClass]="{selected:selectedId===titleItem.id}">
<div style="position: relative;">
<h3>{{titleItem.name}}
</h3>
......@@ -15,59 +15,60 @@
<div class="contentItem">
<span>姓名</span>
<input class="form-control" type="text" placeholder="姓名" [(ngModel)]="editBusiness.name"
[disabled]="readonlyFlag" />
[disabled]="readonlyFlag"/>
</div>
<div class="contentItem">
<span>年龄</span>
<input class="form-control" type="text" placeholder="年龄" [(ngModel)]="editBusiness.age"
[disabled]="readonlyFlag" />
[disabled]="readonlyFlag"/>
</div>
<div class="contentItem">
<span>性别</span>
<div class="sexWrapper">
<button class="form-control sex" [ngClass]="{'sexBtn':editBusiness?.gender=='1'}"
(click)="selectedGender('1')" [disabled]="readonlyFlag">
(click)="selectedGender('1')" [disabled]="readonlyFlag">
</button>
<button class="form-control sex" [ngClass]="{'sexBtn':editBusiness?.gender=='2'}"
(click)="selectedGender('2')" [disabled]="readonlyFlag"></button>
(click)="selectedGender('2')" [disabled]="readonlyFlag">
</button>
</div>
</div>
<div class="contentItem">
<span>手机</span>
<input class="form-control" type="text" placeholder="手机" [(ngModel)]="editBusiness.mobileNo" disabled />
<input class="form-control" type="text" placeholder="手机" [(ngModel)]="editBusiness.mobileNo" disabled/>
</div>
<div class="contentItem">
<span>微信</span>
<input class="form-control" type="text" placeholder="微信" [(ngModel)]="editBusiness.weChat"
[disabled]="readonlyFlag" />
[disabled]="readonlyFlag"/>
</div>
<div class="contentItem">
<span>其他联系</span>
<input class="form-control" type="text" placeholder="其他联系" [(ngModel)]="editBusiness.otherContacts"
[disabled]="readonlyFlag" />
[disabled]="readonlyFlag"/>
</div>
<div class="contentItem">
<span>商机来源</span>
<input class="form-control" type="text" placeholder="商机来源" [(ngModel)]="editBusiness.sourceChannel"
[disabled]="readonlyFlag" />
[disabled]="readonlyFlag"/>
</div>
<div class="contentItem">
<span>城市</span>
<input class="form-control" type="text" placeholder="城市" [(ngModel)]="editBusiness.address"
[disabled]="readonlyFlag" />
[disabled]="readonlyFlag"/>
</div>
<div class="contentItem">
<span>商机时间</span>
<input class="form-control" type="text" placeholder="商机时间" [(ngModel)]="editBusiness.opportunityDate"
disabled />
<input class="form-control" id="time" type="text" placeholder="商机时间" [(ngModel)]="editBusiness.opportunityDate"
disabled/>
</div>
<div class="contentItem">
<span>商机状态</span>
<div>{{lifeCommonService.checkStr(editBusiness.mdDropOptionId)}} </div>
<div>{{lifeCommonService.checkStr(editBusiness.mdDropOptionId)}}</div>
</div>
<!-- <div class="contentItem">
<span>标签</span>
......@@ -78,7 +79,7 @@
<div class="tagWrapper">
<div style="width: 100%;">标签</div>
<div class="tagContent" *ngFor="let tagItem of tagList" (click)="selectTag(tagItem)"
[ngClass]="{selected:tagItem.selected}">
[ngClass]="{selected:tagItem.selected}">
{{tagItem.tagName}}
</div>
</div>
......@@ -91,7 +92,7 @@
</div>
</div>
<div class="content" *ngIf="selected===4">
<div>暂无方案</div>
<div *ngIf="isCompletedQuestionnaire!=1">暂无方案</div>
</div>
<div class="content" *ngIf="selectedId===3">
<!--编辑框-->
......@@ -101,7 +102,9 @@
<div>
<select name="businessStatus" id="businessStatus" class="form-control" [(ngModel)]="opportunityRecordId">
<option value="null">请选择</option>
<option *ngFor="let businessStatusItem of businessStatusList" value="{{businessStatusItem.id}}">{{businessStatusItem.dropOptionName}}</option>
<option *ngFor="let businessStatusItem of businessStatusList" value="{{businessStatusItem.id}}">
{{businessStatusItem.dropOptionName}}
</option>
</select>
</div>
</div>
......@@ -124,6 +127,7 @@
<div class="updatedAt">{{opportunityRecordItem.noticeDate}}</div>
</li>
</ul>
<div class="add">+</div>
</div>
</div>
<ydlife-toast *ngIf="toastDialog" [toastInfo]="toastInfo"></ydlife-toast>
......@@ -8,7 +8,9 @@ import {LifeCommonService} from '../../common/life-common.service';
templateUrl: './my-business-detail.component.html',
styleUrls: ['./my-business-detail.component.scss']
})
export class MyBusinessDetailComponent implements OnInit {
titleList: Array<any>;
selectedId: number;
surveyAnswersList: Array<any>;
......@@ -58,6 +60,8 @@ export class MyBusinessDetailComponent implements OnInit {
this.ownOpportunityDetailQuery();
this.dropOptionsQuery();
}
editInfo() {
......@@ -167,7 +171,7 @@ export class MyBusinessDetailComponent implements OnInit {
this.toastInfo = {
status: 1,
msg: '修改成功!',
timeout: 300000,
timeout: 3000,
align: 'center'
};
}
......@@ -219,3 +223,5 @@ export class MyBusinessDetailComponent implements OnInit {
})
}
}
......@@ -14,12 +14,14 @@ import { MyBusinessComponent } from './my-business/my-business.component';
import { MyBusinessDetailComponent } from './my-business-detail/my-business-detail.component';
import { PickerComponent } from '../common/picker/picker.component';
import { ToastComponent } from '../common/toast/toast.component';
@NgModule({
declarations: [MyCenterHomeComponent, MkMaterialComponent, MkMaterialDetailComponent, FileUploadComponent, ImportantAnnouncementComponent, SalesDetailComponent, AnnouncementDetailComponent, MyBusinessComponent, MyBusinessDetailComponent, PickerComponent, ToastComponent],
imports: [
CommonModule,
LifeCommonModule,
MyRoutingModule
MyRoutingModule,
],
providers: [
DatePipe
......
......@@ -48,7 +48,7 @@ export class SalesDetailComponent implements OnInit {
jumpToOrderdetail(orderNo) {
const customerId = JSON.parse(localStorage.getItem('lifeCustomerInfo')).customerId;
window.location.href = `https://${window.location.host}/mine/orderdetail/${orderNo}?customerId=${customerId}&isReferral=true`;
window.location.href = `https://${window.location.host}/mine/orderdetail/${orderNo}?customerId=${customerId}&isReferral=true&paid=true`;
// https://mdev.zuihuibi.cn/mine/orderdetail/CP338119110911044108?customerId=41&isReferral=true&paid=true&whichNumber=0&policyHolderType=2
}
}
.gearDate{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:10px;background-color:rgba(0,0,0,.2);display:block;position:fixed;top:0;left:0;width:100%;height:100%;z-index:9900;overflow:hidden;-webkit-animation-fill-mode:both;animation-fill-mode:both}.date_ctrl{vertical-align:middle;background-color:#d5d8df;color:#000;margin:0;height:auto;width:100%;position:absolute;left:0;bottom:0;z-index:9901;overflow:hidden;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.slideInUp{-webkit-animation:slideInUp .3s;animation:slideInUp .3s}@-webkit-keyframes slideInUp{from{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes slideInUp{from{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.ym_roll,.date_roll,.datetime_roll,.time_roll{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:100%;height:auto;overflow:hidden;background-color:transparent;-webkit-mask:-webkit-gradient(linear,0% 50%,0% 100%,from(#debb47),to(rgba(36,142,36,0)));-webkit-mask:-webkit-linear-gradient(top,#debb47 50%,rgba(36,142,36,0))}.ym_roll>div,.date_roll>div,.datetime_roll>div,.time_roll>div{font-size:2.3em;height:10em;float:left;background-color:transparent;position:relative;overflow:hidden;-webkit-box-flex:4;-webkit-flex:4;-ms-flex:4;flex:4}.ym_roll>div .gear,.date_roll>div .gear,.datetime_roll>div .gear,.time_roll>div .gear{width:100%;float:left;position:absolute;z-index:9902;margin-top:-4em}.date_roll_mask{-webkit-mask:-webkit-gradient(linear,0% 40%,0% 0%,from(#debb47),to(rgba(36,142,36,0)));-webkit-mask:-webkit-linear-gradient(bottom,#debb47 50%,rgba(36,142,36,0));padding:0}.date_roll>div:nth-child(2){-webkit-box-flex:2;-webkit-flex:2;-ms-flex:2;flex:2}.date_roll>div:nth-child(1),.datetime_roll>div:nth-child(1){-webkit-box-flex:4;-webkit-flex:4;-ms-flex:4;flex:4}.datetime_roll>div:first-child{-webkit-box-flex:6;-webkit-flex:6;-ms-flex:6;flex:6}.datetime_roll>div:last-child{-webkit-box-flex:6;-webkit-flex:6;-ms-flex:6;flex:6}.date_grid{position:relative;top:4em;width:100%;height:2em;margin:0;box-sizing:border-box;z-index:0;border-top:1px solid #abaeb5;border-bottom:1px solid #abaeb5}.date_grid>div{color:#000;position:absolute;right:0;top:0;font-size:.8em;line-height:2.5em}.date_roll>div:nth-child(3) .date_grid>div{left:42%}.datetime_roll>div .date_grid>div{right:0}.datetime_roll>div:first-child .date_grid>div{left:auto;right:0%}.datetime_roll>div:last-child .date_grid>div{left:50%}.time_roll>div:nth-child(1) .date_grid>div{right:1em}.ym_roll>div:nth-child(1) .date_grid>div{right:.1em}.ym_roll>div .date_grid>div,.time_roll>div .date_grid>div{right:5em}.date_btn{color:#0575f2;font-size:1.6em;line-height:1em;text-align:center;padding:.8em 1em}.date_btn_box:before,.date_btn_box:after{content:'';position:absolute;height:1px;width:100%;display:block;background-color:#96979b;z-index:15;-webkit-transform:scaleY(.33);transform:scaleY(.33)}.date_btn_box{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:stretch;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch;background-color:#f1f2f4;position:relative}.date_btn_box:before{left:0;top:0;-webkit-transform-origin:50% 20%;transform-origin:50% 20%}.date_btn_box:after{left:0;bottom:0;-webkit-transform-origin:50% 70%;transform-origin:50% 70%}.date_roll>div:nth-child(1) .gear{text-indent:20%}.date_roll>div:nth-child(2) .gear{text-indent:-20%}.date_roll>div:nth-child(3) .gear{text-indent:-55%}.datetime_roll>div .gear{width:100%;text-indent:-25%}.datetime_roll>div:first-child .gear{text-indent:-10%}.datetime_roll>div:last-child .gear{text-indent:-50%}.ym_roll>div .gear,.time_roll>div .gear{width:100%;text-indent:-70%}.ym_roll>div:nth-child(1) .gear,.time_roll>div:nth-child(1) .gear{width:100%;text-indent:10%}.tooth{height:2em;line-height:2em;text-align:center}
\ No newline at end of file
......@@ -15,6 +15,7 @@
<link rel="shortcut icon" href="https://www.ydinsurance.cn/wp-content/uploads/2018/04/favicon.gif"
type="image/x-icon" />
<link rel="stylesheet" href="./assets/bootstrap/dist/css/bootstrap.min.css">
<link rel="stylesheet" href="./assets/LCalendar/LCalendar.css">
</head>
<body>
......@@ -23,6 +24,7 @@
<script src="./assets/js/qrcode.js"></script>
<!--<script src="https://res.wx.qq.com/open/js/jweixin-1.4.0.js"></script>-->
<script src="https://res2.wx.qq.com/open/js/jweixin-1.4.0.js"></script>
<script src="./assets/LCalendar/LCalendar.js"></script>
</body>
</html>
\ No newline at end of file
/* SystemJS module definition */
declare var module: NodeModule;
interface NodeModule {
id: string;
}
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