|
@@ -6,9 +6,12 @@ import {getSellerList,getSellerListNoG} from '@/api/crm'
|
|
|
import {getCurrencyList} from '@/api/common'
|
|
|
import {getServiceList,getPreRegistrationList,preRegistrationAdd,preRegistrationCheck,
|
|
|
preRegistrationDetail,preRegistrationEdit,preRegistrationDelete,preRegistrationSave} from '@/api/financialMana'
|
|
|
+import financialCommon from './composition/common'
|
|
|
import serviceCascader from './composition/serivceCascader.js'
|
|
|
// 套餐的composition
|
|
|
const serviceComposition = serviceCascader()
|
|
|
+// 合同类型数组
|
|
|
+const contractTypeArray=financialCommon().contractTypeArray
|
|
|
|
|
|
const router = useRouter()
|
|
|
const store = useStore()
|
|
@@ -23,6 +26,7 @@ const store = useStore()
|
|
|
tableData:[],
|
|
|
total:0,
|
|
|
})
|
|
|
+
|
|
|
// -----------------弹窗
|
|
|
const registrationPreFormRef=ref(null)
|
|
|
|
|
@@ -37,6 +41,8 @@ const store = useStore()
|
|
|
start_date:'',
|
|
|
end_date:'',
|
|
|
services:[],
|
|
|
+ has_payment:'',
|
|
|
+ contract_type:'',
|
|
|
IorPInfo:[
|
|
|
{
|
|
|
service_product_id:'',
|
|
@@ -57,6 +63,7 @@ const store = useStore()
|
|
|
selectServices:[],
|
|
|
validityDate:[]
|
|
|
})
|
|
|
+
|
|
|
// 开票/到款预登记删除的id
|
|
|
let hasDeleteContractInvoiceIds=[]
|
|
|
let hasDeletePreRegisterIds=[]
|
|
@@ -73,6 +80,18 @@ const store = useStore()
|
|
|
}
|
|
|
})
|
|
|
|
|
|
+ // 合同类型选中
|
|
|
+ const contractTypeCheck=ref([])
|
|
|
+ // 合同类型改变
|
|
|
+ const contractTypeChange=(value)=>{
|
|
|
+ if(!value){
|
|
|
+ dialog.registrationPreForm.has_payment = dialog.registrationPreForm.contract_type = ''
|
|
|
+ }
|
|
|
+ dialog.registrationPreForm.has_payment = value[0]
|
|
|
+ dialog.registrationPreForm.contract_type = value[1]
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
// -----------------------------------------套餐部分 - 开始
|
|
|
// 套餐列表
|
|
|
const servicesList=ref([])
|
|
@@ -285,6 +304,9 @@ const editRegistrationPre=(row)=>{
|
|
|
dialog.registrationPreForm.contract_register_id = res.data.contract_register_id
|
|
|
dialog.registrationPreForm.company_name = res.data.company_name
|
|
|
dialog.registrationPreForm.invoice_type = row.invoice_type
|
|
|
+ dialog.registrationPreForm.has_payment = res.data.has_payment
|
|
|
+ dialog.registrationPreForm.contract_type = res.data.contract_type
|
|
|
+ contractTypeCheck.value=[res.data.has_payment,res.data.contract_type]
|
|
|
// 排序 将编辑入口对应的记录提到第一位
|
|
|
dialog.registrationPreForm.IorPInfo=res.data.list.sort((a,b)=>a.pre_register_id == row.pre_register_id?-1:1)
|
|
|
dialog.currentEditPreId = row.pre_register_id
|
|
@@ -311,6 +333,10 @@ const dialogClosed=()=>{
|
|
|
hasDeleteContractInvoiceIds=[]
|
|
|
hasDeletePreRegisterIds=[]
|
|
|
dialog.registrationPreForm.company_name=''
|
|
|
+ dialog.registrationPreForm.has_payment=''
|
|
|
+ dialog.registrationPreForm.contract_type=''
|
|
|
+ contractTypeCheck.value=[]
|
|
|
+ dialog.registrationPreForm.company_name=''
|
|
|
dialog.registrationPreForm.contract_register_id=''
|
|
|
dialog.registrationPreForm.services=[]
|
|
|
dialog.registrationPreForm.IorPInfo=[
|
|
@@ -347,6 +373,8 @@ const submitForm=()=>{
|
|
|
register_type:dialog.registrationType=='开票'?3:4,
|
|
|
start_date:dialog.registrationPreForm.start_date,
|
|
|
end_date:dialog.registrationPreForm.end_date,
|
|
|
+ has_payment:dialog.registrationPreForm.has_payment,
|
|
|
+ contract_type:dialog.registrationPreForm.contract_type,
|
|
|
list:dialog.registrationPreForm.IorPInfo,
|
|
|
services:dialog.hasServiceChange?serviceData:dialog.registrationPreForm.services,
|
|
|
del_invoice_ids:hasDeleteContractInvoiceIds,
|
|
@@ -414,6 +442,8 @@ const preDialog=reactive({
|
|
|
service_product_id:'',
|
|
|
start_date:'',
|
|
|
end_date:'',
|
|
|
+ has_payment:'',
|
|
|
+ contract_type:'',
|
|
|
services:[],
|
|
|
amount:'',
|
|
|
currency_unit:'CNY',
|
|
@@ -425,6 +455,8 @@ const preDialog=reactive({
|
|
|
validityDate:[],
|
|
|
selectService:[],
|
|
|
rules:{
|
|
|
+ company_name:{required:true,message:'客户名称不能为空',trigger:'blur'},
|
|
|
+ contract_type:{required:true,message:'合同类型不能为空',trigger:'change'},
|
|
|
end_date:{required:true,message:"约定有效期不能为空",trigger:'change'},
|
|
|
services:{required:true,message:'套餐不能为空',trigger:'change'},
|
|
|
amount:[{required:true,message:'金额不能为空',trigger:'blur'},
|
|
@@ -442,6 +474,8 @@ const preDialog=reactive({
|
|
|
register_date:{required:true,message:'开票日不能为空',trigger:'change'}
|
|
|
}
|
|
|
})
|
|
|
+const contractTypeCheckPre=ref([])
|
|
|
+
|
|
|
const preFormRef=ref(null)
|
|
|
const selectServicesPreRef=ref(null)
|
|
|
watch(()=>preDialog.validityDate,(newVal)=>{
|
|
@@ -461,6 +495,9 @@ const preIorP=(row)=>{
|
|
|
if(!res.data) return
|
|
|
preDialog.preForm.contract_register_id = res.data.contract_register_id
|
|
|
preDialog.preForm.company_name = res.data.company_name
|
|
|
+ preDialog.preForm.has_payment = res.data.has_payment
|
|
|
+ preDialog.preForm.contract_type = res.data.contract_type
|
|
|
+ contractTypeCheckPre.value=[res.data.has_payment,res.data.contract_type]
|
|
|
preDialog.preForm.invoice_type = row.invoice_type==3?4:3
|
|
|
preDialog.preForm.service_product_id=row.service_product_id==0?'':row.service_product_id
|
|
|
preDialog.preForm.pre_register_id = row.pre_register_id || 0
|
|
@@ -501,6 +538,8 @@ const submitPreForm=()=>{
|
|
|
register_type:preDialog.title=='预到款'?4:3,
|
|
|
start_date:preDialog.preForm.start_date,
|
|
|
end_date:preDialog.preForm.end_date,
|
|
|
+ has_payment:preDialog.preForm.has_payment,
|
|
|
+ contract_type:preDialog.preForm.contract_type,
|
|
|
list:[{
|
|
|
contract_invoice_id:preDialog.preForm.contract_invoice_id||0,
|
|
|
amount:preDialog.preForm.amount,
|
|
@@ -527,6 +566,8 @@ const preDialogClosed=()=>{
|
|
|
preDialog.preForm={
|
|
|
service_product_id:'',
|
|
|
start_date:'',
|
|
|
+ has_payment:'',
|
|
|
+ contract_type:'',
|
|
|
end_date:'',
|
|
|
services:[],
|
|
|
amount:'',
|
|
@@ -535,6 +576,7 @@ const preDialogClosed=()=>{
|
|
|
register_date:''
|
|
|
},
|
|
|
preDialog.validityDate=[]
|
|
|
+ contractTypeCheckPre.value=[]
|
|
|
preDialog.selectServices=[]
|
|
|
serviceComposition.resetDisable(servicesList.value)
|
|
|
setTimeout(()=>{
|
|
@@ -658,6 +700,7 @@ placementPreList()
|
|
|
{{row.start_date&&row.start_date!='0001-01-01'?(row.start_date+' 至 '+row.end_date):''}}
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
+ <el-table-column label="合同类型" align="center" width="90" prop="contract_type_string"></el-table-column>
|
|
|
<el-table-column label="套餐" prop="services" show-overflow-tooltip></el-table-column>
|
|
|
<el-table-column label="开票日" prop="invoice_time" width="110"></el-table-column>
|
|
|
<el-table-column label="开票金额" prop="origin_amount" width="120"></el-table-column>
|
|
@@ -750,12 +793,18 @@ placementPreList()
|
|
|
:clearable="false">
|
|
|
</el-date-picker>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="套餐" prop="services" label-width="90" style="margin-right: 20px;"
|
|
|
+ <el-form-item label="合同类型" prop="contract_type" label-width="90" style="margin-right: 30px;"
|
|
|
+ :rules="{required:true,message:'合同类型不能为空',trigger:'change'}">
|
|
|
+ <el-cascader :options="contractTypeArray" placeholder="请选择合同类型" style="min-width: 320px;"
|
|
|
+ v-model="contractTypeCheck" :clearable="false" key="contractType" @change="contractTypeChange">
|
|
|
+ </el-cascader>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="套餐" prop="services" label-width="102" style="margin-right: 20px;"
|
|
|
:rules="{required:true,message:'套餐不能为空',trigger:'change'}">
|
|
|
<el-cascader filterable :options="servicesList" placeholder="请选择套餐" @change="(value)=>servicesChange(value,1)"
|
|
|
:show-all-levels="true" v-model="dialog.selectServices" :clearable="false" ref="selectServicesRef"
|
|
|
:props="{multiple:true,label:'title',value:'service_template_id',emitPath:false}" collapse-tags collapse-tags-tooltip
|
|
|
- key="seriveces" style="min-width: 775px;z-index: 100;">
|
|
|
+ key="seriveces" style="min-width: 320px;z-index: 100;">
|
|
|
</el-cascader>
|
|
|
</el-form-item>
|
|
|
<el-scrollbar max-height="470px" noresize style="margin: 0 -10px;padding: 0 10px;" >
|
|
@@ -854,6 +903,11 @@ placementPreList()
|
|
|
:clearable="false">
|
|
|
</el-date-picker>
|
|
|
</el-form-item>
|
|
|
+ <el-form-item label="合同类型" prop="contract_type" :rules="{required:true,message:'合同类型不能为空',trigger:'change'}">
|
|
|
+ <el-cascader :options="contractTypeArray" placeholder="请选择合同类型" style="min-width: 286px;"
|
|
|
+ v-model="contractTypeCheckPre" :clearable="false" key="contractType" disabled>
|
|
|
+ </el-cascader>
|
|
|
+ </el-form-item>
|
|
|
<el-form-item label="套餐" prop="services">
|
|
|
<el-cascader filterable :options="servicesList" placeholder="请选择套餐"
|
|
|
@change="(value)=>servicesChange(value,2)" disabled
|
|
@@ -866,7 +920,7 @@ placementPreList()
|
|
|
:rules="{required:true,message:'套餐类型不能为空',trigger:'change'}">
|
|
|
<el-select v-model="preDialog.preForm.service_product_id"
|
|
|
style="width: 286px;" @change="productIdChange(preDialog.preForm)"
|
|
|
- placeholder="请选择套餐">
|
|
|
+ placeholder="请选择套餐" :disabled="preDialog.title=='预到款'">
|
|
|
<el-option label="FICC套餐" :value="1"></el-option>
|
|
|
<el-option label="权益套餐" :value="2"></el-option>
|
|
|
</el-select>
|