Browse Source

高速快讯

master
wangxyi 2 months ago
parent
commit
debc03c67b

+ 123
- 30
src/views/onlineBusinessHall/onlineOperation/carouselManagement/index.vue View File

} }


let type = 'type' //类型 let type = 'type' //类型
let hyperLink = 'hyperLink' //使用有效期
let hyperLink = 'hyperLink' //超链接
let path = 'path' //路由 let path = 'path' //路由
let triggerType = 'triggerType' //触发类型
let routeUrl = 'routeUrl' //路由地址
let text = 'text' //文本内容
let textType = 'textType' //文本类型

//选择组件变化监听 //选择组件变化监听
function customSelectorSelection(value, title) { function customSelectorSelection(value, title) {
if (title == type) {
if (title == triggerType) {
// 清空相关字段值
clearRelatedFields(value)
// 根据触发类型配置字段显示/隐藏和必填状态
if (value === 'THIRD_PARTY_LINK') {
// 第三方链接:hyperLink必填,routeUrl、text、textType不显示
updateFieldVisibility('hyperLink', true, true)
updateFieldVisibility('routeUrl', false, false)
updateFieldVisibility('text', false, false)
updateFieldVisibility('textType', false, false)
} else if (value === 'NATIVE_ROUTE') {
// 本地路由:routeUrl必填,hyperLink、text、textType不显示
updateFieldVisibility('hyperLink', false, false)
updateFieldVisibility('routeUrl', true, true)
updateFieldVisibility('text', false, false)
updateFieldVisibility('textType', false, false)
} else if (value === 'TEXT') {
// 文本:text、textType必填,hyperLink、routeUrl不显示
updateFieldVisibility('hyperLink', false, false)
updateFieldVisibility('routeUrl', false, false)
updateFieldVisibility('text', true, true)
updateFieldVisibility('textType', true, true)
} else if (value === 'THIRD_PARTY_MINI') {
// 第三方小程序:routeUrl必填,hyperLink、text、textType不显示
updateFieldVisibility('hyperLink', false, false)
updateFieldVisibility('routeUrl', true, true)
updateFieldVisibility('text', false, false)
updateFieldVisibility('textType', false, false)
}
} else if (title == type) {
changeFile(true) changeFile(true)
let item = {} let item = {}
if (value == '1') { if (value == '1') {
} }
} }


// 更新字段显示/隐藏和必填状态
function updateFieldVisibility(fieldName: string, show: boolean, required: boolean) {
field.value.field.forEach((item: any) => {
if (item.prop === fieldName && item.form) {
item.form.hide = !show
item.form.required = required
}
})
}

// 清空相关字段值
function clearRelatedFields(triggerTypeValue: string) {
if (crudRef.value && crudRef.value.dialogForm) {
if (triggerTypeValue === 'THIRD_PARTY_LINK') {
crudRef.value.dialogForm.routeUrl = ''
crudRef.value.dialogForm.text = ''
crudRef.value.dialogForm.textType = ''
} else if (triggerTypeValue === 'NATIVE_ROUTE') {
crudRef.value.dialogForm.hyperLink = ''
crudRef.value.dialogForm.text = ''
crudRef.value.dialogForm.textType = ''
} else if (triggerTypeValue === 'TEXT') {
crudRef.value.dialogForm.hyperLink = ''
crudRef.value.dialogForm.routeUrl = ''
} else if (triggerTypeValue === 'THIRD_PARTY_MINI') {
crudRef.value.dialogForm.hyperLink = ''
crudRef.value.dialogForm.text = ''
crudRef.value.dialogForm.textType = ''
}
}
}

// 重置字段显示状态为默认
function resetFieldVisibility() {
updateFieldVisibility('hyperLink', false, false)
updateFieldVisibility('routeUrl', false, false)
updateFieldVisibility('text', false, false)
updateFieldVisibility('textType', false, false)
}

// 路由地址字段 // 路由地址字段
function changeFile(b: boolean) { function changeFile(b: boolean) {
field.value.field.forEach((item: any) => { field.value.field.forEach((item: any) => {
changeFile(true) changeFile(true)
} }
customSelectorSelection(row.type, 'type') customSelectorSelection(row.type, 'type')
// 根据触发类型设置字段显示状态
if (row.triggerType) {
customSelectorSelection(row.triggerType, 'triggerType')
}
} }
// 新增 // 新增
function handleAdd() { function handleAdd() {
typeOption.value = "add" typeOption.value = "add"
changeFile(true) changeFile(true)
// 重置所有字段为默认显示状态
resetFieldVisibility()
} }


// 删除按钮 // 删除按钮
function cancel() { function cancel() {
crudRef.value.reset(); crudRef.value.reset();
crudRef.value.dialogFormVisible = false; crudRef.value.dialogFormVisible = false;
// 重置字段显示状态
resetFieldVisibility();
} }
//分页 //分页
function handleCurrentChange(val: number) { function handleCurrentChange(val: number) {
api = '/managew/api/operation/flash/add' api = '/managew/api/operation/flash/add'
} }
// data.orderSource = 'WECHAT' // data.orderSource = 'WECHAT'
data.miniAppid="123456"
data.routeUrl="123456"
if (data) { if (data) {
BaseService.post(api, data).then((res: any) => { BaseService.post(api, data).then((res: any) => {
if (res && res.code === 0) { if (res && res.code === 0) {
} }
}, { }, {
prop: "flashType", prop: "flashType",
label: "类型",
label: "快讯",
listData: FLASH_TYPE, listData: FLASH_TYPE,
form: { form: {
index: 2, index: 2,
listData: FLASH_TYPE, listData: FLASH_TYPE,
} }
}, { }, {
prop: "triggerType",
label: "触发类型",
form: {
index: 8,
formLabelWidth: formLabelWidth,
type: 'select',
required: true,
listData: TRIGGER_TYPE,
}
},
{
prop: "hyperLink", prop: "hyperLink",
label: "超链接", label: "超链接",
form: { form: {
index: 4, index: 4,
formLabelWidth: formLabelWidth, formLabelWidth: formLabelWidth,
type: 'input'
type: 'input',
hide: false,
required: false
}
},
{
prop: "routeUrl",
label: "路由地址",
form: {
index: 5,
formLabelWidth: formLabelWidth,
type: 'input',
hide: false,
required: false,
placeholder: '请输入路由地址'
} }
}, },
// {
// prop: "speedUrl",
// label: "路由地址",
// form: {
// hideEdit: true,
// // required: true,
// formLabelWidth: formLabelWidth,
// type: 'input'
// }
// },
{ {
prop: "textType", prop: "textType",
label: "文本类型", label: "文本类型",
form: { form: {
formLabelWidth: formLabelWidth, formLabelWidth: formLabelWidth,
type: 'select', type: 'select',
listData: TEXT_TYPE
listData: TEXT_TYPE,
hide: false,
required: false
} }
}, },
{ {
label: "排序", label: "排序",
form: { form: {
formLabelWidth: formLabelWidth, formLabelWidth: formLabelWidth,
type: 'input'
type: 'input',
required: true
} }
}, },
// { // {
type: 'input', type: 'input',
itemType: 'textarea', itemType: 'textarea',
rows: 4, rows: 4,
placeholder: '请输入文本内容'
placeholder: '请输入文本内容',
hide: false,
required: false
} }
}, },
{
prop: "triggerType",
label: "触发类型",
form: {
index: 8,
formLabelWidth: formLabelWidth,
type: 'select',
required: true,
listData: TRIGGER_TYPE,
}
}
], ],
dialogArray: [{ dialogArray: [{
prop: "routing", prop: "routing",

Loading…
Cancel
Save