import {defineComponent, onMounted, reactive, ref} from "vue"; import {NButton, NForm, NFormItemGi, NGrid, NInput, NInputNumber, NSelect, NSpace, useMessage} from "naive-ui"; import {getSelectDataFromObj} from "@/utils/objectUtil"; import {clientType, deviceType} from "@/utils/constant"; import {appSendConfigSave, appSendConfigUpdate} from "@views/message/api"; export default defineComponent({ name: 'push-config-edit', props: { editMode: { type: String, required: true }, rowData: { type: Object, required: false }, appData: { type: [] as any, required: true }, }, emits: ['close', 'getList'], setup(props, {slots, attrs, emit}) { const message = useMessage() const btnLoading = ref(false) const forms = reactive({ name: null, // 平台名称 sender: null, // 平台标识 appKey: null, // 应用端 accessUrl: null, // 接入地址 clientId: null, // 客户端 apnsProduction: null as any, // 推送环境 account: null, // 接入账号 password: null, // 接入密码 timeToLive: null as any, // 离线保存时长 extendData: null, // 扩展参数 deviceType: null, // 设备类型 }) const formsRef = ref() const state = reactive({ rowData: null as any, musicSheetCategories: [] as any, appData: [] as any, }) onMounted(async () => { state.rowData = props.rowData if (props.editMode == 'edit' && props.rowData) { forms.name = state.rowData.name forms.sender = state.rowData.sender forms.appKey = state.rowData.appKey forms.clientId = state.rowData.clientId forms.apnsProduction = state.rowData.apnsProduction forms.account = state.rowData.account forms.password = state.rowData.password forms.timeToLive = Number.parseFloat(state.rowData.timeToLive)/3600 forms.accessUrl = state.rowData.accessUrl forms.extendData = state.rowData.extendData forms.deviceType = state.rowData.deviceType } // 客户端 // state.appData = [] // const {data} = await sysApplicationPage({page: 1, rows: 999}) // if (data && data.rows) { // data.rows.forEach((item: any) => { // state.appData.push({label: item.appName, value: item.id + ''}) // }) // } }) const onSubmit = async () => { formsRef.value.validate(async (error: any) => { if (error) return false btnLoading.value = true try { let res; if (props.editMode == 'add') { res = await appSendConfigSave( { ...forms, timeToLive: Number.parseFloat(forms.timeToLive) * 3600 } ) as any; } else { res = await appSendConfigUpdate( { ...forms, id: state.rowData.id, timeToLive: Number.parseFloat(forms.timeToLive) * 3600 } ) as any; } if (res && res.code === 200) { emit('close') emit('getList') } } catch (error) { } btnLoading.value = false }) } return () => { return (