GBC功能开发

This commit is contained in:
liu.xiaofeng@ebiz-digits.com
2023-12-21 19:03:05 +08:00
parent 4035455816
commit 8869c183fd
3 changed files with 164 additions and 17 deletions

View File

@@ -7,5 +7,43 @@ export function gbcProjectList(data) {
method: 'post',
data
})
}
// 查询项目详情
export function gbcProjectDetail(data) {
return request({
url: getUrl('/agent/gbc/project/detail', 1),
method: 'post',
data
})
}
// 此接口是后端用于将GBC项目信息同步至登录用户信息即UserModel中的接口前端在选中项目后需要调用此接口。
export function gbcProjectConfirm(data) {
return request({
url: getUrl('/agent/gbc/project/confirm', 1),
method: 'post',
data
})
}
// GBC获取首页轮播图和上头条内容
export function homeConfigGBC(data) {
return request({
url: getUrl('/customer/agent/homeConfigGBC', 1),
method: 'post',
data
})
}
// 根据项目编码获取科室信息
export function getDepartmentByProjectNo(data) {
return request({
url: getUrl('/agent/gbc/project/getDepartmentByProjectNo', 1),
method: 'post',
data
})
}

View File

@@ -39,29 +39,43 @@
</div>
</van-pull-refresh>
<van-dialog v-model="chooseProductDialogShow" :showConfirmButton="false">
<van-dialog v-model="chooseProjectDialogShow" :showConfirmButton="false">
<div slot="title">
<p style="color: #E9332E;">请选择项目</p>
</div>
<div class="chooseProductDialog" style="padding: 20px 30px 30px;font-size: 14px;">
<van-radio-group v-model="chooseProductRadio">
<div class="chooseProjectDialog" style="padding: 20px 30px 30px;font-size: 14px;">
<van-radio-group v-model="chooseProjectCode">
<van-radio v-for="(item,index) in projectList" :key="index" :name="item.projectCode" style="margin: 10px;">
<span style="margin-left: 20px;">{{item.projectName}}</span>
</van-radio>
</van-radio-group>
</div>
<div style="text-align: center;margin-bottom: 30px;">
<van-button round type="danger" size="small" style="padding:0px 35px;font-size: 14px;" @click="chooseProductList">
<van-button round type="danger" size="small" style="padding:0px 35px;font-size: 14px;" @click="chooseProjectList">
确定
</van-button>
</div>
</van-dialog>
<!-- 选择过期项目弹窗提示 -->
<van-dialog v-model="enableProjectDialogShow" :showConfirmButton="false">
<div slot="title">
<p style="color: #E9332E;">提示</p>
</div>
<div style="padding: 20px 30px 30px;font-size: 14px;">
{{chooseProjectName}}项目服务时间已结束
</div>
<div style="text-align: center;margin-bottom: 30px;">
<van-button round type="danger" size="small" style="padding:0px 35px;font-size: 14px;" @click="enableProjectDialogShow = false">
返回
</van-button>
</div>
</van-dialog>
</div>
</template>
<script>
import { homeConfigYB } from '@/api/YB_APP/index'
import { gbcProjectList } from '@/api/GBC/GBC'
import { gbcProjectList, gbcProjectConfirm, homeConfigGBC } from '@/api/GBC/GBC'
import { Swipe, SwipeItem, NoticeBar, Icon, Popup, PullRefresh ,Toast, RadioGroup, Radio } from 'vant'
import config from '@/config'
import png8 from '@/assets/YB_APP/images/8.png';
@@ -89,7 +103,7 @@ export default {
{title:'建议书',route:'/proposal/list',img:require('@/assets/images/GBC/home-menu-1.png')},
{title:'电子投保',route:'/sale/list',img:require('@/assets/images/GBC/home-menu-2.png')},
{title:'海报设计',route:'/poster/posterList',img:require('@/assets/images/GBC/home-menu-3.png')},
{title:'GBC专区',route:'/GBC/productList',img:require('@/assets/images/GBC/home-menu-4.png')}
{title:'GBC专区',route:'/GBC/projectList',img:require('@/assets/images/GBC/home-menu-4.png')}
],
isLoading: false,
image1: require('@/assets/images/GBC/home-companyProfile.png'),
@@ -97,12 +111,14 @@ export default {
{name:'广西金融投资集团'},{name:'广投集团'},{name:'广西北部湾银行'},{name:'国海证券'},
],
projectList:[],
chooseProductDialogShow: true,
chooseProductRadio:''
chooseProjectDialogShow: false,
chooseProjectCode:'',
chooseProjectName: '',
enableProjectDialogShow: false,
}
},
mounted(){
// this.getHomeConfigYB()
// this.homeConfigGBC()
this.setMarginTop()
this.gbcProjectList()
},
@@ -114,20 +130,53 @@ export default {
gbcProjectList(params).then(res=>{
if(res.result == '0') {
this.projectList = res.content
if(this.projectList.length == 1) {
this.chooseProjectDialogShow = false
this.chooseProjectCode = this.projectList[0].projectCode
this.chooseProjectName = this.projectList[0].projectName
this.chooseProjectList()
}
if(this.projectList.length > 1) {
this.chooseProjectDialogShow = true
}
} else {
this.$toast(res.resultMessage)
}
})
},
chooseProductList(){
if(!this.chooseProductRadio) {
chooseProjectList(){
if(!this.chooseProjectCode) {
this.$toast('请选择项目')
return false
}
this.chooseProductDialogShow = false
if(this.projectList && this.projectList.length != 0) {
this.projectList.forEach(item=>{
if(item.projectCode == this.chooseProjectCode){
this.chooseProjectName = item.projectName
}
})
}
let params = {
projectCode:this.chooseProjectCode
}
gbcProjectConfirm(params).then(res=>{
if(res.result == '0') {
if(res.content.enable == 1){
this.chooseProjectDialogShow = false
} else {
this.enableProjectDialogShow = true
}
} else {
this.$toast(res.resultMessage)
}
})
},
goDetail(data){
if(data.route == '/sale/list'){
window.sessionStorage.setItem('isFrom','GBCsale')
}
this.$jump({
flag: 'h5',
extra: {
@@ -149,11 +198,11 @@ export default {
}
})
},
getHomeConfigYB(){
homeConfigGBC(){
let params = {
}
homeConfigYB(params).then(res=>{
homeConfigGBC(params).then(res=>{
if(res.result == 0){
this.activity = res.content.activity
if(res.content.getCodeValue.length!=0){
@@ -278,7 +327,7 @@ export default {
.title-img {
height: 40px;
}
/deep/ .chooseProductDialog{
/deep/ .chooseProjectDialog{
.van-radio__icon {
.van-icon{
border: 1px solid red;

View File

@@ -2,8 +2,19 @@
<div class="insured-info-container pb60 redRadioCheckbox">
<!-- 基本信息 -->
<index-bar :key="renovate"></index-bar>
<!-- 项目信息 -->
<van-cell-group :border="false" v-if="isFrom == 'GBCsale'">
<p style="border-bottom: 1px solid #ebedf0" class="fs15 fwb pl10 mt10 pv12">项目信息</p>
<van-field v-model="projectDTO.platformName" label="平台名称" name="平台名称" placeholder="请输入"/>
<van-field v-model="projectDTO.projectName" label="项目名称" name="项目名称" placeholder="请输入"/>
<van-field v-model="projectDTO.teamCode" label="团队组代码" name="团队组代码" placeholder="请输入"/>
<van-field v-model="projectDTO.endDate" label="服务截至日期" name="服务截至日期" placeholder="请输入"/>
<van-field v-model="projectDTO.personCode" label="录单人工号" name="录单人工号" placeholder="请输入"/>
<van-field v-model="projectDTO.leaderCode" label="出单人工号" name="出单人工号" placeholder="请输入"/>
</van-cell-group>
<van-cell-group class="mt10">
<p style="border-bottom: 1px solid #ebedf0" class="fs15 fwb pl10 pv12">基本信息</p>
<van-field v-if="isFrom == 'GBCsale'" :value="projectDTO.departmentName" @click="toSelect('GBCKS')" readonly required label="部门/科室" name="部门/科室" right-icon="arrow" placeholder="请选择"/>
<customer-picker
@on-choose="chooseCustomer"
v-validate="'required|salename'"
@@ -445,6 +456,7 @@
import { selectComp, getIdentityInfo } from './js/methods'
import SearchField from '@/components/common/SearchField'
import riskRules from '@/views/ebiz/common/risk-rules'
import { gbcProjectDetail, getDepartmentByProjectNo } from '@/api/GBC/GBC'
export default {
name: 'insuredInfo',
@@ -468,6 +480,12 @@
},
data() {
return {
isFrom: '',
projectDTO:{},
departmentList:[
{id: 1, text: '科室1'},
{id: 2, text: '科室2'}
],
thisdoubledialogshow: false,
thismyorderNo: '',
thismystr: '',
@@ -658,6 +676,12 @@
}
},
async mounted() {
if(window.sessionStorage.getItem('isFrom') && window.sessionStorage.getItem('isFrom') == 'GBCsale') {
this.isFrom = window.sessionStorage.getItem('isFrom')
this.gbcProjectDetail()
this.getDepartmentByProjectNo()
}
setTimeout(() => {
// eslint-disable-next-line no-undef
EWebBridge.webCallAppInJs('webview_left_button', {
@@ -684,6 +708,30 @@
this.areaLists = areaLists
},
methods: {
getDepartmentByProjectNo(){
let params = {
}
getDepartmentByProjectNo(params).then(res=>{
if(res.result == '0'){
// this.departmentList = res.content
} else {
this.$toast(res.resultMessage)
}
})
},
gbcProjectDetail(){
let params = {
}
gbcProjectDetail(params).then(res=>{
if(res.result == '0') {
this.projectDTO = res.content
} else {
this.$toast(res.resultMessage)
}
})
},
isNewPeopleFlagTip(){
this.isNewPeopleFlagTipshow = true
},
@@ -815,6 +863,9 @@
case '11':
this.columns = DataDictionary.npType
break
case 'GBCKS':
this.columns = this.departmentList
break
}
// if (pickerType == '1') {
@@ -898,6 +949,9 @@
this.userInfo.marriageStatus = value.text
} else if (this.pickerType === '11') {
this.userInfo.npType = value.id
} else if (this.pickerType === 'GBCKS') {
this.projectDTO.departmentCode = value.id
this.projectDTO.departmentName = value.text
}
},
//证件起始截止日期
@@ -1362,6 +1416,12 @@
}
this.thismystr = ''
params.orderDTO.appntDTO = this.userInfo
if(this.isFrom == 'GBCsale'){
params.orderDTO.ebizOrderGbcRelDTO = {
projectCode: this.projectDTO.projectCode,
departmentCode: this.projectDTO.departmentCode
}
}
console.log('params :>> ', params)
//------------------------专为桂企写死--begin---------------//
if (this.specilFlag == '1') {