Merge remote-tracking branch 'origin/main'

This commit is contained in:
root 2025-04-02 09:08:09 +08:00
commit 6a4dac9a49
3 changed files with 70 additions and 40 deletions

View File

@ -3,6 +3,8 @@ import request from '@/config/axios'
export const applicationPage = (params) => request.get({ url: '/application/page',params })
export const applicationAdd = data => request.post({ url: '/application/save', data })
export const applicationUpdate = data => request.post({ url: '/application/update', data })
export const findApplicationById = async id =>
request.get({ url: `/application/${id}` })

View File

@ -1,42 +1,33 @@
<script lang="ts" setup>
import { useI18n } from '@/hooks/web/useI18n'
import { ref } from 'vue'
import { applicationAdd } from '@/api/application/application'
import { ref,onMounted } from 'vue'
import { applicationAdd,applicationUpdate } from '@/api/application/application'
import { ElMessage } from 'element-plus-secondary'
// import type { UploadProps } from 'element-plus'
const emit = defineEmits(['closeClick'])
const { t } = useI18n()
const isDialog:any = ref(true)
const isSwitch:any = ref(false)
// const props = defineProps({
// dialogEditParams: {
// type: Boolean,
// default: false
// },
// paramsObj: {
// type: Object,
// default: () => {
// return {
// name: '',
// deType: 0
// }
// }
// },
// paramsObjRules: {
// type: Object,
// default: () => {
// return {
// name: []
// }
// }
// }
// })
const dataInfo:any = ref({
type: '01',
name: '',
description: '',
image: ''
image: '',
simplename:'',
organization: ''
})
const props = defineProps({
paramsObj: {
type: Object,
default: false
}
})
onMounted(()=>{
if(props.paramsObj.id != null){
dataInfo.value = JSON.parse(JSON.stringify(props.paramsObj))
}
})
const paramsObjRules = ref(
{
// name: [
@ -51,17 +42,26 @@ function paramsResetForm() {
emit('closeClick', false)
}
function saveParamsObj(){
debugger
if(isSwitch.value == true){
return
}
isSwitch.value = true
applicationAdd(dataInfo.value).then(res => {
ElMessage.success('添加成功')
emit('closeClick', false)
if(dataInfo.value.id != null){
applicationUpdate(dataInfo.value).then(res => {
ElMessage.success('编辑成功')
emit('closeClick', true)
}).catch(() => {
isSwitch.value = false
})
}else{
applicationAdd(dataInfo.value).then(res => {
ElMessage.success('添加成功')
emit('closeClick', true)
}).catch(() => {
isSwitch.value = false
})
}
}
const handleAvatarSuccess = file => {
@ -81,7 +81,7 @@ const handleAvatarSuccess = file => {
</script>
<template>
<el-dialog
:title="'新建空白项目'"
:title="'新建项目'"
v-model="isDialog"
width="570px"
class="create-project-dialog"
@ -98,6 +98,19 @@ const handleAvatarSuccess = file => {
v-model="dataInfo.name"
/>
</el-form-item>
<el-form-item :label="'项目简称'" prop="simplename">
<el-input
:placeholder="'请输入'"
v-model="dataInfo.simplename"
/>
</el-form-item>
<el-form-item :label="'用户单位'" prop="organization">
<el-input
:placeholder="'请输入'"
v-model="dataInfo.organization"
/>
</el-form-item>
<el-form-item :label="'项目描述'" prop="name">
<el-input
:autosize="{ minRows: 4, maxRows: 8 }"

View File

@ -10,30 +10,39 @@ const dataList:any = ref([])
onMounted(()=>{
getDatasetList()
})
const paramsObj:any = ref({})
function getDatasetList() { //
let params ={
current:1,
size:100
size:100,
keywords:keywords.value
}
applicationPage(params).then(res => {
dataList.value = res.data.data.records
})
}
function handleDatasetName() { //
console.log(keywords.value)
getDatasetList()
}
const mask = ref(-1) //
function mouseover(index) { //
console.log(index)
mask.value = index
}
function mouseleave() { //
mask.value = -1
}
function closeClick(){ //
function closeClick(e){ //
if(e == true){
getDatasetList()
}
isAppPopUp.value = false
}
function addClick(){
paramsObj.value = {}
isAppPopUp.value = true
}
function updateClick(row:any){
paramsObj.value = row
isAppPopUp.value = true
}
function routerClick(item){
@ -68,10 +77,16 @@ function routerClick(item){
<div v-for="(item,index) in dataList" class="application_list" @mouseover="mouseover(index)" @mouseleave="mouseleave">
<img v-if="item.image!= null && item.image!= ''" :src="item.image" alt="" style="width: 267px;height: 155px;">
<img v-else src="@/assets/newimg/u110.png" alt="" style="width: 267px;height: 155px;">
<div style="display: flex;justify-content: space-between;">
<div class="application_list_text">{{ item.code }}-{{ item.simplename }}</div>
<div v-if="item.status == '01'" style="color:rgb(0, 174, 255) ;" class="application_list_text" >创建中</div>
<div v-if="item.status == '02'" style="color:rgb(0, 255, 132) ;" class="application_list_text">正常运行</div>
<div v-if="item.status == '09'" style="color:rgb(255, 35, 35) ;" class="application_list_text">已停用</div>
</div>
<div class="application_list_text">{{ item.name }}</div>
<div class="mask_box" v-if="mask == index">
<div class="mask_box_img">
<img src="@/assets/newimg/icon/edit.png" @click="updateClick(item)" title="编辑项目">
<img src="@/assets/newimg/icon/caidan.png" alt="" title="菜单配置">
<img src="@/assets/newimg/icon/edit.png" alt="" title="编辑数据">
<img src="@/assets/newimg/icon/fuwu.png" alt="" title="服务配置">
@ -87,7 +102,7 @@ function routerClick(item){
</div>
</div>
</div>
<Addpopup v-if="isAppPopUp" @close-click="closeClick"/>
<Addpopup v-if="isAppPopUp" :paramsObj="paramsObj" @close-click="closeClick"/>
</div>
</template>