Commit 58254264 by zeyang

1.优化赢家平台 商机跟进的时间选择样式和校验

2.赢家平台嵌入SFP智能财策页面
parent ba982ef6
......@@ -21,31 +21,32 @@
<div class="contentItem">
<span>出生日期</span>
<div>
<ListItem
DatePicker
[mode]="'date'"
[disabled]="readonlyFlag"
[minDate]="minDate"
[maxDate] = "today"
[(ngModel)]="editBusiness.birthDate"
(onOk)="onOk($event)">
<Brief *ngIf="!readonlyFlag">{{editBusiness.birthDate ? (editBusiness.birthDate | date:'yyyy-MM-dd') : '请输入出生日期'}}</Brief>
<Brief *ngIf="readonlyFlag">{{editBusiness.birthDate ? (editBusiness.birthDate | date:'yyyy-MM-dd') : '暂无出生日期信息'}}</Brief>
<ListItem DatePicker [mode]="'date'" [disabled]="readonlyFlag" [minDate]="minDate"
[maxDate]="today" [(ngModel)]="editBusiness.birthDate" (onOk)="onOk($event)">
<Brief *ngIf="!readonlyFlag">
{{editBusiness.birthDate ? (editBusiness.birthDate | date:'yyyy-MM-dd') : '请输入出生日期'}}
</Brief>
<Brief *ngIf="readonlyFlag">
{{editBusiness.birthDate ? (editBusiness.birthDate | date:'yyyy-MM-dd') : '暂无出生日期信息'}}
</Brief>
</ListItem>
</div>
</div>
<div class="contentItem">
<span>年龄</span>
<input class="form-control" type="text" placeholder="{{readonlyFlag ?'暂无年龄信息':'请输入年龄'}}"
[(ngModel)]="editBusiness.age" [disabled]="readonlyFlag || editBusiness.birthDate" (blur)="inputBlur()" />
[(ngModel)]="editBusiness.age" [disabled]="readonlyFlag || editBusiness.birthDate"
(blur)="inputBlur()" />
</div>
<div class="contentItem">
<span>性别</span>
<div class="sexWrapper">
<button class="form-control sex" [ngClass]="{'sexBtn':editBusiness?.gender=='1' && maleFlag && femaleFlag}"
<button class="form-control sex"
[ngClass]="{'sexBtn':editBusiness?.gender=='1' && maleFlag && femaleFlag}"
(click)="selectedGender('1')" [disabled]="readonlyFlag" *ngIf="sexFlag && maleFlag">
</button>
<button class="form-control sex" [ngClass]="{'sexBtn':editBusiness?.gender=='2' && maleFlag && femaleFlag}"
<button class="form-control sex"
[ngClass]="{'sexBtn':editBusiness?.gender=='2' && maleFlag && femaleFlag}"
(click)="selectedGender('2')" [disabled]="readonlyFlag" *ngIf="sexFlag && femaleFlag">
</button>
</div>
......@@ -62,7 +63,8 @@
[(ngModel)]="editBusiness.bloodTypeId" (blur)="inputBlur()">
<option value="">{{readonlyFlag ?'暂无血型信息':'请选择血型'}}</option>
<option *ngFor="let businessBloodItem of businessBloodList" [value]="businessBloodItem.id">
{{businessBloodItem.dropOptionName}}</option>
{{businessBloodItem.dropOptionName}}
</option>
</select>
<!--<input class="form-control" type="text" placeholder="{{readonlyFlag ?'暂无血型信息':'请选择血型'}}"-->
<!--[disabled]="readonlyFlag" [(ngModel)]="editBusiness.bloodTypeId" (blur)="inputBlur()" />-->
......@@ -73,7 +75,8 @@
[(ngModel)]="editBusiness.zodiacTypeId" (blur)="inputBlur()">
<option value="">{{readonlyFlag ?'暂无星座信息':'请选择星座'}}</option>
<option *ngFor="let businessZodiacItem of businessZodiacList" [value]="businessZodiacItem.id">
{{businessZodiacItem.dropOptionName}}</option>
{{businessZodiacItem.dropOptionName}}
</option>
</select>
<!--<input class="form-control" type="text" placeholder="{{readonlyFlag ?'暂无星座信息':'请选择星座'}}"-->
<!--[disabled]="readonlyFlag" [(ngModel)]="editBusiness.zodiacTypeId" (blur)="inputBlur()" />-->
......@@ -131,20 +134,23 @@
[(ngModel)]="editBusiness.sourceFrom" [disabled]="readonlyFlag" (blur)="inputBlur()">
<option value="">{{readonlyFlag ?'暂无商机来源':'请选择商机来源'}}</option>
<option *ngFor="let businessSourceItem of businessSourceList" [value]="businessSourceItem.id">
{{businessSourceItem.dropOptionName}}</option>
{{businessSourceItem.dropOptionName}}
</option>
</select>
<input *ngIf="opportunityId!=0" class="form-control" type="text" [(ngModel)]="editBusiness.sourceChannel"
disabled placeholder="{{editBusiness.sourceChannel ?editBusiness.sourceChannel:'暂无商机来源'}}" />
<input *ngIf="opportunityId!=0" class="form-control" type="text"
[(ngModel)]="editBusiness.sourceChannel" disabled
placeholder="{{editBusiness.sourceChannel ?editBusiness.sourceChannel:'暂无商机来源'}}" />
</div>
<div class="contentItem">
<span>商机时间</span>
<input class="form-control" type="text" placeholder="商机时间" [(ngModel)]="editBusiness.opportunityDate"
disabled />
<input class="form-control" type="text" placeholder="商机时间"
[(ngModel)]="editBusiness.opportunityDate" disabled />
</div>
<div class="contentItem">
<span>商机状态</span>
<div style="padding: 6px 12px;color: #e10d0d;font-weight: bold;">
{{editBusiness.mdDropOptionName?editBusiness.mdDropOptionName:'待跟进'}}</div>
{{editBusiness.mdDropOptionName?editBusiness.mdDropOptionName:'待跟进'}}
</div>
</div>
</div>
<div class="wrapper_item" style="border: none;margin-bottom: 0;">
......@@ -201,11 +207,9 @@
</div>
<!-- SFP咨询问卷 -->
<div class="content" *ngIf="selectedId===2 && isSfpShow == true">
<iframe src="http://localhost:4200/salesDetail" style="height: 100%; width: 100%;flex-grow: 1;">
<iframe class="content" *ngIf="selectedId===2 && isSfpShow == true" [src]="transform(iframeUrl)"
style="width: 100%;flex-grow: 1;border: medium none;">
</iframe>
</div>
<!-- 客户告知书 -->
<div class="content" *ngIf="selectedId===5">
<ydlife-e-notice [agreeFlag]="false"></ydlife-e-notice>
......@@ -220,8 +224,11 @@
<div style="display: flex;justify-content: space-between;height: 25px;">
<div class="updatedAt">{{opportunityRecordItem.noticeDate}}</div>
<div class="opportunityRecordItem">
<a *ngIf="opportunityRecordItem.informedOssPath" href="{{opportunityRecordItem.informedOssPath}}" target="_blank"><i class="iconfont icon-pdf" style="color: #C81B1E;margin-right:5px"></i></a>
<span [ngStyle]="setBackgroundColor(opportunityRecordItem)">{{opportunityRecordItem.mdDropOptionName?opportunityRecordItem.mdDropOptionName:'待跟进'}}</span>
<a *ngIf="opportunityRecordItem.informedOssPath"
href="{{opportunityRecordItem.informedOssPath}}" target="_blank"><i
class="iconfont icon-pdf" style="color: #C81B1E;margin-right:5px"></i></a>
<span
[ngStyle]="setBackgroundColor(opportunityRecordItem)">{{opportunityRecordItem.mdDropOptionName?opportunityRecordItem.mdDropOptionName:'待跟进'}}</span>
</div>
</div>
<div class="salesNotice">
......@@ -278,11 +285,25 @@
[(ngModel)]="opportunityRecordNoticeDate" (blur)="inputBlur()"></div>
</div>
<div *ngIf="isSfpShow">
<div>日程开始时间</div>
<div><input type="text" id="remark" class="form-control" placeholder="输入开始时间" [(ngModel)]="taskTimeFrom" (blur)="inputBlur()"></div>
<div>日程结束时间</div>
<div><input type="text" id="remark" class="form-control" placeholder="输入结束时间" [(ngModel)]="taskTimeEnd" (blur)="inputBlur()"></div>
<div *ngIf="isSfpShow" style="display:flex;font-size: 15px;">
<!-- <div>日程开始/结束时间</div>
<div class="timeContent">
<div class="picker_list">
<PickerView [data]="seasons" [cols]='3' [cascade]="false" [ngModel]="taskTimeFrom" [indicatorStyle]="{'background':'#f6f6f6','border-radius':'50px','z-index':'0'}" (ngModelChange)="onChange($event,1)"></PickerView>
</div>
<div style="color: #d9dadc;width: 10%;text-align: center;">到</div>
<div class="picker_list">
<PickerView [data]="seasons" [cascade]="false" [cols]='3' [ngModel]="taskTimeEnd" [indicatorStyle]="{'background':'#f6f6f6','border-radius':'50px','z-index':'0'}" (ngModelChange)="onChange($event,2)"></PickerView>
</div>
</div> -->
<div>添加日程时间</div>
<div style="display:flex;">
<div style="width:50%"><input type="Time" id="remark" class="form-control" placeholder="输入开始时间" [(ngModel)]="taskTimeFrom"
(blur)="inputBlur()"></div>
<div style="width:50%"><input type="Time" id="remark" class="form-control" placeholder="输入结束时间" [(ngModel)]="taskTimeEnd"
(blur)="inputBlur()"></div>
</div>
</div>
<ul class="footer">
......@@ -298,13 +319,11 @@
<div [ngStyle]="{ height: 300, overflow: 'scroll' }">
<div class="am-list" style="margin:0;">
<div class="am-list-item">
<InputItem [clear]="true"
[value]="editBusiness.name"
<InputItem [clear]="true" [value]="editBusiness.name"
(onChange)="editBusiness.name = $event">姓名:</InputItem>
</div>
<div class="am-list-item">
<InputItem [type]="'phone'"
[value]="editBusiness.mobileNo"
<InputItem [type]="'phone'" [value]="editBusiness.mobileNo"
(onChange)="editBusiness.mobileNo = $event">手机号码:</InputItem>
</div>
<div class="am-list-line" style="color: #999;font-size:12px">
......@@ -315,8 +334,7 @@
<div class="am-list-line">
<div class="am-list-content"
style="width:100%;color:#fff;text-align:center;background-color: #2179AD;border-radius: 20px;margin:18px auto"
(click)="sendENotice()"
>发送</div>
(click)="sendENotice()">发送</div>
</div>
</div>
</div>
......
.wrapper {
padding-bottom: 40px;
font-size: 16px;
background-color: #fff;
min-height: 90vh;
display: flex;
flex-direction: column;
select {
-webkit-appearance: none;
border: none;
box-shadow: none;
}
.tab {
display: flex;
list-style: none;
margin: 10px 0px;
padding-left: 1%;
li {
margin-right: 10px;
line-height: 30px;
......@@ -20,21 +26,25 @@
text-align: center;
border: 1px #a9aabb solid;
border-radius: 20px;
h3 {
font-weight: normal;
font-size: 15px;
}
}
li.selected {
// background-color: #ff5a32;
// color: #fff;
border: 1px #e10d0d solid;
}
}
.content {
padding: 10px 5px;
position: relative;
> .iconfont {
>.iconfont {
width: 55px;
height: 55px;
line-height: 55px;
......@@ -47,20 +57,25 @@
text-align: center;
bottom: 76px;
}
.contentDetail {
margin-top: 15px;
.wrapper_item {
border-bottom: 1px #ddd solid;
margin-bottom: 10px;
.contentItem {
display: flex;
justify-content: space-between;
align-items: center;
// border-bottom: 1px #ddd solid;
margin: 0 8px 5px 8px;
> span:first-child {
>span:first-child {
white-space: nowrap;
}
input.form-control {
// width: 60%;
// margin: 0 5px;
......@@ -73,14 +88,17 @@
flex-wrap: wrap;
font-size: 16px;
}
input::-webkit-input-placeholder{
input::-webkit-input-placeholder {
font-size: 16px;
// color: #0767bf;
}
.sexWrapper {
display: flex;
width: 60%;
justify-content: flex-end;
.form-control.sex {
width: 20%;
margin-left: 5px;
......@@ -88,33 +106,40 @@
box-shadow: none;
font-size: 16px;
}
.form-control.sex.sexBtn {
border: 1px #0767bf solid;
}
.form-control[disabled] {
background-color: transparent;
opacity: 1;
}
}
select.form-control {
direction: rtl;
font-size: 16px;
}
select.form-control[disabled] {
background-color: transparent;
// color: #0767bf;
}
}
.contentItem:last-child {
border-bottom: none;
}
}
}
.tagWrapper {
display: flex;
flex-wrap: wrap;
padding-left: 8px;
div.tagContent {
margin: 10px 3px 0 3px;
height: 28px;
......@@ -125,19 +150,22 @@
font-size: 13px;
padding: 0 15px;
}
div.selected {
border: 1px #0767bf solid;
}
}
.add {
position: absolute;
.iconfont {
width: 55px;
height: 55px;
line-height: 55px;
border-radius: 50%;
position: fixed;
right:42%;
right: 42%;
font-size: 24px;
color: #fff;
background: #0767bf;
......@@ -149,25 +177,31 @@
}
}
.answerContent {
border-bottom: 1px #ddd solid;
margin-bottom: 5px;
padding: 5px 0;
.questionTitle {
font-weight: 700;
font-size: 13px;
}
.questionContent {
font-size: 16px;
}
}
.answerContent:last-child {
border-bottom: 0;
}
.record {
display: flex;
list-style: none;
justify-content: space-between;
li {
width: 30%;
text-align: center;
......@@ -175,7 +209,8 @@
line-height: 30px;
}
}
.viewReportBtn{
.viewReportBtn {
position: fixed;
bottom: 70px;
left: 0;
......@@ -186,11 +221,13 @@
color: #fff;
line-height: 44px;
}
.send{
.send {
position: fixed;
bottom: 80px;
width: 100%;
div{
div {
margin: 0 40px;
height: 40px;
line-height: 40px;
......@@ -218,32 +255,39 @@
min-width: 320px;
max-width: 640px;
margin: 0 auto;
> div {
>div {
height: 50px;
border-bottom: 1px solid #dbdbdb;
display: flex;
align-items: center;
justify-content: space-between;
> div:first-child {
>div:first-child {
width: 100px;
font-size: 15px;
}
> div:last-child {
>div:last-child {
flex: 1;
}
.form-control {
border: none;
box-shadow: none;
}
}
> div:last-child {
>div:last-child {
border: none;
}
ul.footer {
display: flex;
list-style: none;
justify-content: center;
margin-top: 15%;
li {
width: 30%;
height: 35px;
......@@ -256,18 +300,22 @@
}
}
}
.recordLists {
li {
border-bottom: 1px solid #f0f0f0;
padding: 5px 10px;
background: rgb(251, 251, 251);
}
li:last-child {
border: none;
}
.opportunityRecordItem {
font-size: 15px;
}
.salesNotice {
font-size: 14px;
color: #8a8a8a;
......@@ -276,9 +324,13 @@
display: flex;
justify-content: space-between;
align-items: center;
span{
span {
width: 85%;
.form-control[disabled], .form-control[readonly], fieldset[disabled] .form-control {
.form-control[disabled],
.form-control[readonly],
fieldset[disabled] .form-control {
background-color: #eee;
opacity: .5;
border: none;
......@@ -287,16 +339,19 @@
padding-left: 0;
}
}
.iconfont{
.iconfont {
font-size: 18px;
}
}
.updatedAt {
// font-size: 12px;
// color: #8a8a8a;
// text-align: right;
}
}
.toast {
position: fixed;
left: 0;
......@@ -307,12 +362,14 @@
margin: 0 auto;
z-index: 1;
}
.toastWrapper {
height: 100%;
background-color: rgba(0, 0, 0, .5);
top: 0;
}
.am-list-item.am-input-item{
.am-list-item.am-input-item {
padding-left: 0;
}
}
\ No newline at end of file
......@@ -3,5 +3,6 @@ export const environment = {
BACKEND_URL_CONFIG_VALUE: 'https://m.zuihuibi.cn/api',
ORIGINNAME: 'https://m.zuihuibi.cn/ydapi',
DOMAINNAME: 'https://m.zuihuibi.cn/',
BAIDU_TONGJI_CODE: '36b1eb7eec3b5dac9f97d887092b5b27'
BAIDU_TONGJI_CODE: '36b1eb7eec3b5dac9f97d887092b5b27',
SFPPROJECTURL:'https://m.cffp.org.cn'
};
......@@ -6,5 +6,6 @@ export const environment = {
BACKEND_URL_CONFIG_VALUE: 'https://mstage.zuihuibi.cn/api',
ORIGINNAME: 'https://mstage.zuihuibi.cn/ydapi',
DOMAINNAME: 'https://mstage.zuihuibi.cn/',
BAIDU_TONGJI_CODE: '84be9b9eaaca51048f32bb160ccad2e6'
BAIDU_TONGJI_CODE: '84be9b9eaaca51048f32bb160ccad2e6',
SFPPROJECTURL:'https://mstage.zuihuibi.cn'
};
......@@ -8,5 +8,7 @@ export const environment = {
BACKEND_URL_CONFIG_VALUE: 'https://mdev.zuihuibi.cn/api',
ORIGINNAME: 'https://mdev.zuihuibi.cn/ydapi',
DOMAINNAME: 'https://mdev.zuihuibi.cn/',
BAIDU_TONGJI_CODE: 'e8fa107d82e0471d097d545225aeed64'
BAIDU_TONGJI_CODE: 'e8fa107d82e0471d097d545225aeed64',
// SFPPROJECTURL:'http://localhost:5173'
SFPPROJECTURL:'https://mdev.zuihuibi.cn'
};
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