|
|
@@ -36,7 +36,7 @@
|
|
|
<div style="width: 60%">
|
|
|
<rule-condition-container :rulesAttrList="rulesAttrList" @Del="handleDel"></rule-condition-container>
|
|
|
</div>
|
|
|
- <rule-condition :ruleConditionVisible="rulesShow" :attrIdList="rulesAttrList" @save="saveRule" @cancel="cancelRule"></rule-condition>
|
|
|
+<!-- <rule-condition :ruleConditionVisible="rulesShow" :attrIdList="rulesAttrList" @save="saveRule" @cancel="cancelRule"></rule-condition>-->
|
|
|
</div>
|
|
|
<el-button style="margin: 10px 10%" plain type="primary" icon="plus" @click="addRules">添加条件</el-button>
|
|
|
<el-descriptions>
|
|
|
@@ -155,6 +155,13 @@
|
|
|
>
|
|
|
<detail ref="JYXDetail"></detail>
|
|
|
</el-dialog>
|
|
|
+ <el-dialog
|
|
|
+ v-model="ruleSelectShow"
|
|
|
+ title="规则条件"
|
|
|
+ width="600"
|
|
|
+ >
|
|
|
+ <ruleSelect ref="RuleSelect" @close="handleRuleSelectClose"></ruleSelect>
|
|
|
+ </el-dialog>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
@@ -167,6 +174,7 @@ import insurance from '../../../../layouts/components/InsuranceType/index.vue'
|
|
|
import driving from '../../../../layouts/components/DrivingType/index.vue'
|
|
|
import rule from '../../../../components/ruleConditionContainer/index.vue'
|
|
|
import detail from '../../../../layouts/components/JYXDetail/index.vue'
|
|
|
+import ruleSelect from '../../../../layouts/components/ruleSelect/index.vue'
|
|
|
import Detail from "@/views/representative/detail.vue";
|
|
|
|
|
|
const myRouter = useRouter()
|
|
|
@@ -176,6 +184,23 @@ const InsuranceTypeRef = ref(null)
|
|
|
const DrivingTypeRef = ref(null)
|
|
|
const JYXDetail = ref(null)
|
|
|
|
|
|
+let RuleSelect = ref()
|
|
|
+
|
|
|
+// 规则条件
|
|
|
+let ruleSelectShow = ref(false)
|
|
|
+const handleRuleSelectClose = (data) => {
|
|
|
+ if(data&&data.length>0) {
|
|
|
+ rulesAttrList.value = data.map(a => {
|
|
|
+ return {
|
|
|
+ ...a,
|
|
|
+ min: a.attrName == '能源类型'? '0':'',
|
|
|
+ minArray: a.attrName == '使用性质' || a.attrName == '车辆种类'?[a.dictLabal[0].code]:[]
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+ ruleSelectShow.value = false
|
|
|
+}
|
|
|
+
|
|
|
// 是否编辑
|
|
|
let isEdit = ref(false)
|
|
|
let projectAddFrom = ref({
|
|
|
@@ -222,7 +247,16 @@ const numberChange = (e, row) => {
|
|
|
|
|
|
// 新增的时候初始化已有的方案
|
|
|
const initProduct = (e) => {
|
|
|
- initAttr()
|
|
|
+ // energyType 能源类型
|
|
|
+ // vehicleType 车辆种类
|
|
|
+ // carnature 使用性质
|
|
|
+ let energyType = null, vehicleType = null, carnature = null
|
|
|
+ if(rulesAttrList.value && rulesAttrList.value.length > 0) {
|
|
|
+ energyType = rulesAttrList.value.find(a => a.attrName === '能源类型')
|
|
|
+ vehicleType = rulesAttrList.value.find(a => a.attrName === '车辆种类')
|
|
|
+ carnature = rulesAttrList.value.find(a => a.attrName === '使用性质')
|
|
|
+ }
|
|
|
+ // initAttr()
|
|
|
if(e == '0330' || e == '0330034001') {
|
|
|
let obj = insuranceTypeList.value.filter(item => item.id == '19')
|
|
|
if(obj) {
|
|
|
@@ -233,6 +267,8 @@ const initProduct = (e) => {
|
|
|
}
|
|
|
})
|
|
|
projectAddFrom.value.schemeList.forEach(item => {
|
|
|
+ item.schemeName = ''
|
|
|
+ item.description = ''
|
|
|
item.drivingList = []
|
|
|
item.tableData = [...obj]
|
|
|
})
|
|
|
@@ -241,6 +277,8 @@ const initProduct = (e) => {
|
|
|
let obj = insuranceTypeList.value.find(item => item.id == '2')
|
|
|
obj.insuranceId = obj.id
|
|
|
projectAddFrom.value.schemeList.forEach(item => {
|
|
|
+ item.schemeName = ''
|
|
|
+ item.description = ''
|
|
|
item.drivingList = []
|
|
|
item.tableData = [obj]
|
|
|
})
|
|
|
@@ -254,21 +292,29 @@ const initProduct = (e) => {
|
|
|
}
|
|
|
})
|
|
|
projectAddFrom.value.schemeList.forEach(item => {
|
|
|
+ item.schemeName = ''
|
|
|
+ item.description = ''
|
|
|
item.drivingList = []
|
|
|
item.tableData = [...obj]
|
|
|
})
|
|
|
}
|
|
|
} else {
|
|
|
projectAddFrom.value.schemeList.forEach(item => {
|
|
|
+ item.schemeName = ''
|
|
|
+ item.description = ''
|
|
|
item.drivingList = []
|
|
|
item.tableData = []
|
|
|
})
|
|
|
}
|
|
|
if(projectAddFrom.value.companyId&&projectAddFrom.value.productId&&projectAddFrom.value.schemeType) {
|
|
|
+ console.log('选项123', energyType)
|
|
|
api.projectApi.getSchemeByCompany({
|
|
|
companyId: projectAddFrom.value.companyId,
|
|
|
productId: projectAddFrom.value.productId,
|
|
|
- schemeType: projectAddFrom.value.schemeType
|
|
|
+ schemeType: projectAddFrom.value.schemeType,
|
|
|
+ energyType: energyType.min,
|
|
|
+ vehicleType: vehicleType.minArray.join(','),
|
|
|
+ carnature: carnature.minArray.join(','),
|
|
|
}).then(res => {
|
|
|
if(res.code == 200) {
|
|
|
if(res.data && res.data.schemeList.length > 0) {
|
|
|
@@ -335,6 +381,47 @@ const initInsurance = () => {
|
|
|
// })
|
|
|
// })
|
|
|
insuranceTypeList.value = res.data
|
|
|
+ if(projectAddFrom.value.productId == '0330' || projectAddFrom.value.productId == '0330034001') {
|
|
|
+ let obj = insuranceTypeList.value.filter(item => item.id == '19')
|
|
|
+ if(obj) {
|
|
|
+ obj.forEach(item => {
|
|
|
+ item.insuranceId = item.id
|
|
|
+ if(item.id == '19') {
|
|
|
+ item.moneyId = item.options[0].id
|
|
|
+ }
|
|
|
+ })
|
|
|
+ projectAddFrom.value.schemeList.forEach(item => {
|
|
|
+ item.drivingList = []
|
|
|
+ item.tableData = [...obj]
|
|
|
+ })
|
|
|
+ }
|
|
|
+ } else if(projectAddFrom.value.productId == '034002') {
|
|
|
+ let obj = insuranceTypeList.value.find(item => item.id == '2')
|
|
|
+ obj.insuranceId = obj.id
|
|
|
+ projectAddFrom.value.schemeList.forEach(item => {
|
|
|
+ item.drivingList = []
|
|
|
+ item.tableData = [obj]
|
|
|
+ })
|
|
|
+ } else if(projectAddFrom.value.productId == '0330034002') {
|
|
|
+ let obj = insuranceTypeList.value.filter(item => item.id == '2' || item.id == '19')
|
|
|
+ if(obj) {
|
|
|
+ obj.forEach(item => {
|
|
|
+ item.insuranceId = item.id
|
|
|
+ if(item.id == '19') {
|
|
|
+ item.moneyId = item.options[0].id
|
|
|
+ }
|
|
|
+ })
|
|
|
+ projectAddFrom.value.schemeList.forEach(item => {
|
|
|
+ item.drivingList = []
|
|
|
+ item.tableData = [...obj]
|
|
|
+ })
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ projectAddFrom.value.schemeList.forEach(item => {
|
|
|
+ item.drivingList = []
|
|
|
+ item.tableData = []
|
|
|
+ })
|
|
|
+ }
|
|
|
} else {
|
|
|
ElMessage({
|
|
|
message: res.msg,
|
|
|
@@ -380,17 +467,20 @@ const addProject = () => {
|
|
|
// 规则
|
|
|
let rulesShow = ref(false)
|
|
|
const addRules = () => {
|
|
|
- rulesShow.value = true
|
|
|
+ ruleSelectShow.value = true
|
|
|
+ nextTick(() => {
|
|
|
+ RuleSelect.value.initEditData(rulesAttrList.value)
|
|
|
+ })
|
|
|
}
|
|
|
let rulesAttrList = ref([])
|
|
|
let defaultAttrList = ref([])
|
|
|
-const saveRule = (data) => {
|
|
|
- console.log(123123123, data)
|
|
|
- if(data && data.length > 0) {
|
|
|
- rulesAttrList.value = data
|
|
|
- }
|
|
|
- rulesShow.value = false
|
|
|
-}
|
|
|
+// const saveRule = (data) => {
|
|
|
+// console.log(123123123, data)
|
|
|
+// if(data && data.length > 0) {
|
|
|
+// rulesAttrList.value = data
|
|
|
+// }
|
|
|
+// rulesShow.value = false
|
|
|
+// }
|
|
|
const cancelRule = (data) => {
|
|
|
rulesShow.value = false
|
|
|
}
|
|
|
@@ -489,7 +579,13 @@ const initAttr = () => {
|
|
|
api.agreementApi.ruleAttrGroup({ attrName: '' }).then(res => {
|
|
|
if(res.code == 200) {
|
|
|
let list = res.data?.VehicleInformation?.filter(e => e.attrName === '能源类型' || e.attrName === '使用性质' || e.attrName === '车辆种类')
|
|
|
- rulesAttrList.value = [...list]
|
|
|
+ rulesAttrList.value = list?.map(a => {
|
|
|
+ return {
|
|
|
+ ...a,
|
|
|
+ min: a.attrName == '能源类型'? '0':'',
|
|
|
+ minArray: a.minArray?a.minArray:a.attrName == '使用性质' || a.attrName == '车辆种类'?[a.dictLabal[0].code]:[]
|
|
|
+ }
|
|
|
+ })
|
|
|
defaultAttrList.value = [...list]
|
|
|
} else {
|
|
|
ElMessage({
|
|
|
@@ -518,7 +614,13 @@ const initEdit = () => {
|
|
|
})
|
|
|
})
|
|
|
projectAddFrom.value = res.data
|
|
|
- rulesAttrList.value = res.data.ruleAttrs
|
|
|
+ rulesAttrList.value = res.data.ruleAttrs.map(a => {
|
|
|
+ return {
|
|
|
+ ...a,
|
|
|
+ min: a.attrName == '能源类型'? '0':'',
|
|
|
+ minArray: a.attrName == '使用性质' || a.attrName == '车辆种类'?[a.dictLabal[0].code]:[]
|
|
|
+ }
|
|
|
+ })
|
|
|
}
|
|
|
} else {
|
|
|
ElMessage({
|