|
@@ -11,7 +11,7 @@
|
|
|
</div>
|
|
|
<div class="hc-menu-contents-box">
|
|
|
<el-scrollbar>
|
|
|
- <HcMenuSimple :datas="menus" :keys="menuKey" :menus="contextMenu" @change="menuChange" @menuTap="contextMenuClick"/>
|
|
|
+ <HcMenuSimple :props="menusProps" :datas="menus" :keys="menuKey" :menus="contextMenu" @change="menuChange" @menuTap="contextMenuClick"/>
|
|
|
</el-scrollbar>
|
|
|
</div>
|
|
|
<!--左右拖动-->
|
|
@@ -53,15 +53,15 @@
|
|
|
</template>
|
|
|
<template #search>
|
|
|
<div class="w-32">
|
|
|
- <el-select v-model="searchForm.type" placeholder="是否需要效验" clearable>
|
|
|
- <el-option label="是" value="1"/>
|
|
|
- <el-option label="否" value="2"/>
|
|
|
+ <el-select v-model="searchForm.isCalibration" placeholder="是否需要效验" clearable>
|
|
|
+ <el-option label="是" :value="1"/>
|
|
|
+ <el-option label="否" :value="0"/>
|
|
|
</el-select>
|
|
|
</div>
|
|
|
<div class="w-32 ml-2">
|
|
|
- <el-select v-model="searchForm.state" placeholder="状态" clearable>
|
|
|
- <el-option label="启用中" value="1"/>
|
|
|
- <el-option label="已停用" value="2"/>
|
|
|
+ <el-select v-model="searchForm.status" placeholder="状态" clearable>
|
|
|
+ <el-option label="启用中" :value="1"/>
|
|
|
+ <el-option label="已停用" :value="0"/>
|
|
|
</el-select>
|
|
|
</div>
|
|
|
<div class="w-64 ml-2">
|
|
@@ -77,7 +77,14 @@
|
|
|
</el-button>
|
|
|
</div>
|
|
|
</template>
|
|
|
- <HcTable ref="tableRef" :column="tableColumn" :datas="tableData" :loading="tableLoading" isCheck @selection-change="tableSelection"/>
|
|
|
+ <HcTable ref="tableRef" :column="tableColumn" :datas="tableData" :loading="tableLoading" isCheck @selection-change="tableSelection">
|
|
|
+ <template #status="{row}">
|
|
|
+ {{row.status === 1?'启用中':'已停用'}}
|
|
|
+ </template>
|
|
|
+ <template #isCalibration="{row}">
|
|
|
+ {{row.isCalibration === 1?'是':'否'}}
|
|
|
+ </template>
|
|
|
+ </HcTable>
|
|
|
<template #action>
|
|
|
<HcPages :pages="searchForm" @change="pageChange"/>
|
|
|
</template>
|
|
@@ -85,107 +92,91 @@
|
|
|
</div>
|
|
|
|
|
|
<!--新增/编辑 节点-->
|
|
|
- <HcDialog :show="addEditNodeFormModal" title="新增/编辑 分类" widths="30rem" :loading="addEditNodeFormLoading" @save="addEditNodeFormModalSave" @close="addEditNodeFormModalClose">
|
|
|
- <el-form :model="addEditNodeFormModel" label-width="auto" label-position="top" size="large">
|
|
|
- <el-form-item class="mb-0" label="分类名称">
|
|
|
- <el-input v-model="addEditNodeFormModel.key1" placeholder="请输入分类名称"/>
|
|
|
+ <HcDialog :show="addEditNodeFormModal" :title="`${addEditNodeFormModel.id?'编辑':'新增'}分类`" widths="30rem" :loading="addEditNodeFormLoading" @save="addEditNodeFormModalSave" @close="addEditNodeFormModalClose">
|
|
|
+ <el-form ref="addEditNodeFormRef" :model="addEditNodeFormModel" :rules="addEditNodeFormRules" label-width="auto" label-position="top" size="large">
|
|
|
+ <el-form-item class="mb-0" label="分类名称" prop="className">
|
|
|
+ <el-input v-model="addEditNodeFormModel.className" placeholder="请输入分类名称"/>
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
</HcDialog>
|
|
|
|
|
|
<!--新增/编辑-->
|
|
|
- <HcDialog :show="addEditFormModal" title="新增/编辑 设备信息" widths="50rem" :loading="addEditFormLoading" @close="addEditFormModalClose" @save="addEditFormClick">
|
|
|
+ <HcDialog :show="addEditFormModal" :title="`${addEditFormModel.id?'编辑':'新增'}设备信息`" widths="50rem" :loading="addEditFormLoading" @close="addEditFormModalClose" @save="addEditFormClick">
|
|
|
<el-form ref="addEditFormRef" :model="addEditFormModel" :rules="addEditFormRules" label-width="auto" size="large">
|
|
|
<div class="hc-form-item">
|
|
|
- <el-form-item label="设备名称" prop="key1">
|
|
|
- <el-input v-model="addEditFormModel.key1"/>
|
|
|
+ <el-form-item label="设备名称" prop="deviceName">
|
|
|
+ <el-input v-model="addEditFormModel.deviceName"/>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="进场日期">
|
|
|
- <el-date-picker type="date" v-model="addEditFormModel.key2" class="block" value-format="YYYY-MM-DD" :clearable="false"/>
|
|
|
+ <el-date-picker type="date" v-model="addEditFormModel.mobilizationDate" class="block" value-format="YYYY-MM-DD" :clearable="false"/>
|
|
|
</el-form-item>
|
|
|
</div>
|
|
|
<div class="hc-form-item">
|
|
|
- <el-form-item label="设备分类" prop="key3">
|
|
|
- <el-select v-model="addEditFormModel.key3" block>
|
|
|
- <el-option v-for="item in menus" :label="item.label" :value="item.key"/>
|
|
|
+ <el-form-item label="设备分类" prop="deviceClassId">
|
|
|
+ <el-select v-model="addEditFormModel.deviceClassId" block>
|
|
|
+ <el-option v-for="item in typeData" :label="item.className" :value="item.id"/>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="测量范围">
|
|
|
- <el-input v-model="addEditFormModel.key4"/>
|
|
|
+ <el-input v-model="addEditFormModel.measuringRange"/>
|
|
|
</el-form-item>
|
|
|
</div>
|
|
|
<div class="hc-form-item">
|
|
|
- <el-form-item label="设备编号" prop="key5">
|
|
|
- <el-input v-model="addEditFormModel.key5"/>
|
|
|
+ <el-form-item label="设备编号">
|
|
|
+ <el-input v-model="addEditFormModel.deviceNumber"/>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="精准度" prop="key6">
|
|
|
- <el-input v-model="addEditFormModel.key6"/>
|
|
|
+ <el-form-item label="精准度">
|
|
|
+ <el-input v-model="addEditFormModel.accuracy"/>
|
|
|
</el-form-item>
|
|
|
</div>
|
|
|
<div class="hc-form-item">
|
|
|
- <el-form-item label="设备型号" prop="key7">
|
|
|
- <el-input v-model="addEditFormModel.key7"/>
|
|
|
+ <el-form-item label="设备型号">
|
|
|
+ <el-input v-model="addEditFormModel.deviceModel"/>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="效验周期" prop="key8">
|
|
|
- <HcCounter v-model:value="addEditFormModel.key8" text="(月)" size="large" block/>
|
|
|
+ <el-form-item label="效验周期">
|
|
|
+ <HcCounter v-model="addEditFormModel.calibrationCycle" text="(月)" size="large" block/>
|
|
|
</el-form-item>
|
|
|
</div>
|
|
|
<div class="hc-form-item">
|
|
|
- <el-form-item label="生产厂家" prop="key9">
|
|
|
- <el-input v-model="addEditFormModel.key9"/>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="拟用部位" prop="key10">
|
|
|
- <el-input v-model="addEditFormModel.key10"/>
|
|
|
- </el-form-item>
|
|
|
- </div>
|
|
|
- <div class="hc-form-item">
|
|
|
- <el-form-item label="供应商单位" prop="key11">
|
|
|
- <el-input v-model="addEditFormModel.key11"/>
|
|
|
+ <el-form-item label="生产厂家">
|
|
|
+ <el-input v-model="addEditFormModel.manufacturer"/>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="最近效验时间">
|
|
|
- <el-date-picker type="date" v-model="addEditFormModel.key12" class="block" value-format="YYYY-MM-DD" :clearable="false"/>
|
|
|
+ <el-date-picker type="date" v-model="addEditFormModel.lastCalibrationTime" class="block" value-format="YYYY-MM-DD" :clearable="false"/>
|
|
|
</el-form-item>
|
|
|
</div>
|
|
|
<div class="hc-form-item">
|
|
|
<el-form-item label="出厂日期">
|
|
|
- <el-date-picker type="date" v-model="addEditFormModel.key13" class="block" value-format="YYYY-MM-DD" :clearable="false"/>
|
|
|
+ <el-date-picker type="date" v-model="addEditFormModel.factoryDate" class="block" value-format="YYYY-MM-DD" :clearable="false"/>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="状态">
|
|
|
- <el-select v-model="addEditFormModel.key14" placeholder="状态" block>
|
|
|
- <el-option label="启用中" value="1"/>
|
|
|
- <el-option label="已停用" value="2"/>
|
|
|
+ <el-select v-model="addEditFormModel.status" placeholder="状态" block>
|
|
|
+ <el-option label="启用中" :value="1"/>
|
|
|
+ <el-option label="已停用" :value="0"/>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
</div>
|
|
|
<div class="hc-form-item">
|
|
|
- <el-form-item class="flex-1" label="出厂编号" style="margin-right: 24px;">
|
|
|
- <el-input v-model="addEditFormModel.key15"/>
|
|
|
+ <el-form-item label="出厂编号">
|
|
|
+ <el-input v-model="addEditFormModel.factoryNumber"/>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="管理人员">
|
|
|
+ <hcAutoComplete v-model="addEditFormModel.managerName" :datas="userListData" keys="userName" placeholder="请选择或输入试验人员名称"/>
|
|
|
</el-form-item>
|
|
|
- <div class="flex flex-1">
|
|
|
- <el-form-item class="flex-1" label="管理人员" style="margin-right: 0;">
|
|
|
- <el-select v-model="addEditFormModel.key16" placeholder="试验人员名称" block>
|
|
|
- <el-option label="启用中" value="1"/>
|
|
|
- <el-option label="已停用" value="2"/>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item class="w-32" no-label style="margin-left: 10px; flex: initial;">
|
|
|
- <el-input v-model="addEditFormModel.key17" block/>
|
|
|
- </el-form-item>
|
|
|
- </div>
|
|
|
</div>
|
|
|
<div class="hc-form-item">
|
|
|
<el-form-item label="设备采集编号">
|
|
|
- <el-input v-model="addEditFormModel.key18"/>
|
|
|
+ <el-input v-model="addEditFormModel.equipmentAcquisitionNumber"/>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="是否需要效验">
|
|
|
- <el-select v-model="addEditFormModel.key19" block disabled>
|
|
|
- <el-option label="是" value="1"/>
|
|
|
- <el-option label="否" value="2"/>
|
|
|
+ <el-select v-model="addEditFormModel.isCalibration" block disabled>
|
|
|
+ <el-option label="是" :value="1"/>
|
|
|
+ <el-option label="否" :value="0"/>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
</div>
|
|
|
<el-form-item label="备注">
|
|
|
- <el-input v-model="addEditFormModel.desc" type="textarea" placeholder="备注" :autosize="{ minRows: 3}"/>
|
|
|
+ <el-input v-model="addEditFormModel.remarks" type="textarea" placeholder="备注" :autosize="{ minRows: 3}"/>
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
</HcDialog>
|
|
@@ -210,8 +201,12 @@
|
|
|
import {ref, onMounted, watch} from "vue";
|
|
|
import {useAppStore} from "~src/store";
|
|
|
import {HcIsButton} from "~src/plugins/IsButtons";
|
|
|
-import {getArrValue, getIndex} from "vue-utils-plus"
|
|
|
import HcDragUpload from "./components/HcDragUpload.vue"
|
|
|
+import approachApi from "~api/tentative/device/approach";
|
|
|
+import {formValidate, getArrValue} from "vue-utils-plus"
|
|
|
+import samplingApi from "~api/tentative/material/sampling";
|
|
|
+import {getContractUserList} from "~api/other";
|
|
|
+//import {getDictionary} from "~api/other";
|
|
|
|
|
|
//初始变量
|
|
|
const useAppState = useAppStore()
|
|
@@ -228,23 +223,47 @@ watch(() => [
|
|
|
|
|
|
//渲染完成
|
|
|
onMounted(() => {
|
|
|
+ getClassListData()
|
|
|
setContextMenu()
|
|
|
+ getTableData()
|
|
|
+ getUserListData()
|
|
|
})
|
|
|
|
|
|
+//获取用户列表
|
|
|
+const userListData = ref([])
|
|
|
+const getUserListData = async () => {
|
|
|
+ const { data } = await getContractUserList({
|
|
|
+ contractId: contractId.value
|
|
|
+ })
|
|
|
+ userListData.value = getArrValue(data)
|
|
|
+}
|
|
|
+
|
|
|
//左侧菜单
|
|
|
-const menuKey = ref('all')
|
|
|
+const menuKey = ref('0')
|
|
|
const menuItem = ref({})
|
|
|
-const menus = ref([
|
|
|
- {key: 'all', label: '全部'},
|
|
|
- {key: 'key1', label: '力学室'},
|
|
|
- {key: 'key2', label: '集料室'},
|
|
|
- {key: 'key3', label: '水土室'},
|
|
|
- {key: 'key4', label: '水泥室'},
|
|
|
-]);
|
|
|
+const menusProps = ref({
|
|
|
+ key: 'id',
|
|
|
+ label: 'className'
|
|
|
+})
|
|
|
+//获取菜单数据
|
|
|
+const menus = ref([]);
|
|
|
+const typeData = ref([]);
|
|
|
+const getClassListData = async () => {
|
|
|
+ const { data } = await approachApi.getClassList({
|
|
|
+ contractId: contractId.value
|
|
|
+ })
|
|
|
+ const arr = getArrValue(data)
|
|
|
+ typeData.value = arr
|
|
|
+ menus.value = [{id: '0', className: '全部', isNoContextMenu: true}, ...arr]
|
|
|
+}
|
|
|
+
|
|
|
//菜单被点击
|
|
|
const menuChange = (item) => {
|
|
|
menuItem.value = item
|
|
|
- menuKey.value = item?.key
|
|
|
+ menuKey.value = item?.id
|
|
|
+ searchForm.value.deviceClassId = item?.id
|
|
|
+ searchForm.value.current = 1;
|
|
|
+ getTableData()
|
|
|
}
|
|
|
|
|
|
//菜单的右键菜单
|
|
@@ -261,27 +280,29 @@ const setContextMenu = () => {
|
|
|
}
|
|
|
|
|
|
//菜单的右键菜单被点击
|
|
|
-const contextMenuItem = ref({})
|
|
|
const contextMenuClick = ({key, item}) => {
|
|
|
- contextMenuItem.value = item
|
|
|
if (key === 'edit') {
|
|
|
+ addEditNodeFormModel.value = item
|
|
|
addEditNodeFormModal.value = true
|
|
|
} else if (key === 'del') {
|
|
|
- delNodeModalClick()
|
|
|
+ delNodeModalClick(item.id)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
//搜索表单
|
|
|
const searchForm = ref({
|
|
|
- type: null, state: null, betweenTime: null, queryValue: null,
|
|
|
+ deviceClassId: '', isCalibration: null, status: null, startTime: null, endTime: null, queryValue: null,
|
|
|
current: 1, size: 20, total: 0
|
|
|
})
|
|
|
|
|
|
//日期时间被选择
|
|
|
const betweenTime = ref(null)
|
|
|
-const betweenTimeUpdate = ({arr,query}) => {
|
|
|
+const betweenTimeUpdate = ({arr}) => {
|
|
|
betweenTime.value = arr
|
|
|
- searchForm.value.betweenTime = query
|
|
|
+ if (arr.length > 0) {
|
|
|
+ searchForm.value.startTime = arr[0]
|
|
|
+ searchForm.value.endTime = arr[1]
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
//回车搜索
|
|
@@ -308,30 +329,44 @@ const pageChange = ({current, size}) => {
|
|
|
//表格数据
|
|
|
const tableRef = ref(null)
|
|
|
const tableColumn = ref([
|
|
|
- {key:'key1', name: '设备名称'},
|
|
|
- {key:'key2', name: '设备分类'},
|
|
|
- {key:'key3', name: '设备编号'},
|
|
|
- {key:'key4', name: '设备型号'},
|
|
|
- {key:'key5', name: '生产厂家'},
|
|
|
- {key:'key6', name: '出厂日期'},
|
|
|
- {key:'key7', name: '出厂编号'},
|
|
|
- {key:'key8', name: '进场日期'},
|
|
|
- {key:'key9', name: '测量范围'},
|
|
|
- {key:'key10', name: '精准度'},
|
|
|
- {key:'key11', name: '校准周期(月)'},
|
|
|
- {key:'key12', name: '最近效验时间'},
|
|
|
- {key:'key13', name: '状态'},
|
|
|
- {key:'key14', name: '是否需要效验'},
|
|
|
- {key:'key15', name: '设备采集编号'},
|
|
|
- {key:'key16', name: '设备管理人员'},
|
|
|
- {key:'key17', name: '备注'},
|
|
|
+ {key:'deviceName', name: '设备名称'},
|
|
|
+ {key:'deviceClassName', name: '设备分类'},
|
|
|
+ {key:'deviceNumber', name: '设备编号'},
|
|
|
+ {key:'deviceModel', name: '设备型号'},
|
|
|
+ {key:'manufacturer', name: '生产厂家'},
|
|
|
+ {key:'factoryDate', name: '出厂日期'},
|
|
|
+ {key:'factoryNumber', name: '出厂编号'},
|
|
|
+ {key:'mobilizationDate', name: '进场日期'},
|
|
|
+ {key:'measuringRange', name: '测量范围'},
|
|
|
+ {key:'accuracy', name: '精准度'},
|
|
|
+ {key:'calibrationCycle', name: '校准周期(月)'},
|
|
|
+ {key:'lastCalibrationTime', name: '最近效验时间'},
|
|
|
+ {key:'status', name: '状态'},
|
|
|
+ {key:'isCalibration', name: '是否需要效验'},
|
|
|
+ {key:'equipmentAcquisitionNumber', name: '设备采集编号'},
|
|
|
+ {key:'managerName', name: '设备管理人员'},
|
|
|
+ {key:'remarks', name: '备注'},
|
|
|
])
|
|
|
-const tableLoading = ref(false)
|
|
|
const tableData = ref([])
|
|
|
|
|
|
//获取数据
|
|
|
-const getTableData = () => {
|
|
|
-
|
|
|
+const tableLoading = ref(false)
|
|
|
+const getTableData = async () => {
|
|
|
+ tableLoading.value = true
|
|
|
+ const { error, code, data } = await approachApi.queryPage({
|
|
|
+ projectId: projectId.value,
|
|
|
+ contractId: contractId.value,
|
|
|
+ ...searchForm.value,
|
|
|
+ })
|
|
|
+ //处理数据
|
|
|
+ tableLoading.value = false
|
|
|
+ if (!error && code === 200) {
|
|
|
+ tableData.value = getArrValue(data['records'])
|
|
|
+ searchForm.value.total = data.total || 0
|
|
|
+ } else {
|
|
|
+ tableData.value = []
|
|
|
+ searchForm.value.total = 0
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
//多选
|
|
@@ -344,24 +379,55 @@ const tableSelection = (rows) => {
|
|
|
|
|
|
|
|
|
//新增/编辑 分类
|
|
|
+const addEditNodeFormRef = ref(null)
|
|
|
const addEditNodeFormModal = ref(false)
|
|
|
-const addEditNodeFormModel = ref({key1: ''})
|
|
|
+
|
|
|
+//分类表单
|
|
|
+const addEditNodeFormModel = ref({
|
|
|
+ className: ''
|
|
|
+})
|
|
|
+const addEditNodeFormRules = {
|
|
|
+ className: {
|
|
|
+ required: true,
|
|
|
+ trigger: 'blur',
|
|
|
+ message: "请输入分类名称"
|
|
|
+ },
|
|
|
+}
|
|
|
+
|
|
|
+//新增分类弹窗打开
|
|
|
const addEditNodeFormModalClick = () => {
|
|
|
+ addEditNodeFormModel.value = {}
|
|
|
addEditNodeFormModal.value = true
|
|
|
}
|
|
|
|
|
|
//保存节点信息
|
|
|
const addEditNodeFormLoading = ref(false)
|
|
|
-const addEditNodeFormModalSave = () => {
|
|
|
- addEditNodeFormModal.value = false
|
|
|
+const addEditNodeFormModalSave = async () => {
|
|
|
+ const validate = await formValidate(addEditNodeFormRef.value)
|
|
|
+ if (validate) {
|
|
|
+ addEditNodeFormLoading.value = true
|
|
|
+ const { error, code } = await approachApi.getClassSubmit({
|
|
|
+ ...addEditNodeFormModel.value,
|
|
|
+ projectId: projectId.value,
|
|
|
+ contractId: contractId.value
|
|
|
+ })
|
|
|
+ //处理数据
|
|
|
+ addEditNodeFormLoading.value = false
|
|
|
+ if (!error && code === 200) {
|
|
|
+ window?.$message?.success('操作成功')
|
|
|
+ addEditNodeFormModal.value = false
|
|
|
+ await getClassListData()
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
//关闭分类编辑弹窗
|
|
|
const addEditNodeFormModalClose = () => {
|
|
|
+ addEditNodeFormModel.value = {}
|
|
|
addEditNodeFormModal.value = false
|
|
|
}
|
|
|
|
|
|
//删除分类
|
|
|
-const delNodeModalClick = () => {
|
|
|
+const delNodeModalClick = (id) => {
|
|
|
window?.$messageBox?.alert('请谨慎考虑后,确认是否需要删除?', '删除提醒', {
|
|
|
showCancelButton: true,
|
|
|
confirmButtonText: '确认删除',
|
|
@@ -369,12 +435,26 @@ const delNodeModalClick = () => {
|
|
|
type: 'warning',
|
|
|
callback: (action) => {
|
|
|
if (action === 'confirm') {
|
|
|
- //removeContractTreeNode()
|
|
|
+ setClassRemove(id)
|
|
|
}
|
|
|
}
|
|
|
})
|
|
|
}
|
|
|
|
|
|
+//删除分类
|
|
|
+const setClassRemove = async (id) => {
|
|
|
+ const { error, code } = await approachApi.setClassRemove({
|
|
|
+ projectId: projectId.value,
|
|
|
+ contractId: contractId.value,
|
|
|
+ id: id
|
|
|
+ })
|
|
|
+ //处理数据
|
|
|
+ if (!error && code === 200) {
|
|
|
+ window?.$message?.success('操作成功')
|
|
|
+ await getClassListData()
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
|
|
|
//导入
|
|
|
const importModal = ref(false)
|
|
@@ -407,41 +487,73 @@ const tableImportSelection = (rows) => {
|
|
|
}
|
|
|
|
|
|
|
|
|
-
|
|
|
-//新增/编辑 材料进场
|
|
|
-const addEditFormModal = ref(false)
|
|
|
-const addFormModalClick = () => {
|
|
|
- addEditFormModal.value = true
|
|
|
-}
|
|
|
-const editFormModalClick = () => {
|
|
|
- addEditFormModal.value = true
|
|
|
-}
|
|
|
-const addEditFormModalClose = () => {
|
|
|
- addEditFormModal.value = false
|
|
|
-}
|
|
|
-
|
|
|
//新增/编辑 表单
|
|
|
const addEditFormRef = ref(null)
|
|
|
const addEditFormModel = ref({})
|
|
|
const addEditFormRules = {
|
|
|
- key1: {
|
|
|
+ deviceName: {
|
|
|
required: true,
|
|
|
trigger: 'blur',
|
|
|
- message: "请输入"
|
|
|
+ message: "请输入设备名称"
|
|
|
},
|
|
|
- key2: {
|
|
|
+ deviceClassId: {
|
|
|
required: true,
|
|
|
trigger: 'blur',
|
|
|
- message: "请选择"
|
|
|
+ message: "请选择设备分类"
|
|
|
},
|
|
|
}
|
|
|
|
|
|
+//新增 设备信息
|
|
|
+const addEditFormModal = ref(false)
|
|
|
+const addFormModalClick = () => {
|
|
|
+ addEditFormModel.value = {
|
|
|
+ isCalibration: 0,
|
|
|
+ status: 1,
|
|
|
+ }
|
|
|
+ addEditFormModal.value = true
|
|
|
+}
|
|
|
+
|
|
|
+//编辑 设备信息
|
|
|
+const editFormModalClick = () => {
|
|
|
+ addEditFormModal.value = true
|
|
|
+}
|
|
|
+
|
|
|
+//关闭新增/编辑的弹窗
|
|
|
+const addEditFormModalClose = () => {
|
|
|
+ addEditFormModal.value = false
|
|
|
+ addEditFormModel.value = {
|
|
|
+ isCalibration: 0,
|
|
|
+ status: 1
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
//新增/编辑 保存
|
|
|
const addEditFormLoading = ref(false)
|
|
|
-const addEditFormClick = () => {
|
|
|
-
|
|
|
+const addEditFormClick = async () => {
|
|
|
+ const validate = await formValidate(addEditFormRef.value)
|
|
|
+ if (validate) {
|
|
|
+ addEditFormLoading.value = true
|
|
|
+ const { error, code } = await approachApi.submitForm({
|
|
|
+ ...addEditFormModel.value,
|
|
|
+ projectId: projectId.value,
|
|
|
+ contractId: contractId.value
|
|
|
+ })
|
|
|
+ //处理数据
|
|
|
+ addEditFormLoading.value = false
|
|
|
+ if (!error && code === 200) {
|
|
|
+ window?.$message?.success('操作成功')
|
|
|
+ addEditFormModal.value = false
|
|
|
+ await getTableData()
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
+//拼接ID
|
|
|
+const rowsToId = (rows) => {
|
|
|
+ return rows.map((obj) => {
|
|
|
+ return obj.id;
|
|
|
+ }).join(",")
|
|
|
+}
|
|
|
|
|
|
//左右拖动,改变树形结构宽度
|
|
|
const leftWidth = ref(240);
|