存储空间和项目管理,试验任务管理关联
This commit is contained in:
parent
7bcfe180ad
commit
f722ecea6e
@ -9,6 +9,7 @@ import { onMounted, ref } from "vue";
|
|||||||
import { ElMessage, ElMessageBox } from 'element-plus'
|
import { ElMessage, ElMessageBox } from 'element-plus'
|
||||||
import Page from '@/components/Pagination/page.vue'
|
import Page from '@/components/Pagination/page.vue'
|
||||||
import { projectPage, addSdproject, updateSdproject, deleteSdprojectById, deleteSdprojectByIds } from "@/api/project";
|
import { projectPage, addSdproject, updateSdproject, deleteSdprojectById, deleteSdprojectByIds } from "@/api/project";
|
||||||
|
import { storagesBytype } from "@/api/storage";
|
||||||
import { getDict } from '@/api/dict'
|
import { getDict } from '@/api/dict'
|
||||||
import { id } from "element-plus/es/locale";
|
import { id } from "element-plus/es/locale";
|
||||||
//定义表格数据
|
//定义表格数据
|
||||||
@ -47,10 +48,14 @@ function getdata() {
|
|||||||
}
|
}
|
||||||
//获取字典项目类型
|
//获取字典项目类型
|
||||||
const dictType = ref([])
|
const dictType = ref([])
|
||||||
|
const storagesarr = ref([])
|
||||||
function getDictOne() {
|
function getDictOne() {
|
||||||
getDict({ dictcode: 'zxxmlx' }).then((res: any) => {
|
getDict({ dictcode: 'zxxmlx' }).then((res: any) => {
|
||||||
dictType.value = res.data
|
dictType.value = res.data
|
||||||
})
|
})
|
||||||
|
storagesBytype({type:'local'}).then((res: any) => {
|
||||||
|
storagesarr.value = res.data
|
||||||
|
})
|
||||||
}
|
}
|
||||||
//弹框命名
|
//弹框命名
|
||||||
const title = ref("")
|
const title = ref("")
|
||||||
@ -67,7 +72,7 @@ function addproject() {
|
|||||||
projectProps: "",//信息
|
projectProps: "",//信息
|
||||||
projectTime: "",//时间
|
projectTime: "",//时间
|
||||||
projectType: ""//类型
|
projectType: ""//类型
|
||||||
, localStorageId: "1"
|
, localStorageId: ""
|
||||||
}
|
}
|
||||||
formitemarr.value.length = 0
|
formitemarr.value.length = 0
|
||||||
}
|
}
|
||||||
@ -155,7 +160,7 @@ const projectForme: any = ref({
|
|||||||
projectProps: "",//信息
|
projectProps: "",//信息
|
||||||
projectTime: "",//时间
|
projectTime: "",//时间
|
||||||
projectType: ""//类型
|
projectType: ""//类型
|
||||||
, localStorageId: "1"
|
, localStorageId: ""
|
||||||
})
|
})
|
||||||
//表单确定
|
//表单确定
|
||||||
async function submitForm(formEl: any) {
|
async function submitForm(formEl: any) {
|
||||||
@ -192,9 +197,10 @@ async function submitForm(formEl: any) {
|
|||||||
//用户弹窗规则定义
|
//用户弹窗规则定义
|
||||||
const moderules = ref({
|
const moderules = ref({
|
||||||
projectCode: [{ required: true, message: "请输入项目编号", trigger: "blur" }],
|
projectCode: [{ required: true, message: "请输入项目编号", trigger: "blur" }],
|
||||||
projectType: [{ required: true, message: "请输入项目类型", trigger: "blur" }],
|
projectType: [{ required: true, message: "请选择项目类型", trigger: "change" }],
|
||||||
projectName: [{ required: true, message: "请输入项目名称", trigger: "blur" }],
|
projectName: [{ required: true, message: "请输入项目名称", trigger: "blur" }],
|
||||||
projectTime: [{ type: 'date', required: true, message: "请选择项目启动时间", trigger: "change" }],
|
projectTime: [{ type: 'date', required: true, message: "请选择项目启动时间", trigger: "change" }],
|
||||||
|
localStorageId:[{ required: true, message: "请选择存储空间", trigger: "change" }]
|
||||||
});
|
});
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
getdata()
|
getdata()
|
||||||
@ -378,6 +384,12 @@ function attributeclose(){
|
|||||||
format="YYYY-MM-DD HH:mm:ss" style="width:100%;" value-format="YYYY-MM-DD HH:mm:ss" />
|
format="YYYY-MM-DD HH:mm:ss" style="width:100%;" value-format="YYYY-MM-DD HH:mm:ss" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</div>
|
</div>
|
||||||
|
<el-form-item label="存储空间绑定" prop="localStorageId" >
|
||||||
|
<el-select v-model="projectForme.localStorageId" clearable placeholder=" " :disabled="projectForme.id">
|
||||||
|
<el-option v-for="item in storagesarr" :key="item.id" :label="item.name"
|
||||||
|
:value="item.id" />
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
<el-form-item label=" 项目描述">
|
<el-form-item label=" 项目描述">
|
||||||
<el-input v-model="projectForme.description" :rows="25" type="textarea" show-word-limit />
|
<el-input v-model="projectForme.description" :rows="25" type="textarea" show-word-limit />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
51
web/src/views/testdata/testtask/index.vue
vendored
51
web/src/views/testdata/testtask/index.vue
vendored
@ -9,6 +9,7 @@ import { onMounted, ref } from "vue";
|
|||||||
import { ElMessage, ElMessageBox } from 'element-plus'
|
import { ElMessage, ElMessageBox } from 'element-plus'
|
||||||
import Page from '@/components/Pagination/page.vue'
|
import Page from '@/components/Pagination/page.vue'
|
||||||
import { tstaskPage, addtsTask, updatetsTask, deleteTsTaskById, deleteTsTaskByIds, confirmDeleteTask } from "@/api/testtask";
|
import { tstaskPage, addtsTask, updatetsTask, deleteTsTaskById, deleteTsTaskByIds, confirmDeleteTask } from "@/api/testtask";
|
||||||
|
import { storagesBytype } from "@/api/storage";
|
||||||
import { getDict } from '@/api/dict'
|
import { getDict } from '@/api/dict'
|
||||||
//定义表格数据
|
//定义表格数据
|
||||||
const tableData: any = ref([]);
|
const tableData: any = ref([]);
|
||||||
@ -93,8 +94,8 @@ function addproject() {
|
|||||||
testDescribe: "",// 试验描述
|
testDescribe: "",// 试验描述
|
||||||
sensorDescribe: "",// 传感器描述
|
sensorDescribe: "",// 传感器描述
|
||||||
taskProps: "",//信息
|
taskProps: "",//信息
|
||||||
localStorageId: '1',
|
localStorageId: '',
|
||||||
backupStorageId: '2'
|
backupStorageId: ''
|
||||||
}
|
}
|
||||||
formitemarr.value.length = 0
|
formitemarr.value.length = 0
|
||||||
}
|
}
|
||||||
@ -200,8 +201,8 @@ const projectForme: any = ref({
|
|||||||
testDescribe: "",// 试验描述
|
testDescribe: "",// 试验描述
|
||||||
sensorDescribe: "",// 传感器描述
|
sensorDescribe: "",// 传感器描述
|
||||||
taskProps: "",//信息
|
taskProps: "",//信息
|
||||||
localStorageId: '1',
|
localStorageId: '',
|
||||||
backupStorageId: '2'
|
backupStorageId: ''
|
||||||
})
|
})
|
||||||
//表单确定
|
//表单确定
|
||||||
async function submitForm(formEl: any) {
|
async function submitForm(formEl: any) {
|
||||||
@ -246,6 +247,8 @@ const moderules = ref({
|
|||||||
taskType: [{ required: true, message: "请选择任务类型", trigger: "change" }],
|
taskType: [{ required: true, message: "请选择任务类型", trigger: "change" }],
|
||||||
taskDate: [{ required: true, message: "请选择任务时间", trigger: "change" }],
|
taskDate: [{ required: true, message: "请选择任务时间", trigger: "change" }],
|
||||||
taskPlace: [{ required: true, message: "请输入任务地点", trigger: "blur" }],
|
taskPlace: [{ required: true, message: "请输入任务地点", trigger: "blur" }],
|
||||||
|
localStorageId: [{ required: true, message: "请选择本地存储空间", trigger: "change" }],
|
||||||
|
backupStorageId: [{ required: true, message: "请选择minio存储空间", trigger: "change" }],
|
||||||
});
|
});
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
getdata()
|
getdata()
|
||||||
@ -253,10 +256,18 @@ onMounted(() => {
|
|||||||
});
|
});
|
||||||
//获取字典项目类型
|
//获取字典项目类型
|
||||||
const dictType = ref([])
|
const dictType = ref([])
|
||||||
|
const localarr = ref([])
|
||||||
|
const minioarr = ref([])
|
||||||
function getDictOne() {
|
function getDictOne() {
|
||||||
getDict({ dictcode: 'taskType' }).then((res: any) => {
|
getDict({ dictcode: 'taskType' }).then((res: any) => {
|
||||||
dictType.value = res.data
|
dictType.value = res.data
|
||||||
})
|
})
|
||||||
|
storagesBytype({ type: 'local' }).then((res: any) => {
|
||||||
|
localarr.value = res.data
|
||||||
|
})
|
||||||
|
storagesBytype({ type: 'minio' }).then((res: any) => {
|
||||||
|
minioarr.value = res.data
|
||||||
|
})
|
||||||
}
|
}
|
||||||
//项目类型转换
|
//项目类型转换
|
||||||
function typeName(arr: any, itemCode: any) {
|
function typeName(arr: any, itemCode: any) {
|
||||||
@ -456,7 +467,7 @@ function attributeclose() {
|
|||||||
</div>
|
</div>
|
||||||
<div style="width: 100%;display: flex;justify-content: space-between;align-items: center;">
|
<div style="width: 100%;display: flex;justify-content: space-between;align-items: center;">
|
||||||
<el-form-item label="任务类型" prop="taskType" style="width: 50%;">
|
<el-form-item label="任务类型" prop="taskType" style="width: 50%;">
|
||||||
<el-select v-model="projectForme.taskType" clearable placeholder=" " @change="getdata()">
|
<el-select v-model="projectForme.taskType" clearable placeholder=" ">
|
||||||
<el-option v-for="item in dictType" :key="item.itemcode" :label="item.dictname"
|
<el-option v-for="item in dictType" :key="item.itemcode" :label="item.dictname"
|
||||||
:value="item.itemcode" />
|
:value="item.itemcode" />
|
||||||
</el-select>
|
</el-select>
|
||||||
@ -467,6 +478,22 @@ function attributeclose() {
|
|||||||
value-format="YYYY-MM-DD" />
|
value-format="YYYY-MM-DD" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</div>
|
</div>
|
||||||
|
<div style="width: 100%;display: flex;justify-content: space-between;align-items: center;">
|
||||||
|
<el-form-item label="本地存储空间" prop="localStorageId" style="width: 50%;">
|
||||||
|
<el-select v-model="projectForme.localStorageId" clearable placeholder=" "
|
||||||
|
:disabled="projectForme.id">
|
||||||
|
<el-option v-for="item in localarr" :key="item.id" :label="item.name"
|
||||||
|
:value="item.id" />
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="minio存储空间" prop="backupStorageId" style="width: 50%;margin-left: 15px;">
|
||||||
|
<el-select v-model="projectForme.backupStorageId" clearable placeholder=" "
|
||||||
|
:disabled="projectForme.id">
|
||||||
|
<el-option v-for="item in minioarr" :key="item.id" :label="item.name"
|
||||||
|
:value="item.id" />
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</div>
|
||||||
<div style="width: 100%;display: flex;justify-content: space-between;align-items: center;">
|
<div style="width: 100%;display: flex;justify-content: space-between;align-items: center;">
|
||||||
<el-form-item label="任务地点" prop="taskPlace" style="width: 50%;">
|
<el-form-item label="任务地点" prop="taskPlace" style="width: 50%;">
|
||||||
<el-input v-model="projectForme.taskPlace" maxlength="500" show-word-limit />
|
<el-input v-model="projectForme.taskPlace" maxlength="500" show-word-limit />
|
||||||
@ -502,16 +529,16 @@ function attributeclose() {
|
|||||||
<el-button type="primary" @click="dellable(index)">删除</el-button>
|
<el-button type="primary" @click="dellable(index)">删除</el-button>
|
||||||
</div>
|
</div>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
</el-scrollbar>
|
</el-scrollbar>
|
||||||
|
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<div style="width: 100%;display: flex;justify-content: end;">
|
<div style="width: 100%;display: flex;justify-content: end;">
|
||||||
<el-button type="primary" @click="addformItem">添加属性</el-button>
|
<el-button type="primary" @click="addformItem">添加属性</el-button>
|
||||||
<el-button type="primary" @click="submitForm(ruleFormRef)">确定</el-button>
|
<el-button type="primary" @click="submitForm(ruleFormRef)">确定</el-button>
|
||||||
<el-button @click="handleClose(ruleFormRef)">取消</el-button>
|
<el-button @click="handleClose(ruleFormRef)">取消</el-button>
|
||||||
</div>
|
</div>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
</el-form>
|
</el-form>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
|
Loading…
Reference in New Issue
Block a user