@@ -96,15 +139,15 @@
-
+
-
+
查看
-
+
编辑
-
+
删除
diff --git a/src/views/tested/MeasurementPlan/task/components/edit.vue b/src/views/tested/MeasurementPlan/task/components/edit.vue
index 6fc4d0f..19e17ae 100644
--- a/src/views/tested/MeasurementPlan/task/components/edit.vue
+++ b/src/views/tested/MeasurementPlan/task/components/edit.vue
@@ -4,10 +4,10 @@
import { ElLoading, ElMessage, ElMessageBox } from 'element-plus'
import dayjs from 'dayjs'
import tableList from './tableList.vue'
+import { getUserDept, getUserList } from '@/api/system/user'
import { addTask, detailTask, updateTask } from '@/api/eqpt/measurementPlan/task'
import { getDictByCode } from '@/api/system/dict'
import useUserStore from '@/store/modules/user'
-import { getUserDept } from '@/api/system/user'
const $route = useRoute()
const $router = useRouter()
const userStore = useUserStore()
@@ -63,11 +63,11 @@
}
const rules = ref({
deliverer: [{ required: true, message: '送检人必填', trigger: ['blur', 'change'] }],
- customerAddress: [{ required: true, message: '委托方地址必填', trigger: ['blur', 'change'] }],
+ // customerAddress: [{ required: true, message: '委托方地址必填', trigger: ['blur', 'change'] }],
customerPhone: [{ required: true, message: '电话必填', trigger: ['blur', 'change'] }],
- maintainMajor: [{ required: true, message: '检修专业必填', trigger: ['blur', 'change'] }],
+ // maintainMajor: [{ required: true, message: '检修专业必填', trigger: ['blur', 'change'] }],
planDeliverTime: [{ required: true, message: '预计送达时间必选', trigger: ['blur', 'change'] }],
- requireOverTime: [{ required: true, message: '要求检完时间必选', trigger: ['blur', 'change'] }],
+ // requireOverTime: [{ required: true, message: '要求检完时间必选', trigger: ['blur', 'change'] }],
isUrgent: [{ required: true, message: '是否加急必选', trigger: ['blur', 'change'] }],
measureCompany: [{ required: true, message: '检定(校准)单位必填', trigger: ['blur', 'change'] }],
undertakerName: [{ required: true, message: '承接人必填', trigger: ['blur', 'change'] }],
@@ -106,10 +106,17 @@
})
// 获取是否加急下拉列表
const isUrgentList = ref<{ id: string; value: string; name: string }[]>()
+// 送检人列表
+const personList = ref()
const fetchListData = () => {
getDictByCode('eqptisUrgent').then((res) => {
isUrgentList.value = res.data
})
+ getUserDept().then((res1) => {
+ getUserList({ offset: 1, limit: 99999, deptId: $route.path.includes('detail') ? '' : res1.data.id }).then((res) => {
+ personList.value = res.data.rows
+ })
+ })
}
fetchListData()
// 关闭弹窗
@@ -200,7 +207,18 @@
-
+
+
+
+ {{ item.name }}
+ {{ item.deptName }}
+
+
diff --git a/src/views/tested/MeasurementPlan/task/components/tableList.vue b/src/views/tested/MeasurementPlan/task/components/tableList.vue
index 7a7f676..6777bb8 100644
--- a/src/views/tested/MeasurementPlan/task/components/tableList.vue
+++ b/src/views/tested/MeasurementPlan/task/components/tableList.vue
@@ -18,23 +18,30 @@
const $route = useRoute()
// 表头显示标题
const columnsHandler = ref([
+ // {
+ // text: '统一编号',
+ // value: 'sampleNo',
+ // required: true,
+ // isBtn: true,
+ // isUpload: false,
+ // },
{
- text: '统一编号',
- value: 'sampleNo',
+ text: '设备名称',
+ value: 'sampleName',
required: true,
isBtn: true,
isUpload: false,
},
{
- text: '设备名称',
- value: 'sampleName',
- required: true,
+ text: '规格型号',
+ value: 'sampleModel',
+ required: false,
isBtn: false,
isUpload: false,
},
{
- text: '型号',
- value: 'sampleModel',
+ text: '生产厂家',
+ value: 'manufacturer',
required: false,
isBtn: false,
isUpload: false,
@@ -47,13 +54,13 @@
isUpload: true,
width: '350px',
},
- {
- text: '外观和功能检查',
- value: 'appearanceInspect',
- required: false,
- isBtn: false,
- isUpload: false,
- },
+ // {
+ // text: '外观和功能检查',
+ // value: 'appearanceInspect',
+ // required: false,
+ // isBtn: false,
+ // isUpload: false,
+ // },
{
text: '特殊要求',
value: 'specialRequire',
@@ -61,22 +68,22 @@
isBtn: false,
isUpload: false,
},
- {
- text: '检校项目',
- value: 'measureContent',
- required: false,
- isBtn: false,
- isUpload: false,
- },
+ // {
+ // text: '检校项目',
+ // value: 'measureContent',
+ // required: false,
+ // isBtn: false,
+ // isUpload: false,
+ // },
])
const columnsDetail = ref([
- {
- text: '统一编号',
- value: 'sampleNo',
- required: true,
- isBtn: true,
- isUpload: false,
- },
+ // {
+ // text: '统一编号',
+ // value: 'sampleNo',
+ // required: true,
+ // isBtn: true,
+ // isUpload: false,
+ // },
{
text: '设备名称',
value: 'sampleName',
@@ -85,13 +92,20 @@
isUpload: false,
},
{
- text: '型号',
+ text: '规格型号',
value: 'sampleModel',
required: false,
isBtn: false,
isUpload: false,
},
{
+ text: '生产厂家',
+ value: 'manufacturer',
+ required: false,
+ isBtn: false,
+ isUpload: false,
+ },
+ {
text: '附件',
value: 'appendixDescn',
required: false,
@@ -150,6 +164,7 @@
if (checkCertificateList()) {
setAllRowReadable()
list.value.push({
+ manufacturer: '',
appearanceInspect: '',
appendixDescn: '',
measureContent: '',
@@ -189,7 +204,7 @@
const selectRow = ref()
// 单选设备
const select = (text: string, index: any) => {
- if (text === '统一编号') {
+ if (text === '设备名称') {
deviceSingeRef.value.initDialog()
selectRow.value = index
}
@@ -206,22 +221,26 @@
if (Array.isArray(device)) {
// 多选
device.forEach((item) => {
- list.value.push({
- appearanceInspect: '',
- appendixDescn: '',
- measureContent: '',
- sampleModel: item.model,
- sampleNo: item.equipmentNo,
- sampleId: item.id,
- sampleName: item.equipmentName,
- specialRequire: '',
- editable: true,
- })
+ if (!list.value.filter((c: any) => c.sampleId === item.id).length) {
+ list.value.push({
+ appearanceInspect: '',
+ appendixDescn: '',
+ measureContent: '',
+ manufacturer: item.manufacturer,
+ sampleModel: item.model,
+ sampleNo: item.equipmentNo,
+ sampleId: item.id,
+ sampleName: item.equipmentName,
+ specialRequire: '',
+ editable: false,
+ })
+ }
})
}
else {
// 单选
const row = {
+ manufacturer: device.manufacturer,
appearanceInspect: '',
appendixDescn: '',
measureContent: '',
@@ -230,7 +249,7 @@
sampleNo: device.equipmentNo,
sampleName: device.equipmentName,
specialRequire: '',
- editable: true,
+ editable: false,
}
list.value[selectRow.value] = row
}
@@ -247,6 +266,7 @@
})
fd.append('multipartFile', event.target.files[0])
uploadApi(fd).then((res) => {
+ fileRef.value.value = ''
if (res.code === 200) {
list.value[currentIndex.value].appendixDescn = res.data[0]
// 重置当前验证
@@ -261,9 +281,12 @@
})
}
}
+const uploadRef = ref()
const upload = (index: number) => {
currentIndex.value = index
+ // window.onclick()
fileRef.value.click()
+ // deviceRef.value?.click()
}
const $router = useRouter()
const deviceDetail = (row: any) => {
@@ -338,10 +361,12 @@
-
+
+
+
diff --git a/.env.development b/.env.development
index b87a9f3..95707e0 100644
--- a/.env.development
+++ b/.env.development
@@ -3,10 +3,10 @@
VITE_SYS_TITLE = 受检设备管理系统
# 接口请求地址,会设置到 axios 的 baseURL 参数上
# VITE_APP_API_BASEURL = http://139.198.29.133:8089
-VITE_APP_API_BASEURL = http://111.198.10.15:21611
+VITE_APP_API_BASEURL = http://192.168.8.102:5909
# VITE_APP_API_BASEURL = http://192.168.8.100:5909
# VITE_METER_API_BASEURL = http://111.198.10.15:21606
-VITE_METER_API_BASEURL = http://111.198.10.15:21611
+VITE_METER_API_BASEURL = http://192.168.8.102:5909
# VITE_APP_API_BASEURL = http://111.198.10.15:21611
# VITE_APP_API_BASEURL = http://192.168.8.107:5909
# VITE_APP_API_BASEURL = http://111.198.10.15:21710
diff --git a/public/config/config.json b/public/config/config.json
index d2da659..cfca39a 100644
--- a/public/config/config.json
+++ b/public/config/config.json
@@ -1,7 +1,7 @@
{
"title":"计量业务系统",
- "baseUrl": "http://111.198.10.15:21611",
- "baseUrlBusiness": "http://111.198.10.15:21611",
+ "baseUrl": "http://192.168.8.102:5909",
+ "baseUrlBusiness": "http://192.168.8.102:5909",
"pathDict": {
"fbfpsbgl":"/reviewpage/detail",
"fbfmlgl":"/directorypage/detail",
diff --git a/src/api/eqpt/device/model.ts b/src/api/eqpt/device/model.ts
index b1f2edf..6940165 100644
--- a/src/api/eqpt/device/model.ts
+++ b/src/api/eqpt/device/model.ts
@@ -28,10 +28,11 @@
})
}
// 设备名称列表/equipment/model/listEquipmentName
-export function getDeviceNameList() {
+export function getDeviceNameList(params: any) {
return request({
url: '/equipment/model/listEquipmentName',
method: 'get',
+ params,
})
}
// 导出
diff --git a/src/api/system/installation.ts b/src/api/system/installation.ts
new file mode 100644
index 0000000..4288976
--- /dev/null
+++ b/src/api/system/installation.ts
@@ -0,0 +1,44 @@
+/*
+ * 安装位置管理
+*/
+import request from '../index'
+// 列表
+export function getLocationListPage(data: any) {
+ return request({
+ url: '/system/location/listPage',
+ method: 'get',
+ params: data,
+ })
+}
+// 新建
+export function addLocation(data: any) {
+ return request({
+ url: '/system/location/add',
+ method: 'post',
+ data,
+ })
+}
+// 编辑
+export function updateLocation(data: any) {
+ return request({
+ url: '/system/location/update',
+ method: 'post',
+ data,
+ })
+}
+// 删除
+export function delLocation(data: any) {
+ return request({
+ url: '/system/location/delete',
+ method: 'post',
+ data,
+ })
+}
+// 列表 - 不分页
+export function getLocationList(data: any) {
+ return request({
+ url: '/system/location/list',
+ method: 'post',
+ data,
+ })
+}
diff --git a/src/api/system/post.ts b/src/api/system/post.ts
new file mode 100644
index 0000000..db0e6c7
--- /dev/null
+++ b/src/api/system/post.ts
@@ -0,0 +1,44 @@
+/*
+ * 岗位管理接口
+*/
+import request from '../index'
+// 列表
+export function getPostListPage(data: any) {
+ return request({
+ url: '/system/position/listPage',
+ method: 'get',
+ params: data,
+ })
+}
+// 新建
+export function addPost(data: any) {
+ return request({
+ url: '/system/position/add',
+ method: 'post',
+ data,
+ })
+}
+// 编辑
+export function updatePost(data: any) {
+ return request({
+ url: '/system/position/update',
+ method: 'post',
+ data,
+ })
+}
+// 删除
+export function delPost(data: any) {
+ return request({
+ url: '/system/position/delete',
+ method: 'post',
+ data,
+ })
+}
+// 列表 - 不分页
+export function getPostList(data: any) {
+ return request({
+ url: '/system/position/list',
+ method: 'get',
+ params: data,
+ })
+}
diff --git a/src/views/system/installation/editDialog.vue b/src/views/system/installation/editDialog.vue
index 637c07b..817930d 100644
--- a/src/views/system/installation/editDialog.vue
+++ b/src/views/system/installation/editDialog.vue
@@ -2,15 +2,18 @@
-
+
-
-
+
+
-
-
-
+
+
+
+
-
-
+
+
diff --git a/src/views/system/installation/list.vue b/src/views/system/installation/list.vue
index 0eec641..8c8b950 100644
--- a/src/views/system/installation/list.vue
+++ b/src/views/system/installation/list.vue
@@ -1,27 +1,42 @@
@@ -64,21 +116,22 @@
-
+
-
-
+
+
+
-
+
-
+
@@ -101,15 +154,15 @@
-
+
-
+
查看
-
+
编辑
-
+
删除
diff --git a/src/views/system/post/editDialog.vue b/src/views/system/post/editDialog.vue
index b38e652..f99ddb9 100644
--- a/src/views/system/post/editDialog.vue
+++ b/src/views/system/post/editDialog.vue
@@ -2,15 +2,16 @@
-
+
-
-
+
+
-
-
+
+
-
-
+
+
diff --git a/src/views/system/post/list.vue b/src/views/system/post/list.vue
index bfbc209..f24eb12 100644
--- a/src/views/system/post/list.vue
+++ b/src/views/system/post/list.vue
@@ -1,26 +1,39 @@
@@ -63,17 +106,17 @@
-
+
-
+
-
+
@@ -96,15 +139,15 @@
-
+
-
+
查看
-
+
编辑
-
+
删除
diff --git a/src/views/tested/MeasurementPlan/task/components/edit.vue b/src/views/tested/MeasurementPlan/task/components/edit.vue
index 6fc4d0f..19e17ae 100644
--- a/src/views/tested/MeasurementPlan/task/components/edit.vue
+++ b/src/views/tested/MeasurementPlan/task/components/edit.vue
@@ -4,10 +4,10 @@
import { ElLoading, ElMessage, ElMessageBox } from 'element-plus'
import dayjs from 'dayjs'
import tableList from './tableList.vue'
+import { getUserDept, getUserList } from '@/api/system/user'
import { addTask, detailTask, updateTask } from '@/api/eqpt/measurementPlan/task'
import { getDictByCode } from '@/api/system/dict'
import useUserStore from '@/store/modules/user'
-import { getUserDept } from '@/api/system/user'
const $route = useRoute()
const $router = useRouter()
const userStore = useUserStore()
@@ -63,11 +63,11 @@
}
const rules = ref({
deliverer: [{ required: true, message: '送检人必填', trigger: ['blur', 'change'] }],
- customerAddress: [{ required: true, message: '委托方地址必填', trigger: ['blur', 'change'] }],
+ // customerAddress: [{ required: true, message: '委托方地址必填', trigger: ['blur', 'change'] }],
customerPhone: [{ required: true, message: '电话必填', trigger: ['blur', 'change'] }],
- maintainMajor: [{ required: true, message: '检修专业必填', trigger: ['blur', 'change'] }],
+ // maintainMajor: [{ required: true, message: '检修专业必填', trigger: ['blur', 'change'] }],
planDeliverTime: [{ required: true, message: '预计送达时间必选', trigger: ['blur', 'change'] }],
- requireOverTime: [{ required: true, message: '要求检完时间必选', trigger: ['blur', 'change'] }],
+ // requireOverTime: [{ required: true, message: '要求检完时间必选', trigger: ['blur', 'change'] }],
isUrgent: [{ required: true, message: '是否加急必选', trigger: ['blur', 'change'] }],
measureCompany: [{ required: true, message: '检定(校准)单位必填', trigger: ['blur', 'change'] }],
undertakerName: [{ required: true, message: '承接人必填', trigger: ['blur', 'change'] }],
@@ -106,10 +106,17 @@
})
// 获取是否加急下拉列表
const isUrgentList = ref<{ id: string; value: string; name: string }[]>()
+// 送检人列表
+const personList = ref()
const fetchListData = () => {
getDictByCode('eqptisUrgent').then((res) => {
isUrgentList.value = res.data
})
+ getUserDept().then((res1) => {
+ getUserList({ offset: 1, limit: 99999, deptId: $route.path.includes('detail') ? '' : res1.data.id }).then((res) => {
+ personList.value = res.data.rows
+ })
+ })
}
fetchListData()
// 关闭弹窗
@@ -200,7 +207,18 @@
-
+
+
+
+ {{ item.name }}
+ {{ item.deptName }}
+
+
diff --git a/src/views/tested/MeasurementPlan/task/components/tableList.vue b/src/views/tested/MeasurementPlan/task/components/tableList.vue
index 7a7f676..6777bb8 100644
--- a/src/views/tested/MeasurementPlan/task/components/tableList.vue
+++ b/src/views/tested/MeasurementPlan/task/components/tableList.vue
@@ -18,23 +18,30 @@
const $route = useRoute()
// 表头显示标题
const columnsHandler = ref([
+ // {
+ // text: '统一编号',
+ // value: 'sampleNo',
+ // required: true,
+ // isBtn: true,
+ // isUpload: false,
+ // },
{
- text: '统一编号',
- value: 'sampleNo',
+ text: '设备名称',
+ value: 'sampleName',
required: true,
isBtn: true,
isUpload: false,
},
{
- text: '设备名称',
- value: 'sampleName',
- required: true,
+ text: '规格型号',
+ value: 'sampleModel',
+ required: false,
isBtn: false,
isUpload: false,
},
{
- text: '型号',
- value: 'sampleModel',
+ text: '生产厂家',
+ value: 'manufacturer',
required: false,
isBtn: false,
isUpload: false,
@@ -47,13 +54,13 @@
isUpload: true,
width: '350px',
},
- {
- text: '外观和功能检查',
- value: 'appearanceInspect',
- required: false,
- isBtn: false,
- isUpload: false,
- },
+ // {
+ // text: '外观和功能检查',
+ // value: 'appearanceInspect',
+ // required: false,
+ // isBtn: false,
+ // isUpload: false,
+ // },
{
text: '特殊要求',
value: 'specialRequire',
@@ -61,22 +68,22 @@
isBtn: false,
isUpload: false,
},
- {
- text: '检校项目',
- value: 'measureContent',
- required: false,
- isBtn: false,
- isUpload: false,
- },
+ // {
+ // text: '检校项目',
+ // value: 'measureContent',
+ // required: false,
+ // isBtn: false,
+ // isUpload: false,
+ // },
])
const columnsDetail = ref([
- {
- text: '统一编号',
- value: 'sampleNo',
- required: true,
- isBtn: true,
- isUpload: false,
- },
+ // {
+ // text: '统一编号',
+ // value: 'sampleNo',
+ // required: true,
+ // isBtn: true,
+ // isUpload: false,
+ // },
{
text: '设备名称',
value: 'sampleName',
@@ -85,13 +92,20 @@
isUpload: false,
},
{
- text: '型号',
+ text: '规格型号',
value: 'sampleModel',
required: false,
isBtn: false,
isUpload: false,
},
{
+ text: '生产厂家',
+ value: 'manufacturer',
+ required: false,
+ isBtn: false,
+ isUpload: false,
+ },
+ {
text: '附件',
value: 'appendixDescn',
required: false,
@@ -150,6 +164,7 @@
if (checkCertificateList()) {
setAllRowReadable()
list.value.push({
+ manufacturer: '',
appearanceInspect: '',
appendixDescn: '',
measureContent: '',
@@ -189,7 +204,7 @@
const selectRow = ref()
// 单选设备
const select = (text: string, index: any) => {
- if (text === '统一编号') {
+ if (text === '设备名称') {
deviceSingeRef.value.initDialog()
selectRow.value = index
}
@@ -206,22 +221,26 @@
if (Array.isArray(device)) {
// 多选
device.forEach((item) => {
- list.value.push({
- appearanceInspect: '',
- appendixDescn: '',
- measureContent: '',
- sampleModel: item.model,
- sampleNo: item.equipmentNo,
- sampleId: item.id,
- sampleName: item.equipmentName,
- specialRequire: '',
- editable: true,
- })
+ if (!list.value.filter((c: any) => c.sampleId === item.id).length) {
+ list.value.push({
+ appearanceInspect: '',
+ appendixDescn: '',
+ measureContent: '',
+ manufacturer: item.manufacturer,
+ sampleModel: item.model,
+ sampleNo: item.equipmentNo,
+ sampleId: item.id,
+ sampleName: item.equipmentName,
+ specialRequire: '',
+ editable: false,
+ })
+ }
})
}
else {
// 单选
const row = {
+ manufacturer: device.manufacturer,
appearanceInspect: '',
appendixDescn: '',
measureContent: '',
@@ -230,7 +249,7 @@
sampleNo: device.equipmentNo,
sampleName: device.equipmentName,
specialRequire: '',
- editable: true,
+ editable: false,
}
list.value[selectRow.value] = row
}
@@ -247,6 +266,7 @@
})
fd.append('multipartFile', event.target.files[0])
uploadApi(fd).then((res) => {
+ fileRef.value.value = ''
if (res.code === 200) {
list.value[currentIndex.value].appendixDescn = res.data[0]
// 重置当前验证
@@ -261,9 +281,12 @@
})
}
}
+const uploadRef = ref()
const upload = (index: number) => {
currentIndex.value = index
+ // window.onclick()
fileRef.value.click()
+ // deviceRef.value?.click()
}
const $router = useRouter()
const deviceDetail = (row: any) => {
@@ -338,10 +361,12 @@
-
+
+
+
diff --git a/src/views/tested/device/model/components/edit.vue b/src/views/tested/device/model/components/edit.vue
index 86765f3..0db38a6 100644
--- a/src/views/tested/device/model/components/edit.vue
+++ b/src/views/tested/device/model/components/edit.vue
@@ -39,6 +39,7 @@
remark: '', // 备注
technicalTargetList: [], // 技术指标
updateTime: '',
+ equipmentType: '',
}) // 表单
// 设备名称验证规则
const checkCycle = (rule: any, value: any, callback: any) => {
@@ -53,7 +54,8 @@
}
}
const rules = ref
({
- equipmentName: [{ required: true, message: '设备名称名称必填', trigger: ['blur', 'change'] }],
+ equipmentName: [{ required: true, message: '设备名称必填', trigger: ['blur', 'change'] }],
+ equipmentType: [{ required: true, message: '设备分类必选', trigger: ['blur', 'change'] }],
category: [{ required: true, message: '设备分类必选', trigger: ['blur', 'change'] }],
model: [{ required: true, message: '规格型号必填', trigger: ['blur', 'change'] }],
checkCycle: [{ required: true, validator: checkCycle, trigger: ['blur', 'change'] }],
@@ -166,11 +168,17 @@
}
// 设备分类
const deviceTypeList = ref<{ id: string; value: string; name: string }[]>([])
+// 设备类型
+const deviceCateList = ref<{ id: string; value: string; name: string }[]>([])
const fetchSelect = () => {
// 设备分类
getDictByCode('eqptDeviceType').then((res) => {
deviceTypeList.value = res.data
})
+ // 设备类型
+ getDictByCode('eqptDeviceCategory').then((res) => {
+ deviceCateList.value = res.data
+ })
// 设备名称
// getDeviceNameList().then((res) => {
// console.log(res.data, '设备名称')
@@ -212,8 +220,14 @@
>
-
+
+
+
+
+
+
diff --git a/.env.development b/.env.development
index b87a9f3..95707e0 100644
--- a/.env.development
+++ b/.env.development
@@ -3,10 +3,10 @@
VITE_SYS_TITLE = 受检设备管理系统
# 接口请求地址,会设置到 axios 的 baseURL 参数上
# VITE_APP_API_BASEURL = http://139.198.29.133:8089
-VITE_APP_API_BASEURL = http://111.198.10.15:21611
+VITE_APP_API_BASEURL = http://192.168.8.102:5909
# VITE_APP_API_BASEURL = http://192.168.8.100:5909
# VITE_METER_API_BASEURL = http://111.198.10.15:21606
-VITE_METER_API_BASEURL = http://111.198.10.15:21611
+VITE_METER_API_BASEURL = http://192.168.8.102:5909
# VITE_APP_API_BASEURL = http://111.198.10.15:21611
# VITE_APP_API_BASEURL = http://192.168.8.107:5909
# VITE_APP_API_BASEURL = http://111.198.10.15:21710
diff --git a/public/config/config.json b/public/config/config.json
index d2da659..cfca39a 100644
--- a/public/config/config.json
+++ b/public/config/config.json
@@ -1,7 +1,7 @@
{
"title":"计量业务系统",
- "baseUrl": "http://111.198.10.15:21611",
- "baseUrlBusiness": "http://111.198.10.15:21611",
+ "baseUrl": "http://192.168.8.102:5909",
+ "baseUrlBusiness": "http://192.168.8.102:5909",
"pathDict": {
"fbfpsbgl":"/reviewpage/detail",
"fbfmlgl":"/directorypage/detail",
diff --git a/src/api/eqpt/device/model.ts b/src/api/eqpt/device/model.ts
index b1f2edf..6940165 100644
--- a/src/api/eqpt/device/model.ts
+++ b/src/api/eqpt/device/model.ts
@@ -28,10 +28,11 @@
})
}
// 设备名称列表/equipment/model/listEquipmentName
-export function getDeviceNameList() {
+export function getDeviceNameList(params: any) {
return request({
url: '/equipment/model/listEquipmentName',
method: 'get',
+ params,
})
}
// 导出
diff --git a/src/api/system/installation.ts b/src/api/system/installation.ts
new file mode 100644
index 0000000..4288976
--- /dev/null
+++ b/src/api/system/installation.ts
@@ -0,0 +1,44 @@
+/*
+ * 安装位置管理
+*/
+import request from '../index'
+// 列表
+export function getLocationListPage(data: any) {
+ return request({
+ url: '/system/location/listPage',
+ method: 'get',
+ params: data,
+ })
+}
+// 新建
+export function addLocation(data: any) {
+ return request({
+ url: '/system/location/add',
+ method: 'post',
+ data,
+ })
+}
+// 编辑
+export function updateLocation(data: any) {
+ return request({
+ url: '/system/location/update',
+ method: 'post',
+ data,
+ })
+}
+// 删除
+export function delLocation(data: any) {
+ return request({
+ url: '/system/location/delete',
+ method: 'post',
+ data,
+ })
+}
+// 列表 - 不分页
+export function getLocationList(data: any) {
+ return request({
+ url: '/system/location/list',
+ method: 'post',
+ data,
+ })
+}
diff --git a/src/api/system/post.ts b/src/api/system/post.ts
new file mode 100644
index 0000000..db0e6c7
--- /dev/null
+++ b/src/api/system/post.ts
@@ -0,0 +1,44 @@
+/*
+ * 岗位管理接口
+*/
+import request from '../index'
+// 列表
+export function getPostListPage(data: any) {
+ return request({
+ url: '/system/position/listPage',
+ method: 'get',
+ params: data,
+ })
+}
+// 新建
+export function addPost(data: any) {
+ return request({
+ url: '/system/position/add',
+ method: 'post',
+ data,
+ })
+}
+// 编辑
+export function updatePost(data: any) {
+ return request({
+ url: '/system/position/update',
+ method: 'post',
+ data,
+ })
+}
+// 删除
+export function delPost(data: any) {
+ return request({
+ url: '/system/position/delete',
+ method: 'post',
+ data,
+ })
+}
+// 列表 - 不分页
+export function getPostList(data: any) {
+ return request({
+ url: '/system/position/list',
+ method: 'get',
+ params: data,
+ })
+}
diff --git a/src/views/system/installation/editDialog.vue b/src/views/system/installation/editDialog.vue
index 637c07b..817930d 100644
--- a/src/views/system/installation/editDialog.vue
+++ b/src/views/system/installation/editDialog.vue
@@ -2,15 +2,18 @@
-
+
-
-
+
+
-
-
-
+
+
+
+
-
-
+
+
diff --git a/src/views/system/installation/list.vue b/src/views/system/installation/list.vue
index 0eec641..8c8b950 100644
--- a/src/views/system/installation/list.vue
+++ b/src/views/system/installation/list.vue
@@ -1,27 +1,42 @@
@@ -64,21 +116,22 @@
-
+
-
-
+
+
+
-
+
-
+
@@ -101,15 +154,15 @@
-
+
-
+
查看
-
+
编辑
-
+
删除
diff --git a/src/views/system/post/editDialog.vue b/src/views/system/post/editDialog.vue
index b38e652..f99ddb9 100644
--- a/src/views/system/post/editDialog.vue
+++ b/src/views/system/post/editDialog.vue
@@ -2,15 +2,16 @@
-
+
-
-
+
+
-
-
+
+
-
-
+
+
diff --git a/src/views/system/post/list.vue b/src/views/system/post/list.vue
index bfbc209..f24eb12 100644
--- a/src/views/system/post/list.vue
+++ b/src/views/system/post/list.vue
@@ -1,26 +1,39 @@
@@ -63,17 +106,17 @@
-
+
-
+
-
+
@@ -96,15 +139,15 @@
-
+
-
+
查看
-
+
编辑
-
+
删除
diff --git a/src/views/tested/MeasurementPlan/task/components/edit.vue b/src/views/tested/MeasurementPlan/task/components/edit.vue
index 6fc4d0f..19e17ae 100644
--- a/src/views/tested/MeasurementPlan/task/components/edit.vue
+++ b/src/views/tested/MeasurementPlan/task/components/edit.vue
@@ -4,10 +4,10 @@
import { ElLoading, ElMessage, ElMessageBox } from 'element-plus'
import dayjs from 'dayjs'
import tableList from './tableList.vue'
+import { getUserDept, getUserList } from '@/api/system/user'
import { addTask, detailTask, updateTask } from '@/api/eqpt/measurementPlan/task'
import { getDictByCode } from '@/api/system/dict'
import useUserStore from '@/store/modules/user'
-import { getUserDept } from '@/api/system/user'
const $route = useRoute()
const $router = useRouter()
const userStore = useUserStore()
@@ -63,11 +63,11 @@
}
const rules = ref({
deliverer: [{ required: true, message: '送检人必填', trigger: ['blur', 'change'] }],
- customerAddress: [{ required: true, message: '委托方地址必填', trigger: ['blur', 'change'] }],
+ // customerAddress: [{ required: true, message: '委托方地址必填', trigger: ['blur', 'change'] }],
customerPhone: [{ required: true, message: '电话必填', trigger: ['blur', 'change'] }],
- maintainMajor: [{ required: true, message: '检修专业必填', trigger: ['blur', 'change'] }],
+ // maintainMajor: [{ required: true, message: '检修专业必填', trigger: ['blur', 'change'] }],
planDeliverTime: [{ required: true, message: '预计送达时间必选', trigger: ['blur', 'change'] }],
- requireOverTime: [{ required: true, message: '要求检完时间必选', trigger: ['blur', 'change'] }],
+ // requireOverTime: [{ required: true, message: '要求检完时间必选', trigger: ['blur', 'change'] }],
isUrgent: [{ required: true, message: '是否加急必选', trigger: ['blur', 'change'] }],
measureCompany: [{ required: true, message: '检定(校准)单位必填', trigger: ['blur', 'change'] }],
undertakerName: [{ required: true, message: '承接人必填', trigger: ['blur', 'change'] }],
@@ -106,10 +106,17 @@
})
// 获取是否加急下拉列表
const isUrgentList = ref<{ id: string; value: string; name: string }[]>()
+// 送检人列表
+const personList = ref()
const fetchListData = () => {
getDictByCode('eqptisUrgent').then((res) => {
isUrgentList.value = res.data
})
+ getUserDept().then((res1) => {
+ getUserList({ offset: 1, limit: 99999, deptId: $route.path.includes('detail') ? '' : res1.data.id }).then((res) => {
+ personList.value = res.data.rows
+ })
+ })
}
fetchListData()
// 关闭弹窗
@@ -200,7 +207,18 @@
-
+
+
+
+ {{ item.name }}
+ {{ item.deptName }}
+
+
diff --git a/src/views/tested/MeasurementPlan/task/components/tableList.vue b/src/views/tested/MeasurementPlan/task/components/tableList.vue
index 7a7f676..6777bb8 100644
--- a/src/views/tested/MeasurementPlan/task/components/tableList.vue
+++ b/src/views/tested/MeasurementPlan/task/components/tableList.vue
@@ -18,23 +18,30 @@
const $route = useRoute()
// 表头显示标题
const columnsHandler = ref([
+ // {
+ // text: '统一编号',
+ // value: 'sampleNo',
+ // required: true,
+ // isBtn: true,
+ // isUpload: false,
+ // },
{
- text: '统一编号',
- value: 'sampleNo',
+ text: '设备名称',
+ value: 'sampleName',
required: true,
isBtn: true,
isUpload: false,
},
{
- text: '设备名称',
- value: 'sampleName',
- required: true,
+ text: '规格型号',
+ value: 'sampleModel',
+ required: false,
isBtn: false,
isUpload: false,
},
{
- text: '型号',
- value: 'sampleModel',
+ text: '生产厂家',
+ value: 'manufacturer',
required: false,
isBtn: false,
isUpload: false,
@@ -47,13 +54,13 @@
isUpload: true,
width: '350px',
},
- {
- text: '外观和功能检查',
- value: 'appearanceInspect',
- required: false,
- isBtn: false,
- isUpload: false,
- },
+ // {
+ // text: '外观和功能检查',
+ // value: 'appearanceInspect',
+ // required: false,
+ // isBtn: false,
+ // isUpload: false,
+ // },
{
text: '特殊要求',
value: 'specialRequire',
@@ -61,22 +68,22 @@
isBtn: false,
isUpload: false,
},
- {
- text: '检校项目',
- value: 'measureContent',
- required: false,
- isBtn: false,
- isUpload: false,
- },
+ // {
+ // text: '检校项目',
+ // value: 'measureContent',
+ // required: false,
+ // isBtn: false,
+ // isUpload: false,
+ // },
])
const columnsDetail = ref([
- {
- text: '统一编号',
- value: 'sampleNo',
- required: true,
- isBtn: true,
- isUpload: false,
- },
+ // {
+ // text: '统一编号',
+ // value: 'sampleNo',
+ // required: true,
+ // isBtn: true,
+ // isUpload: false,
+ // },
{
text: '设备名称',
value: 'sampleName',
@@ -85,13 +92,20 @@
isUpload: false,
},
{
- text: '型号',
+ text: '规格型号',
value: 'sampleModel',
required: false,
isBtn: false,
isUpload: false,
},
{
+ text: '生产厂家',
+ value: 'manufacturer',
+ required: false,
+ isBtn: false,
+ isUpload: false,
+ },
+ {
text: '附件',
value: 'appendixDescn',
required: false,
@@ -150,6 +164,7 @@
if (checkCertificateList()) {
setAllRowReadable()
list.value.push({
+ manufacturer: '',
appearanceInspect: '',
appendixDescn: '',
measureContent: '',
@@ -189,7 +204,7 @@
const selectRow = ref()
// 单选设备
const select = (text: string, index: any) => {
- if (text === '统一编号') {
+ if (text === '设备名称') {
deviceSingeRef.value.initDialog()
selectRow.value = index
}
@@ -206,22 +221,26 @@
if (Array.isArray(device)) {
// 多选
device.forEach((item) => {
- list.value.push({
- appearanceInspect: '',
- appendixDescn: '',
- measureContent: '',
- sampleModel: item.model,
- sampleNo: item.equipmentNo,
- sampleId: item.id,
- sampleName: item.equipmentName,
- specialRequire: '',
- editable: true,
- })
+ if (!list.value.filter((c: any) => c.sampleId === item.id).length) {
+ list.value.push({
+ appearanceInspect: '',
+ appendixDescn: '',
+ measureContent: '',
+ manufacturer: item.manufacturer,
+ sampleModel: item.model,
+ sampleNo: item.equipmentNo,
+ sampleId: item.id,
+ sampleName: item.equipmentName,
+ specialRequire: '',
+ editable: false,
+ })
+ }
})
}
else {
// 单选
const row = {
+ manufacturer: device.manufacturer,
appearanceInspect: '',
appendixDescn: '',
measureContent: '',
@@ -230,7 +249,7 @@
sampleNo: device.equipmentNo,
sampleName: device.equipmentName,
specialRequire: '',
- editable: true,
+ editable: false,
}
list.value[selectRow.value] = row
}
@@ -247,6 +266,7 @@
})
fd.append('multipartFile', event.target.files[0])
uploadApi(fd).then((res) => {
+ fileRef.value.value = ''
if (res.code === 200) {
list.value[currentIndex.value].appendixDescn = res.data[0]
// 重置当前验证
@@ -261,9 +281,12 @@
})
}
}
+const uploadRef = ref()
const upload = (index: number) => {
currentIndex.value = index
+ // window.onclick()
fileRef.value.click()
+ // deviceRef.value?.click()
}
const $router = useRouter()
const deviceDetail = (row: any) => {
@@ -338,10 +361,12 @@
-
+
+
+
diff --git a/src/views/tested/device/model/components/edit.vue b/src/views/tested/device/model/components/edit.vue
index 86765f3..0db38a6 100644
--- a/src/views/tested/device/model/components/edit.vue
+++ b/src/views/tested/device/model/components/edit.vue
@@ -39,6 +39,7 @@
remark: '', // 备注
technicalTargetList: [], // 技术指标
updateTime: '',
+ equipmentType: '',
}) // 表单
// 设备名称验证规则
const checkCycle = (rule: any, value: any, callback: any) => {
@@ -53,7 +54,8 @@
}
}
const rules = ref
({
- equipmentName: [{ required: true, message: '设备名称名称必填', trigger: ['blur', 'change'] }],
+ equipmentName: [{ required: true, message: '设备名称必填', trigger: ['blur', 'change'] }],
+ equipmentType: [{ required: true, message: '设备分类必选', trigger: ['blur', 'change'] }],
category: [{ required: true, message: '设备分类必选', trigger: ['blur', 'change'] }],
model: [{ required: true, message: '规格型号必填', trigger: ['blur', 'change'] }],
checkCycle: [{ required: true, validator: checkCycle, trigger: ['blur', 'change'] }],
@@ -166,11 +168,17 @@
}
// 设备分类
const deviceTypeList = ref<{ id: string; value: string; name: string }[]>([])
+// 设备类型
+const deviceCateList = ref<{ id: string; value: string; name: string }[]>([])
const fetchSelect = () => {
// 设备分类
getDictByCode('eqptDeviceType').then((res) => {
deviceTypeList.value = res.data
})
+ // 设备类型
+ getDictByCode('eqptDeviceCategory').then((res) => {
+ deviceCateList.value = res.data
+ })
// 设备名称
// getDeviceNameList().then((res) => {
// console.log(res.data, '设备名称')
@@ -212,8 +220,14 @@
>
-
+
+
+
+
+
+
diff --git a/src/views/tested/device/model/components/list.vue b/src/views/tested/device/model/components/list.vue
index f3a4eca..4dd6dac 100644
--- a/src/views/tested/device/model/components/list.vue
+++ b/src/views/tested/device/model/components/list.vue
@@ -5,9 +5,11 @@
import { deleteModel, exportModelList, getDeviceNameList, getModelAllList, getModelByname, getModelList } from '@/api/eqpt/device/model'
import { exportFile } from '@/utils/exportUtils'
import { getDictByCode } from '@/api/system/dict'
+import { getPhotoUrl } from '@/api/system/tool'
+import { download } from '@/utils/download'
const { proxy } = getCurrentInstance() as any
const listQuery = reactive({
- // type: '',
+ equipmentType: '',
category: '',
equipmentName: '',
helpInstruction: '',
@@ -17,8 +19,8 @@
})
const columns = ref([
{
- text: '规格型号编号',
- value: 'modelNo',
+ text: '设备类型',
+ value: 'equipmentTypeName',
align: 'center',
},
{
@@ -46,16 +48,16 @@
value: 'checkCycle',
align: 'center',
},
- {
- text: '使用说明书',
- value: 'instructionsFile',
- align: 'center',
- },
- {
- text: '备注',
- value: 'remark',
- align: 'center',
- },
+ // {
+ // text: '使用说明书',
+ // value: 'instructionsFile',
+ // align: 'center',
+ // },
+ // {
+ // text: '备注',
+ // value: 'remark',
+ // align: 'center',
+ // },
])
const list = ref([])
const total = ref(0)
@@ -152,6 +154,13 @@
ElMessage.warning('无可导出内容')
}
}
+// 打开文件
+const clickFile = (fileName: string) => {
+ getPhotoUrl(fileName).then((res) => {
+ // console.log(res.data, 'url')
+ download(res.data, fileName)
+ })
+}
// 获取下拉列表相关
// 设备名称
const deviceNameList = ref([])
@@ -174,7 +183,7 @@
deviceCategoryList.value = res.data
})
// 设备名称
- getDeviceNameList().then((res) => {
+ getDeviceNameList({ equipmentType: '' }).then((res) => {
deviceNameList.value = res.data
})
// 规格型号及辅助字段
@@ -186,13 +195,24 @@
}
fetchSelect()
// 监听设备分类
-// watch(() => listQuery.type, () => {
-// listQuery.helpInstruction = ''
-// listQuery.model = ''
-// listQuery.helpInstruction = ''
-// }, {
-// deep: true,
-// })
+watch(() => listQuery.equipmentType, (newVal) => {
+ listQuery.equipmentName = ''
+ listQuery.model = ''
+ listQuery.helpInstruction = ''
+ if (newVal) {
+ // 设备名称
+ getDeviceNameList({ equipmentType: newVal }).then((res) => {
+ deviceNameList.value = res.data
+ })
+ }
+ else {
+ getDeviceNameList({ equipmentType: '' }).then((res) => {
+ deviceNameList.value = res.data
+ })
+ }
+}, {
+ deep: true,
+})
// 监听设备名称下拉框,修改规格型号和辅助字段
watch(() => listQuery.equipmentName, (newVal) => {
listQuery.helpInstruction = ''
@@ -224,7 +244,7 @@
})
// 重置
const reset = () => {
- // listQuery.type = ''
+ listQuery.equipmentType = ''
listQuery.category = ''
listQuery.equipmentName = ''
listQuery.helpInstruction = ''
@@ -241,11 +261,11 @@
-
+
@@ -281,6 +301,18 @@
:is-showmulti-select="true" :is-multi="true" @change="changePage" @multi-select="multiSelect"
>
+
+
+
+ {{ scope.row.instructionsFile }}
+
+
+
+
+
+ {{ scope.row.remark }}
+
+