|
@@ -1,6 +1,7 @@
|
|
|
<script setup>
|
|
|
import { Search } from '@element-plus/icons-vue'
|
|
|
import {useRouter} from 'vue-router'
|
|
|
+import {useStore} from 'vuex'
|
|
|
import {getSellerList} from '@/api/crm'
|
|
|
import {getCurrencyList} from '@/api/common'
|
|
|
import {getServiceList,getPreRegistrationList,preRegistrationAdd,
|
|
@@ -10,6 +11,7 @@ import serviceCascader from './composition/serivceCascader.js'
|
|
|
const serviceComposition = serviceCascader()
|
|
|
|
|
|
const router = useRouter()
|
|
|
+const store = useStore()
|
|
|
|
|
|
// const adminId = localStorage.getItem('userInfo')?JSON.parse(localStorage.getItem('userInfo')).admin_id || 0:0
|
|
|
const placemenetPre=reactive({
|
|
@@ -93,34 +95,42 @@ const serivcesDataHandler=(cascaderRef)=>{
|
|
|
// 处理选中套餐的数据格式
|
|
|
let servicesParam=[]
|
|
|
let FICCSmallServiceIds=[]
|
|
|
- cascaderRef.getCheckedNodes().map(node=>{
|
|
|
+ // 储存权益套餐的service_template_id
|
|
|
+ let servicesParamId=[]
|
|
|
+ // 储存权益套餐service_template_id的对应title
|
|
|
+ let servicesParamLabel={}
|
|
|
+ // 小套餐是否选中
|
|
|
+ let hasFICCSmallChecked=false
|
|
|
+ cascaderRef.getCheckedNodes(true).map(node=>{
|
|
|
let nodeData = node.data
|
|
|
if(!nodeData.service_template_id) return
|
|
|
if(nodeData.product_id==2){
|
|
|
+ node.pathValues.map((pathValue,pathIndex) =>{
|
|
|
+ servicesParamId.push(pathValue)
|
|
|
+ servicesParamLabel[pathValue] = node.pathLabels[pathIndex]
|
|
|
+ })
|
|
|
// 权益 - 直接push每一个级别的对象
|
|
|
- servicesParam.push({service_template_id:nodeData.service_template_id,title:nodeData.title})
|
|
|
}else{
|
|
|
// 90000往上都是FICC小套餐品种的Id,特殊处理
|
|
|
if(nodeData.service_template_id>=90000){
|
|
|
+ // 小套餐肯定选中了
|
|
|
+ hasFICCSmallChecked=true
|
|
|
// 真正拿取的是chart_permission_id
|
|
|
if(serviceComposition.FICCSmallServiceId.includes(nodeData.service_template_id)) FICCSmallServiceIds.push(nodeData.chart_permission_id)
|
|
|
- }else{
|
|
|
- if(nodeData.service_template_id==2){
|
|
|
- // 小套餐
|
|
|
- servicesParam.push({service_template_id:nodeData.service_template_id,
|
|
|
- title:nodeData.title,value:nodeData.value,chart_permission_ids:''})
|
|
|
- }else{
|
|
|
- servicesParam.push({service_template_id:nodeData.service_template_id,title:nodeData.title,value:nodeData.value})
|
|
|
- }
|
|
|
+ }else if(nodeData.service_template_id!=2){
|
|
|
+ servicesParam.push({service_template_id:nodeData.service_template_id,title:nodeData.title,value:nodeData.value})
|
|
|
}
|
|
|
}
|
|
|
})
|
|
|
- for (let i = 0; i < servicesParam.length; i++) {
|
|
|
- const element = servicesParam[i];
|
|
|
- if(element.service_template_id==2){
|
|
|
- element.chart_permission_ids=FICCSmallServiceIds.join(',')
|
|
|
- break;
|
|
|
- }
|
|
|
+ // 做去重->循环
|
|
|
+ Array.from(new Set(servicesParamId)).map(it =>{
|
|
|
+ if(it>10000) return
|
|
|
+ servicesParam.push({service_template_id:it,title:servicesParamLabel[it]})
|
|
|
+ })
|
|
|
+ if(hasFICCSmallChecked){
|
|
|
+ // 将小套餐以及品种push进入
|
|
|
+ servicesParam.push({service_template_id:2,
|
|
|
+ title:'FICC小套餐',value:'',chart_permission_ids:FICCSmallServiceIds.join(',')})
|
|
|
}
|
|
|
return servicesParam
|
|
|
}
|
|
@@ -612,7 +622,7 @@ placementPreList()
|
|
|
<el-table-column label="套餐" prop="services" show-overflow-tooltip></el-table-column>
|
|
|
<el-table-column label="操作" fixed="right" >
|
|
|
<template #default="{row}">
|
|
|
- <div class="table-options">
|
|
|
+ <div class="table-options" style="padding-right: 16px;">
|
|
|
<span class="table-option-buttons" v-permission="'financial:registrationPre:supplementary'"
|
|
|
@click="supplementaryContract(row)">
|
|
|
补录合同
|
|
@@ -645,12 +655,20 @@ placementPreList()
|
|
|
@click="delteRecord(row)" style="color:var(--dangerColor);" v-if="row.invoice_type==4">
|
|
|
删除
|
|
|
</span>
|
|
|
- <el-dropdown popper-class="classifyFandQ" size="large" @command="(type)=>remarkView(type,row)">
|
|
|
+ <el-dropdown popper-class="classifyFandQ" size="large" style="position: absolute;right: 8px;top: calc(50% - 8px);"
|
|
|
+ v-permission="['financial:registrationPre:invoiceRemark','financial:registrationPre:paymentRemark','or']"
|
|
|
+ @command="(type)=>remarkView(type,row)">
|
|
|
<el-icon style="cursor: pointer;font-size: 16px;"><MoreFilled /></el-icon>
|
|
|
<template #dropdown>
|
|
|
<el-dropdown-menu>
|
|
|
- <el-dropdown-item command="开票">开票备注</el-dropdown-item>
|
|
|
- <el-dropdown-item command="到款">到款备注</el-dropdown-item>
|
|
|
+ <el-dropdown-item command="开票"
|
|
|
+ v-if="store.getters.permissionButtons.some(item => item.button_code=='financial:registrationPre:invoiceRemark')">
|
|
|
+ 开票备注
|
|
|
+ </el-dropdown-item>
|
|
|
+ <el-dropdown-item command="到款"
|
|
|
+ v-if="store.getters.permissionButtons.some(item => item.button_code=='financial:registrationPre:paymentRemark')">
|
|
|
+ 到款备注
|
|
|
+ </el-dropdown-item>
|
|
|
</el-dropdown-menu>
|
|
|
</template>
|
|
|
</el-dropdown>
|
|
@@ -725,7 +743,6 @@ placementPreList()
|
|
|
</el-form-item>
|
|
|
<el-form-item label="开票销售" :prop="`IorPInfo.${index}.seller_id`" label-width="90" style="margin-right: 0;"
|
|
|
:rules="{required:true,message:'销售不能为空',trigger:'change'}" v-if="dialog.registrationType=='开票'">
|
|
|
- {{ item.service_product_id }}
|
|
|
<el-select v-model="item.seller_id" style="width: 176px;"
|
|
|
placeholder="请选择销售" filterable v-if="item.service_product_id==1">
|
|
|
<el-option :label="seller.seller_name" :value="seller.seller_id"
|