@@ -289,7 +107,7 @@
{{ buttonType === '详情' ? '打印' : '提交' }}
@@ -298,405 +116,17 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 上传
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
@@ -719,14 +149,8 @@
}
}
-.info-content {
- margin-top: 10px;
- padding: 30px;
- border-radius: 10px;
+.body {
background-color: #fff;
-}
-
-:deep .el-input .el-input--default .el-input--suffix {
- width: 200px !important;
+ margin-top: 10px;
}
diff --git a/src/components.d.ts b/src/components.d.ts
index fea7d82..6e85584 100644
--- a/src/components.d.ts
+++ b/src/components.d.ts
@@ -16,6 +16,7 @@
BarChartHorizontal: typeof import('./components/Echart/BarChartHorizontal.vue')['default']
BarChartVertical: typeof import('./components/Echart/BarChartVertical.vue')['default']
BatchActionBar: typeof import('./components/BatchActionBar/index.vue')['default']
+ Benchcol: typeof import('./components/benchcol/index.vue')['default']
BenchCol: typeof import('./components/benchCol/index.vue')['default']
ConditionDrawer: typeof import('./components/drawer/conditionDrawer.vue')['default']
copy: typeof import('./components/DetailPage/index copy.vue')['default']
diff --git a/src/views/device/standardEquipment/cancelApply.vue b/src/views/device/standardEquipment/cancelApply.vue
index c093520..1e50f44 100644
--- a/src/views/device/standardEquipment/cancelApply.vue
+++ b/src/views/device/standardEquipment/cancelApply.vue
@@ -1,10 +1,11 @@
- 撤销申请
+
diff --git a/src/views/device/standardEquipment/changeApply.vue b/src/views/device/standardEquipment/changeApply.vue
index 0762330..6625970 100644
--- a/src/views/device/standardEquipment/changeApply.vue
+++ b/src/views/device/standardEquipment/changeApply.vue
@@ -1,10 +1,11 @@
-
- 更换申请
+
diff --git a/src/views/device/standardEquipment/checkApply.vue b/src/views/device/standardEquipment/checkApply.vue
index 9cadc01..6625970 100644
--- a/src/views/device/standardEquipment/checkApply.vue
+++ b/src/views/device/standardEquipment/checkApply.vue
@@ -1,10 +1,11 @@
- 复查申请
+
diff --git a/src/views/device/standardEquipment/components/applyList.vue b/src/views/device/standardEquipment/components/applyList.vue
new file mode 100644
index 0000000..45be74a
--- /dev/null
+++ b/src/views/device/standardEquipment/components/applyList.vue
@@ -0,0 +1,65 @@
+
+
+
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/all.vue b/src/views/device/standardEquipment/components/listApply/all.vue
new file mode 100644
index 0000000..d124307
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/all.vue
@@ -0,0 +1,17 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/approvalPending.vue b/src/views/device/standardEquipment/components/listApply/approvalPending.vue
new file mode 100644
index 0000000..8a7a8bc
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/approvalPending.vue
@@ -0,0 +1,16 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/canceled.vue b/src/views/device/standardEquipment/components/listApply/canceled.vue
new file mode 100644
index 0000000..3b9657c
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/canceled.vue
@@ -0,0 +1,15 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/draftBox.vue b/src/views/device/standardEquipment/components/listApply/draftBox.vue
new file mode 100644
index 0000000..43d7b75
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/draftBox.vue
@@ -0,0 +1,15 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue b/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue
new file mode 100644
index 0000000..c13f95a
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue
@@ -0,0 +1,17 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/listPage.vue b/src/views/device/standardEquipment/components/listApply/listPage.vue
new file mode 100644
index 0000000..5133627
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/listPage.vue
@@ -0,0 +1,493 @@
+
+
+
+
+
+
+
+
+
+
+
+ 同意
+
+
+ 驳回
+
+
+ 拒绝
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 提交
+
+
+ 取消
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/listPageAdd.vue b/src/views/device/standardEquipment/components/listApply/listPageAdd.vue
new file mode 100644
index 0000000..eb506ec
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/listPageAdd.vue
@@ -0,0 +1,1021 @@
+
+
+
+
+
+
+ 基本信息
+
+
+
+ {{ item }}
+
+
+ 关闭
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 上传
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 完成
+
+
+
+
+
+
+
+ 同意
+
+
+ 驳回
+
+
+ 拒绝
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 提交
+
+
+ 取消
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/notPass.vue b/src/views/device/standardEquipment/components/listApply/notPass.vue
new file mode 100644
index 0000000..5a4b817
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/notPass.vue
@@ -0,0 +1,10 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/passed.vue b/src/views/device/standardEquipment/components/listApply/passed.vue
new file mode 100644
index 0000000..31cd21c
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/passed.vue
@@ -0,0 +1,10 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/addRow.vue b/src/views/device/standardEquipment/components/standardList/addRow.vue
new file mode 100644
index 0000000..9f2bf81
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/addRow.vue
@@ -0,0 +1,270 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/baseInfo.vue b/src/views/device/standardEquipment/components/standardList/baseInfo.vue
new file mode 100644
index 0000000..c47ad1d
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/baseInfo.vue
@@ -0,0 +1,675 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 上传
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/temptable.vue b/src/views/device/standardEquipment/components/standardList/temptable.vue
new file mode 100644
index 0000000..20eb800
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/temptable.vue
@@ -0,0 +1,387 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ (searchQuery.offset - 1) * searchQuery.limit + scope.$index + 1 }}
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardListAdd.vue b/src/views/device/standardEquipment/components/standardListAdd.vue
index ea13629..348bb41 100644
--- a/src/views/device/standardEquipment/components/standardListAdd.vue
+++ b/src/views/device/standardEquipment/components/standardListAdd.vue
@@ -3,6 +3,8 @@
import { ElMessage, ElMessageBox } from 'element-plus'
import type { FormInstance, UploadProps, UploadUserFile } from 'element-plus'
import type { IOptions } from '../standard_interface'
+import baseInfo from './standardList/baseInfo.vue'
+import table from './standardList/temptable.vue'
import { getStaffList } from '@/api/measure/person'
import { getTypeSelect } from '@/api/system/price'
import { getStandardLisUpdate, getStandardListAdd, getStandardListDetail, getUsersDept } from '@/api/device/standard'
@@ -17,188 +19,35 @@
default: '',
},
})
-const emit = defineEmits(['close']) // 关闭
-const ruleFormRef = ref
()
-// 逻辑代码
-const formInline = ref({
- assessDate: '',
- assessmentUnit: '',
- category: null,
- categoryName: '',
- constructionStandardProject: '',
- constructionStandardUnitName: '',
- contactInfo: '',
- createTime: null,
- createUser: null,
- id: '',
- isDel: null,
- laboratoryOwner: null,
- laboratoryOwnerContact: null,
- laboratoryOwnerName: null,
- managerState: null,
- managerStateName: '',
- measureMajor: null,
- fileList: [],
- measureMajorName: '',
- mesureRange: '',
- organizeNo: '',
- preparationDate: '',
- projectNo: '',
- remark: '',
- standardHumidity: null,
- standardLaboratory: null,
- standardLaboratoryName: '',
- standardLevel: null,
- standardLevelName: '',
- standardName: '',
- standardNo: '',
- standardOwner: null,
- standardOwnerName: '',
- standardTemperature: null,
- totalInvestment: null,
- transmitRange: null,
- transmitRangeName: '',
- uncertainty: '',
- updateTime: null,
- version: null,
-})
-const checkTypeOptions = ref([])
-
-const standardOwnerOptions = ref([]) // 标准负责人
-const fileList = ref([]) // 文件对象数组
-const measureMajorList = ref([]) // 计量专业下拉框
-const standardManagerStateList = ref([]) // 管理状态下拉框
-const standardLevelList = ref([]) // 标准等级下拉框
-const transmitRangeList = ref([]) // 传递范围下拉框
-// 标准所在部门下拉框
-const standardUsersDeptList = ref([])
-// 获取下拉框
-const getSelectList = (code: string) => {
- getTypeSelect(code).then((res) => {
- if (code === 'measureMajor') {
- measureMajorList.value = res.data
- }
- else if (code === 'standardManagerState') {
- standardManagerStateList.value = res.data
- }
- else if (code === 'standardLevel') {
- standardLevelList.value = res.data
- }
- else if (code === 'transmitRange') {
- transmitRangeList.value = res.data
- }
- else if (code === 'standardCategory') {
- checkTypeOptions.value = res.data
- }
- })
+const emit = defineEmits(['close'])
+// 定义数据
+const formInline = ref({})
+// 关闭
+interface menuType {
+ name: string
+ comp: any
}
-getSelectList('measureMajor') // 获取计量专业下拉框
-getSelectList('standardManagerState') // 获取管理状态下拉框
-getSelectList('standardLevel') // 获取标准等级下拉框
-getSelectList('transmitRange') // 获取传递范围下拉框
-getSelectList('standardCategory') // 获取类别下拉框
-// 获取部门信息
-getUsersDept({
- createTime: '',
- director: '',
- meterMajor: '',
- organizeName: '',
- organizeNo: '',
- organizeType: '2',
- pdeptId: null,
- offset: 1,
- limit: 999999,
-}).then((res) => {
- standardUsersDeptList.value = res.data.rows
+const menu = shallowRef([
+ { name: '基本信息', comp: baseInfo },
+ { name: '计量人员', comp: table },
+ { name: '标准配套设备', comp: table },
+ { name: '检定规程', comp: table },
+ { name: '重复性考核记录', comp: table },
+ { name: '稳定性考核记录', comp: table },
+ { name: '证书管理', comp: table },
+])
+const currentCompRef = ref()
+const current = ref('基本信息')
+const currentComp = shallowRef(baseInfo)
+watch(current, (newValue) => {
+ currentComp.value = menu.value.filter(item => item.name === newValue)[0].comp
})
-// 获取到标准负责人数组
-const getStandardOwnerOptions = () => {
- const params = {
- staffNo: '', // 人员编号
- name: '', // 姓名
- deptId: '', // 工作部门
- major: '', // 计量专业
- verifierCertificateNo: '', // 证书号
- certificateStatus: '', // 证书状态
- limit: 100000,
- offset: 1,
- }
- getStaffList(params).then((res) => {
- standardOwnerOptions.value = res.data.records
- })
-}
-getStandardOwnerOptions()
// 关闭
const close = () => {
emit('close')
}
-const rules = ref({
- standardName: [{ required: true, message: '标准名称不能为空', trigger: 'blur' }],
- projectNo: [{ required: true, message: '项目编号不能为空', trigger: 'blur' }],
- constructionStandardProject: [{ required: true, message: '建标项目不能为空', trigger: 'blur' }],
- organizeNo: [{ required: true, message: '组织机构代码不能为空', trigger: 'blur' }],
- constructionStandardUnitName: [{ required: true, message: '建标单位名称不能为空', trigger: 'blur' }],
- standardOwner: [{ required: true, message: '标准负责人不能为空', trigger: 'blur' }],
- contactInfo: [{ required: true, message: '联系方式不能为空', trigger: 'blur' }],
- category: [{ required: true, message: '类 别不能为空', trigger: 'blur' }],
- standardLevel: [{ required: true, message: '标准等级不能为空', trigger: 'blur' }],
- transmitRange: [{ required: true, message: '传递范围不能为空', trigger: 'blur' }],
- preparationDate: [{ required: true, message: '筹建日期不能为空', trigger: 'blur' }],
- managerState: [{ required: true, message: '管理状态不能为空', trigger: 'blur' }],
- measureMajor: [{ required: true, message: '计量专业不能为空', trigger: 'blur' }],
- assessmentUnit: [{ required: true, message: '考核单位不能为空', trigger: 'blur' }],
- assessDate: [{ required: true, message: '考核日期不能为空', trigger: 'blur' }],
- uncertainty: [{ required: true, message: '不确定度不能为空', trigger: 'blur' }],
- mesureRange: [{ required: true, message: '测量范围不能为空', trigger: 'blur' }],
- standardTemperature: [{ required: true, message: '标准温度不能为空', trigger: 'blur' },
- { pattern: /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/, message: '标准温度只能为数字', trigger: 'blur' }],
- standardHumidity: [{ required: true, message: '标准湿度不能为空', trigger: 'blur' },
- { pattern: /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/, message: '标准湿度只能为数字', trigger: 'blur' }],
-}) // 表单验证规则
-// 上传请求
-const uploadQuarterlyEvaluateFile = (file: File) => {
- const fd = new FormData()
- fd.append('multipartFile', file.file)
- UploadFile(fd).then((res) => {
- if (res.code === 200) {
- formInline.value.fileList = res.data
- // 重置当前验证
- ElMessage.success('文件上传成功')
- }
- })
-}
-const handleExceed: UploadProps['onExceed'] = (files, uploadFiles) => {
- ElMessage.warning('只能上传一个文件')
-}
-// 移除时触发
-const beforeRemove: UploadProps['beforeRemove'] = (uploadFile, uploadFiles) => {
- return ElMessageBox.confirm(
- `确认移除${uploadFile.name}文件吗 ?`,
- ).then(
- () => true,
- () => false,
-
- )
-}
-// 点击文件预览
-const uploadShow = (e: any) => {
- const URL = window.URL || window.webkitURL
- window.open(URL.createObjectURL(e.raw))
-}
-const testForm = ref({
- fileList: [],
- fileContent: '',
-})
-const handleFileChange = (files: any, fileList: any) => {
- testForm.value.fileList = fileList
- const reader = new FileReader()
- reader.readAsText(files.raw)
- // reader.onload = (e) => {
- // testForm.value.fileContent = e.target!.result?.replace(
- // /\n|\r\n/g,
- // '
',
- // )
- // }
+const setData = (newValue: object) => {
+ formInline.value = newValue
}
// 编辑获取详情的提交按钮
const submitFormDetail = () => {
@@ -223,60 +72,29 @@
}
}
// 提交
-const submitForm = (formEl: FormInstance | undefined) => {
- if (!formEl) { return }
+const submitForm = () => {
if (props.buttonType === '详情') { return submitFormDetail() }
- formEl.validate((valid, fields) => {
- if (valid) {
- ElMessageBox.confirm(
- '确认提交吗?',
- '提示',
- {
- confirmButtonText: '确认',
- cancelButtonText: '取消',
- type: 'warning',
- },
- ).then(() => {
- props.buttonType === ''
- ? getStandardListAdd(formInline.value).then((res) => {
- if (res.code === 200) {
- close()
- }
- })
- : submitFormDetail()
- })
- }
- })
-}
-// 标准实验室发生改变row类型
-interface rowReturn {
- phone: string
- director: string
-}
-// 标准实验室发生改变
-const changeDeptList = (row: object) => {
- formInline.value.laboratoryOwnerContact = row.phone
- formInline.value.laboratoryOwner = row.director
-}
-// 标准实验室清空时
-const clearDeptList = () => {
- formInline.value.laboratoryOwnerContact = null
- formInline.value.laboratoryOwner = null
-}
-// 获取详情信息
-const getInfo = () => {
- getStandardListDetail({ id: props.infoId }).then((res) => {
- Object.keys(res.data).map((item) => {
- if (typeof (res.data[item]) === 'number') {
- res.data[item] = res.data[item].toString()
- }
+ ElMessageBox.confirm(
+ '确认提交吗?',
+ '提示',
+ {
+ confirmButtonText: '确认',
+ cancelButtonText: '取消',
+ type: 'warning',
+ },
+ ).then(() => {
+ current.value = '基本信息'
+ currentCompRef.value.submitForm().validate().then(() => {
+ props.buttonType === ''
+ ? getStandardListAdd(formInline.value).then((res) => {
+ if (res.code === 200) {
+ close()
+ }
+ })
+ : submitFormDetail()
})
- formInline.value = res.data
})
}
-if (props.buttonType !== '') {
- getInfo()
-}
@@ -289,7 +107,7 @@
{{ buttonType === '详情' ? '打印' : '提交' }}
@@ -298,405 +116,17 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 上传
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
@@ -719,14 +149,8 @@
}
}
-.info-content {
- margin-top: 10px;
- padding: 30px;
- border-radius: 10px;
+.body {
background-color: #fff;
-}
-
-:deep .el-input .el-input--default .el-input--suffix {
- width: 200px !important;
+ margin-top: 10px;
}
diff --git a/src/views/device/standardEquipment/expirationRemind.vue b/src/views/device/standardEquipment/expirationRemind.vue
index 35786b2..1826c22 100644
--- a/src/views/device/standardEquipment/expirationRemind.vue
+++ b/src/views/device/standardEquipment/expirationRemind.vue
@@ -26,39 +26,47 @@
text: '标准代码',
value: 'standardNo',
width: '160',
+ align: 'center',
},
{
text: '标准名称',
value: 'standardName',
width: '90',
+ align: 'center',
},
{
text: '管理状态',
value: 'managerStateName',
width: '100',
+ align: 'center',
},
{
text: '标准所在部门',
value: 'standardLaboratoryName',
width: '120',
+ align: 'center',
},
{
text: '负责人',
value: 'standardOwnerName',
+ align: 'center',
},
{
text: '建标项目',
value: 'standardOwnerName',
+ align: 'center',
},
{
text: '筹建日期',
value: 'preparationDate',
width: '160',
+ align: 'center',
},
{
text: '有效日期',
value: 'preparationDate',
width: '160',
+ align: 'center',
},
])
const total = ref(0)
@@ -326,12 +334,8 @@
-
- 导出
-
-
- 打印
-
+
+
- 编辑
+ 详情
- 详情
+ 提醒
+import applyList from './components/applyList.vue'
// 逻辑代码
- 撤销申请
+
diff --git a/src/views/device/standardEquipment/changeApply.vue b/src/views/device/standardEquipment/changeApply.vue
index 0762330..6625970 100644
--- a/src/views/device/standardEquipment/changeApply.vue
+++ b/src/views/device/standardEquipment/changeApply.vue
@@ -1,10 +1,11 @@
-
- 更换申请
+
diff --git a/src/views/device/standardEquipment/checkApply.vue b/src/views/device/standardEquipment/checkApply.vue
index 9cadc01..6625970 100644
--- a/src/views/device/standardEquipment/checkApply.vue
+++ b/src/views/device/standardEquipment/checkApply.vue
@@ -1,10 +1,11 @@
- 复查申请
+
diff --git a/src/views/device/standardEquipment/components/applyList.vue b/src/views/device/standardEquipment/components/applyList.vue
new file mode 100644
index 0000000..45be74a
--- /dev/null
+++ b/src/views/device/standardEquipment/components/applyList.vue
@@ -0,0 +1,65 @@
+
+
+
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/all.vue b/src/views/device/standardEquipment/components/listApply/all.vue
new file mode 100644
index 0000000..d124307
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/all.vue
@@ -0,0 +1,17 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/approvalPending.vue b/src/views/device/standardEquipment/components/listApply/approvalPending.vue
new file mode 100644
index 0000000..8a7a8bc
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/approvalPending.vue
@@ -0,0 +1,16 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/canceled.vue b/src/views/device/standardEquipment/components/listApply/canceled.vue
new file mode 100644
index 0000000..3b9657c
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/canceled.vue
@@ -0,0 +1,15 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/draftBox.vue b/src/views/device/standardEquipment/components/listApply/draftBox.vue
new file mode 100644
index 0000000..43d7b75
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/draftBox.vue
@@ -0,0 +1,15 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue b/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue
new file mode 100644
index 0000000..c13f95a
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue
@@ -0,0 +1,17 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/listPage.vue b/src/views/device/standardEquipment/components/listApply/listPage.vue
new file mode 100644
index 0000000..5133627
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/listPage.vue
@@ -0,0 +1,493 @@
+
+
+
+
+
+
+
+
+
+
+
+ 同意
+
+
+ 驳回
+
+
+ 拒绝
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 提交
+
+
+ 取消
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/listPageAdd.vue b/src/views/device/standardEquipment/components/listApply/listPageAdd.vue
new file mode 100644
index 0000000..eb506ec
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/listPageAdd.vue
@@ -0,0 +1,1021 @@
+
+
+
+
+
+
+ 基本信息
+
+
+
+ {{ item }}
+
+
+ 关闭
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 上传
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 完成
+
+
+
+
+
+
+
+ 同意
+
+
+ 驳回
+
+
+ 拒绝
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 提交
+
+
+ 取消
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/notPass.vue b/src/views/device/standardEquipment/components/listApply/notPass.vue
new file mode 100644
index 0000000..5a4b817
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/notPass.vue
@@ -0,0 +1,10 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/passed.vue b/src/views/device/standardEquipment/components/listApply/passed.vue
new file mode 100644
index 0000000..31cd21c
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/passed.vue
@@ -0,0 +1,10 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/addRow.vue b/src/views/device/standardEquipment/components/standardList/addRow.vue
new file mode 100644
index 0000000..9f2bf81
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/addRow.vue
@@ -0,0 +1,270 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/baseInfo.vue b/src/views/device/standardEquipment/components/standardList/baseInfo.vue
new file mode 100644
index 0000000..c47ad1d
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/baseInfo.vue
@@ -0,0 +1,675 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 上传
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/temptable.vue b/src/views/device/standardEquipment/components/standardList/temptable.vue
new file mode 100644
index 0000000..20eb800
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/temptable.vue
@@ -0,0 +1,387 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ (searchQuery.offset - 1) * searchQuery.limit + scope.$index + 1 }}
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardListAdd.vue b/src/views/device/standardEquipment/components/standardListAdd.vue
index ea13629..348bb41 100644
--- a/src/views/device/standardEquipment/components/standardListAdd.vue
+++ b/src/views/device/standardEquipment/components/standardListAdd.vue
@@ -3,6 +3,8 @@
import { ElMessage, ElMessageBox } from 'element-plus'
import type { FormInstance, UploadProps, UploadUserFile } from 'element-plus'
import type { IOptions } from '../standard_interface'
+import baseInfo from './standardList/baseInfo.vue'
+import table from './standardList/temptable.vue'
import { getStaffList } from '@/api/measure/person'
import { getTypeSelect } from '@/api/system/price'
import { getStandardLisUpdate, getStandardListAdd, getStandardListDetail, getUsersDept } from '@/api/device/standard'
@@ -17,188 +19,35 @@
default: '',
},
})
-const emit = defineEmits(['close']) // 关闭
-const ruleFormRef = ref()
-// 逻辑代码
-const formInline = ref({
- assessDate: '',
- assessmentUnit: '',
- category: null,
- categoryName: '',
- constructionStandardProject: '',
- constructionStandardUnitName: '',
- contactInfo: '',
- createTime: null,
- createUser: null,
- id: '',
- isDel: null,
- laboratoryOwner: null,
- laboratoryOwnerContact: null,
- laboratoryOwnerName: null,
- managerState: null,
- managerStateName: '',
- measureMajor: null,
- fileList: [],
- measureMajorName: '',
- mesureRange: '',
- organizeNo: '',
- preparationDate: '',
- projectNo: '',
- remark: '',
- standardHumidity: null,
- standardLaboratory: null,
- standardLaboratoryName: '',
- standardLevel: null,
- standardLevelName: '',
- standardName: '',
- standardNo: '',
- standardOwner: null,
- standardOwnerName: '',
- standardTemperature: null,
- totalInvestment: null,
- transmitRange: null,
- transmitRangeName: '',
- uncertainty: '',
- updateTime: null,
- version: null,
-})
-const checkTypeOptions = ref([])
-
-const standardOwnerOptions = ref([]) // 标准负责人
-const fileList = ref([]) // 文件对象数组
-const measureMajorList = ref([]) // 计量专业下拉框
-const standardManagerStateList = ref([]) // 管理状态下拉框
-const standardLevelList = ref([]) // 标准等级下拉框
-const transmitRangeList = ref([]) // 传递范围下拉框
-// 标准所在部门下拉框
-const standardUsersDeptList = ref([])
-// 获取下拉框
-const getSelectList = (code: string) => {
- getTypeSelect(code).then((res) => {
- if (code === 'measureMajor') {
- measureMajorList.value = res.data
- }
- else if (code === 'standardManagerState') {
- standardManagerStateList.value = res.data
- }
- else if (code === 'standardLevel') {
- standardLevelList.value = res.data
- }
- else if (code === 'transmitRange') {
- transmitRangeList.value = res.data
- }
- else if (code === 'standardCategory') {
- checkTypeOptions.value = res.data
- }
- })
+const emit = defineEmits(['close'])
+// 定义数据
+const formInline = ref({})
+// 关闭
+interface menuType {
+ name: string
+ comp: any
}
-getSelectList('measureMajor') // 获取计量专业下拉框
-getSelectList('standardManagerState') // 获取管理状态下拉框
-getSelectList('standardLevel') // 获取标准等级下拉框
-getSelectList('transmitRange') // 获取传递范围下拉框
-getSelectList('standardCategory') // 获取类别下拉框
-// 获取部门信息
-getUsersDept({
- createTime: '',
- director: '',
- meterMajor: '',
- organizeName: '',
- organizeNo: '',
- organizeType: '2',
- pdeptId: null,
- offset: 1,
- limit: 999999,
-}).then((res) => {
- standardUsersDeptList.value = res.data.rows
+const menu = shallowRef([
+ { name: '基本信息', comp: baseInfo },
+ { name: '计量人员', comp: table },
+ { name: '标准配套设备', comp: table },
+ { name: '检定规程', comp: table },
+ { name: '重复性考核记录', comp: table },
+ { name: '稳定性考核记录', comp: table },
+ { name: '证书管理', comp: table },
+])
+const currentCompRef = ref()
+const current = ref('基本信息')
+const currentComp = shallowRef(baseInfo)
+watch(current, (newValue) => {
+ currentComp.value = menu.value.filter(item => item.name === newValue)[0].comp
})
-// 获取到标准负责人数组
-const getStandardOwnerOptions = () => {
- const params = {
- staffNo: '', // 人员编号
- name: '', // 姓名
- deptId: '', // 工作部门
- major: '', // 计量专业
- verifierCertificateNo: '', // 证书号
- certificateStatus: '', // 证书状态
- limit: 100000,
- offset: 1,
- }
- getStaffList(params).then((res) => {
- standardOwnerOptions.value = res.data.records
- })
-}
-getStandardOwnerOptions()
// 关闭
const close = () => {
emit('close')
}
-const rules = ref({
- standardName: [{ required: true, message: '标准名称不能为空', trigger: 'blur' }],
- projectNo: [{ required: true, message: '项目编号不能为空', trigger: 'blur' }],
- constructionStandardProject: [{ required: true, message: '建标项目不能为空', trigger: 'blur' }],
- organizeNo: [{ required: true, message: '组织机构代码不能为空', trigger: 'blur' }],
- constructionStandardUnitName: [{ required: true, message: '建标单位名称不能为空', trigger: 'blur' }],
- standardOwner: [{ required: true, message: '标准负责人不能为空', trigger: 'blur' }],
- contactInfo: [{ required: true, message: '联系方式不能为空', trigger: 'blur' }],
- category: [{ required: true, message: '类 别不能为空', trigger: 'blur' }],
- standardLevel: [{ required: true, message: '标准等级不能为空', trigger: 'blur' }],
- transmitRange: [{ required: true, message: '传递范围不能为空', trigger: 'blur' }],
- preparationDate: [{ required: true, message: '筹建日期不能为空', trigger: 'blur' }],
- managerState: [{ required: true, message: '管理状态不能为空', trigger: 'blur' }],
- measureMajor: [{ required: true, message: '计量专业不能为空', trigger: 'blur' }],
- assessmentUnit: [{ required: true, message: '考核单位不能为空', trigger: 'blur' }],
- assessDate: [{ required: true, message: '考核日期不能为空', trigger: 'blur' }],
- uncertainty: [{ required: true, message: '不确定度不能为空', trigger: 'blur' }],
- mesureRange: [{ required: true, message: '测量范围不能为空', trigger: 'blur' }],
- standardTemperature: [{ required: true, message: '标准温度不能为空', trigger: 'blur' },
- { pattern: /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/, message: '标准温度只能为数字', trigger: 'blur' }],
- standardHumidity: [{ required: true, message: '标准湿度不能为空', trigger: 'blur' },
- { pattern: /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/, message: '标准湿度只能为数字', trigger: 'blur' }],
-}) // 表单验证规则
-// 上传请求
-const uploadQuarterlyEvaluateFile = (file: File) => {
- const fd = new FormData()
- fd.append('multipartFile', file.file)
- UploadFile(fd).then((res) => {
- if (res.code === 200) {
- formInline.value.fileList = res.data
- // 重置当前验证
- ElMessage.success('文件上传成功')
- }
- })
-}
-const handleExceed: UploadProps['onExceed'] = (files, uploadFiles) => {
- ElMessage.warning('只能上传一个文件')
-}
-// 移除时触发
-const beforeRemove: UploadProps['beforeRemove'] = (uploadFile, uploadFiles) => {
- return ElMessageBox.confirm(
- `确认移除${uploadFile.name}文件吗 ?`,
- ).then(
- () => true,
- () => false,
-
- )
-}
-// 点击文件预览
-const uploadShow = (e: any) => {
- const URL = window.URL || window.webkitURL
- window.open(URL.createObjectURL(e.raw))
-}
-const testForm = ref({
- fileList: [],
- fileContent: '',
-})
-const handleFileChange = (files: any, fileList: any) => {
- testForm.value.fileList = fileList
- const reader = new FileReader()
- reader.readAsText(files.raw)
- // reader.onload = (e) => {
- // testForm.value.fileContent = e.target!.result?.replace(
- // /\n|\r\n/g,
- // '
',
- // )
- // }
+const setData = (newValue: object) => {
+ formInline.value = newValue
}
// 编辑获取详情的提交按钮
const submitFormDetail = () => {
@@ -223,60 +72,29 @@
}
}
// 提交
-const submitForm = (formEl: FormInstance | undefined) => {
- if (!formEl) { return }
+const submitForm = () => {
if (props.buttonType === '详情') { return submitFormDetail() }
- formEl.validate((valid, fields) => {
- if (valid) {
- ElMessageBox.confirm(
- '确认提交吗?',
- '提示',
- {
- confirmButtonText: '确认',
- cancelButtonText: '取消',
- type: 'warning',
- },
- ).then(() => {
- props.buttonType === ''
- ? getStandardListAdd(formInline.value).then((res) => {
- if (res.code === 200) {
- close()
- }
- })
- : submitFormDetail()
- })
- }
- })
-}
-// 标准实验室发生改变row类型
-interface rowReturn {
- phone: string
- director: string
-}
-// 标准实验室发生改变
-const changeDeptList = (row: object) => {
- formInline.value.laboratoryOwnerContact = row.phone
- formInline.value.laboratoryOwner = row.director
-}
-// 标准实验室清空时
-const clearDeptList = () => {
- formInline.value.laboratoryOwnerContact = null
- formInline.value.laboratoryOwner = null
-}
-// 获取详情信息
-const getInfo = () => {
- getStandardListDetail({ id: props.infoId }).then((res) => {
- Object.keys(res.data).map((item) => {
- if (typeof (res.data[item]) === 'number') {
- res.data[item] = res.data[item].toString()
- }
+ ElMessageBox.confirm(
+ '确认提交吗?',
+ '提示',
+ {
+ confirmButtonText: '确认',
+ cancelButtonText: '取消',
+ type: 'warning',
+ },
+ ).then(() => {
+ current.value = '基本信息'
+ currentCompRef.value.submitForm().validate().then(() => {
+ props.buttonType === ''
+ ? getStandardListAdd(formInline.value).then((res) => {
+ if (res.code === 200) {
+ close()
+ }
+ })
+ : submitFormDetail()
})
- formInline.value = res.data
})
}
-if (props.buttonType !== '') {
- getInfo()
-}
@@ -289,7 +107,7 @@
{{ buttonType === '详情' ? '打印' : '提交' }}
@@ -298,405 +116,17 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 上传
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
@@ -719,14 +149,8 @@
}
}
-.info-content {
- margin-top: 10px;
- padding: 30px;
- border-radius: 10px;
+.body {
background-color: #fff;
-}
-
-:deep .el-input .el-input--default .el-input--suffix {
- width: 200px !important;
+ margin-top: 10px;
}
diff --git a/src/views/device/standardEquipment/expirationRemind.vue b/src/views/device/standardEquipment/expirationRemind.vue
index 35786b2..1826c22 100644
--- a/src/views/device/standardEquipment/expirationRemind.vue
+++ b/src/views/device/standardEquipment/expirationRemind.vue
@@ -26,39 +26,47 @@
text: '标准代码',
value: 'standardNo',
width: '160',
+ align: 'center',
},
{
text: '标准名称',
value: 'standardName',
width: '90',
+ align: 'center',
},
{
text: '管理状态',
value: 'managerStateName',
width: '100',
+ align: 'center',
},
{
text: '标准所在部门',
value: 'standardLaboratoryName',
width: '120',
+ align: 'center',
},
{
text: '负责人',
value: 'standardOwnerName',
+ align: 'center',
},
{
text: '建标项目',
value: 'standardOwnerName',
+ align: 'center',
},
{
text: '筹建日期',
value: 'preparationDate',
width: '160',
+ align: 'center',
},
{
text: '有效日期',
value: 'preparationDate',
width: '160',
+ align: 'center',
},
])
const total = ref(0)
@@ -326,12 +334,8 @@
-
- 导出
-
-
- 打印
-
+
+
- 编辑
+ 详情
- 详情
+ 提醒
+import applyList from './components/applyList.vue'
// 逻辑代码
- 暂停申请
+
diff --git a/src/components.d.ts b/src/components.d.ts
index fea7d82..6e85584 100644
--- a/src/components.d.ts
+++ b/src/components.d.ts
@@ -16,6 +16,7 @@
BarChartHorizontal: typeof import('./components/Echart/BarChartHorizontal.vue')['default']
BarChartVertical: typeof import('./components/Echart/BarChartVertical.vue')['default']
BatchActionBar: typeof import('./components/BatchActionBar/index.vue')['default']
+ Benchcol: typeof import('./components/benchcol/index.vue')['default']
BenchCol: typeof import('./components/benchCol/index.vue')['default']
ConditionDrawer: typeof import('./components/drawer/conditionDrawer.vue')['default']
copy: typeof import('./components/DetailPage/index copy.vue')['default']
diff --git a/src/views/device/standardEquipment/cancelApply.vue b/src/views/device/standardEquipment/cancelApply.vue
index c093520..1e50f44 100644
--- a/src/views/device/standardEquipment/cancelApply.vue
+++ b/src/views/device/standardEquipment/cancelApply.vue
@@ -1,10 +1,11 @@
- 撤销申请
+
diff --git a/src/views/device/standardEquipment/changeApply.vue b/src/views/device/standardEquipment/changeApply.vue
index 0762330..6625970 100644
--- a/src/views/device/standardEquipment/changeApply.vue
+++ b/src/views/device/standardEquipment/changeApply.vue
@@ -1,10 +1,11 @@
-
- 更换申请
+
diff --git a/src/views/device/standardEquipment/checkApply.vue b/src/views/device/standardEquipment/checkApply.vue
index 9cadc01..6625970 100644
--- a/src/views/device/standardEquipment/checkApply.vue
+++ b/src/views/device/standardEquipment/checkApply.vue
@@ -1,10 +1,11 @@
- 复查申请
+
diff --git a/src/views/device/standardEquipment/components/applyList.vue b/src/views/device/standardEquipment/components/applyList.vue
new file mode 100644
index 0000000..45be74a
--- /dev/null
+++ b/src/views/device/standardEquipment/components/applyList.vue
@@ -0,0 +1,65 @@
+
+
+
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/all.vue b/src/views/device/standardEquipment/components/listApply/all.vue
new file mode 100644
index 0000000..d124307
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/all.vue
@@ -0,0 +1,17 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/approvalPending.vue b/src/views/device/standardEquipment/components/listApply/approvalPending.vue
new file mode 100644
index 0000000..8a7a8bc
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/approvalPending.vue
@@ -0,0 +1,16 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/canceled.vue b/src/views/device/standardEquipment/components/listApply/canceled.vue
new file mode 100644
index 0000000..3b9657c
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/canceled.vue
@@ -0,0 +1,15 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/draftBox.vue b/src/views/device/standardEquipment/components/listApply/draftBox.vue
new file mode 100644
index 0000000..43d7b75
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/draftBox.vue
@@ -0,0 +1,15 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue b/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue
new file mode 100644
index 0000000..c13f95a
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue
@@ -0,0 +1,17 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/listPage.vue b/src/views/device/standardEquipment/components/listApply/listPage.vue
new file mode 100644
index 0000000..5133627
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/listPage.vue
@@ -0,0 +1,493 @@
+
+
+
+
+
+
+
+
+
+
+
+ 同意
+
+
+ 驳回
+
+
+ 拒绝
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 提交
+
+
+ 取消
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/listPageAdd.vue b/src/views/device/standardEquipment/components/listApply/listPageAdd.vue
new file mode 100644
index 0000000..eb506ec
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/listPageAdd.vue
@@ -0,0 +1,1021 @@
+
+
+
+
+
+
+ 基本信息
+
+
+
+ {{ item }}
+
+
+ 关闭
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 上传
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 完成
+
+
+
+
+
+
+
+ 同意
+
+
+ 驳回
+
+
+ 拒绝
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 提交
+
+
+ 取消
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/notPass.vue b/src/views/device/standardEquipment/components/listApply/notPass.vue
new file mode 100644
index 0000000..5a4b817
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/notPass.vue
@@ -0,0 +1,10 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/passed.vue b/src/views/device/standardEquipment/components/listApply/passed.vue
new file mode 100644
index 0000000..31cd21c
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/passed.vue
@@ -0,0 +1,10 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/addRow.vue b/src/views/device/standardEquipment/components/standardList/addRow.vue
new file mode 100644
index 0000000..9f2bf81
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/addRow.vue
@@ -0,0 +1,270 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/baseInfo.vue b/src/views/device/standardEquipment/components/standardList/baseInfo.vue
new file mode 100644
index 0000000..c47ad1d
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/baseInfo.vue
@@ -0,0 +1,675 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 上传
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/temptable.vue b/src/views/device/standardEquipment/components/standardList/temptable.vue
new file mode 100644
index 0000000..20eb800
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/temptable.vue
@@ -0,0 +1,387 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ (searchQuery.offset - 1) * searchQuery.limit + scope.$index + 1 }}
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardListAdd.vue b/src/views/device/standardEquipment/components/standardListAdd.vue
index ea13629..348bb41 100644
--- a/src/views/device/standardEquipment/components/standardListAdd.vue
+++ b/src/views/device/standardEquipment/components/standardListAdd.vue
@@ -3,6 +3,8 @@
import { ElMessage, ElMessageBox } from 'element-plus'
import type { FormInstance, UploadProps, UploadUserFile } from 'element-plus'
import type { IOptions } from '../standard_interface'
+import baseInfo from './standardList/baseInfo.vue'
+import table from './standardList/temptable.vue'
import { getStaffList } from '@/api/measure/person'
import { getTypeSelect } from '@/api/system/price'
import { getStandardLisUpdate, getStandardListAdd, getStandardListDetail, getUsersDept } from '@/api/device/standard'
@@ -17,188 +19,35 @@
default: '',
},
})
-const emit = defineEmits(['close']) // 关闭
-const ruleFormRef = ref()
-// 逻辑代码
-const formInline = ref({
- assessDate: '',
- assessmentUnit: '',
- category: null,
- categoryName: '',
- constructionStandardProject: '',
- constructionStandardUnitName: '',
- contactInfo: '',
- createTime: null,
- createUser: null,
- id: '',
- isDel: null,
- laboratoryOwner: null,
- laboratoryOwnerContact: null,
- laboratoryOwnerName: null,
- managerState: null,
- managerStateName: '',
- measureMajor: null,
- fileList: [],
- measureMajorName: '',
- mesureRange: '',
- organizeNo: '',
- preparationDate: '',
- projectNo: '',
- remark: '',
- standardHumidity: null,
- standardLaboratory: null,
- standardLaboratoryName: '',
- standardLevel: null,
- standardLevelName: '',
- standardName: '',
- standardNo: '',
- standardOwner: null,
- standardOwnerName: '',
- standardTemperature: null,
- totalInvestment: null,
- transmitRange: null,
- transmitRangeName: '',
- uncertainty: '',
- updateTime: null,
- version: null,
-})
-const checkTypeOptions = ref([])
-
-const standardOwnerOptions = ref([]) // 标准负责人
-const fileList = ref([]) // 文件对象数组
-const measureMajorList = ref([]) // 计量专业下拉框
-const standardManagerStateList = ref([]) // 管理状态下拉框
-const standardLevelList = ref([]) // 标准等级下拉框
-const transmitRangeList = ref([]) // 传递范围下拉框
-// 标准所在部门下拉框
-const standardUsersDeptList = ref([])
-// 获取下拉框
-const getSelectList = (code: string) => {
- getTypeSelect(code).then((res) => {
- if (code === 'measureMajor') {
- measureMajorList.value = res.data
- }
- else if (code === 'standardManagerState') {
- standardManagerStateList.value = res.data
- }
- else if (code === 'standardLevel') {
- standardLevelList.value = res.data
- }
- else if (code === 'transmitRange') {
- transmitRangeList.value = res.data
- }
- else if (code === 'standardCategory') {
- checkTypeOptions.value = res.data
- }
- })
+const emit = defineEmits(['close'])
+// 定义数据
+const formInline = ref({})
+// 关闭
+interface menuType {
+ name: string
+ comp: any
}
-getSelectList('measureMajor') // 获取计量专业下拉框
-getSelectList('standardManagerState') // 获取管理状态下拉框
-getSelectList('standardLevel') // 获取标准等级下拉框
-getSelectList('transmitRange') // 获取传递范围下拉框
-getSelectList('standardCategory') // 获取类别下拉框
-// 获取部门信息
-getUsersDept({
- createTime: '',
- director: '',
- meterMajor: '',
- organizeName: '',
- organizeNo: '',
- organizeType: '2',
- pdeptId: null,
- offset: 1,
- limit: 999999,
-}).then((res) => {
- standardUsersDeptList.value = res.data.rows
+const menu = shallowRef([
+ { name: '基本信息', comp: baseInfo },
+ { name: '计量人员', comp: table },
+ { name: '标准配套设备', comp: table },
+ { name: '检定规程', comp: table },
+ { name: '重复性考核记录', comp: table },
+ { name: '稳定性考核记录', comp: table },
+ { name: '证书管理', comp: table },
+])
+const currentCompRef = ref()
+const current = ref('基本信息')
+const currentComp = shallowRef(baseInfo)
+watch(current, (newValue) => {
+ currentComp.value = menu.value.filter(item => item.name === newValue)[0].comp
})
-// 获取到标准负责人数组
-const getStandardOwnerOptions = () => {
- const params = {
- staffNo: '', // 人员编号
- name: '', // 姓名
- deptId: '', // 工作部门
- major: '', // 计量专业
- verifierCertificateNo: '', // 证书号
- certificateStatus: '', // 证书状态
- limit: 100000,
- offset: 1,
- }
- getStaffList(params).then((res) => {
- standardOwnerOptions.value = res.data.records
- })
-}
-getStandardOwnerOptions()
// 关闭
const close = () => {
emit('close')
}
-const rules = ref({
- standardName: [{ required: true, message: '标准名称不能为空', trigger: 'blur' }],
- projectNo: [{ required: true, message: '项目编号不能为空', trigger: 'blur' }],
- constructionStandardProject: [{ required: true, message: '建标项目不能为空', trigger: 'blur' }],
- organizeNo: [{ required: true, message: '组织机构代码不能为空', trigger: 'blur' }],
- constructionStandardUnitName: [{ required: true, message: '建标单位名称不能为空', trigger: 'blur' }],
- standardOwner: [{ required: true, message: '标准负责人不能为空', trigger: 'blur' }],
- contactInfo: [{ required: true, message: '联系方式不能为空', trigger: 'blur' }],
- category: [{ required: true, message: '类 别不能为空', trigger: 'blur' }],
- standardLevel: [{ required: true, message: '标准等级不能为空', trigger: 'blur' }],
- transmitRange: [{ required: true, message: '传递范围不能为空', trigger: 'blur' }],
- preparationDate: [{ required: true, message: '筹建日期不能为空', trigger: 'blur' }],
- managerState: [{ required: true, message: '管理状态不能为空', trigger: 'blur' }],
- measureMajor: [{ required: true, message: '计量专业不能为空', trigger: 'blur' }],
- assessmentUnit: [{ required: true, message: '考核单位不能为空', trigger: 'blur' }],
- assessDate: [{ required: true, message: '考核日期不能为空', trigger: 'blur' }],
- uncertainty: [{ required: true, message: '不确定度不能为空', trigger: 'blur' }],
- mesureRange: [{ required: true, message: '测量范围不能为空', trigger: 'blur' }],
- standardTemperature: [{ required: true, message: '标准温度不能为空', trigger: 'blur' },
- { pattern: /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/, message: '标准温度只能为数字', trigger: 'blur' }],
- standardHumidity: [{ required: true, message: '标准湿度不能为空', trigger: 'blur' },
- { pattern: /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/, message: '标准湿度只能为数字', trigger: 'blur' }],
-}) // 表单验证规则
-// 上传请求
-const uploadQuarterlyEvaluateFile = (file: File) => {
- const fd = new FormData()
- fd.append('multipartFile', file.file)
- UploadFile(fd).then((res) => {
- if (res.code === 200) {
- formInline.value.fileList = res.data
- // 重置当前验证
- ElMessage.success('文件上传成功')
- }
- })
-}
-const handleExceed: UploadProps['onExceed'] = (files, uploadFiles) => {
- ElMessage.warning('只能上传一个文件')
-}
-// 移除时触发
-const beforeRemove: UploadProps['beforeRemove'] = (uploadFile, uploadFiles) => {
- return ElMessageBox.confirm(
- `确认移除${uploadFile.name}文件吗 ?`,
- ).then(
- () => true,
- () => false,
-
- )
-}
-// 点击文件预览
-const uploadShow = (e: any) => {
- const URL = window.URL || window.webkitURL
- window.open(URL.createObjectURL(e.raw))
-}
-const testForm = ref({
- fileList: [],
- fileContent: '',
-})
-const handleFileChange = (files: any, fileList: any) => {
- testForm.value.fileList = fileList
- const reader = new FileReader()
- reader.readAsText(files.raw)
- // reader.onload = (e) => {
- // testForm.value.fileContent = e.target!.result?.replace(
- // /\n|\r\n/g,
- // '
',
- // )
- // }
+const setData = (newValue: object) => {
+ formInline.value = newValue
}
// 编辑获取详情的提交按钮
const submitFormDetail = () => {
@@ -223,60 +72,29 @@
}
}
// 提交
-const submitForm = (formEl: FormInstance | undefined) => {
- if (!formEl) { return }
+const submitForm = () => {
if (props.buttonType === '详情') { return submitFormDetail() }
- formEl.validate((valid, fields) => {
- if (valid) {
- ElMessageBox.confirm(
- '确认提交吗?',
- '提示',
- {
- confirmButtonText: '确认',
- cancelButtonText: '取消',
- type: 'warning',
- },
- ).then(() => {
- props.buttonType === ''
- ? getStandardListAdd(formInline.value).then((res) => {
- if (res.code === 200) {
- close()
- }
- })
- : submitFormDetail()
- })
- }
- })
-}
-// 标准实验室发生改变row类型
-interface rowReturn {
- phone: string
- director: string
-}
-// 标准实验室发生改变
-const changeDeptList = (row: object) => {
- formInline.value.laboratoryOwnerContact = row.phone
- formInline.value.laboratoryOwner = row.director
-}
-// 标准实验室清空时
-const clearDeptList = () => {
- formInline.value.laboratoryOwnerContact = null
- formInline.value.laboratoryOwner = null
-}
-// 获取详情信息
-const getInfo = () => {
- getStandardListDetail({ id: props.infoId }).then((res) => {
- Object.keys(res.data).map((item) => {
- if (typeof (res.data[item]) === 'number') {
- res.data[item] = res.data[item].toString()
- }
+ ElMessageBox.confirm(
+ '确认提交吗?',
+ '提示',
+ {
+ confirmButtonText: '确认',
+ cancelButtonText: '取消',
+ type: 'warning',
+ },
+ ).then(() => {
+ current.value = '基本信息'
+ currentCompRef.value.submitForm().validate().then(() => {
+ props.buttonType === ''
+ ? getStandardListAdd(formInline.value).then((res) => {
+ if (res.code === 200) {
+ close()
+ }
+ })
+ : submitFormDetail()
})
- formInline.value = res.data
})
}
-if (props.buttonType !== '') {
- getInfo()
-}
@@ -289,7 +107,7 @@
{{ buttonType === '详情' ? '打印' : '提交' }}
@@ -298,405 +116,17 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 上传
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
@@ -719,14 +149,8 @@
}
}
-.info-content {
- margin-top: 10px;
- padding: 30px;
- border-radius: 10px;
+.body {
background-color: #fff;
-}
-
-:deep .el-input .el-input--default .el-input--suffix {
- width: 200px !important;
+ margin-top: 10px;
}
diff --git a/src/views/device/standardEquipment/expirationRemind.vue b/src/views/device/standardEquipment/expirationRemind.vue
index 35786b2..1826c22 100644
--- a/src/views/device/standardEquipment/expirationRemind.vue
+++ b/src/views/device/standardEquipment/expirationRemind.vue
@@ -26,39 +26,47 @@
text: '标准代码',
value: 'standardNo',
width: '160',
+ align: 'center',
},
{
text: '标准名称',
value: 'standardName',
width: '90',
+ align: 'center',
},
{
text: '管理状态',
value: 'managerStateName',
width: '100',
+ align: 'center',
},
{
text: '标准所在部门',
value: 'standardLaboratoryName',
width: '120',
+ align: 'center',
},
{
text: '负责人',
value: 'standardOwnerName',
+ align: 'center',
},
{
text: '建标项目',
value: 'standardOwnerName',
+ align: 'center',
},
{
text: '筹建日期',
value: 'preparationDate',
width: '160',
+ align: 'center',
},
{
text: '有效日期',
value: 'preparationDate',
width: '160',
+ align: 'center',
},
])
const total = ref(0)
@@ -326,12 +334,8 @@
-
- 导出
-
-
- 打印
-
+
+
- 编辑
+ 详情
- 详情
+ 提醒
+import applyList from './components/applyList.vue'
// 逻辑代码
- 暂停申请
+
diff --git a/src/views/device/standardEquipment/resumeApply.vue b/src/views/device/standardEquipment/resumeApply.vue
index d4a80e8..b5896fc 100644
--- a/src/views/device/standardEquipment/resumeApply.vue
+++ b/src/views/device/standardEquipment/resumeApply.vue
@@ -1,10 +1,11 @@
- 恢复申请
+
diff --git a/src/components.d.ts b/src/components.d.ts
index fea7d82..6e85584 100644
--- a/src/components.d.ts
+++ b/src/components.d.ts
@@ -16,6 +16,7 @@
BarChartHorizontal: typeof import('./components/Echart/BarChartHorizontal.vue')['default']
BarChartVertical: typeof import('./components/Echart/BarChartVertical.vue')['default']
BatchActionBar: typeof import('./components/BatchActionBar/index.vue')['default']
+ Benchcol: typeof import('./components/benchcol/index.vue')['default']
BenchCol: typeof import('./components/benchCol/index.vue')['default']
ConditionDrawer: typeof import('./components/drawer/conditionDrawer.vue')['default']
copy: typeof import('./components/DetailPage/index copy.vue')['default']
diff --git a/src/views/device/standardEquipment/cancelApply.vue b/src/views/device/standardEquipment/cancelApply.vue
index c093520..1e50f44 100644
--- a/src/views/device/standardEquipment/cancelApply.vue
+++ b/src/views/device/standardEquipment/cancelApply.vue
@@ -1,10 +1,11 @@
- 撤销申请
+
diff --git a/src/views/device/standardEquipment/changeApply.vue b/src/views/device/standardEquipment/changeApply.vue
index 0762330..6625970 100644
--- a/src/views/device/standardEquipment/changeApply.vue
+++ b/src/views/device/standardEquipment/changeApply.vue
@@ -1,10 +1,11 @@
-
- 更换申请
+
diff --git a/src/views/device/standardEquipment/checkApply.vue b/src/views/device/standardEquipment/checkApply.vue
index 9cadc01..6625970 100644
--- a/src/views/device/standardEquipment/checkApply.vue
+++ b/src/views/device/standardEquipment/checkApply.vue
@@ -1,10 +1,11 @@
- 复查申请
+
diff --git a/src/views/device/standardEquipment/components/applyList.vue b/src/views/device/standardEquipment/components/applyList.vue
new file mode 100644
index 0000000..45be74a
--- /dev/null
+++ b/src/views/device/standardEquipment/components/applyList.vue
@@ -0,0 +1,65 @@
+
+
+
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/all.vue b/src/views/device/standardEquipment/components/listApply/all.vue
new file mode 100644
index 0000000..d124307
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/all.vue
@@ -0,0 +1,17 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/approvalPending.vue b/src/views/device/standardEquipment/components/listApply/approvalPending.vue
new file mode 100644
index 0000000..8a7a8bc
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/approvalPending.vue
@@ -0,0 +1,16 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/canceled.vue b/src/views/device/standardEquipment/components/listApply/canceled.vue
new file mode 100644
index 0000000..3b9657c
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/canceled.vue
@@ -0,0 +1,15 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/draftBox.vue b/src/views/device/standardEquipment/components/listApply/draftBox.vue
new file mode 100644
index 0000000..43d7b75
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/draftBox.vue
@@ -0,0 +1,15 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue b/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue
new file mode 100644
index 0000000..c13f95a
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue
@@ -0,0 +1,17 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/listPage.vue b/src/views/device/standardEquipment/components/listApply/listPage.vue
new file mode 100644
index 0000000..5133627
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/listPage.vue
@@ -0,0 +1,493 @@
+
+
+
+
+
+
+
+
+
+
+
+ 同意
+
+
+ 驳回
+
+
+ 拒绝
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 提交
+
+
+ 取消
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/listPageAdd.vue b/src/views/device/standardEquipment/components/listApply/listPageAdd.vue
new file mode 100644
index 0000000..eb506ec
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/listPageAdd.vue
@@ -0,0 +1,1021 @@
+
+
+
+
+
+
+ 基本信息
+
+
+
+ {{ item }}
+
+
+ 关闭
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 上传
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 完成
+
+
+
+
+
+
+
+ 同意
+
+
+ 驳回
+
+
+ 拒绝
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 提交
+
+
+ 取消
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/notPass.vue b/src/views/device/standardEquipment/components/listApply/notPass.vue
new file mode 100644
index 0000000..5a4b817
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/notPass.vue
@@ -0,0 +1,10 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/passed.vue b/src/views/device/standardEquipment/components/listApply/passed.vue
new file mode 100644
index 0000000..31cd21c
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/passed.vue
@@ -0,0 +1,10 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/addRow.vue b/src/views/device/standardEquipment/components/standardList/addRow.vue
new file mode 100644
index 0000000..9f2bf81
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/addRow.vue
@@ -0,0 +1,270 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/baseInfo.vue b/src/views/device/standardEquipment/components/standardList/baseInfo.vue
new file mode 100644
index 0000000..c47ad1d
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/baseInfo.vue
@@ -0,0 +1,675 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 上传
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/temptable.vue b/src/views/device/standardEquipment/components/standardList/temptable.vue
new file mode 100644
index 0000000..20eb800
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/temptable.vue
@@ -0,0 +1,387 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ (searchQuery.offset - 1) * searchQuery.limit + scope.$index + 1 }}
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardListAdd.vue b/src/views/device/standardEquipment/components/standardListAdd.vue
index ea13629..348bb41 100644
--- a/src/views/device/standardEquipment/components/standardListAdd.vue
+++ b/src/views/device/standardEquipment/components/standardListAdd.vue
@@ -3,6 +3,8 @@
import { ElMessage, ElMessageBox } from 'element-plus'
import type { FormInstance, UploadProps, UploadUserFile } from 'element-plus'
import type { IOptions } from '../standard_interface'
+import baseInfo from './standardList/baseInfo.vue'
+import table from './standardList/temptable.vue'
import { getStaffList } from '@/api/measure/person'
import { getTypeSelect } from '@/api/system/price'
import { getStandardLisUpdate, getStandardListAdd, getStandardListDetail, getUsersDept } from '@/api/device/standard'
@@ -17,188 +19,35 @@
default: '',
},
})
-const emit = defineEmits(['close']) // 关闭
-const ruleFormRef = ref()
-// 逻辑代码
-const formInline = ref({
- assessDate: '',
- assessmentUnit: '',
- category: null,
- categoryName: '',
- constructionStandardProject: '',
- constructionStandardUnitName: '',
- contactInfo: '',
- createTime: null,
- createUser: null,
- id: '',
- isDel: null,
- laboratoryOwner: null,
- laboratoryOwnerContact: null,
- laboratoryOwnerName: null,
- managerState: null,
- managerStateName: '',
- measureMajor: null,
- fileList: [],
- measureMajorName: '',
- mesureRange: '',
- organizeNo: '',
- preparationDate: '',
- projectNo: '',
- remark: '',
- standardHumidity: null,
- standardLaboratory: null,
- standardLaboratoryName: '',
- standardLevel: null,
- standardLevelName: '',
- standardName: '',
- standardNo: '',
- standardOwner: null,
- standardOwnerName: '',
- standardTemperature: null,
- totalInvestment: null,
- transmitRange: null,
- transmitRangeName: '',
- uncertainty: '',
- updateTime: null,
- version: null,
-})
-const checkTypeOptions = ref([])
-
-const standardOwnerOptions = ref([]) // 标准负责人
-const fileList = ref([]) // 文件对象数组
-const measureMajorList = ref([]) // 计量专业下拉框
-const standardManagerStateList = ref([]) // 管理状态下拉框
-const standardLevelList = ref([]) // 标准等级下拉框
-const transmitRangeList = ref([]) // 传递范围下拉框
-// 标准所在部门下拉框
-const standardUsersDeptList = ref([])
-// 获取下拉框
-const getSelectList = (code: string) => {
- getTypeSelect(code).then((res) => {
- if (code === 'measureMajor') {
- measureMajorList.value = res.data
- }
- else if (code === 'standardManagerState') {
- standardManagerStateList.value = res.data
- }
- else if (code === 'standardLevel') {
- standardLevelList.value = res.data
- }
- else if (code === 'transmitRange') {
- transmitRangeList.value = res.data
- }
- else if (code === 'standardCategory') {
- checkTypeOptions.value = res.data
- }
- })
+const emit = defineEmits(['close'])
+// 定义数据
+const formInline = ref({})
+// 关闭
+interface menuType {
+ name: string
+ comp: any
}
-getSelectList('measureMajor') // 获取计量专业下拉框
-getSelectList('standardManagerState') // 获取管理状态下拉框
-getSelectList('standardLevel') // 获取标准等级下拉框
-getSelectList('transmitRange') // 获取传递范围下拉框
-getSelectList('standardCategory') // 获取类别下拉框
-// 获取部门信息
-getUsersDept({
- createTime: '',
- director: '',
- meterMajor: '',
- organizeName: '',
- organizeNo: '',
- organizeType: '2',
- pdeptId: null,
- offset: 1,
- limit: 999999,
-}).then((res) => {
- standardUsersDeptList.value = res.data.rows
+const menu = shallowRef([
+ { name: '基本信息', comp: baseInfo },
+ { name: '计量人员', comp: table },
+ { name: '标准配套设备', comp: table },
+ { name: '检定规程', comp: table },
+ { name: '重复性考核记录', comp: table },
+ { name: '稳定性考核记录', comp: table },
+ { name: '证书管理', comp: table },
+])
+const currentCompRef = ref()
+const current = ref('基本信息')
+const currentComp = shallowRef(baseInfo)
+watch(current, (newValue) => {
+ currentComp.value = menu.value.filter(item => item.name === newValue)[0].comp
})
-// 获取到标准负责人数组
-const getStandardOwnerOptions = () => {
- const params = {
- staffNo: '', // 人员编号
- name: '', // 姓名
- deptId: '', // 工作部门
- major: '', // 计量专业
- verifierCertificateNo: '', // 证书号
- certificateStatus: '', // 证书状态
- limit: 100000,
- offset: 1,
- }
- getStaffList(params).then((res) => {
- standardOwnerOptions.value = res.data.records
- })
-}
-getStandardOwnerOptions()
// 关闭
const close = () => {
emit('close')
}
-const rules = ref({
- standardName: [{ required: true, message: '标准名称不能为空', trigger: 'blur' }],
- projectNo: [{ required: true, message: '项目编号不能为空', trigger: 'blur' }],
- constructionStandardProject: [{ required: true, message: '建标项目不能为空', trigger: 'blur' }],
- organizeNo: [{ required: true, message: '组织机构代码不能为空', trigger: 'blur' }],
- constructionStandardUnitName: [{ required: true, message: '建标单位名称不能为空', trigger: 'blur' }],
- standardOwner: [{ required: true, message: '标准负责人不能为空', trigger: 'blur' }],
- contactInfo: [{ required: true, message: '联系方式不能为空', trigger: 'blur' }],
- category: [{ required: true, message: '类 别不能为空', trigger: 'blur' }],
- standardLevel: [{ required: true, message: '标准等级不能为空', trigger: 'blur' }],
- transmitRange: [{ required: true, message: '传递范围不能为空', trigger: 'blur' }],
- preparationDate: [{ required: true, message: '筹建日期不能为空', trigger: 'blur' }],
- managerState: [{ required: true, message: '管理状态不能为空', trigger: 'blur' }],
- measureMajor: [{ required: true, message: '计量专业不能为空', trigger: 'blur' }],
- assessmentUnit: [{ required: true, message: '考核单位不能为空', trigger: 'blur' }],
- assessDate: [{ required: true, message: '考核日期不能为空', trigger: 'blur' }],
- uncertainty: [{ required: true, message: '不确定度不能为空', trigger: 'blur' }],
- mesureRange: [{ required: true, message: '测量范围不能为空', trigger: 'blur' }],
- standardTemperature: [{ required: true, message: '标准温度不能为空', trigger: 'blur' },
- { pattern: /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/, message: '标准温度只能为数字', trigger: 'blur' }],
- standardHumidity: [{ required: true, message: '标准湿度不能为空', trigger: 'blur' },
- { pattern: /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/, message: '标准湿度只能为数字', trigger: 'blur' }],
-}) // 表单验证规则
-// 上传请求
-const uploadQuarterlyEvaluateFile = (file: File) => {
- const fd = new FormData()
- fd.append('multipartFile', file.file)
- UploadFile(fd).then((res) => {
- if (res.code === 200) {
- formInline.value.fileList = res.data
- // 重置当前验证
- ElMessage.success('文件上传成功')
- }
- })
-}
-const handleExceed: UploadProps['onExceed'] = (files, uploadFiles) => {
- ElMessage.warning('只能上传一个文件')
-}
-// 移除时触发
-const beforeRemove: UploadProps['beforeRemove'] = (uploadFile, uploadFiles) => {
- return ElMessageBox.confirm(
- `确认移除${uploadFile.name}文件吗 ?`,
- ).then(
- () => true,
- () => false,
-
- )
-}
-// 点击文件预览
-const uploadShow = (e: any) => {
- const URL = window.URL || window.webkitURL
- window.open(URL.createObjectURL(e.raw))
-}
-const testForm = ref({
- fileList: [],
- fileContent: '',
-})
-const handleFileChange = (files: any, fileList: any) => {
- testForm.value.fileList = fileList
- const reader = new FileReader()
- reader.readAsText(files.raw)
- // reader.onload = (e) => {
- // testForm.value.fileContent = e.target!.result?.replace(
- // /\n|\r\n/g,
- // '
',
- // )
- // }
+const setData = (newValue: object) => {
+ formInline.value = newValue
}
// 编辑获取详情的提交按钮
const submitFormDetail = () => {
@@ -223,60 +72,29 @@
}
}
// 提交
-const submitForm = (formEl: FormInstance | undefined) => {
- if (!formEl) { return }
+const submitForm = () => {
if (props.buttonType === '详情') { return submitFormDetail() }
- formEl.validate((valid, fields) => {
- if (valid) {
- ElMessageBox.confirm(
- '确认提交吗?',
- '提示',
- {
- confirmButtonText: '确认',
- cancelButtonText: '取消',
- type: 'warning',
- },
- ).then(() => {
- props.buttonType === ''
- ? getStandardListAdd(formInline.value).then((res) => {
- if (res.code === 200) {
- close()
- }
- })
- : submitFormDetail()
- })
- }
- })
-}
-// 标准实验室发生改变row类型
-interface rowReturn {
- phone: string
- director: string
-}
-// 标准实验室发生改变
-const changeDeptList = (row: object) => {
- formInline.value.laboratoryOwnerContact = row.phone
- formInline.value.laboratoryOwner = row.director
-}
-// 标准实验室清空时
-const clearDeptList = () => {
- formInline.value.laboratoryOwnerContact = null
- formInline.value.laboratoryOwner = null
-}
-// 获取详情信息
-const getInfo = () => {
- getStandardListDetail({ id: props.infoId }).then((res) => {
- Object.keys(res.data).map((item) => {
- if (typeof (res.data[item]) === 'number') {
- res.data[item] = res.data[item].toString()
- }
+ ElMessageBox.confirm(
+ '确认提交吗?',
+ '提示',
+ {
+ confirmButtonText: '确认',
+ cancelButtonText: '取消',
+ type: 'warning',
+ },
+ ).then(() => {
+ current.value = '基本信息'
+ currentCompRef.value.submitForm().validate().then(() => {
+ props.buttonType === ''
+ ? getStandardListAdd(formInline.value).then((res) => {
+ if (res.code === 200) {
+ close()
+ }
+ })
+ : submitFormDetail()
})
- formInline.value = res.data
})
}
-if (props.buttonType !== '') {
- getInfo()
-}
@@ -289,7 +107,7 @@
{{ buttonType === '详情' ? '打印' : '提交' }}
@@ -298,405 +116,17 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 上传
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
@@ -719,14 +149,8 @@
}
}
-.info-content {
- margin-top: 10px;
- padding: 30px;
- border-radius: 10px;
+.body {
background-color: #fff;
-}
-
-:deep .el-input .el-input--default .el-input--suffix {
- width: 200px !important;
+ margin-top: 10px;
}
diff --git a/src/views/device/standardEquipment/expirationRemind.vue b/src/views/device/standardEquipment/expirationRemind.vue
index 35786b2..1826c22 100644
--- a/src/views/device/standardEquipment/expirationRemind.vue
+++ b/src/views/device/standardEquipment/expirationRemind.vue
@@ -26,39 +26,47 @@
text: '标准代码',
value: 'standardNo',
width: '160',
+ align: 'center',
},
{
text: '标准名称',
value: 'standardName',
width: '90',
+ align: 'center',
},
{
text: '管理状态',
value: 'managerStateName',
width: '100',
+ align: 'center',
},
{
text: '标准所在部门',
value: 'standardLaboratoryName',
width: '120',
+ align: 'center',
},
{
text: '负责人',
value: 'standardOwnerName',
+ align: 'center',
},
{
text: '建标项目',
value: 'standardOwnerName',
+ align: 'center',
},
{
text: '筹建日期',
value: 'preparationDate',
width: '160',
+ align: 'center',
},
{
text: '有效日期',
value: 'preparationDate',
width: '160',
+ align: 'center',
},
])
const total = ref(0)
@@ -326,12 +334,8 @@
-
- 导出
-
-
- 打印
-
+
+
- 编辑
+ 详情
- 详情
+ 提醒
+import applyList from './components/applyList.vue'
// 逻辑代码
- 暂停申请
+
diff --git a/src/views/device/standardEquipment/resumeApply.vue b/src/views/device/standardEquipment/resumeApply.vue
index d4a80e8..b5896fc 100644
--- a/src/views/device/standardEquipment/resumeApply.vue
+++ b/src/views/device/standardEquipment/resumeApply.vue
@@ -1,10 +1,11 @@
- 恢复申请
+
diff --git a/src/views/device/standardEquipment/standardList.vue b/src/views/device/standardEquipment/standardList.vue
index 4f1bfdf..348ed71 100644
--- a/src/views/device/standardEquipment/standardList.vue
+++ b/src/views/device/standardEquipment/standardList.vue
@@ -29,50 +29,60 @@
text: '标准代码',
value: 'standardNo',
width: '120',
+ align: 'center',
},
{
text: '标准名称',
value: 'standardName',
width: '90',
+ align: 'center',
},
{
text: '类别',
value: 'categoryName',
width: '80',
+ align: 'center',
},
{
text: '标准等级',
value: 'standardLevelName',
width: '100',
+ align: 'center',
},
{
text: '传递范围',
value: 'transmitRange',
width: '110',
+ align: 'center',
},
{
text: '管理状态',
value: 'managerStateName',
width: '100',
+ align: 'center',
},
{
text: '标准所在部门',
value: 'standardLaboratoryName',
width: '120',
+ align: 'center',
},
{
text: '负责人',
value: 'laboratoryOwner',
+ align: 'center',
},
{
text: '筹建日期',
value: 'preparationDate',
width: '110',
+ align: 'center',
},
{
text: '备注',
value: 'remark',
width: '80',
+ align: 'center',
},
])
const total = ref(0)
@@ -250,6 +260,9 @@
buttonType.value = text
isShow.value = false
}
+const renderHeader = (e: any) => {
+ console.log(e)
+}
@@ -330,19 +343,13 @@
-
- 新建
-
-
- 导出
-
-
- 打印
-
+
+
+
diff --git a/src/components.d.ts b/src/components.d.ts
index fea7d82..6e85584 100644
--- a/src/components.d.ts
+++ b/src/components.d.ts
@@ -16,6 +16,7 @@
BarChartHorizontal: typeof import('./components/Echart/BarChartHorizontal.vue')['default']
BarChartVertical: typeof import('./components/Echart/BarChartVertical.vue')['default']
BatchActionBar: typeof import('./components/BatchActionBar/index.vue')['default']
+ Benchcol: typeof import('./components/benchcol/index.vue')['default']
BenchCol: typeof import('./components/benchCol/index.vue')['default']
ConditionDrawer: typeof import('./components/drawer/conditionDrawer.vue')['default']
copy: typeof import('./components/DetailPage/index copy.vue')['default']
diff --git a/src/views/device/standardEquipment/cancelApply.vue b/src/views/device/standardEquipment/cancelApply.vue
index c093520..1e50f44 100644
--- a/src/views/device/standardEquipment/cancelApply.vue
+++ b/src/views/device/standardEquipment/cancelApply.vue
@@ -1,10 +1,11 @@
- 撤销申请
+
diff --git a/src/views/device/standardEquipment/changeApply.vue b/src/views/device/standardEquipment/changeApply.vue
index 0762330..6625970 100644
--- a/src/views/device/standardEquipment/changeApply.vue
+++ b/src/views/device/standardEquipment/changeApply.vue
@@ -1,10 +1,11 @@
-
- 更换申请
+
diff --git a/src/views/device/standardEquipment/checkApply.vue b/src/views/device/standardEquipment/checkApply.vue
index 9cadc01..6625970 100644
--- a/src/views/device/standardEquipment/checkApply.vue
+++ b/src/views/device/standardEquipment/checkApply.vue
@@ -1,10 +1,11 @@
- 复查申请
+
diff --git a/src/views/device/standardEquipment/components/applyList.vue b/src/views/device/standardEquipment/components/applyList.vue
new file mode 100644
index 0000000..45be74a
--- /dev/null
+++ b/src/views/device/standardEquipment/components/applyList.vue
@@ -0,0 +1,65 @@
+
+
+
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/all.vue b/src/views/device/standardEquipment/components/listApply/all.vue
new file mode 100644
index 0000000..d124307
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/all.vue
@@ -0,0 +1,17 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/approvalPending.vue b/src/views/device/standardEquipment/components/listApply/approvalPending.vue
new file mode 100644
index 0000000..8a7a8bc
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/approvalPending.vue
@@ -0,0 +1,16 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/canceled.vue b/src/views/device/standardEquipment/components/listApply/canceled.vue
new file mode 100644
index 0000000..3b9657c
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/canceled.vue
@@ -0,0 +1,15 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/draftBox.vue b/src/views/device/standardEquipment/components/listApply/draftBox.vue
new file mode 100644
index 0000000..43d7b75
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/draftBox.vue
@@ -0,0 +1,15 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue b/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue
new file mode 100644
index 0000000..c13f95a
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue
@@ -0,0 +1,17 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/listPage.vue b/src/views/device/standardEquipment/components/listApply/listPage.vue
new file mode 100644
index 0000000..5133627
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/listPage.vue
@@ -0,0 +1,493 @@
+
+
+
+
+
+
+
+
+
+
+
+ 同意
+
+
+ 驳回
+
+
+ 拒绝
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 提交
+
+
+ 取消
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/listPageAdd.vue b/src/views/device/standardEquipment/components/listApply/listPageAdd.vue
new file mode 100644
index 0000000..eb506ec
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/listPageAdd.vue
@@ -0,0 +1,1021 @@
+
+
+
+
+
+
+ 基本信息
+
+
+
+ {{ item }}
+
+
+ 关闭
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 上传
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 完成
+
+
+
+
+
+
+
+ 同意
+
+
+ 驳回
+
+
+ 拒绝
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 提交
+
+
+ 取消
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/notPass.vue b/src/views/device/standardEquipment/components/listApply/notPass.vue
new file mode 100644
index 0000000..5a4b817
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/notPass.vue
@@ -0,0 +1,10 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/passed.vue b/src/views/device/standardEquipment/components/listApply/passed.vue
new file mode 100644
index 0000000..31cd21c
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/passed.vue
@@ -0,0 +1,10 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/addRow.vue b/src/views/device/standardEquipment/components/standardList/addRow.vue
new file mode 100644
index 0000000..9f2bf81
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/addRow.vue
@@ -0,0 +1,270 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/baseInfo.vue b/src/views/device/standardEquipment/components/standardList/baseInfo.vue
new file mode 100644
index 0000000..c47ad1d
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/baseInfo.vue
@@ -0,0 +1,675 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 上传
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/temptable.vue b/src/views/device/standardEquipment/components/standardList/temptable.vue
new file mode 100644
index 0000000..20eb800
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/temptable.vue
@@ -0,0 +1,387 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ (searchQuery.offset - 1) * searchQuery.limit + scope.$index + 1 }}
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardListAdd.vue b/src/views/device/standardEquipment/components/standardListAdd.vue
index ea13629..348bb41 100644
--- a/src/views/device/standardEquipment/components/standardListAdd.vue
+++ b/src/views/device/standardEquipment/components/standardListAdd.vue
@@ -3,6 +3,8 @@
import { ElMessage, ElMessageBox } from 'element-plus'
import type { FormInstance, UploadProps, UploadUserFile } from 'element-plus'
import type { IOptions } from '../standard_interface'
+import baseInfo from './standardList/baseInfo.vue'
+import table from './standardList/temptable.vue'
import { getStaffList } from '@/api/measure/person'
import { getTypeSelect } from '@/api/system/price'
import { getStandardLisUpdate, getStandardListAdd, getStandardListDetail, getUsersDept } from '@/api/device/standard'
@@ -17,188 +19,35 @@
default: '',
},
})
-const emit = defineEmits(['close']) // 关闭
-const ruleFormRef = ref()
-// 逻辑代码
-const formInline = ref({
- assessDate: '',
- assessmentUnit: '',
- category: null,
- categoryName: '',
- constructionStandardProject: '',
- constructionStandardUnitName: '',
- contactInfo: '',
- createTime: null,
- createUser: null,
- id: '',
- isDel: null,
- laboratoryOwner: null,
- laboratoryOwnerContact: null,
- laboratoryOwnerName: null,
- managerState: null,
- managerStateName: '',
- measureMajor: null,
- fileList: [],
- measureMajorName: '',
- mesureRange: '',
- organizeNo: '',
- preparationDate: '',
- projectNo: '',
- remark: '',
- standardHumidity: null,
- standardLaboratory: null,
- standardLaboratoryName: '',
- standardLevel: null,
- standardLevelName: '',
- standardName: '',
- standardNo: '',
- standardOwner: null,
- standardOwnerName: '',
- standardTemperature: null,
- totalInvestment: null,
- transmitRange: null,
- transmitRangeName: '',
- uncertainty: '',
- updateTime: null,
- version: null,
-})
-const checkTypeOptions = ref([])
-
-const standardOwnerOptions = ref([]) // 标准负责人
-const fileList = ref([]) // 文件对象数组
-const measureMajorList = ref([]) // 计量专业下拉框
-const standardManagerStateList = ref([]) // 管理状态下拉框
-const standardLevelList = ref([]) // 标准等级下拉框
-const transmitRangeList = ref([]) // 传递范围下拉框
-// 标准所在部门下拉框
-const standardUsersDeptList = ref([])
-// 获取下拉框
-const getSelectList = (code: string) => {
- getTypeSelect(code).then((res) => {
- if (code === 'measureMajor') {
- measureMajorList.value = res.data
- }
- else if (code === 'standardManagerState') {
- standardManagerStateList.value = res.data
- }
- else if (code === 'standardLevel') {
- standardLevelList.value = res.data
- }
- else if (code === 'transmitRange') {
- transmitRangeList.value = res.data
- }
- else if (code === 'standardCategory') {
- checkTypeOptions.value = res.data
- }
- })
+const emit = defineEmits(['close'])
+// 定义数据
+const formInline = ref({})
+// 关闭
+interface menuType {
+ name: string
+ comp: any
}
-getSelectList('measureMajor') // 获取计量专业下拉框
-getSelectList('standardManagerState') // 获取管理状态下拉框
-getSelectList('standardLevel') // 获取标准等级下拉框
-getSelectList('transmitRange') // 获取传递范围下拉框
-getSelectList('standardCategory') // 获取类别下拉框
-// 获取部门信息
-getUsersDept({
- createTime: '',
- director: '',
- meterMajor: '',
- organizeName: '',
- organizeNo: '',
- organizeType: '2',
- pdeptId: null,
- offset: 1,
- limit: 999999,
-}).then((res) => {
- standardUsersDeptList.value = res.data.rows
+const menu = shallowRef([
+ { name: '基本信息', comp: baseInfo },
+ { name: '计量人员', comp: table },
+ { name: '标准配套设备', comp: table },
+ { name: '检定规程', comp: table },
+ { name: '重复性考核记录', comp: table },
+ { name: '稳定性考核记录', comp: table },
+ { name: '证书管理', comp: table },
+])
+const currentCompRef = ref()
+const current = ref('基本信息')
+const currentComp = shallowRef(baseInfo)
+watch(current, (newValue) => {
+ currentComp.value = menu.value.filter(item => item.name === newValue)[0].comp
})
-// 获取到标准负责人数组
-const getStandardOwnerOptions = () => {
- const params = {
- staffNo: '', // 人员编号
- name: '', // 姓名
- deptId: '', // 工作部门
- major: '', // 计量专业
- verifierCertificateNo: '', // 证书号
- certificateStatus: '', // 证书状态
- limit: 100000,
- offset: 1,
- }
- getStaffList(params).then((res) => {
- standardOwnerOptions.value = res.data.records
- })
-}
-getStandardOwnerOptions()
// 关闭
const close = () => {
emit('close')
}
-const rules = ref({
- standardName: [{ required: true, message: '标准名称不能为空', trigger: 'blur' }],
- projectNo: [{ required: true, message: '项目编号不能为空', trigger: 'blur' }],
- constructionStandardProject: [{ required: true, message: '建标项目不能为空', trigger: 'blur' }],
- organizeNo: [{ required: true, message: '组织机构代码不能为空', trigger: 'blur' }],
- constructionStandardUnitName: [{ required: true, message: '建标单位名称不能为空', trigger: 'blur' }],
- standardOwner: [{ required: true, message: '标准负责人不能为空', trigger: 'blur' }],
- contactInfo: [{ required: true, message: '联系方式不能为空', trigger: 'blur' }],
- category: [{ required: true, message: '类 别不能为空', trigger: 'blur' }],
- standardLevel: [{ required: true, message: '标准等级不能为空', trigger: 'blur' }],
- transmitRange: [{ required: true, message: '传递范围不能为空', trigger: 'blur' }],
- preparationDate: [{ required: true, message: '筹建日期不能为空', trigger: 'blur' }],
- managerState: [{ required: true, message: '管理状态不能为空', trigger: 'blur' }],
- measureMajor: [{ required: true, message: '计量专业不能为空', trigger: 'blur' }],
- assessmentUnit: [{ required: true, message: '考核单位不能为空', trigger: 'blur' }],
- assessDate: [{ required: true, message: '考核日期不能为空', trigger: 'blur' }],
- uncertainty: [{ required: true, message: '不确定度不能为空', trigger: 'blur' }],
- mesureRange: [{ required: true, message: '测量范围不能为空', trigger: 'blur' }],
- standardTemperature: [{ required: true, message: '标准温度不能为空', trigger: 'blur' },
- { pattern: /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/, message: '标准温度只能为数字', trigger: 'blur' }],
- standardHumidity: [{ required: true, message: '标准湿度不能为空', trigger: 'blur' },
- { pattern: /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/, message: '标准湿度只能为数字', trigger: 'blur' }],
-}) // 表单验证规则
-// 上传请求
-const uploadQuarterlyEvaluateFile = (file: File) => {
- const fd = new FormData()
- fd.append('multipartFile', file.file)
- UploadFile(fd).then((res) => {
- if (res.code === 200) {
- formInline.value.fileList = res.data
- // 重置当前验证
- ElMessage.success('文件上传成功')
- }
- })
-}
-const handleExceed: UploadProps['onExceed'] = (files, uploadFiles) => {
- ElMessage.warning('只能上传一个文件')
-}
-// 移除时触发
-const beforeRemove: UploadProps['beforeRemove'] = (uploadFile, uploadFiles) => {
- return ElMessageBox.confirm(
- `确认移除${uploadFile.name}文件吗 ?`,
- ).then(
- () => true,
- () => false,
-
- )
-}
-// 点击文件预览
-const uploadShow = (e: any) => {
- const URL = window.URL || window.webkitURL
- window.open(URL.createObjectURL(e.raw))
-}
-const testForm = ref({
- fileList: [],
- fileContent: '',
-})
-const handleFileChange = (files: any, fileList: any) => {
- testForm.value.fileList = fileList
- const reader = new FileReader()
- reader.readAsText(files.raw)
- // reader.onload = (e) => {
- // testForm.value.fileContent = e.target!.result?.replace(
- // /\n|\r\n/g,
- // '
',
- // )
- // }
+const setData = (newValue: object) => {
+ formInline.value = newValue
}
// 编辑获取详情的提交按钮
const submitFormDetail = () => {
@@ -223,60 +72,29 @@
}
}
// 提交
-const submitForm = (formEl: FormInstance | undefined) => {
- if (!formEl) { return }
+const submitForm = () => {
if (props.buttonType === '详情') { return submitFormDetail() }
- formEl.validate((valid, fields) => {
- if (valid) {
- ElMessageBox.confirm(
- '确认提交吗?',
- '提示',
- {
- confirmButtonText: '确认',
- cancelButtonText: '取消',
- type: 'warning',
- },
- ).then(() => {
- props.buttonType === ''
- ? getStandardListAdd(formInline.value).then((res) => {
- if (res.code === 200) {
- close()
- }
- })
- : submitFormDetail()
- })
- }
- })
-}
-// 标准实验室发生改变row类型
-interface rowReturn {
- phone: string
- director: string
-}
-// 标准实验室发生改变
-const changeDeptList = (row: object) => {
- formInline.value.laboratoryOwnerContact = row.phone
- formInline.value.laboratoryOwner = row.director
-}
-// 标准实验室清空时
-const clearDeptList = () => {
- formInline.value.laboratoryOwnerContact = null
- formInline.value.laboratoryOwner = null
-}
-// 获取详情信息
-const getInfo = () => {
- getStandardListDetail({ id: props.infoId }).then((res) => {
- Object.keys(res.data).map((item) => {
- if (typeof (res.data[item]) === 'number') {
- res.data[item] = res.data[item].toString()
- }
+ ElMessageBox.confirm(
+ '确认提交吗?',
+ '提示',
+ {
+ confirmButtonText: '确认',
+ cancelButtonText: '取消',
+ type: 'warning',
+ },
+ ).then(() => {
+ current.value = '基本信息'
+ currentCompRef.value.submitForm().validate().then(() => {
+ props.buttonType === ''
+ ? getStandardListAdd(formInline.value).then((res) => {
+ if (res.code === 200) {
+ close()
+ }
+ })
+ : submitFormDetail()
})
- formInline.value = res.data
})
}
-if (props.buttonType !== '') {
- getInfo()
-}
@@ -289,7 +107,7 @@
{{ buttonType === '详情' ? '打印' : '提交' }}
@@ -298,405 +116,17 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 上传
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
@@ -719,14 +149,8 @@
}
}
-.info-content {
- margin-top: 10px;
- padding: 30px;
- border-radius: 10px;
+.body {
background-color: #fff;
-}
-
-:deep .el-input .el-input--default .el-input--suffix {
- width: 200px !important;
+ margin-top: 10px;
}
diff --git a/src/views/device/standardEquipment/expirationRemind.vue b/src/views/device/standardEquipment/expirationRemind.vue
index 35786b2..1826c22 100644
--- a/src/views/device/standardEquipment/expirationRemind.vue
+++ b/src/views/device/standardEquipment/expirationRemind.vue
@@ -26,39 +26,47 @@
text: '标准代码',
value: 'standardNo',
width: '160',
+ align: 'center',
},
{
text: '标准名称',
value: 'standardName',
width: '90',
+ align: 'center',
},
{
text: '管理状态',
value: 'managerStateName',
width: '100',
+ align: 'center',
},
{
text: '标准所在部门',
value: 'standardLaboratoryName',
width: '120',
+ align: 'center',
},
{
text: '负责人',
value: 'standardOwnerName',
+ align: 'center',
},
{
text: '建标项目',
value: 'standardOwnerName',
+ align: 'center',
},
{
text: '筹建日期',
value: 'preparationDate',
width: '160',
+ align: 'center',
},
{
text: '有效日期',
value: 'preparationDate',
width: '160',
+ align: 'center',
},
])
const total = ref(0)
@@ -326,12 +334,8 @@
-
- 导出
-
-
- 打印
-
+
+
- 编辑
+ 详情
- 详情
+ 提醒
+import applyList from './components/applyList.vue'
// 逻辑代码
- 暂停申请
+
diff --git a/src/views/device/standardEquipment/resumeApply.vue b/src/views/device/standardEquipment/resumeApply.vue
index d4a80e8..b5896fc 100644
--- a/src/views/device/standardEquipment/resumeApply.vue
+++ b/src/views/device/standardEquipment/resumeApply.vue
@@ -1,10 +1,11 @@
- 恢复申请
+
diff --git a/src/views/device/standardEquipment/standardList.vue b/src/views/device/standardEquipment/standardList.vue
index 4f1bfdf..348ed71 100644
--- a/src/views/device/standardEquipment/standardList.vue
+++ b/src/views/device/standardEquipment/standardList.vue
@@ -29,50 +29,60 @@
text: '标准代码',
value: 'standardNo',
width: '120',
+ align: 'center',
},
{
text: '标准名称',
value: 'standardName',
width: '90',
+ align: 'center',
},
{
text: '类别',
value: 'categoryName',
width: '80',
+ align: 'center',
},
{
text: '标准等级',
value: 'standardLevelName',
width: '100',
+ align: 'center',
},
{
text: '传递范围',
value: 'transmitRange',
width: '110',
+ align: 'center',
},
{
text: '管理状态',
value: 'managerStateName',
width: '100',
+ align: 'center',
},
{
text: '标准所在部门',
value: 'standardLaboratoryName',
width: '120',
+ align: 'center',
},
{
text: '负责人',
value: 'laboratoryOwner',
+ align: 'center',
},
{
text: '筹建日期',
value: 'preparationDate',
width: '110',
+ align: 'center',
},
{
text: '备注',
value: 'remark',
width: '80',
+ align: 'center',
},
])
const total = ref(0)
@@ -250,6 +260,9 @@
buttonType.value = text
isShow.value = false
}
+const renderHeader = (e: any) => {
+ console.log(e)
+}
@@ -330,19 +343,13 @@
-
- 新建
-
-
- 导出
-
-
- 打印
-
+
+
+
diff --git a/src/views/device/stateManage/components/approvalActionDialog.vue b/src/views/device/stateManage/components/approvalActionDialog.vue
index cdc9b25..56417d6 100644
--- a/src/views/device/stateManage/components/approvalActionDialog.vue
+++ b/src/views/device/stateManage/components/approvalActionDialog.vue
@@ -1,10 +1,13 @@
- 撤销申请
+
diff --git a/src/views/device/standardEquipment/changeApply.vue b/src/views/device/standardEquipment/changeApply.vue
index 0762330..6625970 100644
--- a/src/views/device/standardEquipment/changeApply.vue
+++ b/src/views/device/standardEquipment/changeApply.vue
@@ -1,10 +1,11 @@
-
- 更换申请
+
diff --git a/src/views/device/standardEquipment/checkApply.vue b/src/views/device/standardEquipment/checkApply.vue
index 9cadc01..6625970 100644
--- a/src/views/device/standardEquipment/checkApply.vue
+++ b/src/views/device/standardEquipment/checkApply.vue
@@ -1,10 +1,11 @@
- 复查申请
+
diff --git a/src/views/device/standardEquipment/components/applyList.vue b/src/views/device/standardEquipment/components/applyList.vue
new file mode 100644
index 0000000..45be74a
--- /dev/null
+++ b/src/views/device/standardEquipment/components/applyList.vue
@@ -0,0 +1,65 @@
+
+
+
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/all.vue b/src/views/device/standardEquipment/components/listApply/all.vue
new file mode 100644
index 0000000..d124307
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/all.vue
@@ -0,0 +1,17 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/approvalPending.vue b/src/views/device/standardEquipment/components/listApply/approvalPending.vue
new file mode 100644
index 0000000..8a7a8bc
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/approvalPending.vue
@@ -0,0 +1,16 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/canceled.vue b/src/views/device/standardEquipment/components/listApply/canceled.vue
new file mode 100644
index 0000000..3b9657c
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/canceled.vue
@@ -0,0 +1,15 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/draftBox.vue b/src/views/device/standardEquipment/components/listApply/draftBox.vue
new file mode 100644
index 0000000..43d7b75
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/draftBox.vue
@@ -0,0 +1,15 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue b/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue
new file mode 100644
index 0000000..c13f95a
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue
@@ -0,0 +1,17 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/listPage.vue b/src/views/device/standardEquipment/components/listApply/listPage.vue
new file mode 100644
index 0000000..5133627
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/listPage.vue
@@ -0,0 +1,493 @@
+
+
+
+
+
+
+
+
+
+
+
+ 同意
+
+
+ 驳回
+
+
+ 拒绝
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 提交
+
+
+ 取消
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/listPageAdd.vue b/src/views/device/standardEquipment/components/listApply/listPageAdd.vue
new file mode 100644
index 0000000..eb506ec
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/listPageAdd.vue
@@ -0,0 +1,1021 @@
+
+
+
+
+
+
+ 基本信息
+
+
+
+ {{ item }}
+
+
+ 关闭
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 上传
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 完成
+
+
+
+
+
+
+
+ 同意
+
+
+ 驳回
+
+
+ 拒绝
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 提交
+
+
+ 取消
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/notPass.vue b/src/views/device/standardEquipment/components/listApply/notPass.vue
new file mode 100644
index 0000000..5a4b817
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/notPass.vue
@@ -0,0 +1,10 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/passed.vue b/src/views/device/standardEquipment/components/listApply/passed.vue
new file mode 100644
index 0000000..31cd21c
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/passed.vue
@@ -0,0 +1,10 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/addRow.vue b/src/views/device/standardEquipment/components/standardList/addRow.vue
new file mode 100644
index 0000000..9f2bf81
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/addRow.vue
@@ -0,0 +1,270 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/baseInfo.vue b/src/views/device/standardEquipment/components/standardList/baseInfo.vue
new file mode 100644
index 0000000..c47ad1d
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/baseInfo.vue
@@ -0,0 +1,675 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 上传
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/temptable.vue b/src/views/device/standardEquipment/components/standardList/temptable.vue
new file mode 100644
index 0000000..20eb800
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/temptable.vue
@@ -0,0 +1,387 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ (searchQuery.offset - 1) * searchQuery.limit + scope.$index + 1 }}
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardListAdd.vue b/src/views/device/standardEquipment/components/standardListAdd.vue
index ea13629..348bb41 100644
--- a/src/views/device/standardEquipment/components/standardListAdd.vue
+++ b/src/views/device/standardEquipment/components/standardListAdd.vue
@@ -3,6 +3,8 @@
import { ElMessage, ElMessageBox } from 'element-plus'
import type { FormInstance, UploadProps, UploadUserFile } from 'element-plus'
import type { IOptions } from '../standard_interface'
+import baseInfo from './standardList/baseInfo.vue'
+import table from './standardList/temptable.vue'
import { getStaffList } from '@/api/measure/person'
import { getTypeSelect } from '@/api/system/price'
import { getStandardLisUpdate, getStandardListAdd, getStandardListDetail, getUsersDept } from '@/api/device/standard'
@@ -17,188 +19,35 @@
default: '',
},
})
-const emit = defineEmits(['close']) // 关闭
-const ruleFormRef = ref()
-// 逻辑代码
-const formInline = ref({
- assessDate: '',
- assessmentUnit: '',
- category: null,
- categoryName: '',
- constructionStandardProject: '',
- constructionStandardUnitName: '',
- contactInfo: '',
- createTime: null,
- createUser: null,
- id: '',
- isDel: null,
- laboratoryOwner: null,
- laboratoryOwnerContact: null,
- laboratoryOwnerName: null,
- managerState: null,
- managerStateName: '',
- measureMajor: null,
- fileList: [],
- measureMajorName: '',
- mesureRange: '',
- organizeNo: '',
- preparationDate: '',
- projectNo: '',
- remark: '',
- standardHumidity: null,
- standardLaboratory: null,
- standardLaboratoryName: '',
- standardLevel: null,
- standardLevelName: '',
- standardName: '',
- standardNo: '',
- standardOwner: null,
- standardOwnerName: '',
- standardTemperature: null,
- totalInvestment: null,
- transmitRange: null,
- transmitRangeName: '',
- uncertainty: '',
- updateTime: null,
- version: null,
-})
-const checkTypeOptions = ref([])
-
-const standardOwnerOptions = ref([]) // 标准负责人
-const fileList = ref([]) // 文件对象数组
-const measureMajorList = ref([]) // 计量专业下拉框
-const standardManagerStateList = ref([]) // 管理状态下拉框
-const standardLevelList = ref([]) // 标准等级下拉框
-const transmitRangeList = ref([]) // 传递范围下拉框
-// 标准所在部门下拉框
-const standardUsersDeptList = ref([])
-// 获取下拉框
-const getSelectList = (code: string) => {
- getTypeSelect(code).then((res) => {
- if (code === 'measureMajor') {
- measureMajorList.value = res.data
- }
- else if (code === 'standardManagerState') {
- standardManagerStateList.value = res.data
- }
- else if (code === 'standardLevel') {
- standardLevelList.value = res.data
- }
- else if (code === 'transmitRange') {
- transmitRangeList.value = res.data
- }
- else if (code === 'standardCategory') {
- checkTypeOptions.value = res.data
- }
- })
+const emit = defineEmits(['close'])
+// 定义数据
+const formInline = ref({})
+// 关闭
+interface menuType {
+ name: string
+ comp: any
}
-getSelectList('measureMajor') // 获取计量专业下拉框
-getSelectList('standardManagerState') // 获取管理状态下拉框
-getSelectList('standardLevel') // 获取标准等级下拉框
-getSelectList('transmitRange') // 获取传递范围下拉框
-getSelectList('standardCategory') // 获取类别下拉框
-// 获取部门信息
-getUsersDept({
- createTime: '',
- director: '',
- meterMajor: '',
- organizeName: '',
- organizeNo: '',
- organizeType: '2',
- pdeptId: null,
- offset: 1,
- limit: 999999,
-}).then((res) => {
- standardUsersDeptList.value = res.data.rows
+const menu = shallowRef([
+ { name: '基本信息', comp: baseInfo },
+ { name: '计量人员', comp: table },
+ { name: '标准配套设备', comp: table },
+ { name: '检定规程', comp: table },
+ { name: '重复性考核记录', comp: table },
+ { name: '稳定性考核记录', comp: table },
+ { name: '证书管理', comp: table },
+])
+const currentCompRef = ref()
+const current = ref('基本信息')
+const currentComp = shallowRef(baseInfo)
+watch(current, (newValue) => {
+ currentComp.value = menu.value.filter(item => item.name === newValue)[0].comp
})
-// 获取到标准负责人数组
-const getStandardOwnerOptions = () => {
- const params = {
- staffNo: '', // 人员编号
- name: '', // 姓名
- deptId: '', // 工作部门
- major: '', // 计量专业
- verifierCertificateNo: '', // 证书号
- certificateStatus: '', // 证书状态
- limit: 100000,
- offset: 1,
- }
- getStaffList(params).then((res) => {
- standardOwnerOptions.value = res.data.records
- })
-}
-getStandardOwnerOptions()
// 关闭
const close = () => {
emit('close')
}
-const rules = ref({
- standardName: [{ required: true, message: '标准名称不能为空', trigger: 'blur' }],
- projectNo: [{ required: true, message: '项目编号不能为空', trigger: 'blur' }],
- constructionStandardProject: [{ required: true, message: '建标项目不能为空', trigger: 'blur' }],
- organizeNo: [{ required: true, message: '组织机构代码不能为空', trigger: 'blur' }],
- constructionStandardUnitName: [{ required: true, message: '建标单位名称不能为空', trigger: 'blur' }],
- standardOwner: [{ required: true, message: '标准负责人不能为空', trigger: 'blur' }],
- contactInfo: [{ required: true, message: '联系方式不能为空', trigger: 'blur' }],
- category: [{ required: true, message: '类 别不能为空', trigger: 'blur' }],
- standardLevel: [{ required: true, message: '标准等级不能为空', trigger: 'blur' }],
- transmitRange: [{ required: true, message: '传递范围不能为空', trigger: 'blur' }],
- preparationDate: [{ required: true, message: '筹建日期不能为空', trigger: 'blur' }],
- managerState: [{ required: true, message: '管理状态不能为空', trigger: 'blur' }],
- measureMajor: [{ required: true, message: '计量专业不能为空', trigger: 'blur' }],
- assessmentUnit: [{ required: true, message: '考核单位不能为空', trigger: 'blur' }],
- assessDate: [{ required: true, message: '考核日期不能为空', trigger: 'blur' }],
- uncertainty: [{ required: true, message: '不确定度不能为空', trigger: 'blur' }],
- mesureRange: [{ required: true, message: '测量范围不能为空', trigger: 'blur' }],
- standardTemperature: [{ required: true, message: '标准温度不能为空', trigger: 'blur' },
- { pattern: /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/, message: '标准温度只能为数字', trigger: 'blur' }],
- standardHumidity: [{ required: true, message: '标准湿度不能为空', trigger: 'blur' },
- { pattern: /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/, message: '标准湿度只能为数字', trigger: 'blur' }],
-}) // 表单验证规则
-// 上传请求
-const uploadQuarterlyEvaluateFile = (file: File) => {
- const fd = new FormData()
- fd.append('multipartFile', file.file)
- UploadFile(fd).then((res) => {
- if (res.code === 200) {
- formInline.value.fileList = res.data
- // 重置当前验证
- ElMessage.success('文件上传成功')
- }
- })
-}
-const handleExceed: UploadProps['onExceed'] = (files, uploadFiles) => {
- ElMessage.warning('只能上传一个文件')
-}
-// 移除时触发
-const beforeRemove: UploadProps['beforeRemove'] = (uploadFile, uploadFiles) => {
- return ElMessageBox.confirm(
- `确认移除${uploadFile.name}文件吗 ?`,
- ).then(
- () => true,
- () => false,
-
- )
-}
-// 点击文件预览
-const uploadShow = (e: any) => {
- const URL = window.URL || window.webkitURL
- window.open(URL.createObjectURL(e.raw))
-}
-const testForm = ref({
- fileList: [],
- fileContent: '',
-})
-const handleFileChange = (files: any, fileList: any) => {
- testForm.value.fileList = fileList
- const reader = new FileReader()
- reader.readAsText(files.raw)
- // reader.onload = (e) => {
- // testForm.value.fileContent = e.target!.result?.replace(
- // /\n|\r\n/g,
- // '
',
- // )
- // }
+const setData = (newValue: object) => {
+ formInline.value = newValue
}
// 编辑获取详情的提交按钮
const submitFormDetail = () => {
@@ -223,60 +72,29 @@
}
}
// 提交
-const submitForm = (formEl: FormInstance | undefined) => {
- if (!formEl) { return }
+const submitForm = () => {
if (props.buttonType === '详情') { return submitFormDetail() }
- formEl.validate((valid, fields) => {
- if (valid) {
- ElMessageBox.confirm(
- '确认提交吗?',
- '提示',
- {
- confirmButtonText: '确认',
- cancelButtonText: '取消',
- type: 'warning',
- },
- ).then(() => {
- props.buttonType === ''
- ? getStandardListAdd(formInline.value).then((res) => {
- if (res.code === 200) {
- close()
- }
- })
- : submitFormDetail()
- })
- }
- })
-}
-// 标准实验室发生改变row类型
-interface rowReturn {
- phone: string
- director: string
-}
-// 标准实验室发生改变
-const changeDeptList = (row: object) => {
- formInline.value.laboratoryOwnerContact = row.phone
- formInline.value.laboratoryOwner = row.director
-}
-// 标准实验室清空时
-const clearDeptList = () => {
- formInline.value.laboratoryOwnerContact = null
- formInline.value.laboratoryOwner = null
-}
-// 获取详情信息
-const getInfo = () => {
- getStandardListDetail({ id: props.infoId }).then((res) => {
- Object.keys(res.data).map((item) => {
- if (typeof (res.data[item]) === 'number') {
- res.data[item] = res.data[item].toString()
- }
+ ElMessageBox.confirm(
+ '确认提交吗?',
+ '提示',
+ {
+ confirmButtonText: '确认',
+ cancelButtonText: '取消',
+ type: 'warning',
+ },
+ ).then(() => {
+ current.value = '基本信息'
+ currentCompRef.value.submitForm().validate().then(() => {
+ props.buttonType === ''
+ ? getStandardListAdd(formInline.value).then((res) => {
+ if (res.code === 200) {
+ close()
+ }
+ })
+ : submitFormDetail()
})
- formInline.value = res.data
})
}
-if (props.buttonType !== '') {
- getInfo()
-}
@@ -289,7 +107,7 @@
{{ buttonType === '详情' ? '打印' : '提交' }}
@@ -298,405 +116,17 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 上传
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
@@ -719,14 +149,8 @@
}
}
-.info-content {
- margin-top: 10px;
- padding: 30px;
- border-radius: 10px;
+.body {
background-color: #fff;
-}
-
-:deep .el-input .el-input--default .el-input--suffix {
- width: 200px !important;
+ margin-top: 10px;
}
diff --git a/src/views/device/standardEquipment/expirationRemind.vue b/src/views/device/standardEquipment/expirationRemind.vue
index 35786b2..1826c22 100644
--- a/src/views/device/standardEquipment/expirationRemind.vue
+++ b/src/views/device/standardEquipment/expirationRemind.vue
@@ -26,39 +26,47 @@
text: '标准代码',
value: 'standardNo',
width: '160',
+ align: 'center',
},
{
text: '标准名称',
value: 'standardName',
width: '90',
+ align: 'center',
},
{
text: '管理状态',
value: 'managerStateName',
width: '100',
+ align: 'center',
},
{
text: '标准所在部门',
value: 'standardLaboratoryName',
width: '120',
+ align: 'center',
},
{
text: '负责人',
value: 'standardOwnerName',
+ align: 'center',
},
{
text: '建标项目',
value: 'standardOwnerName',
+ align: 'center',
},
{
text: '筹建日期',
value: 'preparationDate',
width: '160',
+ align: 'center',
},
{
text: '有效日期',
value: 'preparationDate',
width: '160',
+ align: 'center',
},
])
const total = ref(0)
@@ -326,12 +334,8 @@
-
- 导出
-
-
- 打印
-
+
+
- 编辑
+ 详情
- 详情
+ 提醒
+import applyList from './components/applyList.vue'
// 逻辑代码
- 暂停申请
+
diff --git a/src/views/device/standardEquipment/resumeApply.vue b/src/views/device/standardEquipment/resumeApply.vue
index d4a80e8..b5896fc 100644
--- a/src/views/device/standardEquipment/resumeApply.vue
+++ b/src/views/device/standardEquipment/resumeApply.vue
@@ -1,10 +1,11 @@
- 恢复申请
+
diff --git a/src/views/device/standardEquipment/standardList.vue b/src/views/device/standardEquipment/standardList.vue
index 4f1bfdf..348ed71 100644
--- a/src/views/device/standardEquipment/standardList.vue
+++ b/src/views/device/standardEquipment/standardList.vue
@@ -29,50 +29,60 @@
text: '标准代码',
value: 'standardNo',
width: '120',
+ align: 'center',
},
{
text: '标准名称',
value: 'standardName',
width: '90',
+ align: 'center',
},
{
text: '类别',
value: 'categoryName',
width: '80',
+ align: 'center',
},
{
text: '标准等级',
value: 'standardLevelName',
width: '100',
+ align: 'center',
},
{
text: '传递范围',
value: 'transmitRange',
width: '110',
+ align: 'center',
},
{
text: '管理状态',
value: 'managerStateName',
width: '100',
+ align: 'center',
},
{
text: '标准所在部门',
value: 'standardLaboratoryName',
width: '120',
+ align: 'center',
},
{
text: '负责人',
value: 'laboratoryOwner',
+ align: 'center',
},
{
text: '筹建日期',
value: 'preparationDate',
width: '110',
+ align: 'center',
},
{
text: '备注',
value: 'remark',
width: '80',
+ align: 'center',
},
])
const total = ref(0)
@@ -250,6 +260,9 @@
buttonType.value = text
isShow.value = false
}
+const renderHeader = (e: any) => {
+ console.log(e)
+}
@@ -330,19 +343,13 @@
-
- 新建
-
-
- 导出
-
-
- 打印
-
+
+
+
diff --git a/src/views/device/stateManage/components/approvalActionDialog.vue b/src/views/device/stateManage/components/approvalActionDialog.vue
index cdc9b25..56417d6 100644
--- a/src/views/device/stateManage/components/approvalActionDialog.vue
+++ b/src/views/device/stateManage/components/approvalActionDialog.vue
@@ -1,10 +1,13 @@
+
+
+
+
diff --git a/src/components.d.ts b/src/components.d.ts
index fea7d82..6e85584 100644
--- a/src/components.d.ts
+++ b/src/components.d.ts
@@ -16,6 +16,7 @@
BarChartHorizontal: typeof import('./components/Echart/BarChartHorizontal.vue')['default']
BarChartVertical: typeof import('./components/Echart/BarChartVertical.vue')['default']
BatchActionBar: typeof import('./components/BatchActionBar/index.vue')['default']
+ Benchcol: typeof import('./components/benchcol/index.vue')['default']
BenchCol: typeof import('./components/benchCol/index.vue')['default']
ConditionDrawer: typeof import('./components/drawer/conditionDrawer.vue')['default']
copy: typeof import('./components/DetailPage/index copy.vue')['default']
diff --git a/src/views/device/standardEquipment/cancelApply.vue b/src/views/device/standardEquipment/cancelApply.vue
index c093520..1e50f44 100644
--- a/src/views/device/standardEquipment/cancelApply.vue
+++ b/src/views/device/standardEquipment/cancelApply.vue
@@ -1,10 +1,11 @@
- 撤销申请
+
diff --git a/src/views/device/standardEquipment/changeApply.vue b/src/views/device/standardEquipment/changeApply.vue
index 0762330..6625970 100644
--- a/src/views/device/standardEquipment/changeApply.vue
+++ b/src/views/device/standardEquipment/changeApply.vue
@@ -1,10 +1,11 @@
-
- 更换申请
+
diff --git a/src/views/device/standardEquipment/checkApply.vue b/src/views/device/standardEquipment/checkApply.vue
index 9cadc01..6625970 100644
--- a/src/views/device/standardEquipment/checkApply.vue
+++ b/src/views/device/standardEquipment/checkApply.vue
@@ -1,10 +1,11 @@
- 复查申请
+
diff --git a/src/views/device/standardEquipment/components/applyList.vue b/src/views/device/standardEquipment/components/applyList.vue
new file mode 100644
index 0000000..45be74a
--- /dev/null
+++ b/src/views/device/standardEquipment/components/applyList.vue
@@ -0,0 +1,65 @@
+
+
+
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/all.vue b/src/views/device/standardEquipment/components/listApply/all.vue
new file mode 100644
index 0000000..d124307
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/all.vue
@@ -0,0 +1,17 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/approvalPending.vue b/src/views/device/standardEquipment/components/listApply/approvalPending.vue
new file mode 100644
index 0000000..8a7a8bc
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/approvalPending.vue
@@ -0,0 +1,16 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/canceled.vue b/src/views/device/standardEquipment/components/listApply/canceled.vue
new file mode 100644
index 0000000..3b9657c
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/canceled.vue
@@ -0,0 +1,15 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/draftBox.vue b/src/views/device/standardEquipment/components/listApply/draftBox.vue
new file mode 100644
index 0000000..43d7b75
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/draftBox.vue
@@ -0,0 +1,15 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue b/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue
new file mode 100644
index 0000000..c13f95a
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue
@@ -0,0 +1,17 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/listPage.vue b/src/views/device/standardEquipment/components/listApply/listPage.vue
new file mode 100644
index 0000000..5133627
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/listPage.vue
@@ -0,0 +1,493 @@
+
+
+
+
+
+
+
+
+
+
+
+ 同意
+
+
+ 驳回
+
+
+ 拒绝
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 提交
+
+
+ 取消
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/listPageAdd.vue b/src/views/device/standardEquipment/components/listApply/listPageAdd.vue
new file mode 100644
index 0000000..eb506ec
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/listPageAdd.vue
@@ -0,0 +1,1021 @@
+
+
+
+
+
+
+ 基本信息
+
+
+
+ {{ item }}
+
+
+ 关闭
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 上传
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 完成
+
+
+
+
+
+
+
+ 同意
+
+
+ 驳回
+
+
+ 拒绝
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 提交
+
+
+ 取消
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/notPass.vue b/src/views/device/standardEquipment/components/listApply/notPass.vue
new file mode 100644
index 0000000..5a4b817
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/notPass.vue
@@ -0,0 +1,10 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/passed.vue b/src/views/device/standardEquipment/components/listApply/passed.vue
new file mode 100644
index 0000000..31cd21c
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/passed.vue
@@ -0,0 +1,10 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/addRow.vue b/src/views/device/standardEquipment/components/standardList/addRow.vue
new file mode 100644
index 0000000..9f2bf81
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/addRow.vue
@@ -0,0 +1,270 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/baseInfo.vue b/src/views/device/standardEquipment/components/standardList/baseInfo.vue
new file mode 100644
index 0000000..c47ad1d
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/baseInfo.vue
@@ -0,0 +1,675 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 上传
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/temptable.vue b/src/views/device/standardEquipment/components/standardList/temptable.vue
new file mode 100644
index 0000000..20eb800
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/temptable.vue
@@ -0,0 +1,387 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ (searchQuery.offset - 1) * searchQuery.limit + scope.$index + 1 }}
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardListAdd.vue b/src/views/device/standardEquipment/components/standardListAdd.vue
index ea13629..348bb41 100644
--- a/src/views/device/standardEquipment/components/standardListAdd.vue
+++ b/src/views/device/standardEquipment/components/standardListAdd.vue
@@ -3,6 +3,8 @@
import { ElMessage, ElMessageBox } from 'element-plus'
import type { FormInstance, UploadProps, UploadUserFile } from 'element-plus'
import type { IOptions } from '../standard_interface'
+import baseInfo from './standardList/baseInfo.vue'
+import table from './standardList/temptable.vue'
import { getStaffList } from '@/api/measure/person'
import { getTypeSelect } from '@/api/system/price'
import { getStandardLisUpdate, getStandardListAdd, getStandardListDetail, getUsersDept } from '@/api/device/standard'
@@ -17,188 +19,35 @@
default: '',
},
})
-const emit = defineEmits(['close']) // 关闭
-const ruleFormRef = ref()
-// 逻辑代码
-const formInline = ref({
- assessDate: '',
- assessmentUnit: '',
- category: null,
- categoryName: '',
- constructionStandardProject: '',
- constructionStandardUnitName: '',
- contactInfo: '',
- createTime: null,
- createUser: null,
- id: '',
- isDel: null,
- laboratoryOwner: null,
- laboratoryOwnerContact: null,
- laboratoryOwnerName: null,
- managerState: null,
- managerStateName: '',
- measureMajor: null,
- fileList: [],
- measureMajorName: '',
- mesureRange: '',
- organizeNo: '',
- preparationDate: '',
- projectNo: '',
- remark: '',
- standardHumidity: null,
- standardLaboratory: null,
- standardLaboratoryName: '',
- standardLevel: null,
- standardLevelName: '',
- standardName: '',
- standardNo: '',
- standardOwner: null,
- standardOwnerName: '',
- standardTemperature: null,
- totalInvestment: null,
- transmitRange: null,
- transmitRangeName: '',
- uncertainty: '',
- updateTime: null,
- version: null,
-})
-const checkTypeOptions = ref([])
-
-const standardOwnerOptions = ref([]) // 标准负责人
-const fileList = ref([]) // 文件对象数组
-const measureMajorList = ref([]) // 计量专业下拉框
-const standardManagerStateList = ref([]) // 管理状态下拉框
-const standardLevelList = ref([]) // 标准等级下拉框
-const transmitRangeList = ref([]) // 传递范围下拉框
-// 标准所在部门下拉框
-const standardUsersDeptList = ref([])
-// 获取下拉框
-const getSelectList = (code: string) => {
- getTypeSelect(code).then((res) => {
- if (code === 'measureMajor') {
- measureMajorList.value = res.data
- }
- else if (code === 'standardManagerState') {
- standardManagerStateList.value = res.data
- }
- else if (code === 'standardLevel') {
- standardLevelList.value = res.data
- }
- else if (code === 'transmitRange') {
- transmitRangeList.value = res.data
- }
- else if (code === 'standardCategory') {
- checkTypeOptions.value = res.data
- }
- })
+const emit = defineEmits(['close'])
+// 定义数据
+const formInline = ref({})
+// 关闭
+interface menuType {
+ name: string
+ comp: any
}
-getSelectList('measureMajor') // 获取计量专业下拉框
-getSelectList('standardManagerState') // 获取管理状态下拉框
-getSelectList('standardLevel') // 获取标准等级下拉框
-getSelectList('transmitRange') // 获取传递范围下拉框
-getSelectList('standardCategory') // 获取类别下拉框
-// 获取部门信息
-getUsersDept({
- createTime: '',
- director: '',
- meterMajor: '',
- organizeName: '',
- organizeNo: '',
- organizeType: '2',
- pdeptId: null,
- offset: 1,
- limit: 999999,
-}).then((res) => {
- standardUsersDeptList.value = res.data.rows
+const menu = shallowRef([
+ { name: '基本信息', comp: baseInfo },
+ { name: '计量人员', comp: table },
+ { name: '标准配套设备', comp: table },
+ { name: '检定规程', comp: table },
+ { name: '重复性考核记录', comp: table },
+ { name: '稳定性考核记录', comp: table },
+ { name: '证书管理', comp: table },
+])
+const currentCompRef = ref()
+const current = ref('基本信息')
+const currentComp = shallowRef(baseInfo)
+watch(current, (newValue) => {
+ currentComp.value = menu.value.filter(item => item.name === newValue)[0].comp
})
-// 获取到标准负责人数组
-const getStandardOwnerOptions = () => {
- const params = {
- staffNo: '', // 人员编号
- name: '', // 姓名
- deptId: '', // 工作部门
- major: '', // 计量专业
- verifierCertificateNo: '', // 证书号
- certificateStatus: '', // 证书状态
- limit: 100000,
- offset: 1,
- }
- getStaffList(params).then((res) => {
- standardOwnerOptions.value = res.data.records
- })
-}
-getStandardOwnerOptions()
// 关闭
const close = () => {
emit('close')
}
-const rules = ref({
- standardName: [{ required: true, message: '标准名称不能为空', trigger: 'blur' }],
- projectNo: [{ required: true, message: '项目编号不能为空', trigger: 'blur' }],
- constructionStandardProject: [{ required: true, message: '建标项目不能为空', trigger: 'blur' }],
- organizeNo: [{ required: true, message: '组织机构代码不能为空', trigger: 'blur' }],
- constructionStandardUnitName: [{ required: true, message: '建标单位名称不能为空', trigger: 'blur' }],
- standardOwner: [{ required: true, message: '标准负责人不能为空', trigger: 'blur' }],
- contactInfo: [{ required: true, message: '联系方式不能为空', trigger: 'blur' }],
- category: [{ required: true, message: '类 别不能为空', trigger: 'blur' }],
- standardLevel: [{ required: true, message: '标准等级不能为空', trigger: 'blur' }],
- transmitRange: [{ required: true, message: '传递范围不能为空', trigger: 'blur' }],
- preparationDate: [{ required: true, message: '筹建日期不能为空', trigger: 'blur' }],
- managerState: [{ required: true, message: '管理状态不能为空', trigger: 'blur' }],
- measureMajor: [{ required: true, message: '计量专业不能为空', trigger: 'blur' }],
- assessmentUnit: [{ required: true, message: '考核单位不能为空', trigger: 'blur' }],
- assessDate: [{ required: true, message: '考核日期不能为空', trigger: 'blur' }],
- uncertainty: [{ required: true, message: '不确定度不能为空', trigger: 'blur' }],
- mesureRange: [{ required: true, message: '测量范围不能为空', trigger: 'blur' }],
- standardTemperature: [{ required: true, message: '标准温度不能为空', trigger: 'blur' },
- { pattern: /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/, message: '标准温度只能为数字', trigger: 'blur' }],
- standardHumidity: [{ required: true, message: '标准湿度不能为空', trigger: 'blur' },
- { pattern: /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/, message: '标准湿度只能为数字', trigger: 'blur' }],
-}) // 表单验证规则
-// 上传请求
-const uploadQuarterlyEvaluateFile = (file: File) => {
- const fd = new FormData()
- fd.append('multipartFile', file.file)
- UploadFile(fd).then((res) => {
- if (res.code === 200) {
- formInline.value.fileList = res.data
- // 重置当前验证
- ElMessage.success('文件上传成功')
- }
- })
-}
-const handleExceed: UploadProps['onExceed'] = (files, uploadFiles) => {
- ElMessage.warning('只能上传一个文件')
-}
-// 移除时触发
-const beforeRemove: UploadProps['beforeRemove'] = (uploadFile, uploadFiles) => {
- return ElMessageBox.confirm(
- `确认移除${uploadFile.name}文件吗 ?`,
- ).then(
- () => true,
- () => false,
-
- )
-}
-// 点击文件预览
-const uploadShow = (e: any) => {
- const URL = window.URL || window.webkitURL
- window.open(URL.createObjectURL(e.raw))
-}
-const testForm = ref({
- fileList: [],
- fileContent: '',
-})
-const handleFileChange = (files: any, fileList: any) => {
- testForm.value.fileList = fileList
- const reader = new FileReader()
- reader.readAsText(files.raw)
- // reader.onload = (e) => {
- // testForm.value.fileContent = e.target!.result?.replace(
- // /\n|\r\n/g,
- // '
',
- // )
- // }
+const setData = (newValue: object) => {
+ formInline.value = newValue
}
// 编辑获取详情的提交按钮
const submitFormDetail = () => {
@@ -223,60 +72,29 @@
}
}
// 提交
-const submitForm = (formEl: FormInstance | undefined) => {
- if (!formEl) { return }
+const submitForm = () => {
if (props.buttonType === '详情') { return submitFormDetail() }
- formEl.validate((valid, fields) => {
- if (valid) {
- ElMessageBox.confirm(
- '确认提交吗?',
- '提示',
- {
- confirmButtonText: '确认',
- cancelButtonText: '取消',
- type: 'warning',
- },
- ).then(() => {
- props.buttonType === ''
- ? getStandardListAdd(formInline.value).then((res) => {
- if (res.code === 200) {
- close()
- }
- })
- : submitFormDetail()
- })
- }
- })
-}
-// 标准实验室发生改变row类型
-interface rowReturn {
- phone: string
- director: string
-}
-// 标准实验室发生改变
-const changeDeptList = (row: object) => {
- formInline.value.laboratoryOwnerContact = row.phone
- formInline.value.laboratoryOwner = row.director
-}
-// 标准实验室清空时
-const clearDeptList = () => {
- formInline.value.laboratoryOwnerContact = null
- formInline.value.laboratoryOwner = null
-}
-// 获取详情信息
-const getInfo = () => {
- getStandardListDetail({ id: props.infoId }).then((res) => {
- Object.keys(res.data).map((item) => {
- if (typeof (res.data[item]) === 'number') {
- res.data[item] = res.data[item].toString()
- }
+ ElMessageBox.confirm(
+ '确认提交吗?',
+ '提示',
+ {
+ confirmButtonText: '确认',
+ cancelButtonText: '取消',
+ type: 'warning',
+ },
+ ).then(() => {
+ current.value = '基本信息'
+ currentCompRef.value.submitForm().validate().then(() => {
+ props.buttonType === ''
+ ? getStandardListAdd(formInline.value).then((res) => {
+ if (res.code === 200) {
+ close()
+ }
+ })
+ : submitFormDetail()
})
- formInline.value = res.data
})
}
-if (props.buttonType !== '') {
- getInfo()
-}
@@ -289,7 +107,7 @@
{{ buttonType === '详情' ? '打印' : '提交' }}
@@ -298,405 +116,17 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 上传
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
@@ -719,14 +149,8 @@
}
}
-.info-content {
- margin-top: 10px;
- padding: 30px;
- border-radius: 10px;
+.body {
background-color: #fff;
-}
-
-:deep .el-input .el-input--default .el-input--suffix {
- width: 200px !important;
+ margin-top: 10px;
}
diff --git a/src/views/device/standardEquipment/expirationRemind.vue b/src/views/device/standardEquipment/expirationRemind.vue
index 35786b2..1826c22 100644
--- a/src/views/device/standardEquipment/expirationRemind.vue
+++ b/src/views/device/standardEquipment/expirationRemind.vue
@@ -26,39 +26,47 @@
text: '标准代码',
value: 'standardNo',
width: '160',
+ align: 'center',
},
{
text: '标准名称',
value: 'standardName',
width: '90',
+ align: 'center',
},
{
text: '管理状态',
value: 'managerStateName',
width: '100',
+ align: 'center',
},
{
text: '标准所在部门',
value: 'standardLaboratoryName',
width: '120',
+ align: 'center',
},
{
text: '负责人',
value: 'standardOwnerName',
+ align: 'center',
},
{
text: '建标项目',
value: 'standardOwnerName',
+ align: 'center',
},
{
text: '筹建日期',
value: 'preparationDate',
width: '160',
+ align: 'center',
},
{
text: '有效日期',
value: 'preparationDate',
width: '160',
+ align: 'center',
},
])
const total = ref(0)
@@ -326,12 +334,8 @@
-
- 导出
-
-
- 打印
-
+
+
- 编辑
+ 详情
- 详情
+ 提醒
+import applyList from './components/applyList.vue'
// 逻辑代码
- 暂停申请
+
diff --git a/src/views/device/standardEquipment/resumeApply.vue b/src/views/device/standardEquipment/resumeApply.vue
index d4a80e8..b5896fc 100644
--- a/src/views/device/standardEquipment/resumeApply.vue
+++ b/src/views/device/standardEquipment/resumeApply.vue
@@ -1,10 +1,11 @@
- 恢复申请
+
diff --git a/src/views/device/standardEquipment/standardList.vue b/src/views/device/standardEquipment/standardList.vue
index 4f1bfdf..348ed71 100644
--- a/src/views/device/standardEquipment/standardList.vue
+++ b/src/views/device/standardEquipment/standardList.vue
@@ -29,50 +29,60 @@
text: '标准代码',
value: 'standardNo',
width: '120',
+ align: 'center',
},
{
text: '标准名称',
value: 'standardName',
width: '90',
+ align: 'center',
},
{
text: '类别',
value: 'categoryName',
width: '80',
+ align: 'center',
},
{
text: '标准等级',
value: 'standardLevelName',
width: '100',
+ align: 'center',
},
{
text: '传递范围',
value: 'transmitRange',
width: '110',
+ align: 'center',
},
{
text: '管理状态',
value: 'managerStateName',
width: '100',
+ align: 'center',
},
{
text: '标准所在部门',
value: 'standardLaboratoryName',
width: '120',
+ align: 'center',
},
{
text: '负责人',
value: 'laboratoryOwner',
+ align: 'center',
},
{
text: '筹建日期',
value: 'preparationDate',
width: '110',
+ align: 'center',
},
{
text: '备注',
value: 'remark',
width: '80',
+ align: 'center',
},
])
const total = ref(0)
@@ -250,6 +260,9 @@
buttonType.value = text
isShow.value = false
}
+const renderHeader = (e: any) => {
+ console.log(e)
+}
@@ -330,19 +343,13 @@
-
- 新建
-
-
- 导出
-
-
- 打印
-
+
+
+
diff --git a/src/views/device/stateManage/components/approvalActionDialog.vue b/src/views/device/stateManage/components/approvalActionDialog.vue
index cdc9b25..56417d6 100644
--- a/src/views/device/stateManage/components/approvalActionDialog.vue
+++ b/src/views/device/stateManage/components/approvalActionDialog.vue
@@ -1,10 +1,13 @@
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/cancel.vue b/src/views/device/stateManage/components/status/cancel.vue
new file mode 100644
index 0000000..ecb2d0c
--- /dev/null
+++ b/src/views/device/stateManage/components/status/cancel.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/components.d.ts b/src/components.d.ts
index fea7d82..6e85584 100644
--- a/src/components.d.ts
+++ b/src/components.d.ts
@@ -16,6 +16,7 @@
BarChartHorizontal: typeof import('./components/Echart/BarChartHorizontal.vue')['default']
BarChartVertical: typeof import('./components/Echart/BarChartVertical.vue')['default']
BatchActionBar: typeof import('./components/BatchActionBar/index.vue')['default']
+ Benchcol: typeof import('./components/benchcol/index.vue')['default']
BenchCol: typeof import('./components/benchCol/index.vue')['default']
ConditionDrawer: typeof import('./components/drawer/conditionDrawer.vue')['default']
copy: typeof import('./components/DetailPage/index copy.vue')['default']
diff --git a/src/views/device/standardEquipment/cancelApply.vue b/src/views/device/standardEquipment/cancelApply.vue
index c093520..1e50f44 100644
--- a/src/views/device/standardEquipment/cancelApply.vue
+++ b/src/views/device/standardEquipment/cancelApply.vue
@@ -1,10 +1,11 @@
- 撤销申请
+
diff --git a/src/views/device/standardEquipment/changeApply.vue b/src/views/device/standardEquipment/changeApply.vue
index 0762330..6625970 100644
--- a/src/views/device/standardEquipment/changeApply.vue
+++ b/src/views/device/standardEquipment/changeApply.vue
@@ -1,10 +1,11 @@
-
- 更换申请
+
diff --git a/src/views/device/standardEquipment/checkApply.vue b/src/views/device/standardEquipment/checkApply.vue
index 9cadc01..6625970 100644
--- a/src/views/device/standardEquipment/checkApply.vue
+++ b/src/views/device/standardEquipment/checkApply.vue
@@ -1,10 +1,11 @@
- 复查申请
+
diff --git a/src/views/device/standardEquipment/components/applyList.vue b/src/views/device/standardEquipment/components/applyList.vue
new file mode 100644
index 0000000..45be74a
--- /dev/null
+++ b/src/views/device/standardEquipment/components/applyList.vue
@@ -0,0 +1,65 @@
+
+
+
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/all.vue b/src/views/device/standardEquipment/components/listApply/all.vue
new file mode 100644
index 0000000..d124307
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/all.vue
@@ -0,0 +1,17 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/approvalPending.vue b/src/views/device/standardEquipment/components/listApply/approvalPending.vue
new file mode 100644
index 0000000..8a7a8bc
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/approvalPending.vue
@@ -0,0 +1,16 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/canceled.vue b/src/views/device/standardEquipment/components/listApply/canceled.vue
new file mode 100644
index 0000000..3b9657c
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/canceled.vue
@@ -0,0 +1,15 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/draftBox.vue b/src/views/device/standardEquipment/components/listApply/draftBox.vue
new file mode 100644
index 0000000..43d7b75
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/draftBox.vue
@@ -0,0 +1,15 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue b/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue
new file mode 100644
index 0000000..c13f95a
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue
@@ -0,0 +1,17 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/listPage.vue b/src/views/device/standardEquipment/components/listApply/listPage.vue
new file mode 100644
index 0000000..5133627
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/listPage.vue
@@ -0,0 +1,493 @@
+
+
+
+
+
+
+
+
+
+
+
+ 同意
+
+
+ 驳回
+
+
+ 拒绝
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 提交
+
+
+ 取消
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/listPageAdd.vue b/src/views/device/standardEquipment/components/listApply/listPageAdd.vue
new file mode 100644
index 0000000..eb506ec
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/listPageAdd.vue
@@ -0,0 +1,1021 @@
+
+
+
+
+
+
+ 基本信息
+
+
+
+ {{ item }}
+
+
+ 关闭
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 上传
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 完成
+
+
+
+
+
+
+
+ 同意
+
+
+ 驳回
+
+
+ 拒绝
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 提交
+
+
+ 取消
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/notPass.vue b/src/views/device/standardEquipment/components/listApply/notPass.vue
new file mode 100644
index 0000000..5a4b817
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/notPass.vue
@@ -0,0 +1,10 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/passed.vue b/src/views/device/standardEquipment/components/listApply/passed.vue
new file mode 100644
index 0000000..31cd21c
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/passed.vue
@@ -0,0 +1,10 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/addRow.vue b/src/views/device/standardEquipment/components/standardList/addRow.vue
new file mode 100644
index 0000000..9f2bf81
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/addRow.vue
@@ -0,0 +1,270 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/baseInfo.vue b/src/views/device/standardEquipment/components/standardList/baseInfo.vue
new file mode 100644
index 0000000..c47ad1d
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/baseInfo.vue
@@ -0,0 +1,675 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 上传
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/temptable.vue b/src/views/device/standardEquipment/components/standardList/temptable.vue
new file mode 100644
index 0000000..20eb800
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/temptable.vue
@@ -0,0 +1,387 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ (searchQuery.offset - 1) * searchQuery.limit + scope.$index + 1 }}
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardListAdd.vue b/src/views/device/standardEquipment/components/standardListAdd.vue
index ea13629..348bb41 100644
--- a/src/views/device/standardEquipment/components/standardListAdd.vue
+++ b/src/views/device/standardEquipment/components/standardListAdd.vue
@@ -3,6 +3,8 @@
import { ElMessage, ElMessageBox } from 'element-plus'
import type { FormInstance, UploadProps, UploadUserFile } from 'element-plus'
import type { IOptions } from '../standard_interface'
+import baseInfo from './standardList/baseInfo.vue'
+import table from './standardList/temptable.vue'
import { getStaffList } from '@/api/measure/person'
import { getTypeSelect } from '@/api/system/price'
import { getStandardLisUpdate, getStandardListAdd, getStandardListDetail, getUsersDept } from '@/api/device/standard'
@@ -17,188 +19,35 @@
default: '',
},
})
-const emit = defineEmits(['close']) // 关闭
-const ruleFormRef = ref()
-// 逻辑代码
-const formInline = ref({
- assessDate: '',
- assessmentUnit: '',
- category: null,
- categoryName: '',
- constructionStandardProject: '',
- constructionStandardUnitName: '',
- contactInfo: '',
- createTime: null,
- createUser: null,
- id: '',
- isDel: null,
- laboratoryOwner: null,
- laboratoryOwnerContact: null,
- laboratoryOwnerName: null,
- managerState: null,
- managerStateName: '',
- measureMajor: null,
- fileList: [],
- measureMajorName: '',
- mesureRange: '',
- organizeNo: '',
- preparationDate: '',
- projectNo: '',
- remark: '',
- standardHumidity: null,
- standardLaboratory: null,
- standardLaboratoryName: '',
- standardLevel: null,
- standardLevelName: '',
- standardName: '',
- standardNo: '',
- standardOwner: null,
- standardOwnerName: '',
- standardTemperature: null,
- totalInvestment: null,
- transmitRange: null,
- transmitRangeName: '',
- uncertainty: '',
- updateTime: null,
- version: null,
-})
-const checkTypeOptions = ref([])
-
-const standardOwnerOptions = ref([]) // 标准负责人
-const fileList = ref([]) // 文件对象数组
-const measureMajorList = ref([]) // 计量专业下拉框
-const standardManagerStateList = ref([]) // 管理状态下拉框
-const standardLevelList = ref([]) // 标准等级下拉框
-const transmitRangeList = ref([]) // 传递范围下拉框
-// 标准所在部门下拉框
-const standardUsersDeptList = ref([])
-// 获取下拉框
-const getSelectList = (code: string) => {
- getTypeSelect(code).then((res) => {
- if (code === 'measureMajor') {
- measureMajorList.value = res.data
- }
- else if (code === 'standardManagerState') {
- standardManagerStateList.value = res.data
- }
- else if (code === 'standardLevel') {
- standardLevelList.value = res.data
- }
- else if (code === 'transmitRange') {
- transmitRangeList.value = res.data
- }
- else if (code === 'standardCategory') {
- checkTypeOptions.value = res.data
- }
- })
+const emit = defineEmits(['close'])
+// 定义数据
+const formInline = ref({})
+// 关闭
+interface menuType {
+ name: string
+ comp: any
}
-getSelectList('measureMajor') // 获取计量专业下拉框
-getSelectList('standardManagerState') // 获取管理状态下拉框
-getSelectList('standardLevel') // 获取标准等级下拉框
-getSelectList('transmitRange') // 获取传递范围下拉框
-getSelectList('standardCategory') // 获取类别下拉框
-// 获取部门信息
-getUsersDept({
- createTime: '',
- director: '',
- meterMajor: '',
- organizeName: '',
- organizeNo: '',
- organizeType: '2',
- pdeptId: null,
- offset: 1,
- limit: 999999,
-}).then((res) => {
- standardUsersDeptList.value = res.data.rows
+const menu = shallowRef([
+ { name: '基本信息', comp: baseInfo },
+ { name: '计量人员', comp: table },
+ { name: '标准配套设备', comp: table },
+ { name: '检定规程', comp: table },
+ { name: '重复性考核记录', comp: table },
+ { name: '稳定性考核记录', comp: table },
+ { name: '证书管理', comp: table },
+])
+const currentCompRef = ref()
+const current = ref('基本信息')
+const currentComp = shallowRef(baseInfo)
+watch(current, (newValue) => {
+ currentComp.value = menu.value.filter(item => item.name === newValue)[0].comp
})
-// 获取到标准负责人数组
-const getStandardOwnerOptions = () => {
- const params = {
- staffNo: '', // 人员编号
- name: '', // 姓名
- deptId: '', // 工作部门
- major: '', // 计量专业
- verifierCertificateNo: '', // 证书号
- certificateStatus: '', // 证书状态
- limit: 100000,
- offset: 1,
- }
- getStaffList(params).then((res) => {
- standardOwnerOptions.value = res.data.records
- })
-}
-getStandardOwnerOptions()
// 关闭
const close = () => {
emit('close')
}
-const rules = ref({
- standardName: [{ required: true, message: '标准名称不能为空', trigger: 'blur' }],
- projectNo: [{ required: true, message: '项目编号不能为空', trigger: 'blur' }],
- constructionStandardProject: [{ required: true, message: '建标项目不能为空', trigger: 'blur' }],
- organizeNo: [{ required: true, message: '组织机构代码不能为空', trigger: 'blur' }],
- constructionStandardUnitName: [{ required: true, message: '建标单位名称不能为空', trigger: 'blur' }],
- standardOwner: [{ required: true, message: '标准负责人不能为空', trigger: 'blur' }],
- contactInfo: [{ required: true, message: '联系方式不能为空', trigger: 'blur' }],
- category: [{ required: true, message: '类 别不能为空', trigger: 'blur' }],
- standardLevel: [{ required: true, message: '标准等级不能为空', trigger: 'blur' }],
- transmitRange: [{ required: true, message: '传递范围不能为空', trigger: 'blur' }],
- preparationDate: [{ required: true, message: '筹建日期不能为空', trigger: 'blur' }],
- managerState: [{ required: true, message: '管理状态不能为空', trigger: 'blur' }],
- measureMajor: [{ required: true, message: '计量专业不能为空', trigger: 'blur' }],
- assessmentUnit: [{ required: true, message: '考核单位不能为空', trigger: 'blur' }],
- assessDate: [{ required: true, message: '考核日期不能为空', trigger: 'blur' }],
- uncertainty: [{ required: true, message: '不确定度不能为空', trigger: 'blur' }],
- mesureRange: [{ required: true, message: '测量范围不能为空', trigger: 'blur' }],
- standardTemperature: [{ required: true, message: '标准温度不能为空', trigger: 'blur' },
- { pattern: /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/, message: '标准温度只能为数字', trigger: 'blur' }],
- standardHumidity: [{ required: true, message: '标准湿度不能为空', trigger: 'blur' },
- { pattern: /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/, message: '标准湿度只能为数字', trigger: 'blur' }],
-}) // 表单验证规则
-// 上传请求
-const uploadQuarterlyEvaluateFile = (file: File) => {
- const fd = new FormData()
- fd.append('multipartFile', file.file)
- UploadFile(fd).then((res) => {
- if (res.code === 200) {
- formInline.value.fileList = res.data
- // 重置当前验证
- ElMessage.success('文件上传成功')
- }
- })
-}
-const handleExceed: UploadProps['onExceed'] = (files, uploadFiles) => {
- ElMessage.warning('只能上传一个文件')
-}
-// 移除时触发
-const beforeRemove: UploadProps['beforeRemove'] = (uploadFile, uploadFiles) => {
- return ElMessageBox.confirm(
- `确认移除${uploadFile.name}文件吗 ?`,
- ).then(
- () => true,
- () => false,
-
- )
-}
-// 点击文件预览
-const uploadShow = (e: any) => {
- const URL = window.URL || window.webkitURL
- window.open(URL.createObjectURL(e.raw))
-}
-const testForm = ref({
- fileList: [],
- fileContent: '',
-})
-const handleFileChange = (files: any, fileList: any) => {
- testForm.value.fileList = fileList
- const reader = new FileReader()
- reader.readAsText(files.raw)
- // reader.onload = (e) => {
- // testForm.value.fileContent = e.target!.result?.replace(
- // /\n|\r\n/g,
- // '
',
- // )
- // }
+const setData = (newValue: object) => {
+ formInline.value = newValue
}
// 编辑获取详情的提交按钮
const submitFormDetail = () => {
@@ -223,60 +72,29 @@
}
}
// 提交
-const submitForm = (formEl: FormInstance | undefined) => {
- if (!formEl) { return }
+const submitForm = () => {
if (props.buttonType === '详情') { return submitFormDetail() }
- formEl.validate((valid, fields) => {
- if (valid) {
- ElMessageBox.confirm(
- '确认提交吗?',
- '提示',
- {
- confirmButtonText: '确认',
- cancelButtonText: '取消',
- type: 'warning',
- },
- ).then(() => {
- props.buttonType === ''
- ? getStandardListAdd(formInline.value).then((res) => {
- if (res.code === 200) {
- close()
- }
- })
- : submitFormDetail()
- })
- }
- })
-}
-// 标准实验室发生改变row类型
-interface rowReturn {
- phone: string
- director: string
-}
-// 标准实验室发生改变
-const changeDeptList = (row: object) => {
- formInline.value.laboratoryOwnerContact = row.phone
- formInline.value.laboratoryOwner = row.director
-}
-// 标准实验室清空时
-const clearDeptList = () => {
- formInline.value.laboratoryOwnerContact = null
- formInline.value.laboratoryOwner = null
-}
-// 获取详情信息
-const getInfo = () => {
- getStandardListDetail({ id: props.infoId }).then((res) => {
- Object.keys(res.data).map((item) => {
- if (typeof (res.data[item]) === 'number') {
- res.data[item] = res.data[item].toString()
- }
+ ElMessageBox.confirm(
+ '确认提交吗?',
+ '提示',
+ {
+ confirmButtonText: '确认',
+ cancelButtonText: '取消',
+ type: 'warning',
+ },
+ ).then(() => {
+ current.value = '基本信息'
+ currentCompRef.value.submitForm().validate().then(() => {
+ props.buttonType === ''
+ ? getStandardListAdd(formInline.value).then((res) => {
+ if (res.code === 200) {
+ close()
+ }
+ })
+ : submitFormDetail()
})
- formInline.value = res.data
})
}
-if (props.buttonType !== '') {
- getInfo()
-}
@@ -289,7 +107,7 @@
{{ buttonType === '详情' ? '打印' : '提交' }}
@@ -298,405 +116,17 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 上传
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
@@ -719,14 +149,8 @@
}
}
-.info-content {
- margin-top: 10px;
- padding: 30px;
- border-radius: 10px;
+.body {
background-color: #fff;
-}
-
-:deep .el-input .el-input--default .el-input--suffix {
- width: 200px !important;
+ margin-top: 10px;
}
diff --git a/src/views/device/standardEquipment/expirationRemind.vue b/src/views/device/standardEquipment/expirationRemind.vue
index 35786b2..1826c22 100644
--- a/src/views/device/standardEquipment/expirationRemind.vue
+++ b/src/views/device/standardEquipment/expirationRemind.vue
@@ -26,39 +26,47 @@
text: '标准代码',
value: 'standardNo',
width: '160',
+ align: 'center',
},
{
text: '标准名称',
value: 'standardName',
width: '90',
+ align: 'center',
},
{
text: '管理状态',
value: 'managerStateName',
width: '100',
+ align: 'center',
},
{
text: '标准所在部门',
value: 'standardLaboratoryName',
width: '120',
+ align: 'center',
},
{
text: '负责人',
value: 'standardOwnerName',
+ align: 'center',
},
{
text: '建标项目',
value: 'standardOwnerName',
+ align: 'center',
},
{
text: '筹建日期',
value: 'preparationDate',
width: '160',
+ align: 'center',
},
{
text: '有效日期',
value: 'preparationDate',
width: '160',
+ align: 'center',
},
])
const total = ref(0)
@@ -326,12 +334,8 @@
-
- 导出
-
-
- 打印
-
+
+
- 编辑
+ 详情
- 详情
+ 提醒
+import applyList from './components/applyList.vue'
// 逻辑代码
- 暂停申请
+
diff --git a/src/views/device/standardEquipment/resumeApply.vue b/src/views/device/standardEquipment/resumeApply.vue
index d4a80e8..b5896fc 100644
--- a/src/views/device/standardEquipment/resumeApply.vue
+++ b/src/views/device/standardEquipment/resumeApply.vue
@@ -1,10 +1,11 @@
- 恢复申请
+
diff --git a/src/views/device/standardEquipment/standardList.vue b/src/views/device/standardEquipment/standardList.vue
index 4f1bfdf..348ed71 100644
--- a/src/views/device/standardEquipment/standardList.vue
+++ b/src/views/device/standardEquipment/standardList.vue
@@ -29,50 +29,60 @@
text: '标准代码',
value: 'standardNo',
width: '120',
+ align: 'center',
},
{
text: '标准名称',
value: 'standardName',
width: '90',
+ align: 'center',
},
{
text: '类别',
value: 'categoryName',
width: '80',
+ align: 'center',
},
{
text: '标准等级',
value: 'standardLevelName',
width: '100',
+ align: 'center',
},
{
text: '传递范围',
value: 'transmitRange',
width: '110',
+ align: 'center',
},
{
text: '管理状态',
value: 'managerStateName',
width: '100',
+ align: 'center',
},
{
text: '标准所在部门',
value: 'standardLaboratoryName',
width: '120',
+ align: 'center',
},
{
text: '负责人',
value: 'laboratoryOwner',
+ align: 'center',
},
{
text: '筹建日期',
value: 'preparationDate',
width: '110',
+ align: 'center',
},
{
text: '备注',
value: 'remark',
width: '80',
+ align: 'center',
},
])
const total = ref(0)
@@ -250,6 +260,9 @@
buttonType.value = text
isShow.value = false
}
+const renderHeader = (e: any) => {
+ console.log(e)
+}
@@ -330,19 +343,13 @@
-
- 新建
-
-
- 导出
-
-
- 打印
-
+
+
+
diff --git a/src/views/device/stateManage/components/approvalActionDialog.vue b/src/views/device/stateManage/components/approvalActionDialog.vue
index cdc9b25..56417d6 100644
--- a/src/views/device/stateManage/components/approvalActionDialog.vue
+++ b/src/views/device/stateManage/components/approvalActionDialog.vue
@@ -1,10 +1,13 @@
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/cancel.vue b/src/views/device/stateManage/components/status/cancel.vue
new file mode 100644
index 0000000..ecb2d0c
--- /dev/null
+++ b/src/views/device/stateManage/components/status/cancel.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/drafts.vue b/src/views/device/stateManage/components/status/drafts.vue
new file mode 100644
index 0000000..226ba21
--- /dev/null
+++ b/src/views/device/stateManage/components/status/drafts.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/components.d.ts b/src/components.d.ts
index fea7d82..6e85584 100644
--- a/src/components.d.ts
+++ b/src/components.d.ts
@@ -16,6 +16,7 @@
BarChartHorizontal: typeof import('./components/Echart/BarChartHorizontal.vue')['default']
BarChartVertical: typeof import('./components/Echart/BarChartVertical.vue')['default']
BatchActionBar: typeof import('./components/BatchActionBar/index.vue')['default']
+ Benchcol: typeof import('./components/benchcol/index.vue')['default']
BenchCol: typeof import('./components/benchCol/index.vue')['default']
ConditionDrawer: typeof import('./components/drawer/conditionDrawer.vue')['default']
copy: typeof import('./components/DetailPage/index copy.vue')['default']
diff --git a/src/views/device/standardEquipment/cancelApply.vue b/src/views/device/standardEquipment/cancelApply.vue
index c093520..1e50f44 100644
--- a/src/views/device/standardEquipment/cancelApply.vue
+++ b/src/views/device/standardEquipment/cancelApply.vue
@@ -1,10 +1,11 @@
- 撤销申请
+
diff --git a/src/views/device/standardEquipment/changeApply.vue b/src/views/device/standardEquipment/changeApply.vue
index 0762330..6625970 100644
--- a/src/views/device/standardEquipment/changeApply.vue
+++ b/src/views/device/standardEquipment/changeApply.vue
@@ -1,10 +1,11 @@
-
- 更换申请
+
diff --git a/src/views/device/standardEquipment/checkApply.vue b/src/views/device/standardEquipment/checkApply.vue
index 9cadc01..6625970 100644
--- a/src/views/device/standardEquipment/checkApply.vue
+++ b/src/views/device/standardEquipment/checkApply.vue
@@ -1,10 +1,11 @@
- 复查申请
+
diff --git a/src/views/device/standardEquipment/components/applyList.vue b/src/views/device/standardEquipment/components/applyList.vue
new file mode 100644
index 0000000..45be74a
--- /dev/null
+++ b/src/views/device/standardEquipment/components/applyList.vue
@@ -0,0 +1,65 @@
+
+
+
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/all.vue b/src/views/device/standardEquipment/components/listApply/all.vue
new file mode 100644
index 0000000..d124307
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/all.vue
@@ -0,0 +1,17 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/approvalPending.vue b/src/views/device/standardEquipment/components/listApply/approvalPending.vue
new file mode 100644
index 0000000..8a7a8bc
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/approvalPending.vue
@@ -0,0 +1,16 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/canceled.vue b/src/views/device/standardEquipment/components/listApply/canceled.vue
new file mode 100644
index 0000000..3b9657c
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/canceled.vue
@@ -0,0 +1,15 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/draftBox.vue b/src/views/device/standardEquipment/components/listApply/draftBox.vue
new file mode 100644
index 0000000..43d7b75
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/draftBox.vue
@@ -0,0 +1,15 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue b/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue
new file mode 100644
index 0000000..c13f95a
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue
@@ -0,0 +1,17 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/listPage.vue b/src/views/device/standardEquipment/components/listApply/listPage.vue
new file mode 100644
index 0000000..5133627
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/listPage.vue
@@ -0,0 +1,493 @@
+
+
+
+
+
+
+
+
+
+
+
+ 同意
+
+
+ 驳回
+
+
+ 拒绝
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 提交
+
+
+ 取消
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/listPageAdd.vue b/src/views/device/standardEquipment/components/listApply/listPageAdd.vue
new file mode 100644
index 0000000..eb506ec
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/listPageAdd.vue
@@ -0,0 +1,1021 @@
+
+
+
+
+
+
+ 基本信息
+
+
+
+ {{ item }}
+
+
+ 关闭
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 上传
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 完成
+
+
+
+
+
+
+
+ 同意
+
+
+ 驳回
+
+
+ 拒绝
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 提交
+
+
+ 取消
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/notPass.vue b/src/views/device/standardEquipment/components/listApply/notPass.vue
new file mode 100644
index 0000000..5a4b817
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/notPass.vue
@@ -0,0 +1,10 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/passed.vue b/src/views/device/standardEquipment/components/listApply/passed.vue
new file mode 100644
index 0000000..31cd21c
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/passed.vue
@@ -0,0 +1,10 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/addRow.vue b/src/views/device/standardEquipment/components/standardList/addRow.vue
new file mode 100644
index 0000000..9f2bf81
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/addRow.vue
@@ -0,0 +1,270 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/baseInfo.vue b/src/views/device/standardEquipment/components/standardList/baseInfo.vue
new file mode 100644
index 0000000..c47ad1d
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/baseInfo.vue
@@ -0,0 +1,675 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 上传
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/temptable.vue b/src/views/device/standardEquipment/components/standardList/temptable.vue
new file mode 100644
index 0000000..20eb800
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/temptable.vue
@@ -0,0 +1,387 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ (searchQuery.offset - 1) * searchQuery.limit + scope.$index + 1 }}
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardListAdd.vue b/src/views/device/standardEquipment/components/standardListAdd.vue
index ea13629..348bb41 100644
--- a/src/views/device/standardEquipment/components/standardListAdd.vue
+++ b/src/views/device/standardEquipment/components/standardListAdd.vue
@@ -3,6 +3,8 @@
import { ElMessage, ElMessageBox } from 'element-plus'
import type { FormInstance, UploadProps, UploadUserFile } from 'element-plus'
import type { IOptions } from '../standard_interface'
+import baseInfo from './standardList/baseInfo.vue'
+import table from './standardList/temptable.vue'
import { getStaffList } from '@/api/measure/person'
import { getTypeSelect } from '@/api/system/price'
import { getStandardLisUpdate, getStandardListAdd, getStandardListDetail, getUsersDept } from '@/api/device/standard'
@@ -17,188 +19,35 @@
default: '',
},
})
-const emit = defineEmits(['close']) // 关闭
-const ruleFormRef = ref()
-// 逻辑代码
-const formInline = ref({
- assessDate: '',
- assessmentUnit: '',
- category: null,
- categoryName: '',
- constructionStandardProject: '',
- constructionStandardUnitName: '',
- contactInfo: '',
- createTime: null,
- createUser: null,
- id: '',
- isDel: null,
- laboratoryOwner: null,
- laboratoryOwnerContact: null,
- laboratoryOwnerName: null,
- managerState: null,
- managerStateName: '',
- measureMajor: null,
- fileList: [],
- measureMajorName: '',
- mesureRange: '',
- organizeNo: '',
- preparationDate: '',
- projectNo: '',
- remark: '',
- standardHumidity: null,
- standardLaboratory: null,
- standardLaboratoryName: '',
- standardLevel: null,
- standardLevelName: '',
- standardName: '',
- standardNo: '',
- standardOwner: null,
- standardOwnerName: '',
- standardTemperature: null,
- totalInvestment: null,
- transmitRange: null,
- transmitRangeName: '',
- uncertainty: '',
- updateTime: null,
- version: null,
-})
-const checkTypeOptions = ref([])
-
-const standardOwnerOptions = ref([]) // 标准负责人
-const fileList = ref([]) // 文件对象数组
-const measureMajorList = ref([]) // 计量专业下拉框
-const standardManagerStateList = ref([]) // 管理状态下拉框
-const standardLevelList = ref([]) // 标准等级下拉框
-const transmitRangeList = ref([]) // 传递范围下拉框
-// 标准所在部门下拉框
-const standardUsersDeptList = ref([])
-// 获取下拉框
-const getSelectList = (code: string) => {
- getTypeSelect(code).then((res) => {
- if (code === 'measureMajor') {
- measureMajorList.value = res.data
- }
- else if (code === 'standardManagerState') {
- standardManagerStateList.value = res.data
- }
- else if (code === 'standardLevel') {
- standardLevelList.value = res.data
- }
- else if (code === 'transmitRange') {
- transmitRangeList.value = res.data
- }
- else if (code === 'standardCategory') {
- checkTypeOptions.value = res.data
- }
- })
+const emit = defineEmits(['close'])
+// 定义数据
+const formInline = ref({})
+// 关闭
+interface menuType {
+ name: string
+ comp: any
}
-getSelectList('measureMajor') // 获取计量专业下拉框
-getSelectList('standardManagerState') // 获取管理状态下拉框
-getSelectList('standardLevel') // 获取标准等级下拉框
-getSelectList('transmitRange') // 获取传递范围下拉框
-getSelectList('standardCategory') // 获取类别下拉框
-// 获取部门信息
-getUsersDept({
- createTime: '',
- director: '',
- meterMajor: '',
- organizeName: '',
- organizeNo: '',
- organizeType: '2',
- pdeptId: null,
- offset: 1,
- limit: 999999,
-}).then((res) => {
- standardUsersDeptList.value = res.data.rows
+const menu = shallowRef([
+ { name: '基本信息', comp: baseInfo },
+ { name: '计量人员', comp: table },
+ { name: '标准配套设备', comp: table },
+ { name: '检定规程', comp: table },
+ { name: '重复性考核记录', comp: table },
+ { name: '稳定性考核记录', comp: table },
+ { name: '证书管理', comp: table },
+])
+const currentCompRef = ref()
+const current = ref('基本信息')
+const currentComp = shallowRef(baseInfo)
+watch(current, (newValue) => {
+ currentComp.value = menu.value.filter(item => item.name === newValue)[0].comp
})
-// 获取到标准负责人数组
-const getStandardOwnerOptions = () => {
- const params = {
- staffNo: '', // 人员编号
- name: '', // 姓名
- deptId: '', // 工作部门
- major: '', // 计量专业
- verifierCertificateNo: '', // 证书号
- certificateStatus: '', // 证书状态
- limit: 100000,
- offset: 1,
- }
- getStaffList(params).then((res) => {
- standardOwnerOptions.value = res.data.records
- })
-}
-getStandardOwnerOptions()
// 关闭
const close = () => {
emit('close')
}
-const rules = ref({
- standardName: [{ required: true, message: '标准名称不能为空', trigger: 'blur' }],
- projectNo: [{ required: true, message: '项目编号不能为空', trigger: 'blur' }],
- constructionStandardProject: [{ required: true, message: '建标项目不能为空', trigger: 'blur' }],
- organizeNo: [{ required: true, message: '组织机构代码不能为空', trigger: 'blur' }],
- constructionStandardUnitName: [{ required: true, message: '建标单位名称不能为空', trigger: 'blur' }],
- standardOwner: [{ required: true, message: '标准负责人不能为空', trigger: 'blur' }],
- contactInfo: [{ required: true, message: '联系方式不能为空', trigger: 'blur' }],
- category: [{ required: true, message: '类 别不能为空', trigger: 'blur' }],
- standardLevel: [{ required: true, message: '标准等级不能为空', trigger: 'blur' }],
- transmitRange: [{ required: true, message: '传递范围不能为空', trigger: 'blur' }],
- preparationDate: [{ required: true, message: '筹建日期不能为空', trigger: 'blur' }],
- managerState: [{ required: true, message: '管理状态不能为空', trigger: 'blur' }],
- measureMajor: [{ required: true, message: '计量专业不能为空', trigger: 'blur' }],
- assessmentUnit: [{ required: true, message: '考核单位不能为空', trigger: 'blur' }],
- assessDate: [{ required: true, message: '考核日期不能为空', trigger: 'blur' }],
- uncertainty: [{ required: true, message: '不确定度不能为空', trigger: 'blur' }],
- mesureRange: [{ required: true, message: '测量范围不能为空', trigger: 'blur' }],
- standardTemperature: [{ required: true, message: '标准温度不能为空', trigger: 'blur' },
- { pattern: /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/, message: '标准温度只能为数字', trigger: 'blur' }],
- standardHumidity: [{ required: true, message: '标准湿度不能为空', trigger: 'blur' },
- { pattern: /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/, message: '标准湿度只能为数字', trigger: 'blur' }],
-}) // 表单验证规则
-// 上传请求
-const uploadQuarterlyEvaluateFile = (file: File) => {
- const fd = new FormData()
- fd.append('multipartFile', file.file)
- UploadFile(fd).then((res) => {
- if (res.code === 200) {
- formInline.value.fileList = res.data
- // 重置当前验证
- ElMessage.success('文件上传成功')
- }
- })
-}
-const handleExceed: UploadProps['onExceed'] = (files, uploadFiles) => {
- ElMessage.warning('只能上传一个文件')
-}
-// 移除时触发
-const beforeRemove: UploadProps['beforeRemove'] = (uploadFile, uploadFiles) => {
- return ElMessageBox.confirm(
- `确认移除${uploadFile.name}文件吗 ?`,
- ).then(
- () => true,
- () => false,
-
- )
-}
-// 点击文件预览
-const uploadShow = (e: any) => {
- const URL = window.URL || window.webkitURL
- window.open(URL.createObjectURL(e.raw))
-}
-const testForm = ref({
- fileList: [],
- fileContent: '',
-})
-const handleFileChange = (files: any, fileList: any) => {
- testForm.value.fileList = fileList
- const reader = new FileReader()
- reader.readAsText(files.raw)
- // reader.onload = (e) => {
- // testForm.value.fileContent = e.target!.result?.replace(
- // /\n|\r\n/g,
- // '
',
- // )
- // }
+const setData = (newValue: object) => {
+ formInline.value = newValue
}
// 编辑获取详情的提交按钮
const submitFormDetail = () => {
@@ -223,60 +72,29 @@
}
}
// 提交
-const submitForm = (formEl: FormInstance | undefined) => {
- if (!formEl) { return }
+const submitForm = () => {
if (props.buttonType === '详情') { return submitFormDetail() }
- formEl.validate((valid, fields) => {
- if (valid) {
- ElMessageBox.confirm(
- '确认提交吗?',
- '提示',
- {
- confirmButtonText: '确认',
- cancelButtonText: '取消',
- type: 'warning',
- },
- ).then(() => {
- props.buttonType === ''
- ? getStandardListAdd(formInline.value).then((res) => {
- if (res.code === 200) {
- close()
- }
- })
- : submitFormDetail()
- })
- }
- })
-}
-// 标准实验室发生改变row类型
-interface rowReturn {
- phone: string
- director: string
-}
-// 标准实验室发生改变
-const changeDeptList = (row: object) => {
- formInline.value.laboratoryOwnerContact = row.phone
- formInline.value.laboratoryOwner = row.director
-}
-// 标准实验室清空时
-const clearDeptList = () => {
- formInline.value.laboratoryOwnerContact = null
- formInline.value.laboratoryOwner = null
-}
-// 获取详情信息
-const getInfo = () => {
- getStandardListDetail({ id: props.infoId }).then((res) => {
- Object.keys(res.data).map((item) => {
- if (typeof (res.data[item]) === 'number') {
- res.data[item] = res.data[item].toString()
- }
+ ElMessageBox.confirm(
+ '确认提交吗?',
+ '提示',
+ {
+ confirmButtonText: '确认',
+ cancelButtonText: '取消',
+ type: 'warning',
+ },
+ ).then(() => {
+ current.value = '基本信息'
+ currentCompRef.value.submitForm().validate().then(() => {
+ props.buttonType === ''
+ ? getStandardListAdd(formInline.value).then((res) => {
+ if (res.code === 200) {
+ close()
+ }
+ })
+ : submitFormDetail()
})
- formInline.value = res.data
})
}
-if (props.buttonType !== '') {
- getInfo()
-}
@@ -289,7 +107,7 @@
{{ buttonType === '详情' ? '打印' : '提交' }}
@@ -298,405 +116,17 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 上传
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
@@ -719,14 +149,8 @@
}
}
-.info-content {
- margin-top: 10px;
- padding: 30px;
- border-radius: 10px;
+.body {
background-color: #fff;
-}
-
-:deep .el-input .el-input--default .el-input--suffix {
- width: 200px !important;
+ margin-top: 10px;
}
diff --git a/src/views/device/standardEquipment/expirationRemind.vue b/src/views/device/standardEquipment/expirationRemind.vue
index 35786b2..1826c22 100644
--- a/src/views/device/standardEquipment/expirationRemind.vue
+++ b/src/views/device/standardEquipment/expirationRemind.vue
@@ -26,39 +26,47 @@
text: '标准代码',
value: 'standardNo',
width: '160',
+ align: 'center',
},
{
text: '标准名称',
value: 'standardName',
width: '90',
+ align: 'center',
},
{
text: '管理状态',
value: 'managerStateName',
width: '100',
+ align: 'center',
},
{
text: '标准所在部门',
value: 'standardLaboratoryName',
width: '120',
+ align: 'center',
},
{
text: '负责人',
value: 'standardOwnerName',
+ align: 'center',
},
{
text: '建标项目',
value: 'standardOwnerName',
+ align: 'center',
},
{
text: '筹建日期',
value: 'preparationDate',
width: '160',
+ align: 'center',
},
{
text: '有效日期',
value: 'preparationDate',
width: '160',
+ align: 'center',
},
])
const total = ref(0)
@@ -326,12 +334,8 @@
-
- 导出
-
-
- 打印
-
+
+
- 编辑
+ 详情
- 详情
+ 提醒
+import applyList from './components/applyList.vue'
// 逻辑代码
- 暂停申请
+
diff --git a/src/views/device/standardEquipment/resumeApply.vue b/src/views/device/standardEquipment/resumeApply.vue
index d4a80e8..b5896fc 100644
--- a/src/views/device/standardEquipment/resumeApply.vue
+++ b/src/views/device/standardEquipment/resumeApply.vue
@@ -1,10 +1,11 @@
- 恢复申请
+
diff --git a/src/views/device/standardEquipment/standardList.vue b/src/views/device/standardEquipment/standardList.vue
index 4f1bfdf..348ed71 100644
--- a/src/views/device/standardEquipment/standardList.vue
+++ b/src/views/device/standardEquipment/standardList.vue
@@ -29,50 +29,60 @@
text: '标准代码',
value: 'standardNo',
width: '120',
+ align: 'center',
},
{
text: '标准名称',
value: 'standardName',
width: '90',
+ align: 'center',
},
{
text: '类别',
value: 'categoryName',
width: '80',
+ align: 'center',
},
{
text: '标准等级',
value: 'standardLevelName',
width: '100',
+ align: 'center',
},
{
text: '传递范围',
value: 'transmitRange',
width: '110',
+ align: 'center',
},
{
text: '管理状态',
value: 'managerStateName',
width: '100',
+ align: 'center',
},
{
text: '标准所在部门',
value: 'standardLaboratoryName',
width: '120',
+ align: 'center',
},
{
text: '负责人',
value: 'laboratoryOwner',
+ align: 'center',
},
{
text: '筹建日期',
value: 'preparationDate',
width: '110',
+ align: 'center',
},
{
text: '备注',
value: 'remark',
width: '80',
+ align: 'center',
},
])
const total = ref(0)
@@ -250,6 +260,9 @@
buttonType.value = text
isShow.value = false
}
+const renderHeader = (e: any) => {
+ console.log(e)
+}
@@ -330,19 +343,13 @@
-
- 新建
-
-
- 导出
-
-
- 打印
-
+
+
+
diff --git a/src/views/device/stateManage/components/approvalActionDialog.vue b/src/views/device/stateManage/components/approvalActionDialog.vue
index cdc9b25..56417d6 100644
--- a/src/views/device/stateManage/components/approvalActionDialog.vue
+++ b/src/views/device/stateManage/components/approvalActionDialog.vue
@@ -1,10 +1,13 @@
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/cancel.vue b/src/views/device/stateManage/components/status/cancel.vue
new file mode 100644
index 0000000..ecb2d0c
--- /dev/null
+++ b/src/views/device/stateManage/components/status/cancel.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/drafts.vue b/src/views/device/stateManage/components/status/drafts.vue
new file mode 100644
index 0000000..226ba21
--- /dev/null
+++ b/src/views/device/stateManage/components/status/drafts.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/inApproval.vue b/src/views/device/stateManage/components/status/inApproval.vue
new file mode 100644
index 0000000..4988595
--- /dev/null
+++ b/src/views/device/stateManage/components/status/inApproval.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/components.d.ts b/src/components.d.ts
index fea7d82..6e85584 100644
--- a/src/components.d.ts
+++ b/src/components.d.ts
@@ -16,6 +16,7 @@
BarChartHorizontal: typeof import('./components/Echart/BarChartHorizontal.vue')['default']
BarChartVertical: typeof import('./components/Echart/BarChartVertical.vue')['default']
BatchActionBar: typeof import('./components/BatchActionBar/index.vue')['default']
+ Benchcol: typeof import('./components/benchcol/index.vue')['default']
BenchCol: typeof import('./components/benchCol/index.vue')['default']
ConditionDrawer: typeof import('./components/drawer/conditionDrawer.vue')['default']
copy: typeof import('./components/DetailPage/index copy.vue')['default']
diff --git a/src/views/device/standardEquipment/cancelApply.vue b/src/views/device/standardEquipment/cancelApply.vue
index c093520..1e50f44 100644
--- a/src/views/device/standardEquipment/cancelApply.vue
+++ b/src/views/device/standardEquipment/cancelApply.vue
@@ -1,10 +1,11 @@
- 撤销申请
+
diff --git a/src/views/device/standardEquipment/changeApply.vue b/src/views/device/standardEquipment/changeApply.vue
index 0762330..6625970 100644
--- a/src/views/device/standardEquipment/changeApply.vue
+++ b/src/views/device/standardEquipment/changeApply.vue
@@ -1,10 +1,11 @@
-
- 更换申请
+
diff --git a/src/views/device/standardEquipment/checkApply.vue b/src/views/device/standardEquipment/checkApply.vue
index 9cadc01..6625970 100644
--- a/src/views/device/standardEquipment/checkApply.vue
+++ b/src/views/device/standardEquipment/checkApply.vue
@@ -1,10 +1,11 @@
- 复查申请
+
diff --git a/src/views/device/standardEquipment/components/applyList.vue b/src/views/device/standardEquipment/components/applyList.vue
new file mode 100644
index 0000000..45be74a
--- /dev/null
+++ b/src/views/device/standardEquipment/components/applyList.vue
@@ -0,0 +1,65 @@
+
+
+
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/all.vue b/src/views/device/standardEquipment/components/listApply/all.vue
new file mode 100644
index 0000000..d124307
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/all.vue
@@ -0,0 +1,17 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/approvalPending.vue b/src/views/device/standardEquipment/components/listApply/approvalPending.vue
new file mode 100644
index 0000000..8a7a8bc
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/approvalPending.vue
@@ -0,0 +1,16 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/canceled.vue b/src/views/device/standardEquipment/components/listApply/canceled.vue
new file mode 100644
index 0000000..3b9657c
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/canceled.vue
@@ -0,0 +1,15 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/draftBox.vue b/src/views/device/standardEquipment/components/listApply/draftBox.vue
new file mode 100644
index 0000000..43d7b75
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/draftBox.vue
@@ -0,0 +1,15 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue b/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue
new file mode 100644
index 0000000..c13f95a
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue
@@ -0,0 +1,17 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/listPage.vue b/src/views/device/standardEquipment/components/listApply/listPage.vue
new file mode 100644
index 0000000..5133627
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/listPage.vue
@@ -0,0 +1,493 @@
+
+
+
+
+
+
+
+
+
+
+
+ 同意
+
+
+ 驳回
+
+
+ 拒绝
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 提交
+
+
+ 取消
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/listPageAdd.vue b/src/views/device/standardEquipment/components/listApply/listPageAdd.vue
new file mode 100644
index 0000000..eb506ec
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/listPageAdd.vue
@@ -0,0 +1,1021 @@
+
+
+
+
+
+
+ 基本信息
+
+
+
+ {{ item }}
+
+
+ 关闭
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 上传
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 完成
+
+
+
+
+
+
+
+ 同意
+
+
+ 驳回
+
+
+ 拒绝
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 提交
+
+
+ 取消
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/notPass.vue b/src/views/device/standardEquipment/components/listApply/notPass.vue
new file mode 100644
index 0000000..5a4b817
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/notPass.vue
@@ -0,0 +1,10 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/passed.vue b/src/views/device/standardEquipment/components/listApply/passed.vue
new file mode 100644
index 0000000..31cd21c
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/passed.vue
@@ -0,0 +1,10 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/addRow.vue b/src/views/device/standardEquipment/components/standardList/addRow.vue
new file mode 100644
index 0000000..9f2bf81
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/addRow.vue
@@ -0,0 +1,270 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/baseInfo.vue b/src/views/device/standardEquipment/components/standardList/baseInfo.vue
new file mode 100644
index 0000000..c47ad1d
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/baseInfo.vue
@@ -0,0 +1,675 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 上传
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/temptable.vue b/src/views/device/standardEquipment/components/standardList/temptable.vue
new file mode 100644
index 0000000..20eb800
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/temptable.vue
@@ -0,0 +1,387 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ (searchQuery.offset - 1) * searchQuery.limit + scope.$index + 1 }}
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardListAdd.vue b/src/views/device/standardEquipment/components/standardListAdd.vue
index ea13629..348bb41 100644
--- a/src/views/device/standardEquipment/components/standardListAdd.vue
+++ b/src/views/device/standardEquipment/components/standardListAdd.vue
@@ -3,6 +3,8 @@
import { ElMessage, ElMessageBox } from 'element-plus'
import type { FormInstance, UploadProps, UploadUserFile } from 'element-plus'
import type { IOptions } from '../standard_interface'
+import baseInfo from './standardList/baseInfo.vue'
+import table from './standardList/temptable.vue'
import { getStaffList } from '@/api/measure/person'
import { getTypeSelect } from '@/api/system/price'
import { getStandardLisUpdate, getStandardListAdd, getStandardListDetail, getUsersDept } from '@/api/device/standard'
@@ -17,188 +19,35 @@
default: '',
},
})
-const emit = defineEmits(['close']) // 关闭
-const ruleFormRef = ref()
-// 逻辑代码
-const formInline = ref({
- assessDate: '',
- assessmentUnit: '',
- category: null,
- categoryName: '',
- constructionStandardProject: '',
- constructionStandardUnitName: '',
- contactInfo: '',
- createTime: null,
- createUser: null,
- id: '',
- isDel: null,
- laboratoryOwner: null,
- laboratoryOwnerContact: null,
- laboratoryOwnerName: null,
- managerState: null,
- managerStateName: '',
- measureMajor: null,
- fileList: [],
- measureMajorName: '',
- mesureRange: '',
- organizeNo: '',
- preparationDate: '',
- projectNo: '',
- remark: '',
- standardHumidity: null,
- standardLaboratory: null,
- standardLaboratoryName: '',
- standardLevel: null,
- standardLevelName: '',
- standardName: '',
- standardNo: '',
- standardOwner: null,
- standardOwnerName: '',
- standardTemperature: null,
- totalInvestment: null,
- transmitRange: null,
- transmitRangeName: '',
- uncertainty: '',
- updateTime: null,
- version: null,
-})
-const checkTypeOptions = ref([])
-
-const standardOwnerOptions = ref([]) // 标准负责人
-const fileList = ref([]) // 文件对象数组
-const measureMajorList = ref([]) // 计量专业下拉框
-const standardManagerStateList = ref([]) // 管理状态下拉框
-const standardLevelList = ref([]) // 标准等级下拉框
-const transmitRangeList = ref([]) // 传递范围下拉框
-// 标准所在部门下拉框
-const standardUsersDeptList = ref([])
-// 获取下拉框
-const getSelectList = (code: string) => {
- getTypeSelect(code).then((res) => {
- if (code === 'measureMajor') {
- measureMajorList.value = res.data
- }
- else if (code === 'standardManagerState') {
- standardManagerStateList.value = res.data
- }
- else if (code === 'standardLevel') {
- standardLevelList.value = res.data
- }
- else if (code === 'transmitRange') {
- transmitRangeList.value = res.data
- }
- else if (code === 'standardCategory') {
- checkTypeOptions.value = res.data
- }
- })
+const emit = defineEmits(['close'])
+// 定义数据
+const formInline = ref({})
+// 关闭
+interface menuType {
+ name: string
+ comp: any
}
-getSelectList('measureMajor') // 获取计量专业下拉框
-getSelectList('standardManagerState') // 获取管理状态下拉框
-getSelectList('standardLevel') // 获取标准等级下拉框
-getSelectList('transmitRange') // 获取传递范围下拉框
-getSelectList('standardCategory') // 获取类别下拉框
-// 获取部门信息
-getUsersDept({
- createTime: '',
- director: '',
- meterMajor: '',
- organizeName: '',
- organizeNo: '',
- organizeType: '2',
- pdeptId: null,
- offset: 1,
- limit: 999999,
-}).then((res) => {
- standardUsersDeptList.value = res.data.rows
+const menu = shallowRef([
+ { name: '基本信息', comp: baseInfo },
+ { name: '计量人员', comp: table },
+ { name: '标准配套设备', comp: table },
+ { name: '检定规程', comp: table },
+ { name: '重复性考核记录', comp: table },
+ { name: '稳定性考核记录', comp: table },
+ { name: '证书管理', comp: table },
+])
+const currentCompRef = ref()
+const current = ref('基本信息')
+const currentComp = shallowRef(baseInfo)
+watch(current, (newValue) => {
+ currentComp.value = menu.value.filter(item => item.name === newValue)[0].comp
})
-// 获取到标准负责人数组
-const getStandardOwnerOptions = () => {
- const params = {
- staffNo: '', // 人员编号
- name: '', // 姓名
- deptId: '', // 工作部门
- major: '', // 计量专业
- verifierCertificateNo: '', // 证书号
- certificateStatus: '', // 证书状态
- limit: 100000,
- offset: 1,
- }
- getStaffList(params).then((res) => {
- standardOwnerOptions.value = res.data.records
- })
-}
-getStandardOwnerOptions()
// 关闭
const close = () => {
emit('close')
}
-const rules = ref({
- standardName: [{ required: true, message: '标准名称不能为空', trigger: 'blur' }],
- projectNo: [{ required: true, message: '项目编号不能为空', trigger: 'blur' }],
- constructionStandardProject: [{ required: true, message: '建标项目不能为空', trigger: 'blur' }],
- organizeNo: [{ required: true, message: '组织机构代码不能为空', trigger: 'blur' }],
- constructionStandardUnitName: [{ required: true, message: '建标单位名称不能为空', trigger: 'blur' }],
- standardOwner: [{ required: true, message: '标准负责人不能为空', trigger: 'blur' }],
- contactInfo: [{ required: true, message: '联系方式不能为空', trigger: 'blur' }],
- category: [{ required: true, message: '类 别不能为空', trigger: 'blur' }],
- standardLevel: [{ required: true, message: '标准等级不能为空', trigger: 'blur' }],
- transmitRange: [{ required: true, message: '传递范围不能为空', trigger: 'blur' }],
- preparationDate: [{ required: true, message: '筹建日期不能为空', trigger: 'blur' }],
- managerState: [{ required: true, message: '管理状态不能为空', trigger: 'blur' }],
- measureMajor: [{ required: true, message: '计量专业不能为空', trigger: 'blur' }],
- assessmentUnit: [{ required: true, message: '考核单位不能为空', trigger: 'blur' }],
- assessDate: [{ required: true, message: '考核日期不能为空', trigger: 'blur' }],
- uncertainty: [{ required: true, message: '不确定度不能为空', trigger: 'blur' }],
- mesureRange: [{ required: true, message: '测量范围不能为空', trigger: 'blur' }],
- standardTemperature: [{ required: true, message: '标准温度不能为空', trigger: 'blur' },
- { pattern: /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/, message: '标准温度只能为数字', trigger: 'blur' }],
- standardHumidity: [{ required: true, message: '标准湿度不能为空', trigger: 'blur' },
- { pattern: /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/, message: '标准湿度只能为数字', trigger: 'blur' }],
-}) // 表单验证规则
-// 上传请求
-const uploadQuarterlyEvaluateFile = (file: File) => {
- const fd = new FormData()
- fd.append('multipartFile', file.file)
- UploadFile(fd).then((res) => {
- if (res.code === 200) {
- formInline.value.fileList = res.data
- // 重置当前验证
- ElMessage.success('文件上传成功')
- }
- })
-}
-const handleExceed: UploadProps['onExceed'] = (files, uploadFiles) => {
- ElMessage.warning('只能上传一个文件')
-}
-// 移除时触发
-const beforeRemove: UploadProps['beforeRemove'] = (uploadFile, uploadFiles) => {
- return ElMessageBox.confirm(
- `确认移除${uploadFile.name}文件吗 ?`,
- ).then(
- () => true,
- () => false,
-
- )
-}
-// 点击文件预览
-const uploadShow = (e: any) => {
- const URL = window.URL || window.webkitURL
- window.open(URL.createObjectURL(e.raw))
-}
-const testForm = ref({
- fileList: [],
- fileContent: '',
-})
-const handleFileChange = (files: any, fileList: any) => {
- testForm.value.fileList = fileList
- const reader = new FileReader()
- reader.readAsText(files.raw)
- // reader.onload = (e) => {
- // testForm.value.fileContent = e.target!.result?.replace(
- // /\n|\r\n/g,
- // '
',
- // )
- // }
+const setData = (newValue: object) => {
+ formInline.value = newValue
}
// 编辑获取详情的提交按钮
const submitFormDetail = () => {
@@ -223,60 +72,29 @@
}
}
// 提交
-const submitForm = (formEl: FormInstance | undefined) => {
- if (!formEl) { return }
+const submitForm = () => {
if (props.buttonType === '详情') { return submitFormDetail() }
- formEl.validate((valid, fields) => {
- if (valid) {
- ElMessageBox.confirm(
- '确认提交吗?',
- '提示',
- {
- confirmButtonText: '确认',
- cancelButtonText: '取消',
- type: 'warning',
- },
- ).then(() => {
- props.buttonType === ''
- ? getStandardListAdd(formInline.value).then((res) => {
- if (res.code === 200) {
- close()
- }
- })
- : submitFormDetail()
- })
- }
- })
-}
-// 标准实验室发生改变row类型
-interface rowReturn {
- phone: string
- director: string
-}
-// 标准实验室发生改变
-const changeDeptList = (row: object) => {
- formInline.value.laboratoryOwnerContact = row.phone
- formInline.value.laboratoryOwner = row.director
-}
-// 标准实验室清空时
-const clearDeptList = () => {
- formInline.value.laboratoryOwnerContact = null
- formInline.value.laboratoryOwner = null
-}
-// 获取详情信息
-const getInfo = () => {
- getStandardListDetail({ id: props.infoId }).then((res) => {
- Object.keys(res.data).map((item) => {
- if (typeof (res.data[item]) === 'number') {
- res.data[item] = res.data[item].toString()
- }
+ ElMessageBox.confirm(
+ '确认提交吗?',
+ '提示',
+ {
+ confirmButtonText: '确认',
+ cancelButtonText: '取消',
+ type: 'warning',
+ },
+ ).then(() => {
+ current.value = '基本信息'
+ currentCompRef.value.submitForm().validate().then(() => {
+ props.buttonType === ''
+ ? getStandardListAdd(formInline.value).then((res) => {
+ if (res.code === 200) {
+ close()
+ }
+ })
+ : submitFormDetail()
})
- formInline.value = res.data
})
}
-if (props.buttonType !== '') {
- getInfo()
-}
@@ -289,7 +107,7 @@
{{ buttonType === '详情' ? '打印' : '提交' }}
@@ -298,405 +116,17 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 上传
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
@@ -719,14 +149,8 @@
}
}
-.info-content {
- margin-top: 10px;
- padding: 30px;
- border-radius: 10px;
+.body {
background-color: #fff;
-}
-
-:deep .el-input .el-input--default .el-input--suffix {
- width: 200px !important;
+ margin-top: 10px;
}
diff --git a/src/views/device/standardEquipment/expirationRemind.vue b/src/views/device/standardEquipment/expirationRemind.vue
index 35786b2..1826c22 100644
--- a/src/views/device/standardEquipment/expirationRemind.vue
+++ b/src/views/device/standardEquipment/expirationRemind.vue
@@ -26,39 +26,47 @@
text: '标准代码',
value: 'standardNo',
width: '160',
+ align: 'center',
},
{
text: '标准名称',
value: 'standardName',
width: '90',
+ align: 'center',
},
{
text: '管理状态',
value: 'managerStateName',
width: '100',
+ align: 'center',
},
{
text: '标准所在部门',
value: 'standardLaboratoryName',
width: '120',
+ align: 'center',
},
{
text: '负责人',
value: 'standardOwnerName',
+ align: 'center',
},
{
text: '建标项目',
value: 'standardOwnerName',
+ align: 'center',
},
{
text: '筹建日期',
value: 'preparationDate',
width: '160',
+ align: 'center',
},
{
text: '有效日期',
value: 'preparationDate',
width: '160',
+ align: 'center',
},
])
const total = ref(0)
@@ -326,12 +334,8 @@
-
- 导出
-
-
- 打印
-
+
+
- 编辑
+ 详情
- 详情
+ 提醒
+import applyList from './components/applyList.vue'
// 逻辑代码
- 暂停申请
+
diff --git a/src/views/device/standardEquipment/resumeApply.vue b/src/views/device/standardEquipment/resumeApply.vue
index d4a80e8..b5896fc 100644
--- a/src/views/device/standardEquipment/resumeApply.vue
+++ b/src/views/device/standardEquipment/resumeApply.vue
@@ -1,10 +1,11 @@
- 恢复申请
+
diff --git a/src/views/device/standardEquipment/standardList.vue b/src/views/device/standardEquipment/standardList.vue
index 4f1bfdf..348ed71 100644
--- a/src/views/device/standardEquipment/standardList.vue
+++ b/src/views/device/standardEquipment/standardList.vue
@@ -29,50 +29,60 @@
text: '标准代码',
value: 'standardNo',
width: '120',
+ align: 'center',
},
{
text: '标准名称',
value: 'standardName',
width: '90',
+ align: 'center',
},
{
text: '类别',
value: 'categoryName',
width: '80',
+ align: 'center',
},
{
text: '标准等级',
value: 'standardLevelName',
width: '100',
+ align: 'center',
},
{
text: '传递范围',
value: 'transmitRange',
width: '110',
+ align: 'center',
},
{
text: '管理状态',
value: 'managerStateName',
width: '100',
+ align: 'center',
},
{
text: '标准所在部门',
value: 'standardLaboratoryName',
width: '120',
+ align: 'center',
},
{
text: '负责人',
value: 'laboratoryOwner',
+ align: 'center',
},
{
text: '筹建日期',
value: 'preparationDate',
width: '110',
+ align: 'center',
},
{
text: '备注',
value: 'remark',
width: '80',
+ align: 'center',
},
])
const total = ref(0)
@@ -250,6 +260,9 @@
buttonType.value = text
isShow.value = false
}
+const renderHeader = (e: any) => {
+ console.log(e)
+}
@@ -330,19 +343,13 @@
-
- 新建
-
-
- 导出
-
-
- 打印
-
+
+
+
diff --git a/src/views/device/stateManage/components/approvalActionDialog.vue b/src/views/device/stateManage/components/approvalActionDialog.vue
index cdc9b25..56417d6 100644
--- a/src/views/device/stateManage/components/approvalActionDialog.vue
+++ b/src/views/device/stateManage/components/approvalActionDialog.vue
@@ -1,10 +1,13 @@
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/cancel.vue b/src/views/device/stateManage/components/status/cancel.vue
new file mode 100644
index 0000000..ecb2d0c
--- /dev/null
+++ b/src/views/device/stateManage/components/status/cancel.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/drafts.vue b/src/views/device/stateManage/components/status/drafts.vue
new file mode 100644
index 0000000..226ba21
--- /dev/null
+++ b/src/views/device/stateManage/components/status/drafts.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/inApproval.vue b/src/views/device/stateManage/components/status/inApproval.vue
new file mode 100644
index 0000000..4988595
--- /dev/null
+++ b/src/views/device/stateManage/components/status/inApproval.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/passed.vue b/src/views/device/stateManage/components/status/passed.vue
new file mode 100644
index 0000000..ab87daf
--- /dev/null
+++ b/src/views/device/stateManage/components/status/passed.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/components.d.ts b/src/components.d.ts
index fea7d82..6e85584 100644
--- a/src/components.d.ts
+++ b/src/components.d.ts
@@ -16,6 +16,7 @@
BarChartHorizontal: typeof import('./components/Echart/BarChartHorizontal.vue')['default']
BarChartVertical: typeof import('./components/Echart/BarChartVertical.vue')['default']
BatchActionBar: typeof import('./components/BatchActionBar/index.vue')['default']
+ Benchcol: typeof import('./components/benchcol/index.vue')['default']
BenchCol: typeof import('./components/benchCol/index.vue')['default']
ConditionDrawer: typeof import('./components/drawer/conditionDrawer.vue')['default']
copy: typeof import('./components/DetailPage/index copy.vue')['default']
diff --git a/src/views/device/standardEquipment/cancelApply.vue b/src/views/device/standardEquipment/cancelApply.vue
index c093520..1e50f44 100644
--- a/src/views/device/standardEquipment/cancelApply.vue
+++ b/src/views/device/standardEquipment/cancelApply.vue
@@ -1,10 +1,11 @@
- 撤销申请
+
diff --git a/src/views/device/standardEquipment/changeApply.vue b/src/views/device/standardEquipment/changeApply.vue
index 0762330..6625970 100644
--- a/src/views/device/standardEquipment/changeApply.vue
+++ b/src/views/device/standardEquipment/changeApply.vue
@@ -1,10 +1,11 @@
-
- 更换申请
+
diff --git a/src/views/device/standardEquipment/checkApply.vue b/src/views/device/standardEquipment/checkApply.vue
index 9cadc01..6625970 100644
--- a/src/views/device/standardEquipment/checkApply.vue
+++ b/src/views/device/standardEquipment/checkApply.vue
@@ -1,10 +1,11 @@
- 复查申请
+
diff --git a/src/views/device/standardEquipment/components/applyList.vue b/src/views/device/standardEquipment/components/applyList.vue
new file mode 100644
index 0000000..45be74a
--- /dev/null
+++ b/src/views/device/standardEquipment/components/applyList.vue
@@ -0,0 +1,65 @@
+
+
+
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/all.vue b/src/views/device/standardEquipment/components/listApply/all.vue
new file mode 100644
index 0000000..d124307
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/all.vue
@@ -0,0 +1,17 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/approvalPending.vue b/src/views/device/standardEquipment/components/listApply/approvalPending.vue
new file mode 100644
index 0000000..8a7a8bc
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/approvalPending.vue
@@ -0,0 +1,16 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/canceled.vue b/src/views/device/standardEquipment/components/listApply/canceled.vue
new file mode 100644
index 0000000..3b9657c
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/canceled.vue
@@ -0,0 +1,15 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/draftBox.vue b/src/views/device/standardEquipment/components/listApply/draftBox.vue
new file mode 100644
index 0000000..43d7b75
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/draftBox.vue
@@ -0,0 +1,15 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue b/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue
new file mode 100644
index 0000000..c13f95a
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue
@@ -0,0 +1,17 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/listPage.vue b/src/views/device/standardEquipment/components/listApply/listPage.vue
new file mode 100644
index 0000000..5133627
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/listPage.vue
@@ -0,0 +1,493 @@
+
+
+
+
+
+
+
+
+
+
+
+ 同意
+
+
+ 驳回
+
+
+ 拒绝
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 提交
+
+
+ 取消
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/listPageAdd.vue b/src/views/device/standardEquipment/components/listApply/listPageAdd.vue
new file mode 100644
index 0000000..eb506ec
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/listPageAdd.vue
@@ -0,0 +1,1021 @@
+
+
+
+
+
+
+ 基本信息
+
+
+
+ {{ item }}
+
+
+ 关闭
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 上传
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 完成
+
+
+
+
+
+
+
+ 同意
+
+
+ 驳回
+
+
+ 拒绝
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 提交
+
+
+ 取消
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/notPass.vue b/src/views/device/standardEquipment/components/listApply/notPass.vue
new file mode 100644
index 0000000..5a4b817
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/notPass.vue
@@ -0,0 +1,10 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/passed.vue b/src/views/device/standardEquipment/components/listApply/passed.vue
new file mode 100644
index 0000000..31cd21c
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/passed.vue
@@ -0,0 +1,10 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/addRow.vue b/src/views/device/standardEquipment/components/standardList/addRow.vue
new file mode 100644
index 0000000..9f2bf81
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/addRow.vue
@@ -0,0 +1,270 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/baseInfo.vue b/src/views/device/standardEquipment/components/standardList/baseInfo.vue
new file mode 100644
index 0000000..c47ad1d
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/baseInfo.vue
@@ -0,0 +1,675 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 上传
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/temptable.vue b/src/views/device/standardEquipment/components/standardList/temptable.vue
new file mode 100644
index 0000000..20eb800
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/temptable.vue
@@ -0,0 +1,387 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ (searchQuery.offset - 1) * searchQuery.limit + scope.$index + 1 }}
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardListAdd.vue b/src/views/device/standardEquipment/components/standardListAdd.vue
index ea13629..348bb41 100644
--- a/src/views/device/standardEquipment/components/standardListAdd.vue
+++ b/src/views/device/standardEquipment/components/standardListAdd.vue
@@ -3,6 +3,8 @@
import { ElMessage, ElMessageBox } from 'element-plus'
import type { FormInstance, UploadProps, UploadUserFile } from 'element-plus'
import type { IOptions } from '../standard_interface'
+import baseInfo from './standardList/baseInfo.vue'
+import table from './standardList/temptable.vue'
import { getStaffList } from '@/api/measure/person'
import { getTypeSelect } from '@/api/system/price'
import { getStandardLisUpdate, getStandardListAdd, getStandardListDetail, getUsersDept } from '@/api/device/standard'
@@ -17,188 +19,35 @@
default: '',
},
})
-const emit = defineEmits(['close']) // 关闭
-const ruleFormRef = ref()
-// 逻辑代码
-const formInline = ref({
- assessDate: '',
- assessmentUnit: '',
- category: null,
- categoryName: '',
- constructionStandardProject: '',
- constructionStandardUnitName: '',
- contactInfo: '',
- createTime: null,
- createUser: null,
- id: '',
- isDel: null,
- laboratoryOwner: null,
- laboratoryOwnerContact: null,
- laboratoryOwnerName: null,
- managerState: null,
- managerStateName: '',
- measureMajor: null,
- fileList: [],
- measureMajorName: '',
- mesureRange: '',
- organizeNo: '',
- preparationDate: '',
- projectNo: '',
- remark: '',
- standardHumidity: null,
- standardLaboratory: null,
- standardLaboratoryName: '',
- standardLevel: null,
- standardLevelName: '',
- standardName: '',
- standardNo: '',
- standardOwner: null,
- standardOwnerName: '',
- standardTemperature: null,
- totalInvestment: null,
- transmitRange: null,
- transmitRangeName: '',
- uncertainty: '',
- updateTime: null,
- version: null,
-})
-const checkTypeOptions = ref([])
-
-const standardOwnerOptions = ref([]) // 标准负责人
-const fileList = ref([]) // 文件对象数组
-const measureMajorList = ref([]) // 计量专业下拉框
-const standardManagerStateList = ref([]) // 管理状态下拉框
-const standardLevelList = ref([]) // 标准等级下拉框
-const transmitRangeList = ref([]) // 传递范围下拉框
-// 标准所在部门下拉框
-const standardUsersDeptList = ref([])
-// 获取下拉框
-const getSelectList = (code: string) => {
- getTypeSelect(code).then((res) => {
- if (code === 'measureMajor') {
- measureMajorList.value = res.data
- }
- else if (code === 'standardManagerState') {
- standardManagerStateList.value = res.data
- }
- else if (code === 'standardLevel') {
- standardLevelList.value = res.data
- }
- else if (code === 'transmitRange') {
- transmitRangeList.value = res.data
- }
- else if (code === 'standardCategory') {
- checkTypeOptions.value = res.data
- }
- })
+const emit = defineEmits(['close'])
+// 定义数据
+const formInline = ref({})
+// 关闭
+interface menuType {
+ name: string
+ comp: any
}
-getSelectList('measureMajor') // 获取计量专业下拉框
-getSelectList('standardManagerState') // 获取管理状态下拉框
-getSelectList('standardLevel') // 获取标准等级下拉框
-getSelectList('transmitRange') // 获取传递范围下拉框
-getSelectList('standardCategory') // 获取类别下拉框
-// 获取部门信息
-getUsersDept({
- createTime: '',
- director: '',
- meterMajor: '',
- organizeName: '',
- organizeNo: '',
- organizeType: '2',
- pdeptId: null,
- offset: 1,
- limit: 999999,
-}).then((res) => {
- standardUsersDeptList.value = res.data.rows
+const menu = shallowRef([
+ { name: '基本信息', comp: baseInfo },
+ { name: '计量人员', comp: table },
+ { name: '标准配套设备', comp: table },
+ { name: '检定规程', comp: table },
+ { name: '重复性考核记录', comp: table },
+ { name: '稳定性考核记录', comp: table },
+ { name: '证书管理', comp: table },
+])
+const currentCompRef = ref()
+const current = ref('基本信息')
+const currentComp = shallowRef(baseInfo)
+watch(current, (newValue) => {
+ currentComp.value = menu.value.filter(item => item.name === newValue)[0].comp
})
-// 获取到标准负责人数组
-const getStandardOwnerOptions = () => {
- const params = {
- staffNo: '', // 人员编号
- name: '', // 姓名
- deptId: '', // 工作部门
- major: '', // 计量专业
- verifierCertificateNo: '', // 证书号
- certificateStatus: '', // 证书状态
- limit: 100000,
- offset: 1,
- }
- getStaffList(params).then((res) => {
- standardOwnerOptions.value = res.data.records
- })
-}
-getStandardOwnerOptions()
// 关闭
const close = () => {
emit('close')
}
-const rules = ref({
- standardName: [{ required: true, message: '标准名称不能为空', trigger: 'blur' }],
- projectNo: [{ required: true, message: '项目编号不能为空', trigger: 'blur' }],
- constructionStandardProject: [{ required: true, message: '建标项目不能为空', trigger: 'blur' }],
- organizeNo: [{ required: true, message: '组织机构代码不能为空', trigger: 'blur' }],
- constructionStandardUnitName: [{ required: true, message: '建标单位名称不能为空', trigger: 'blur' }],
- standardOwner: [{ required: true, message: '标准负责人不能为空', trigger: 'blur' }],
- contactInfo: [{ required: true, message: '联系方式不能为空', trigger: 'blur' }],
- category: [{ required: true, message: '类 别不能为空', trigger: 'blur' }],
- standardLevel: [{ required: true, message: '标准等级不能为空', trigger: 'blur' }],
- transmitRange: [{ required: true, message: '传递范围不能为空', trigger: 'blur' }],
- preparationDate: [{ required: true, message: '筹建日期不能为空', trigger: 'blur' }],
- managerState: [{ required: true, message: '管理状态不能为空', trigger: 'blur' }],
- measureMajor: [{ required: true, message: '计量专业不能为空', trigger: 'blur' }],
- assessmentUnit: [{ required: true, message: '考核单位不能为空', trigger: 'blur' }],
- assessDate: [{ required: true, message: '考核日期不能为空', trigger: 'blur' }],
- uncertainty: [{ required: true, message: '不确定度不能为空', trigger: 'blur' }],
- mesureRange: [{ required: true, message: '测量范围不能为空', trigger: 'blur' }],
- standardTemperature: [{ required: true, message: '标准温度不能为空', trigger: 'blur' },
- { pattern: /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/, message: '标准温度只能为数字', trigger: 'blur' }],
- standardHumidity: [{ required: true, message: '标准湿度不能为空', trigger: 'blur' },
- { pattern: /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/, message: '标准湿度只能为数字', trigger: 'blur' }],
-}) // 表单验证规则
-// 上传请求
-const uploadQuarterlyEvaluateFile = (file: File) => {
- const fd = new FormData()
- fd.append('multipartFile', file.file)
- UploadFile(fd).then((res) => {
- if (res.code === 200) {
- formInline.value.fileList = res.data
- // 重置当前验证
- ElMessage.success('文件上传成功')
- }
- })
-}
-const handleExceed: UploadProps['onExceed'] = (files, uploadFiles) => {
- ElMessage.warning('只能上传一个文件')
-}
-// 移除时触发
-const beforeRemove: UploadProps['beforeRemove'] = (uploadFile, uploadFiles) => {
- return ElMessageBox.confirm(
- `确认移除${uploadFile.name}文件吗 ?`,
- ).then(
- () => true,
- () => false,
-
- )
-}
-// 点击文件预览
-const uploadShow = (e: any) => {
- const URL = window.URL || window.webkitURL
- window.open(URL.createObjectURL(e.raw))
-}
-const testForm = ref({
- fileList: [],
- fileContent: '',
-})
-const handleFileChange = (files: any, fileList: any) => {
- testForm.value.fileList = fileList
- const reader = new FileReader()
- reader.readAsText(files.raw)
- // reader.onload = (e) => {
- // testForm.value.fileContent = e.target!.result?.replace(
- // /\n|\r\n/g,
- // '
',
- // )
- // }
+const setData = (newValue: object) => {
+ formInline.value = newValue
}
// 编辑获取详情的提交按钮
const submitFormDetail = () => {
@@ -223,60 +72,29 @@
}
}
// 提交
-const submitForm = (formEl: FormInstance | undefined) => {
- if (!formEl) { return }
+const submitForm = () => {
if (props.buttonType === '详情') { return submitFormDetail() }
- formEl.validate((valid, fields) => {
- if (valid) {
- ElMessageBox.confirm(
- '确认提交吗?',
- '提示',
- {
- confirmButtonText: '确认',
- cancelButtonText: '取消',
- type: 'warning',
- },
- ).then(() => {
- props.buttonType === ''
- ? getStandardListAdd(formInline.value).then((res) => {
- if (res.code === 200) {
- close()
- }
- })
- : submitFormDetail()
- })
- }
- })
-}
-// 标准实验室发生改变row类型
-interface rowReturn {
- phone: string
- director: string
-}
-// 标准实验室发生改变
-const changeDeptList = (row: object) => {
- formInline.value.laboratoryOwnerContact = row.phone
- formInline.value.laboratoryOwner = row.director
-}
-// 标准实验室清空时
-const clearDeptList = () => {
- formInline.value.laboratoryOwnerContact = null
- formInline.value.laboratoryOwner = null
-}
-// 获取详情信息
-const getInfo = () => {
- getStandardListDetail({ id: props.infoId }).then((res) => {
- Object.keys(res.data).map((item) => {
- if (typeof (res.data[item]) === 'number') {
- res.data[item] = res.data[item].toString()
- }
+ ElMessageBox.confirm(
+ '确认提交吗?',
+ '提示',
+ {
+ confirmButtonText: '确认',
+ cancelButtonText: '取消',
+ type: 'warning',
+ },
+ ).then(() => {
+ current.value = '基本信息'
+ currentCompRef.value.submitForm().validate().then(() => {
+ props.buttonType === ''
+ ? getStandardListAdd(formInline.value).then((res) => {
+ if (res.code === 200) {
+ close()
+ }
+ })
+ : submitFormDetail()
})
- formInline.value = res.data
})
}
-if (props.buttonType !== '') {
- getInfo()
-}
@@ -289,7 +107,7 @@
{{ buttonType === '详情' ? '打印' : '提交' }}
@@ -298,405 +116,17 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 上传
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
@@ -719,14 +149,8 @@
}
}
-.info-content {
- margin-top: 10px;
- padding: 30px;
- border-radius: 10px;
+.body {
background-color: #fff;
-}
-
-:deep .el-input .el-input--default .el-input--suffix {
- width: 200px !important;
+ margin-top: 10px;
}
diff --git a/src/views/device/standardEquipment/expirationRemind.vue b/src/views/device/standardEquipment/expirationRemind.vue
index 35786b2..1826c22 100644
--- a/src/views/device/standardEquipment/expirationRemind.vue
+++ b/src/views/device/standardEquipment/expirationRemind.vue
@@ -26,39 +26,47 @@
text: '标准代码',
value: 'standardNo',
width: '160',
+ align: 'center',
},
{
text: '标准名称',
value: 'standardName',
width: '90',
+ align: 'center',
},
{
text: '管理状态',
value: 'managerStateName',
width: '100',
+ align: 'center',
},
{
text: '标准所在部门',
value: 'standardLaboratoryName',
width: '120',
+ align: 'center',
},
{
text: '负责人',
value: 'standardOwnerName',
+ align: 'center',
},
{
text: '建标项目',
value: 'standardOwnerName',
+ align: 'center',
},
{
text: '筹建日期',
value: 'preparationDate',
width: '160',
+ align: 'center',
},
{
text: '有效日期',
value: 'preparationDate',
width: '160',
+ align: 'center',
},
])
const total = ref(0)
@@ -326,12 +334,8 @@
-
- 导出
-
-
- 打印
-
+
+
- 编辑
+ 详情
- 详情
+ 提醒
+import applyList from './components/applyList.vue'
// 逻辑代码
- 暂停申请
+
diff --git a/src/views/device/standardEquipment/resumeApply.vue b/src/views/device/standardEquipment/resumeApply.vue
index d4a80e8..b5896fc 100644
--- a/src/views/device/standardEquipment/resumeApply.vue
+++ b/src/views/device/standardEquipment/resumeApply.vue
@@ -1,10 +1,11 @@
- 恢复申请
+
diff --git a/src/views/device/standardEquipment/standardList.vue b/src/views/device/standardEquipment/standardList.vue
index 4f1bfdf..348ed71 100644
--- a/src/views/device/standardEquipment/standardList.vue
+++ b/src/views/device/standardEquipment/standardList.vue
@@ -29,50 +29,60 @@
text: '标准代码',
value: 'standardNo',
width: '120',
+ align: 'center',
},
{
text: '标准名称',
value: 'standardName',
width: '90',
+ align: 'center',
},
{
text: '类别',
value: 'categoryName',
width: '80',
+ align: 'center',
},
{
text: '标准等级',
value: 'standardLevelName',
width: '100',
+ align: 'center',
},
{
text: '传递范围',
value: 'transmitRange',
width: '110',
+ align: 'center',
},
{
text: '管理状态',
value: 'managerStateName',
width: '100',
+ align: 'center',
},
{
text: '标准所在部门',
value: 'standardLaboratoryName',
width: '120',
+ align: 'center',
},
{
text: '负责人',
value: 'laboratoryOwner',
+ align: 'center',
},
{
text: '筹建日期',
value: 'preparationDate',
width: '110',
+ align: 'center',
},
{
text: '备注',
value: 'remark',
width: '80',
+ align: 'center',
},
])
const total = ref(0)
@@ -250,6 +260,9 @@
buttonType.value = text
isShow.value = false
}
+const renderHeader = (e: any) => {
+ console.log(e)
+}
@@ -330,19 +343,13 @@
-
- 新建
-
-
- 导出
-
-
- 打印
-
+
+
+
diff --git a/src/views/device/stateManage/components/approvalActionDialog.vue b/src/views/device/stateManage/components/approvalActionDialog.vue
index cdc9b25..56417d6 100644
--- a/src/views/device/stateManage/components/approvalActionDialog.vue
+++ b/src/views/device/stateManage/components/approvalActionDialog.vue
@@ -1,10 +1,13 @@
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/cancel.vue b/src/views/device/stateManage/components/status/cancel.vue
new file mode 100644
index 0000000..ecb2d0c
--- /dev/null
+++ b/src/views/device/stateManage/components/status/cancel.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/drafts.vue b/src/views/device/stateManage/components/status/drafts.vue
new file mode 100644
index 0000000..226ba21
--- /dev/null
+++ b/src/views/device/stateManage/components/status/drafts.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/inApproval.vue b/src/views/device/stateManage/components/status/inApproval.vue
new file mode 100644
index 0000000..4988595
--- /dev/null
+++ b/src/views/device/stateManage/components/status/inApproval.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/passed.vue b/src/views/device/stateManage/components/status/passed.vue
new file mode 100644
index 0000000..ab87daf
--- /dev/null
+++ b/src/views/device/stateManage/components/status/passed.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/pending.vue b/src/views/device/stateManage/components/status/pending.vue
new file mode 100644
index 0000000..3e0b315
--- /dev/null
+++ b/src/views/device/stateManage/components/status/pending.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/components.d.ts b/src/components.d.ts
index fea7d82..6e85584 100644
--- a/src/components.d.ts
+++ b/src/components.d.ts
@@ -16,6 +16,7 @@
BarChartHorizontal: typeof import('./components/Echart/BarChartHorizontal.vue')['default']
BarChartVertical: typeof import('./components/Echart/BarChartVertical.vue')['default']
BatchActionBar: typeof import('./components/BatchActionBar/index.vue')['default']
+ Benchcol: typeof import('./components/benchcol/index.vue')['default']
BenchCol: typeof import('./components/benchCol/index.vue')['default']
ConditionDrawer: typeof import('./components/drawer/conditionDrawer.vue')['default']
copy: typeof import('./components/DetailPage/index copy.vue')['default']
diff --git a/src/views/device/standardEquipment/cancelApply.vue b/src/views/device/standardEquipment/cancelApply.vue
index c093520..1e50f44 100644
--- a/src/views/device/standardEquipment/cancelApply.vue
+++ b/src/views/device/standardEquipment/cancelApply.vue
@@ -1,10 +1,11 @@
- 撤销申请
+
diff --git a/src/views/device/standardEquipment/changeApply.vue b/src/views/device/standardEquipment/changeApply.vue
index 0762330..6625970 100644
--- a/src/views/device/standardEquipment/changeApply.vue
+++ b/src/views/device/standardEquipment/changeApply.vue
@@ -1,10 +1,11 @@
-
- 更换申请
+
diff --git a/src/views/device/standardEquipment/checkApply.vue b/src/views/device/standardEquipment/checkApply.vue
index 9cadc01..6625970 100644
--- a/src/views/device/standardEquipment/checkApply.vue
+++ b/src/views/device/standardEquipment/checkApply.vue
@@ -1,10 +1,11 @@
- 复查申请
+
diff --git a/src/views/device/standardEquipment/components/applyList.vue b/src/views/device/standardEquipment/components/applyList.vue
new file mode 100644
index 0000000..45be74a
--- /dev/null
+++ b/src/views/device/standardEquipment/components/applyList.vue
@@ -0,0 +1,65 @@
+
+
+
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/all.vue b/src/views/device/standardEquipment/components/listApply/all.vue
new file mode 100644
index 0000000..d124307
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/all.vue
@@ -0,0 +1,17 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/approvalPending.vue b/src/views/device/standardEquipment/components/listApply/approvalPending.vue
new file mode 100644
index 0000000..8a7a8bc
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/approvalPending.vue
@@ -0,0 +1,16 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/canceled.vue b/src/views/device/standardEquipment/components/listApply/canceled.vue
new file mode 100644
index 0000000..3b9657c
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/canceled.vue
@@ -0,0 +1,15 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/draftBox.vue b/src/views/device/standardEquipment/components/listApply/draftBox.vue
new file mode 100644
index 0000000..43d7b75
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/draftBox.vue
@@ -0,0 +1,15 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue b/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue
new file mode 100644
index 0000000..c13f95a
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue
@@ -0,0 +1,17 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/listPage.vue b/src/views/device/standardEquipment/components/listApply/listPage.vue
new file mode 100644
index 0000000..5133627
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/listPage.vue
@@ -0,0 +1,493 @@
+
+
+
+
+
+
+
+
+
+
+
+ 同意
+
+
+ 驳回
+
+
+ 拒绝
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 提交
+
+
+ 取消
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/listPageAdd.vue b/src/views/device/standardEquipment/components/listApply/listPageAdd.vue
new file mode 100644
index 0000000..eb506ec
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/listPageAdd.vue
@@ -0,0 +1,1021 @@
+
+
+
+
+
+
+ 基本信息
+
+
+
+ {{ item }}
+
+
+ 关闭
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 上传
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 完成
+
+
+
+
+
+
+
+ 同意
+
+
+ 驳回
+
+
+ 拒绝
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 提交
+
+
+ 取消
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/notPass.vue b/src/views/device/standardEquipment/components/listApply/notPass.vue
new file mode 100644
index 0000000..5a4b817
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/notPass.vue
@@ -0,0 +1,10 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/passed.vue b/src/views/device/standardEquipment/components/listApply/passed.vue
new file mode 100644
index 0000000..31cd21c
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/passed.vue
@@ -0,0 +1,10 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/addRow.vue b/src/views/device/standardEquipment/components/standardList/addRow.vue
new file mode 100644
index 0000000..9f2bf81
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/addRow.vue
@@ -0,0 +1,270 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/baseInfo.vue b/src/views/device/standardEquipment/components/standardList/baseInfo.vue
new file mode 100644
index 0000000..c47ad1d
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/baseInfo.vue
@@ -0,0 +1,675 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 上传
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/temptable.vue b/src/views/device/standardEquipment/components/standardList/temptable.vue
new file mode 100644
index 0000000..20eb800
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/temptable.vue
@@ -0,0 +1,387 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ (searchQuery.offset - 1) * searchQuery.limit + scope.$index + 1 }}
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardListAdd.vue b/src/views/device/standardEquipment/components/standardListAdd.vue
index ea13629..348bb41 100644
--- a/src/views/device/standardEquipment/components/standardListAdd.vue
+++ b/src/views/device/standardEquipment/components/standardListAdd.vue
@@ -3,6 +3,8 @@
import { ElMessage, ElMessageBox } from 'element-plus'
import type { FormInstance, UploadProps, UploadUserFile } from 'element-plus'
import type { IOptions } from '../standard_interface'
+import baseInfo from './standardList/baseInfo.vue'
+import table from './standardList/temptable.vue'
import { getStaffList } from '@/api/measure/person'
import { getTypeSelect } from '@/api/system/price'
import { getStandardLisUpdate, getStandardListAdd, getStandardListDetail, getUsersDept } from '@/api/device/standard'
@@ -17,188 +19,35 @@
default: '',
},
})
-const emit = defineEmits(['close']) // 关闭
-const ruleFormRef = ref()
-// 逻辑代码
-const formInline = ref({
- assessDate: '',
- assessmentUnit: '',
- category: null,
- categoryName: '',
- constructionStandardProject: '',
- constructionStandardUnitName: '',
- contactInfo: '',
- createTime: null,
- createUser: null,
- id: '',
- isDel: null,
- laboratoryOwner: null,
- laboratoryOwnerContact: null,
- laboratoryOwnerName: null,
- managerState: null,
- managerStateName: '',
- measureMajor: null,
- fileList: [],
- measureMajorName: '',
- mesureRange: '',
- organizeNo: '',
- preparationDate: '',
- projectNo: '',
- remark: '',
- standardHumidity: null,
- standardLaboratory: null,
- standardLaboratoryName: '',
- standardLevel: null,
- standardLevelName: '',
- standardName: '',
- standardNo: '',
- standardOwner: null,
- standardOwnerName: '',
- standardTemperature: null,
- totalInvestment: null,
- transmitRange: null,
- transmitRangeName: '',
- uncertainty: '',
- updateTime: null,
- version: null,
-})
-const checkTypeOptions = ref([])
-
-const standardOwnerOptions = ref([]) // 标准负责人
-const fileList = ref([]) // 文件对象数组
-const measureMajorList = ref([]) // 计量专业下拉框
-const standardManagerStateList = ref([]) // 管理状态下拉框
-const standardLevelList = ref([]) // 标准等级下拉框
-const transmitRangeList = ref([]) // 传递范围下拉框
-// 标准所在部门下拉框
-const standardUsersDeptList = ref([])
-// 获取下拉框
-const getSelectList = (code: string) => {
- getTypeSelect(code).then((res) => {
- if (code === 'measureMajor') {
- measureMajorList.value = res.data
- }
- else if (code === 'standardManagerState') {
- standardManagerStateList.value = res.data
- }
- else if (code === 'standardLevel') {
- standardLevelList.value = res.data
- }
- else if (code === 'transmitRange') {
- transmitRangeList.value = res.data
- }
- else if (code === 'standardCategory') {
- checkTypeOptions.value = res.data
- }
- })
+const emit = defineEmits(['close'])
+// 定义数据
+const formInline = ref({})
+// 关闭
+interface menuType {
+ name: string
+ comp: any
}
-getSelectList('measureMajor') // 获取计量专业下拉框
-getSelectList('standardManagerState') // 获取管理状态下拉框
-getSelectList('standardLevel') // 获取标准等级下拉框
-getSelectList('transmitRange') // 获取传递范围下拉框
-getSelectList('standardCategory') // 获取类别下拉框
-// 获取部门信息
-getUsersDept({
- createTime: '',
- director: '',
- meterMajor: '',
- organizeName: '',
- organizeNo: '',
- organizeType: '2',
- pdeptId: null,
- offset: 1,
- limit: 999999,
-}).then((res) => {
- standardUsersDeptList.value = res.data.rows
+const menu = shallowRef([
+ { name: '基本信息', comp: baseInfo },
+ { name: '计量人员', comp: table },
+ { name: '标准配套设备', comp: table },
+ { name: '检定规程', comp: table },
+ { name: '重复性考核记录', comp: table },
+ { name: '稳定性考核记录', comp: table },
+ { name: '证书管理', comp: table },
+])
+const currentCompRef = ref()
+const current = ref('基本信息')
+const currentComp = shallowRef(baseInfo)
+watch(current, (newValue) => {
+ currentComp.value = menu.value.filter(item => item.name === newValue)[0].comp
})
-// 获取到标准负责人数组
-const getStandardOwnerOptions = () => {
- const params = {
- staffNo: '', // 人员编号
- name: '', // 姓名
- deptId: '', // 工作部门
- major: '', // 计量专业
- verifierCertificateNo: '', // 证书号
- certificateStatus: '', // 证书状态
- limit: 100000,
- offset: 1,
- }
- getStaffList(params).then((res) => {
- standardOwnerOptions.value = res.data.records
- })
-}
-getStandardOwnerOptions()
// 关闭
const close = () => {
emit('close')
}
-const rules = ref({
- standardName: [{ required: true, message: '标准名称不能为空', trigger: 'blur' }],
- projectNo: [{ required: true, message: '项目编号不能为空', trigger: 'blur' }],
- constructionStandardProject: [{ required: true, message: '建标项目不能为空', trigger: 'blur' }],
- organizeNo: [{ required: true, message: '组织机构代码不能为空', trigger: 'blur' }],
- constructionStandardUnitName: [{ required: true, message: '建标单位名称不能为空', trigger: 'blur' }],
- standardOwner: [{ required: true, message: '标准负责人不能为空', trigger: 'blur' }],
- contactInfo: [{ required: true, message: '联系方式不能为空', trigger: 'blur' }],
- category: [{ required: true, message: '类 别不能为空', trigger: 'blur' }],
- standardLevel: [{ required: true, message: '标准等级不能为空', trigger: 'blur' }],
- transmitRange: [{ required: true, message: '传递范围不能为空', trigger: 'blur' }],
- preparationDate: [{ required: true, message: '筹建日期不能为空', trigger: 'blur' }],
- managerState: [{ required: true, message: '管理状态不能为空', trigger: 'blur' }],
- measureMajor: [{ required: true, message: '计量专业不能为空', trigger: 'blur' }],
- assessmentUnit: [{ required: true, message: '考核单位不能为空', trigger: 'blur' }],
- assessDate: [{ required: true, message: '考核日期不能为空', trigger: 'blur' }],
- uncertainty: [{ required: true, message: '不确定度不能为空', trigger: 'blur' }],
- mesureRange: [{ required: true, message: '测量范围不能为空', trigger: 'blur' }],
- standardTemperature: [{ required: true, message: '标准温度不能为空', trigger: 'blur' },
- { pattern: /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/, message: '标准温度只能为数字', trigger: 'blur' }],
- standardHumidity: [{ required: true, message: '标准湿度不能为空', trigger: 'blur' },
- { pattern: /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/, message: '标准湿度只能为数字', trigger: 'blur' }],
-}) // 表单验证规则
-// 上传请求
-const uploadQuarterlyEvaluateFile = (file: File) => {
- const fd = new FormData()
- fd.append('multipartFile', file.file)
- UploadFile(fd).then((res) => {
- if (res.code === 200) {
- formInline.value.fileList = res.data
- // 重置当前验证
- ElMessage.success('文件上传成功')
- }
- })
-}
-const handleExceed: UploadProps['onExceed'] = (files, uploadFiles) => {
- ElMessage.warning('只能上传一个文件')
-}
-// 移除时触发
-const beforeRemove: UploadProps['beforeRemove'] = (uploadFile, uploadFiles) => {
- return ElMessageBox.confirm(
- `确认移除${uploadFile.name}文件吗 ?`,
- ).then(
- () => true,
- () => false,
-
- )
-}
-// 点击文件预览
-const uploadShow = (e: any) => {
- const URL = window.URL || window.webkitURL
- window.open(URL.createObjectURL(e.raw))
-}
-const testForm = ref({
- fileList: [],
- fileContent: '',
-})
-const handleFileChange = (files: any, fileList: any) => {
- testForm.value.fileList = fileList
- const reader = new FileReader()
- reader.readAsText(files.raw)
- // reader.onload = (e) => {
- // testForm.value.fileContent = e.target!.result?.replace(
- // /\n|\r\n/g,
- // '
',
- // )
- // }
+const setData = (newValue: object) => {
+ formInline.value = newValue
}
// 编辑获取详情的提交按钮
const submitFormDetail = () => {
@@ -223,60 +72,29 @@
}
}
// 提交
-const submitForm = (formEl: FormInstance | undefined) => {
- if (!formEl) { return }
+const submitForm = () => {
if (props.buttonType === '详情') { return submitFormDetail() }
- formEl.validate((valid, fields) => {
- if (valid) {
- ElMessageBox.confirm(
- '确认提交吗?',
- '提示',
- {
- confirmButtonText: '确认',
- cancelButtonText: '取消',
- type: 'warning',
- },
- ).then(() => {
- props.buttonType === ''
- ? getStandardListAdd(formInline.value).then((res) => {
- if (res.code === 200) {
- close()
- }
- })
- : submitFormDetail()
- })
- }
- })
-}
-// 标准实验室发生改变row类型
-interface rowReturn {
- phone: string
- director: string
-}
-// 标准实验室发生改变
-const changeDeptList = (row: object) => {
- formInline.value.laboratoryOwnerContact = row.phone
- formInline.value.laboratoryOwner = row.director
-}
-// 标准实验室清空时
-const clearDeptList = () => {
- formInline.value.laboratoryOwnerContact = null
- formInline.value.laboratoryOwner = null
-}
-// 获取详情信息
-const getInfo = () => {
- getStandardListDetail({ id: props.infoId }).then((res) => {
- Object.keys(res.data).map((item) => {
- if (typeof (res.data[item]) === 'number') {
- res.data[item] = res.data[item].toString()
- }
+ ElMessageBox.confirm(
+ '确认提交吗?',
+ '提示',
+ {
+ confirmButtonText: '确认',
+ cancelButtonText: '取消',
+ type: 'warning',
+ },
+ ).then(() => {
+ current.value = '基本信息'
+ currentCompRef.value.submitForm().validate().then(() => {
+ props.buttonType === ''
+ ? getStandardListAdd(formInline.value).then((res) => {
+ if (res.code === 200) {
+ close()
+ }
+ })
+ : submitFormDetail()
})
- formInline.value = res.data
})
}
-if (props.buttonType !== '') {
- getInfo()
-}
@@ -289,7 +107,7 @@
{{ buttonType === '详情' ? '打印' : '提交' }}
@@ -298,405 +116,17 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 上传
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
@@ -719,14 +149,8 @@
}
}
-.info-content {
- margin-top: 10px;
- padding: 30px;
- border-radius: 10px;
+.body {
background-color: #fff;
-}
-
-:deep .el-input .el-input--default .el-input--suffix {
- width: 200px !important;
+ margin-top: 10px;
}
diff --git a/src/views/device/standardEquipment/expirationRemind.vue b/src/views/device/standardEquipment/expirationRemind.vue
index 35786b2..1826c22 100644
--- a/src/views/device/standardEquipment/expirationRemind.vue
+++ b/src/views/device/standardEquipment/expirationRemind.vue
@@ -26,39 +26,47 @@
text: '标准代码',
value: 'standardNo',
width: '160',
+ align: 'center',
},
{
text: '标准名称',
value: 'standardName',
width: '90',
+ align: 'center',
},
{
text: '管理状态',
value: 'managerStateName',
width: '100',
+ align: 'center',
},
{
text: '标准所在部门',
value: 'standardLaboratoryName',
width: '120',
+ align: 'center',
},
{
text: '负责人',
value: 'standardOwnerName',
+ align: 'center',
},
{
text: '建标项目',
value: 'standardOwnerName',
+ align: 'center',
},
{
text: '筹建日期',
value: 'preparationDate',
width: '160',
+ align: 'center',
},
{
text: '有效日期',
value: 'preparationDate',
width: '160',
+ align: 'center',
},
])
const total = ref(0)
@@ -326,12 +334,8 @@
-
- 导出
-
-
- 打印
-
+
+
- 编辑
+ 详情
- 详情
+ 提醒
+import applyList from './components/applyList.vue'
// 逻辑代码
- 暂停申请
+
diff --git a/src/views/device/standardEquipment/resumeApply.vue b/src/views/device/standardEquipment/resumeApply.vue
index d4a80e8..b5896fc 100644
--- a/src/views/device/standardEquipment/resumeApply.vue
+++ b/src/views/device/standardEquipment/resumeApply.vue
@@ -1,10 +1,11 @@
- 恢复申请
+
diff --git a/src/views/device/standardEquipment/standardList.vue b/src/views/device/standardEquipment/standardList.vue
index 4f1bfdf..348ed71 100644
--- a/src/views/device/standardEquipment/standardList.vue
+++ b/src/views/device/standardEquipment/standardList.vue
@@ -29,50 +29,60 @@
text: '标准代码',
value: 'standardNo',
width: '120',
+ align: 'center',
},
{
text: '标准名称',
value: 'standardName',
width: '90',
+ align: 'center',
},
{
text: '类别',
value: 'categoryName',
width: '80',
+ align: 'center',
},
{
text: '标准等级',
value: 'standardLevelName',
width: '100',
+ align: 'center',
},
{
text: '传递范围',
value: 'transmitRange',
width: '110',
+ align: 'center',
},
{
text: '管理状态',
value: 'managerStateName',
width: '100',
+ align: 'center',
},
{
text: '标准所在部门',
value: 'standardLaboratoryName',
width: '120',
+ align: 'center',
},
{
text: '负责人',
value: 'laboratoryOwner',
+ align: 'center',
},
{
text: '筹建日期',
value: 'preparationDate',
width: '110',
+ align: 'center',
},
{
text: '备注',
value: 'remark',
width: '80',
+ align: 'center',
},
])
const total = ref(0)
@@ -250,6 +260,9 @@
buttonType.value = text
isShow.value = false
}
+const renderHeader = (e: any) => {
+ console.log(e)
+}
@@ -330,19 +343,13 @@
-
- 新建
-
-
- 导出
-
-
- 打印
-
+
+
+
diff --git a/src/views/device/stateManage/components/approvalActionDialog.vue b/src/views/device/stateManage/components/approvalActionDialog.vue
index cdc9b25..56417d6 100644
--- a/src/views/device/stateManage/components/approvalActionDialog.vue
+++ b/src/views/device/stateManage/components/approvalActionDialog.vue
@@ -1,10 +1,13 @@
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/cancel.vue b/src/views/device/stateManage/components/status/cancel.vue
new file mode 100644
index 0000000..ecb2d0c
--- /dev/null
+++ b/src/views/device/stateManage/components/status/cancel.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/drafts.vue b/src/views/device/stateManage/components/status/drafts.vue
new file mode 100644
index 0000000..226ba21
--- /dev/null
+++ b/src/views/device/stateManage/components/status/drafts.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/inApproval.vue b/src/views/device/stateManage/components/status/inApproval.vue
new file mode 100644
index 0000000..4988595
--- /dev/null
+++ b/src/views/device/stateManage/components/status/inApproval.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/passed.vue b/src/views/device/stateManage/components/status/passed.vue
new file mode 100644
index 0000000..ab87daf
--- /dev/null
+++ b/src/views/device/stateManage/components/status/passed.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/pending.vue b/src/views/device/stateManage/components/status/pending.vue
new file mode 100644
index 0000000..3e0b315
--- /dev/null
+++ b/src/views/device/stateManage/components/status/pending.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/unPassed.vue b/src/views/device/stateManage/components/status/unPassed.vue
new file mode 100644
index 0000000..8de700e
--- /dev/null
+++ b/src/views/device/stateManage/components/status/unPassed.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/components.d.ts b/src/components.d.ts
index fea7d82..6e85584 100644
--- a/src/components.d.ts
+++ b/src/components.d.ts
@@ -16,6 +16,7 @@
BarChartHorizontal: typeof import('./components/Echart/BarChartHorizontal.vue')['default']
BarChartVertical: typeof import('./components/Echart/BarChartVertical.vue')['default']
BatchActionBar: typeof import('./components/BatchActionBar/index.vue')['default']
+ Benchcol: typeof import('./components/benchcol/index.vue')['default']
BenchCol: typeof import('./components/benchCol/index.vue')['default']
ConditionDrawer: typeof import('./components/drawer/conditionDrawer.vue')['default']
copy: typeof import('./components/DetailPage/index copy.vue')['default']
diff --git a/src/views/device/standardEquipment/cancelApply.vue b/src/views/device/standardEquipment/cancelApply.vue
index c093520..1e50f44 100644
--- a/src/views/device/standardEquipment/cancelApply.vue
+++ b/src/views/device/standardEquipment/cancelApply.vue
@@ -1,10 +1,11 @@
- 撤销申请
+
diff --git a/src/views/device/standardEquipment/changeApply.vue b/src/views/device/standardEquipment/changeApply.vue
index 0762330..6625970 100644
--- a/src/views/device/standardEquipment/changeApply.vue
+++ b/src/views/device/standardEquipment/changeApply.vue
@@ -1,10 +1,11 @@
-
- 更换申请
+
diff --git a/src/views/device/standardEquipment/checkApply.vue b/src/views/device/standardEquipment/checkApply.vue
index 9cadc01..6625970 100644
--- a/src/views/device/standardEquipment/checkApply.vue
+++ b/src/views/device/standardEquipment/checkApply.vue
@@ -1,10 +1,11 @@
- 复查申请
+
diff --git a/src/views/device/standardEquipment/components/applyList.vue b/src/views/device/standardEquipment/components/applyList.vue
new file mode 100644
index 0000000..45be74a
--- /dev/null
+++ b/src/views/device/standardEquipment/components/applyList.vue
@@ -0,0 +1,65 @@
+
+
+
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/all.vue b/src/views/device/standardEquipment/components/listApply/all.vue
new file mode 100644
index 0000000..d124307
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/all.vue
@@ -0,0 +1,17 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/approvalPending.vue b/src/views/device/standardEquipment/components/listApply/approvalPending.vue
new file mode 100644
index 0000000..8a7a8bc
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/approvalPending.vue
@@ -0,0 +1,16 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/canceled.vue b/src/views/device/standardEquipment/components/listApply/canceled.vue
new file mode 100644
index 0000000..3b9657c
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/canceled.vue
@@ -0,0 +1,15 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/draftBox.vue b/src/views/device/standardEquipment/components/listApply/draftBox.vue
new file mode 100644
index 0000000..43d7b75
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/draftBox.vue
@@ -0,0 +1,15 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue b/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue
new file mode 100644
index 0000000..c13f95a
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue
@@ -0,0 +1,17 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/listPage.vue b/src/views/device/standardEquipment/components/listApply/listPage.vue
new file mode 100644
index 0000000..5133627
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/listPage.vue
@@ -0,0 +1,493 @@
+
+
+
+
+
+
+
+
+
+
+
+ 同意
+
+
+ 驳回
+
+
+ 拒绝
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 提交
+
+
+ 取消
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/listPageAdd.vue b/src/views/device/standardEquipment/components/listApply/listPageAdd.vue
new file mode 100644
index 0000000..eb506ec
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/listPageAdd.vue
@@ -0,0 +1,1021 @@
+
+
+
+
+
+
+ 基本信息
+
+
+
+ {{ item }}
+
+
+ 关闭
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 上传
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 完成
+
+
+
+
+
+
+
+ 同意
+
+
+ 驳回
+
+
+ 拒绝
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 提交
+
+
+ 取消
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/notPass.vue b/src/views/device/standardEquipment/components/listApply/notPass.vue
new file mode 100644
index 0000000..5a4b817
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/notPass.vue
@@ -0,0 +1,10 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/passed.vue b/src/views/device/standardEquipment/components/listApply/passed.vue
new file mode 100644
index 0000000..31cd21c
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/passed.vue
@@ -0,0 +1,10 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/addRow.vue b/src/views/device/standardEquipment/components/standardList/addRow.vue
new file mode 100644
index 0000000..9f2bf81
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/addRow.vue
@@ -0,0 +1,270 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/baseInfo.vue b/src/views/device/standardEquipment/components/standardList/baseInfo.vue
new file mode 100644
index 0000000..c47ad1d
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/baseInfo.vue
@@ -0,0 +1,675 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 上传
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/temptable.vue b/src/views/device/standardEquipment/components/standardList/temptable.vue
new file mode 100644
index 0000000..20eb800
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/temptable.vue
@@ -0,0 +1,387 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ (searchQuery.offset - 1) * searchQuery.limit + scope.$index + 1 }}
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardListAdd.vue b/src/views/device/standardEquipment/components/standardListAdd.vue
index ea13629..348bb41 100644
--- a/src/views/device/standardEquipment/components/standardListAdd.vue
+++ b/src/views/device/standardEquipment/components/standardListAdd.vue
@@ -3,6 +3,8 @@
import { ElMessage, ElMessageBox } from 'element-plus'
import type { FormInstance, UploadProps, UploadUserFile } from 'element-plus'
import type { IOptions } from '../standard_interface'
+import baseInfo from './standardList/baseInfo.vue'
+import table from './standardList/temptable.vue'
import { getStaffList } from '@/api/measure/person'
import { getTypeSelect } from '@/api/system/price'
import { getStandardLisUpdate, getStandardListAdd, getStandardListDetail, getUsersDept } from '@/api/device/standard'
@@ -17,188 +19,35 @@
default: '',
},
})
-const emit = defineEmits(['close']) // 关闭
-const ruleFormRef = ref()
-// 逻辑代码
-const formInline = ref({
- assessDate: '',
- assessmentUnit: '',
- category: null,
- categoryName: '',
- constructionStandardProject: '',
- constructionStandardUnitName: '',
- contactInfo: '',
- createTime: null,
- createUser: null,
- id: '',
- isDel: null,
- laboratoryOwner: null,
- laboratoryOwnerContact: null,
- laboratoryOwnerName: null,
- managerState: null,
- managerStateName: '',
- measureMajor: null,
- fileList: [],
- measureMajorName: '',
- mesureRange: '',
- organizeNo: '',
- preparationDate: '',
- projectNo: '',
- remark: '',
- standardHumidity: null,
- standardLaboratory: null,
- standardLaboratoryName: '',
- standardLevel: null,
- standardLevelName: '',
- standardName: '',
- standardNo: '',
- standardOwner: null,
- standardOwnerName: '',
- standardTemperature: null,
- totalInvestment: null,
- transmitRange: null,
- transmitRangeName: '',
- uncertainty: '',
- updateTime: null,
- version: null,
-})
-const checkTypeOptions = ref([])
-
-const standardOwnerOptions = ref([]) // 标准负责人
-const fileList = ref([]) // 文件对象数组
-const measureMajorList = ref([]) // 计量专业下拉框
-const standardManagerStateList = ref([]) // 管理状态下拉框
-const standardLevelList = ref([]) // 标准等级下拉框
-const transmitRangeList = ref([]) // 传递范围下拉框
-// 标准所在部门下拉框
-const standardUsersDeptList = ref([])
-// 获取下拉框
-const getSelectList = (code: string) => {
- getTypeSelect(code).then((res) => {
- if (code === 'measureMajor') {
- measureMajorList.value = res.data
- }
- else if (code === 'standardManagerState') {
- standardManagerStateList.value = res.data
- }
- else if (code === 'standardLevel') {
- standardLevelList.value = res.data
- }
- else if (code === 'transmitRange') {
- transmitRangeList.value = res.data
- }
- else if (code === 'standardCategory') {
- checkTypeOptions.value = res.data
- }
- })
+const emit = defineEmits(['close'])
+// 定义数据
+const formInline = ref({})
+// 关闭
+interface menuType {
+ name: string
+ comp: any
}
-getSelectList('measureMajor') // 获取计量专业下拉框
-getSelectList('standardManagerState') // 获取管理状态下拉框
-getSelectList('standardLevel') // 获取标准等级下拉框
-getSelectList('transmitRange') // 获取传递范围下拉框
-getSelectList('standardCategory') // 获取类别下拉框
-// 获取部门信息
-getUsersDept({
- createTime: '',
- director: '',
- meterMajor: '',
- organizeName: '',
- organizeNo: '',
- organizeType: '2',
- pdeptId: null,
- offset: 1,
- limit: 999999,
-}).then((res) => {
- standardUsersDeptList.value = res.data.rows
+const menu = shallowRef([
+ { name: '基本信息', comp: baseInfo },
+ { name: '计量人员', comp: table },
+ { name: '标准配套设备', comp: table },
+ { name: '检定规程', comp: table },
+ { name: '重复性考核记录', comp: table },
+ { name: '稳定性考核记录', comp: table },
+ { name: '证书管理', comp: table },
+])
+const currentCompRef = ref()
+const current = ref('基本信息')
+const currentComp = shallowRef(baseInfo)
+watch(current, (newValue) => {
+ currentComp.value = menu.value.filter(item => item.name === newValue)[0].comp
})
-// 获取到标准负责人数组
-const getStandardOwnerOptions = () => {
- const params = {
- staffNo: '', // 人员编号
- name: '', // 姓名
- deptId: '', // 工作部门
- major: '', // 计量专业
- verifierCertificateNo: '', // 证书号
- certificateStatus: '', // 证书状态
- limit: 100000,
- offset: 1,
- }
- getStaffList(params).then((res) => {
- standardOwnerOptions.value = res.data.records
- })
-}
-getStandardOwnerOptions()
// 关闭
const close = () => {
emit('close')
}
-const rules = ref({
- standardName: [{ required: true, message: '标准名称不能为空', trigger: 'blur' }],
- projectNo: [{ required: true, message: '项目编号不能为空', trigger: 'blur' }],
- constructionStandardProject: [{ required: true, message: '建标项目不能为空', trigger: 'blur' }],
- organizeNo: [{ required: true, message: '组织机构代码不能为空', trigger: 'blur' }],
- constructionStandardUnitName: [{ required: true, message: '建标单位名称不能为空', trigger: 'blur' }],
- standardOwner: [{ required: true, message: '标准负责人不能为空', trigger: 'blur' }],
- contactInfo: [{ required: true, message: '联系方式不能为空', trigger: 'blur' }],
- category: [{ required: true, message: '类 别不能为空', trigger: 'blur' }],
- standardLevel: [{ required: true, message: '标准等级不能为空', trigger: 'blur' }],
- transmitRange: [{ required: true, message: '传递范围不能为空', trigger: 'blur' }],
- preparationDate: [{ required: true, message: '筹建日期不能为空', trigger: 'blur' }],
- managerState: [{ required: true, message: '管理状态不能为空', trigger: 'blur' }],
- measureMajor: [{ required: true, message: '计量专业不能为空', trigger: 'blur' }],
- assessmentUnit: [{ required: true, message: '考核单位不能为空', trigger: 'blur' }],
- assessDate: [{ required: true, message: '考核日期不能为空', trigger: 'blur' }],
- uncertainty: [{ required: true, message: '不确定度不能为空', trigger: 'blur' }],
- mesureRange: [{ required: true, message: '测量范围不能为空', trigger: 'blur' }],
- standardTemperature: [{ required: true, message: '标准温度不能为空', trigger: 'blur' },
- { pattern: /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/, message: '标准温度只能为数字', trigger: 'blur' }],
- standardHumidity: [{ required: true, message: '标准湿度不能为空', trigger: 'blur' },
- { pattern: /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/, message: '标准湿度只能为数字', trigger: 'blur' }],
-}) // 表单验证规则
-// 上传请求
-const uploadQuarterlyEvaluateFile = (file: File) => {
- const fd = new FormData()
- fd.append('multipartFile', file.file)
- UploadFile(fd).then((res) => {
- if (res.code === 200) {
- formInline.value.fileList = res.data
- // 重置当前验证
- ElMessage.success('文件上传成功')
- }
- })
-}
-const handleExceed: UploadProps['onExceed'] = (files, uploadFiles) => {
- ElMessage.warning('只能上传一个文件')
-}
-// 移除时触发
-const beforeRemove: UploadProps['beforeRemove'] = (uploadFile, uploadFiles) => {
- return ElMessageBox.confirm(
- `确认移除${uploadFile.name}文件吗 ?`,
- ).then(
- () => true,
- () => false,
-
- )
-}
-// 点击文件预览
-const uploadShow = (e: any) => {
- const URL = window.URL || window.webkitURL
- window.open(URL.createObjectURL(e.raw))
-}
-const testForm = ref({
- fileList: [],
- fileContent: '',
-})
-const handleFileChange = (files: any, fileList: any) => {
- testForm.value.fileList = fileList
- const reader = new FileReader()
- reader.readAsText(files.raw)
- // reader.onload = (e) => {
- // testForm.value.fileContent = e.target!.result?.replace(
- // /\n|\r\n/g,
- // '
',
- // )
- // }
+const setData = (newValue: object) => {
+ formInline.value = newValue
}
// 编辑获取详情的提交按钮
const submitFormDetail = () => {
@@ -223,60 +72,29 @@
}
}
// 提交
-const submitForm = (formEl: FormInstance | undefined) => {
- if (!formEl) { return }
+const submitForm = () => {
if (props.buttonType === '详情') { return submitFormDetail() }
- formEl.validate((valid, fields) => {
- if (valid) {
- ElMessageBox.confirm(
- '确认提交吗?',
- '提示',
- {
- confirmButtonText: '确认',
- cancelButtonText: '取消',
- type: 'warning',
- },
- ).then(() => {
- props.buttonType === ''
- ? getStandardListAdd(formInline.value).then((res) => {
- if (res.code === 200) {
- close()
- }
- })
- : submitFormDetail()
- })
- }
- })
-}
-// 标准实验室发生改变row类型
-interface rowReturn {
- phone: string
- director: string
-}
-// 标准实验室发生改变
-const changeDeptList = (row: object) => {
- formInline.value.laboratoryOwnerContact = row.phone
- formInline.value.laboratoryOwner = row.director
-}
-// 标准实验室清空时
-const clearDeptList = () => {
- formInline.value.laboratoryOwnerContact = null
- formInline.value.laboratoryOwner = null
-}
-// 获取详情信息
-const getInfo = () => {
- getStandardListDetail({ id: props.infoId }).then((res) => {
- Object.keys(res.data).map((item) => {
- if (typeof (res.data[item]) === 'number') {
- res.data[item] = res.data[item].toString()
- }
+ ElMessageBox.confirm(
+ '确认提交吗?',
+ '提示',
+ {
+ confirmButtonText: '确认',
+ cancelButtonText: '取消',
+ type: 'warning',
+ },
+ ).then(() => {
+ current.value = '基本信息'
+ currentCompRef.value.submitForm().validate().then(() => {
+ props.buttonType === ''
+ ? getStandardListAdd(formInline.value).then((res) => {
+ if (res.code === 200) {
+ close()
+ }
+ })
+ : submitFormDetail()
})
- formInline.value = res.data
})
}
-if (props.buttonType !== '') {
- getInfo()
-}
@@ -289,7 +107,7 @@
{{ buttonType === '详情' ? '打印' : '提交' }}
@@ -298,405 +116,17 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 上传
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
@@ -719,14 +149,8 @@
}
}
-.info-content {
- margin-top: 10px;
- padding: 30px;
- border-radius: 10px;
+.body {
background-color: #fff;
-}
-
-:deep .el-input .el-input--default .el-input--suffix {
- width: 200px !important;
+ margin-top: 10px;
}
diff --git a/src/views/device/standardEquipment/expirationRemind.vue b/src/views/device/standardEquipment/expirationRemind.vue
index 35786b2..1826c22 100644
--- a/src/views/device/standardEquipment/expirationRemind.vue
+++ b/src/views/device/standardEquipment/expirationRemind.vue
@@ -26,39 +26,47 @@
text: '标准代码',
value: 'standardNo',
width: '160',
+ align: 'center',
},
{
text: '标准名称',
value: 'standardName',
width: '90',
+ align: 'center',
},
{
text: '管理状态',
value: 'managerStateName',
width: '100',
+ align: 'center',
},
{
text: '标准所在部门',
value: 'standardLaboratoryName',
width: '120',
+ align: 'center',
},
{
text: '负责人',
value: 'standardOwnerName',
+ align: 'center',
},
{
text: '建标项目',
value: 'standardOwnerName',
+ align: 'center',
},
{
text: '筹建日期',
value: 'preparationDate',
width: '160',
+ align: 'center',
},
{
text: '有效日期',
value: 'preparationDate',
width: '160',
+ align: 'center',
},
])
const total = ref(0)
@@ -326,12 +334,8 @@
-
- 导出
-
-
- 打印
-
+
+
- 编辑
+ 详情
- 详情
+ 提醒
+import applyList from './components/applyList.vue'
// 逻辑代码
- 暂停申请
+
diff --git a/src/views/device/standardEquipment/resumeApply.vue b/src/views/device/standardEquipment/resumeApply.vue
index d4a80e8..b5896fc 100644
--- a/src/views/device/standardEquipment/resumeApply.vue
+++ b/src/views/device/standardEquipment/resumeApply.vue
@@ -1,10 +1,11 @@
- 恢复申请
+
diff --git a/src/views/device/standardEquipment/standardList.vue b/src/views/device/standardEquipment/standardList.vue
index 4f1bfdf..348ed71 100644
--- a/src/views/device/standardEquipment/standardList.vue
+++ b/src/views/device/standardEquipment/standardList.vue
@@ -29,50 +29,60 @@
text: '标准代码',
value: 'standardNo',
width: '120',
+ align: 'center',
},
{
text: '标准名称',
value: 'standardName',
width: '90',
+ align: 'center',
},
{
text: '类别',
value: 'categoryName',
width: '80',
+ align: 'center',
},
{
text: '标准等级',
value: 'standardLevelName',
width: '100',
+ align: 'center',
},
{
text: '传递范围',
value: 'transmitRange',
width: '110',
+ align: 'center',
},
{
text: '管理状态',
value: 'managerStateName',
width: '100',
+ align: 'center',
},
{
text: '标准所在部门',
value: 'standardLaboratoryName',
width: '120',
+ align: 'center',
},
{
text: '负责人',
value: 'laboratoryOwner',
+ align: 'center',
},
{
text: '筹建日期',
value: 'preparationDate',
width: '110',
+ align: 'center',
},
{
text: '备注',
value: 'remark',
width: '80',
+ align: 'center',
},
])
const total = ref(0)
@@ -250,6 +260,9 @@
buttonType.value = text
isShow.value = false
}
+const renderHeader = (e: any) => {
+ console.log(e)
+}
@@ -330,19 +343,13 @@
-
- 新建
-
-
- 导出
-
-
- 打印
-
+
+
+
diff --git a/src/views/device/stateManage/components/approvalActionDialog.vue b/src/views/device/stateManage/components/approvalActionDialog.vue
index cdc9b25..56417d6 100644
--- a/src/views/device/stateManage/components/approvalActionDialog.vue
+++ b/src/views/device/stateManage/components/approvalActionDialog.vue
@@ -1,10 +1,13 @@
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/cancel.vue b/src/views/device/stateManage/components/status/cancel.vue
new file mode 100644
index 0000000..ecb2d0c
--- /dev/null
+++ b/src/views/device/stateManage/components/status/cancel.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/drafts.vue b/src/views/device/stateManage/components/status/drafts.vue
new file mode 100644
index 0000000..226ba21
--- /dev/null
+++ b/src/views/device/stateManage/components/status/drafts.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/inApproval.vue b/src/views/device/stateManage/components/status/inApproval.vue
new file mode 100644
index 0000000..4988595
--- /dev/null
+++ b/src/views/device/stateManage/components/status/inApproval.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/passed.vue b/src/views/device/stateManage/components/status/passed.vue
new file mode 100644
index 0000000..ab87daf
--- /dev/null
+++ b/src/views/device/stateManage/components/status/passed.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/pending.vue b/src/views/device/stateManage/components/status/pending.vue
new file mode 100644
index 0000000..3e0b315
--- /dev/null
+++ b/src/views/device/stateManage/components/status/pending.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/unPassed.vue b/src/views/device/stateManage/components/status/unPassed.vue
new file mode 100644
index 0000000..8de700e
--- /dev/null
+++ b/src/views/device/stateManage/components/status/unPassed.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/templateAdd.vue b/src/views/device/stateManage/components/templateAdd.vue
index 9c4da0f..fc364c8 100644
--- a/src/views/device/stateManage/components/templateAdd.vue
+++ b/src/views/device/stateManage/components/templateAdd.vue
@@ -381,10 +381,10 @@
-
+
diff --git a/src/components.d.ts b/src/components.d.ts
index fea7d82..6e85584 100644
--- a/src/components.d.ts
+++ b/src/components.d.ts
@@ -16,6 +16,7 @@
BarChartHorizontal: typeof import('./components/Echart/BarChartHorizontal.vue')['default']
BarChartVertical: typeof import('./components/Echart/BarChartVertical.vue')['default']
BatchActionBar: typeof import('./components/BatchActionBar/index.vue')['default']
+ Benchcol: typeof import('./components/benchcol/index.vue')['default']
BenchCol: typeof import('./components/benchCol/index.vue')['default']
ConditionDrawer: typeof import('./components/drawer/conditionDrawer.vue')['default']
copy: typeof import('./components/DetailPage/index copy.vue')['default']
diff --git a/src/views/device/standardEquipment/cancelApply.vue b/src/views/device/standardEquipment/cancelApply.vue
index c093520..1e50f44 100644
--- a/src/views/device/standardEquipment/cancelApply.vue
+++ b/src/views/device/standardEquipment/cancelApply.vue
@@ -1,10 +1,11 @@
- 撤销申请
+
diff --git a/src/views/device/standardEquipment/changeApply.vue b/src/views/device/standardEquipment/changeApply.vue
index 0762330..6625970 100644
--- a/src/views/device/standardEquipment/changeApply.vue
+++ b/src/views/device/standardEquipment/changeApply.vue
@@ -1,10 +1,11 @@
-
- 更换申请
+
diff --git a/src/views/device/standardEquipment/checkApply.vue b/src/views/device/standardEquipment/checkApply.vue
index 9cadc01..6625970 100644
--- a/src/views/device/standardEquipment/checkApply.vue
+++ b/src/views/device/standardEquipment/checkApply.vue
@@ -1,10 +1,11 @@
- 复查申请
+
diff --git a/src/views/device/standardEquipment/components/applyList.vue b/src/views/device/standardEquipment/components/applyList.vue
new file mode 100644
index 0000000..45be74a
--- /dev/null
+++ b/src/views/device/standardEquipment/components/applyList.vue
@@ -0,0 +1,65 @@
+
+
+
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/all.vue b/src/views/device/standardEquipment/components/listApply/all.vue
new file mode 100644
index 0000000..d124307
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/all.vue
@@ -0,0 +1,17 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/approvalPending.vue b/src/views/device/standardEquipment/components/listApply/approvalPending.vue
new file mode 100644
index 0000000..8a7a8bc
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/approvalPending.vue
@@ -0,0 +1,16 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/canceled.vue b/src/views/device/standardEquipment/components/listApply/canceled.vue
new file mode 100644
index 0000000..3b9657c
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/canceled.vue
@@ -0,0 +1,15 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/draftBox.vue b/src/views/device/standardEquipment/components/listApply/draftBox.vue
new file mode 100644
index 0000000..43d7b75
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/draftBox.vue
@@ -0,0 +1,15 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue b/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue
new file mode 100644
index 0000000..c13f95a
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue
@@ -0,0 +1,17 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/listPage.vue b/src/views/device/standardEquipment/components/listApply/listPage.vue
new file mode 100644
index 0000000..5133627
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/listPage.vue
@@ -0,0 +1,493 @@
+
+
+
+
+
+
+
+
+
+
+
+ 同意
+
+
+ 驳回
+
+
+ 拒绝
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 提交
+
+
+ 取消
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/listPageAdd.vue b/src/views/device/standardEquipment/components/listApply/listPageAdd.vue
new file mode 100644
index 0000000..eb506ec
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/listPageAdd.vue
@@ -0,0 +1,1021 @@
+
+
+
+
+
+
+ 基本信息
+
+
+
+ {{ item }}
+
+
+ 关闭
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 上传
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 完成
+
+
+
+
+
+
+
+ 同意
+
+
+ 驳回
+
+
+ 拒绝
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 提交
+
+
+ 取消
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/notPass.vue b/src/views/device/standardEquipment/components/listApply/notPass.vue
new file mode 100644
index 0000000..5a4b817
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/notPass.vue
@@ -0,0 +1,10 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/passed.vue b/src/views/device/standardEquipment/components/listApply/passed.vue
new file mode 100644
index 0000000..31cd21c
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/passed.vue
@@ -0,0 +1,10 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/addRow.vue b/src/views/device/standardEquipment/components/standardList/addRow.vue
new file mode 100644
index 0000000..9f2bf81
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/addRow.vue
@@ -0,0 +1,270 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/baseInfo.vue b/src/views/device/standardEquipment/components/standardList/baseInfo.vue
new file mode 100644
index 0000000..c47ad1d
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/baseInfo.vue
@@ -0,0 +1,675 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 上传
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/temptable.vue b/src/views/device/standardEquipment/components/standardList/temptable.vue
new file mode 100644
index 0000000..20eb800
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/temptable.vue
@@ -0,0 +1,387 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ (searchQuery.offset - 1) * searchQuery.limit + scope.$index + 1 }}
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardListAdd.vue b/src/views/device/standardEquipment/components/standardListAdd.vue
index ea13629..348bb41 100644
--- a/src/views/device/standardEquipment/components/standardListAdd.vue
+++ b/src/views/device/standardEquipment/components/standardListAdd.vue
@@ -3,6 +3,8 @@
import { ElMessage, ElMessageBox } from 'element-plus'
import type { FormInstance, UploadProps, UploadUserFile } from 'element-plus'
import type { IOptions } from '../standard_interface'
+import baseInfo from './standardList/baseInfo.vue'
+import table from './standardList/temptable.vue'
import { getStaffList } from '@/api/measure/person'
import { getTypeSelect } from '@/api/system/price'
import { getStandardLisUpdate, getStandardListAdd, getStandardListDetail, getUsersDept } from '@/api/device/standard'
@@ -17,188 +19,35 @@
default: '',
},
})
-const emit = defineEmits(['close']) // 关闭
-const ruleFormRef = ref()
-// 逻辑代码
-const formInline = ref({
- assessDate: '',
- assessmentUnit: '',
- category: null,
- categoryName: '',
- constructionStandardProject: '',
- constructionStandardUnitName: '',
- contactInfo: '',
- createTime: null,
- createUser: null,
- id: '',
- isDel: null,
- laboratoryOwner: null,
- laboratoryOwnerContact: null,
- laboratoryOwnerName: null,
- managerState: null,
- managerStateName: '',
- measureMajor: null,
- fileList: [],
- measureMajorName: '',
- mesureRange: '',
- organizeNo: '',
- preparationDate: '',
- projectNo: '',
- remark: '',
- standardHumidity: null,
- standardLaboratory: null,
- standardLaboratoryName: '',
- standardLevel: null,
- standardLevelName: '',
- standardName: '',
- standardNo: '',
- standardOwner: null,
- standardOwnerName: '',
- standardTemperature: null,
- totalInvestment: null,
- transmitRange: null,
- transmitRangeName: '',
- uncertainty: '',
- updateTime: null,
- version: null,
-})
-const checkTypeOptions = ref([])
-
-const standardOwnerOptions = ref([]) // 标准负责人
-const fileList = ref([]) // 文件对象数组
-const measureMajorList = ref([]) // 计量专业下拉框
-const standardManagerStateList = ref([]) // 管理状态下拉框
-const standardLevelList = ref([]) // 标准等级下拉框
-const transmitRangeList = ref([]) // 传递范围下拉框
-// 标准所在部门下拉框
-const standardUsersDeptList = ref([])
-// 获取下拉框
-const getSelectList = (code: string) => {
- getTypeSelect(code).then((res) => {
- if (code === 'measureMajor') {
- measureMajorList.value = res.data
- }
- else if (code === 'standardManagerState') {
- standardManagerStateList.value = res.data
- }
- else if (code === 'standardLevel') {
- standardLevelList.value = res.data
- }
- else if (code === 'transmitRange') {
- transmitRangeList.value = res.data
- }
- else if (code === 'standardCategory') {
- checkTypeOptions.value = res.data
- }
- })
+const emit = defineEmits(['close'])
+// 定义数据
+const formInline = ref({})
+// 关闭
+interface menuType {
+ name: string
+ comp: any
}
-getSelectList('measureMajor') // 获取计量专业下拉框
-getSelectList('standardManagerState') // 获取管理状态下拉框
-getSelectList('standardLevel') // 获取标准等级下拉框
-getSelectList('transmitRange') // 获取传递范围下拉框
-getSelectList('standardCategory') // 获取类别下拉框
-// 获取部门信息
-getUsersDept({
- createTime: '',
- director: '',
- meterMajor: '',
- organizeName: '',
- organizeNo: '',
- organizeType: '2',
- pdeptId: null,
- offset: 1,
- limit: 999999,
-}).then((res) => {
- standardUsersDeptList.value = res.data.rows
+const menu = shallowRef([
+ { name: '基本信息', comp: baseInfo },
+ { name: '计量人员', comp: table },
+ { name: '标准配套设备', comp: table },
+ { name: '检定规程', comp: table },
+ { name: '重复性考核记录', comp: table },
+ { name: '稳定性考核记录', comp: table },
+ { name: '证书管理', comp: table },
+])
+const currentCompRef = ref()
+const current = ref('基本信息')
+const currentComp = shallowRef(baseInfo)
+watch(current, (newValue) => {
+ currentComp.value = menu.value.filter(item => item.name === newValue)[0].comp
})
-// 获取到标准负责人数组
-const getStandardOwnerOptions = () => {
- const params = {
- staffNo: '', // 人员编号
- name: '', // 姓名
- deptId: '', // 工作部门
- major: '', // 计量专业
- verifierCertificateNo: '', // 证书号
- certificateStatus: '', // 证书状态
- limit: 100000,
- offset: 1,
- }
- getStaffList(params).then((res) => {
- standardOwnerOptions.value = res.data.records
- })
-}
-getStandardOwnerOptions()
// 关闭
const close = () => {
emit('close')
}
-const rules = ref({
- standardName: [{ required: true, message: '标准名称不能为空', trigger: 'blur' }],
- projectNo: [{ required: true, message: '项目编号不能为空', trigger: 'blur' }],
- constructionStandardProject: [{ required: true, message: '建标项目不能为空', trigger: 'blur' }],
- organizeNo: [{ required: true, message: '组织机构代码不能为空', trigger: 'blur' }],
- constructionStandardUnitName: [{ required: true, message: '建标单位名称不能为空', trigger: 'blur' }],
- standardOwner: [{ required: true, message: '标准负责人不能为空', trigger: 'blur' }],
- contactInfo: [{ required: true, message: '联系方式不能为空', trigger: 'blur' }],
- category: [{ required: true, message: '类 别不能为空', trigger: 'blur' }],
- standardLevel: [{ required: true, message: '标准等级不能为空', trigger: 'blur' }],
- transmitRange: [{ required: true, message: '传递范围不能为空', trigger: 'blur' }],
- preparationDate: [{ required: true, message: '筹建日期不能为空', trigger: 'blur' }],
- managerState: [{ required: true, message: '管理状态不能为空', trigger: 'blur' }],
- measureMajor: [{ required: true, message: '计量专业不能为空', trigger: 'blur' }],
- assessmentUnit: [{ required: true, message: '考核单位不能为空', trigger: 'blur' }],
- assessDate: [{ required: true, message: '考核日期不能为空', trigger: 'blur' }],
- uncertainty: [{ required: true, message: '不确定度不能为空', trigger: 'blur' }],
- mesureRange: [{ required: true, message: '测量范围不能为空', trigger: 'blur' }],
- standardTemperature: [{ required: true, message: '标准温度不能为空', trigger: 'blur' },
- { pattern: /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/, message: '标准温度只能为数字', trigger: 'blur' }],
- standardHumidity: [{ required: true, message: '标准湿度不能为空', trigger: 'blur' },
- { pattern: /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/, message: '标准湿度只能为数字', trigger: 'blur' }],
-}) // 表单验证规则
-// 上传请求
-const uploadQuarterlyEvaluateFile = (file: File) => {
- const fd = new FormData()
- fd.append('multipartFile', file.file)
- UploadFile(fd).then((res) => {
- if (res.code === 200) {
- formInline.value.fileList = res.data
- // 重置当前验证
- ElMessage.success('文件上传成功')
- }
- })
-}
-const handleExceed: UploadProps['onExceed'] = (files, uploadFiles) => {
- ElMessage.warning('只能上传一个文件')
-}
-// 移除时触发
-const beforeRemove: UploadProps['beforeRemove'] = (uploadFile, uploadFiles) => {
- return ElMessageBox.confirm(
- `确认移除${uploadFile.name}文件吗 ?`,
- ).then(
- () => true,
- () => false,
-
- )
-}
-// 点击文件预览
-const uploadShow = (e: any) => {
- const URL = window.URL || window.webkitURL
- window.open(URL.createObjectURL(e.raw))
-}
-const testForm = ref({
- fileList: [],
- fileContent: '',
-})
-const handleFileChange = (files: any, fileList: any) => {
- testForm.value.fileList = fileList
- const reader = new FileReader()
- reader.readAsText(files.raw)
- // reader.onload = (e) => {
- // testForm.value.fileContent = e.target!.result?.replace(
- // /\n|\r\n/g,
- // '
',
- // )
- // }
+const setData = (newValue: object) => {
+ formInline.value = newValue
}
// 编辑获取详情的提交按钮
const submitFormDetail = () => {
@@ -223,60 +72,29 @@
}
}
// 提交
-const submitForm = (formEl: FormInstance | undefined) => {
- if (!formEl) { return }
+const submitForm = () => {
if (props.buttonType === '详情') { return submitFormDetail() }
- formEl.validate((valid, fields) => {
- if (valid) {
- ElMessageBox.confirm(
- '确认提交吗?',
- '提示',
- {
- confirmButtonText: '确认',
- cancelButtonText: '取消',
- type: 'warning',
- },
- ).then(() => {
- props.buttonType === ''
- ? getStandardListAdd(formInline.value).then((res) => {
- if (res.code === 200) {
- close()
- }
- })
- : submitFormDetail()
- })
- }
- })
-}
-// 标准实验室发生改变row类型
-interface rowReturn {
- phone: string
- director: string
-}
-// 标准实验室发生改变
-const changeDeptList = (row: object) => {
- formInline.value.laboratoryOwnerContact = row.phone
- formInline.value.laboratoryOwner = row.director
-}
-// 标准实验室清空时
-const clearDeptList = () => {
- formInline.value.laboratoryOwnerContact = null
- formInline.value.laboratoryOwner = null
-}
-// 获取详情信息
-const getInfo = () => {
- getStandardListDetail({ id: props.infoId }).then((res) => {
- Object.keys(res.data).map((item) => {
- if (typeof (res.data[item]) === 'number') {
- res.data[item] = res.data[item].toString()
- }
+ ElMessageBox.confirm(
+ '确认提交吗?',
+ '提示',
+ {
+ confirmButtonText: '确认',
+ cancelButtonText: '取消',
+ type: 'warning',
+ },
+ ).then(() => {
+ current.value = '基本信息'
+ currentCompRef.value.submitForm().validate().then(() => {
+ props.buttonType === ''
+ ? getStandardListAdd(formInline.value).then((res) => {
+ if (res.code === 200) {
+ close()
+ }
+ })
+ : submitFormDetail()
})
- formInline.value = res.data
})
}
-if (props.buttonType !== '') {
- getInfo()
-}
@@ -289,7 +107,7 @@
{{ buttonType === '详情' ? '打印' : '提交' }}
@@ -298,405 +116,17 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 上传
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
@@ -719,14 +149,8 @@
}
}
-.info-content {
- margin-top: 10px;
- padding: 30px;
- border-radius: 10px;
+.body {
background-color: #fff;
-}
-
-:deep .el-input .el-input--default .el-input--suffix {
- width: 200px !important;
+ margin-top: 10px;
}
diff --git a/src/views/device/standardEquipment/expirationRemind.vue b/src/views/device/standardEquipment/expirationRemind.vue
index 35786b2..1826c22 100644
--- a/src/views/device/standardEquipment/expirationRemind.vue
+++ b/src/views/device/standardEquipment/expirationRemind.vue
@@ -26,39 +26,47 @@
text: '标准代码',
value: 'standardNo',
width: '160',
+ align: 'center',
},
{
text: '标准名称',
value: 'standardName',
width: '90',
+ align: 'center',
},
{
text: '管理状态',
value: 'managerStateName',
width: '100',
+ align: 'center',
},
{
text: '标准所在部门',
value: 'standardLaboratoryName',
width: '120',
+ align: 'center',
},
{
text: '负责人',
value: 'standardOwnerName',
+ align: 'center',
},
{
text: '建标项目',
value: 'standardOwnerName',
+ align: 'center',
},
{
text: '筹建日期',
value: 'preparationDate',
width: '160',
+ align: 'center',
},
{
text: '有效日期',
value: 'preparationDate',
width: '160',
+ align: 'center',
},
])
const total = ref(0)
@@ -326,12 +334,8 @@
-
- 导出
-
-
- 打印
-
+
+
- 编辑
+ 详情
- 详情
+ 提醒
+import applyList from './components/applyList.vue'
// 逻辑代码
- 暂停申请
+
diff --git a/src/views/device/standardEquipment/resumeApply.vue b/src/views/device/standardEquipment/resumeApply.vue
index d4a80e8..b5896fc 100644
--- a/src/views/device/standardEquipment/resumeApply.vue
+++ b/src/views/device/standardEquipment/resumeApply.vue
@@ -1,10 +1,11 @@
- 恢复申请
+
diff --git a/src/views/device/standardEquipment/standardList.vue b/src/views/device/standardEquipment/standardList.vue
index 4f1bfdf..348ed71 100644
--- a/src/views/device/standardEquipment/standardList.vue
+++ b/src/views/device/standardEquipment/standardList.vue
@@ -29,50 +29,60 @@
text: '标准代码',
value: 'standardNo',
width: '120',
+ align: 'center',
},
{
text: '标准名称',
value: 'standardName',
width: '90',
+ align: 'center',
},
{
text: '类别',
value: 'categoryName',
width: '80',
+ align: 'center',
},
{
text: '标准等级',
value: 'standardLevelName',
width: '100',
+ align: 'center',
},
{
text: '传递范围',
value: 'transmitRange',
width: '110',
+ align: 'center',
},
{
text: '管理状态',
value: 'managerStateName',
width: '100',
+ align: 'center',
},
{
text: '标准所在部门',
value: 'standardLaboratoryName',
width: '120',
+ align: 'center',
},
{
text: '负责人',
value: 'laboratoryOwner',
+ align: 'center',
},
{
text: '筹建日期',
value: 'preparationDate',
width: '110',
+ align: 'center',
},
{
text: '备注',
value: 'remark',
width: '80',
+ align: 'center',
},
])
const total = ref(0)
@@ -250,6 +260,9 @@
buttonType.value = text
isShow.value = false
}
+const renderHeader = (e: any) => {
+ console.log(e)
+}
@@ -330,19 +343,13 @@
-
- 新建
-
-
- 导出
-
-
- 打印
-
+
+
+
diff --git a/src/views/device/stateManage/components/approvalActionDialog.vue b/src/views/device/stateManage/components/approvalActionDialog.vue
index cdc9b25..56417d6 100644
--- a/src/views/device/stateManage/components/approvalActionDialog.vue
+++ b/src/views/device/stateManage/components/approvalActionDialog.vue
@@ -1,10 +1,13 @@
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/cancel.vue b/src/views/device/stateManage/components/status/cancel.vue
new file mode 100644
index 0000000..ecb2d0c
--- /dev/null
+++ b/src/views/device/stateManage/components/status/cancel.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/drafts.vue b/src/views/device/stateManage/components/status/drafts.vue
new file mode 100644
index 0000000..226ba21
--- /dev/null
+++ b/src/views/device/stateManage/components/status/drafts.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/inApproval.vue b/src/views/device/stateManage/components/status/inApproval.vue
new file mode 100644
index 0000000..4988595
--- /dev/null
+++ b/src/views/device/stateManage/components/status/inApproval.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/passed.vue b/src/views/device/stateManage/components/status/passed.vue
new file mode 100644
index 0000000..ab87daf
--- /dev/null
+++ b/src/views/device/stateManage/components/status/passed.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/pending.vue b/src/views/device/stateManage/components/status/pending.vue
new file mode 100644
index 0000000..3e0b315
--- /dev/null
+++ b/src/views/device/stateManage/components/status/pending.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/unPassed.vue b/src/views/device/stateManage/components/status/unPassed.vue
new file mode 100644
index 0000000..8de700e
--- /dev/null
+++ b/src/views/device/stateManage/components/status/unPassed.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/templateAdd.vue b/src/views/device/stateManage/components/templateAdd.vue
index 9c4da0f..fc364c8 100644
--- a/src/views/device/stateManage/components/templateAdd.vue
+++ b/src/views/device/stateManage/components/templateAdd.vue
@@ -381,10 +381,10 @@
-
+
diff --git a/src/views/device/stateManage/components/templateList.vue b/src/views/device/stateManage/components/templateList.vue
index 6ee2e8c..aa3963f 100644
--- a/src/views/device/stateManage/components/templateList.vue
+++ b/src/views/device/stateManage/components/templateList.vue
@@ -8,6 +8,10 @@
type: String,
default: '',
},
+ title: {
+ type: String,
+ default: '',
+ },
})
// import { exportFile } from '@/utils/exportUtils'
// const { proxy } = getCurrentInstance() as any
@@ -179,15 +183,23 @@
// 同意
const agree = (row) => {
console.log(approveRef.value)
- approveRef.value.initDialog()
+ approveRef.value.initDialog({
+ radio: '1',
+ })
}
// 驳回
const reject = (row) => {
- approveRef.value.initDialog()
+ approveRef.value.initDialog({
+ radio: '3',
+ })
}
// 拒绝
const refuse = (row) => {
- approveRef.value.initDialog()
+ approveRef.value.initDialog(
+ {
+ radio: '2',
+ },
+ )
}
// 取消
const cancel = (row) => {
diff --git a/src/components.d.ts b/src/components.d.ts
index fea7d82..6e85584 100644
--- a/src/components.d.ts
+++ b/src/components.d.ts
@@ -16,6 +16,7 @@
BarChartHorizontal: typeof import('./components/Echart/BarChartHorizontal.vue')['default']
BarChartVertical: typeof import('./components/Echart/BarChartVertical.vue')['default']
BatchActionBar: typeof import('./components/BatchActionBar/index.vue')['default']
+ Benchcol: typeof import('./components/benchcol/index.vue')['default']
BenchCol: typeof import('./components/benchCol/index.vue')['default']
ConditionDrawer: typeof import('./components/drawer/conditionDrawer.vue')['default']
copy: typeof import('./components/DetailPage/index copy.vue')['default']
diff --git a/src/views/device/standardEquipment/cancelApply.vue b/src/views/device/standardEquipment/cancelApply.vue
index c093520..1e50f44 100644
--- a/src/views/device/standardEquipment/cancelApply.vue
+++ b/src/views/device/standardEquipment/cancelApply.vue
@@ -1,10 +1,11 @@
- 撤销申请
+
diff --git a/src/views/device/standardEquipment/changeApply.vue b/src/views/device/standardEquipment/changeApply.vue
index 0762330..6625970 100644
--- a/src/views/device/standardEquipment/changeApply.vue
+++ b/src/views/device/standardEquipment/changeApply.vue
@@ -1,10 +1,11 @@
-
- 更换申请
+
diff --git a/src/views/device/standardEquipment/checkApply.vue b/src/views/device/standardEquipment/checkApply.vue
index 9cadc01..6625970 100644
--- a/src/views/device/standardEquipment/checkApply.vue
+++ b/src/views/device/standardEquipment/checkApply.vue
@@ -1,10 +1,11 @@
- 复查申请
+
diff --git a/src/views/device/standardEquipment/components/applyList.vue b/src/views/device/standardEquipment/components/applyList.vue
new file mode 100644
index 0000000..45be74a
--- /dev/null
+++ b/src/views/device/standardEquipment/components/applyList.vue
@@ -0,0 +1,65 @@
+
+
+
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/all.vue b/src/views/device/standardEquipment/components/listApply/all.vue
new file mode 100644
index 0000000..d124307
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/all.vue
@@ -0,0 +1,17 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/approvalPending.vue b/src/views/device/standardEquipment/components/listApply/approvalPending.vue
new file mode 100644
index 0000000..8a7a8bc
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/approvalPending.vue
@@ -0,0 +1,16 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/canceled.vue b/src/views/device/standardEquipment/components/listApply/canceled.vue
new file mode 100644
index 0000000..3b9657c
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/canceled.vue
@@ -0,0 +1,15 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/draftBox.vue b/src/views/device/standardEquipment/components/listApply/draftBox.vue
new file mode 100644
index 0000000..43d7b75
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/draftBox.vue
@@ -0,0 +1,15 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue b/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue
new file mode 100644
index 0000000..c13f95a
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue
@@ -0,0 +1,17 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/listPage.vue b/src/views/device/standardEquipment/components/listApply/listPage.vue
new file mode 100644
index 0000000..5133627
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/listPage.vue
@@ -0,0 +1,493 @@
+
+
+
+
+
+
+
+
+
+
+
+ 同意
+
+
+ 驳回
+
+
+ 拒绝
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 提交
+
+
+ 取消
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/listPageAdd.vue b/src/views/device/standardEquipment/components/listApply/listPageAdd.vue
new file mode 100644
index 0000000..eb506ec
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/listPageAdd.vue
@@ -0,0 +1,1021 @@
+
+
+
+
+
+
+ 基本信息
+
+
+
+ {{ item }}
+
+
+ 关闭
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 上传
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 完成
+
+
+
+
+
+
+
+ 同意
+
+
+ 驳回
+
+
+ 拒绝
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 提交
+
+
+ 取消
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/notPass.vue b/src/views/device/standardEquipment/components/listApply/notPass.vue
new file mode 100644
index 0000000..5a4b817
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/notPass.vue
@@ -0,0 +1,10 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/passed.vue b/src/views/device/standardEquipment/components/listApply/passed.vue
new file mode 100644
index 0000000..31cd21c
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/passed.vue
@@ -0,0 +1,10 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/addRow.vue b/src/views/device/standardEquipment/components/standardList/addRow.vue
new file mode 100644
index 0000000..9f2bf81
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/addRow.vue
@@ -0,0 +1,270 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/baseInfo.vue b/src/views/device/standardEquipment/components/standardList/baseInfo.vue
new file mode 100644
index 0000000..c47ad1d
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/baseInfo.vue
@@ -0,0 +1,675 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 上传
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/temptable.vue b/src/views/device/standardEquipment/components/standardList/temptable.vue
new file mode 100644
index 0000000..20eb800
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/temptable.vue
@@ -0,0 +1,387 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ (searchQuery.offset - 1) * searchQuery.limit + scope.$index + 1 }}
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardListAdd.vue b/src/views/device/standardEquipment/components/standardListAdd.vue
index ea13629..348bb41 100644
--- a/src/views/device/standardEquipment/components/standardListAdd.vue
+++ b/src/views/device/standardEquipment/components/standardListAdd.vue
@@ -3,6 +3,8 @@
import { ElMessage, ElMessageBox } from 'element-plus'
import type { FormInstance, UploadProps, UploadUserFile } from 'element-plus'
import type { IOptions } from '../standard_interface'
+import baseInfo from './standardList/baseInfo.vue'
+import table from './standardList/temptable.vue'
import { getStaffList } from '@/api/measure/person'
import { getTypeSelect } from '@/api/system/price'
import { getStandardLisUpdate, getStandardListAdd, getStandardListDetail, getUsersDept } from '@/api/device/standard'
@@ -17,188 +19,35 @@
default: '',
},
})
-const emit = defineEmits(['close']) // 关闭
-const ruleFormRef = ref()
-// 逻辑代码
-const formInline = ref({
- assessDate: '',
- assessmentUnit: '',
- category: null,
- categoryName: '',
- constructionStandardProject: '',
- constructionStandardUnitName: '',
- contactInfo: '',
- createTime: null,
- createUser: null,
- id: '',
- isDel: null,
- laboratoryOwner: null,
- laboratoryOwnerContact: null,
- laboratoryOwnerName: null,
- managerState: null,
- managerStateName: '',
- measureMajor: null,
- fileList: [],
- measureMajorName: '',
- mesureRange: '',
- organizeNo: '',
- preparationDate: '',
- projectNo: '',
- remark: '',
- standardHumidity: null,
- standardLaboratory: null,
- standardLaboratoryName: '',
- standardLevel: null,
- standardLevelName: '',
- standardName: '',
- standardNo: '',
- standardOwner: null,
- standardOwnerName: '',
- standardTemperature: null,
- totalInvestment: null,
- transmitRange: null,
- transmitRangeName: '',
- uncertainty: '',
- updateTime: null,
- version: null,
-})
-const checkTypeOptions = ref([])
-
-const standardOwnerOptions = ref([]) // 标准负责人
-const fileList = ref([]) // 文件对象数组
-const measureMajorList = ref([]) // 计量专业下拉框
-const standardManagerStateList = ref([]) // 管理状态下拉框
-const standardLevelList = ref([]) // 标准等级下拉框
-const transmitRangeList = ref([]) // 传递范围下拉框
-// 标准所在部门下拉框
-const standardUsersDeptList = ref([])
-// 获取下拉框
-const getSelectList = (code: string) => {
- getTypeSelect(code).then((res) => {
- if (code === 'measureMajor') {
- measureMajorList.value = res.data
- }
- else if (code === 'standardManagerState') {
- standardManagerStateList.value = res.data
- }
- else if (code === 'standardLevel') {
- standardLevelList.value = res.data
- }
- else if (code === 'transmitRange') {
- transmitRangeList.value = res.data
- }
- else if (code === 'standardCategory') {
- checkTypeOptions.value = res.data
- }
- })
+const emit = defineEmits(['close'])
+// 定义数据
+const formInline = ref({})
+// 关闭
+interface menuType {
+ name: string
+ comp: any
}
-getSelectList('measureMajor') // 获取计量专业下拉框
-getSelectList('standardManagerState') // 获取管理状态下拉框
-getSelectList('standardLevel') // 获取标准等级下拉框
-getSelectList('transmitRange') // 获取传递范围下拉框
-getSelectList('standardCategory') // 获取类别下拉框
-// 获取部门信息
-getUsersDept({
- createTime: '',
- director: '',
- meterMajor: '',
- organizeName: '',
- organizeNo: '',
- organizeType: '2',
- pdeptId: null,
- offset: 1,
- limit: 999999,
-}).then((res) => {
- standardUsersDeptList.value = res.data.rows
+const menu = shallowRef([
+ { name: '基本信息', comp: baseInfo },
+ { name: '计量人员', comp: table },
+ { name: '标准配套设备', comp: table },
+ { name: '检定规程', comp: table },
+ { name: '重复性考核记录', comp: table },
+ { name: '稳定性考核记录', comp: table },
+ { name: '证书管理', comp: table },
+])
+const currentCompRef = ref()
+const current = ref('基本信息')
+const currentComp = shallowRef(baseInfo)
+watch(current, (newValue) => {
+ currentComp.value = menu.value.filter(item => item.name === newValue)[0].comp
})
-// 获取到标准负责人数组
-const getStandardOwnerOptions = () => {
- const params = {
- staffNo: '', // 人员编号
- name: '', // 姓名
- deptId: '', // 工作部门
- major: '', // 计量专业
- verifierCertificateNo: '', // 证书号
- certificateStatus: '', // 证书状态
- limit: 100000,
- offset: 1,
- }
- getStaffList(params).then((res) => {
- standardOwnerOptions.value = res.data.records
- })
-}
-getStandardOwnerOptions()
// 关闭
const close = () => {
emit('close')
}
-const rules = ref({
- standardName: [{ required: true, message: '标准名称不能为空', trigger: 'blur' }],
- projectNo: [{ required: true, message: '项目编号不能为空', trigger: 'blur' }],
- constructionStandardProject: [{ required: true, message: '建标项目不能为空', trigger: 'blur' }],
- organizeNo: [{ required: true, message: '组织机构代码不能为空', trigger: 'blur' }],
- constructionStandardUnitName: [{ required: true, message: '建标单位名称不能为空', trigger: 'blur' }],
- standardOwner: [{ required: true, message: '标准负责人不能为空', trigger: 'blur' }],
- contactInfo: [{ required: true, message: '联系方式不能为空', trigger: 'blur' }],
- category: [{ required: true, message: '类 别不能为空', trigger: 'blur' }],
- standardLevel: [{ required: true, message: '标准等级不能为空', trigger: 'blur' }],
- transmitRange: [{ required: true, message: '传递范围不能为空', trigger: 'blur' }],
- preparationDate: [{ required: true, message: '筹建日期不能为空', trigger: 'blur' }],
- managerState: [{ required: true, message: '管理状态不能为空', trigger: 'blur' }],
- measureMajor: [{ required: true, message: '计量专业不能为空', trigger: 'blur' }],
- assessmentUnit: [{ required: true, message: '考核单位不能为空', trigger: 'blur' }],
- assessDate: [{ required: true, message: '考核日期不能为空', trigger: 'blur' }],
- uncertainty: [{ required: true, message: '不确定度不能为空', trigger: 'blur' }],
- mesureRange: [{ required: true, message: '测量范围不能为空', trigger: 'blur' }],
- standardTemperature: [{ required: true, message: '标准温度不能为空', trigger: 'blur' },
- { pattern: /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/, message: '标准温度只能为数字', trigger: 'blur' }],
- standardHumidity: [{ required: true, message: '标准湿度不能为空', trigger: 'blur' },
- { pattern: /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/, message: '标准湿度只能为数字', trigger: 'blur' }],
-}) // 表单验证规则
-// 上传请求
-const uploadQuarterlyEvaluateFile = (file: File) => {
- const fd = new FormData()
- fd.append('multipartFile', file.file)
- UploadFile(fd).then((res) => {
- if (res.code === 200) {
- formInline.value.fileList = res.data
- // 重置当前验证
- ElMessage.success('文件上传成功')
- }
- })
-}
-const handleExceed: UploadProps['onExceed'] = (files, uploadFiles) => {
- ElMessage.warning('只能上传一个文件')
-}
-// 移除时触发
-const beforeRemove: UploadProps['beforeRemove'] = (uploadFile, uploadFiles) => {
- return ElMessageBox.confirm(
- `确认移除${uploadFile.name}文件吗 ?`,
- ).then(
- () => true,
- () => false,
-
- )
-}
-// 点击文件预览
-const uploadShow = (e: any) => {
- const URL = window.URL || window.webkitURL
- window.open(URL.createObjectURL(e.raw))
-}
-const testForm = ref({
- fileList: [],
- fileContent: '',
-})
-const handleFileChange = (files: any, fileList: any) => {
- testForm.value.fileList = fileList
- const reader = new FileReader()
- reader.readAsText(files.raw)
- // reader.onload = (e) => {
- // testForm.value.fileContent = e.target!.result?.replace(
- // /\n|\r\n/g,
- // '
',
- // )
- // }
+const setData = (newValue: object) => {
+ formInline.value = newValue
}
// 编辑获取详情的提交按钮
const submitFormDetail = () => {
@@ -223,60 +72,29 @@
}
}
// 提交
-const submitForm = (formEl: FormInstance | undefined) => {
- if (!formEl) { return }
+const submitForm = () => {
if (props.buttonType === '详情') { return submitFormDetail() }
- formEl.validate((valid, fields) => {
- if (valid) {
- ElMessageBox.confirm(
- '确认提交吗?',
- '提示',
- {
- confirmButtonText: '确认',
- cancelButtonText: '取消',
- type: 'warning',
- },
- ).then(() => {
- props.buttonType === ''
- ? getStandardListAdd(formInline.value).then((res) => {
- if (res.code === 200) {
- close()
- }
- })
- : submitFormDetail()
- })
- }
- })
-}
-// 标准实验室发生改变row类型
-interface rowReturn {
- phone: string
- director: string
-}
-// 标准实验室发生改变
-const changeDeptList = (row: object) => {
- formInline.value.laboratoryOwnerContact = row.phone
- formInline.value.laboratoryOwner = row.director
-}
-// 标准实验室清空时
-const clearDeptList = () => {
- formInline.value.laboratoryOwnerContact = null
- formInline.value.laboratoryOwner = null
-}
-// 获取详情信息
-const getInfo = () => {
- getStandardListDetail({ id: props.infoId }).then((res) => {
- Object.keys(res.data).map((item) => {
- if (typeof (res.data[item]) === 'number') {
- res.data[item] = res.data[item].toString()
- }
+ ElMessageBox.confirm(
+ '确认提交吗?',
+ '提示',
+ {
+ confirmButtonText: '确认',
+ cancelButtonText: '取消',
+ type: 'warning',
+ },
+ ).then(() => {
+ current.value = '基本信息'
+ currentCompRef.value.submitForm().validate().then(() => {
+ props.buttonType === ''
+ ? getStandardListAdd(formInline.value).then((res) => {
+ if (res.code === 200) {
+ close()
+ }
+ })
+ : submitFormDetail()
})
- formInline.value = res.data
})
}
-if (props.buttonType !== '') {
- getInfo()
-}
@@ -289,7 +107,7 @@
{{ buttonType === '详情' ? '打印' : '提交' }}
@@ -298,405 +116,17 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 上传
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
@@ -719,14 +149,8 @@
}
}
-.info-content {
- margin-top: 10px;
- padding: 30px;
- border-radius: 10px;
+.body {
background-color: #fff;
-}
-
-:deep .el-input .el-input--default .el-input--suffix {
- width: 200px !important;
+ margin-top: 10px;
}
diff --git a/src/views/device/standardEquipment/expirationRemind.vue b/src/views/device/standardEquipment/expirationRemind.vue
index 35786b2..1826c22 100644
--- a/src/views/device/standardEquipment/expirationRemind.vue
+++ b/src/views/device/standardEquipment/expirationRemind.vue
@@ -26,39 +26,47 @@
text: '标准代码',
value: 'standardNo',
width: '160',
+ align: 'center',
},
{
text: '标准名称',
value: 'standardName',
width: '90',
+ align: 'center',
},
{
text: '管理状态',
value: 'managerStateName',
width: '100',
+ align: 'center',
},
{
text: '标准所在部门',
value: 'standardLaboratoryName',
width: '120',
+ align: 'center',
},
{
text: '负责人',
value: 'standardOwnerName',
+ align: 'center',
},
{
text: '建标项目',
value: 'standardOwnerName',
+ align: 'center',
},
{
text: '筹建日期',
value: 'preparationDate',
width: '160',
+ align: 'center',
},
{
text: '有效日期',
value: 'preparationDate',
width: '160',
+ align: 'center',
},
])
const total = ref(0)
@@ -326,12 +334,8 @@
-
- 导出
-
-
- 打印
-
+
+
- 编辑
+ 详情
- 详情
+ 提醒
+import applyList from './components/applyList.vue'
// 逻辑代码
- 暂停申请
+
diff --git a/src/views/device/standardEquipment/resumeApply.vue b/src/views/device/standardEquipment/resumeApply.vue
index d4a80e8..b5896fc 100644
--- a/src/views/device/standardEquipment/resumeApply.vue
+++ b/src/views/device/standardEquipment/resumeApply.vue
@@ -1,10 +1,11 @@
- 恢复申请
+
diff --git a/src/views/device/standardEquipment/standardList.vue b/src/views/device/standardEquipment/standardList.vue
index 4f1bfdf..348ed71 100644
--- a/src/views/device/standardEquipment/standardList.vue
+++ b/src/views/device/standardEquipment/standardList.vue
@@ -29,50 +29,60 @@
text: '标准代码',
value: 'standardNo',
width: '120',
+ align: 'center',
},
{
text: '标准名称',
value: 'standardName',
width: '90',
+ align: 'center',
},
{
text: '类别',
value: 'categoryName',
width: '80',
+ align: 'center',
},
{
text: '标准等级',
value: 'standardLevelName',
width: '100',
+ align: 'center',
},
{
text: '传递范围',
value: 'transmitRange',
width: '110',
+ align: 'center',
},
{
text: '管理状态',
value: 'managerStateName',
width: '100',
+ align: 'center',
},
{
text: '标准所在部门',
value: 'standardLaboratoryName',
width: '120',
+ align: 'center',
},
{
text: '负责人',
value: 'laboratoryOwner',
+ align: 'center',
},
{
text: '筹建日期',
value: 'preparationDate',
width: '110',
+ align: 'center',
},
{
text: '备注',
value: 'remark',
width: '80',
+ align: 'center',
},
])
const total = ref(0)
@@ -250,6 +260,9 @@
buttonType.value = text
isShow.value = false
}
+const renderHeader = (e: any) => {
+ console.log(e)
+}
@@ -330,19 +343,13 @@
-
- 新建
-
-
- 导出
-
-
- 打印
-
+
+
+
diff --git a/src/views/device/stateManage/components/approvalActionDialog.vue b/src/views/device/stateManage/components/approvalActionDialog.vue
index cdc9b25..56417d6 100644
--- a/src/views/device/stateManage/components/approvalActionDialog.vue
+++ b/src/views/device/stateManage/components/approvalActionDialog.vue
@@ -1,10 +1,13 @@
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/cancel.vue b/src/views/device/stateManage/components/status/cancel.vue
new file mode 100644
index 0000000..ecb2d0c
--- /dev/null
+++ b/src/views/device/stateManage/components/status/cancel.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/drafts.vue b/src/views/device/stateManage/components/status/drafts.vue
new file mode 100644
index 0000000..226ba21
--- /dev/null
+++ b/src/views/device/stateManage/components/status/drafts.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/inApproval.vue b/src/views/device/stateManage/components/status/inApproval.vue
new file mode 100644
index 0000000..4988595
--- /dev/null
+++ b/src/views/device/stateManage/components/status/inApproval.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/passed.vue b/src/views/device/stateManage/components/status/passed.vue
new file mode 100644
index 0000000..ab87daf
--- /dev/null
+++ b/src/views/device/stateManage/components/status/passed.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/pending.vue b/src/views/device/stateManage/components/status/pending.vue
new file mode 100644
index 0000000..3e0b315
--- /dev/null
+++ b/src/views/device/stateManage/components/status/pending.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/unPassed.vue b/src/views/device/stateManage/components/status/unPassed.vue
new file mode 100644
index 0000000..8de700e
--- /dev/null
+++ b/src/views/device/stateManage/components/status/unPassed.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/templateAdd.vue b/src/views/device/stateManage/components/templateAdd.vue
index 9c4da0f..fc364c8 100644
--- a/src/views/device/stateManage/components/templateAdd.vue
+++ b/src/views/device/stateManage/components/templateAdd.vue
@@ -381,10 +381,10 @@
-
+
diff --git a/src/views/device/stateManage/components/templateList.vue b/src/views/device/stateManage/components/templateList.vue
index 6ee2e8c..aa3963f 100644
--- a/src/views/device/stateManage/components/templateList.vue
+++ b/src/views/device/stateManage/components/templateList.vue
@@ -8,6 +8,10 @@
type: String,
default: '',
},
+ title: {
+ type: String,
+ default: '',
+ },
})
// import { exportFile } from '@/utils/exportUtils'
// const { proxy } = getCurrentInstance() as any
@@ -179,15 +183,23 @@
// 同意
const agree = (row) => {
console.log(approveRef.value)
- approveRef.value.initDialog()
+ approveRef.value.initDialog({
+ radio: '1',
+ })
}
// 驳回
const reject = (row) => {
- approveRef.value.initDialog()
+ approveRef.value.initDialog({
+ radio: '3',
+ })
}
// 拒绝
const refuse = (row) => {
- approveRef.value.initDialog()
+ approveRef.value.initDialog(
+ {
+ radio: '2',
+ },
+ )
}
// 取消
const cancel = (row) => {
diff --git a/src/views/device/stateManage/components/templatePage.vue b/src/views/device/stateManage/components/templatePage.vue
index 5fb0163..fce7685 100644
--- a/src/views/device/stateManage/components/templatePage.vue
+++ b/src/views/device/stateManage/components/templatePage.vue
@@ -1,6 +1,12 @@
- 撤销申请
+
diff --git a/src/views/device/standardEquipment/changeApply.vue b/src/views/device/standardEquipment/changeApply.vue
index 0762330..6625970 100644
--- a/src/views/device/standardEquipment/changeApply.vue
+++ b/src/views/device/standardEquipment/changeApply.vue
@@ -1,10 +1,11 @@
-
- 更换申请
+
diff --git a/src/views/device/standardEquipment/checkApply.vue b/src/views/device/standardEquipment/checkApply.vue
index 9cadc01..6625970 100644
--- a/src/views/device/standardEquipment/checkApply.vue
+++ b/src/views/device/standardEquipment/checkApply.vue
@@ -1,10 +1,11 @@
- 复查申请
+
diff --git a/src/views/device/standardEquipment/components/applyList.vue b/src/views/device/standardEquipment/components/applyList.vue
new file mode 100644
index 0000000..45be74a
--- /dev/null
+++ b/src/views/device/standardEquipment/components/applyList.vue
@@ -0,0 +1,65 @@
+
+
+
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/all.vue b/src/views/device/standardEquipment/components/listApply/all.vue
new file mode 100644
index 0000000..d124307
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/all.vue
@@ -0,0 +1,17 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/approvalPending.vue b/src/views/device/standardEquipment/components/listApply/approvalPending.vue
new file mode 100644
index 0000000..8a7a8bc
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/approvalPending.vue
@@ -0,0 +1,16 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/canceled.vue b/src/views/device/standardEquipment/components/listApply/canceled.vue
new file mode 100644
index 0000000..3b9657c
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/canceled.vue
@@ -0,0 +1,15 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/draftBox.vue b/src/views/device/standardEquipment/components/listApply/draftBox.vue
new file mode 100644
index 0000000..43d7b75
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/draftBox.vue
@@ -0,0 +1,15 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue b/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue
new file mode 100644
index 0000000..c13f95a
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue
@@ -0,0 +1,17 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/listPage.vue b/src/views/device/standardEquipment/components/listApply/listPage.vue
new file mode 100644
index 0000000..5133627
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/listPage.vue
@@ -0,0 +1,493 @@
+
+
+
+
+
+
+
+
+
+
+
+ 同意
+
+
+ 驳回
+
+
+ 拒绝
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 提交
+
+
+ 取消
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/listPageAdd.vue b/src/views/device/standardEquipment/components/listApply/listPageAdd.vue
new file mode 100644
index 0000000..eb506ec
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/listPageAdd.vue
@@ -0,0 +1,1021 @@
+
+
+
+
+
+
+ 基本信息
+
+
+
+ {{ item }}
+
+
+ 关闭
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 上传
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 完成
+
+
+
+
+
+
+
+ 同意
+
+
+ 驳回
+
+
+ 拒绝
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 提交
+
+
+ 取消
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/notPass.vue b/src/views/device/standardEquipment/components/listApply/notPass.vue
new file mode 100644
index 0000000..5a4b817
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/notPass.vue
@@ -0,0 +1,10 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/passed.vue b/src/views/device/standardEquipment/components/listApply/passed.vue
new file mode 100644
index 0000000..31cd21c
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/passed.vue
@@ -0,0 +1,10 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/addRow.vue b/src/views/device/standardEquipment/components/standardList/addRow.vue
new file mode 100644
index 0000000..9f2bf81
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/addRow.vue
@@ -0,0 +1,270 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/baseInfo.vue b/src/views/device/standardEquipment/components/standardList/baseInfo.vue
new file mode 100644
index 0000000..c47ad1d
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/baseInfo.vue
@@ -0,0 +1,675 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 上传
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/temptable.vue b/src/views/device/standardEquipment/components/standardList/temptable.vue
new file mode 100644
index 0000000..20eb800
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/temptable.vue
@@ -0,0 +1,387 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ (searchQuery.offset - 1) * searchQuery.limit + scope.$index + 1 }}
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardListAdd.vue b/src/views/device/standardEquipment/components/standardListAdd.vue
index ea13629..348bb41 100644
--- a/src/views/device/standardEquipment/components/standardListAdd.vue
+++ b/src/views/device/standardEquipment/components/standardListAdd.vue
@@ -3,6 +3,8 @@
import { ElMessage, ElMessageBox } from 'element-plus'
import type { FormInstance, UploadProps, UploadUserFile } from 'element-plus'
import type { IOptions } from '../standard_interface'
+import baseInfo from './standardList/baseInfo.vue'
+import table from './standardList/temptable.vue'
import { getStaffList } from '@/api/measure/person'
import { getTypeSelect } from '@/api/system/price'
import { getStandardLisUpdate, getStandardListAdd, getStandardListDetail, getUsersDept } from '@/api/device/standard'
@@ -17,188 +19,35 @@
default: '',
},
})
-const emit = defineEmits(['close']) // 关闭
-const ruleFormRef = ref()
-// 逻辑代码
-const formInline = ref({
- assessDate: '',
- assessmentUnit: '',
- category: null,
- categoryName: '',
- constructionStandardProject: '',
- constructionStandardUnitName: '',
- contactInfo: '',
- createTime: null,
- createUser: null,
- id: '',
- isDel: null,
- laboratoryOwner: null,
- laboratoryOwnerContact: null,
- laboratoryOwnerName: null,
- managerState: null,
- managerStateName: '',
- measureMajor: null,
- fileList: [],
- measureMajorName: '',
- mesureRange: '',
- organizeNo: '',
- preparationDate: '',
- projectNo: '',
- remark: '',
- standardHumidity: null,
- standardLaboratory: null,
- standardLaboratoryName: '',
- standardLevel: null,
- standardLevelName: '',
- standardName: '',
- standardNo: '',
- standardOwner: null,
- standardOwnerName: '',
- standardTemperature: null,
- totalInvestment: null,
- transmitRange: null,
- transmitRangeName: '',
- uncertainty: '',
- updateTime: null,
- version: null,
-})
-const checkTypeOptions = ref([])
-
-const standardOwnerOptions = ref([]) // 标准负责人
-const fileList = ref([]) // 文件对象数组
-const measureMajorList = ref([]) // 计量专业下拉框
-const standardManagerStateList = ref([]) // 管理状态下拉框
-const standardLevelList = ref([]) // 标准等级下拉框
-const transmitRangeList = ref([]) // 传递范围下拉框
-// 标准所在部门下拉框
-const standardUsersDeptList = ref([])
-// 获取下拉框
-const getSelectList = (code: string) => {
- getTypeSelect(code).then((res) => {
- if (code === 'measureMajor') {
- measureMajorList.value = res.data
- }
- else if (code === 'standardManagerState') {
- standardManagerStateList.value = res.data
- }
- else if (code === 'standardLevel') {
- standardLevelList.value = res.data
- }
- else if (code === 'transmitRange') {
- transmitRangeList.value = res.data
- }
- else if (code === 'standardCategory') {
- checkTypeOptions.value = res.data
- }
- })
+const emit = defineEmits(['close'])
+// 定义数据
+const formInline = ref({})
+// 关闭
+interface menuType {
+ name: string
+ comp: any
}
-getSelectList('measureMajor') // 获取计量专业下拉框
-getSelectList('standardManagerState') // 获取管理状态下拉框
-getSelectList('standardLevel') // 获取标准等级下拉框
-getSelectList('transmitRange') // 获取传递范围下拉框
-getSelectList('standardCategory') // 获取类别下拉框
-// 获取部门信息
-getUsersDept({
- createTime: '',
- director: '',
- meterMajor: '',
- organizeName: '',
- organizeNo: '',
- organizeType: '2',
- pdeptId: null,
- offset: 1,
- limit: 999999,
-}).then((res) => {
- standardUsersDeptList.value = res.data.rows
+const menu = shallowRef([
+ { name: '基本信息', comp: baseInfo },
+ { name: '计量人员', comp: table },
+ { name: '标准配套设备', comp: table },
+ { name: '检定规程', comp: table },
+ { name: '重复性考核记录', comp: table },
+ { name: '稳定性考核记录', comp: table },
+ { name: '证书管理', comp: table },
+])
+const currentCompRef = ref()
+const current = ref('基本信息')
+const currentComp = shallowRef(baseInfo)
+watch(current, (newValue) => {
+ currentComp.value = menu.value.filter(item => item.name === newValue)[0].comp
})
-// 获取到标准负责人数组
-const getStandardOwnerOptions = () => {
- const params = {
- staffNo: '', // 人员编号
- name: '', // 姓名
- deptId: '', // 工作部门
- major: '', // 计量专业
- verifierCertificateNo: '', // 证书号
- certificateStatus: '', // 证书状态
- limit: 100000,
- offset: 1,
- }
- getStaffList(params).then((res) => {
- standardOwnerOptions.value = res.data.records
- })
-}
-getStandardOwnerOptions()
// 关闭
const close = () => {
emit('close')
}
-const rules = ref({
- standardName: [{ required: true, message: '标准名称不能为空', trigger: 'blur' }],
- projectNo: [{ required: true, message: '项目编号不能为空', trigger: 'blur' }],
- constructionStandardProject: [{ required: true, message: '建标项目不能为空', trigger: 'blur' }],
- organizeNo: [{ required: true, message: '组织机构代码不能为空', trigger: 'blur' }],
- constructionStandardUnitName: [{ required: true, message: '建标单位名称不能为空', trigger: 'blur' }],
- standardOwner: [{ required: true, message: '标准负责人不能为空', trigger: 'blur' }],
- contactInfo: [{ required: true, message: '联系方式不能为空', trigger: 'blur' }],
- category: [{ required: true, message: '类 别不能为空', trigger: 'blur' }],
- standardLevel: [{ required: true, message: '标准等级不能为空', trigger: 'blur' }],
- transmitRange: [{ required: true, message: '传递范围不能为空', trigger: 'blur' }],
- preparationDate: [{ required: true, message: '筹建日期不能为空', trigger: 'blur' }],
- managerState: [{ required: true, message: '管理状态不能为空', trigger: 'blur' }],
- measureMajor: [{ required: true, message: '计量专业不能为空', trigger: 'blur' }],
- assessmentUnit: [{ required: true, message: '考核单位不能为空', trigger: 'blur' }],
- assessDate: [{ required: true, message: '考核日期不能为空', trigger: 'blur' }],
- uncertainty: [{ required: true, message: '不确定度不能为空', trigger: 'blur' }],
- mesureRange: [{ required: true, message: '测量范围不能为空', trigger: 'blur' }],
- standardTemperature: [{ required: true, message: '标准温度不能为空', trigger: 'blur' },
- { pattern: /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/, message: '标准温度只能为数字', trigger: 'blur' }],
- standardHumidity: [{ required: true, message: '标准湿度不能为空', trigger: 'blur' },
- { pattern: /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/, message: '标准湿度只能为数字', trigger: 'blur' }],
-}) // 表单验证规则
-// 上传请求
-const uploadQuarterlyEvaluateFile = (file: File) => {
- const fd = new FormData()
- fd.append('multipartFile', file.file)
- UploadFile(fd).then((res) => {
- if (res.code === 200) {
- formInline.value.fileList = res.data
- // 重置当前验证
- ElMessage.success('文件上传成功')
- }
- })
-}
-const handleExceed: UploadProps['onExceed'] = (files, uploadFiles) => {
- ElMessage.warning('只能上传一个文件')
-}
-// 移除时触发
-const beforeRemove: UploadProps['beforeRemove'] = (uploadFile, uploadFiles) => {
- return ElMessageBox.confirm(
- `确认移除${uploadFile.name}文件吗 ?`,
- ).then(
- () => true,
- () => false,
-
- )
-}
-// 点击文件预览
-const uploadShow = (e: any) => {
- const URL = window.URL || window.webkitURL
- window.open(URL.createObjectURL(e.raw))
-}
-const testForm = ref({
- fileList: [],
- fileContent: '',
-})
-const handleFileChange = (files: any, fileList: any) => {
- testForm.value.fileList = fileList
- const reader = new FileReader()
- reader.readAsText(files.raw)
- // reader.onload = (e) => {
- // testForm.value.fileContent = e.target!.result?.replace(
- // /\n|\r\n/g,
- // '
',
- // )
- // }
+const setData = (newValue: object) => {
+ formInline.value = newValue
}
// 编辑获取详情的提交按钮
const submitFormDetail = () => {
@@ -223,60 +72,29 @@
}
}
// 提交
-const submitForm = (formEl: FormInstance | undefined) => {
- if (!formEl) { return }
+const submitForm = () => {
if (props.buttonType === '详情') { return submitFormDetail() }
- formEl.validate((valid, fields) => {
- if (valid) {
- ElMessageBox.confirm(
- '确认提交吗?',
- '提示',
- {
- confirmButtonText: '确认',
- cancelButtonText: '取消',
- type: 'warning',
- },
- ).then(() => {
- props.buttonType === ''
- ? getStandardListAdd(formInline.value).then((res) => {
- if (res.code === 200) {
- close()
- }
- })
- : submitFormDetail()
- })
- }
- })
-}
-// 标准实验室发生改变row类型
-interface rowReturn {
- phone: string
- director: string
-}
-// 标准实验室发生改变
-const changeDeptList = (row: object) => {
- formInline.value.laboratoryOwnerContact = row.phone
- formInline.value.laboratoryOwner = row.director
-}
-// 标准实验室清空时
-const clearDeptList = () => {
- formInline.value.laboratoryOwnerContact = null
- formInline.value.laboratoryOwner = null
-}
-// 获取详情信息
-const getInfo = () => {
- getStandardListDetail({ id: props.infoId }).then((res) => {
- Object.keys(res.data).map((item) => {
- if (typeof (res.data[item]) === 'number') {
- res.data[item] = res.data[item].toString()
- }
+ ElMessageBox.confirm(
+ '确认提交吗?',
+ '提示',
+ {
+ confirmButtonText: '确认',
+ cancelButtonText: '取消',
+ type: 'warning',
+ },
+ ).then(() => {
+ current.value = '基本信息'
+ currentCompRef.value.submitForm().validate().then(() => {
+ props.buttonType === ''
+ ? getStandardListAdd(formInline.value).then((res) => {
+ if (res.code === 200) {
+ close()
+ }
+ })
+ : submitFormDetail()
})
- formInline.value = res.data
})
}
-if (props.buttonType !== '') {
- getInfo()
-}
@@ -289,7 +107,7 @@
{{ buttonType === '详情' ? '打印' : '提交' }}
@@ -298,405 +116,17 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 上传
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
@@ -719,14 +149,8 @@
}
}
-.info-content {
- margin-top: 10px;
- padding: 30px;
- border-radius: 10px;
+.body {
background-color: #fff;
-}
-
-:deep .el-input .el-input--default .el-input--suffix {
- width: 200px !important;
+ margin-top: 10px;
}
diff --git a/src/views/device/standardEquipment/expirationRemind.vue b/src/views/device/standardEquipment/expirationRemind.vue
index 35786b2..1826c22 100644
--- a/src/views/device/standardEquipment/expirationRemind.vue
+++ b/src/views/device/standardEquipment/expirationRemind.vue
@@ -26,39 +26,47 @@
text: '标准代码',
value: 'standardNo',
width: '160',
+ align: 'center',
},
{
text: '标准名称',
value: 'standardName',
width: '90',
+ align: 'center',
},
{
text: '管理状态',
value: 'managerStateName',
width: '100',
+ align: 'center',
},
{
text: '标准所在部门',
value: 'standardLaboratoryName',
width: '120',
+ align: 'center',
},
{
text: '负责人',
value: 'standardOwnerName',
+ align: 'center',
},
{
text: '建标项目',
value: 'standardOwnerName',
+ align: 'center',
},
{
text: '筹建日期',
value: 'preparationDate',
width: '160',
+ align: 'center',
},
{
text: '有效日期',
value: 'preparationDate',
width: '160',
+ align: 'center',
},
])
const total = ref(0)
@@ -326,12 +334,8 @@
-
- 导出
-
-
- 打印
-
+
+
- 编辑
+ 详情
- 详情
+ 提醒
+import applyList from './components/applyList.vue'
// 逻辑代码
- 暂停申请
+
diff --git a/src/views/device/standardEquipment/resumeApply.vue b/src/views/device/standardEquipment/resumeApply.vue
index d4a80e8..b5896fc 100644
--- a/src/views/device/standardEquipment/resumeApply.vue
+++ b/src/views/device/standardEquipment/resumeApply.vue
@@ -1,10 +1,11 @@
- 恢复申请
+
diff --git a/src/views/device/standardEquipment/standardList.vue b/src/views/device/standardEquipment/standardList.vue
index 4f1bfdf..348ed71 100644
--- a/src/views/device/standardEquipment/standardList.vue
+++ b/src/views/device/standardEquipment/standardList.vue
@@ -29,50 +29,60 @@
text: '标准代码',
value: 'standardNo',
width: '120',
+ align: 'center',
},
{
text: '标准名称',
value: 'standardName',
width: '90',
+ align: 'center',
},
{
text: '类别',
value: 'categoryName',
width: '80',
+ align: 'center',
},
{
text: '标准等级',
value: 'standardLevelName',
width: '100',
+ align: 'center',
},
{
text: '传递范围',
value: 'transmitRange',
width: '110',
+ align: 'center',
},
{
text: '管理状态',
value: 'managerStateName',
width: '100',
+ align: 'center',
},
{
text: '标准所在部门',
value: 'standardLaboratoryName',
width: '120',
+ align: 'center',
},
{
text: '负责人',
value: 'laboratoryOwner',
+ align: 'center',
},
{
text: '筹建日期',
value: 'preparationDate',
width: '110',
+ align: 'center',
},
{
text: '备注',
value: 'remark',
width: '80',
+ align: 'center',
},
])
const total = ref(0)
@@ -250,6 +260,9 @@
buttonType.value = text
isShow.value = false
}
+const renderHeader = (e: any) => {
+ console.log(e)
+}
@@ -330,19 +343,13 @@
-
- 新建
-
-
- 导出
-
-
- 打印
-
+
+
+
diff --git a/src/views/device/stateManage/components/approvalActionDialog.vue b/src/views/device/stateManage/components/approvalActionDialog.vue
index cdc9b25..56417d6 100644
--- a/src/views/device/stateManage/components/approvalActionDialog.vue
+++ b/src/views/device/stateManage/components/approvalActionDialog.vue
@@ -1,10 +1,13 @@
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/cancel.vue b/src/views/device/stateManage/components/status/cancel.vue
new file mode 100644
index 0000000..ecb2d0c
--- /dev/null
+++ b/src/views/device/stateManage/components/status/cancel.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/drafts.vue b/src/views/device/stateManage/components/status/drafts.vue
new file mode 100644
index 0000000..226ba21
--- /dev/null
+++ b/src/views/device/stateManage/components/status/drafts.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/inApproval.vue b/src/views/device/stateManage/components/status/inApproval.vue
new file mode 100644
index 0000000..4988595
--- /dev/null
+++ b/src/views/device/stateManage/components/status/inApproval.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/passed.vue b/src/views/device/stateManage/components/status/passed.vue
new file mode 100644
index 0000000..ab87daf
--- /dev/null
+++ b/src/views/device/stateManage/components/status/passed.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/pending.vue b/src/views/device/stateManage/components/status/pending.vue
new file mode 100644
index 0000000..3e0b315
--- /dev/null
+++ b/src/views/device/stateManage/components/status/pending.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/unPassed.vue b/src/views/device/stateManage/components/status/unPassed.vue
new file mode 100644
index 0000000..8de700e
--- /dev/null
+++ b/src/views/device/stateManage/components/status/unPassed.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/templateAdd.vue b/src/views/device/stateManage/components/templateAdd.vue
index 9c4da0f..fc364c8 100644
--- a/src/views/device/stateManage/components/templateAdd.vue
+++ b/src/views/device/stateManage/components/templateAdd.vue
@@ -381,10 +381,10 @@
-
+
diff --git a/src/views/device/stateManage/components/templateList.vue b/src/views/device/stateManage/components/templateList.vue
index 6ee2e8c..aa3963f 100644
--- a/src/views/device/stateManage/components/templateList.vue
+++ b/src/views/device/stateManage/components/templateList.vue
@@ -8,6 +8,10 @@
type: String,
default: '',
},
+ title: {
+ type: String,
+ default: '',
+ },
})
// import { exportFile } from '@/utils/exportUtils'
// const { proxy } = getCurrentInstance() as any
@@ -179,15 +183,23 @@
// 同意
const agree = (row) => {
console.log(approveRef.value)
- approveRef.value.initDialog()
+ approveRef.value.initDialog({
+ radio: '1',
+ })
}
// 驳回
const reject = (row) => {
- approveRef.value.initDialog()
+ approveRef.value.initDialog({
+ radio: '3',
+ })
}
// 拒绝
const refuse = (row) => {
- approveRef.value.initDialog()
+ approveRef.value.initDialog(
+ {
+ radio: '2',
+ },
+ )
}
// 取消
const cancel = (row) => {
diff --git a/src/views/device/stateManage/components/templatePage.vue b/src/views/device/stateManage/components/templatePage.vue
index 5fb0163..fce7685 100644
--- a/src/views/device/stateManage/components/templatePage.vue
+++ b/src/views/device/stateManage/components/templatePage.vue
@@ -1,6 +1,12 @@
- 设备处置申请
+
diff --git a/src/components.d.ts b/src/components.d.ts
index fea7d82..6e85584 100644
--- a/src/components.d.ts
+++ b/src/components.d.ts
@@ -16,6 +16,7 @@
BarChartHorizontal: typeof import('./components/Echart/BarChartHorizontal.vue')['default']
BarChartVertical: typeof import('./components/Echart/BarChartVertical.vue')['default']
BatchActionBar: typeof import('./components/BatchActionBar/index.vue')['default']
+ Benchcol: typeof import('./components/benchcol/index.vue')['default']
BenchCol: typeof import('./components/benchCol/index.vue')['default']
ConditionDrawer: typeof import('./components/drawer/conditionDrawer.vue')['default']
copy: typeof import('./components/DetailPage/index copy.vue')['default']
diff --git a/src/views/device/standardEquipment/cancelApply.vue b/src/views/device/standardEquipment/cancelApply.vue
index c093520..1e50f44 100644
--- a/src/views/device/standardEquipment/cancelApply.vue
+++ b/src/views/device/standardEquipment/cancelApply.vue
@@ -1,10 +1,11 @@
- 撤销申请
+
diff --git a/src/views/device/standardEquipment/changeApply.vue b/src/views/device/standardEquipment/changeApply.vue
index 0762330..6625970 100644
--- a/src/views/device/standardEquipment/changeApply.vue
+++ b/src/views/device/standardEquipment/changeApply.vue
@@ -1,10 +1,11 @@
-
- 更换申请
+
diff --git a/src/views/device/standardEquipment/checkApply.vue b/src/views/device/standardEquipment/checkApply.vue
index 9cadc01..6625970 100644
--- a/src/views/device/standardEquipment/checkApply.vue
+++ b/src/views/device/standardEquipment/checkApply.vue
@@ -1,10 +1,11 @@
- 复查申请
+
diff --git a/src/views/device/standardEquipment/components/applyList.vue b/src/views/device/standardEquipment/components/applyList.vue
new file mode 100644
index 0000000..45be74a
--- /dev/null
+++ b/src/views/device/standardEquipment/components/applyList.vue
@@ -0,0 +1,65 @@
+
+
+
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/all.vue b/src/views/device/standardEquipment/components/listApply/all.vue
new file mode 100644
index 0000000..d124307
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/all.vue
@@ -0,0 +1,17 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/approvalPending.vue b/src/views/device/standardEquipment/components/listApply/approvalPending.vue
new file mode 100644
index 0000000..8a7a8bc
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/approvalPending.vue
@@ -0,0 +1,16 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/canceled.vue b/src/views/device/standardEquipment/components/listApply/canceled.vue
new file mode 100644
index 0000000..3b9657c
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/canceled.vue
@@ -0,0 +1,15 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/draftBox.vue b/src/views/device/standardEquipment/components/listApply/draftBox.vue
new file mode 100644
index 0000000..43d7b75
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/draftBox.vue
@@ -0,0 +1,15 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue b/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue
new file mode 100644
index 0000000..c13f95a
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue
@@ -0,0 +1,17 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/listPage.vue b/src/views/device/standardEquipment/components/listApply/listPage.vue
new file mode 100644
index 0000000..5133627
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/listPage.vue
@@ -0,0 +1,493 @@
+
+
+
+
+
+
+
+
+
+
+
+ 同意
+
+
+ 驳回
+
+
+ 拒绝
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 提交
+
+
+ 取消
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/listPageAdd.vue b/src/views/device/standardEquipment/components/listApply/listPageAdd.vue
new file mode 100644
index 0000000..eb506ec
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/listPageAdd.vue
@@ -0,0 +1,1021 @@
+
+
+
+
+
+
+ 基本信息
+
+
+
+ {{ item }}
+
+
+ 关闭
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 上传
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 完成
+
+
+
+
+
+
+
+ 同意
+
+
+ 驳回
+
+
+ 拒绝
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 提交
+
+
+ 取消
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/notPass.vue b/src/views/device/standardEquipment/components/listApply/notPass.vue
new file mode 100644
index 0000000..5a4b817
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/notPass.vue
@@ -0,0 +1,10 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/passed.vue b/src/views/device/standardEquipment/components/listApply/passed.vue
new file mode 100644
index 0000000..31cd21c
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/passed.vue
@@ -0,0 +1,10 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/addRow.vue b/src/views/device/standardEquipment/components/standardList/addRow.vue
new file mode 100644
index 0000000..9f2bf81
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/addRow.vue
@@ -0,0 +1,270 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/baseInfo.vue b/src/views/device/standardEquipment/components/standardList/baseInfo.vue
new file mode 100644
index 0000000..c47ad1d
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/baseInfo.vue
@@ -0,0 +1,675 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 上传
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/temptable.vue b/src/views/device/standardEquipment/components/standardList/temptable.vue
new file mode 100644
index 0000000..20eb800
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/temptable.vue
@@ -0,0 +1,387 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ (searchQuery.offset - 1) * searchQuery.limit + scope.$index + 1 }}
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardListAdd.vue b/src/views/device/standardEquipment/components/standardListAdd.vue
index ea13629..348bb41 100644
--- a/src/views/device/standardEquipment/components/standardListAdd.vue
+++ b/src/views/device/standardEquipment/components/standardListAdd.vue
@@ -3,6 +3,8 @@
import { ElMessage, ElMessageBox } from 'element-plus'
import type { FormInstance, UploadProps, UploadUserFile } from 'element-plus'
import type { IOptions } from '../standard_interface'
+import baseInfo from './standardList/baseInfo.vue'
+import table from './standardList/temptable.vue'
import { getStaffList } from '@/api/measure/person'
import { getTypeSelect } from '@/api/system/price'
import { getStandardLisUpdate, getStandardListAdd, getStandardListDetail, getUsersDept } from '@/api/device/standard'
@@ -17,188 +19,35 @@
default: '',
},
})
-const emit = defineEmits(['close']) // 关闭
-const ruleFormRef = ref()
-// 逻辑代码
-const formInline = ref({
- assessDate: '',
- assessmentUnit: '',
- category: null,
- categoryName: '',
- constructionStandardProject: '',
- constructionStandardUnitName: '',
- contactInfo: '',
- createTime: null,
- createUser: null,
- id: '',
- isDel: null,
- laboratoryOwner: null,
- laboratoryOwnerContact: null,
- laboratoryOwnerName: null,
- managerState: null,
- managerStateName: '',
- measureMajor: null,
- fileList: [],
- measureMajorName: '',
- mesureRange: '',
- organizeNo: '',
- preparationDate: '',
- projectNo: '',
- remark: '',
- standardHumidity: null,
- standardLaboratory: null,
- standardLaboratoryName: '',
- standardLevel: null,
- standardLevelName: '',
- standardName: '',
- standardNo: '',
- standardOwner: null,
- standardOwnerName: '',
- standardTemperature: null,
- totalInvestment: null,
- transmitRange: null,
- transmitRangeName: '',
- uncertainty: '',
- updateTime: null,
- version: null,
-})
-const checkTypeOptions = ref([])
-
-const standardOwnerOptions = ref([]) // 标准负责人
-const fileList = ref([]) // 文件对象数组
-const measureMajorList = ref([]) // 计量专业下拉框
-const standardManagerStateList = ref([]) // 管理状态下拉框
-const standardLevelList = ref([]) // 标准等级下拉框
-const transmitRangeList = ref([]) // 传递范围下拉框
-// 标准所在部门下拉框
-const standardUsersDeptList = ref([])
-// 获取下拉框
-const getSelectList = (code: string) => {
- getTypeSelect(code).then((res) => {
- if (code === 'measureMajor') {
- measureMajorList.value = res.data
- }
- else if (code === 'standardManagerState') {
- standardManagerStateList.value = res.data
- }
- else if (code === 'standardLevel') {
- standardLevelList.value = res.data
- }
- else if (code === 'transmitRange') {
- transmitRangeList.value = res.data
- }
- else if (code === 'standardCategory') {
- checkTypeOptions.value = res.data
- }
- })
+const emit = defineEmits(['close'])
+// 定义数据
+const formInline = ref({})
+// 关闭
+interface menuType {
+ name: string
+ comp: any
}
-getSelectList('measureMajor') // 获取计量专业下拉框
-getSelectList('standardManagerState') // 获取管理状态下拉框
-getSelectList('standardLevel') // 获取标准等级下拉框
-getSelectList('transmitRange') // 获取传递范围下拉框
-getSelectList('standardCategory') // 获取类别下拉框
-// 获取部门信息
-getUsersDept({
- createTime: '',
- director: '',
- meterMajor: '',
- organizeName: '',
- organizeNo: '',
- organizeType: '2',
- pdeptId: null,
- offset: 1,
- limit: 999999,
-}).then((res) => {
- standardUsersDeptList.value = res.data.rows
+const menu = shallowRef([
+ { name: '基本信息', comp: baseInfo },
+ { name: '计量人员', comp: table },
+ { name: '标准配套设备', comp: table },
+ { name: '检定规程', comp: table },
+ { name: '重复性考核记录', comp: table },
+ { name: '稳定性考核记录', comp: table },
+ { name: '证书管理', comp: table },
+])
+const currentCompRef = ref()
+const current = ref('基本信息')
+const currentComp = shallowRef(baseInfo)
+watch(current, (newValue) => {
+ currentComp.value = menu.value.filter(item => item.name === newValue)[0].comp
})
-// 获取到标准负责人数组
-const getStandardOwnerOptions = () => {
- const params = {
- staffNo: '', // 人员编号
- name: '', // 姓名
- deptId: '', // 工作部门
- major: '', // 计量专业
- verifierCertificateNo: '', // 证书号
- certificateStatus: '', // 证书状态
- limit: 100000,
- offset: 1,
- }
- getStaffList(params).then((res) => {
- standardOwnerOptions.value = res.data.records
- })
-}
-getStandardOwnerOptions()
// 关闭
const close = () => {
emit('close')
}
-const rules = ref({
- standardName: [{ required: true, message: '标准名称不能为空', trigger: 'blur' }],
- projectNo: [{ required: true, message: '项目编号不能为空', trigger: 'blur' }],
- constructionStandardProject: [{ required: true, message: '建标项目不能为空', trigger: 'blur' }],
- organizeNo: [{ required: true, message: '组织机构代码不能为空', trigger: 'blur' }],
- constructionStandardUnitName: [{ required: true, message: '建标单位名称不能为空', trigger: 'blur' }],
- standardOwner: [{ required: true, message: '标准负责人不能为空', trigger: 'blur' }],
- contactInfo: [{ required: true, message: '联系方式不能为空', trigger: 'blur' }],
- category: [{ required: true, message: '类 别不能为空', trigger: 'blur' }],
- standardLevel: [{ required: true, message: '标准等级不能为空', trigger: 'blur' }],
- transmitRange: [{ required: true, message: '传递范围不能为空', trigger: 'blur' }],
- preparationDate: [{ required: true, message: '筹建日期不能为空', trigger: 'blur' }],
- managerState: [{ required: true, message: '管理状态不能为空', trigger: 'blur' }],
- measureMajor: [{ required: true, message: '计量专业不能为空', trigger: 'blur' }],
- assessmentUnit: [{ required: true, message: '考核单位不能为空', trigger: 'blur' }],
- assessDate: [{ required: true, message: '考核日期不能为空', trigger: 'blur' }],
- uncertainty: [{ required: true, message: '不确定度不能为空', trigger: 'blur' }],
- mesureRange: [{ required: true, message: '测量范围不能为空', trigger: 'blur' }],
- standardTemperature: [{ required: true, message: '标准温度不能为空', trigger: 'blur' },
- { pattern: /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/, message: '标准温度只能为数字', trigger: 'blur' }],
- standardHumidity: [{ required: true, message: '标准湿度不能为空', trigger: 'blur' },
- { pattern: /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/, message: '标准湿度只能为数字', trigger: 'blur' }],
-}) // 表单验证规则
-// 上传请求
-const uploadQuarterlyEvaluateFile = (file: File) => {
- const fd = new FormData()
- fd.append('multipartFile', file.file)
- UploadFile(fd).then((res) => {
- if (res.code === 200) {
- formInline.value.fileList = res.data
- // 重置当前验证
- ElMessage.success('文件上传成功')
- }
- })
-}
-const handleExceed: UploadProps['onExceed'] = (files, uploadFiles) => {
- ElMessage.warning('只能上传一个文件')
-}
-// 移除时触发
-const beforeRemove: UploadProps['beforeRemove'] = (uploadFile, uploadFiles) => {
- return ElMessageBox.confirm(
- `确认移除${uploadFile.name}文件吗 ?`,
- ).then(
- () => true,
- () => false,
-
- )
-}
-// 点击文件预览
-const uploadShow = (e: any) => {
- const URL = window.URL || window.webkitURL
- window.open(URL.createObjectURL(e.raw))
-}
-const testForm = ref({
- fileList: [],
- fileContent: '',
-})
-const handleFileChange = (files: any, fileList: any) => {
- testForm.value.fileList = fileList
- const reader = new FileReader()
- reader.readAsText(files.raw)
- // reader.onload = (e) => {
- // testForm.value.fileContent = e.target!.result?.replace(
- // /\n|\r\n/g,
- // '
',
- // )
- // }
+const setData = (newValue: object) => {
+ formInline.value = newValue
}
// 编辑获取详情的提交按钮
const submitFormDetail = () => {
@@ -223,60 +72,29 @@
}
}
// 提交
-const submitForm = (formEl: FormInstance | undefined) => {
- if (!formEl) { return }
+const submitForm = () => {
if (props.buttonType === '详情') { return submitFormDetail() }
- formEl.validate((valid, fields) => {
- if (valid) {
- ElMessageBox.confirm(
- '确认提交吗?',
- '提示',
- {
- confirmButtonText: '确认',
- cancelButtonText: '取消',
- type: 'warning',
- },
- ).then(() => {
- props.buttonType === ''
- ? getStandardListAdd(formInline.value).then((res) => {
- if (res.code === 200) {
- close()
- }
- })
- : submitFormDetail()
- })
- }
- })
-}
-// 标准实验室发生改变row类型
-interface rowReturn {
- phone: string
- director: string
-}
-// 标准实验室发生改变
-const changeDeptList = (row: object) => {
- formInline.value.laboratoryOwnerContact = row.phone
- formInline.value.laboratoryOwner = row.director
-}
-// 标准实验室清空时
-const clearDeptList = () => {
- formInline.value.laboratoryOwnerContact = null
- formInline.value.laboratoryOwner = null
-}
-// 获取详情信息
-const getInfo = () => {
- getStandardListDetail({ id: props.infoId }).then((res) => {
- Object.keys(res.data).map((item) => {
- if (typeof (res.data[item]) === 'number') {
- res.data[item] = res.data[item].toString()
- }
+ ElMessageBox.confirm(
+ '确认提交吗?',
+ '提示',
+ {
+ confirmButtonText: '确认',
+ cancelButtonText: '取消',
+ type: 'warning',
+ },
+ ).then(() => {
+ current.value = '基本信息'
+ currentCompRef.value.submitForm().validate().then(() => {
+ props.buttonType === ''
+ ? getStandardListAdd(formInline.value).then((res) => {
+ if (res.code === 200) {
+ close()
+ }
+ })
+ : submitFormDetail()
})
- formInline.value = res.data
})
}
-if (props.buttonType !== '') {
- getInfo()
-}
@@ -289,7 +107,7 @@
{{ buttonType === '详情' ? '打印' : '提交' }}
@@ -298,405 +116,17 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 上传
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
@@ -719,14 +149,8 @@
}
}
-.info-content {
- margin-top: 10px;
- padding: 30px;
- border-radius: 10px;
+.body {
background-color: #fff;
-}
-
-:deep .el-input .el-input--default .el-input--suffix {
- width: 200px !important;
+ margin-top: 10px;
}
diff --git a/src/views/device/standardEquipment/expirationRemind.vue b/src/views/device/standardEquipment/expirationRemind.vue
index 35786b2..1826c22 100644
--- a/src/views/device/standardEquipment/expirationRemind.vue
+++ b/src/views/device/standardEquipment/expirationRemind.vue
@@ -26,39 +26,47 @@
text: '标准代码',
value: 'standardNo',
width: '160',
+ align: 'center',
},
{
text: '标准名称',
value: 'standardName',
width: '90',
+ align: 'center',
},
{
text: '管理状态',
value: 'managerStateName',
width: '100',
+ align: 'center',
},
{
text: '标准所在部门',
value: 'standardLaboratoryName',
width: '120',
+ align: 'center',
},
{
text: '负责人',
value: 'standardOwnerName',
+ align: 'center',
},
{
text: '建标项目',
value: 'standardOwnerName',
+ align: 'center',
},
{
text: '筹建日期',
value: 'preparationDate',
width: '160',
+ align: 'center',
},
{
text: '有效日期',
value: 'preparationDate',
width: '160',
+ align: 'center',
},
])
const total = ref(0)
@@ -326,12 +334,8 @@
-
- 导出
-
-
- 打印
-
+
+
- 编辑
+ 详情
- 详情
+ 提醒
+import applyList from './components/applyList.vue'
// 逻辑代码
- 暂停申请
+
diff --git a/src/views/device/standardEquipment/resumeApply.vue b/src/views/device/standardEquipment/resumeApply.vue
index d4a80e8..b5896fc 100644
--- a/src/views/device/standardEquipment/resumeApply.vue
+++ b/src/views/device/standardEquipment/resumeApply.vue
@@ -1,10 +1,11 @@
- 恢复申请
+
diff --git a/src/views/device/standardEquipment/standardList.vue b/src/views/device/standardEquipment/standardList.vue
index 4f1bfdf..348ed71 100644
--- a/src/views/device/standardEquipment/standardList.vue
+++ b/src/views/device/standardEquipment/standardList.vue
@@ -29,50 +29,60 @@
text: '标准代码',
value: 'standardNo',
width: '120',
+ align: 'center',
},
{
text: '标准名称',
value: 'standardName',
width: '90',
+ align: 'center',
},
{
text: '类别',
value: 'categoryName',
width: '80',
+ align: 'center',
},
{
text: '标准等级',
value: 'standardLevelName',
width: '100',
+ align: 'center',
},
{
text: '传递范围',
value: 'transmitRange',
width: '110',
+ align: 'center',
},
{
text: '管理状态',
value: 'managerStateName',
width: '100',
+ align: 'center',
},
{
text: '标准所在部门',
value: 'standardLaboratoryName',
width: '120',
+ align: 'center',
},
{
text: '负责人',
value: 'laboratoryOwner',
+ align: 'center',
},
{
text: '筹建日期',
value: 'preparationDate',
width: '110',
+ align: 'center',
},
{
text: '备注',
value: 'remark',
width: '80',
+ align: 'center',
},
])
const total = ref(0)
@@ -250,6 +260,9 @@
buttonType.value = text
isShow.value = false
}
+const renderHeader = (e: any) => {
+ console.log(e)
+}
@@ -330,19 +343,13 @@
-
- 新建
-
-
- 导出
-
-
- 打印
-
+
+
+
diff --git a/src/views/device/stateManage/components/approvalActionDialog.vue b/src/views/device/stateManage/components/approvalActionDialog.vue
index cdc9b25..56417d6 100644
--- a/src/views/device/stateManage/components/approvalActionDialog.vue
+++ b/src/views/device/stateManage/components/approvalActionDialog.vue
@@ -1,10 +1,13 @@
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/cancel.vue b/src/views/device/stateManage/components/status/cancel.vue
new file mode 100644
index 0000000..ecb2d0c
--- /dev/null
+++ b/src/views/device/stateManage/components/status/cancel.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/drafts.vue b/src/views/device/stateManage/components/status/drafts.vue
new file mode 100644
index 0000000..226ba21
--- /dev/null
+++ b/src/views/device/stateManage/components/status/drafts.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/inApproval.vue b/src/views/device/stateManage/components/status/inApproval.vue
new file mode 100644
index 0000000..4988595
--- /dev/null
+++ b/src/views/device/stateManage/components/status/inApproval.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/passed.vue b/src/views/device/stateManage/components/status/passed.vue
new file mode 100644
index 0000000..ab87daf
--- /dev/null
+++ b/src/views/device/stateManage/components/status/passed.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/pending.vue b/src/views/device/stateManage/components/status/pending.vue
new file mode 100644
index 0000000..3e0b315
--- /dev/null
+++ b/src/views/device/stateManage/components/status/pending.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/unPassed.vue b/src/views/device/stateManage/components/status/unPassed.vue
new file mode 100644
index 0000000..8de700e
--- /dev/null
+++ b/src/views/device/stateManage/components/status/unPassed.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/templateAdd.vue b/src/views/device/stateManage/components/templateAdd.vue
index 9c4da0f..fc364c8 100644
--- a/src/views/device/stateManage/components/templateAdd.vue
+++ b/src/views/device/stateManage/components/templateAdd.vue
@@ -381,10 +381,10 @@
-
+
diff --git a/src/views/device/stateManage/components/templateList.vue b/src/views/device/stateManage/components/templateList.vue
index 6ee2e8c..aa3963f 100644
--- a/src/views/device/stateManage/components/templateList.vue
+++ b/src/views/device/stateManage/components/templateList.vue
@@ -8,6 +8,10 @@
type: String,
default: '',
},
+ title: {
+ type: String,
+ default: '',
+ },
})
// import { exportFile } from '@/utils/exportUtils'
// const { proxy } = getCurrentInstance() as any
@@ -179,15 +183,23 @@
// 同意
const agree = (row) => {
console.log(approveRef.value)
- approveRef.value.initDialog()
+ approveRef.value.initDialog({
+ radio: '1',
+ })
}
// 驳回
const reject = (row) => {
- approveRef.value.initDialog()
+ approveRef.value.initDialog({
+ radio: '3',
+ })
}
// 拒绝
const refuse = (row) => {
- approveRef.value.initDialog()
+ approveRef.value.initDialog(
+ {
+ radio: '2',
+ },
+ )
}
// 取消
const cancel = (row) => {
diff --git a/src/views/device/stateManage/components/templatePage.vue b/src/views/device/stateManage/components/templatePage.vue
index 5fb0163..fce7685 100644
--- a/src/views/device/stateManage/components/templatePage.vue
+++ b/src/views/device/stateManage/components/templatePage.vue
@@ -1,6 +1,12 @@
- 设备处置申请
+
diff --git a/src/views/device/stateManage/openApply.vue b/src/views/device/stateManage/openApply.vue
index 3c43781..35c2af6 100644
--- a/src/views/device/stateManage/openApply.vue
+++ b/src/views/device/stateManage/openApply.vue
@@ -1,13 +1,14 @@
- 设备启封申请
+
+
diff --git a/src/components.d.ts b/src/components.d.ts
index fea7d82..6e85584 100644
--- a/src/components.d.ts
+++ b/src/components.d.ts
@@ -16,6 +16,7 @@
BarChartHorizontal: typeof import('./components/Echart/BarChartHorizontal.vue')['default']
BarChartVertical: typeof import('./components/Echart/BarChartVertical.vue')['default']
BatchActionBar: typeof import('./components/BatchActionBar/index.vue')['default']
+ Benchcol: typeof import('./components/benchcol/index.vue')['default']
BenchCol: typeof import('./components/benchCol/index.vue')['default']
ConditionDrawer: typeof import('./components/drawer/conditionDrawer.vue')['default']
copy: typeof import('./components/DetailPage/index copy.vue')['default']
diff --git a/src/views/device/standardEquipment/cancelApply.vue b/src/views/device/standardEquipment/cancelApply.vue
index c093520..1e50f44 100644
--- a/src/views/device/standardEquipment/cancelApply.vue
+++ b/src/views/device/standardEquipment/cancelApply.vue
@@ -1,10 +1,11 @@
- 撤销申请
+
diff --git a/src/views/device/standardEquipment/changeApply.vue b/src/views/device/standardEquipment/changeApply.vue
index 0762330..6625970 100644
--- a/src/views/device/standardEquipment/changeApply.vue
+++ b/src/views/device/standardEquipment/changeApply.vue
@@ -1,10 +1,11 @@
-
- 更换申请
+
diff --git a/src/views/device/standardEquipment/checkApply.vue b/src/views/device/standardEquipment/checkApply.vue
index 9cadc01..6625970 100644
--- a/src/views/device/standardEquipment/checkApply.vue
+++ b/src/views/device/standardEquipment/checkApply.vue
@@ -1,10 +1,11 @@
- 复查申请
+
diff --git a/src/views/device/standardEquipment/components/applyList.vue b/src/views/device/standardEquipment/components/applyList.vue
new file mode 100644
index 0000000..45be74a
--- /dev/null
+++ b/src/views/device/standardEquipment/components/applyList.vue
@@ -0,0 +1,65 @@
+
+
+
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/all.vue b/src/views/device/standardEquipment/components/listApply/all.vue
new file mode 100644
index 0000000..d124307
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/all.vue
@@ -0,0 +1,17 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/approvalPending.vue b/src/views/device/standardEquipment/components/listApply/approvalPending.vue
new file mode 100644
index 0000000..8a7a8bc
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/approvalPending.vue
@@ -0,0 +1,16 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/canceled.vue b/src/views/device/standardEquipment/components/listApply/canceled.vue
new file mode 100644
index 0000000..3b9657c
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/canceled.vue
@@ -0,0 +1,15 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/draftBox.vue b/src/views/device/standardEquipment/components/listApply/draftBox.vue
new file mode 100644
index 0000000..43d7b75
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/draftBox.vue
@@ -0,0 +1,15 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue b/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue
new file mode 100644
index 0000000..c13f95a
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue
@@ -0,0 +1,17 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/listPage.vue b/src/views/device/standardEquipment/components/listApply/listPage.vue
new file mode 100644
index 0000000..5133627
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/listPage.vue
@@ -0,0 +1,493 @@
+
+
+
+
+
+
+
+
+
+
+
+ 同意
+
+
+ 驳回
+
+
+ 拒绝
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 提交
+
+
+ 取消
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/listPageAdd.vue b/src/views/device/standardEquipment/components/listApply/listPageAdd.vue
new file mode 100644
index 0000000..eb506ec
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/listPageAdd.vue
@@ -0,0 +1,1021 @@
+
+
+
+
+
+
+ 基本信息
+
+
+
+ {{ item }}
+
+
+ 关闭
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 上传
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 完成
+
+
+
+
+
+
+
+ 同意
+
+
+ 驳回
+
+
+ 拒绝
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 提交
+
+
+ 取消
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/notPass.vue b/src/views/device/standardEquipment/components/listApply/notPass.vue
new file mode 100644
index 0000000..5a4b817
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/notPass.vue
@@ -0,0 +1,10 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/passed.vue b/src/views/device/standardEquipment/components/listApply/passed.vue
new file mode 100644
index 0000000..31cd21c
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/passed.vue
@@ -0,0 +1,10 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/addRow.vue b/src/views/device/standardEquipment/components/standardList/addRow.vue
new file mode 100644
index 0000000..9f2bf81
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/addRow.vue
@@ -0,0 +1,270 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/baseInfo.vue b/src/views/device/standardEquipment/components/standardList/baseInfo.vue
new file mode 100644
index 0000000..c47ad1d
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/baseInfo.vue
@@ -0,0 +1,675 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 上传
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/temptable.vue b/src/views/device/standardEquipment/components/standardList/temptable.vue
new file mode 100644
index 0000000..20eb800
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/temptable.vue
@@ -0,0 +1,387 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ (searchQuery.offset - 1) * searchQuery.limit + scope.$index + 1 }}
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardListAdd.vue b/src/views/device/standardEquipment/components/standardListAdd.vue
index ea13629..348bb41 100644
--- a/src/views/device/standardEquipment/components/standardListAdd.vue
+++ b/src/views/device/standardEquipment/components/standardListAdd.vue
@@ -3,6 +3,8 @@
import { ElMessage, ElMessageBox } from 'element-plus'
import type { FormInstance, UploadProps, UploadUserFile } from 'element-plus'
import type { IOptions } from '../standard_interface'
+import baseInfo from './standardList/baseInfo.vue'
+import table from './standardList/temptable.vue'
import { getStaffList } from '@/api/measure/person'
import { getTypeSelect } from '@/api/system/price'
import { getStandardLisUpdate, getStandardListAdd, getStandardListDetail, getUsersDept } from '@/api/device/standard'
@@ -17,188 +19,35 @@
default: '',
},
})
-const emit = defineEmits(['close']) // 关闭
-const ruleFormRef = ref()
-// 逻辑代码
-const formInline = ref({
- assessDate: '',
- assessmentUnit: '',
- category: null,
- categoryName: '',
- constructionStandardProject: '',
- constructionStandardUnitName: '',
- contactInfo: '',
- createTime: null,
- createUser: null,
- id: '',
- isDel: null,
- laboratoryOwner: null,
- laboratoryOwnerContact: null,
- laboratoryOwnerName: null,
- managerState: null,
- managerStateName: '',
- measureMajor: null,
- fileList: [],
- measureMajorName: '',
- mesureRange: '',
- organizeNo: '',
- preparationDate: '',
- projectNo: '',
- remark: '',
- standardHumidity: null,
- standardLaboratory: null,
- standardLaboratoryName: '',
- standardLevel: null,
- standardLevelName: '',
- standardName: '',
- standardNo: '',
- standardOwner: null,
- standardOwnerName: '',
- standardTemperature: null,
- totalInvestment: null,
- transmitRange: null,
- transmitRangeName: '',
- uncertainty: '',
- updateTime: null,
- version: null,
-})
-const checkTypeOptions = ref([])
-
-const standardOwnerOptions = ref([]) // 标准负责人
-const fileList = ref([]) // 文件对象数组
-const measureMajorList = ref([]) // 计量专业下拉框
-const standardManagerStateList = ref([]) // 管理状态下拉框
-const standardLevelList = ref([]) // 标准等级下拉框
-const transmitRangeList = ref([]) // 传递范围下拉框
-// 标准所在部门下拉框
-const standardUsersDeptList = ref([])
-// 获取下拉框
-const getSelectList = (code: string) => {
- getTypeSelect(code).then((res) => {
- if (code === 'measureMajor') {
- measureMajorList.value = res.data
- }
- else if (code === 'standardManagerState') {
- standardManagerStateList.value = res.data
- }
- else if (code === 'standardLevel') {
- standardLevelList.value = res.data
- }
- else if (code === 'transmitRange') {
- transmitRangeList.value = res.data
- }
- else if (code === 'standardCategory') {
- checkTypeOptions.value = res.data
- }
- })
+const emit = defineEmits(['close'])
+// 定义数据
+const formInline = ref({})
+// 关闭
+interface menuType {
+ name: string
+ comp: any
}
-getSelectList('measureMajor') // 获取计量专业下拉框
-getSelectList('standardManagerState') // 获取管理状态下拉框
-getSelectList('standardLevel') // 获取标准等级下拉框
-getSelectList('transmitRange') // 获取传递范围下拉框
-getSelectList('standardCategory') // 获取类别下拉框
-// 获取部门信息
-getUsersDept({
- createTime: '',
- director: '',
- meterMajor: '',
- organizeName: '',
- organizeNo: '',
- organizeType: '2',
- pdeptId: null,
- offset: 1,
- limit: 999999,
-}).then((res) => {
- standardUsersDeptList.value = res.data.rows
+const menu = shallowRef([
+ { name: '基本信息', comp: baseInfo },
+ { name: '计量人员', comp: table },
+ { name: '标准配套设备', comp: table },
+ { name: '检定规程', comp: table },
+ { name: '重复性考核记录', comp: table },
+ { name: '稳定性考核记录', comp: table },
+ { name: '证书管理', comp: table },
+])
+const currentCompRef = ref()
+const current = ref('基本信息')
+const currentComp = shallowRef(baseInfo)
+watch(current, (newValue) => {
+ currentComp.value = menu.value.filter(item => item.name === newValue)[0].comp
})
-// 获取到标准负责人数组
-const getStandardOwnerOptions = () => {
- const params = {
- staffNo: '', // 人员编号
- name: '', // 姓名
- deptId: '', // 工作部门
- major: '', // 计量专业
- verifierCertificateNo: '', // 证书号
- certificateStatus: '', // 证书状态
- limit: 100000,
- offset: 1,
- }
- getStaffList(params).then((res) => {
- standardOwnerOptions.value = res.data.records
- })
-}
-getStandardOwnerOptions()
// 关闭
const close = () => {
emit('close')
}
-const rules = ref({
- standardName: [{ required: true, message: '标准名称不能为空', trigger: 'blur' }],
- projectNo: [{ required: true, message: '项目编号不能为空', trigger: 'blur' }],
- constructionStandardProject: [{ required: true, message: '建标项目不能为空', trigger: 'blur' }],
- organizeNo: [{ required: true, message: '组织机构代码不能为空', trigger: 'blur' }],
- constructionStandardUnitName: [{ required: true, message: '建标单位名称不能为空', trigger: 'blur' }],
- standardOwner: [{ required: true, message: '标准负责人不能为空', trigger: 'blur' }],
- contactInfo: [{ required: true, message: '联系方式不能为空', trigger: 'blur' }],
- category: [{ required: true, message: '类 别不能为空', trigger: 'blur' }],
- standardLevel: [{ required: true, message: '标准等级不能为空', trigger: 'blur' }],
- transmitRange: [{ required: true, message: '传递范围不能为空', trigger: 'blur' }],
- preparationDate: [{ required: true, message: '筹建日期不能为空', trigger: 'blur' }],
- managerState: [{ required: true, message: '管理状态不能为空', trigger: 'blur' }],
- measureMajor: [{ required: true, message: '计量专业不能为空', trigger: 'blur' }],
- assessmentUnit: [{ required: true, message: '考核单位不能为空', trigger: 'blur' }],
- assessDate: [{ required: true, message: '考核日期不能为空', trigger: 'blur' }],
- uncertainty: [{ required: true, message: '不确定度不能为空', trigger: 'blur' }],
- mesureRange: [{ required: true, message: '测量范围不能为空', trigger: 'blur' }],
- standardTemperature: [{ required: true, message: '标准温度不能为空', trigger: 'blur' },
- { pattern: /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/, message: '标准温度只能为数字', trigger: 'blur' }],
- standardHumidity: [{ required: true, message: '标准湿度不能为空', trigger: 'blur' },
- { pattern: /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/, message: '标准湿度只能为数字', trigger: 'blur' }],
-}) // 表单验证规则
-// 上传请求
-const uploadQuarterlyEvaluateFile = (file: File) => {
- const fd = new FormData()
- fd.append('multipartFile', file.file)
- UploadFile(fd).then((res) => {
- if (res.code === 200) {
- formInline.value.fileList = res.data
- // 重置当前验证
- ElMessage.success('文件上传成功')
- }
- })
-}
-const handleExceed: UploadProps['onExceed'] = (files, uploadFiles) => {
- ElMessage.warning('只能上传一个文件')
-}
-// 移除时触发
-const beforeRemove: UploadProps['beforeRemove'] = (uploadFile, uploadFiles) => {
- return ElMessageBox.confirm(
- `确认移除${uploadFile.name}文件吗 ?`,
- ).then(
- () => true,
- () => false,
-
- )
-}
-// 点击文件预览
-const uploadShow = (e: any) => {
- const URL = window.URL || window.webkitURL
- window.open(URL.createObjectURL(e.raw))
-}
-const testForm = ref({
- fileList: [],
- fileContent: '',
-})
-const handleFileChange = (files: any, fileList: any) => {
- testForm.value.fileList = fileList
- const reader = new FileReader()
- reader.readAsText(files.raw)
- // reader.onload = (e) => {
- // testForm.value.fileContent = e.target!.result?.replace(
- // /\n|\r\n/g,
- // '
',
- // )
- // }
+const setData = (newValue: object) => {
+ formInline.value = newValue
}
// 编辑获取详情的提交按钮
const submitFormDetail = () => {
@@ -223,60 +72,29 @@
}
}
// 提交
-const submitForm = (formEl: FormInstance | undefined) => {
- if (!formEl) { return }
+const submitForm = () => {
if (props.buttonType === '详情') { return submitFormDetail() }
- formEl.validate((valid, fields) => {
- if (valid) {
- ElMessageBox.confirm(
- '确认提交吗?',
- '提示',
- {
- confirmButtonText: '确认',
- cancelButtonText: '取消',
- type: 'warning',
- },
- ).then(() => {
- props.buttonType === ''
- ? getStandardListAdd(formInline.value).then((res) => {
- if (res.code === 200) {
- close()
- }
- })
- : submitFormDetail()
- })
- }
- })
-}
-// 标准实验室发生改变row类型
-interface rowReturn {
- phone: string
- director: string
-}
-// 标准实验室发生改变
-const changeDeptList = (row: object) => {
- formInline.value.laboratoryOwnerContact = row.phone
- formInline.value.laboratoryOwner = row.director
-}
-// 标准实验室清空时
-const clearDeptList = () => {
- formInline.value.laboratoryOwnerContact = null
- formInline.value.laboratoryOwner = null
-}
-// 获取详情信息
-const getInfo = () => {
- getStandardListDetail({ id: props.infoId }).then((res) => {
- Object.keys(res.data).map((item) => {
- if (typeof (res.data[item]) === 'number') {
- res.data[item] = res.data[item].toString()
- }
+ ElMessageBox.confirm(
+ '确认提交吗?',
+ '提示',
+ {
+ confirmButtonText: '确认',
+ cancelButtonText: '取消',
+ type: 'warning',
+ },
+ ).then(() => {
+ current.value = '基本信息'
+ currentCompRef.value.submitForm().validate().then(() => {
+ props.buttonType === ''
+ ? getStandardListAdd(formInline.value).then((res) => {
+ if (res.code === 200) {
+ close()
+ }
+ })
+ : submitFormDetail()
})
- formInline.value = res.data
})
}
-if (props.buttonType !== '') {
- getInfo()
-}
@@ -289,7 +107,7 @@
{{ buttonType === '详情' ? '打印' : '提交' }}
@@ -298,405 +116,17 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 上传
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
@@ -719,14 +149,8 @@
}
}
-.info-content {
- margin-top: 10px;
- padding: 30px;
- border-radius: 10px;
+.body {
background-color: #fff;
-}
-
-:deep .el-input .el-input--default .el-input--suffix {
- width: 200px !important;
+ margin-top: 10px;
}
diff --git a/src/views/device/standardEquipment/expirationRemind.vue b/src/views/device/standardEquipment/expirationRemind.vue
index 35786b2..1826c22 100644
--- a/src/views/device/standardEquipment/expirationRemind.vue
+++ b/src/views/device/standardEquipment/expirationRemind.vue
@@ -26,39 +26,47 @@
text: '标准代码',
value: 'standardNo',
width: '160',
+ align: 'center',
},
{
text: '标准名称',
value: 'standardName',
width: '90',
+ align: 'center',
},
{
text: '管理状态',
value: 'managerStateName',
width: '100',
+ align: 'center',
},
{
text: '标准所在部门',
value: 'standardLaboratoryName',
width: '120',
+ align: 'center',
},
{
text: '负责人',
value: 'standardOwnerName',
+ align: 'center',
},
{
text: '建标项目',
value: 'standardOwnerName',
+ align: 'center',
},
{
text: '筹建日期',
value: 'preparationDate',
width: '160',
+ align: 'center',
},
{
text: '有效日期',
value: 'preparationDate',
width: '160',
+ align: 'center',
},
])
const total = ref(0)
@@ -326,12 +334,8 @@
-
- 导出
-
-
- 打印
-
+
+
- 编辑
+ 详情
- 详情
+ 提醒
+import applyList from './components/applyList.vue'
// 逻辑代码
- 暂停申请
+
diff --git a/src/views/device/standardEquipment/resumeApply.vue b/src/views/device/standardEquipment/resumeApply.vue
index d4a80e8..b5896fc 100644
--- a/src/views/device/standardEquipment/resumeApply.vue
+++ b/src/views/device/standardEquipment/resumeApply.vue
@@ -1,10 +1,11 @@
- 恢复申请
+
diff --git a/src/views/device/standardEquipment/standardList.vue b/src/views/device/standardEquipment/standardList.vue
index 4f1bfdf..348ed71 100644
--- a/src/views/device/standardEquipment/standardList.vue
+++ b/src/views/device/standardEquipment/standardList.vue
@@ -29,50 +29,60 @@
text: '标准代码',
value: 'standardNo',
width: '120',
+ align: 'center',
},
{
text: '标准名称',
value: 'standardName',
width: '90',
+ align: 'center',
},
{
text: '类别',
value: 'categoryName',
width: '80',
+ align: 'center',
},
{
text: '标准等级',
value: 'standardLevelName',
width: '100',
+ align: 'center',
},
{
text: '传递范围',
value: 'transmitRange',
width: '110',
+ align: 'center',
},
{
text: '管理状态',
value: 'managerStateName',
width: '100',
+ align: 'center',
},
{
text: '标准所在部门',
value: 'standardLaboratoryName',
width: '120',
+ align: 'center',
},
{
text: '负责人',
value: 'laboratoryOwner',
+ align: 'center',
},
{
text: '筹建日期',
value: 'preparationDate',
width: '110',
+ align: 'center',
},
{
text: '备注',
value: 'remark',
width: '80',
+ align: 'center',
},
])
const total = ref(0)
@@ -250,6 +260,9 @@
buttonType.value = text
isShow.value = false
}
+const renderHeader = (e: any) => {
+ console.log(e)
+}
@@ -330,19 +343,13 @@
-
- 新建
-
-
- 导出
-
-
- 打印
-
+
+
+
diff --git a/src/views/device/stateManage/components/approvalActionDialog.vue b/src/views/device/stateManage/components/approvalActionDialog.vue
index cdc9b25..56417d6 100644
--- a/src/views/device/stateManage/components/approvalActionDialog.vue
+++ b/src/views/device/stateManage/components/approvalActionDialog.vue
@@ -1,10 +1,13 @@
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/cancel.vue b/src/views/device/stateManage/components/status/cancel.vue
new file mode 100644
index 0000000..ecb2d0c
--- /dev/null
+++ b/src/views/device/stateManage/components/status/cancel.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/drafts.vue b/src/views/device/stateManage/components/status/drafts.vue
new file mode 100644
index 0000000..226ba21
--- /dev/null
+++ b/src/views/device/stateManage/components/status/drafts.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/inApproval.vue b/src/views/device/stateManage/components/status/inApproval.vue
new file mode 100644
index 0000000..4988595
--- /dev/null
+++ b/src/views/device/stateManage/components/status/inApproval.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/passed.vue b/src/views/device/stateManage/components/status/passed.vue
new file mode 100644
index 0000000..ab87daf
--- /dev/null
+++ b/src/views/device/stateManage/components/status/passed.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/pending.vue b/src/views/device/stateManage/components/status/pending.vue
new file mode 100644
index 0000000..3e0b315
--- /dev/null
+++ b/src/views/device/stateManage/components/status/pending.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/unPassed.vue b/src/views/device/stateManage/components/status/unPassed.vue
new file mode 100644
index 0000000..8de700e
--- /dev/null
+++ b/src/views/device/stateManage/components/status/unPassed.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/templateAdd.vue b/src/views/device/stateManage/components/templateAdd.vue
index 9c4da0f..fc364c8 100644
--- a/src/views/device/stateManage/components/templateAdd.vue
+++ b/src/views/device/stateManage/components/templateAdd.vue
@@ -381,10 +381,10 @@
-
+
diff --git a/src/views/device/stateManage/components/templateList.vue b/src/views/device/stateManage/components/templateList.vue
index 6ee2e8c..aa3963f 100644
--- a/src/views/device/stateManage/components/templateList.vue
+++ b/src/views/device/stateManage/components/templateList.vue
@@ -8,6 +8,10 @@
type: String,
default: '',
},
+ title: {
+ type: String,
+ default: '',
+ },
})
// import { exportFile } from '@/utils/exportUtils'
// const { proxy } = getCurrentInstance() as any
@@ -179,15 +183,23 @@
// 同意
const agree = (row) => {
console.log(approveRef.value)
- approveRef.value.initDialog()
+ approveRef.value.initDialog({
+ radio: '1',
+ })
}
// 驳回
const reject = (row) => {
- approveRef.value.initDialog()
+ approveRef.value.initDialog({
+ radio: '3',
+ })
}
// 拒绝
const refuse = (row) => {
- approveRef.value.initDialog()
+ approveRef.value.initDialog(
+ {
+ radio: '2',
+ },
+ )
}
// 取消
const cancel = (row) => {
diff --git a/src/views/device/stateManage/components/templatePage.vue b/src/views/device/stateManage/components/templatePage.vue
index 5fb0163..fce7685 100644
--- a/src/views/device/stateManage/components/templatePage.vue
+++ b/src/views/device/stateManage/components/templatePage.vue
@@ -1,6 +1,12 @@
- 设备处置申请
+
diff --git a/src/views/device/stateManage/openApply.vue b/src/views/device/stateManage/openApply.vue
index 3c43781..35c2af6 100644
--- a/src/views/device/stateManage/openApply.vue
+++ b/src/views/device/stateManage/openApply.vue
@@ -1,13 +1,14 @@
- 设备启封申请
+
+
diff --git a/src/views/device/stateManage/scrapApply.vue b/src/views/device/stateManage/scrapApply.vue
index 7bd1a98..282ecd8 100644
--- a/src/views/device/stateManage/scrapApply.vue
+++ b/src/views/device/stateManage/scrapApply.vue
@@ -1,10 +1,10 @@
- 设备报废申请
+
diff --git a/src/components.d.ts b/src/components.d.ts
index fea7d82..6e85584 100644
--- a/src/components.d.ts
+++ b/src/components.d.ts
@@ -16,6 +16,7 @@
BarChartHorizontal: typeof import('./components/Echart/BarChartHorizontal.vue')['default']
BarChartVertical: typeof import('./components/Echart/BarChartVertical.vue')['default']
BatchActionBar: typeof import('./components/BatchActionBar/index.vue')['default']
+ Benchcol: typeof import('./components/benchcol/index.vue')['default']
BenchCol: typeof import('./components/benchCol/index.vue')['default']
ConditionDrawer: typeof import('./components/drawer/conditionDrawer.vue')['default']
copy: typeof import('./components/DetailPage/index copy.vue')['default']
diff --git a/src/views/device/standardEquipment/cancelApply.vue b/src/views/device/standardEquipment/cancelApply.vue
index c093520..1e50f44 100644
--- a/src/views/device/standardEquipment/cancelApply.vue
+++ b/src/views/device/standardEquipment/cancelApply.vue
@@ -1,10 +1,11 @@
- 撤销申请
+
diff --git a/src/views/device/standardEquipment/changeApply.vue b/src/views/device/standardEquipment/changeApply.vue
index 0762330..6625970 100644
--- a/src/views/device/standardEquipment/changeApply.vue
+++ b/src/views/device/standardEquipment/changeApply.vue
@@ -1,10 +1,11 @@
-
- 更换申请
+
diff --git a/src/views/device/standardEquipment/checkApply.vue b/src/views/device/standardEquipment/checkApply.vue
index 9cadc01..6625970 100644
--- a/src/views/device/standardEquipment/checkApply.vue
+++ b/src/views/device/standardEquipment/checkApply.vue
@@ -1,10 +1,11 @@
- 复查申请
+
diff --git a/src/views/device/standardEquipment/components/applyList.vue b/src/views/device/standardEquipment/components/applyList.vue
new file mode 100644
index 0000000..45be74a
--- /dev/null
+++ b/src/views/device/standardEquipment/components/applyList.vue
@@ -0,0 +1,65 @@
+
+
+
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/all.vue b/src/views/device/standardEquipment/components/listApply/all.vue
new file mode 100644
index 0000000..d124307
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/all.vue
@@ -0,0 +1,17 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/approvalPending.vue b/src/views/device/standardEquipment/components/listApply/approvalPending.vue
new file mode 100644
index 0000000..8a7a8bc
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/approvalPending.vue
@@ -0,0 +1,16 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/canceled.vue b/src/views/device/standardEquipment/components/listApply/canceled.vue
new file mode 100644
index 0000000..3b9657c
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/canceled.vue
@@ -0,0 +1,15 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/draftBox.vue b/src/views/device/standardEquipment/components/listApply/draftBox.vue
new file mode 100644
index 0000000..43d7b75
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/draftBox.vue
@@ -0,0 +1,15 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue b/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue
new file mode 100644
index 0000000..c13f95a
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue
@@ -0,0 +1,17 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/listPage.vue b/src/views/device/standardEquipment/components/listApply/listPage.vue
new file mode 100644
index 0000000..5133627
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/listPage.vue
@@ -0,0 +1,493 @@
+
+
+
+
+
+
+
+
+
+
+
+ 同意
+
+
+ 驳回
+
+
+ 拒绝
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 提交
+
+
+ 取消
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/listPageAdd.vue b/src/views/device/standardEquipment/components/listApply/listPageAdd.vue
new file mode 100644
index 0000000..eb506ec
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/listPageAdd.vue
@@ -0,0 +1,1021 @@
+
+
+
+
+
+
+ 基本信息
+
+
+
+ {{ item }}
+
+
+ 关闭
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 上传
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 完成
+
+
+
+
+
+
+
+ 同意
+
+
+ 驳回
+
+
+ 拒绝
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 提交
+
+
+ 取消
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/notPass.vue b/src/views/device/standardEquipment/components/listApply/notPass.vue
new file mode 100644
index 0000000..5a4b817
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/notPass.vue
@@ -0,0 +1,10 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/passed.vue b/src/views/device/standardEquipment/components/listApply/passed.vue
new file mode 100644
index 0000000..31cd21c
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/passed.vue
@@ -0,0 +1,10 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/addRow.vue b/src/views/device/standardEquipment/components/standardList/addRow.vue
new file mode 100644
index 0000000..9f2bf81
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/addRow.vue
@@ -0,0 +1,270 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/baseInfo.vue b/src/views/device/standardEquipment/components/standardList/baseInfo.vue
new file mode 100644
index 0000000..c47ad1d
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/baseInfo.vue
@@ -0,0 +1,675 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 上传
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/temptable.vue b/src/views/device/standardEquipment/components/standardList/temptable.vue
new file mode 100644
index 0000000..20eb800
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/temptable.vue
@@ -0,0 +1,387 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ (searchQuery.offset - 1) * searchQuery.limit + scope.$index + 1 }}
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardListAdd.vue b/src/views/device/standardEquipment/components/standardListAdd.vue
index ea13629..348bb41 100644
--- a/src/views/device/standardEquipment/components/standardListAdd.vue
+++ b/src/views/device/standardEquipment/components/standardListAdd.vue
@@ -3,6 +3,8 @@
import { ElMessage, ElMessageBox } from 'element-plus'
import type { FormInstance, UploadProps, UploadUserFile } from 'element-plus'
import type { IOptions } from '../standard_interface'
+import baseInfo from './standardList/baseInfo.vue'
+import table from './standardList/temptable.vue'
import { getStaffList } from '@/api/measure/person'
import { getTypeSelect } from '@/api/system/price'
import { getStandardLisUpdate, getStandardListAdd, getStandardListDetail, getUsersDept } from '@/api/device/standard'
@@ -17,188 +19,35 @@
default: '',
},
})
-const emit = defineEmits(['close']) // 关闭
-const ruleFormRef = ref()
-// 逻辑代码
-const formInline = ref({
- assessDate: '',
- assessmentUnit: '',
- category: null,
- categoryName: '',
- constructionStandardProject: '',
- constructionStandardUnitName: '',
- contactInfo: '',
- createTime: null,
- createUser: null,
- id: '',
- isDel: null,
- laboratoryOwner: null,
- laboratoryOwnerContact: null,
- laboratoryOwnerName: null,
- managerState: null,
- managerStateName: '',
- measureMajor: null,
- fileList: [],
- measureMajorName: '',
- mesureRange: '',
- organizeNo: '',
- preparationDate: '',
- projectNo: '',
- remark: '',
- standardHumidity: null,
- standardLaboratory: null,
- standardLaboratoryName: '',
- standardLevel: null,
- standardLevelName: '',
- standardName: '',
- standardNo: '',
- standardOwner: null,
- standardOwnerName: '',
- standardTemperature: null,
- totalInvestment: null,
- transmitRange: null,
- transmitRangeName: '',
- uncertainty: '',
- updateTime: null,
- version: null,
-})
-const checkTypeOptions = ref([])
-
-const standardOwnerOptions = ref([]) // 标准负责人
-const fileList = ref([]) // 文件对象数组
-const measureMajorList = ref([]) // 计量专业下拉框
-const standardManagerStateList = ref([]) // 管理状态下拉框
-const standardLevelList = ref([]) // 标准等级下拉框
-const transmitRangeList = ref([]) // 传递范围下拉框
-// 标准所在部门下拉框
-const standardUsersDeptList = ref([])
-// 获取下拉框
-const getSelectList = (code: string) => {
- getTypeSelect(code).then((res) => {
- if (code === 'measureMajor') {
- measureMajorList.value = res.data
- }
- else if (code === 'standardManagerState') {
- standardManagerStateList.value = res.data
- }
- else if (code === 'standardLevel') {
- standardLevelList.value = res.data
- }
- else if (code === 'transmitRange') {
- transmitRangeList.value = res.data
- }
- else if (code === 'standardCategory') {
- checkTypeOptions.value = res.data
- }
- })
+const emit = defineEmits(['close'])
+// 定义数据
+const formInline = ref({})
+// 关闭
+interface menuType {
+ name: string
+ comp: any
}
-getSelectList('measureMajor') // 获取计量专业下拉框
-getSelectList('standardManagerState') // 获取管理状态下拉框
-getSelectList('standardLevel') // 获取标准等级下拉框
-getSelectList('transmitRange') // 获取传递范围下拉框
-getSelectList('standardCategory') // 获取类别下拉框
-// 获取部门信息
-getUsersDept({
- createTime: '',
- director: '',
- meterMajor: '',
- organizeName: '',
- organizeNo: '',
- organizeType: '2',
- pdeptId: null,
- offset: 1,
- limit: 999999,
-}).then((res) => {
- standardUsersDeptList.value = res.data.rows
+const menu = shallowRef([
+ { name: '基本信息', comp: baseInfo },
+ { name: '计量人员', comp: table },
+ { name: '标准配套设备', comp: table },
+ { name: '检定规程', comp: table },
+ { name: '重复性考核记录', comp: table },
+ { name: '稳定性考核记录', comp: table },
+ { name: '证书管理', comp: table },
+])
+const currentCompRef = ref()
+const current = ref('基本信息')
+const currentComp = shallowRef(baseInfo)
+watch(current, (newValue) => {
+ currentComp.value = menu.value.filter(item => item.name === newValue)[0].comp
})
-// 获取到标准负责人数组
-const getStandardOwnerOptions = () => {
- const params = {
- staffNo: '', // 人员编号
- name: '', // 姓名
- deptId: '', // 工作部门
- major: '', // 计量专业
- verifierCertificateNo: '', // 证书号
- certificateStatus: '', // 证书状态
- limit: 100000,
- offset: 1,
- }
- getStaffList(params).then((res) => {
- standardOwnerOptions.value = res.data.records
- })
-}
-getStandardOwnerOptions()
// 关闭
const close = () => {
emit('close')
}
-const rules = ref({
- standardName: [{ required: true, message: '标准名称不能为空', trigger: 'blur' }],
- projectNo: [{ required: true, message: '项目编号不能为空', trigger: 'blur' }],
- constructionStandardProject: [{ required: true, message: '建标项目不能为空', trigger: 'blur' }],
- organizeNo: [{ required: true, message: '组织机构代码不能为空', trigger: 'blur' }],
- constructionStandardUnitName: [{ required: true, message: '建标单位名称不能为空', trigger: 'blur' }],
- standardOwner: [{ required: true, message: '标准负责人不能为空', trigger: 'blur' }],
- contactInfo: [{ required: true, message: '联系方式不能为空', trigger: 'blur' }],
- category: [{ required: true, message: '类 别不能为空', trigger: 'blur' }],
- standardLevel: [{ required: true, message: '标准等级不能为空', trigger: 'blur' }],
- transmitRange: [{ required: true, message: '传递范围不能为空', trigger: 'blur' }],
- preparationDate: [{ required: true, message: '筹建日期不能为空', trigger: 'blur' }],
- managerState: [{ required: true, message: '管理状态不能为空', trigger: 'blur' }],
- measureMajor: [{ required: true, message: '计量专业不能为空', trigger: 'blur' }],
- assessmentUnit: [{ required: true, message: '考核单位不能为空', trigger: 'blur' }],
- assessDate: [{ required: true, message: '考核日期不能为空', trigger: 'blur' }],
- uncertainty: [{ required: true, message: '不确定度不能为空', trigger: 'blur' }],
- mesureRange: [{ required: true, message: '测量范围不能为空', trigger: 'blur' }],
- standardTemperature: [{ required: true, message: '标准温度不能为空', trigger: 'blur' },
- { pattern: /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/, message: '标准温度只能为数字', trigger: 'blur' }],
- standardHumidity: [{ required: true, message: '标准湿度不能为空', trigger: 'blur' },
- { pattern: /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/, message: '标准湿度只能为数字', trigger: 'blur' }],
-}) // 表单验证规则
-// 上传请求
-const uploadQuarterlyEvaluateFile = (file: File) => {
- const fd = new FormData()
- fd.append('multipartFile', file.file)
- UploadFile(fd).then((res) => {
- if (res.code === 200) {
- formInline.value.fileList = res.data
- // 重置当前验证
- ElMessage.success('文件上传成功')
- }
- })
-}
-const handleExceed: UploadProps['onExceed'] = (files, uploadFiles) => {
- ElMessage.warning('只能上传一个文件')
-}
-// 移除时触发
-const beforeRemove: UploadProps['beforeRemove'] = (uploadFile, uploadFiles) => {
- return ElMessageBox.confirm(
- `确认移除${uploadFile.name}文件吗 ?`,
- ).then(
- () => true,
- () => false,
-
- )
-}
-// 点击文件预览
-const uploadShow = (e: any) => {
- const URL = window.URL || window.webkitURL
- window.open(URL.createObjectURL(e.raw))
-}
-const testForm = ref({
- fileList: [],
- fileContent: '',
-})
-const handleFileChange = (files: any, fileList: any) => {
- testForm.value.fileList = fileList
- const reader = new FileReader()
- reader.readAsText(files.raw)
- // reader.onload = (e) => {
- // testForm.value.fileContent = e.target!.result?.replace(
- // /\n|\r\n/g,
- // '
',
- // )
- // }
+const setData = (newValue: object) => {
+ formInline.value = newValue
}
// 编辑获取详情的提交按钮
const submitFormDetail = () => {
@@ -223,60 +72,29 @@
}
}
// 提交
-const submitForm = (formEl: FormInstance | undefined) => {
- if (!formEl) { return }
+const submitForm = () => {
if (props.buttonType === '详情') { return submitFormDetail() }
- formEl.validate((valid, fields) => {
- if (valid) {
- ElMessageBox.confirm(
- '确认提交吗?',
- '提示',
- {
- confirmButtonText: '确认',
- cancelButtonText: '取消',
- type: 'warning',
- },
- ).then(() => {
- props.buttonType === ''
- ? getStandardListAdd(formInline.value).then((res) => {
- if (res.code === 200) {
- close()
- }
- })
- : submitFormDetail()
- })
- }
- })
-}
-// 标准实验室发生改变row类型
-interface rowReturn {
- phone: string
- director: string
-}
-// 标准实验室发生改变
-const changeDeptList = (row: object) => {
- formInline.value.laboratoryOwnerContact = row.phone
- formInline.value.laboratoryOwner = row.director
-}
-// 标准实验室清空时
-const clearDeptList = () => {
- formInline.value.laboratoryOwnerContact = null
- formInline.value.laboratoryOwner = null
-}
-// 获取详情信息
-const getInfo = () => {
- getStandardListDetail({ id: props.infoId }).then((res) => {
- Object.keys(res.data).map((item) => {
- if (typeof (res.data[item]) === 'number') {
- res.data[item] = res.data[item].toString()
- }
+ ElMessageBox.confirm(
+ '确认提交吗?',
+ '提示',
+ {
+ confirmButtonText: '确认',
+ cancelButtonText: '取消',
+ type: 'warning',
+ },
+ ).then(() => {
+ current.value = '基本信息'
+ currentCompRef.value.submitForm().validate().then(() => {
+ props.buttonType === ''
+ ? getStandardListAdd(formInline.value).then((res) => {
+ if (res.code === 200) {
+ close()
+ }
+ })
+ : submitFormDetail()
})
- formInline.value = res.data
})
}
-if (props.buttonType !== '') {
- getInfo()
-}
@@ -289,7 +107,7 @@
{{ buttonType === '详情' ? '打印' : '提交' }}
@@ -298,405 +116,17 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 上传
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
@@ -719,14 +149,8 @@
}
}
-.info-content {
- margin-top: 10px;
- padding: 30px;
- border-radius: 10px;
+.body {
background-color: #fff;
-}
-
-:deep .el-input .el-input--default .el-input--suffix {
- width: 200px !important;
+ margin-top: 10px;
}
diff --git a/src/views/device/standardEquipment/expirationRemind.vue b/src/views/device/standardEquipment/expirationRemind.vue
index 35786b2..1826c22 100644
--- a/src/views/device/standardEquipment/expirationRemind.vue
+++ b/src/views/device/standardEquipment/expirationRemind.vue
@@ -26,39 +26,47 @@
text: '标准代码',
value: 'standardNo',
width: '160',
+ align: 'center',
},
{
text: '标准名称',
value: 'standardName',
width: '90',
+ align: 'center',
},
{
text: '管理状态',
value: 'managerStateName',
width: '100',
+ align: 'center',
},
{
text: '标准所在部门',
value: 'standardLaboratoryName',
width: '120',
+ align: 'center',
},
{
text: '负责人',
value: 'standardOwnerName',
+ align: 'center',
},
{
text: '建标项目',
value: 'standardOwnerName',
+ align: 'center',
},
{
text: '筹建日期',
value: 'preparationDate',
width: '160',
+ align: 'center',
},
{
text: '有效日期',
value: 'preparationDate',
width: '160',
+ align: 'center',
},
])
const total = ref(0)
@@ -326,12 +334,8 @@
-
- 导出
-
-
- 打印
-
+
+
- 编辑
+ 详情
- 详情
+ 提醒
+import applyList from './components/applyList.vue'
// 逻辑代码
- 暂停申请
+
diff --git a/src/views/device/standardEquipment/resumeApply.vue b/src/views/device/standardEquipment/resumeApply.vue
index d4a80e8..b5896fc 100644
--- a/src/views/device/standardEquipment/resumeApply.vue
+++ b/src/views/device/standardEquipment/resumeApply.vue
@@ -1,10 +1,11 @@
- 恢复申请
+
diff --git a/src/views/device/standardEquipment/standardList.vue b/src/views/device/standardEquipment/standardList.vue
index 4f1bfdf..348ed71 100644
--- a/src/views/device/standardEquipment/standardList.vue
+++ b/src/views/device/standardEquipment/standardList.vue
@@ -29,50 +29,60 @@
text: '标准代码',
value: 'standardNo',
width: '120',
+ align: 'center',
},
{
text: '标准名称',
value: 'standardName',
width: '90',
+ align: 'center',
},
{
text: '类别',
value: 'categoryName',
width: '80',
+ align: 'center',
},
{
text: '标准等级',
value: 'standardLevelName',
width: '100',
+ align: 'center',
},
{
text: '传递范围',
value: 'transmitRange',
width: '110',
+ align: 'center',
},
{
text: '管理状态',
value: 'managerStateName',
width: '100',
+ align: 'center',
},
{
text: '标准所在部门',
value: 'standardLaboratoryName',
width: '120',
+ align: 'center',
},
{
text: '负责人',
value: 'laboratoryOwner',
+ align: 'center',
},
{
text: '筹建日期',
value: 'preparationDate',
width: '110',
+ align: 'center',
},
{
text: '备注',
value: 'remark',
width: '80',
+ align: 'center',
},
])
const total = ref(0)
@@ -250,6 +260,9 @@
buttonType.value = text
isShow.value = false
}
+const renderHeader = (e: any) => {
+ console.log(e)
+}
@@ -330,19 +343,13 @@
-
- 新建
-
-
- 导出
-
-
- 打印
-
+
+
+
diff --git a/src/views/device/stateManage/components/approvalActionDialog.vue b/src/views/device/stateManage/components/approvalActionDialog.vue
index cdc9b25..56417d6 100644
--- a/src/views/device/stateManage/components/approvalActionDialog.vue
+++ b/src/views/device/stateManage/components/approvalActionDialog.vue
@@ -1,10 +1,13 @@
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/cancel.vue b/src/views/device/stateManage/components/status/cancel.vue
new file mode 100644
index 0000000..ecb2d0c
--- /dev/null
+++ b/src/views/device/stateManage/components/status/cancel.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/drafts.vue b/src/views/device/stateManage/components/status/drafts.vue
new file mode 100644
index 0000000..226ba21
--- /dev/null
+++ b/src/views/device/stateManage/components/status/drafts.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/inApproval.vue b/src/views/device/stateManage/components/status/inApproval.vue
new file mode 100644
index 0000000..4988595
--- /dev/null
+++ b/src/views/device/stateManage/components/status/inApproval.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/passed.vue b/src/views/device/stateManage/components/status/passed.vue
new file mode 100644
index 0000000..ab87daf
--- /dev/null
+++ b/src/views/device/stateManage/components/status/passed.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/pending.vue b/src/views/device/stateManage/components/status/pending.vue
new file mode 100644
index 0000000..3e0b315
--- /dev/null
+++ b/src/views/device/stateManage/components/status/pending.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/unPassed.vue b/src/views/device/stateManage/components/status/unPassed.vue
new file mode 100644
index 0000000..8de700e
--- /dev/null
+++ b/src/views/device/stateManage/components/status/unPassed.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/templateAdd.vue b/src/views/device/stateManage/components/templateAdd.vue
index 9c4da0f..fc364c8 100644
--- a/src/views/device/stateManage/components/templateAdd.vue
+++ b/src/views/device/stateManage/components/templateAdd.vue
@@ -381,10 +381,10 @@
-
+
diff --git a/src/views/device/stateManage/components/templateList.vue b/src/views/device/stateManage/components/templateList.vue
index 6ee2e8c..aa3963f 100644
--- a/src/views/device/stateManage/components/templateList.vue
+++ b/src/views/device/stateManage/components/templateList.vue
@@ -8,6 +8,10 @@
type: String,
default: '',
},
+ title: {
+ type: String,
+ default: '',
+ },
})
// import { exportFile } from '@/utils/exportUtils'
// const { proxy } = getCurrentInstance() as any
@@ -179,15 +183,23 @@
// 同意
const agree = (row) => {
console.log(approveRef.value)
- approveRef.value.initDialog()
+ approveRef.value.initDialog({
+ radio: '1',
+ })
}
// 驳回
const reject = (row) => {
- approveRef.value.initDialog()
+ approveRef.value.initDialog({
+ radio: '3',
+ })
}
// 拒绝
const refuse = (row) => {
- approveRef.value.initDialog()
+ approveRef.value.initDialog(
+ {
+ radio: '2',
+ },
+ )
}
// 取消
const cancel = (row) => {
diff --git a/src/views/device/stateManage/components/templatePage.vue b/src/views/device/stateManage/components/templatePage.vue
index 5fb0163..fce7685 100644
--- a/src/views/device/stateManage/components/templatePage.vue
+++ b/src/views/device/stateManage/components/templatePage.vue
@@ -1,6 +1,12 @@
- 设备处置申请
+
diff --git a/src/views/device/stateManage/openApply.vue b/src/views/device/stateManage/openApply.vue
index 3c43781..35c2af6 100644
--- a/src/views/device/stateManage/openApply.vue
+++ b/src/views/device/stateManage/openApply.vue
@@ -1,13 +1,14 @@
- 设备启封申请
+
+
diff --git a/src/views/device/stateManage/scrapApply.vue b/src/views/device/stateManage/scrapApply.vue
index 7bd1a98..282ecd8 100644
--- a/src/views/device/stateManage/scrapApply.vue
+++ b/src/views/device/stateManage/scrapApply.vue
@@ -1,10 +1,10 @@
- 设备报废申请
+
diff --git a/src/views/device/stateManage/sealupApply.vue b/src/views/device/stateManage/sealupApply.vue
index ec6320b..1c8544d 100644
--- a/src/views/device/stateManage/sealupApply.vue
+++ b/src/views/device/stateManage/sealupApply.vue
@@ -1,10 +1,10 @@
- 设备封存申请
+
diff --git a/src/components.d.ts b/src/components.d.ts
index fea7d82..6e85584 100644
--- a/src/components.d.ts
+++ b/src/components.d.ts
@@ -16,6 +16,7 @@
BarChartHorizontal: typeof import('./components/Echart/BarChartHorizontal.vue')['default']
BarChartVertical: typeof import('./components/Echart/BarChartVertical.vue')['default']
BatchActionBar: typeof import('./components/BatchActionBar/index.vue')['default']
+ Benchcol: typeof import('./components/benchcol/index.vue')['default']
BenchCol: typeof import('./components/benchCol/index.vue')['default']
ConditionDrawer: typeof import('./components/drawer/conditionDrawer.vue')['default']
copy: typeof import('./components/DetailPage/index copy.vue')['default']
diff --git a/src/views/device/standardEquipment/cancelApply.vue b/src/views/device/standardEquipment/cancelApply.vue
index c093520..1e50f44 100644
--- a/src/views/device/standardEquipment/cancelApply.vue
+++ b/src/views/device/standardEquipment/cancelApply.vue
@@ -1,10 +1,11 @@
- 撤销申请
+
diff --git a/src/views/device/standardEquipment/changeApply.vue b/src/views/device/standardEquipment/changeApply.vue
index 0762330..6625970 100644
--- a/src/views/device/standardEquipment/changeApply.vue
+++ b/src/views/device/standardEquipment/changeApply.vue
@@ -1,10 +1,11 @@
-
- 更换申请
+
diff --git a/src/views/device/standardEquipment/checkApply.vue b/src/views/device/standardEquipment/checkApply.vue
index 9cadc01..6625970 100644
--- a/src/views/device/standardEquipment/checkApply.vue
+++ b/src/views/device/standardEquipment/checkApply.vue
@@ -1,10 +1,11 @@
- 复查申请
+
diff --git a/src/views/device/standardEquipment/components/applyList.vue b/src/views/device/standardEquipment/components/applyList.vue
new file mode 100644
index 0000000..45be74a
--- /dev/null
+++ b/src/views/device/standardEquipment/components/applyList.vue
@@ -0,0 +1,65 @@
+
+
+
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/all.vue b/src/views/device/standardEquipment/components/listApply/all.vue
new file mode 100644
index 0000000..d124307
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/all.vue
@@ -0,0 +1,17 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/approvalPending.vue b/src/views/device/standardEquipment/components/listApply/approvalPending.vue
new file mode 100644
index 0000000..8a7a8bc
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/approvalPending.vue
@@ -0,0 +1,16 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/canceled.vue b/src/views/device/standardEquipment/components/listApply/canceled.vue
new file mode 100644
index 0000000..3b9657c
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/canceled.vue
@@ -0,0 +1,15 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/draftBox.vue b/src/views/device/standardEquipment/components/listApply/draftBox.vue
new file mode 100644
index 0000000..43d7b75
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/draftBox.vue
@@ -0,0 +1,15 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue b/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue
new file mode 100644
index 0000000..c13f95a
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue
@@ -0,0 +1,17 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/listPage.vue b/src/views/device/standardEquipment/components/listApply/listPage.vue
new file mode 100644
index 0000000..5133627
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/listPage.vue
@@ -0,0 +1,493 @@
+
+
+
+
+
+
+
+
+
+
+
+ 同意
+
+
+ 驳回
+
+
+ 拒绝
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 提交
+
+
+ 取消
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/listPageAdd.vue b/src/views/device/standardEquipment/components/listApply/listPageAdd.vue
new file mode 100644
index 0000000..eb506ec
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/listPageAdd.vue
@@ -0,0 +1,1021 @@
+
+
+
+
+
+
+ 基本信息
+
+
+
+ {{ item }}
+
+
+ 关闭
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 上传
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 完成
+
+
+
+
+
+
+
+ 同意
+
+
+ 驳回
+
+
+ 拒绝
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 提交
+
+
+ 取消
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/notPass.vue b/src/views/device/standardEquipment/components/listApply/notPass.vue
new file mode 100644
index 0000000..5a4b817
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/notPass.vue
@@ -0,0 +1,10 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/passed.vue b/src/views/device/standardEquipment/components/listApply/passed.vue
new file mode 100644
index 0000000..31cd21c
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/passed.vue
@@ -0,0 +1,10 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/addRow.vue b/src/views/device/standardEquipment/components/standardList/addRow.vue
new file mode 100644
index 0000000..9f2bf81
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/addRow.vue
@@ -0,0 +1,270 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/baseInfo.vue b/src/views/device/standardEquipment/components/standardList/baseInfo.vue
new file mode 100644
index 0000000..c47ad1d
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/baseInfo.vue
@@ -0,0 +1,675 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 上传
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/temptable.vue b/src/views/device/standardEquipment/components/standardList/temptable.vue
new file mode 100644
index 0000000..20eb800
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/temptable.vue
@@ -0,0 +1,387 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ (searchQuery.offset - 1) * searchQuery.limit + scope.$index + 1 }}
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardListAdd.vue b/src/views/device/standardEquipment/components/standardListAdd.vue
index ea13629..348bb41 100644
--- a/src/views/device/standardEquipment/components/standardListAdd.vue
+++ b/src/views/device/standardEquipment/components/standardListAdd.vue
@@ -3,6 +3,8 @@
import { ElMessage, ElMessageBox } from 'element-plus'
import type { FormInstance, UploadProps, UploadUserFile } from 'element-plus'
import type { IOptions } from '../standard_interface'
+import baseInfo from './standardList/baseInfo.vue'
+import table from './standardList/temptable.vue'
import { getStaffList } from '@/api/measure/person'
import { getTypeSelect } from '@/api/system/price'
import { getStandardLisUpdate, getStandardListAdd, getStandardListDetail, getUsersDept } from '@/api/device/standard'
@@ -17,188 +19,35 @@
default: '',
},
})
-const emit = defineEmits(['close']) // 关闭
-const ruleFormRef = ref()
-// 逻辑代码
-const formInline = ref({
- assessDate: '',
- assessmentUnit: '',
- category: null,
- categoryName: '',
- constructionStandardProject: '',
- constructionStandardUnitName: '',
- contactInfo: '',
- createTime: null,
- createUser: null,
- id: '',
- isDel: null,
- laboratoryOwner: null,
- laboratoryOwnerContact: null,
- laboratoryOwnerName: null,
- managerState: null,
- managerStateName: '',
- measureMajor: null,
- fileList: [],
- measureMajorName: '',
- mesureRange: '',
- organizeNo: '',
- preparationDate: '',
- projectNo: '',
- remark: '',
- standardHumidity: null,
- standardLaboratory: null,
- standardLaboratoryName: '',
- standardLevel: null,
- standardLevelName: '',
- standardName: '',
- standardNo: '',
- standardOwner: null,
- standardOwnerName: '',
- standardTemperature: null,
- totalInvestment: null,
- transmitRange: null,
- transmitRangeName: '',
- uncertainty: '',
- updateTime: null,
- version: null,
-})
-const checkTypeOptions = ref([])
-
-const standardOwnerOptions = ref([]) // 标准负责人
-const fileList = ref([]) // 文件对象数组
-const measureMajorList = ref([]) // 计量专业下拉框
-const standardManagerStateList = ref([]) // 管理状态下拉框
-const standardLevelList = ref([]) // 标准等级下拉框
-const transmitRangeList = ref([]) // 传递范围下拉框
-// 标准所在部门下拉框
-const standardUsersDeptList = ref([])
-// 获取下拉框
-const getSelectList = (code: string) => {
- getTypeSelect(code).then((res) => {
- if (code === 'measureMajor') {
- measureMajorList.value = res.data
- }
- else if (code === 'standardManagerState') {
- standardManagerStateList.value = res.data
- }
- else if (code === 'standardLevel') {
- standardLevelList.value = res.data
- }
- else if (code === 'transmitRange') {
- transmitRangeList.value = res.data
- }
- else if (code === 'standardCategory') {
- checkTypeOptions.value = res.data
- }
- })
+const emit = defineEmits(['close'])
+// 定义数据
+const formInline = ref({})
+// 关闭
+interface menuType {
+ name: string
+ comp: any
}
-getSelectList('measureMajor') // 获取计量专业下拉框
-getSelectList('standardManagerState') // 获取管理状态下拉框
-getSelectList('standardLevel') // 获取标准等级下拉框
-getSelectList('transmitRange') // 获取传递范围下拉框
-getSelectList('standardCategory') // 获取类别下拉框
-// 获取部门信息
-getUsersDept({
- createTime: '',
- director: '',
- meterMajor: '',
- organizeName: '',
- organizeNo: '',
- organizeType: '2',
- pdeptId: null,
- offset: 1,
- limit: 999999,
-}).then((res) => {
- standardUsersDeptList.value = res.data.rows
+const menu = shallowRef([
+ { name: '基本信息', comp: baseInfo },
+ { name: '计量人员', comp: table },
+ { name: '标准配套设备', comp: table },
+ { name: '检定规程', comp: table },
+ { name: '重复性考核记录', comp: table },
+ { name: '稳定性考核记录', comp: table },
+ { name: '证书管理', comp: table },
+])
+const currentCompRef = ref()
+const current = ref('基本信息')
+const currentComp = shallowRef(baseInfo)
+watch(current, (newValue) => {
+ currentComp.value = menu.value.filter(item => item.name === newValue)[0].comp
})
-// 获取到标准负责人数组
-const getStandardOwnerOptions = () => {
- const params = {
- staffNo: '', // 人员编号
- name: '', // 姓名
- deptId: '', // 工作部门
- major: '', // 计量专业
- verifierCertificateNo: '', // 证书号
- certificateStatus: '', // 证书状态
- limit: 100000,
- offset: 1,
- }
- getStaffList(params).then((res) => {
- standardOwnerOptions.value = res.data.records
- })
-}
-getStandardOwnerOptions()
// 关闭
const close = () => {
emit('close')
}
-const rules = ref({
- standardName: [{ required: true, message: '标准名称不能为空', trigger: 'blur' }],
- projectNo: [{ required: true, message: '项目编号不能为空', trigger: 'blur' }],
- constructionStandardProject: [{ required: true, message: '建标项目不能为空', trigger: 'blur' }],
- organizeNo: [{ required: true, message: '组织机构代码不能为空', trigger: 'blur' }],
- constructionStandardUnitName: [{ required: true, message: '建标单位名称不能为空', trigger: 'blur' }],
- standardOwner: [{ required: true, message: '标准负责人不能为空', trigger: 'blur' }],
- contactInfo: [{ required: true, message: '联系方式不能为空', trigger: 'blur' }],
- category: [{ required: true, message: '类 别不能为空', trigger: 'blur' }],
- standardLevel: [{ required: true, message: '标准等级不能为空', trigger: 'blur' }],
- transmitRange: [{ required: true, message: '传递范围不能为空', trigger: 'blur' }],
- preparationDate: [{ required: true, message: '筹建日期不能为空', trigger: 'blur' }],
- managerState: [{ required: true, message: '管理状态不能为空', trigger: 'blur' }],
- measureMajor: [{ required: true, message: '计量专业不能为空', trigger: 'blur' }],
- assessmentUnit: [{ required: true, message: '考核单位不能为空', trigger: 'blur' }],
- assessDate: [{ required: true, message: '考核日期不能为空', trigger: 'blur' }],
- uncertainty: [{ required: true, message: '不确定度不能为空', trigger: 'blur' }],
- mesureRange: [{ required: true, message: '测量范围不能为空', trigger: 'blur' }],
- standardTemperature: [{ required: true, message: '标准温度不能为空', trigger: 'blur' },
- { pattern: /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/, message: '标准温度只能为数字', trigger: 'blur' }],
- standardHumidity: [{ required: true, message: '标准湿度不能为空', trigger: 'blur' },
- { pattern: /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/, message: '标准湿度只能为数字', trigger: 'blur' }],
-}) // 表单验证规则
-// 上传请求
-const uploadQuarterlyEvaluateFile = (file: File) => {
- const fd = new FormData()
- fd.append('multipartFile', file.file)
- UploadFile(fd).then((res) => {
- if (res.code === 200) {
- formInline.value.fileList = res.data
- // 重置当前验证
- ElMessage.success('文件上传成功')
- }
- })
-}
-const handleExceed: UploadProps['onExceed'] = (files, uploadFiles) => {
- ElMessage.warning('只能上传一个文件')
-}
-// 移除时触发
-const beforeRemove: UploadProps['beforeRemove'] = (uploadFile, uploadFiles) => {
- return ElMessageBox.confirm(
- `确认移除${uploadFile.name}文件吗 ?`,
- ).then(
- () => true,
- () => false,
-
- )
-}
-// 点击文件预览
-const uploadShow = (e: any) => {
- const URL = window.URL || window.webkitURL
- window.open(URL.createObjectURL(e.raw))
-}
-const testForm = ref({
- fileList: [],
- fileContent: '',
-})
-const handleFileChange = (files: any, fileList: any) => {
- testForm.value.fileList = fileList
- const reader = new FileReader()
- reader.readAsText(files.raw)
- // reader.onload = (e) => {
- // testForm.value.fileContent = e.target!.result?.replace(
- // /\n|\r\n/g,
- // '
',
- // )
- // }
+const setData = (newValue: object) => {
+ formInline.value = newValue
}
// 编辑获取详情的提交按钮
const submitFormDetail = () => {
@@ -223,60 +72,29 @@
}
}
// 提交
-const submitForm = (formEl: FormInstance | undefined) => {
- if (!formEl) { return }
+const submitForm = () => {
if (props.buttonType === '详情') { return submitFormDetail() }
- formEl.validate((valid, fields) => {
- if (valid) {
- ElMessageBox.confirm(
- '确认提交吗?',
- '提示',
- {
- confirmButtonText: '确认',
- cancelButtonText: '取消',
- type: 'warning',
- },
- ).then(() => {
- props.buttonType === ''
- ? getStandardListAdd(formInline.value).then((res) => {
- if (res.code === 200) {
- close()
- }
- })
- : submitFormDetail()
- })
- }
- })
-}
-// 标准实验室发生改变row类型
-interface rowReturn {
- phone: string
- director: string
-}
-// 标准实验室发生改变
-const changeDeptList = (row: object) => {
- formInline.value.laboratoryOwnerContact = row.phone
- formInline.value.laboratoryOwner = row.director
-}
-// 标准实验室清空时
-const clearDeptList = () => {
- formInline.value.laboratoryOwnerContact = null
- formInline.value.laboratoryOwner = null
-}
-// 获取详情信息
-const getInfo = () => {
- getStandardListDetail({ id: props.infoId }).then((res) => {
- Object.keys(res.data).map((item) => {
- if (typeof (res.data[item]) === 'number') {
- res.data[item] = res.data[item].toString()
- }
+ ElMessageBox.confirm(
+ '确认提交吗?',
+ '提示',
+ {
+ confirmButtonText: '确认',
+ cancelButtonText: '取消',
+ type: 'warning',
+ },
+ ).then(() => {
+ current.value = '基本信息'
+ currentCompRef.value.submitForm().validate().then(() => {
+ props.buttonType === ''
+ ? getStandardListAdd(formInline.value).then((res) => {
+ if (res.code === 200) {
+ close()
+ }
+ })
+ : submitFormDetail()
})
- formInline.value = res.data
})
}
-if (props.buttonType !== '') {
- getInfo()
-}
@@ -289,7 +107,7 @@
{{ buttonType === '详情' ? '打印' : '提交' }}
@@ -298,405 +116,17 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 上传
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
@@ -719,14 +149,8 @@
}
}
-.info-content {
- margin-top: 10px;
- padding: 30px;
- border-radius: 10px;
+.body {
background-color: #fff;
-}
-
-:deep .el-input .el-input--default .el-input--suffix {
- width: 200px !important;
+ margin-top: 10px;
}
diff --git a/src/views/device/standardEquipment/expirationRemind.vue b/src/views/device/standardEquipment/expirationRemind.vue
index 35786b2..1826c22 100644
--- a/src/views/device/standardEquipment/expirationRemind.vue
+++ b/src/views/device/standardEquipment/expirationRemind.vue
@@ -26,39 +26,47 @@
text: '标准代码',
value: 'standardNo',
width: '160',
+ align: 'center',
},
{
text: '标准名称',
value: 'standardName',
width: '90',
+ align: 'center',
},
{
text: '管理状态',
value: 'managerStateName',
width: '100',
+ align: 'center',
},
{
text: '标准所在部门',
value: 'standardLaboratoryName',
width: '120',
+ align: 'center',
},
{
text: '负责人',
value: 'standardOwnerName',
+ align: 'center',
},
{
text: '建标项目',
value: 'standardOwnerName',
+ align: 'center',
},
{
text: '筹建日期',
value: 'preparationDate',
width: '160',
+ align: 'center',
},
{
text: '有效日期',
value: 'preparationDate',
width: '160',
+ align: 'center',
},
])
const total = ref(0)
@@ -326,12 +334,8 @@
-
- 导出
-
-
- 打印
-
+
+
- 编辑
+ 详情
- 详情
+ 提醒
+import applyList from './components/applyList.vue'
// 逻辑代码
- 暂停申请
+
diff --git a/src/views/device/standardEquipment/resumeApply.vue b/src/views/device/standardEquipment/resumeApply.vue
index d4a80e8..b5896fc 100644
--- a/src/views/device/standardEquipment/resumeApply.vue
+++ b/src/views/device/standardEquipment/resumeApply.vue
@@ -1,10 +1,11 @@
- 恢复申请
+
diff --git a/src/views/device/standardEquipment/standardList.vue b/src/views/device/standardEquipment/standardList.vue
index 4f1bfdf..348ed71 100644
--- a/src/views/device/standardEquipment/standardList.vue
+++ b/src/views/device/standardEquipment/standardList.vue
@@ -29,50 +29,60 @@
text: '标准代码',
value: 'standardNo',
width: '120',
+ align: 'center',
},
{
text: '标准名称',
value: 'standardName',
width: '90',
+ align: 'center',
},
{
text: '类别',
value: 'categoryName',
width: '80',
+ align: 'center',
},
{
text: '标准等级',
value: 'standardLevelName',
width: '100',
+ align: 'center',
},
{
text: '传递范围',
value: 'transmitRange',
width: '110',
+ align: 'center',
},
{
text: '管理状态',
value: 'managerStateName',
width: '100',
+ align: 'center',
},
{
text: '标准所在部门',
value: 'standardLaboratoryName',
width: '120',
+ align: 'center',
},
{
text: '负责人',
value: 'laboratoryOwner',
+ align: 'center',
},
{
text: '筹建日期',
value: 'preparationDate',
width: '110',
+ align: 'center',
},
{
text: '备注',
value: 'remark',
width: '80',
+ align: 'center',
},
])
const total = ref(0)
@@ -250,6 +260,9 @@
buttonType.value = text
isShow.value = false
}
+const renderHeader = (e: any) => {
+ console.log(e)
+}
@@ -330,19 +343,13 @@
-
- 新建
-
-
- 导出
-
-
- 打印
-
+
+
+
diff --git a/src/views/device/stateManage/components/approvalActionDialog.vue b/src/views/device/stateManage/components/approvalActionDialog.vue
index cdc9b25..56417d6 100644
--- a/src/views/device/stateManage/components/approvalActionDialog.vue
+++ b/src/views/device/stateManage/components/approvalActionDialog.vue
@@ -1,10 +1,13 @@
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/cancel.vue b/src/views/device/stateManage/components/status/cancel.vue
new file mode 100644
index 0000000..ecb2d0c
--- /dev/null
+++ b/src/views/device/stateManage/components/status/cancel.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/drafts.vue b/src/views/device/stateManage/components/status/drafts.vue
new file mode 100644
index 0000000..226ba21
--- /dev/null
+++ b/src/views/device/stateManage/components/status/drafts.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/inApproval.vue b/src/views/device/stateManage/components/status/inApproval.vue
new file mode 100644
index 0000000..4988595
--- /dev/null
+++ b/src/views/device/stateManage/components/status/inApproval.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/passed.vue b/src/views/device/stateManage/components/status/passed.vue
new file mode 100644
index 0000000..ab87daf
--- /dev/null
+++ b/src/views/device/stateManage/components/status/passed.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/pending.vue b/src/views/device/stateManage/components/status/pending.vue
new file mode 100644
index 0000000..3e0b315
--- /dev/null
+++ b/src/views/device/stateManage/components/status/pending.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/unPassed.vue b/src/views/device/stateManage/components/status/unPassed.vue
new file mode 100644
index 0000000..8de700e
--- /dev/null
+++ b/src/views/device/stateManage/components/status/unPassed.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/templateAdd.vue b/src/views/device/stateManage/components/templateAdd.vue
index 9c4da0f..fc364c8 100644
--- a/src/views/device/stateManage/components/templateAdd.vue
+++ b/src/views/device/stateManage/components/templateAdd.vue
@@ -381,10 +381,10 @@
-
+
diff --git a/src/views/device/stateManage/components/templateList.vue b/src/views/device/stateManage/components/templateList.vue
index 6ee2e8c..aa3963f 100644
--- a/src/views/device/stateManage/components/templateList.vue
+++ b/src/views/device/stateManage/components/templateList.vue
@@ -8,6 +8,10 @@
type: String,
default: '',
},
+ title: {
+ type: String,
+ default: '',
+ },
})
// import { exportFile } from '@/utils/exportUtils'
// const { proxy } = getCurrentInstance() as any
@@ -179,15 +183,23 @@
// 同意
const agree = (row) => {
console.log(approveRef.value)
- approveRef.value.initDialog()
+ approveRef.value.initDialog({
+ radio: '1',
+ })
}
// 驳回
const reject = (row) => {
- approveRef.value.initDialog()
+ approveRef.value.initDialog({
+ radio: '3',
+ })
}
// 拒绝
const refuse = (row) => {
- approveRef.value.initDialog()
+ approveRef.value.initDialog(
+ {
+ radio: '2',
+ },
+ )
}
// 取消
const cancel = (row) => {
diff --git a/src/views/device/stateManage/components/templatePage.vue b/src/views/device/stateManage/components/templatePage.vue
index 5fb0163..fce7685 100644
--- a/src/views/device/stateManage/components/templatePage.vue
+++ b/src/views/device/stateManage/components/templatePage.vue
@@ -1,6 +1,12 @@
- 设备处置申请
+
diff --git a/src/views/device/stateManage/openApply.vue b/src/views/device/stateManage/openApply.vue
index 3c43781..35c2af6 100644
--- a/src/views/device/stateManage/openApply.vue
+++ b/src/views/device/stateManage/openApply.vue
@@ -1,13 +1,14 @@
- 设备启封申请
+
+
diff --git a/src/views/device/stateManage/scrapApply.vue b/src/views/device/stateManage/scrapApply.vue
index 7bd1a98..282ecd8 100644
--- a/src/views/device/stateManage/scrapApply.vue
+++ b/src/views/device/stateManage/scrapApply.vue
@@ -1,10 +1,10 @@
- 设备报废申请
+
diff --git a/src/views/device/stateManage/sealupApply.vue b/src/views/device/stateManage/sealupApply.vue
index ec6320b..1c8544d 100644
--- a/src/views/device/stateManage/sealupApply.vue
+++ b/src/views/device/stateManage/sealupApply.vue
@@ -1,10 +1,10 @@
- 设备封存申请
+
diff --git a/src/views/measure/bench/bench.vue b/src/views/measure/bench/bench.vue
index cb2ebe6..380779a 100644
--- a/src/views/measure/bench/bench.vue
+++ b/src/views/measure/bench/bench.vue
@@ -175,7 +175,7 @@
v-if="proxy.hasPerm('/workbench/meterTrain/line')"
title="培训计划"
width="27.8vw"
- height="40vh"
+ height="40.7vh"
>
+import applyList from './components/applyList.vue'
// 逻辑代码
- 撤销申请
+
diff --git a/src/views/device/standardEquipment/changeApply.vue b/src/views/device/standardEquipment/changeApply.vue
index 0762330..6625970 100644
--- a/src/views/device/standardEquipment/changeApply.vue
+++ b/src/views/device/standardEquipment/changeApply.vue
@@ -1,10 +1,11 @@
-
- 更换申请
+
diff --git a/src/views/device/standardEquipment/checkApply.vue b/src/views/device/standardEquipment/checkApply.vue
index 9cadc01..6625970 100644
--- a/src/views/device/standardEquipment/checkApply.vue
+++ b/src/views/device/standardEquipment/checkApply.vue
@@ -1,10 +1,11 @@
- 复查申请
+
diff --git a/src/views/device/standardEquipment/components/applyList.vue b/src/views/device/standardEquipment/components/applyList.vue
new file mode 100644
index 0000000..45be74a
--- /dev/null
+++ b/src/views/device/standardEquipment/components/applyList.vue
@@ -0,0 +1,65 @@
+
+
+
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/all.vue b/src/views/device/standardEquipment/components/listApply/all.vue
new file mode 100644
index 0000000..d124307
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/all.vue
@@ -0,0 +1,17 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/approvalPending.vue b/src/views/device/standardEquipment/components/listApply/approvalPending.vue
new file mode 100644
index 0000000..8a7a8bc
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/approvalPending.vue
@@ -0,0 +1,16 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/canceled.vue b/src/views/device/standardEquipment/components/listApply/canceled.vue
new file mode 100644
index 0000000..3b9657c
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/canceled.vue
@@ -0,0 +1,15 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/draftBox.vue b/src/views/device/standardEquipment/components/listApply/draftBox.vue
new file mode 100644
index 0000000..43d7b75
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/draftBox.vue
@@ -0,0 +1,15 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue b/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue
new file mode 100644
index 0000000..c13f95a
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue
@@ -0,0 +1,17 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/listPage.vue b/src/views/device/standardEquipment/components/listApply/listPage.vue
new file mode 100644
index 0000000..5133627
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/listPage.vue
@@ -0,0 +1,493 @@
+
+
+
+
+
+
+
+
+
+
+
+ 同意
+
+
+ 驳回
+
+
+ 拒绝
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 提交
+
+
+ 取消
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/listPageAdd.vue b/src/views/device/standardEquipment/components/listApply/listPageAdd.vue
new file mode 100644
index 0000000..eb506ec
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/listPageAdd.vue
@@ -0,0 +1,1021 @@
+
+
+
+
+
+
+ 基本信息
+
+
+
+ {{ item }}
+
+
+ 关闭
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 上传
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 完成
+
+
+
+
+
+
+
+ 同意
+
+
+ 驳回
+
+
+ 拒绝
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 提交
+
+
+ 取消
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/notPass.vue b/src/views/device/standardEquipment/components/listApply/notPass.vue
new file mode 100644
index 0000000..5a4b817
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/notPass.vue
@@ -0,0 +1,10 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/passed.vue b/src/views/device/standardEquipment/components/listApply/passed.vue
new file mode 100644
index 0000000..31cd21c
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/passed.vue
@@ -0,0 +1,10 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/addRow.vue b/src/views/device/standardEquipment/components/standardList/addRow.vue
new file mode 100644
index 0000000..9f2bf81
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/addRow.vue
@@ -0,0 +1,270 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/baseInfo.vue b/src/views/device/standardEquipment/components/standardList/baseInfo.vue
new file mode 100644
index 0000000..c47ad1d
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/baseInfo.vue
@@ -0,0 +1,675 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 上传
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/temptable.vue b/src/views/device/standardEquipment/components/standardList/temptable.vue
new file mode 100644
index 0000000..20eb800
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/temptable.vue
@@ -0,0 +1,387 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ (searchQuery.offset - 1) * searchQuery.limit + scope.$index + 1 }}
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardListAdd.vue b/src/views/device/standardEquipment/components/standardListAdd.vue
index ea13629..348bb41 100644
--- a/src/views/device/standardEquipment/components/standardListAdd.vue
+++ b/src/views/device/standardEquipment/components/standardListAdd.vue
@@ -3,6 +3,8 @@
import { ElMessage, ElMessageBox } from 'element-plus'
import type { FormInstance, UploadProps, UploadUserFile } from 'element-plus'
import type { IOptions } from '../standard_interface'
+import baseInfo from './standardList/baseInfo.vue'
+import table from './standardList/temptable.vue'
import { getStaffList } from '@/api/measure/person'
import { getTypeSelect } from '@/api/system/price'
import { getStandardLisUpdate, getStandardListAdd, getStandardListDetail, getUsersDept } from '@/api/device/standard'
@@ -17,188 +19,35 @@
default: '',
},
})
-const emit = defineEmits(['close']) // 关闭
-const ruleFormRef = ref()
-// 逻辑代码
-const formInline = ref({
- assessDate: '',
- assessmentUnit: '',
- category: null,
- categoryName: '',
- constructionStandardProject: '',
- constructionStandardUnitName: '',
- contactInfo: '',
- createTime: null,
- createUser: null,
- id: '',
- isDel: null,
- laboratoryOwner: null,
- laboratoryOwnerContact: null,
- laboratoryOwnerName: null,
- managerState: null,
- managerStateName: '',
- measureMajor: null,
- fileList: [],
- measureMajorName: '',
- mesureRange: '',
- organizeNo: '',
- preparationDate: '',
- projectNo: '',
- remark: '',
- standardHumidity: null,
- standardLaboratory: null,
- standardLaboratoryName: '',
- standardLevel: null,
- standardLevelName: '',
- standardName: '',
- standardNo: '',
- standardOwner: null,
- standardOwnerName: '',
- standardTemperature: null,
- totalInvestment: null,
- transmitRange: null,
- transmitRangeName: '',
- uncertainty: '',
- updateTime: null,
- version: null,
-})
-const checkTypeOptions = ref([])
-
-const standardOwnerOptions = ref([]) // 标准负责人
-const fileList = ref([]) // 文件对象数组
-const measureMajorList = ref([]) // 计量专业下拉框
-const standardManagerStateList = ref([]) // 管理状态下拉框
-const standardLevelList = ref([]) // 标准等级下拉框
-const transmitRangeList = ref([]) // 传递范围下拉框
-// 标准所在部门下拉框
-const standardUsersDeptList = ref([])
-// 获取下拉框
-const getSelectList = (code: string) => {
- getTypeSelect(code).then((res) => {
- if (code === 'measureMajor') {
- measureMajorList.value = res.data
- }
- else if (code === 'standardManagerState') {
- standardManagerStateList.value = res.data
- }
- else if (code === 'standardLevel') {
- standardLevelList.value = res.data
- }
- else if (code === 'transmitRange') {
- transmitRangeList.value = res.data
- }
- else if (code === 'standardCategory') {
- checkTypeOptions.value = res.data
- }
- })
+const emit = defineEmits(['close'])
+// 定义数据
+const formInline = ref({})
+// 关闭
+interface menuType {
+ name: string
+ comp: any
}
-getSelectList('measureMajor') // 获取计量专业下拉框
-getSelectList('standardManagerState') // 获取管理状态下拉框
-getSelectList('standardLevel') // 获取标准等级下拉框
-getSelectList('transmitRange') // 获取传递范围下拉框
-getSelectList('standardCategory') // 获取类别下拉框
-// 获取部门信息
-getUsersDept({
- createTime: '',
- director: '',
- meterMajor: '',
- organizeName: '',
- organizeNo: '',
- organizeType: '2',
- pdeptId: null,
- offset: 1,
- limit: 999999,
-}).then((res) => {
- standardUsersDeptList.value = res.data.rows
+const menu = shallowRef([
+ { name: '基本信息', comp: baseInfo },
+ { name: '计量人员', comp: table },
+ { name: '标准配套设备', comp: table },
+ { name: '检定规程', comp: table },
+ { name: '重复性考核记录', comp: table },
+ { name: '稳定性考核记录', comp: table },
+ { name: '证书管理', comp: table },
+])
+const currentCompRef = ref()
+const current = ref('基本信息')
+const currentComp = shallowRef(baseInfo)
+watch(current, (newValue) => {
+ currentComp.value = menu.value.filter(item => item.name === newValue)[0].comp
})
-// 获取到标准负责人数组
-const getStandardOwnerOptions = () => {
- const params = {
- staffNo: '', // 人员编号
- name: '', // 姓名
- deptId: '', // 工作部门
- major: '', // 计量专业
- verifierCertificateNo: '', // 证书号
- certificateStatus: '', // 证书状态
- limit: 100000,
- offset: 1,
- }
- getStaffList(params).then((res) => {
- standardOwnerOptions.value = res.data.records
- })
-}
-getStandardOwnerOptions()
// 关闭
const close = () => {
emit('close')
}
-const rules = ref({
- standardName: [{ required: true, message: '标准名称不能为空', trigger: 'blur' }],
- projectNo: [{ required: true, message: '项目编号不能为空', trigger: 'blur' }],
- constructionStandardProject: [{ required: true, message: '建标项目不能为空', trigger: 'blur' }],
- organizeNo: [{ required: true, message: '组织机构代码不能为空', trigger: 'blur' }],
- constructionStandardUnitName: [{ required: true, message: '建标单位名称不能为空', trigger: 'blur' }],
- standardOwner: [{ required: true, message: '标准负责人不能为空', trigger: 'blur' }],
- contactInfo: [{ required: true, message: '联系方式不能为空', trigger: 'blur' }],
- category: [{ required: true, message: '类 别不能为空', trigger: 'blur' }],
- standardLevel: [{ required: true, message: '标准等级不能为空', trigger: 'blur' }],
- transmitRange: [{ required: true, message: '传递范围不能为空', trigger: 'blur' }],
- preparationDate: [{ required: true, message: '筹建日期不能为空', trigger: 'blur' }],
- managerState: [{ required: true, message: '管理状态不能为空', trigger: 'blur' }],
- measureMajor: [{ required: true, message: '计量专业不能为空', trigger: 'blur' }],
- assessmentUnit: [{ required: true, message: '考核单位不能为空', trigger: 'blur' }],
- assessDate: [{ required: true, message: '考核日期不能为空', trigger: 'blur' }],
- uncertainty: [{ required: true, message: '不确定度不能为空', trigger: 'blur' }],
- mesureRange: [{ required: true, message: '测量范围不能为空', trigger: 'blur' }],
- standardTemperature: [{ required: true, message: '标准温度不能为空', trigger: 'blur' },
- { pattern: /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/, message: '标准温度只能为数字', trigger: 'blur' }],
- standardHumidity: [{ required: true, message: '标准湿度不能为空', trigger: 'blur' },
- { pattern: /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/, message: '标准湿度只能为数字', trigger: 'blur' }],
-}) // 表单验证规则
-// 上传请求
-const uploadQuarterlyEvaluateFile = (file: File) => {
- const fd = new FormData()
- fd.append('multipartFile', file.file)
- UploadFile(fd).then((res) => {
- if (res.code === 200) {
- formInline.value.fileList = res.data
- // 重置当前验证
- ElMessage.success('文件上传成功')
- }
- })
-}
-const handleExceed: UploadProps['onExceed'] = (files, uploadFiles) => {
- ElMessage.warning('只能上传一个文件')
-}
-// 移除时触发
-const beforeRemove: UploadProps['beforeRemove'] = (uploadFile, uploadFiles) => {
- return ElMessageBox.confirm(
- `确认移除${uploadFile.name}文件吗 ?`,
- ).then(
- () => true,
- () => false,
-
- )
-}
-// 点击文件预览
-const uploadShow = (e: any) => {
- const URL = window.URL || window.webkitURL
- window.open(URL.createObjectURL(e.raw))
-}
-const testForm = ref({
- fileList: [],
- fileContent: '',
-})
-const handleFileChange = (files: any, fileList: any) => {
- testForm.value.fileList = fileList
- const reader = new FileReader()
- reader.readAsText(files.raw)
- // reader.onload = (e) => {
- // testForm.value.fileContent = e.target!.result?.replace(
- // /\n|\r\n/g,
- // '
',
- // )
- // }
+const setData = (newValue: object) => {
+ formInline.value = newValue
}
// 编辑获取详情的提交按钮
const submitFormDetail = () => {
@@ -223,60 +72,29 @@
}
}
// 提交
-const submitForm = (formEl: FormInstance | undefined) => {
- if (!formEl) { return }
+const submitForm = () => {
if (props.buttonType === '详情') { return submitFormDetail() }
- formEl.validate((valid, fields) => {
- if (valid) {
- ElMessageBox.confirm(
- '确认提交吗?',
- '提示',
- {
- confirmButtonText: '确认',
- cancelButtonText: '取消',
- type: 'warning',
- },
- ).then(() => {
- props.buttonType === ''
- ? getStandardListAdd(formInline.value).then((res) => {
- if (res.code === 200) {
- close()
- }
- })
- : submitFormDetail()
- })
- }
- })
-}
-// 标准实验室发生改变row类型
-interface rowReturn {
- phone: string
- director: string
-}
-// 标准实验室发生改变
-const changeDeptList = (row: object) => {
- formInline.value.laboratoryOwnerContact = row.phone
- formInline.value.laboratoryOwner = row.director
-}
-// 标准实验室清空时
-const clearDeptList = () => {
- formInline.value.laboratoryOwnerContact = null
- formInline.value.laboratoryOwner = null
-}
-// 获取详情信息
-const getInfo = () => {
- getStandardListDetail({ id: props.infoId }).then((res) => {
- Object.keys(res.data).map((item) => {
- if (typeof (res.data[item]) === 'number') {
- res.data[item] = res.data[item].toString()
- }
+ ElMessageBox.confirm(
+ '确认提交吗?',
+ '提示',
+ {
+ confirmButtonText: '确认',
+ cancelButtonText: '取消',
+ type: 'warning',
+ },
+ ).then(() => {
+ current.value = '基本信息'
+ currentCompRef.value.submitForm().validate().then(() => {
+ props.buttonType === ''
+ ? getStandardListAdd(formInline.value).then((res) => {
+ if (res.code === 200) {
+ close()
+ }
+ })
+ : submitFormDetail()
})
- formInline.value = res.data
})
}
-if (props.buttonType !== '') {
- getInfo()
-}
@@ -289,7 +107,7 @@
{{ buttonType === '详情' ? '打印' : '提交' }}
@@ -298,405 +116,17 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 上传
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
@@ -719,14 +149,8 @@
}
}
-.info-content {
- margin-top: 10px;
- padding: 30px;
- border-radius: 10px;
+.body {
background-color: #fff;
-}
-
-:deep .el-input .el-input--default .el-input--suffix {
- width: 200px !important;
+ margin-top: 10px;
}
diff --git a/src/views/device/standardEquipment/expirationRemind.vue b/src/views/device/standardEquipment/expirationRemind.vue
index 35786b2..1826c22 100644
--- a/src/views/device/standardEquipment/expirationRemind.vue
+++ b/src/views/device/standardEquipment/expirationRemind.vue
@@ -26,39 +26,47 @@
text: '标准代码',
value: 'standardNo',
width: '160',
+ align: 'center',
},
{
text: '标准名称',
value: 'standardName',
width: '90',
+ align: 'center',
},
{
text: '管理状态',
value: 'managerStateName',
width: '100',
+ align: 'center',
},
{
text: '标准所在部门',
value: 'standardLaboratoryName',
width: '120',
+ align: 'center',
},
{
text: '负责人',
value: 'standardOwnerName',
+ align: 'center',
},
{
text: '建标项目',
value: 'standardOwnerName',
+ align: 'center',
},
{
text: '筹建日期',
value: 'preparationDate',
width: '160',
+ align: 'center',
},
{
text: '有效日期',
value: 'preparationDate',
width: '160',
+ align: 'center',
},
])
const total = ref(0)
@@ -326,12 +334,8 @@
-
- 导出
-
-
- 打印
-
+
+
- 编辑
+ 详情
- 详情
+ 提醒
+import applyList from './components/applyList.vue'
// 逻辑代码
- 暂停申请
+
diff --git a/src/views/device/standardEquipment/resumeApply.vue b/src/views/device/standardEquipment/resumeApply.vue
index d4a80e8..b5896fc 100644
--- a/src/views/device/standardEquipment/resumeApply.vue
+++ b/src/views/device/standardEquipment/resumeApply.vue
@@ -1,10 +1,11 @@
- 恢复申请
+
diff --git a/src/views/device/standardEquipment/standardList.vue b/src/views/device/standardEquipment/standardList.vue
index 4f1bfdf..348ed71 100644
--- a/src/views/device/standardEquipment/standardList.vue
+++ b/src/views/device/standardEquipment/standardList.vue
@@ -29,50 +29,60 @@
text: '标准代码',
value: 'standardNo',
width: '120',
+ align: 'center',
},
{
text: '标准名称',
value: 'standardName',
width: '90',
+ align: 'center',
},
{
text: '类别',
value: 'categoryName',
width: '80',
+ align: 'center',
},
{
text: '标准等级',
value: 'standardLevelName',
width: '100',
+ align: 'center',
},
{
text: '传递范围',
value: 'transmitRange',
width: '110',
+ align: 'center',
},
{
text: '管理状态',
value: 'managerStateName',
width: '100',
+ align: 'center',
},
{
text: '标准所在部门',
value: 'standardLaboratoryName',
width: '120',
+ align: 'center',
},
{
text: '负责人',
value: 'laboratoryOwner',
+ align: 'center',
},
{
text: '筹建日期',
value: 'preparationDate',
width: '110',
+ align: 'center',
},
{
text: '备注',
value: 'remark',
width: '80',
+ align: 'center',
},
])
const total = ref(0)
@@ -250,6 +260,9 @@
buttonType.value = text
isShow.value = false
}
+const renderHeader = (e: any) => {
+ console.log(e)
+}
@@ -330,19 +343,13 @@
-
- 新建
-
-
- 导出
-
-
- 打印
-
+
+
+
diff --git a/src/views/device/stateManage/components/approvalActionDialog.vue b/src/views/device/stateManage/components/approvalActionDialog.vue
index cdc9b25..56417d6 100644
--- a/src/views/device/stateManage/components/approvalActionDialog.vue
+++ b/src/views/device/stateManage/components/approvalActionDialog.vue
@@ -1,10 +1,13 @@
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/cancel.vue b/src/views/device/stateManage/components/status/cancel.vue
new file mode 100644
index 0000000..ecb2d0c
--- /dev/null
+++ b/src/views/device/stateManage/components/status/cancel.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/drafts.vue b/src/views/device/stateManage/components/status/drafts.vue
new file mode 100644
index 0000000..226ba21
--- /dev/null
+++ b/src/views/device/stateManage/components/status/drafts.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/inApproval.vue b/src/views/device/stateManage/components/status/inApproval.vue
new file mode 100644
index 0000000..4988595
--- /dev/null
+++ b/src/views/device/stateManage/components/status/inApproval.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/passed.vue b/src/views/device/stateManage/components/status/passed.vue
new file mode 100644
index 0000000..ab87daf
--- /dev/null
+++ b/src/views/device/stateManage/components/status/passed.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/pending.vue b/src/views/device/stateManage/components/status/pending.vue
new file mode 100644
index 0000000..3e0b315
--- /dev/null
+++ b/src/views/device/stateManage/components/status/pending.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/unPassed.vue b/src/views/device/stateManage/components/status/unPassed.vue
new file mode 100644
index 0000000..8de700e
--- /dev/null
+++ b/src/views/device/stateManage/components/status/unPassed.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/templateAdd.vue b/src/views/device/stateManage/components/templateAdd.vue
index 9c4da0f..fc364c8 100644
--- a/src/views/device/stateManage/components/templateAdd.vue
+++ b/src/views/device/stateManage/components/templateAdd.vue
@@ -381,10 +381,10 @@
-
+
diff --git a/src/views/device/stateManage/components/templateList.vue b/src/views/device/stateManage/components/templateList.vue
index 6ee2e8c..aa3963f 100644
--- a/src/views/device/stateManage/components/templateList.vue
+++ b/src/views/device/stateManage/components/templateList.vue
@@ -8,6 +8,10 @@
type: String,
default: '',
},
+ title: {
+ type: String,
+ default: '',
+ },
})
// import { exportFile } from '@/utils/exportUtils'
// const { proxy } = getCurrentInstance() as any
@@ -179,15 +183,23 @@
// 同意
const agree = (row) => {
console.log(approveRef.value)
- approveRef.value.initDialog()
+ approveRef.value.initDialog({
+ radio: '1',
+ })
}
// 驳回
const reject = (row) => {
- approveRef.value.initDialog()
+ approveRef.value.initDialog({
+ radio: '3',
+ })
}
// 拒绝
const refuse = (row) => {
- approveRef.value.initDialog()
+ approveRef.value.initDialog(
+ {
+ radio: '2',
+ },
+ )
}
// 取消
const cancel = (row) => {
diff --git a/src/views/device/stateManage/components/templatePage.vue b/src/views/device/stateManage/components/templatePage.vue
index 5fb0163..fce7685 100644
--- a/src/views/device/stateManage/components/templatePage.vue
+++ b/src/views/device/stateManage/components/templatePage.vue
@@ -1,6 +1,12 @@
- 设备处置申请
+
diff --git a/src/views/device/stateManage/openApply.vue b/src/views/device/stateManage/openApply.vue
index 3c43781..35c2af6 100644
--- a/src/views/device/stateManage/openApply.vue
+++ b/src/views/device/stateManage/openApply.vue
@@ -1,13 +1,14 @@
- 设备启封申请
+
+
diff --git a/src/views/device/stateManage/scrapApply.vue b/src/views/device/stateManage/scrapApply.vue
index 7bd1a98..282ecd8 100644
--- a/src/views/device/stateManage/scrapApply.vue
+++ b/src/views/device/stateManage/scrapApply.vue
@@ -1,10 +1,10 @@
- 设备报废申请
+
diff --git a/src/views/device/stateManage/sealupApply.vue b/src/views/device/stateManage/sealupApply.vue
index ec6320b..1c8544d 100644
--- a/src/views/device/stateManage/sealupApply.vue
+++ b/src/views/device/stateManage/sealupApply.vue
@@ -1,10 +1,10 @@
- 设备封存申请
+
diff --git a/src/views/measure/bench/bench.vue b/src/views/measure/bench/bench.vue
index cb2ebe6..380779a 100644
--- a/src/views/measure/bench/bench.vue
+++ b/src/views/measure/bench/bench.vue
@@ -175,7 +175,7 @@
v-if="proxy.hasPerm('/workbench/meterTrain/line')"
title="培训计划"
width="27.8vw"
- height="40vh"
+ height="40.7vh"
>
([])
+const PubListTree = ref([])
// 获取发布单位列表
const getPubList = () => {
getDeptTreeList().then((res) => {
PubList.value = res.data
+ PubListTree.value = toTreeList(res.data, '0', true)
})
}
// 弹窗初始化
@@ -73,7 +80,8 @@
if (row.title === '新建') {
// 默认发布人和发布单位
ruleForm.createUserId = userInfo.$state.id
- ruleForm.publisher = userInfo.$state.deptId
+ ruleForm.publisher = ''
+ ruleForm.publishTime = dayjs().format('YYYY-MM-DD HH:mm:ss')
// 判断有无存储
console.log(sessionStorage.getItem(fileTypeName.value), 'sess')
if (sessionStorage.getItem(fileTypeName.value)) {
@@ -207,11 +215,12 @@
// { name: '已废止', id: '1595030083114450945', value: '3' },
// ])
watch(() => ruleForm.effectiveTime, (newVal) => {
- const diffDat = dayjs(newVal).diff(dayjs().format('YYYY-MM-DD HH:mm:ss'), 'day')
+ const diffDat = dayjs(newVal).diff(dayjs().format('YYYY-MM-DD HH:mm:ss'), 'hour')
+ console.log(diffDat)
if (diffDat < 0) {
// ruleForm.effectiveStatusName = '已废止'
- effectiveStatusName.value = '已废止'
- ruleForm.effectiveStatus = '3'
+ effectiveStatusName.value = '在使用'
+ ruleForm.effectiveStatus = '1'
}
else if (diffDat == 0) {
// ruleForm.effectiveStatusName = '在使用'
@@ -269,15 +278,20 @@
-
+
+
@@ -293,7 +307,7 @@
diff --git a/src/components.d.ts b/src/components.d.ts
index fea7d82..6e85584 100644
--- a/src/components.d.ts
+++ b/src/components.d.ts
@@ -16,6 +16,7 @@
BarChartHorizontal: typeof import('./components/Echart/BarChartHorizontal.vue')['default']
BarChartVertical: typeof import('./components/Echart/BarChartVertical.vue')['default']
BatchActionBar: typeof import('./components/BatchActionBar/index.vue')['default']
+ Benchcol: typeof import('./components/benchcol/index.vue')['default']
BenchCol: typeof import('./components/benchCol/index.vue')['default']
ConditionDrawer: typeof import('./components/drawer/conditionDrawer.vue')['default']
copy: typeof import('./components/DetailPage/index copy.vue')['default']
diff --git a/src/views/device/standardEquipment/cancelApply.vue b/src/views/device/standardEquipment/cancelApply.vue
index c093520..1e50f44 100644
--- a/src/views/device/standardEquipment/cancelApply.vue
+++ b/src/views/device/standardEquipment/cancelApply.vue
@@ -1,10 +1,11 @@
- 撤销申请
+
diff --git a/src/views/device/standardEquipment/changeApply.vue b/src/views/device/standardEquipment/changeApply.vue
index 0762330..6625970 100644
--- a/src/views/device/standardEquipment/changeApply.vue
+++ b/src/views/device/standardEquipment/changeApply.vue
@@ -1,10 +1,11 @@
-
- 更换申请
+
diff --git a/src/views/device/standardEquipment/checkApply.vue b/src/views/device/standardEquipment/checkApply.vue
index 9cadc01..6625970 100644
--- a/src/views/device/standardEquipment/checkApply.vue
+++ b/src/views/device/standardEquipment/checkApply.vue
@@ -1,10 +1,11 @@
- 复查申请
+
diff --git a/src/views/device/standardEquipment/components/applyList.vue b/src/views/device/standardEquipment/components/applyList.vue
new file mode 100644
index 0000000..45be74a
--- /dev/null
+++ b/src/views/device/standardEquipment/components/applyList.vue
@@ -0,0 +1,65 @@
+
+
+
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/all.vue b/src/views/device/standardEquipment/components/listApply/all.vue
new file mode 100644
index 0000000..d124307
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/all.vue
@@ -0,0 +1,17 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/approvalPending.vue b/src/views/device/standardEquipment/components/listApply/approvalPending.vue
new file mode 100644
index 0000000..8a7a8bc
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/approvalPending.vue
@@ -0,0 +1,16 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/canceled.vue b/src/views/device/standardEquipment/components/listApply/canceled.vue
new file mode 100644
index 0000000..3b9657c
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/canceled.vue
@@ -0,0 +1,15 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/draftBox.vue b/src/views/device/standardEquipment/components/listApply/draftBox.vue
new file mode 100644
index 0000000..43d7b75
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/draftBox.vue
@@ -0,0 +1,15 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue b/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue
new file mode 100644
index 0000000..c13f95a
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue
@@ -0,0 +1,17 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/listPage.vue b/src/views/device/standardEquipment/components/listApply/listPage.vue
new file mode 100644
index 0000000..5133627
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/listPage.vue
@@ -0,0 +1,493 @@
+
+
+
+
+
+
+
+
+
+
+
+ 同意
+
+
+ 驳回
+
+
+ 拒绝
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 提交
+
+
+ 取消
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/listPageAdd.vue b/src/views/device/standardEquipment/components/listApply/listPageAdd.vue
new file mode 100644
index 0000000..eb506ec
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/listPageAdd.vue
@@ -0,0 +1,1021 @@
+
+
+
+
+
+
+ 基本信息
+
+
+
+ {{ item }}
+
+
+ 关闭
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 上传
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 完成
+
+
+
+
+
+
+
+ 同意
+
+
+ 驳回
+
+
+ 拒绝
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 提交
+
+
+ 取消
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/notPass.vue b/src/views/device/standardEquipment/components/listApply/notPass.vue
new file mode 100644
index 0000000..5a4b817
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/notPass.vue
@@ -0,0 +1,10 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/passed.vue b/src/views/device/standardEquipment/components/listApply/passed.vue
new file mode 100644
index 0000000..31cd21c
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/passed.vue
@@ -0,0 +1,10 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/addRow.vue b/src/views/device/standardEquipment/components/standardList/addRow.vue
new file mode 100644
index 0000000..9f2bf81
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/addRow.vue
@@ -0,0 +1,270 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/baseInfo.vue b/src/views/device/standardEquipment/components/standardList/baseInfo.vue
new file mode 100644
index 0000000..c47ad1d
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/baseInfo.vue
@@ -0,0 +1,675 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 上传
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/temptable.vue b/src/views/device/standardEquipment/components/standardList/temptable.vue
new file mode 100644
index 0000000..20eb800
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/temptable.vue
@@ -0,0 +1,387 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ (searchQuery.offset - 1) * searchQuery.limit + scope.$index + 1 }}
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardListAdd.vue b/src/views/device/standardEquipment/components/standardListAdd.vue
index ea13629..348bb41 100644
--- a/src/views/device/standardEquipment/components/standardListAdd.vue
+++ b/src/views/device/standardEquipment/components/standardListAdd.vue
@@ -3,6 +3,8 @@
import { ElMessage, ElMessageBox } from 'element-plus'
import type { FormInstance, UploadProps, UploadUserFile } from 'element-plus'
import type { IOptions } from '../standard_interface'
+import baseInfo from './standardList/baseInfo.vue'
+import table from './standardList/temptable.vue'
import { getStaffList } from '@/api/measure/person'
import { getTypeSelect } from '@/api/system/price'
import { getStandardLisUpdate, getStandardListAdd, getStandardListDetail, getUsersDept } from '@/api/device/standard'
@@ -17,188 +19,35 @@
default: '',
},
})
-const emit = defineEmits(['close']) // 关闭
-const ruleFormRef = ref()
-// 逻辑代码
-const formInline = ref({
- assessDate: '',
- assessmentUnit: '',
- category: null,
- categoryName: '',
- constructionStandardProject: '',
- constructionStandardUnitName: '',
- contactInfo: '',
- createTime: null,
- createUser: null,
- id: '',
- isDel: null,
- laboratoryOwner: null,
- laboratoryOwnerContact: null,
- laboratoryOwnerName: null,
- managerState: null,
- managerStateName: '',
- measureMajor: null,
- fileList: [],
- measureMajorName: '',
- mesureRange: '',
- organizeNo: '',
- preparationDate: '',
- projectNo: '',
- remark: '',
- standardHumidity: null,
- standardLaboratory: null,
- standardLaboratoryName: '',
- standardLevel: null,
- standardLevelName: '',
- standardName: '',
- standardNo: '',
- standardOwner: null,
- standardOwnerName: '',
- standardTemperature: null,
- totalInvestment: null,
- transmitRange: null,
- transmitRangeName: '',
- uncertainty: '',
- updateTime: null,
- version: null,
-})
-const checkTypeOptions = ref([])
-
-const standardOwnerOptions = ref([]) // 标准负责人
-const fileList = ref([]) // 文件对象数组
-const measureMajorList = ref([]) // 计量专业下拉框
-const standardManagerStateList = ref([]) // 管理状态下拉框
-const standardLevelList = ref([]) // 标准等级下拉框
-const transmitRangeList = ref([]) // 传递范围下拉框
-// 标准所在部门下拉框
-const standardUsersDeptList = ref([])
-// 获取下拉框
-const getSelectList = (code: string) => {
- getTypeSelect(code).then((res) => {
- if (code === 'measureMajor') {
- measureMajorList.value = res.data
- }
- else if (code === 'standardManagerState') {
- standardManagerStateList.value = res.data
- }
- else if (code === 'standardLevel') {
- standardLevelList.value = res.data
- }
- else if (code === 'transmitRange') {
- transmitRangeList.value = res.data
- }
- else if (code === 'standardCategory') {
- checkTypeOptions.value = res.data
- }
- })
+const emit = defineEmits(['close'])
+// 定义数据
+const formInline = ref({})
+// 关闭
+interface menuType {
+ name: string
+ comp: any
}
-getSelectList('measureMajor') // 获取计量专业下拉框
-getSelectList('standardManagerState') // 获取管理状态下拉框
-getSelectList('standardLevel') // 获取标准等级下拉框
-getSelectList('transmitRange') // 获取传递范围下拉框
-getSelectList('standardCategory') // 获取类别下拉框
-// 获取部门信息
-getUsersDept({
- createTime: '',
- director: '',
- meterMajor: '',
- organizeName: '',
- organizeNo: '',
- organizeType: '2',
- pdeptId: null,
- offset: 1,
- limit: 999999,
-}).then((res) => {
- standardUsersDeptList.value = res.data.rows
+const menu = shallowRef([
+ { name: '基本信息', comp: baseInfo },
+ { name: '计量人员', comp: table },
+ { name: '标准配套设备', comp: table },
+ { name: '检定规程', comp: table },
+ { name: '重复性考核记录', comp: table },
+ { name: '稳定性考核记录', comp: table },
+ { name: '证书管理', comp: table },
+])
+const currentCompRef = ref()
+const current = ref('基本信息')
+const currentComp = shallowRef(baseInfo)
+watch(current, (newValue) => {
+ currentComp.value = menu.value.filter(item => item.name === newValue)[0].comp
})
-// 获取到标准负责人数组
-const getStandardOwnerOptions = () => {
- const params = {
- staffNo: '', // 人员编号
- name: '', // 姓名
- deptId: '', // 工作部门
- major: '', // 计量专业
- verifierCertificateNo: '', // 证书号
- certificateStatus: '', // 证书状态
- limit: 100000,
- offset: 1,
- }
- getStaffList(params).then((res) => {
- standardOwnerOptions.value = res.data.records
- })
-}
-getStandardOwnerOptions()
// 关闭
const close = () => {
emit('close')
}
-const rules = ref({
- standardName: [{ required: true, message: '标准名称不能为空', trigger: 'blur' }],
- projectNo: [{ required: true, message: '项目编号不能为空', trigger: 'blur' }],
- constructionStandardProject: [{ required: true, message: '建标项目不能为空', trigger: 'blur' }],
- organizeNo: [{ required: true, message: '组织机构代码不能为空', trigger: 'blur' }],
- constructionStandardUnitName: [{ required: true, message: '建标单位名称不能为空', trigger: 'blur' }],
- standardOwner: [{ required: true, message: '标准负责人不能为空', trigger: 'blur' }],
- contactInfo: [{ required: true, message: '联系方式不能为空', trigger: 'blur' }],
- category: [{ required: true, message: '类 别不能为空', trigger: 'blur' }],
- standardLevel: [{ required: true, message: '标准等级不能为空', trigger: 'blur' }],
- transmitRange: [{ required: true, message: '传递范围不能为空', trigger: 'blur' }],
- preparationDate: [{ required: true, message: '筹建日期不能为空', trigger: 'blur' }],
- managerState: [{ required: true, message: '管理状态不能为空', trigger: 'blur' }],
- measureMajor: [{ required: true, message: '计量专业不能为空', trigger: 'blur' }],
- assessmentUnit: [{ required: true, message: '考核单位不能为空', trigger: 'blur' }],
- assessDate: [{ required: true, message: '考核日期不能为空', trigger: 'blur' }],
- uncertainty: [{ required: true, message: '不确定度不能为空', trigger: 'blur' }],
- mesureRange: [{ required: true, message: '测量范围不能为空', trigger: 'blur' }],
- standardTemperature: [{ required: true, message: '标准温度不能为空', trigger: 'blur' },
- { pattern: /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/, message: '标准温度只能为数字', trigger: 'blur' }],
- standardHumidity: [{ required: true, message: '标准湿度不能为空', trigger: 'blur' },
- { pattern: /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/, message: '标准湿度只能为数字', trigger: 'blur' }],
-}) // 表单验证规则
-// 上传请求
-const uploadQuarterlyEvaluateFile = (file: File) => {
- const fd = new FormData()
- fd.append('multipartFile', file.file)
- UploadFile(fd).then((res) => {
- if (res.code === 200) {
- formInline.value.fileList = res.data
- // 重置当前验证
- ElMessage.success('文件上传成功')
- }
- })
-}
-const handleExceed: UploadProps['onExceed'] = (files, uploadFiles) => {
- ElMessage.warning('只能上传一个文件')
-}
-// 移除时触发
-const beforeRemove: UploadProps['beforeRemove'] = (uploadFile, uploadFiles) => {
- return ElMessageBox.confirm(
- `确认移除${uploadFile.name}文件吗 ?`,
- ).then(
- () => true,
- () => false,
-
- )
-}
-// 点击文件预览
-const uploadShow = (e: any) => {
- const URL = window.URL || window.webkitURL
- window.open(URL.createObjectURL(e.raw))
-}
-const testForm = ref({
- fileList: [],
- fileContent: '',
-})
-const handleFileChange = (files: any, fileList: any) => {
- testForm.value.fileList = fileList
- const reader = new FileReader()
- reader.readAsText(files.raw)
- // reader.onload = (e) => {
- // testForm.value.fileContent = e.target!.result?.replace(
- // /\n|\r\n/g,
- // '
',
- // )
- // }
+const setData = (newValue: object) => {
+ formInline.value = newValue
}
// 编辑获取详情的提交按钮
const submitFormDetail = () => {
@@ -223,60 +72,29 @@
}
}
// 提交
-const submitForm = (formEl: FormInstance | undefined) => {
- if (!formEl) { return }
+const submitForm = () => {
if (props.buttonType === '详情') { return submitFormDetail() }
- formEl.validate((valid, fields) => {
- if (valid) {
- ElMessageBox.confirm(
- '确认提交吗?',
- '提示',
- {
- confirmButtonText: '确认',
- cancelButtonText: '取消',
- type: 'warning',
- },
- ).then(() => {
- props.buttonType === ''
- ? getStandardListAdd(formInline.value).then((res) => {
- if (res.code === 200) {
- close()
- }
- })
- : submitFormDetail()
- })
- }
- })
-}
-// 标准实验室发生改变row类型
-interface rowReturn {
- phone: string
- director: string
-}
-// 标准实验室发生改变
-const changeDeptList = (row: object) => {
- formInline.value.laboratoryOwnerContact = row.phone
- formInline.value.laboratoryOwner = row.director
-}
-// 标准实验室清空时
-const clearDeptList = () => {
- formInline.value.laboratoryOwnerContact = null
- formInline.value.laboratoryOwner = null
-}
-// 获取详情信息
-const getInfo = () => {
- getStandardListDetail({ id: props.infoId }).then((res) => {
- Object.keys(res.data).map((item) => {
- if (typeof (res.data[item]) === 'number') {
- res.data[item] = res.data[item].toString()
- }
+ ElMessageBox.confirm(
+ '确认提交吗?',
+ '提示',
+ {
+ confirmButtonText: '确认',
+ cancelButtonText: '取消',
+ type: 'warning',
+ },
+ ).then(() => {
+ current.value = '基本信息'
+ currentCompRef.value.submitForm().validate().then(() => {
+ props.buttonType === ''
+ ? getStandardListAdd(formInline.value).then((res) => {
+ if (res.code === 200) {
+ close()
+ }
+ })
+ : submitFormDetail()
})
- formInline.value = res.data
})
}
-if (props.buttonType !== '') {
- getInfo()
-}
@@ -289,7 +107,7 @@
{{ buttonType === '详情' ? '打印' : '提交' }}
@@ -298,405 +116,17 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 上传
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
@@ -719,14 +149,8 @@
}
}
-.info-content {
- margin-top: 10px;
- padding: 30px;
- border-radius: 10px;
+.body {
background-color: #fff;
-}
-
-:deep .el-input .el-input--default .el-input--suffix {
- width: 200px !important;
+ margin-top: 10px;
}
diff --git a/src/views/device/standardEquipment/expirationRemind.vue b/src/views/device/standardEquipment/expirationRemind.vue
index 35786b2..1826c22 100644
--- a/src/views/device/standardEquipment/expirationRemind.vue
+++ b/src/views/device/standardEquipment/expirationRemind.vue
@@ -26,39 +26,47 @@
text: '标准代码',
value: 'standardNo',
width: '160',
+ align: 'center',
},
{
text: '标准名称',
value: 'standardName',
width: '90',
+ align: 'center',
},
{
text: '管理状态',
value: 'managerStateName',
width: '100',
+ align: 'center',
},
{
text: '标准所在部门',
value: 'standardLaboratoryName',
width: '120',
+ align: 'center',
},
{
text: '负责人',
value: 'standardOwnerName',
+ align: 'center',
},
{
text: '建标项目',
value: 'standardOwnerName',
+ align: 'center',
},
{
text: '筹建日期',
value: 'preparationDate',
width: '160',
+ align: 'center',
},
{
text: '有效日期',
value: 'preparationDate',
width: '160',
+ align: 'center',
},
])
const total = ref(0)
@@ -326,12 +334,8 @@
-
- 导出
-
-
- 打印
-
+
+
- 编辑
+ 详情
- 详情
+ 提醒
+import applyList from './components/applyList.vue'
// 逻辑代码
- 暂停申请
+
diff --git a/src/views/device/standardEquipment/resumeApply.vue b/src/views/device/standardEquipment/resumeApply.vue
index d4a80e8..b5896fc 100644
--- a/src/views/device/standardEquipment/resumeApply.vue
+++ b/src/views/device/standardEquipment/resumeApply.vue
@@ -1,10 +1,11 @@
- 恢复申请
+
diff --git a/src/views/device/standardEquipment/standardList.vue b/src/views/device/standardEquipment/standardList.vue
index 4f1bfdf..348ed71 100644
--- a/src/views/device/standardEquipment/standardList.vue
+++ b/src/views/device/standardEquipment/standardList.vue
@@ -29,50 +29,60 @@
text: '标准代码',
value: 'standardNo',
width: '120',
+ align: 'center',
},
{
text: '标准名称',
value: 'standardName',
width: '90',
+ align: 'center',
},
{
text: '类别',
value: 'categoryName',
width: '80',
+ align: 'center',
},
{
text: '标准等级',
value: 'standardLevelName',
width: '100',
+ align: 'center',
},
{
text: '传递范围',
value: 'transmitRange',
width: '110',
+ align: 'center',
},
{
text: '管理状态',
value: 'managerStateName',
width: '100',
+ align: 'center',
},
{
text: '标准所在部门',
value: 'standardLaboratoryName',
width: '120',
+ align: 'center',
},
{
text: '负责人',
value: 'laboratoryOwner',
+ align: 'center',
},
{
text: '筹建日期',
value: 'preparationDate',
width: '110',
+ align: 'center',
},
{
text: '备注',
value: 'remark',
width: '80',
+ align: 'center',
},
])
const total = ref(0)
@@ -250,6 +260,9 @@
buttonType.value = text
isShow.value = false
}
+const renderHeader = (e: any) => {
+ console.log(e)
+}
@@ -330,19 +343,13 @@
-
- 新建
-
-
- 导出
-
-
- 打印
-
+
+
+
diff --git a/src/views/device/stateManage/components/approvalActionDialog.vue b/src/views/device/stateManage/components/approvalActionDialog.vue
index cdc9b25..56417d6 100644
--- a/src/views/device/stateManage/components/approvalActionDialog.vue
+++ b/src/views/device/stateManage/components/approvalActionDialog.vue
@@ -1,10 +1,13 @@
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/cancel.vue b/src/views/device/stateManage/components/status/cancel.vue
new file mode 100644
index 0000000..ecb2d0c
--- /dev/null
+++ b/src/views/device/stateManage/components/status/cancel.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/drafts.vue b/src/views/device/stateManage/components/status/drafts.vue
new file mode 100644
index 0000000..226ba21
--- /dev/null
+++ b/src/views/device/stateManage/components/status/drafts.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/inApproval.vue b/src/views/device/stateManage/components/status/inApproval.vue
new file mode 100644
index 0000000..4988595
--- /dev/null
+++ b/src/views/device/stateManage/components/status/inApproval.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/passed.vue b/src/views/device/stateManage/components/status/passed.vue
new file mode 100644
index 0000000..ab87daf
--- /dev/null
+++ b/src/views/device/stateManage/components/status/passed.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/pending.vue b/src/views/device/stateManage/components/status/pending.vue
new file mode 100644
index 0000000..3e0b315
--- /dev/null
+++ b/src/views/device/stateManage/components/status/pending.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/unPassed.vue b/src/views/device/stateManage/components/status/unPassed.vue
new file mode 100644
index 0000000..8de700e
--- /dev/null
+++ b/src/views/device/stateManage/components/status/unPassed.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/templateAdd.vue b/src/views/device/stateManage/components/templateAdd.vue
index 9c4da0f..fc364c8 100644
--- a/src/views/device/stateManage/components/templateAdd.vue
+++ b/src/views/device/stateManage/components/templateAdd.vue
@@ -381,10 +381,10 @@
-
+
diff --git a/src/views/device/stateManage/components/templateList.vue b/src/views/device/stateManage/components/templateList.vue
index 6ee2e8c..aa3963f 100644
--- a/src/views/device/stateManage/components/templateList.vue
+++ b/src/views/device/stateManage/components/templateList.vue
@@ -8,6 +8,10 @@
type: String,
default: '',
},
+ title: {
+ type: String,
+ default: '',
+ },
})
// import { exportFile } from '@/utils/exportUtils'
// const { proxy } = getCurrentInstance() as any
@@ -179,15 +183,23 @@
// 同意
const agree = (row) => {
console.log(approveRef.value)
- approveRef.value.initDialog()
+ approveRef.value.initDialog({
+ radio: '1',
+ })
}
// 驳回
const reject = (row) => {
- approveRef.value.initDialog()
+ approveRef.value.initDialog({
+ radio: '3',
+ })
}
// 拒绝
const refuse = (row) => {
- approveRef.value.initDialog()
+ approveRef.value.initDialog(
+ {
+ radio: '2',
+ },
+ )
}
// 取消
const cancel = (row) => {
diff --git a/src/views/device/stateManage/components/templatePage.vue b/src/views/device/stateManage/components/templatePage.vue
index 5fb0163..fce7685 100644
--- a/src/views/device/stateManage/components/templatePage.vue
+++ b/src/views/device/stateManage/components/templatePage.vue
@@ -1,6 +1,12 @@
- 设备处置申请
+
diff --git a/src/views/device/stateManage/openApply.vue b/src/views/device/stateManage/openApply.vue
index 3c43781..35c2af6 100644
--- a/src/views/device/stateManage/openApply.vue
+++ b/src/views/device/stateManage/openApply.vue
@@ -1,13 +1,14 @@
- 设备启封申请
+
+
diff --git a/src/views/device/stateManage/scrapApply.vue b/src/views/device/stateManage/scrapApply.vue
index 7bd1a98..282ecd8 100644
--- a/src/views/device/stateManage/scrapApply.vue
+++ b/src/views/device/stateManage/scrapApply.vue
@@ -1,10 +1,10 @@
- 设备报废申请
+
diff --git a/src/views/device/stateManage/sealupApply.vue b/src/views/device/stateManage/sealupApply.vue
index ec6320b..1c8544d 100644
--- a/src/views/device/stateManage/sealupApply.vue
+++ b/src/views/device/stateManage/sealupApply.vue
@@ -1,10 +1,10 @@
- 设备封存申请
+
diff --git a/src/views/measure/bench/bench.vue b/src/views/measure/bench/bench.vue
index cb2ebe6..380779a 100644
--- a/src/views/measure/bench/bench.vue
+++ b/src/views/measure/bench/bench.vue
@@ -175,7 +175,7 @@
v-if="proxy.hasPerm('/workbench/meterTrain/line')"
title="培训计划"
width="27.8vw"
- height="40vh"
+ height="40.7vh"
>
([])
+const PubListTree = ref([])
// 获取发布单位列表
const getPubList = () => {
getDeptTreeList().then((res) => {
PubList.value = res.data
+ PubListTree.value = toTreeList(res.data, '0', true)
})
}
// 弹窗初始化
@@ -73,7 +80,8 @@
if (row.title === '新建') {
// 默认发布人和发布单位
ruleForm.createUserId = userInfo.$state.id
- ruleForm.publisher = userInfo.$state.deptId
+ ruleForm.publisher = ''
+ ruleForm.publishTime = dayjs().format('YYYY-MM-DD HH:mm:ss')
// 判断有无存储
console.log(sessionStorage.getItem(fileTypeName.value), 'sess')
if (sessionStorage.getItem(fileTypeName.value)) {
@@ -207,11 +215,12 @@
// { name: '已废止', id: '1595030083114450945', value: '3' },
// ])
watch(() => ruleForm.effectiveTime, (newVal) => {
- const diffDat = dayjs(newVal).diff(dayjs().format('YYYY-MM-DD HH:mm:ss'), 'day')
+ const diffDat = dayjs(newVal).diff(dayjs().format('YYYY-MM-DD HH:mm:ss'), 'hour')
+ console.log(diffDat)
if (diffDat < 0) {
// ruleForm.effectiveStatusName = '已废止'
- effectiveStatusName.value = '已废止'
- ruleForm.effectiveStatus = '3'
+ effectiveStatusName.value = '在使用'
+ ruleForm.effectiveStatus = '1'
}
else if (diffDat == 0) {
// ruleForm.effectiveStatusName = '在使用'
@@ -269,15 +278,20 @@
-
+
+
@@ -293,7 +307,7 @@
diff --git a/src/views/measure/person/certificateLog.vue b/src/views/measure/person/certificateLog.vue
index ca26b00..2e3322a 100644
--- a/src/views/measure/person/certificateLog.vue
+++ b/src/views/measure/person/certificateLog.vue
@@ -32,13 +32,13 @@
const loadingTable = ref(false) // 表格loading
const total = ref(0) // 数据总条数
const columns = ref([
- { text: '人员编号', value: 'staffNo', align: 'center', width: '150' },
+ { text: '人员编号', value: 'staffNo', align: 'center', width: '180' },
{ text: '姓名', value: 'name', align: 'center', width: '80' },
{ text: '性别', value: 'sex', align: 'center', width: '55' },
{ text: '工作部门', value: 'deptId', align: 'center', width: '140' },
{ text: '技术职务', value: 'technologyJob', align: 'center', width: '120' },
{ text: '行政职务', value: 'administrationJob', align: 'center', width: '90' },
- { text: '证书号', value: 'certificateNo', align: 'center', width: '150' },
+ { text: '证书号', value: 'certificateNo', align: 'center' },
{ text: '发证单位', value: 'certificateCompany', align: 'center', width: '90' },
{ text: '发证日期', value: 'certificateDate', align: 'center', width: '200' },
{ text: '证书有效日期', value: 'certificateDate', align: 'center', width: '200' },
diff --git a/src/components.d.ts b/src/components.d.ts
index fea7d82..6e85584 100644
--- a/src/components.d.ts
+++ b/src/components.d.ts
@@ -16,6 +16,7 @@
BarChartHorizontal: typeof import('./components/Echart/BarChartHorizontal.vue')['default']
BarChartVertical: typeof import('./components/Echart/BarChartVertical.vue')['default']
BatchActionBar: typeof import('./components/BatchActionBar/index.vue')['default']
+ Benchcol: typeof import('./components/benchcol/index.vue')['default']
BenchCol: typeof import('./components/benchCol/index.vue')['default']
ConditionDrawer: typeof import('./components/drawer/conditionDrawer.vue')['default']
copy: typeof import('./components/DetailPage/index copy.vue')['default']
diff --git a/src/views/device/standardEquipment/cancelApply.vue b/src/views/device/standardEquipment/cancelApply.vue
index c093520..1e50f44 100644
--- a/src/views/device/standardEquipment/cancelApply.vue
+++ b/src/views/device/standardEquipment/cancelApply.vue
@@ -1,10 +1,11 @@
- 撤销申请
+
diff --git a/src/views/device/standardEquipment/changeApply.vue b/src/views/device/standardEquipment/changeApply.vue
index 0762330..6625970 100644
--- a/src/views/device/standardEquipment/changeApply.vue
+++ b/src/views/device/standardEquipment/changeApply.vue
@@ -1,10 +1,11 @@
-
- 更换申请
+
diff --git a/src/views/device/standardEquipment/checkApply.vue b/src/views/device/standardEquipment/checkApply.vue
index 9cadc01..6625970 100644
--- a/src/views/device/standardEquipment/checkApply.vue
+++ b/src/views/device/standardEquipment/checkApply.vue
@@ -1,10 +1,11 @@
- 复查申请
+
diff --git a/src/views/device/standardEquipment/components/applyList.vue b/src/views/device/standardEquipment/components/applyList.vue
new file mode 100644
index 0000000..45be74a
--- /dev/null
+++ b/src/views/device/standardEquipment/components/applyList.vue
@@ -0,0 +1,65 @@
+
+
+
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/all.vue b/src/views/device/standardEquipment/components/listApply/all.vue
new file mode 100644
index 0000000..d124307
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/all.vue
@@ -0,0 +1,17 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/approvalPending.vue b/src/views/device/standardEquipment/components/listApply/approvalPending.vue
new file mode 100644
index 0000000..8a7a8bc
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/approvalPending.vue
@@ -0,0 +1,16 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/canceled.vue b/src/views/device/standardEquipment/components/listApply/canceled.vue
new file mode 100644
index 0000000..3b9657c
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/canceled.vue
@@ -0,0 +1,15 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/draftBox.vue b/src/views/device/standardEquipment/components/listApply/draftBox.vue
new file mode 100644
index 0000000..43d7b75
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/draftBox.vue
@@ -0,0 +1,15 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue b/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue
new file mode 100644
index 0000000..c13f95a
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue
@@ -0,0 +1,17 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/listPage.vue b/src/views/device/standardEquipment/components/listApply/listPage.vue
new file mode 100644
index 0000000..5133627
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/listPage.vue
@@ -0,0 +1,493 @@
+
+
+
+
+
+
+
+
+
+
+
+ 同意
+
+
+ 驳回
+
+
+ 拒绝
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 提交
+
+
+ 取消
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/listPageAdd.vue b/src/views/device/standardEquipment/components/listApply/listPageAdd.vue
new file mode 100644
index 0000000..eb506ec
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/listPageAdd.vue
@@ -0,0 +1,1021 @@
+
+
+
+
+
+
+ 基本信息
+
+
+
+ {{ item }}
+
+
+ 关闭
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 上传
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 完成
+
+
+
+
+
+
+
+ 同意
+
+
+ 驳回
+
+
+ 拒绝
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 提交
+
+
+ 取消
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/notPass.vue b/src/views/device/standardEquipment/components/listApply/notPass.vue
new file mode 100644
index 0000000..5a4b817
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/notPass.vue
@@ -0,0 +1,10 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/passed.vue b/src/views/device/standardEquipment/components/listApply/passed.vue
new file mode 100644
index 0000000..31cd21c
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/passed.vue
@@ -0,0 +1,10 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/addRow.vue b/src/views/device/standardEquipment/components/standardList/addRow.vue
new file mode 100644
index 0000000..9f2bf81
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/addRow.vue
@@ -0,0 +1,270 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/baseInfo.vue b/src/views/device/standardEquipment/components/standardList/baseInfo.vue
new file mode 100644
index 0000000..c47ad1d
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/baseInfo.vue
@@ -0,0 +1,675 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 上传
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/temptable.vue b/src/views/device/standardEquipment/components/standardList/temptable.vue
new file mode 100644
index 0000000..20eb800
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/temptable.vue
@@ -0,0 +1,387 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ (searchQuery.offset - 1) * searchQuery.limit + scope.$index + 1 }}
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardListAdd.vue b/src/views/device/standardEquipment/components/standardListAdd.vue
index ea13629..348bb41 100644
--- a/src/views/device/standardEquipment/components/standardListAdd.vue
+++ b/src/views/device/standardEquipment/components/standardListAdd.vue
@@ -3,6 +3,8 @@
import { ElMessage, ElMessageBox } from 'element-plus'
import type { FormInstance, UploadProps, UploadUserFile } from 'element-plus'
import type { IOptions } from '../standard_interface'
+import baseInfo from './standardList/baseInfo.vue'
+import table from './standardList/temptable.vue'
import { getStaffList } from '@/api/measure/person'
import { getTypeSelect } from '@/api/system/price'
import { getStandardLisUpdate, getStandardListAdd, getStandardListDetail, getUsersDept } from '@/api/device/standard'
@@ -17,188 +19,35 @@
default: '',
},
})
-const emit = defineEmits(['close']) // 关闭
-const ruleFormRef = ref()
-// 逻辑代码
-const formInline = ref({
- assessDate: '',
- assessmentUnit: '',
- category: null,
- categoryName: '',
- constructionStandardProject: '',
- constructionStandardUnitName: '',
- contactInfo: '',
- createTime: null,
- createUser: null,
- id: '',
- isDel: null,
- laboratoryOwner: null,
- laboratoryOwnerContact: null,
- laboratoryOwnerName: null,
- managerState: null,
- managerStateName: '',
- measureMajor: null,
- fileList: [],
- measureMajorName: '',
- mesureRange: '',
- organizeNo: '',
- preparationDate: '',
- projectNo: '',
- remark: '',
- standardHumidity: null,
- standardLaboratory: null,
- standardLaboratoryName: '',
- standardLevel: null,
- standardLevelName: '',
- standardName: '',
- standardNo: '',
- standardOwner: null,
- standardOwnerName: '',
- standardTemperature: null,
- totalInvestment: null,
- transmitRange: null,
- transmitRangeName: '',
- uncertainty: '',
- updateTime: null,
- version: null,
-})
-const checkTypeOptions = ref([])
-
-const standardOwnerOptions = ref([]) // 标准负责人
-const fileList = ref([]) // 文件对象数组
-const measureMajorList = ref([]) // 计量专业下拉框
-const standardManagerStateList = ref([]) // 管理状态下拉框
-const standardLevelList = ref([]) // 标准等级下拉框
-const transmitRangeList = ref([]) // 传递范围下拉框
-// 标准所在部门下拉框
-const standardUsersDeptList = ref([])
-// 获取下拉框
-const getSelectList = (code: string) => {
- getTypeSelect(code).then((res) => {
- if (code === 'measureMajor') {
- measureMajorList.value = res.data
- }
- else if (code === 'standardManagerState') {
- standardManagerStateList.value = res.data
- }
- else if (code === 'standardLevel') {
- standardLevelList.value = res.data
- }
- else if (code === 'transmitRange') {
- transmitRangeList.value = res.data
- }
- else if (code === 'standardCategory') {
- checkTypeOptions.value = res.data
- }
- })
+const emit = defineEmits(['close'])
+// 定义数据
+const formInline = ref({})
+// 关闭
+interface menuType {
+ name: string
+ comp: any
}
-getSelectList('measureMajor') // 获取计量专业下拉框
-getSelectList('standardManagerState') // 获取管理状态下拉框
-getSelectList('standardLevel') // 获取标准等级下拉框
-getSelectList('transmitRange') // 获取传递范围下拉框
-getSelectList('standardCategory') // 获取类别下拉框
-// 获取部门信息
-getUsersDept({
- createTime: '',
- director: '',
- meterMajor: '',
- organizeName: '',
- organizeNo: '',
- organizeType: '2',
- pdeptId: null,
- offset: 1,
- limit: 999999,
-}).then((res) => {
- standardUsersDeptList.value = res.data.rows
+const menu = shallowRef([
+ { name: '基本信息', comp: baseInfo },
+ { name: '计量人员', comp: table },
+ { name: '标准配套设备', comp: table },
+ { name: '检定规程', comp: table },
+ { name: '重复性考核记录', comp: table },
+ { name: '稳定性考核记录', comp: table },
+ { name: '证书管理', comp: table },
+])
+const currentCompRef = ref()
+const current = ref('基本信息')
+const currentComp = shallowRef(baseInfo)
+watch(current, (newValue) => {
+ currentComp.value = menu.value.filter(item => item.name === newValue)[0].comp
})
-// 获取到标准负责人数组
-const getStandardOwnerOptions = () => {
- const params = {
- staffNo: '', // 人员编号
- name: '', // 姓名
- deptId: '', // 工作部门
- major: '', // 计量专业
- verifierCertificateNo: '', // 证书号
- certificateStatus: '', // 证书状态
- limit: 100000,
- offset: 1,
- }
- getStaffList(params).then((res) => {
- standardOwnerOptions.value = res.data.records
- })
-}
-getStandardOwnerOptions()
// 关闭
const close = () => {
emit('close')
}
-const rules = ref({
- standardName: [{ required: true, message: '标准名称不能为空', trigger: 'blur' }],
- projectNo: [{ required: true, message: '项目编号不能为空', trigger: 'blur' }],
- constructionStandardProject: [{ required: true, message: '建标项目不能为空', trigger: 'blur' }],
- organizeNo: [{ required: true, message: '组织机构代码不能为空', trigger: 'blur' }],
- constructionStandardUnitName: [{ required: true, message: '建标单位名称不能为空', trigger: 'blur' }],
- standardOwner: [{ required: true, message: '标准负责人不能为空', trigger: 'blur' }],
- contactInfo: [{ required: true, message: '联系方式不能为空', trigger: 'blur' }],
- category: [{ required: true, message: '类 别不能为空', trigger: 'blur' }],
- standardLevel: [{ required: true, message: '标准等级不能为空', trigger: 'blur' }],
- transmitRange: [{ required: true, message: '传递范围不能为空', trigger: 'blur' }],
- preparationDate: [{ required: true, message: '筹建日期不能为空', trigger: 'blur' }],
- managerState: [{ required: true, message: '管理状态不能为空', trigger: 'blur' }],
- measureMajor: [{ required: true, message: '计量专业不能为空', trigger: 'blur' }],
- assessmentUnit: [{ required: true, message: '考核单位不能为空', trigger: 'blur' }],
- assessDate: [{ required: true, message: '考核日期不能为空', trigger: 'blur' }],
- uncertainty: [{ required: true, message: '不确定度不能为空', trigger: 'blur' }],
- mesureRange: [{ required: true, message: '测量范围不能为空', trigger: 'blur' }],
- standardTemperature: [{ required: true, message: '标准温度不能为空', trigger: 'blur' },
- { pattern: /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/, message: '标准温度只能为数字', trigger: 'blur' }],
- standardHumidity: [{ required: true, message: '标准湿度不能为空', trigger: 'blur' },
- { pattern: /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/, message: '标准湿度只能为数字', trigger: 'blur' }],
-}) // 表单验证规则
-// 上传请求
-const uploadQuarterlyEvaluateFile = (file: File) => {
- const fd = new FormData()
- fd.append('multipartFile', file.file)
- UploadFile(fd).then((res) => {
- if (res.code === 200) {
- formInline.value.fileList = res.data
- // 重置当前验证
- ElMessage.success('文件上传成功')
- }
- })
-}
-const handleExceed: UploadProps['onExceed'] = (files, uploadFiles) => {
- ElMessage.warning('只能上传一个文件')
-}
-// 移除时触发
-const beforeRemove: UploadProps['beforeRemove'] = (uploadFile, uploadFiles) => {
- return ElMessageBox.confirm(
- `确认移除${uploadFile.name}文件吗 ?`,
- ).then(
- () => true,
- () => false,
-
- )
-}
-// 点击文件预览
-const uploadShow = (e: any) => {
- const URL = window.URL || window.webkitURL
- window.open(URL.createObjectURL(e.raw))
-}
-const testForm = ref({
- fileList: [],
- fileContent: '',
-})
-const handleFileChange = (files: any, fileList: any) => {
- testForm.value.fileList = fileList
- const reader = new FileReader()
- reader.readAsText(files.raw)
- // reader.onload = (e) => {
- // testForm.value.fileContent = e.target!.result?.replace(
- // /\n|\r\n/g,
- // '
',
- // )
- // }
+const setData = (newValue: object) => {
+ formInline.value = newValue
}
// 编辑获取详情的提交按钮
const submitFormDetail = () => {
@@ -223,60 +72,29 @@
}
}
// 提交
-const submitForm = (formEl: FormInstance | undefined) => {
- if (!formEl) { return }
+const submitForm = () => {
if (props.buttonType === '详情') { return submitFormDetail() }
- formEl.validate((valid, fields) => {
- if (valid) {
- ElMessageBox.confirm(
- '确认提交吗?',
- '提示',
- {
- confirmButtonText: '确认',
- cancelButtonText: '取消',
- type: 'warning',
- },
- ).then(() => {
- props.buttonType === ''
- ? getStandardListAdd(formInline.value).then((res) => {
- if (res.code === 200) {
- close()
- }
- })
- : submitFormDetail()
- })
- }
- })
-}
-// 标准实验室发生改变row类型
-interface rowReturn {
- phone: string
- director: string
-}
-// 标准实验室发生改变
-const changeDeptList = (row: object) => {
- formInline.value.laboratoryOwnerContact = row.phone
- formInline.value.laboratoryOwner = row.director
-}
-// 标准实验室清空时
-const clearDeptList = () => {
- formInline.value.laboratoryOwnerContact = null
- formInline.value.laboratoryOwner = null
-}
-// 获取详情信息
-const getInfo = () => {
- getStandardListDetail({ id: props.infoId }).then((res) => {
- Object.keys(res.data).map((item) => {
- if (typeof (res.data[item]) === 'number') {
- res.data[item] = res.data[item].toString()
- }
+ ElMessageBox.confirm(
+ '确认提交吗?',
+ '提示',
+ {
+ confirmButtonText: '确认',
+ cancelButtonText: '取消',
+ type: 'warning',
+ },
+ ).then(() => {
+ current.value = '基本信息'
+ currentCompRef.value.submitForm().validate().then(() => {
+ props.buttonType === ''
+ ? getStandardListAdd(formInline.value).then((res) => {
+ if (res.code === 200) {
+ close()
+ }
+ })
+ : submitFormDetail()
})
- formInline.value = res.data
})
}
-if (props.buttonType !== '') {
- getInfo()
-}
@@ -289,7 +107,7 @@
{{ buttonType === '详情' ? '打印' : '提交' }}
@@ -298,405 +116,17 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 上传
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
@@ -719,14 +149,8 @@
}
}
-.info-content {
- margin-top: 10px;
- padding: 30px;
- border-radius: 10px;
+.body {
background-color: #fff;
-}
-
-:deep .el-input .el-input--default .el-input--suffix {
- width: 200px !important;
+ margin-top: 10px;
}
diff --git a/src/views/device/standardEquipment/expirationRemind.vue b/src/views/device/standardEquipment/expirationRemind.vue
index 35786b2..1826c22 100644
--- a/src/views/device/standardEquipment/expirationRemind.vue
+++ b/src/views/device/standardEquipment/expirationRemind.vue
@@ -26,39 +26,47 @@
text: '标准代码',
value: 'standardNo',
width: '160',
+ align: 'center',
},
{
text: '标准名称',
value: 'standardName',
width: '90',
+ align: 'center',
},
{
text: '管理状态',
value: 'managerStateName',
width: '100',
+ align: 'center',
},
{
text: '标准所在部门',
value: 'standardLaboratoryName',
width: '120',
+ align: 'center',
},
{
text: '负责人',
value: 'standardOwnerName',
+ align: 'center',
},
{
text: '建标项目',
value: 'standardOwnerName',
+ align: 'center',
},
{
text: '筹建日期',
value: 'preparationDate',
width: '160',
+ align: 'center',
},
{
text: '有效日期',
value: 'preparationDate',
width: '160',
+ align: 'center',
},
])
const total = ref(0)
@@ -326,12 +334,8 @@
-
- 导出
-
-
- 打印
-
+
+
- 编辑
+ 详情
- 详情
+ 提醒
+import applyList from './components/applyList.vue'
// 逻辑代码
- 暂停申请
+
diff --git a/src/views/device/standardEquipment/resumeApply.vue b/src/views/device/standardEquipment/resumeApply.vue
index d4a80e8..b5896fc 100644
--- a/src/views/device/standardEquipment/resumeApply.vue
+++ b/src/views/device/standardEquipment/resumeApply.vue
@@ -1,10 +1,11 @@
- 恢复申请
+
diff --git a/src/views/device/standardEquipment/standardList.vue b/src/views/device/standardEquipment/standardList.vue
index 4f1bfdf..348ed71 100644
--- a/src/views/device/standardEquipment/standardList.vue
+++ b/src/views/device/standardEquipment/standardList.vue
@@ -29,50 +29,60 @@
text: '标准代码',
value: 'standardNo',
width: '120',
+ align: 'center',
},
{
text: '标准名称',
value: 'standardName',
width: '90',
+ align: 'center',
},
{
text: '类别',
value: 'categoryName',
width: '80',
+ align: 'center',
},
{
text: '标准等级',
value: 'standardLevelName',
width: '100',
+ align: 'center',
},
{
text: '传递范围',
value: 'transmitRange',
width: '110',
+ align: 'center',
},
{
text: '管理状态',
value: 'managerStateName',
width: '100',
+ align: 'center',
},
{
text: '标准所在部门',
value: 'standardLaboratoryName',
width: '120',
+ align: 'center',
},
{
text: '负责人',
value: 'laboratoryOwner',
+ align: 'center',
},
{
text: '筹建日期',
value: 'preparationDate',
width: '110',
+ align: 'center',
},
{
text: '备注',
value: 'remark',
width: '80',
+ align: 'center',
},
])
const total = ref(0)
@@ -250,6 +260,9 @@
buttonType.value = text
isShow.value = false
}
+const renderHeader = (e: any) => {
+ console.log(e)
+}
@@ -330,19 +343,13 @@
-
- 新建
-
-
- 导出
-
-
- 打印
-
+
+
+
diff --git a/src/views/device/stateManage/components/approvalActionDialog.vue b/src/views/device/stateManage/components/approvalActionDialog.vue
index cdc9b25..56417d6 100644
--- a/src/views/device/stateManage/components/approvalActionDialog.vue
+++ b/src/views/device/stateManage/components/approvalActionDialog.vue
@@ -1,10 +1,13 @@
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/cancel.vue b/src/views/device/stateManage/components/status/cancel.vue
new file mode 100644
index 0000000..ecb2d0c
--- /dev/null
+++ b/src/views/device/stateManage/components/status/cancel.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/drafts.vue b/src/views/device/stateManage/components/status/drafts.vue
new file mode 100644
index 0000000..226ba21
--- /dev/null
+++ b/src/views/device/stateManage/components/status/drafts.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/inApproval.vue b/src/views/device/stateManage/components/status/inApproval.vue
new file mode 100644
index 0000000..4988595
--- /dev/null
+++ b/src/views/device/stateManage/components/status/inApproval.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/passed.vue b/src/views/device/stateManage/components/status/passed.vue
new file mode 100644
index 0000000..ab87daf
--- /dev/null
+++ b/src/views/device/stateManage/components/status/passed.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/pending.vue b/src/views/device/stateManage/components/status/pending.vue
new file mode 100644
index 0000000..3e0b315
--- /dev/null
+++ b/src/views/device/stateManage/components/status/pending.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/unPassed.vue b/src/views/device/stateManage/components/status/unPassed.vue
new file mode 100644
index 0000000..8de700e
--- /dev/null
+++ b/src/views/device/stateManage/components/status/unPassed.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/templateAdd.vue b/src/views/device/stateManage/components/templateAdd.vue
index 9c4da0f..fc364c8 100644
--- a/src/views/device/stateManage/components/templateAdd.vue
+++ b/src/views/device/stateManage/components/templateAdd.vue
@@ -381,10 +381,10 @@
-
+
diff --git a/src/views/device/stateManage/components/templateList.vue b/src/views/device/stateManage/components/templateList.vue
index 6ee2e8c..aa3963f 100644
--- a/src/views/device/stateManage/components/templateList.vue
+++ b/src/views/device/stateManage/components/templateList.vue
@@ -8,6 +8,10 @@
type: String,
default: '',
},
+ title: {
+ type: String,
+ default: '',
+ },
})
// import { exportFile } from '@/utils/exportUtils'
// const { proxy } = getCurrentInstance() as any
@@ -179,15 +183,23 @@
// 同意
const agree = (row) => {
console.log(approveRef.value)
- approveRef.value.initDialog()
+ approveRef.value.initDialog({
+ radio: '1',
+ })
}
// 驳回
const reject = (row) => {
- approveRef.value.initDialog()
+ approveRef.value.initDialog({
+ radio: '3',
+ })
}
// 拒绝
const refuse = (row) => {
- approveRef.value.initDialog()
+ approveRef.value.initDialog(
+ {
+ radio: '2',
+ },
+ )
}
// 取消
const cancel = (row) => {
diff --git a/src/views/device/stateManage/components/templatePage.vue b/src/views/device/stateManage/components/templatePage.vue
index 5fb0163..fce7685 100644
--- a/src/views/device/stateManage/components/templatePage.vue
+++ b/src/views/device/stateManage/components/templatePage.vue
@@ -1,6 +1,12 @@
- 设备处置申请
+
diff --git a/src/views/device/stateManage/openApply.vue b/src/views/device/stateManage/openApply.vue
index 3c43781..35c2af6 100644
--- a/src/views/device/stateManage/openApply.vue
+++ b/src/views/device/stateManage/openApply.vue
@@ -1,13 +1,14 @@
- 设备启封申请
+
+
diff --git a/src/views/device/stateManage/scrapApply.vue b/src/views/device/stateManage/scrapApply.vue
index 7bd1a98..282ecd8 100644
--- a/src/views/device/stateManage/scrapApply.vue
+++ b/src/views/device/stateManage/scrapApply.vue
@@ -1,10 +1,10 @@
- 设备报废申请
+
diff --git a/src/views/device/stateManage/sealupApply.vue b/src/views/device/stateManage/sealupApply.vue
index ec6320b..1c8544d 100644
--- a/src/views/device/stateManage/sealupApply.vue
+++ b/src/views/device/stateManage/sealupApply.vue
@@ -1,10 +1,10 @@
- 设备封存申请
+
diff --git a/src/views/measure/bench/bench.vue b/src/views/measure/bench/bench.vue
index cb2ebe6..380779a 100644
--- a/src/views/measure/bench/bench.vue
+++ b/src/views/measure/bench/bench.vue
@@ -175,7 +175,7 @@
v-if="proxy.hasPerm('/workbench/meterTrain/line')"
title="培训计划"
width="27.8vw"
- height="40vh"
+ height="40.7vh"
>
([])
+const PubListTree = ref([])
// 获取发布单位列表
const getPubList = () => {
getDeptTreeList().then((res) => {
PubList.value = res.data
+ PubListTree.value = toTreeList(res.data, '0', true)
})
}
// 弹窗初始化
@@ -73,7 +80,8 @@
if (row.title === '新建') {
// 默认发布人和发布单位
ruleForm.createUserId = userInfo.$state.id
- ruleForm.publisher = userInfo.$state.deptId
+ ruleForm.publisher = ''
+ ruleForm.publishTime = dayjs().format('YYYY-MM-DD HH:mm:ss')
// 判断有无存储
console.log(sessionStorage.getItem(fileTypeName.value), 'sess')
if (sessionStorage.getItem(fileTypeName.value)) {
@@ -207,11 +215,12 @@
// { name: '已废止', id: '1595030083114450945', value: '3' },
// ])
watch(() => ruleForm.effectiveTime, (newVal) => {
- const diffDat = dayjs(newVal).diff(dayjs().format('YYYY-MM-DD HH:mm:ss'), 'day')
+ const diffDat = dayjs(newVal).diff(dayjs().format('YYYY-MM-DD HH:mm:ss'), 'hour')
+ console.log(diffDat)
if (diffDat < 0) {
// ruleForm.effectiveStatusName = '已废止'
- effectiveStatusName.value = '已废止'
- ruleForm.effectiveStatus = '3'
+ effectiveStatusName.value = '在使用'
+ ruleForm.effectiveStatus = '1'
}
else if (diffDat == 0) {
// ruleForm.effectiveStatusName = '在使用'
@@ -269,15 +278,20 @@
-
+
+
@@ -293,7 +307,7 @@
diff --git a/src/views/measure/person/certificateLog.vue b/src/views/measure/person/certificateLog.vue
index ca26b00..2e3322a 100644
--- a/src/views/measure/person/certificateLog.vue
+++ b/src/views/measure/person/certificateLog.vue
@@ -32,13 +32,13 @@
const loadingTable = ref(false) // 表格loading
const total = ref(0) // 数据总条数
const columns = ref([
- { text: '人员编号', value: 'staffNo', align: 'center', width: '150' },
+ { text: '人员编号', value: 'staffNo', align: 'center', width: '180' },
{ text: '姓名', value: 'name', align: 'center', width: '80' },
{ text: '性别', value: 'sex', align: 'center', width: '55' },
{ text: '工作部门', value: 'deptId', align: 'center', width: '140' },
{ text: '技术职务', value: 'technologyJob', align: 'center', width: '120' },
{ text: '行政职务', value: 'administrationJob', align: 'center', width: '90' },
- { text: '证书号', value: 'certificateNo', align: 'center', width: '150' },
+ { text: '证书号', value: 'certificateNo', align: 'center' },
{ text: '发证单位', value: 'certificateCompany', align: 'center', width: '90' },
{ text: '发证日期', value: 'certificateDate', align: 'center', width: '200' },
{ text: '证书有效日期', value: 'certificateDate', align: 'center', width: '200' },
diff --git a/src/views/measure/person/components/addPerson.vue b/src/views/measure/person/components/addPerson.vue
index 9252393..4dc1b17 100644
--- a/src/views/measure/person/components/addPerson.vue
+++ b/src/views/measure/person/components/addPerson.vue
@@ -10,7 +10,7 @@
import { getDeptTreeList } from '@/api/system/dept'
import { UploadFile } from '@/api/measure/file'
import { toTreeList } from '@/utils/structure'
-import type { userType } from '@/views/system/user/user-interface'
+import type { TreeStructure, userType } from '@/views/system/user/user-interface'
import { getDictByCode } from '@/api/system/dict'
import comTreeSelect from '@/views/system/user/selecTree.vue'
import { getStaffAdd, getStaffDetail, getStaffupdate } from '@/api/measure/person'
@@ -67,7 +67,7 @@
ruleFormRef.value?.validateField('idCard').then((res) => {
// 获取生日
const IdCard = ruleForm.value.idCard
- const birthday = `${IdCard.substring(6, 10)}-${IdCard.substring(10, 12)}-${IdCard.substring(12, 14)}`
+ const birthday = `${IdCard.substring(6, 10)}-${IdCard.substring(10, 12)}`
ruleForm.value.birthday = birthday
console.log(ruleForm.value)
})
@@ -86,12 +86,14 @@
const deptProps = reactive({
parent: 'pid', value: 'id', label: 'name', children: 'children',
})
-const PubList = ref([])
+const PubList = ref([])
+const PubListTree = ref([])
// 获取组织列表
const getPubList = () => {
getDeptTreeList().then((res) => {
// 转成树结构
- PubList.value = toTreeList(res.data, '0', true)
+ PubList.value = res.data
+ PubListTree.value = toTreeList(res.data, '0', true)
})
}
const sexList = ref<{ id: string; value: string; name: string }[]>()
@@ -343,7 +345,7 @@
getTechnologyJobList()
getAdministrationJob()
if (row.title === '新建') {
- console.log()
+ // ruleForm.value.deptId = ''
}
else {
getStaffDetail({ ...row }).then((res) => {
@@ -371,7 +373,7 @@
-
-
+
+
@@ -404,20 +405,36 @@
-
+
+
+
+ 选择
+
+
+
-
-
-
-
+
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
@@ -425,82 +442,52 @@
-
+
-
-
-
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
@@ -551,6 +538,7 @@
border-radius: 8px;
padding-top: 10px;
margin-top: 10px;
+ padding-right: 10px;
}
.header {
@@ -578,6 +566,20 @@
display: none;
}
+ :deep(.el-icon.avatar-uploader-icon) {
+ font-size: 28px;
+ color: #8c939d;
+ width: 190px;
+ height: 250px;
+ text-align: center;
+ }
+
+ :deep(.avatar-uploader .avatar) {
+ width: 190px;
+ height: 250px;
+ display: block;
+ }
+
.isDetail {
::v-deep {
.el-form-item.is-required:not(.is-no-asterisk) .el-form-item__label-wrap > .el-form-item__label::before,
@@ -591,12 +593,16 @@
.marg {
margin-top: 20px;
}
+
+.marg-item {
+ margin-top: 20px;
+}
@@ -618,8 +624,8 @@
.el-icon.avatar-uploader-icon {
font-size: 28px;
color: #8c939d;
- width: 178px;
- height: 178px;
+ width: 220px;
+ height: 320px;
text-align: center;
}
diff --git a/src/components.d.ts b/src/components.d.ts
index fea7d82..6e85584 100644
--- a/src/components.d.ts
+++ b/src/components.d.ts
@@ -16,6 +16,7 @@
BarChartHorizontal: typeof import('./components/Echart/BarChartHorizontal.vue')['default']
BarChartVertical: typeof import('./components/Echart/BarChartVertical.vue')['default']
BatchActionBar: typeof import('./components/BatchActionBar/index.vue')['default']
+ Benchcol: typeof import('./components/benchcol/index.vue')['default']
BenchCol: typeof import('./components/benchCol/index.vue')['default']
ConditionDrawer: typeof import('./components/drawer/conditionDrawer.vue')['default']
copy: typeof import('./components/DetailPage/index copy.vue')['default']
diff --git a/src/views/device/standardEquipment/cancelApply.vue b/src/views/device/standardEquipment/cancelApply.vue
index c093520..1e50f44 100644
--- a/src/views/device/standardEquipment/cancelApply.vue
+++ b/src/views/device/standardEquipment/cancelApply.vue
@@ -1,10 +1,11 @@
- 撤销申请
+
diff --git a/src/views/device/standardEquipment/changeApply.vue b/src/views/device/standardEquipment/changeApply.vue
index 0762330..6625970 100644
--- a/src/views/device/standardEquipment/changeApply.vue
+++ b/src/views/device/standardEquipment/changeApply.vue
@@ -1,10 +1,11 @@
-
- 更换申请
+
diff --git a/src/views/device/standardEquipment/checkApply.vue b/src/views/device/standardEquipment/checkApply.vue
index 9cadc01..6625970 100644
--- a/src/views/device/standardEquipment/checkApply.vue
+++ b/src/views/device/standardEquipment/checkApply.vue
@@ -1,10 +1,11 @@
- 复查申请
+
diff --git a/src/views/device/standardEquipment/components/applyList.vue b/src/views/device/standardEquipment/components/applyList.vue
new file mode 100644
index 0000000..45be74a
--- /dev/null
+++ b/src/views/device/standardEquipment/components/applyList.vue
@@ -0,0 +1,65 @@
+
+
+
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/all.vue b/src/views/device/standardEquipment/components/listApply/all.vue
new file mode 100644
index 0000000..d124307
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/all.vue
@@ -0,0 +1,17 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/approvalPending.vue b/src/views/device/standardEquipment/components/listApply/approvalPending.vue
new file mode 100644
index 0000000..8a7a8bc
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/approvalPending.vue
@@ -0,0 +1,16 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/canceled.vue b/src/views/device/standardEquipment/components/listApply/canceled.vue
new file mode 100644
index 0000000..3b9657c
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/canceled.vue
@@ -0,0 +1,15 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/draftBox.vue b/src/views/device/standardEquipment/components/listApply/draftBox.vue
new file mode 100644
index 0000000..43d7b75
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/draftBox.vue
@@ -0,0 +1,15 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue b/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue
new file mode 100644
index 0000000..c13f95a
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue
@@ -0,0 +1,17 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/listPage.vue b/src/views/device/standardEquipment/components/listApply/listPage.vue
new file mode 100644
index 0000000..5133627
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/listPage.vue
@@ -0,0 +1,493 @@
+
+
+
+
+
+
+
+
+
+
+
+ 同意
+
+
+ 驳回
+
+
+ 拒绝
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 提交
+
+
+ 取消
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/listPageAdd.vue b/src/views/device/standardEquipment/components/listApply/listPageAdd.vue
new file mode 100644
index 0000000..eb506ec
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/listPageAdd.vue
@@ -0,0 +1,1021 @@
+
+
+
+
+
+
+ 基本信息
+
+
+
+ {{ item }}
+
+
+ 关闭
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 上传
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 完成
+
+
+
+
+
+
+
+ 同意
+
+
+ 驳回
+
+
+ 拒绝
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 提交
+
+
+ 取消
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/notPass.vue b/src/views/device/standardEquipment/components/listApply/notPass.vue
new file mode 100644
index 0000000..5a4b817
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/notPass.vue
@@ -0,0 +1,10 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/passed.vue b/src/views/device/standardEquipment/components/listApply/passed.vue
new file mode 100644
index 0000000..31cd21c
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/passed.vue
@@ -0,0 +1,10 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/addRow.vue b/src/views/device/standardEquipment/components/standardList/addRow.vue
new file mode 100644
index 0000000..9f2bf81
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/addRow.vue
@@ -0,0 +1,270 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/baseInfo.vue b/src/views/device/standardEquipment/components/standardList/baseInfo.vue
new file mode 100644
index 0000000..c47ad1d
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/baseInfo.vue
@@ -0,0 +1,675 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 上传
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/temptable.vue b/src/views/device/standardEquipment/components/standardList/temptable.vue
new file mode 100644
index 0000000..20eb800
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/temptable.vue
@@ -0,0 +1,387 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ (searchQuery.offset - 1) * searchQuery.limit + scope.$index + 1 }}
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardListAdd.vue b/src/views/device/standardEquipment/components/standardListAdd.vue
index ea13629..348bb41 100644
--- a/src/views/device/standardEquipment/components/standardListAdd.vue
+++ b/src/views/device/standardEquipment/components/standardListAdd.vue
@@ -3,6 +3,8 @@
import { ElMessage, ElMessageBox } from 'element-plus'
import type { FormInstance, UploadProps, UploadUserFile } from 'element-plus'
import type { IOptions } from '../standard_interface'
+import baseInfo from './standardList/baseInfo.vue'
+import table from './standardList/temptable.vue'
import { getStaffList } from '@/api/measure/person'
import { getTypeSelect } from '@/api/system/price'
import { getStandardLisUpdate, getStandardListAdd, getStandardListDetail, getUsersDept } from '@/api/device/standard'
@@ -17,188 +19,35 @@
default: '',
},
})
-const emit = defineEmits(['close']) // 关闭
-const ruleFormRef = ref
()
-// 逻辑代码
-const formInline = ref({
- assessDate: '',
- assessmentUnit: '',
- category: null,
- categoryName: '',
- constructionStandardProject: '',
- constructionStandardUnitName: '',
- contactInfo: '',
- createTime: null,
- createUser: null,
- id: '',
- isDel: null,
- laboratoryOwner: null,
- laboratoryOwnerContact: null,
- laboratoryOwnerName: null,
- managerState: null,
- managerStateName: '',
- measureMajor: null,
- fileList: [],
- measureMajorName: '',
- mesureRange: '',
- organizeNo: '',
- preparationDate: '',
- projectNo: '',
- remark: '',
- standardHumidity: null,
- standardLaboratory: null,
- standardLaboratoryName: '',
- standardLevel: null,
- standardLevelName: '',
- standardName: '',
- standardNo: '',
- standardOwner: null,
- standardOwnerName: '',
- standardTemperature: null,
- totalInvestment: null,
- transmitRange: null,
- transmitRangeName: '',
- uncertainty: '',
- updateTime: null,
- version: null,
-})
-const checkTypeOptions = ref([])
-
-const standardOwnerOptions = ref([]) // 标准负责人
-const fileList = ref([]) // 文件对象数组
-const measureMajorList = ref([]) // 计量专业下拉框
-const standardManagerStateList = ref([]) // 管理状态下拉框
-const standardLevelList = ref([]) // 标准等级下拉框
-const transmitRangeList = ref([]) // 传递范围下拉框
-// 标准所在部门下拉框
-const standardUsersDeptList = ref([])
-// 获取下拉框
-const getSelectList = (code: string) => {
- getTypeSelect(code).then((res) => {
- if (code === 'measureMajor') {
- measureMajorList.value = res.data
- }
- else if (code === 'standardManagerState') {
- standardManagerStateList.value = res.data
- }
- else if (code === 'standardLevel') {
- standardLevelList.value = res.data
- }
- else if (code === 'transmitRange') {
- transmitRangeList.value = res.data
- }
- else if (code === 'standardCategory') {
- checkTypeOptions.value = res.data
- }
- })
+const emit = defineEmits(['close'])
+// 定义数据
+const formInline = ref({})
+// 关闭
+interface menuType {
+ name: string
+ comp: any
}
-getSelectList('measureMajor') // 获取计量专业下拉框
-getSelectList('standardManagerState') // 获取管理状态下拉框
-getSelectList('standardLevel') // 获取标准等级下拉框
-getSelectList('transmitRange') // 获取传递范围下拉框
-getSelectList('standardCategory') // 获取类别下拉框
-// 获取部门信息
-getUsersDept({
- createTime: '',
- director: '',
- meterMajor: '',
- organizeName: '',
- organizeNo: '',
- organizeType: '2',
- pdeptId: null,
- offset: 1,
- limit: 999999,
-}).then((res) => {
- standardUsersDeptList.value = res.data.rows
+const menu = shallowRef([
+ { name: '基本信息', comp: baseInfo },
+ { name: '计量人员', comp: table },
+ { name: '标准配套设备', comp: table },
+ { name: '检定规程', comp: table },
+ { name: '重复性考核记录', comp: table },
+ { name: '稳定性考核记录', comp: table },
+ { name: '证书管理', comp: table },
+])
+const currentCompRef = ref()
+const current = ref('基本信息')
+const currentComp = shallowRef(baseInfo)
+watch(current, (newValue) => {
+ currentComp.value = menu.value.filter(item => item.name === newValue)[0].comp
})
-// 获取到标准负责人数组
-const getStandardOwnerOptions = () => {
- const params = {
- staffNo: '', // 人员编号
- name: '', // 姓名
- deptId: '', // 工作部门
- major: '', // 计量专业
- verifierCertificateNo: '', // 证书号
- certificateStatus: '', // 证书状态
- limit: 100000,
- offset: 1,
- }
- getStaffList(params).then((res) => {
- standardOwnerOptions.value = res.data.records
- })
-}
-getStandardOwnerOptions()
// 关闭
const close = () => {
emit('close')
}
-const rules = ref({
- standardName: [{ required: true, message: '标准名称不能为空', trigger: 'blur' }],
- projectNo: [{ required: true, message: '项目编号不能为空', trigger: 'blur' }],
- constructionStandardProject: [{ required: true, message: '建标项目不能为空', trigger: 'blur' }],
- organizeNo: [{ required: true, message: '组织机构代码不能为空', trigger: 'blur' }],
- constructionStandardUnitName: [{ required: true, message: '建标单位名称不能为空', trigger: 'blur' }],
- standardOwner: [{ required: true, message: '标准负责人不能为空', trigger: 'blur' }],
- contactInfo: [{ required: true, message: '联系方式不能为空', trigger: 'blur' }],
- category: [{ required: true, message: '类 别不能为空', trigger: 'blur' }],
- standardLevel: [{ required: true, message: '标准等级不能为空', trigger: 'blur' }],
- transmitRange: [{ required: true, message: '传递范围不能为空', trigger: 'blur' }],
- preparationDate: [{ required: true, message: '筹建日期不能为空', trigger: 'blur' }],
- managerState: [{ required: true, message: '管理状态不能为空', trigger: 'blur' }],
- measureMajor: [{ required: true, message: '计量专业不能为空', trigger: 'blur' }],
- assessmentUnit: [{ required: true, message: '考核单位不能为空', trigger: 'blur' }],
- assessDate: [{ required: true, message: '考核日期不能为空', trigger: 'blur' }],
- uncertainty: [{ required: true, message: '不确定度不能为空', trigger: 'blur' }],
- mesureRange: [{ required: true, message: '测量范围不能为空', trigger: 'blur' }],
- standardTemperature: [{ required: true, message: '标准温度不能为空', trigger: 'blur' },
- { pattern: /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/, message: '标准温度只能为数字', trigger: 'blur' }],
- standardHumidity: [{ required: true, message: '标准湿度不能为空', trigger: 'blur' },
- { pattern: /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/, message: '标准湿度只能为数字', trigger: 'blur' }],
-}) // 表单验证规则
-// 上传请求
-const uploadQuarterlyEvaluateFile = (file: File) => {
- const fd = new FormData()
- fd.append('multipartFile', file.file)
- UploadFile(fd).then((res) => {
- if (res.code === 200) {
- formInline.value.fileList = res.data
- // 重置当前验证
- ElMessage.success('文件上传成功')
- }
- })
-}
-const handleExceed: UploadProps['onExceed'] = (files, uploadFiles) => {
- ElMessage.warning('只能上传一个文件')
-}
-// 移除时触发
-const beforeRemove: UploadProps['beforeRemove'] = (uploadFile, uploadFiles) => {
- return ElMessageBox.confirm(
- `确认移除${uploadFile.name}文件吗 ?`,
- ).then(
- () => true,
- () => false,
-
- )
-}
-// 点击文件预览
-const uploadShow = (e: any) => {
- const URL = window.URL || window.webkitURL
- window.open(URL.createObjectURL(e.raw))
-}
-const testForm = ref({
- fileList: [],
- fileContent: '',
-})
-const handleFileChange = (files: any, fileList: any) => {
- testForm.value.fileList = fileList
- const reader = new FileReader()
- reader.readAsText(files.raw)
- // reader.onload = (e) => {
- // testForm.value.fileContent = e.target!.result?.replace(
- // /\n|\r\n/g,
- // '
',
- // )
- // }
+const setData = (newValue: object) => {
+ formInline.value = newValue
}
// 编辑获取详情的提交按钮
const submitFormDetail = () => {
@@ -223,60 +72,29 @@
}
}
// 提交
-const submitForm = (formEl: FormInstance | undefined) => {
- if (!formEl) { return }
+const submitForm = () => {
if (props.buttonType === '详情') { return submitFormDetail() }
- formEl.validate((valid, fields) => {
- if (valid) {
- ElMessageBox.confirm(
- '确认提交吗?',
- '提示',
- {
- confirmButtonText: '确认',
- cancelButtonText: '取消',
- type: 'warning',
- },
- ).then(() => {
- props.buttonType === ''
- ? getStandardListAdd(formInline.value).then((res) => {
- if (res.code === 200) {
- close()
- }
- })
- : submitFormDetail()
- })
- }
- })
-}
-// 标准实验室发生改变row类型
-interface rowReturn {
- phone: string
- director: string
-}
-// 标准实验室发生改变
-const changeDeptList = (row: object) => {
- formInline.value.laboratoryOwnerContact = row.phone
- formInline.value.laboratoryOwner = row.director
-}
-// 标准实验室清空时
-const clearDeptList = () => {
- formInline.value.laboratoryOwnerContact = null
- formInline.value.laboratoryOwner = null
-}
-// 获取详情信息
-const getInfo = () => {
- getStandardListDetail({ id: props.infoId }).then((res) => {
- Object.keys(res.data).map((item) => {
- if (typeof (res.data[item]) === 'number') {
- res.data[item] = res.data[item].toString()
- }
+ ElMessageBox.confirm(
+ '确认提交吗?',
+ '提示',
+ {
+ confirmButtonText: '确认',
+ cancelButtonText: '取消',
+ type: 'warning',
+ },
+ ).then(() => {
+ current.value = '基本信息'
+ currentCompRef.value.submitForm().validate().then(() => {
+ props.buttonType === ''
+ ? getStandardListAdd(formInline.value).then((res) => {
+ if (res.code === 200) {
+ close()
+ }
+ })
+ : submitFormDetail()
})
- formInline.value = res.data
})
}
-if (props.buttonType !== '') {
- getInfo()
-}
@@ -289,7 +107,7 @@
{{ buttonType === '详情' ? '打印' : '提交' }}
@@ -298,405 +116,17 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 上传
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
@@ -719,14 +149,8 @@
}
}
-.info-content {
- margin-top: 10px;
- padding: 30px;
- border-radius: 10px;
+.body {
background-color: #fff;
-}
-
-:deep .el-input .el-input--default .el-input--suffix {
- width: 200px !important;
+ margin-top: 10px;
}
diff --git a/src/views/device/standardEquipment/expirationRemind.vue b/src/views/device/standardEquipment/expirationRemind.vue
index 35786b2..1826c22 100644
--- a/src/views/device/standardEquipment/expirationRemind.vue
+++ b/src/views/device/standardEquipment/expirationRemind.vue
@@ -26,39 +26,47 @@
text: '标准代码',
value: 'standardNo',
width: '160',
+ align: 'center',
},
{
text: '标准名称',
value: 'standardName',
width: '90',
+ align: 'center',
},
{
text: '管理状态',
value: 'managerStateName',
width: '100',
+ align: 'center',
},
{
text: '标准所在部门',
value: 'standardLaboratoryName',
width: '120',
+ align: 'center',
},
{
text: '负责人',
value: 'standardOwnerName',
+ align: 'center',
},
{
text: '建标项目',
value: 'standardOwnerName',
+ align: 'center',
},
{
text: '筹建日期',
value: 'preparationDate',
width: '160',
+ align: 'center',
},
{
text: '有效日期',
value: 'preparationDate',
width: '160',
+ align: 'center',
},
])
const total = ref(0)
@@ -326,12 +334,8 @@
-
- 导出
-
-
- 打印
-
+
+
- 编辑
+ 详情
- 详情
+ 提醒
+import applyList from './components/applyList.vue'
// 逻辑代码
- 暂停申请
+
diff --git a/src/views/device/standardEquipment/resumeApply.vue b/src/views/device/standardEquipment/resumeApply.vue
index d4a80e8..b5896fc 100644
--- a/src/views/device/standardEquipment/resumeApply.vue
+++ b/src/views/device/standardEquipment/resumeApply.vue
@@ -1,10 +1,11 @@
- 恢复申请
+
diff --git a/src/views/device/standardEquipment/standardList.vue b/src/views/device/standardEquipment/standardList.vue
index 4f1bfdf..348ed71 100644
--- a/src/views/device/standardEquipment/standardList.vue
+++ b/src/views/device/standardEquipment/standardList.vue
@@ -29,50 +29,60 @@
text: '标准代码',
value: 'standardNo',
width: '120',
+ align: 'center',
},
{
text: '标准名称',
value: 'standardName',
width: '90',
+ align: 'center',
},
{
text: '类别',
value: 'categoryName',
width: '80',
+ align: 'center',
},
{
text: '标准等级',
value: 'standardLevelName',
width: '100',
+ align: 'center',
},
{
text: '传递范围',
value: 'transmitRange',
width: '110',
+ align: 'center',
},
{
text: '管理状态',
value: 'managerStateName',
width: '100',
+ align: 'center',
},
{
text: '标准所在部门',
value: 'standardLaboratoryName',
width: '120',
+ align: 'center',
},
{
text: '负责人',
value: 'laboratoryOwner',
+ align: 'center',
},
{
text: '筹建日期',
value: 'preparationDate',
width: '110',
+ align: 'center',
},
{
text: '备注',
value: 'remark',
width: '80',
+ align: 'center',
},
])
const total = ref(0)
@@ -250,6 +260,9 @@
buttonType.value = text
isShow.value = false
}
+const renderHeader = (e: any) => {
+ console.log(e)
+}
@@ -330,19 +343,13 @@
-
- 新建
-
-
- 导出
-
-
- 打印
-
+
+
+
diff --git a/src/views/device/stateManage/components/approvalActionDialog.vue b/src/views/device/stateManage/components/approvalActionDialog.vue
index cdc9b25..56417d6 100644
--- a/src/views/device/stateManage/components/approvalActionDialog.vue
+++ b/src/views/device/stateManage/components/approvalActionDialog.vue
@@ -1,10 +1,13 @@
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/cancel.vue b/src/views/device/stateManage/components/status/cancel.vue
new file mode 100644
index 0000000..ecb2d0c
--- /dev/null
+++ b/src/views/device/stateManage/components/status/cancel.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/drafts.vue b/src/views/device/stateManage/components/status/drafts.vue
new file mode 100644
index 0000000..226ba21
--- /dev/null
+++ b/src/views/device/stateManage/components/status/drafts.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/inApproval.vue b/src/views/device/stateManage/components/status/inApproval.vue
new file mode 100644
index 0000000..4988595
--- /dev/null
+++ b/src/views/device/stateManage/components/status/inApproval.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/passed.vue b/src/views/device/stateManage/components/status/passed.vue
new file mode 100644
index 0000000..ab87daf
--- /dev/null
+++ b/src/views/device/stateManage/components/status/passed.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/pending.vue b/src/views/device/stateManage/components/status/pending.vue
new file mode 100644
index 0000000..3e0b315
--- /dev/null
+++ b/src/views/device/stateManage/components/status/pending.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/unPassed.vue b/src/views/device/stateManage/components/status/unPassed.vue
new file mode 100644
index 0000000..8de700e
--- /dev/null
+++ b/src/views/device/stateManage/components/status/unPassed.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/templateAdd.vue b/src/views/device/stateManage/components/templateAdd.vue
index 9c4da0f..fc364c8 100644
--- a/src/views/device/stateManage/components/templateAdd.vue
+++ b/src/views/device/stateManage/components/templateAdd.vue
@@ -381,10 +381,10 @@
-
+
diff --git a/src/views/device/stateManage/components/templateList.vue b/src/views/device/stateManage/components/templateList.vue
index 6ee2e8c..aa3963f 100644
--- a/src/views/device/stateManage/components/templateList.vue
+++ b/src/views/device/stateManage/components/templateList.vue
@@ -8,6 +8,10 @@
type: String,
default: '',
},
+ title: {
+ type: String,
+ default: '',
+ },
})
// import { exportFile } from '@/utils/exportUtils'
// const { proxy } = getCurrentInstance() as any
@@ -179,15 +183,23 @@
// 同意
const agree = (row) => {
console.log(approveRef.value)
- approveRef.value.initDialog()
+ approveRef.value.initDialog({
+ radio: '1',
+ })
}
// 驳回
const reject = (row) => {
- approveRef.value.initDialog()
+ approveRef.value.initDialog({
+ radio: '3',
+ })
}
// 拒绝
const refuse = (row) => {
- approveRef.value.initDialog()
+ approveRef.value.initDialog(
+ {
+ radio: '2',
+ },
+ )
}
// 取消
const cancel = (row) => {
diff --git a/src/views/device/stateManage/components/templatePage.vue b/src/views/device/stateManage/components/templatePage.vue
index 5fb0163..fce7685 100644
--- a/src/views/device/stateManage/components/templatePage.vue
+++ b/src/views/device/stateManage/components/templatePage.vue
@@ -1,6 +1,12 @@
- 设备处置申请
+
diff --git a/src/views/device/stateManage/openApply.vue b/src/views/device/stateManage/openApply.vue
index 3c43781..35c2af6 100644
--- a/src/views/device/stateManage/openApply.vue
+++ b/src/views/device/stateManage/openApply.vue
@@ -1,13 +1,14 @@
- 设备启封申请
+
+
diff --git a/src/views/device/stateManage/scrapApply.vue b/src/views/device/stateManage/scrapApply.vue
index 7bd1a98..282ecd8 100644
--- a/src/views/device/stateManage/scrapApply.vue
+++ b/src/views/device/stateManage/scrapApply.vue
@@ -1,10 +1,10 @@
- 设备报废申请
+
diff --git a/src/views/device/stateManage/sealupApply.vue b/src/views/device/stateManage/sealupApply.vue
index ec6320b..1c8544d 100644
--- a/src/views/device/stateManage/sealupApply.vue
+++ b/src/views/device/stateManage/sealupApply.vue
@@ -1,10 +1,10 @@
- 设备封存申请
+
diff --git a/src/views/measure/bench/bench.vue b/src/views/measure/bench/bench.vue
index cb2ebe6..380779a 100644
--- a/src/views/measure/bench/bench.vue
+++ b/src/views/measure/bench/bench.vue
@@ -175,7 +175,7 @@
v-if="proxy.hasPerm('/workbench/meterTrain/line')"
title="培训计划"
width="27.8vw"
- height="40vh"
+ height="40.7vh"
>
([])
+const PubListTree = ref([])
// 获取发布单位列表
const getPubList = () => {
getDeptTreeList().then((res) => {
PubList.value = res.data
+ PubListTree.value = toTreeList(res.data, '0', true)
})
}
// 弹窗初始化
@@ -73,7 +80,8 @@
if (row.title === '新建') {
// 默认发布人和发布单位
ruleForm.createUserId = userInfo.$state.id
- ruleForm.publisher = userInfo.$state.deptId
+ ruleForm.publisher = ''
+ ruleForm.publishTime = dayjs().format('YYYY-MM-DD HH:mm:ss')
// 判断有无存储
console.log(sessionStorage.getItem(fileTypeName.value), 'sess')
if (sessionStorage.getItem(fileTypeName.value)) {
@@ -207,11 +215,12 @@
// { name: '已废止', id: '1595030083114450945', value: '3' },
// ])
watch(() => ruleForm.effectiveTime, (newVal) => {
- const diffDat = dayjs(newVal).diff(dayjs().format('YYYY-MM-DD HH:mm:ss'), 'day')
+ const diffDat = dayjs(newVal).diff(dayjs().format('YYYY-MM-DD HH:mm:ss'), 'hour')
+ console.log(diffDat)
if (diffDat < 0) {
// ruleForm.effectiveStatusName = '已废止'
- effectiveStatusName.value = '已废止'
- ruleForm.effectiveStatus = '3'
+ effectiveStatusName.value = '在使用'
+ ruleForm.effectiveStatus = '1'
}
else if (diffDat == 0) {
// ruleForm.effectiveStatusName = '在使用'
@@ -269,15 +278,20 @@
-
+
+
@@ -293,7 +307,7 @@
diff --git a/src/views/measure/person/certificateLog.vue b/src/views/measure/person/certificateLog.vue
index ca26b00..2e3322a 100644
--- a/src/views/measure/person/certificateLog.vue
+++ b/src/views/measure/person/certificateLog.vue
@@ -32,13 +32,13 @@
const loadingTable = ref(false) // 表格loading
const total = ref(0) // 数据总条数
const columns = ref([
- { text: '人员编号', value: 'staffNo', align: 'center', width: '150' },
+ { text: '人员编号', value: 'staffNo', align: 'center', width: '180' },
{ text: '姓名', value: 'name', align: 'center', width: '80' },
{ text: '性别', value: 'sex', align: 'center', width: '55' },
{ text: '工作部门', value: 'deptId', align: 'center', width: '140' },
{ text: '技术职务', value: 'technologyJob', align: 'center', width: '120' },
{ text: '行政职务', value: 'administrationJob', align: 'center', width: '90' },
- { text: '证书号', value: 'certificateNo', align: 'center', width: '150' },
+ { text: '证书号', value: 'certificateNo', align: 'center' },
{ text: '发证单位', value: 'certificateCompany', align: 'center', width: '90' },
{ text: '发证日期', value: 'certificateDate', align: 'center', width: '200' },
{ text: '证书有效日期', value: 'certificateDate', align: 'center', width: '200' },
diff --git a/src/views/measure/person/components/addPerson.vue b/src/views/measure/person/components/addPerson.vue
index 9252393..4dc1b17 100644
--- a/src/views/measure/person/components/addPerson.vue
+++ b/src/views/measure/person/components/addPerson.vue
@@ -10,7 +10,7 @@
import { getDeptTreeList } from '@/api/system/dept'
import { UploadFile } from '@/api/measure/file'
import { toTreeList } from '@/utils/structure'
-import type { userType } from '@/views/system/user/user-interface'
+import type { TreeStructure, userType } from '@/views/system/user/user-interface'
import { getDictByCode } from '@/api/system/dict'
import comTreeSelect from '@/views/system/user/selecTree.vue'
import { getStaffAdd, getStaffDetail, getStaffupdate } from '@/api/measure/person'
@@ -67,7 +67,7 @@
ruleFormRef.value?.validateField('idCard').then((res) => {
// 获取生日
const IdCard = ruleForm.value.idCard
- const birthday = `${IdCard.substring(6, 10)}-${IdCard.substring(10, 12)}-${IdCard.substring(12, 14)}`
+ const birthday = `${IdCard.substring(6, 10)}-${IdCard.substring(10, 12)}`
ruleForm.value.birthday = birthday
console.log(ruleForm.value)
})
@@ -86,12 +86,14 @@
const deptProps = reactive({
parent: 'pid', value: 'id', label: 'name', children: 'children',
})
-const PubList = ref([])
+const PubList = ref([])
+const PubListTree = ref([])
// 获取组织列表
const getPubList = () => {
getDeptTreeList().then((res) => {
// 转成树结构
- PubList.value = toTreeList(res.data, '0', true)
+ PubList.value = res.data
+ PubListTree.value = toTreeList(res.data, '0', true)
})
}
const sexList = ref<{ id: string; value: string; name: string }[]>()
@@ -343,7 +345,7 @@
getTechnologyJobList()
getAdministrationJob()
if (row.title === '新建') {
- console.log()
+ // ruleForm.value.deptId = ''
}
else {
getStaffDetail({ ...row }).then((res) => {
@@ -371,7 +373,7 @@
-
-
+
+
@@ -404,20 +405,36 @@
-
+
+
+
+ 选择
+
+
+
-
-
-
-
+
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
@@ -425,82 +442,52 @@
-
+
-
-
-
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
@@ -551,6 +538,7 @@
border-radius: 8px;
padding-top: 10px;
margin-top: 10px;
+ padding-right: 10px;
}
.header {
@@ -578,6 +566,20 @@
display: none;
}
+ :deep(.el-icon.avatar-uploader-icon) {
+ font-size: 28px;
+ color: #8c939d;
+ width: 190px;
+ height: 250px;
+ text-align: center;
+ }
+
+ :deep(.avatar-uploader .avatar) {
+ width: 190px;
+ height: 250px;
+ display: block;
+ }
+
.isDetail {
::v-deep {
.el-form-item.is-required:not(.is-no-asterisk) .el-form-item__label-wrap > .el-form-item__label::before,
@@ -591,12 +593,16 @@
.marg {
margin-top: 20px;
}
+
+.marg-item {
+ margin-top: 20px;
+}
@@ -618,8 +624,8 @@
.el-icon.avatar-uploader-icon {
font-size: 28px;
color: #8c939d;
- width: 178px;
- height: 178px;
+ width: 220px;
+ height: 320px;
text-align: center;
}
diff --git a/src/views/measure/person/components/addRecord.vue b/src/views/measure/person/components/addRecord.vue
index 2928870..ae48f11 100644
--- a/src/views/measure/person/components/addRecord.vue
+++ b/src/views/measure/person/components/addRecord.vue
@@ -9,7 +9,7 @@
import { getUserList } from '@/api/system/user'
import { getDeptTreeList } from '@/api/system/dept'
import { toTreeList } from '@/utils/structure'
-import type { userType } from '@/views/system/user/user-interface'
+import type { TreeStructure, userType } from '@/views/system/user/user-interface'
import { getDictByCode } from '@/api/system/dict'
import comTreeSelect from '@/views/system/user/selecTree.vue'
import { addCertificateList, getCertificateDetail, getCertificateUpdate } from '@/api/measure/person'
@@ -59,12 +59,14 @@
const deptProps = reactive({
parent: 'pid', value: 'id', label: 'name', children: 'children',
})
-const PubList = ref([])
+const PubList = ref
([])
+const PubListTree = ref([])
// 获取组织列表
const getPubList = () => {
getDeptTreeList().then((res) => {
// 转成树结构
- PubList.value = toTreeList(res.data, '0', true)
+ PubList.value = res.data
+ PubListTree.value = toTreeList(res.data, '0', true)
})
}
const sexList = ref<{ id: string; value: string; name: string }[]>()
@@ -330,7 +332,13 @@
-
+
+
+
+ 选择
+
+
+
@@ -377,10 +385,12 @@
-
+
+
+
diff --git a/src/components.d.ts b/src/components.d.ts
index fea7d82..6e85584 100644
--- a/src/components.d.ts
+++ b/src/components.d.ts
@@ -16,6 +16,7 @@
BarChartHorizontal: typeof import('./components/Echart/BarChartHorizontal.vue')['default']
BarChartVertical: typeof import('./components/Echart/BarChartVertical.vue')['default']
BatchActionBar: typeof import('./components/BatchActionBar/index.vue')['default']
+ Benchcol: typeof import('./components/benchcol/index.vue')['default']
BenchCol: typeof import('./components/benchCol/index.vue')['default']
ConditionDrawer: typeof import('./components/drawer/conditionDrawer.vue')['default']
copy: typeof import('./components/DetailPage/index copy.vue')['default']
diff --git a/src/views/device/standardEquipment/cancelApply.vue b/src/views/device/standardEquipment/cancelApply.vue
index c093520..1e50f44 100644
--- a/src/views/device/standardEquipment/cancelApply.vue
+++ b/src/views/device/standardEquipment/cancelApply.vue
@@ -1,10 +1,11 @@
- 撤销申请
+
diff --git a/src/views/device/standardEquipment/changeApply.vue b/src/views/device/standardEquipment/changeApply.vue
index 0762330..6625970 100644
--- a/src/views/device/standardEquipment/changeApply.vue
+++ b/src/views/device/standardEquipment/changeApply.vue
@@ -1,10 +1,11 @@
-
- 更换申请
+
diff --git a/src/views/device/standardEquipment/checkApply.vue b/src/views/device/standardEquipment/checkApply.vue
index 9cadc01..6625970 100644
--- a/src/views/device/standardEquipment/checkApply.vue
+++ b/src/views/device/standardEquipment/checkApply.vue
@@ -1,10 +1,11 @@
- 复查申请
+
diff --git a/src/views/device/standardEquipment/components/applyList.vue b/src/views/device/standardEquipment/components/applyList.vue
new file mode 100644
index 0000000..45be74a
--- /dev/null
+++ b/src/views/device/standardEquipment/components/applyList.vue
@@ -0,0 +1,65 @@
+
+
+
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/all.vue b/src/views/device/standardEquipment/components/listApply/all.vue
new file mode 100644
index 0000000..d124307
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/all.vue
@@ -0,0 +1,17 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/approvalPending.vue b/src/views/device/standardEquipment/components/listApply/approvalPending.vue
new file mode 100644
index 0000000..8a7a8bc
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/approvalPending.vue
@@ -0,0 +1,16 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/canceled.vue b/src/views/device/standardEquipment/components/listApply/canceled.vue
new file mode 100644
index 0000000..3b9657c
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/canceled.vue
@@ -0,0 +1,15 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/draftBox.vue b/src/views/device/standardEquipment/components/listApply/draftBox.vue
new file mode 100644
index 0000000..43d7b75
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/draftBox.vue
@@ -0,0 +1,15 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue b/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue
new file mode 100644
index 0000000..c13f95a
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue
@@ -0,0 +1,17 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/listPage.vue b/src/views/device/standardEquipment/components/listApply/listPage.vue
new file mode 100644
index 0000000..5133627
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/listPage.vue
@@ -0,0 +1,493 @@
+
+
+
+
+
+
+
+
+
+
+
+ 同意
+
+
+ 驳回
+
+
+ 拒绝
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 提交
+
+
+ 取消
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/listPageAdd.vue b/src/views/device/standardEquipment/components/listApply/listPageAdd.vue
new file mode 100644
index 0000000..eb506ec
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/listPageAdd.vue
@@ -0,0 +1,1021 @@
+
+
+
+
+
+
+ 基本信息
+
+
+
+ {{ item }}
+
+
+ 关闭
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 上传
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 完成
+
+
+
+
+
+
+
+ 同意
+
+
+ 驳回
+
+
+ 拒绝
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 提交
+
+
+ 取消
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/notPass.vue b/src/views/device/standardEquipment/components/listApply/notPass.vue
new file mode 100644
index 0000000..5a4b817
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/notPass.vue
@@ -0,0 +1,10 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/passed.vue b/src/views/device/standardEquipment/components/listApply/passed.vue
new file mode 100644
index 0000000..31cd21c
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/passed.vue
@@ -0,0 +1,10 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/addRow.vue b/src/views/device/standardEquipment/components/standardList/addRow.vue
new file mode 100644
index 0000000..9f2bf81
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/addRow.vue
@@ -0,0 +1,270 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/baseInfo.vue b/src/views/device/standardEquipment/components/standardList/baseInfo.vue
new file mode 100644
index 0000000..c47ad1d
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/baseInfo.vue
@@ -0,0 +1,675 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 上传
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/temptable.vue b/src/views/device/standardEquipment/components/standardList/temptable.vue
new file mode 100644
index 0000000..20eb800
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/temptable.vue
@@ -0,0 +1,387 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ (searchQuery.offset - 1) * searchQuery.limit + scope.$index + 1 }}
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardListAdd.vue b/src/views/device/standardEquipment/components/standardListAdd.vue
index ea13629..348bb41 100644
--- a/src/views/device/standardEquipment/components/standardListAdd.vue
+++ b/src/views/device/standardEquipment/components/standardListAdd.vue
@@ -3,6 +3,8 @@
import { ElMessage, ElMessageBox } from 'element-plus'
import type { FormInstance, UploadProps, UploadUserFile } from 'element-plus'
import type { IOptions } from '../standard_interface'
+import baseInfo from './standardList/baseInfo.vue'
+import table from './standardList/temptable.vue'
import { getStaffList } from '@/api/measure/person'
import { getTypeSelect } from '@/api/system/price'
import { getStandardLisUpdate, getStandardListAdd, getStandardListDetail, getUsersDept } from '@/api/device/standard'
@@ -17,188 +19,35 @@
default: '',
},
})
-const emit = defineEmits(['close']) // 关闭
-const ruleFormRef = ref()
-// 逻辑代码
-const formInline = ref({
- assessDate: '',
- assessmentUnit: '',
- category: null,
- categoryName: '',
- constructionStandardProject: '',
- constructionStandardUnitName: '',
- contactInfo: '',
- createTime: null,
- createUser: null,
- id: '',
- isDel: null,
- laboratoryOwner: null,
- laboratoryOwnerContact: null,
- laboratoryOwnerName: null,
- managerState: null,
- managerStateName: '',
- measureMajor: null,
- fileList: [],
- measureMajorName: '',
- mesureRange: '',
- organizeNo: '',
- preparationDate: '',
- projectNo: '',
- remark: '',
- standardHumidity: null,
- standardLaboratory: null,
- standardLaboratoryName: '',
- standardLevel: null,
- standardLevelName: '',
- standardName: '',
- standardNo: '',
- standardOwner: null,
- standardOwnerName: '',
- standardTemperature: null,
- totalInvestment: null,
- transmitRange: null,
- transmitRangeName: '',
- uncertainty: '',
- updateTime: null,
- version: null,
-})
-const checkTypeOptions = ref([])
-
-const standardOwnerOptions = ref([]) // 标准负责人
-const fileList = ref([]) // 文件对象数组
-const measureMajorList = ref([]) // 计量专业下拉框
-const standardManagerStateList = ref([]) // 管理状态下拉框
-const standardLevelList = ref([]) // 标准等级下拉框
-const transmitRangeList = ref([]) // 传递范围下拉框
-// 标准所在部门下拉框
-const standardUsersDeptList = ref([])
-// 获取下拉框
-const getSelectList = (code: string) => {
- getTypeSelect(code).then((res) => {
- if (code === 'measureMajor') {
- measureMajorList.value = res.data
- }
- else if (code === 'standardManagerState') {
- standardManagerStateList.value = res.data
- }
- else if (code === 'standardLevel') {
- standardLevelList.value = res.data
- }
- else if (code === 'transmitRange') {
- transmitRangeList.value = res.data
- }
- else if (code === 'standardCategory') {
- checkTypeOptions.value = res.data
- }
- })
+const emit = defineEmits(['close'])
+// 定义数据
+const formInline = ref({})
+// 关闭
+interface menuType {
+ name: string
+ comp: any
}
-getSelectList('measureMajor') // 获取计量专业下拉框
-getSelectList('standardManagerState') // 获取管理状态下拉框
-getSelectList('standardLevel') // 获取标准等级下拉框
-getSelectList('transmitRange') // 获取传递范围下拉框
-getSelectList('standardCategory') // 获取类别下拉框
-// 获取部门信息
-getUsersDept({
- createTime: '',
- director: '',
- meterMajor: '',
- organizeName: '',
- organizeNo: '',
- organizeType: '2',
- pdeptId: null,
- offset: 1,
- limit: 999999,
-}).then((res) => {
- standardUsersDeptList.value = res.data.rows
+const menu = shallowRef([
+ { name: '基本信息', comp: baseInfo },
+ { name: '计量人员', comp: table },
+ { name: '标准配套设备', comp: table },
+ { name: '检定规程', comp: table },
+ { name: '重复性考核记录', comp: table },
+ { name: '稳定性考核记录', comp: table },
+ { name: '证书管理', comp: table },
+])
+const currentCompRef = ref()
+const current = ref('基本信息')
+const currentComp = shallowRef(baseInfo)
+watch(current, (newValue) => {
+ currentComp.value = menu.value.filter(item => item.name === newValue)[0].comp
})
-// 获取到标准负责人数组
-const getStandardOwnerOptions = () => {
- const params = {
- staffNo: '', // 人员编号
- name: '', // 姓名
- deptId: '', // 工作部门
- major: '', // 计量专业
- verifierCertificateNo: '', // 证书号
- certificateStatus: '', // 证书状态
- limit: 100000,
- offset: 1,
- }
- getStaffList(params).then((res) => {
- standardOwnerOptions.value = res.data.records
- })
-}
-getStandardOwnerOptions()
// 关闭
const close = () => {
emit('close')
}
-const rules = ref({
- standardName: [{ required: true, message: '标准名称不能为空', trigger: 'blur' }],
- projectNo: [{ required: true, message: '项目编号不能为空', trigger: 'blur' }],
- constructionStandardProject: [{ required: true, message: '建标项目不能为空', trigger: 'blur' }],
- organizeNo: [{ required: true, message: '组织机构代码不能为空', trigger: 'blur' }],
- constructionStandardUnitName: [{ required: true, message: '建标单位名称不能为空', trigger: 'blur' }],
- standardOwner: [{ required: true, message: '标准负责人不能为空', trigger: 'blur' }],
- contactInfo: [{ required: true, message: '联系方式不能为空', trigger: 'blur' }],
- category: [{ required: true, message: '类 别不能为空', trigger: 'blur' }],
- standardLevel: [{ required: true, message: '标准等级不能为空', trigger: 'blur' }],
- transmitRange: [{ required: true, message: '传递范围不能为空', trigger: 'blur' }],
- preparationDate: [{ required: true, message: '筹建日期不能为空', trigger: 'blur' }],
- managerState: [{ required: true, message: '管理状态不能为空', trigger: 'blur' }],
- measureMajor: [{ required: true, message: '计量专业不能为空', trigger: 'blur' }],
- assessmentUnit: [{ required: true, message: '考核单位不能为空', trigger: 'blur' }],
- assessDate: [{ required: true, message: '考核日期不能为空', trigger: 'blur' }],
- uncertainty: [{ required: true, message: '不确定度不能为空', trigger: 'blur' }],
- mesureRange: [{ required: true, message: '测量范围不能为空', trigger: 'blur' }],
- standardTemperature: [{ required: true, message: '标准温度不能为空', trigger: 'blur' },
- { pattern: /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/, message: '标准温度只能为数字', trigger: 'blur' }],
- standardHumidity: [{ required: true, message: '标准湿度不能为空', trigger: 'blur' },
- { pattern: /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/, message: '标准湿度只能为数字', trigger: 'blur' }],
-}) // 表单验证规则
-// 上传请求
-const uploadQuarterlyEvaluateFile = (file: File) => {
- const fd = new FormData()
- fd.append('multipartFile', file.file)
- UploadFile(fd).then((res) => {
- if (res.code === 200) {
- formInline.value.fileList = res.data
- // 重置当前验证
- ElMessage.success('文件上传成功')
- }
- })
-}
-const handleExceed: UploadProps['onExceed'] = (files, uploadFiles) => {
- ElMessage.warning('只能上传一个文件')
-}
-// 移除时触发
-const beforeRemove: UploadProps['beforeRemove'] = (uploadFile, uploadFiles) => {
- return ElMessageBox.confirm(
- `确认移除${uploadFile.name}文件吗 ?`,
- ).then(
- () => true,
- () => false,
-
- )
-}
-// 点击文件预览
-const uploadShow = (e: any) => {
- const URL = window.URL || window.webkitURL
- window.open(URL.createObjectURL(e.raw))
-}
-const testForm = ref({
- fileList: [],
- fileContent: '',
-})
-const handleFileChange = (files: any, fileList: any) => {
- testForm.value.fileList = fileList
- const reader = new FileReader()
- reader.readAsText(files.raw)
- // reader.onload = (e) => {
- // testForm.value.fileContent = e.target!.result?.replace(
- // /\n|\r\n/g,
- // '
',
- // )
- // }
+const setData = (newValue: object) => {
+ formInline.value = newValue
}
// 编辑获取详情的提交按钮
const submitFormDetail = () => {
@@ -223,60 +72,29 @@
}
}
// 提交
-const submitForm = (formEl: FormInstance | undefined) => {
- if (!formEl) { return }
+const submitForm = () => {
if (props.buttonType === '详情') { return submitFormDetail() }
- formEl.validate((valid, fields) => {
- if (valid) {
- ElMessageBox.confirm(
- '确认提交吗?',
- '提示',
- {
- confirmButtonText: '确认',
- cancelButtonText: '取消',
- type: 'warning',
- },
- ).then(() => {
- props.buttonType === ''
- ? getStandardListAdd(formInline.value).then((res) => {
- if (res.code === 200) {
- close()
- }
- })
- : submitFormDetail()
- })
- }
- })
-}
-// 标准实验室发生改变row类型
-interface rowReturn {
- phone: string
- director: string
-}
-// 标准实验室发生改变
-const changeDeptList = (row: object) => {
- formInline.value.laboratoryOwnerContact = row.phone
- formInline.value.laboratoryOwner = row.director
-}
-// 标准实验室清空时
-const clearDeptList = () => {
- formInline.value.laboratoryOwnerContact = null
- formInline.value.laboratoryOwner = null
-}
-// 获取详情信息
-const getInfo = () => {
- getStandardListDetail({ id: props.infoId }).then((res) => {
- Object.keys(res.data).map((item) => {
- if (typeof (res.data[item]) === 'number') {
- res.data[item] = res.data[item].toString()
- }
+ ElMessageBox.confirm(
+ '确认提交吗?',
+ '提示',
+ {
+ confirmButtonText: '确认',
+ cancelButtonText: '取消',
+ type: 'warning',
+ },
+ ).then(() => {
+ current.value = '基本信息'
+ currentCompRef.value.submitForm().validate().then(() => {
+ props.buttonType === ''
+ ? getStandardListAdd(formInline.value).then((res) => {
+ if (res.code === 200) {
+ close()
+ }
+ })
+ : submitFormDetail()
})
- formInline.value = res.data
})
}
-if (props.buttonType !== '') {
- getInfo()
-}
@@ -289,7 +107,7 @@
{{ buttonType === '详情' ? '打印' : '提交' }}
@@ -298,405 +116,17 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 上传
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
@@ -719,14 +149,8 @@
}
}
-.info-content {
- margin-top: 10px;
- padding: 30px;
- border-radius: 10px;
+.body {
background-color: #fff;
-}
-
-:deep .el-input .el-input--default .el-input--suffix {
- width: 200px !important;
+ margin-top: 10px;
}
diff --git a/src/views/device/standardEquipment/expirationRemind.vue b/src/views/device/standardEquipment/expirationRemind.vue
index 35786b2..1826c22 100644
--- a/src/views/device/standardEquipment/expirationRemind.vue
+++ b/src/views/device/standardEquipment/expirationRemind.vue
@@ -26,39 +26,47 @@
text: '标准代码',
value: 'standardNo',
width: '160',
+ align: 'center',
},
{
text: '标准名称',
value: 'standardName',
width: '90',
+ align: 'center',
},
{
text: '管理状态',
value: 'managerStateName',
width: '100',
+ align: 'center',
},
{
text: '标准所在部门',
value: 'standardLaboratoryName',
width: '120',
+ align: 'center',
},
{
text: '负责人',
value: 'standardOwnerName',
+ align: 'center',
},
{
text: '建标项目',
value: 'standardOwnerName',
+ align: 'center',
},
{
text: '筹建日期',
value: 'preparationDate',
width: '160',
+ align: 'center',
},
{
text: '有效日期',
value: 'preparationDate',
width: '160',
+ align: 'center',
},
])
const total = ref(0)
@@ -326,12 +334,8 @@
-
- 导出
-
-
- 打印
-
+
+
- 编辑
+ 详情
- 详情
+ 提醒
+import applyList from './components/applyList.vue'
// 逻辑代码
- 暂停申请
+
diff --git a/src/views/device/standardEquipment/resumeApply.vue b/src/views/device/standardEquipment/resumeApply.vue
index d4a80e8..b5896fc 100644
--- a/src/views/device/standardEquipment/resumeApply.vue
+++ b/src/views/device/standardEquipment/resumeApply.vue
@@ -1,10 +1,11 @@
- 恢复申请
+
diff --git a/src/views/device/standardEquipment/standardList.vue b/src/views/device/standardEquipment/standardList.vue
index 4f1bfdf..348ed71 100644
--- a/src/views/device/standardEquipment/standardList.vue
+++ b/src/views/device/standardEquipment/standardList.vue
@@ -29,50 +29,60 @@
text: '标准代码',
value: 'standardNo',
width: '120',
+ align: 'center',
},
{
text: '标准名称',
value: 'standardName',
width: '90',
+ align: 'center',
},
{
text: '类别',
value: 'categoryName',
width: '80',
+ align: 'center',
},
{
text: '标准等级',
value: 'standardLevelName',
width: '100',
+ align: 'center',
},
{
text: '传递范围',
value: 'transmitRange',
width: '110',
+ align: 'center',
},
{
text: '管理状态',
value: 'managerStateName',
width: '100',
+ align: 'center',
},
{
text: '标准所在部门',
value: 'standardLaboratoryName',
width: '120',
+ align: 'center',
},
{
text: '负责人',
value: 'laboratoryOwner',
+ align: 'center',
},
{
text: '筹建日期',
value: 'preparationDate',
width: '110',
+ align: 'center',
},
{
text: '备注',
value: 'remark',
width: '80',
+ align: 'center',
},
])
const total = ref(0)
@@ -250,6 +260,9 @@
buttonType.value = text
isShow.value = false
}
+const renderHeader = (e: any) => {
+ console.log(e)
+}
@@ -330,19 +343,13 @@
-
- 新建
-
-
- 导出
-
-
- 打印
-
+
+
+
diff --git a/src/views/device/stateManage/components/approvalActionDialog.vue b/src/views/device/stateManage/components/approvalActionDialog.vue
index cdc9b25..56417d6 100644
--- a/src/views/device/stateManage/components/approvalActionDialog.vue
+++ b/src/views/device/stateManage/components/approvalActionDialog.vue
@@ -1,10 +1,13 @@
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/cancel.vue b/src/views/device/stateManage/components/status/cancel.vue
new file mode 100644
index 0000000..ecb2d0c
--- /dev/null
+++ b/src/views/device/stateManage/components/status/cancel.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/drafts.vue b/src/views/device/stateManage/components/status/drafts.vue
new file mode 100644
index 0000000..226ba21
--- /dev/null
+++ b/src/views/device/stateManage/components/status/drafts.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/inApproval.vue b/src/views/device/stateManage/components/status/inApproval.vue
new file mode 100644
index 0000000..4988595
--- /dev/null
+++ b/src/views/device/stateManage/components/status/inApproval.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/passed.vue b/src/views/device/stateManage/components/status/passed.vue
new file mode 100644
index 0000000..ab87daf
--- /dev/null
+++ b/src/views/device/stateManage/components/status/passed.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/pending.vue b/src/views/device/stateManage/components/status/pending.vue
new file mode 100644
index 0000000..3e0b315
--- /dev/null
+++ b/src/views/device/stateManage/components/status/pending.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/unPassed.vue b/src/views/device/stateManage/components/status/unPassed.vue
new file mode 100644
index 0000000..8de700e
--- /dev/null
+++ b/src/views/device/stateManage/components/status/unPassed.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/templateAdd.vue b/src/views/device/stateManage/components/templateAdd.vue
index 9c4da0f..fc364c8 100644
--- a/src/views/device/stateManage/components/templateAdd.vue
+++ b/src/views/device/stateManage/components/templateAdd.vue
@@ -381,10 +381,10 @@
-
+
diff --git a/src/views/device/stateManage/components/templateList.vue b/src/views/device/stateManage/components/templateList.vue
index 6ee2e8c..aa3963f 100644
--- a/src/views/device/stateManage/components/templateList.vue
+++ b/src/views/device/stateManage/components/templateList.vue
@@ -8,6 +8,10 @@
type: String,
default: '',
},
+ title: {
+ type: String,
+ default: '',
+ },
})
// import { exportFile } from '@/utils/exportUtils'
// const { proxy } = getCurrentInstance() as any
@@ -179,15 +183,23 @@
// 同意
const agree = (row) => {
console.log(approveRef.value)
- approveRef.value.initDialog()
+ approveRef.value.initDialog({
+ radio: '1',
+ })
}
// 驳回
const reject = (row) => {
- approveRef.value.initDialog()
+ approveRef.value.initDialog({
+ radio: '3',
+ })
}
// 拒绝
const refuse = (row) => {
- approveRef.value.initDialog()
+ approveRef.value.initDialog(
+ {
+ radio: '2',
+ },
+ )
}
// 取消
const cancel = (row) => {
diff --git a/src/views/device/stateManage/components/templatePage.vue b/src/views/device/stateManage/components/templatePage.vue
index 5fb0163..fce7685 100644
--- a/src/views/device/stateManage/components/templatePage.vue
+++ b/src/views/device/stateManage/components/templatePage.vue
@@ -1,6 +1,12 @@
- 设备处置申请
+
diff --git a/src/views/device/stateManage/openApply.vue b/src/views/device/stateManage/openApply.vue
index 3c43781..35c2af6 100644
--- a/src/views/device/stateManage/openApply.vue
+++ b/src/views/device/stateManage/openApply.vue
@@ -1,13 +1,14 @@
- 设备启封申请
+
+
diff --git a/src/views/device/stateManage/scrapApply.vue b/src/views/device/stateManage/scrapApply.vue
index 7bd1a98..282ecd8 100644
--- a/src/views/device/stateManage/scrapApply.vue
+++ b/src/views/device/stateManage/scrapApply.vue
@@ -1,10 +1,10 @@
- 设备报废申请
+
diff --git a/src/views/device/stateManage/sealupApply.vue b/src/views/device/stateManage/sealupApply.vue
index ec6320b..1c8544d 100644
--- a/src/views/device/stateManage/sealupApply.vue
+++ b/src/views/device/stateManage/sealupApply.vue
@@ -1,10 +1,10 @@
- 设备封存申请
+
diff --git a/src/views/measure/bench/bench.vue b/src/views/measure/bench/bench.vue
index cb2ebe6..380779a 100644
--- a/src/views/measure/bench/bench.vue
+++ b/src/views/measure/bench/bench.vue
@@ -175,7 +175,7 @@
v-if="proxy.hasPerm('/workbench/meterTrain/line')"
title="培训计划"
width="27.8vw"
- height="40vh"
+ height="40.7vh"
>
([])
+const PubListTree = ref([])
// 获取发布单位列表
const getPubList = () => {
getDeptTreeList().then((res) => {
PubList.value = res.data
+ PubListTree.value = toTreeList(res.data, '0', true)
})
}
// 弹窗初始化
@@ -73,7 +80,8 @@
if (row.title === '新建') {
// 默认发布人和发布单位
ruleForm.createUserId = userInfo.$state.id
- ruleForm.publisher = userInfo.$state.deptId
+ ruleForm.publisher = ''
+ ruleForm.publishTime = dayjs().format('YYYY-MM-DD HH:mm:ss')
// 判断有无存储
console.log(sessionStorage.getItem(fileTypeName.value), 'sess')
if (sessionStorage.getItem(fileTypeName.value)) {
@@ -207,11 +215,12 @@
// { name: '已废止', id: '1595030083114450945', value: '3' },
// ])
watch(() => ruleForm.effectiveTime, (newVal) => {
- const diffDat = dayjs(newVal).diff(dayjs().format('YYYY-MM-DD HH:mm:ss'), 'day')
+ const diffDat = dayjs(newVal).diff(dayjs().format('YYYY-MM-DD HH:mm:ss'), 'hour')
+ console.log(diffDat)
if (diffDat < 0) {
// ruleForm.effectiveStatusName = '已废止'
- effectiveStatusName.value = '已废止'
- ruleForm.effectiveStatus = '3'
+ effectiveStatusName.value = '在使用'
+ ruleForm.effectiveStatus = '1'
}
else if (diffDat == 0) {
// ruleForm.effectiveStatusName = '在使用'
@@ -269,15 +278,20 @@
-
+
+
@@ -293,7 +307,7 @@
diff --git a/src/views/measure/person/certificateLog.vue b/src/views/measure/person/certificateLog.vue
index ca26b00..2e3322a 100644
--- a/src/views/measure/person/certificateLog.vue
+++ b/src/views/measure/person/certificateLog.vue
@@ -32,13 +32,13 @@
const loadingTable = ref(false) // 表格loading
const total = ref(0) // 数据总条数
const columns = ref([
- { text: '人员编号', value: 'staffNo', align: 'center', width: '150' },
+ { text: '人员编号', value: 'staffNo', align: 'center', width: '180' },
{ text: '姓名', value: 'name', align: 'center', width: '80' },
{ text: '性别', value: 'sex', align: 'center', width: '55' },
{ text: '工作部门', value: 'deptId', align: 'center', width: '140' },
{ text: '技术职务', value: 'technologyJob', align: 'center', width: '120' },
{ text: '行政职务', value: 'administrationJob', align: 'center', width: '90' },
- { text: '证书号', value: 'certificateNo', align: 'center', width: '150' },
+ { text: '证书号', value: 'certificateNo', align: 'center' },
{ text: '发证单位', value: 'certificateCompany', align: 'center', width: '90' },
{ text: '发证日期', value: 'certificateDate', align: 'center', width: '200' },
{ text: '证书有效日期', value: 'certificateDate', align: 'center', width: '200' },
diff --git a/src/views/measure/person/components/addPerson.vue b/src/views/measure/person/components/addPerson.vue
index 9252393..4dc1b17 100644
--- a/src/views/measure/person/components/addPerson.vue
+++ b/src/views/measure/person/components/addPerson.vue
@@ -10,7 +10,7 @@
import { getDeptTreeList } from '@/api/system/dept'
import { UploadFile } from '@/api/measure/file'
import { toTreeList } from '@/utils/structure'
-import type { userType } from '@/views/system/user/user-interface'
+import type { TreeStructure, userType } from '@/views/system/user/user-interface'
import { getDictByCode } from '@/api/system/dict'
import comTreeSelect from '@/views/system/user/selecTree.vue'
import { getStaffAdd, getStaffDetail, getStaffupdate } from '@/api/measure/person'
@@ -67,7 +67,7 @@
ruleFormRef.value?.validateField('idCard').then((res) => {
// 获取生日
const IdCard = ruleForm.value.idCard
- const birthday = `${IdCard.substring(6, 10)}-${IdCard.substring(10, 12)}-${IdCard.substring(12, 14)}`
+ const birthday = `${IdCard.substring(6, 10)}-${IdCard.substring(10, 12)}`
ruleForm.value.birthday = birthday
console.log(ruleForm.value)
})
@@ -86,12 +86,14 @@
const deptProps = reactive({
parent: 'pid', value: 'id', label: 'name', children: 'children',
})
-const PubList = ref([])
+const PubList = ref([])
+const PubListTree = ref([])
// 获取组织列表
const getPubList = () => {
getDeptTreeList().then((res) => {
// 转成树结构
- PubList.value = toTreeList(res.data, '0', true)
+ PubList.value = res.data
+ PubListTree.value = toTreeList(res.data, '0', true)
})
}
const sexList = ref<{ id: string; value: string; name: string }[]>()
@@ -343,7 +345,7 @@
getTechnologyJobList()
getAdministrationJob()
if (row.title === '新建') {
- console.log()
+ // ruleForm.value.deptId = ''
}
else {
getStaffDetail({ ...row }).then((res) => {
@@ -371,7 +373,7 @@
-
-
+
+
@@ -404,20 +405,36 @@
-
+
+
+
+ 选择
+
+
+
-
-
-
-
+
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
@@ -425,82 +442,52 @@
-
+
-
-
-
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
@@ -551,6 +538,7 @@
border-radius: 8px;
padding-top: 10px;
margin-top: 10px;
+ padding-right: 10px;
}
.header {
@@ -578,6 +566,20 @@
display: none;
}
+ :deep(.el-icon.avatar-uploader-icon) {
+ font-size: 28px;
+ color: #8c939d;
+ width: 190px;
+ height: 250px;
+ text-align: center;
+ }
+
+ :deep(.avatar-uploader .avatar) {
+ width: 190px;
+ height: 250px;
+ display: block;
+ }
+
.isDetail {
::v-deep {
.el-form-item.is-required:not(.is-no-asterisk) .el-form-item__label-wrap > .el-form-item__label::before,
@@ -591,12 +593,16 @@
.marg {
margin-top: 20px;
}
+
+.marg-item {
+ margin-top: 20px;
+}
@@ -618,8 +624,8 @@
.el-icon.avatar-uploader-icon {
font-size: 28px;
color: #8c939d;
- width: 178px;
- height: 178px;
+ width: 220px;
+ height: 320px;
text-align: center;
}
diff --git a/src/views/measure/person/components/addRecord.vue b/src/views/measure/person/components/addRecord.vue
index 2928870..ae48f11 100644
--- a/src/views/measure/person/components/addRecord.vue
+++ b/src/views/measure/person/components/addRecord.vue
@@ -9,7 +9,7 @@
import { getUserList } from '@/api/system/user'
import { getDeptTreeList } from '@/api/system/dept'
import { toTreeList } from '@/utils/structure'
-import type { userType } from '@/views/system/user/user-interface'
+import type { TreeStructure, userType } from '@/views/system/user/user-interface'
import { getDictByCode } from '@/api/system/dict'
import comTreeSelect from '@/views/system/user/selecTree.vue'
import { addCertificateList, getCertificateDetail, getCertificateUpdate } from '@/api/measure/person'
@@ -59,12 +59,14 @@
const deptProps = reactive({
parent: 'pid', value: 'id', label: 'name', children: 'children',
})
-const PubList = ref([])
+const PubList = ref
([])
+const PubListTree = ref([])
// 获取组织列表
const getPubList = () => {
getDeptTreeList().then((res) => {
// 转成树结构
- PubList.value = toTreeList(res.data, '0', true)
+ PubList.value = res.data
+ PubListTree.value = toTreeList(res.data, '0', true)
})
}
const sexList = ref<{ id: string; value: string; name: string }[]>()
@@ -330,7 +332,13 @@
-
+
+
+
+ 选择
+
+
+
@@ -377,10 +385,12 @@
-
+
+
+
diff --git a/src/views/measure/person/components/personListDialog.vue b/src/views/measure/person/components/personListDialog.vue
index 952da9d..5e20d1b 100644
--- a/src/views/measure/person/components/personListDialog.vue
+++ b/src/views/measure/person/components/personListDialog.vue
@@ -1,6 +1,6 @@
- 撤销申请
+
diff --git a/src/views/device/standardEquipment/changeApply.vue b/src/views/device/standardEquipment/changeApply.vue
index 0762330..6625970 100644
--- a/src/views/device/standardEquipment/changeApply.vue
+++ b/src/views/device/standardEquipment/changeApply.vue
@@ -1,10 +1,11 @@
-
- 更换申请
+
diff --git a/src/views/device/standardEquipment/checkApply.vue b/src/views/device/standardEquipment/checkApply.vue
index 9cadc01..6625970 100644
--- a/src/views/device/standardEquipment/checkApply.vue
+++ b/src/views/device/standardEquipment/checkApply.vue
@@ -1,10 +1,11 @@
- 复查申请
+
diff --git a/src/views/device/standardEquipment/components/applyList.vue b/src/views/device/standardEquipment/components/applyList.vue
new file mode 100644
index 0000000..45be74a
--- /dev/null
+++ b/src/views/device/standardEquipment/components/applyList.vue
@@ -0,0 +1,65 @@
+
+
+
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/all.vue b/src/views/device/standardEquipment/components/listApply/all.vue
new file mode 100644
index 0000000..d124307
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/all.vue
@@ -0,0 +1,17 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/approvalPending.vue b/src/views/device/standardEquipment/components/listApply/approvalPending.vue
new file mode 100644
index 0000000..8a7a8bc
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/approvalPending.vue
@@ -0,0 +1,16 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/canceled.vue b/src/views/device/standardEquipment/components/listApply/canceled.vue
new file mode 100644
index 0000000..3b9657c
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/canceled.vue
@@ -0,0 +1,15 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/draftBox.vue b/src/views/device/standardEquipment/components/listApply/draftBox.vue
new file mode 100644
index 0000000..43d7b75
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/draftBox.vue
@@ -0,0 +1,15 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue b/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue
new file mode 100644
index 0000000..c13f95a
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue
@@ -0,0 +1,17 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/listPage.vue b/src/views/device/standardEquipment/components/listApply/listPage.vue
new file mode 100644
index 0000000..5133627
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/listPage.vue
@@ -0,0 +1,493 @@
+
+
+
+
+
+
+
+
+
+
+
+ 同意
+
+
+ 驳回
+
+
+ 拒绝
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 提交
+
+
+ 取消
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/listPageAdd.vue b/src/views/device/standardEquipment/components/listApply/listPageAdd.vue
new file mode 100644
index 0000000..eb506ec
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/listPageAdd.vue
@@ -0,0 +1,1021 @@
+
+
+
+
+
+
+ 基本信息
+
+
+
+ {{ item }}
+
+
+ 关闭
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 上传
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 完成
+
+
+
+
+
+
+
+ 同意
+
+
+ 驳回
+
+
+ 拒绝
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 提交
+
+
+ 取消
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/notPass.vue b/src/views/device/standardEquipment/components/listApply/notPass.vue
new file mode 100644
index 0000000..5a4b817
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/notPass.vue
@@ -0,0 +1,10 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/passed.vue b/src/views/device/standardEquipment/components/listApply/passed.vue
new file mode 100644
index 0000000..31cd21c
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/passed.vue
@@ -0,0 +1,10 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/addRow.vue b/src/views/device/standardEquipment/components/standardList/addRow.vue
new file mode 100644
index 0000000..9f2bf81
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/addRow.vue
@@ -0,0 +1,270 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/baseInfo.vue b/src/views/device/standardEquipment/components/standardList/baseInfo.vue
new file mode 100644
index 0000000..c47ad1d
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/baseInfo.vue
@@ -0,0 +1,675 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 上传
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/temptable.vue b/src/views/device/standardEquipment/components/standardList/temptable.vue
new file mode 100644
index 0000000..20eb800
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/temptable.vue
@@ -0,0 +1,387 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ (searchQuery.offset - 1) * searchQuery.limit + scope.$index + 1 }}
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardListAdd.vue b/src/views/device/standardEquipment/components/standardListAdd.vue
index ea13629..348bb41 100644
--- a/src/views/device/standardEquipment/components/standardListAdd.vue
+++ b/src/views/device/standardEquipment/components/standardListAdd.vue
@@ -3,6 +3,8 @@
import { ElMessage, ElMessageBox } from 'element-plus'
import type { FormInstance, UploadProps, UploadUserFile } from 'element-plus'
import type { IOptions } from '../standard_interface'
+import baseInfo from './standardList/baseInfo.vue'
+import table from './standardList/temptable.vue'
import { getStaffList } from '@/api/measure/person'
import { getTypeSelect } from '@/api/system/price'
import { getStandardLisUpdate, getStandardListAdd, getStandardListDetail, getUsersDept } from '@/api/device/standard'
@@ -17,188 +19,35 @@
default: '',
},
})
-const emit = defineEmits(['close']) // 关闭
-const ruleFormRef = ref()
-// 逻辑代码
-const formInline = ref({
- assessDate: '',
- assessmentUnit: '',
- category: null,
- categoryName: '',
- constructionStandardProject: '',
- constructionStandardUnitName: '',
- contactInfo: '',
- createTime: null,
- createUser: null,
- id: '',
- isDel: null,
- laboratoryOwner: null,
- laboratoryOwnerContact: null,
- laboratoryOwnerName: null,
- managerState: null,
- managerStateName: '',
- measureMajor: null,
- fileList: [],
- measureMajorName: '',
- mesureRange: '',
- organizeNo: '',
- preparationDate: '',
- projectNo: '',
- remark: '',
- standardHumidity: null,
- standardLaboratory: null,
- standardLaboratoryName: '',
- standardLevel: null,
- standardLevelName: '',
- standardName: '',
- standardNo: '',
- standardOwner: null,
- standardOwnerName: '',
- standardTemperature: null,
- totalInvestment: null,
- transmitRange: null,
- transmitRangeName: '',
- uncertainty: '',
- updateTime: null,
- version: null,
-})
-const checkTypeOptions = ref([])
-
-const standardOwnerOptions = ref([]) // 标准负责人
-const fileList = ref([]) // 文件对象数组
-const measureMajorList = ref([]) // 计量专业下拉框
-const standardManagerStateList = ref([]) // 管理状态下拉框
-const standardLevelList = ref([]) // 标准等级下拉框
-const transmitRangeList = ref([]) // 传递范围下拉框
-// 标准所在部门下拉框
-const standardUsersDeptList = ref([])
-// 获取下拉框
-const getSelectList = (code: string) => {
- getTypeSelect(code).then((res) => {
- if (code === 'measureMajor') {
- measureMajorList.value = res.data
- }
- else if (code === 'standardManagerState') {
- standardManagerStateList.value = res.data
- }
- else if (code === 'standardLevel') {
- standardLevelList.value = res.data
- }
- else if (code === 'transmitRange') {
- transmitRangeList.value = res.data
- }
- else if (code === 'standardCategory') {
- checkTypeOptions.value = res.data
- }
- })
+const emit = defineEmits(['close'])
+// 定义数据
+const formInline = ref({})
+// 关闭
+interface menuType {
+ name: string
+ comp: any
}
-getSelectList('measureMajor') // 获取计量专业下拉框
-getSelectList('standardManagerState') // 获取管理状态下拉框
-getSelectList('standardLevel') // 获取标准等级下拉框
-getSelectList('transmitRange') // 获取传递范围下拉框
-getSelectList('standardCategory') // 获取类别下拉框
-// 获取部门信息
-getUsersDept({
- createTime: '',
- director: '',
- meterMajor: '',
- organizeName: '',
- organizeNo: '',
- organizeType: '2',
- pdeptId: null,
- offset: 1,
- limit: 999999,
-}).then((res) => {
- standardUsersDeptList.value = res.data.rows
+const menu = shallowRef([
+ { name: '基本信息', comp: baseInfo },
+ { name: '计量人员', comp: table },
+ { name: '标准配套设备', comp: table },
+ { name: '检定规程', comp: table },
+ { name: '重复性考核记录', comp: table },
+ { name: '稳定性考核记录', comp: table },
+ { name: '证书管理', comp: table },
+])
+const currentCompRef = ref()
+const current = ref('基本信息')
+const currentComp = shallowRef(baseInfo)
+watch(current, (newValue) => {
+ currentComp.value = menu.value.filter(item => item.name === newValue)[0].comp
})
-// 获取到标准负责人数组
-const getStandardOwnerOptions = () => {
- const params = {
- staffNo: '', // 人员编号
- name: '', // 姓名
- deptId: '', // 工作部门
- major: '', // 计量专业
- verifierCertificateNo: '', // 证书号
- certificateStatus: '', // 证书状态
- limit: 100000,
- offset: 1,
- }
- getStaffList(params).then((res) => {
- standardOwnerOptions.value = res.data.records
- })
-}
-getStandardOwnerOptions()
// 关闭
const close = () => {
emit('close')
}
-const rules = ref({
- standardName: [{ required: true, message: '标准名称不能为空', trigger: 'blur' }],
- projectNo: [{ required: true, message: '项目编号不能为空', trigger: 'blur' }],
- constructionStandardProject: [{ required: true, message: '建标项目不能为空', trigger: 'blur' }],
- organizeNo: [{ required: true, message: '组织机构代码不能为空', trigger: 'blur' }],
- constructionStandardUnitName: [{ required: true, message: '建标单位名称不能为空', trigger: 'blur' }],
- standardOwner: [{ required: true, message: '标准负责人不能为空', trigger: 'blur' }],
- contactInfo: [{ required: true, message: '联系方式不能为空', trigger: 'blur' }],
- category: [{ required: true, message: '类 别不能为空', trigger: 'blur' }],
- standardLevel: [{ required: true, message: '标准等级不能为空', trigger: 'blur' }],
- transmitRange: [{ required: true, message: '传递范围不能为空', trigger: 'blur' }],
- preparationDate: [{ required: true, message: '筹建日期不能为空', trigger: 'blur' }],
- managerState: [{ required: true, message: '管理状态不能为空', trigger: 'blur' }],
- measureMajor: [{ required: true, message: '计量专业不能为空', trigger: 'blur' }],
- assessmentUnit: [{ required: true, message: '考核单位不能为空', trigger: 'blur' }],
- assessDate: [{ required: true, message: '考核日期不能为空', trigger: 'blur' }],
- uncertainty: [{ required: true, message: '不确定度不能为空', trigger: 'blur' }],
- mesureRange: [{ required: true, message: '测量范围不能为空', trigger: 'blur' }],
- standardTemperature: [{ required: true, message: '标准温度不能为空', trigger: 'blur' },
- { pattern: /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/, message: '标准温度只能为数字', trigger: 'blur' }],
- standardHumidity: [{ required: true, message: '标准湿度不能为空', trigger: 'blur' },
- { pattern: /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/, message: '标准湿度只能为数字', trigger: 'blur' }],
-}) // 表单验证规则
-// 上传请求
-const uploadQuarterlyEvaluateFile = (file: File) => {
- const fd = new FormData()
- fd.append('multipartFile', file.file)
- UploadFile(fd).then((res) => {
- if (res.code === 200) {
- formInline.value.fileList = res.data
- // 重置当前验证
- ElMessage.success('文件上传成功')
- }
- })
-}
-const handleExceed: UploadProps['onExceed'] = (files, uploadFiles) => {
- ElMessage.warning('只能上传一个文件')
-}
-// 移除时触发
-const beforeRemove: UploadProps['beforeRemove'] = (uploadFile, uploadFiles) => {
- return ElMessageBox.confirm(
- `确认移除${uploadFile.name}文件吗 ?`,
- ).then(
- () => true,
- () => false,
-
- )
-}
-// 点击文件预览
-const uploadShow = (e: any) => {
- const URL = window.URL || window.webkitURL
- window.open(URL.createObjectURL(e.raw))
-}
-const testForm = ref({
- fileList: [],
- fileContent: '',
-})
-const handleFileChange = (files: any, fileList: any) => {
- testForm.value.fileList = fileList
- const reader = new FileReader()
- reader.readAsText(files.raw)
- // reader.onload = (e) => {
- // testForm.value.fileContent = e.target!.result?.replace(
- // /\n|\r\n/g,
- // '
',
- // )
- // }
+const setData = (newValue: object) => {
+ formInline.value = newValue
}
// 编辑获取详情的提交按钮
const submitFormDetail = () => {
@@ -223,60 +72,29 @@
}
}
// 提交
-const submitForm = (formEl: FormInstance | undefined) => {
- if (!formEl) { return }
+const submitForm = () => {
if (props.buttonType === '详情') { return submitFormDetail() }
- formEl.validate((valid, fields) => {
- if (valid) {
- ElMessageBox.confirm(
- '确认提交吗?',
- '提示',
- {
- confirmButtonText: '确认',
- cancelButtonText: '取消',
- type: 'warning',
- },
- ).then(() => {
- props.buttonType === ''
- ? getStandardListAdd(formInline.value).then((res) => {
- if (res.code === 200) {
- close()
- }
- })
- : submitFormDetail()
- })
- }
- })
-}
-// 标准实验室发生改变row类型
-interface rowReturn {
- phone: string
- director: string
-}
-// 标准实验室发生改变
-const changeDeptList = (row: object) => {
- formInline.value.laboratoryOwnerContact = row.phone
- formInline.value.laboratoryOwner = row.director
-}
-// 标准实验室清空时
-const clearDeptList = () => {
- formInline.value.laboratoryOwnerContact = null
- formInline.value.laboratoryOwner = null
-}
-// 获取详情信息
-const getInfo = () => {
- getStandardListDetail({ id: props.infoId }).then((res) => {
- Object.keys(res.data).map((item) => {
- if (typeof (res.data[item]) === 'number') {
- res.data[item] = res.data[item].toString()
- }
+ ElMessageBox.confirm(
+ '确认提交吗?',
+ '提示',
+ {
+ confirmButtonText: '确认',
+ cancelButtonText: '取消',
+ type: 'warning',
+ },
+ ).then(() => {
+ current.value = '基本信息'
+ currentCompRef.value.submitForm().validate().then(() => {
+ props.buttonType === ''
+ ? getStandardListAdd(formInline.value).then((res) => {
+ if (res.code === 200) {
+ close()
+ }
+ })
+ : submitFormDetail()
})
- formInline.value = res.data
})
}
-if (props.buttonType !== '') {
- getInfo()
-}
@@ -289,7 +107,7 @@
{{ buttonType === '详情' ? '打印' : '提交' }}
@@ -298,405 +116,17 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 上传
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
@@ -719,14 +149,8 @@
}
}
-.info-content {
- margin-top: 10px;
- padding: 30px;
- border-radius: 10px;
+.body {
background-color: #fff;
-}
-
-:deep .el-input .el-input--default .el-input--suffix {
- width: 200px !important;
+ margin-top: 10px;
}
diff --git a/src/views/device/standardEquipment/expirationRemind.vue b/src/views/device/standardEquipment/expirationRemind.vue
index 35786b2..1826c22 100644
--- a/src/views/device/standardEquipment/expirationRemind.vue
+++ b/src/views/device/standardEquipment/expirationRemind.vue
@@ -26,39 +26,47 @@
text: '标准代码',
value: 'standardNo',
width: '160',
+ align: 'center',
},
{
text: '标准名称',
value: 'standardName',
width: '90',
+ align: 'center',
},
{
text: '管理状态',
value: 'managerStateName',
width: '100',
+ align: 'center',
},
{
text: '标准所在部门',
value: 'standardLaboratoryName',
width: '120',
+ align: 'center',
},
{
text: '负责人',
value: 'standardOwnerName',
+ align: 'center',
},
{
text: '建标项目',
value: 'standardOwnerName',
+ align: 'center',
},
{
text: '筹建日期',
value: 'preparationDate',
width: '160',
+ align: 'center',
},
{
text: '有效日期',
value: 'preparationDate',
width: '160',
+ align: 'center',
},
])
const total = ref(0)
@@ -326,12 +334,8 @@
-
- 导出
-
-
- 打印
-
+
+
- 编辑
+ 详情
- 详情
+ 提醒
+import applyList from './components/applyList.vue'
// 逻辑代码
- 暂停申请
+
diff --git a/src/views/device/standardEquipment/resumeApply.vue b/src/views/device/standardEquipment/resumeApply.vue
index d4a80e8..b5896fc 100644
--- a/src/views/device/standardEquipment/resumeApply.vue
+++ b/src/views/device/standardEquipment/resumeApply.vue
@@ -1,10 +1,11 @@
- 恢复申请
+
diff --git a/src/views/device/standardEquipment/standardList.vue b/src/views/device/standardEquipment/standardList.vue
index 4f1bfdf..348ed71 100644
--- a/src/views/device/standardEquipment/standardList.vue
+++ b/src/views/device/standardEquipment/standardList.vue
@@ -29,50 +29,60 @@
text: '标准代码',
value: 'standardNo',
width: '120',
+ align: 'center',
},
{
text: '标准名称',
value: 'standardName',
width: '90',
+ align: 'center',
},
{
text: '类别',
value: 'categoryName',
width: '80',
+ align: 'center',
},
{
text: '标准等级',
value: 'standardLevelName',
width: '100',
+ align: 'center',
},
{
text: '传递范围',
value: 'transmitRange',
width: '110',
+ align: 'center',
},
{
text: '管理状态',
value: 'managerStateName',
width: '100',
+ align: 'center',
},
{
text: '标准所在部门',
value: 'standardLaboratoryName',
width: '120',
+ align: 'center',
},
{
text: '负责人',
value: 'laboratoryOwner',
+ align: 'center',
},
{
text: '筹建日期',
value: 'preparationDate',
width: '110',
+ align: 'center',
},
{
text: '备注',
value: 'remark',
width: '80',
+ align: 'center',
},
])
const total = ref(0)
@@ -250,6 +260,9 @@
buttonType.value = text
isShow.value = false
}
+const renderHeader = (e: any) => {
+ console.log(e)
+}
@@ -330,19 +343,13 @@
-
- 新建
-
-
- 导出
-
-
- 打印
-
+
+
+
diff --git a/src/views/device/stateManage/components/approvalActionDialog.vue b/src/views/device/stateManage/components/approvalActionDialog.vue
index cdc9b25..56417d6 100644
--- a/src/views/device/stateManage/components/approvalActionDialog.vue
+++ b/src/views/device/stateManage/components/approvalActionDialog.vue
@@ -1,10 +1,13 @@
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/cancel.vue b/src/views/device/stateManage/components/status/cancel.vue
new file mode 100644
index 0000000..ecb2d0c
--- /dev/null
+++ b/src/views/device/stateManage/components/status/cancel.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/drafts.vue b/src/views/device/stateManage/components/status/drafts.vue
new file mode 100644
index 0000000..226ba21
--- /dev/null
+++ b/src/views/device/stateManage/components/status/drafts.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/inApproval.vue b/src/views/device/stateManage/components/status/inApproval.vue
new file mode 100644
index 0000000..4988595
--- /dev/null
+++ b/src/views/device/stateManage/components/status/inApproval.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/passed.vue b/src/views/device/stateManage/components/status/passed.vue
new file mode 100644
index 0000000..ab87daf
--- /dev/null
+++ b/src/views/device/stateManage/components/status/passed.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/pending.vue b/src/views/device/stateManage/components/status/pending.vue
new file mode 100644
index 0000000..3e0b315
--- /dev/null
+++ b/src/views/device/stateManage/components/status/pending.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/unPassed.vue b/src/views/device/stateManage/components/status/unPassed.vue
new file mode 100644
index 0000000..8de700e
--- /dev/null
+++ b/src/views/device/stateManage/components/status/unPassed.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/templateAdd.vue b/src/views/device/stateManage/components/templateAdd.vue
index 9c4da0f..fc364c8 100644
--- a/src/views/device/stateManage/components/templateAdd.vue
+++ b/src/views/device/stateManage/components/templateAdd.vue
@@ -381,10 +381,10 @@
-
+
diff --git a/src/views/device/stateManage/components/templateList.vue b/src/views/device/stateManage/components/templateList.vue
index 6ee2e8c..aa3963f 100644
--- a/src/views/device/stateManage/components/templateList.vue
+++ b/src/views/device/stateManage/components/templateList.vue
@@ -8,6 +8,10 @@
type: String,
default: '',
},
+ title: {
+ type: String,
+ default: '',
+ },
})
// import { exportFile } from '@/utils/exportUtils'
// const { proxy } = getCurrentInstance() as any
@@ -179,15 +183,23 @@
// 同意
const agree = (row) => {
console.log(approveRef.value)
- approveRef.value.initDialog()
+ approveRef.value.initDialog({
+ radio: '1',
+ })
}
// 驳回
const reject = (row) => {
- approveRef.value.initDialog()
+ approveRef.value.initDialog({
+ radio: '3',
+ })
}
// 拒绝
const refuse = (row) => {
- approveRef.value.initDialog()
+ approveRef.value.initDialog(
+ {
+ radio: '2',
+ },
+ )
}
// 取消
const cancel = (row) => {
diff --git a/src/views/device/stateManage/components/templatePage.vue b/src/views/device/stateManage/components/templatePage.vue
index 5fb0163..fce7685 100644
--- a/src/views/device/stateManage/components/templatePage.vue
+++ b/src/views/device/stateManage/components/templatePage.vue
@@ -1,6 +1,12 @@
- 设备处置申请
+
diff --git a/src/views/device/stateManage/openApply.vue b/src/views/device/stateManage/openApply.vue
index 3c43781..35c2af6 100644
--- a/src/views/device/stateManage/openApply.vue
+++ b/src/views/device/stateManage/openApply.vue
@@ -1,13 +1,14 @@
- 设备启封申请
+
+
diff --git a/src/views/device/stateManage/scrapApply.vue b/src/views/device/stateManage/scrapApply.vue
index 7bd1a98..282ecd8 100644
--- a/src/views/device/stateManage/scrapApply.vue
+++ b/src/views/device/stateManage/scrapApply.vue
@@ -1,10 +1,10 @@
- 设备报废申请
+
diff --git a/src/views/device/stateManage/sealupApply.vue b/src/views/device/stateManage/sealupApply.vue
index ec6320b..1c8544d 100644
--- a/src/views/device/stateManage/sealupApply.vue
+++ b/src/views/device/stateManage/sealupApply.vue
@@ -1,10 +1,10 @@
- 设备封存申请
+
diff --git a/src/views/measure/bench/bench.vue b/src/views/measure/bench/bench.vue
index cb2ebe6..380779a 100644
--- a/src/views/measure/bench/bench.vue
+++ b/src/views/measure/bench/bench.vue
@@ -175,7 +175,7 @@
v-if="proxy.hasPerm('/workbench/meterTrain/line')"
title="培训计划"
width="27.8vw"
- height="40vh"
+ height="40.7vh"
>
([])
+const PubListTree = ref([])
// 获取发布单位列表
const getPubList = () => {
getDeptTreeList().then((res) => {
PubList.value = res.data
+ PubListTree.value = toTreeList(res.data, '0', true)
})
}
// 弹窗初始化
@@ -73,7 +80,8 @@
if (row.title === '新建') {
// 默认发布人和发布单位
ruleForm.createUserId = userInfo.$state.id
- ruleForm.publisher = userInfo.$state.deptId
+ ruleForm.publisher = ''
+ ruleForm.publishTime = dayjs().format('YYYY-MM-DD HH:mm:ss')
// 判断有无存储
console.log(sessionStorage.getItem(fileTypeName.value), 'sess')
if (sessionStorage.getItem(fileTypeName.value)) {
@@ -207,11 +215,12 @@
// { name: '已废止', id: '1595030083114450945', value: '3' },
// ])
watch(() => ruleForm.effectiveTime, (newVal) => {
- const diffDat = dayjs(newVal).diff(dayjs().format('YYYY-MM-DD HH:mm:ss'), 'day')
+ const diffDat = dayjs(newVal).diff(dayjs().format('YYYY-MM-DD HH:mm:ss'), 'hour')
+ console.log(diffDat)
if (diffDat < 0) {
// ruleForm.effectiveStatusName = '已废止'
- effectiveStatusName.value = '已废止'
- ruleForm.effectiveStatus = '3'
+ effectiveStatusName.value = '在使用'
+ ruleForm.effectiveStatus = '1'
}
else if (diffDat == 0) {
// ruleForm.effectiveStatusName = '在使用'
@@ -269,15 +278,20 @@
-
+
+
@@ -293,7 +307,7 @@
diff --git a/src/views/measure/person/certificateLog.vue b/src/views/measure/person/certificateLog.vue
index ca26b00..2e3322a 100644
--- a/src/views/measure/person/certificateLog.vue
+++ b/src/views/measure/person/certificateLog.vue
@@ -32,13 +32,13 @@
const loadingTable = ref(false) // 表格loading
const total = ref(0) // 数据总条数
const columns = ref([
- { text: '人员编号', value: 'staffNo', align: 'center', width: '150' },
+ { text: '人员编号', value: 'staffNo', align: 'center', width: '180' },
{ text: '姓名', value: 'name', align: 'center', width: '80' },
{ text: '性别', value: 'sex', align: 'center', width: '55' },
{ text: '工作部门', value: 'deptId', align: 'center', width: '140' },
{ text: '技术职务', value: 'technologyJob', align: 'center', width: '120' },
{ text: '行政职务', value: 'administrationJob', align: 'center', width: '90' },
- { text: '证书号', value: 'certificateNo', align: 'center', width: '150' },
+ { text: '证书号', value: 'certificateNo', align: 'center' },
{ text: '发证单位', value: 'certificateCompany', align: 'center', width: '90' },
{ text: '发证日期', value: 'certificateDate', align: 'center', width: '200' },
{ text: '证书有效日期', value: 'certificateDate', align: 'center', width: '200' },
diff --git a/src/views/measure/person/components/addPerson.vue b/src/views/measure/person/components/addPerson.vue
index 9252393..4dc1b17 100644
--- a/src/views/measure/person/components/addPerson.vue
+++ b/src/views/measure/person/components/addPerson.vue
@@ -10,7 +10,7 @@
import { getDeptTreeList } from '@/api/system/dept'
import { UploadFile } from '@/api/measure/file'
import { toTreeList } from '@/utils/structure'
-import type { userType } from '@/views/system/user/user-interface'
+import type { TreeStructure, userType } from '@/views/system/user/user-interface'
import { getDictByCode } from '@/api/system/dict'
import comTreeSelect from '@/views/system/user/selecTree.vue'
import { getStaffAdd, getStaffDetail, getStaffupdate } from '@/api/measure/person'
@@ -67,7 +67,7 @@
ruleFormRef.value?.validateField('idCard').then((res) => {
// 获取生日
const IdCard = ruleForm.value.idCard
- const birthday = `${IdCard.substring(6, 10)}-${IdCard.substring(10, 12)}-${IdCard.substring(12, 14)}`
+ const birthday = `${IdCard.substring(6, 10)}-${IdCard.substring(10, 12)}`
ruleForm.value.birthday = birthday
console.log(ruleForm.value)
})
@@ -86,12 +86,14 @@
const deptProps = reactive({
parent: 'pid', value: 'id', label: 'name', children: 'children',
})
-const PubList = ref([])
+const PubList = ref([])
+const PubListTree = ref([])
// 获取组织列表
const getPubList = () => {
getDeptTreeList().then((res) => {
// 转成树结构
- PubList.value = toTreeList(res.data, '0', true)
+ PubList.value = res.data
+ PubListTree.value = toTreeList(res.data, '0', true)
})
}
const sexList = ref<{ id: string; value: string; name: string }[]>()
@@ -343,7 +345,7 @@
getTechnologyJobList()
getAdministrationJob()
if (row.title === '新建') {
- console.log()
+ // ruleForm.value.deptId = ''
}
else {
getStaffDetail({ ...row }).then((res) => {
@@ -371,7 +373,7 @@
-
-
+
+
@@ -404,20 +405,36 @@
-
+
+
+
+ 选择
+
+
+
-
-
-
-
+
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
@@ -425,82 +442,52 @@
-
+
-
-
-
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
@@ -551,6 +538,7 @@
border-radius: 8px;
padding-top: 10px;
margin-top: 10px;
+ padding-right: 10px;
}
.header {
@@ -578,6 +566,20 @@
display: none;
}
+ :deep(.el-icon.avatar-uploader-icon) {
+ font-size: 28px;
+ color: #8c939d;
+ width: 190px;
+ height: 250px;
+ text-align: center;
+ }
+
+ :deep(.avatar-uploader .avatar) {
+ width: 190px;
+ height: 250px;
+ display: block;
+ }
+
.isDetail {
::v-deep {
.el-form-item.is-required:not(.is-no-asterisk) .el-form-item__label-wrap > .el-form-item__label::before,
@@ -591,12 +593,16 @@
.marg {
margin-top: 20px;
}
+
+.marg-item {
+ margin-top: 20px;
+}
@@ -618,8 +624,8 @@
.el-icon.avatar-uploader-icon {
font-size: 28px;
color: #8c939d;
- width: 178px;
- height: 178px;
+ width: 220px;
+ height: 320px;
text-align: center;
}
diff --git a/src/views/measure/person/components/addRecord.vue b/src/views/measure/person/components/addRecord.vue
index 2928870..ae48f11 100644
--- a/src/views/measure/person/components/addRecord.vue
+++ b/src/views/measure/person/components/addRecord.vue
@@ -9,7 +9,7 @@
import { getUserList } from '@/api/system/user'
import { getDeptTreeList } from '@/api/system/dept'
import { toTreeList } from '@/utils/structure'
-import type { userType } from '@/views/system/user/user-interface'
+import type { TreeStructure, userType } from '@/views/system/user/user-interface'
import { getDictByCode } from '@/api/system/dict'
import comTreeSelect from '@/views/system/user/selecTree.vue'
import { addCertificateList, getCertificateDetail, getCertificateUpdate } from '@/api/measure/person'
@@ -59,12 +59,14 @@
const deptProps = reactive({
parent: 'pid', value: 'id', label: 'name', children: 'children',
})
-const PubList = ref([])
+const PubList = ref
([])
+const PubListTree = ref([])
// 获取组织列表
const getPubList = () => {
getDeptTreeList().then((res) => {
// 转成树结构
- PubList.value = toTreeList(res.data, '0', true)
+ PubList.value = res.data
+ PubListTree.value = toTreeList(res.data, '0', true)
})
}
const sexList = ref<{ id: string; value: string; name: string }[]>()
@@ -330,7 +332,13 @@
-
+
+
+
+ 选择
+
+
+
@@ -377,10 +385,12 @@
-
+
+
+
diff --git a/src/views/measure/person/components/personListDialog.vue b/src/views/measure/person/components/personListDialog.vue
index 952da9d..5e20d1b 100644
--- a/src/views/measure/person/components/personListDialog.vue
+++ b/src/views/measure/person/components/personListDialog.vue
@@ -1,6 +1,6 @@
- 撤销申请
+
diff --git a/src/views/device/standardEquipment/changeApply.vue b/src/views/device/standardEquipment/changeApply.vue
index 0762330..6625970 100644
--- a/src/views/device/standardEquipment/changeApply.vue
+++ b/src/views/device/standardEquipment/changeApply.vue
@@ -1,10 +1,11 @@
-
- 更换申请
+
diff --git a/src/views/device/standardEquipment/checkApply.vue b/src/views/device/standardEquipment/checkApply.vue
index 9cadc01..6625970 100644
--- a/src/views/device/standardEquipment/checkApply.vue
+++ b/src/views/device/standardEquipment/checkApply.vue
@@ -1,10 +1,11 @@
- 复查申请
+
diff --git a/src/views/device/standardEquipment/components/applyList.vue b/src/views/device/standardEquipment/components/applyList.vue
new file mode 100644
index 0000000..45be74a
--- /dev/null
+++ b/src/views/device/standardEquipment/components/applyList.vue
@@ -0,0 +1,65 @@
+
+
+
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/all.vue b/src/views/device/standardEquipment/components/listApply/all.vue
new file mode 100644
index 0000000..d124307
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/all.vue
@@ -0,0 +1,17 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/approvalPending.vue b/src/views/device/standardEquipment/components/listApply/approvalPending.vue
new file mode 100644
index 0000000..8a7a8bc
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/approvalPending.vue
@@ -0,0 +1,16 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/canceled.vue b/src/views/device/standardEquipment/components/listApply/canceled.vue
new file mode 100644
index 0000000..3b9657c
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/canceled.vue
@@ -0,0 +1,15 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/draftBox.vue b/src/views/device/standardEquipment/components/listApply/draftBox.vue
new file mode 100644
index 0000000..43d7b75
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/draftBox.vue
@@ -0,0 +1,15 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue b/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue
new file mode 100644
index 0000000..c13f95a
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue
@@ -0,0 +1,17 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/listPage.vue b/src/views/device/standardEquipment/components/listApply/listPage.vue
new file mode 100644
index 0000000..5133627
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/listPage.vue
@@ -0,0 +1,493 @@
+
+
+
+
+
+
+
+
+
+
+
+ 同意
+
+
+ 驳回
+
+
+ 拒绝
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 提交
+
+
+ 取消
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/listPageAdd.vue b/src/views/device/standardEquipment/components/listApply/listPageAdd.vue
new file mode 100644
index 0000000..eb506ec
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/listPageAdd.vue
@@ -0,0 +1,1021 @@
+
+
+
+
+
+
+ 基本信息
+
+
+
+ {{ item }}
+
+
+ 关闭
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 上传
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 完成
+
+
+
+
+
+
+
+ 同意
+
+
+ 驳回
+
+
+ 拒绝
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 提交
+
+
+ 取消
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/notPass.vue b/src/views/device/standardEquipment/components/listApply/notPass.vue
new file mode 100644
index 0000000..5a4b817
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/notPass.vue
@@ -0,0 +1,10 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/passed.vue b/src/views/device/standardEquipment/components/listApply/passed.vue
new file mode 100644
index 0000000..31cd21c
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/passed.vue
@@ -0,0 +1,10 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/addRow.vue b/src/views/device/standardEquipment/components/standardList/addRow.vue
new file mode 100644
index 0000000..9f2bf81
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/addRow.vue
@@ -0,0 +1,270 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/baseInfo.vue b/src/views/device/standardEquipment/components/standardList/baseInfo.vue
new file mode 100644
index 0000000..c47ad1d
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/baseInfo.vue
@@ -0,0 +1,675 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 上传
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/temptable.vue b/src/views/device/standardEquipment/components/standardList/temptable.vue
new file mode 100644
index 0000000..20eb800
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/temptable.vue
@@ -0,0 +1,387 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ (searchQuery.offset - 1) * searchQuery.limit + scope.$index + 1 }}
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardListAdd.vue b/src/views/device/standardEquipment/components/standardListAdd.vue
index ea13629..348bb41 100644
--- a/src/views/device/standardEquipment/components/standardListAdd.vue
+++ b/src/views/device/standardEquipment/components/standardListAdd.vue
@@ -3,6 +3,8 @@
import { ElMessage, ElMessageBox } from 'element-plus'
import type { FormInstance, UploadProps, UploadUserFile } from 'element-plus'
import type { IOptions } from '../standard_interface'
+import baseInfo from './standardList/baseInfo.vue'
+import table from './standardList/temptable.vue'
import { getStaffList } from '@/api/measure/person'
import { getTypeSelect } from '@/api/system/price'
import { getStandardLisUpdate, getStandardListAdd, getStandardListDetail, getUsersDept } from '@/api/device/standard'
@@ -17,188 +19,35 @@
default: '',
},
})
-const emit = defineEmits(['close']) // 关闭
-const ruleFormRef = ref()
-// 逻辑代码
-const formInline = ref({
- assessDate: '',
- assessmentUnit: '',
- category: null,
- categoryName: '',
- constructionStandardProject: '',
- constructionStandardUnitName: '',
- contactInfo: '',
- createTime: null,
- createUser: null,
- id: '',
- isDel: null,
- laboratoryOwner: null,
- laboratoryOwnerContact: null,
- laboratoryOwnerName: null,
- managerState: null,
- managerStateName: '',
- measureMajor: null,
- fileList: [],
- measureMajorName: '',
- mesureRange: '',
- organizeNo: '',
- preparationDate: '',
- projectNo: '',
- remark: '',
- standardHumidity: null,
- standardLaboratory: null,
- standardLaboratoryName: '',
- standardLevel: null,
- standardLevelName: '',
- standardName: '',
- standardNo: '',
- standardOwner: null,
- standardOwnerName: '',
- standardTemperature: null,
- totalInvestment: null,
- transmitRange: null,
- transmitRangeName: '',
- uncertainty: '',
- updateTime: null,
- version: null,
-})
-const checkTypeOptions = ref([])
-
-const standardOwnerOptions = ref([]) // 标准负责人
-const fileList = ref([]) // 文件对象数组
-const measureMajorList = ref([]) // 计量专业下拉框
-const standardManagerStateList = ref([]) // 管理状态下拉框
-const standardLevelList = ref([]) // 标准等级下拉框
-const transmitRangeList = ref([]) // 传递范围下拉框
-// 标准所在部门下拉框
-const standardUsersDeptList = ref([])
-// 获取下拉框
-const getSelectList = (code: string) => {
- getTypeSelect(code).then((res) => {
- if (code === 'measureMajor') {
- measureMajorList.value = res.data
- }
- else if (code === 'standardManagerState') {
- standardManagerStateList.value = res.data
- }
- else if (code === 'standardLevel') {
- standardLevelList.value = res.data
- }
- else if (code === 'transmitRange') {
- transmitRangeList.value = res.data
- }
- else if (code === 'standardCategory') {
- checkTypeOptions.value = res.data
- }
- })
+const emit = defineEmits(['close'])
+// 定义数据
+const formInline = ref({})
+// 关闭
+interface menuType {
+ name: string
+ comp: any
}
-getSelectList('measureMajor') // 获取计量专业下拉框
-getSelectList('standardManagerState') // 获取管理状态下拉框
-getSelectList('standardLevel') // 获取标准等级下拉框
-getSelectList('transmitRange') // 获取传递范围下拉框
-getSelectList('standardCategory') // 获取类别下拉框
-// 获取部门信息
-getUsersDept({
- createTime: '',
- director: '',
- meterMajor: '',
- organizeName: '',
- organizeNo: '',
- organizeType: '2',
- pdeptId: null,
- offset: 1,
- limit: 999999,
-}).then((res) => {
- standardUsersDeptList.value = res.data.rows
+const menu = shallowRef([
+ { name: '基本信息', comp: baseInfo },
+ { name: '计量人员', comp: table },
+ { name: '标准配套设备', comp: table },
+ { name: '检定规程', comp: table },
+ { name: '重复性考核记录', comp: table },
+ { name: '稳定性考核记录', comp: table },
+ { name: '证书管理', comp: table },
+])
+const currentCompRef = ref()
+const current = ref('基本信息')
+const currentComp = shallowRef(baseInfo)
+watch(current, (newValue) => {
+ currentComp.value = menu.value.filter(item => item.name === newValue)[0].comp
})
-// 获取到标准负责人数组
-const getStandardOwnerOptions = () => {
- const params = {
- staffNo: '', // 人员编号
- name: '', // 姓名
- deptId: '', // 工作部门
- major: '', // 计量专业
- verifierCertificateNo: '', // 证书号
- certificateStatus: '', // 证书状态
- limit: 100000,
- offset: 1,
- }
- getStaffList(params).then((res) => {
- standardOwnerOptions.value = res.data.records
- })
-}
-getStandardOwnerOptions()
// 关闭
const close = () => {
emit('close')
}
-const rules = ref({
- standardName: [{ required: true, message: '标准名称不能为空', trigger: 'blur' }],
- projectNo: [{ required: true, message: '项目编号不能为空', trigger: 'blur' }],
- constructionStandardProject: [{ required: true, message: '建标项目不能为空', trigger: 'blur' }],
- organizeNo: [{ required: true, message: '组织机构代码不能为空', trigger: 'blur' }],
- constructionStandardUnitName: [{ required: true, message: '建标单位名称不能为空', trigger: 'blur' }],
- standardOwner: [{ required: true, message: '标准负责人不能为空', trigger: 'blur' }],
- contactInfo: [{ required: true, message: '联系方式不能为空', trigger: 'blur' }],
- category: [{ required: true, message: '类 别不能为空', trigger: 'blur' }],
- standardLevel: [{ required: true, message: '标准等级不能为空', trigger: 'blur' }],
- transmitRange: [{ required: true, message: '传递范围不能为空', trigger: 'blur' }],
- preparationDate: [{ required: true, message: '筹建日期不能为空', trigger: 'blur' }],
- managerState: [{ required: true, message: '管理状态不能为空', trigger: 'blur' }],
- measureMajor: [{ required: true, message: '计量专业不能为空', trigger: 'blur' }],
- assessmentUnit: [{ required: true, message: '考核单位不能为空', trigger: 'blur' }],
- assessDate: [{ required: true, message: '考核日期不能为空', trigger: 'blur' }],
- uncertainty: [{ required: true, message: '不确定度不能为空', trigger: 'blur' }],
- mesureRange: [{ required: true, message: '测量范围不能为空', trigger: 'blur' }],
- standardTemperature: [{ required: true, message: '标准温度不能为空', trigger: 'blur' },
- { pattern: /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/, message: '标准温度只能为数字', trigger: 'blur' }],
- standardHumidity: [{ required: true, message: '标准湿度不能为空', trigger: 'blur' },
- { pattern: /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/, message: '标准湿度只能为数字', trigger: 'blur' }],
-}) // 表单验证规则
-// 上传请求
-const uploadQuarterlyEvaluateFile = (file: File) => {
- const fd = new FormData()
- fd.append('multipartFile', file.file)
- UploadFile(fd).then((res) => {
- if (res.code === 200) {
- formInline.value.fileList = res.data
- // 重置当前验证
- ElMessage.success('文件上传成功')
- }
- })
-}
-const handleExceed: UploadProps['onExceed'] = (files, uploadFiles) => {
- ElMessage.warning('只能上传一个文件')
-}
-// 移除时触发
-const beforeRemove: UploadProps['beforeRemove'] = (uploadFile, uploadFiles) => {
- return ElMessageBox.confirm(
- `确认移除${uploadFile.name}文件吗 ?`,
- ).then(
- () => true,
- () => false,
-
- )
-}
-// 点击文件预览
-const uploadShow = (e: any) => {
- const URL = window.URL || window.webkitURL
- window.open(URL.createObjectURL(e.raw))
-}
-const testForm = ref({
- fileList: [],
- fileContent: '',
-})
-const handleFileChange = (files: any, fileList: any) => {
- testForm.value.fileList = fileList
- const reader = new FileReader()
- reader.readAsText(files.raw)
- // reader.onload = (e) => {
- // testForm.value.fileContent = e.target!.result?.replace(
- // /\n|\r\n/g,
- // '
',
- // )
- // }
+const setData = (newValue: object) => {
+ formInline.value = newValue
}
// 编辑获取详情的提交按钮
const submitFormDetail = () => {
@@ -223,60 +72,29 @@
}
}
// 提交
-const submitForm = (formEl: FormInstance | undefined) => {
- if (!formEl) { return }
+const submitForm = () => {
if (props.buttonType === '详情') { return submitFormDetail() }
- formEl.validate((valid, fields) => {
- if (valid) {
- ElMessageBox.confirm(
- '确认提交吗?',
- '提示',
- {
- confirmButtonText: '确认',
- cancelButtonText: '取消',
- type: 'warning',
- },
- ).then(() => {
- props.buttonType === ''
- ? getStandardListAdd(formInline.value).then((res) => {
- if (res.code === 200) {
- close()
- }
- })
- : submitFormDetail()
- })
- }
- })
-}
-// 标准实验室发生改变row类型
-interface rowReturn {
- phone: string
- director: string
-}
-// 标准实验室发生改变
-const changeDeptList = (row: object) => {
- formInline.value.laboratoryOwnerContact = row.phone
- formInline.value.laboratoryOwner = row.director
-}
-// 标准实验室清空时
-const clearDeptList = () => {
- formInline.value.laboratoryOwnerContact = null
- formInline.value.laboratoryOwner = null
-}
-// 获取详情信息
-const getInfo = () => {
- getStandardListDetail({ id: props.infoId }).then((res) => {
- Object.keys(res.data).map((item) => {
- if (typeof (res.data[item]) === 'number') {
- res.data[item] = res.data[item].toString()
- }
+ ElMessageBox.confirm(
+ '确认提交吗?',
+ '提示',
+ {
+ confirmButtonText: '确认',
+ cancelButtonText: '取消',
+ type: 'warning',
+ },
+ ).then(() => {
+ current.value = '基本信息'
+ currentCompRef.value.submitForm().validate().then(() => {
+ props.buttonType === ''
+ ? getStandardListAdd(formInline.value).then((res) => {
+ if (res.code === 200) {
+ close()
+ }
+ })
+ : submitFormDetail()
})
- formInline.value = res.data
})
}
-if (props.buttonType !== '') {
- getInfo()
-}
@@ -289,7 +107,7 @@
{{ buttonType === '详情' ? '打印' : '提交' }}
@@ -298,405 +116,17 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 上传
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
@@ -719,14 +149,8 @@
}
}
-.info-content {
- margin-top: 10px;
- padding: 30px;
- border-radius: 10px;
+.body {
background-color: #fff;
-}
-
-:deep .el-input .el-input--default .el-input--suffix {
- width: 200px !important;
+ margin-top: 10px;
}
diff --git a/src/views/device/standardEquipment/expirationRemind.vue b/src/views/device/standardEquipment/expirationRemind.vue
index 35786b2..1826c22 100644
--- a/src/views/device/standardEquipment/expirationRemind.vue
+++ b/src/views/device/standardEquipment/expirationRemind.vue
@@ -26,39 +26,47 @@
text: '标准代码',
value: 'standardNo',
width: '160',
+ align: 'center',
},
{
text: '标准名称',
value: 'standardName',
width: '90',
+ align: 'center',
},
{
text: '管理状态',
value: 'managerStateName',
width: '100',
+ align: 'center',
},
{
text: '标准所在部门',
value: 'standardLaboratoryName',
width: '120',
+ align: 'center',
},
{
text: '负责人',
value: 'standardOwnerName',
+ align: 'center',
},
{
text: '建标项目',
value: 'standardOwnerName',
+ align: 'center',
},
{
text: '筹建日期',
value: 'preparationDate',
width: '160',
+ align: 'center',
},
{
text: '有效日期',
value: 'preparationDate',
width: '160',
+ align: 'center',
},
])
const total = ref(0)
@@ -326,12 +334,8 @@
-
- 导出
-
-
- 打印
-
+
+
- 编辑
+ 详情
- 详情
+ 提醒
+import applyList from './components/applyList.vue'
// 逻辑代码
- 暂停申请
+
diff --git a/src/views/device/standardEquipment/resumeApply.vue b/src/views/device/standardEquipment/resumeApply.vue
index d4a80e8..b5896fc 100644
--- a/src/views/device/standardEquipment/resumeApply.vue
+++ b/src/views/device/standardEquipment/resumeApply.vue
@@ -1,10 +1,11 @@
- 恢复申请
+
diff --git a/src/views/device/standardEquipment/standardList.vue b/src/views/device/standardEquipment/standardList.vue
index 4f1bfdf..348ed71 100644
--- a/src/views/device/standardEquipment/standardList.vue
+++ b/src/views/device/standardEquipment/standardList.vue
@@ -29,50 +29,60 @@
text: '标准代码',
value: 'standardNo',
width: '120',
+ align: 'center',
},
{
text: '标准名称',
value: 'standardName',
width: '90',
+ align: 'center',
},
{
text: '类别',
value: 'categoryName',
width: '80',
+ align: 'center',
},
{
text: '标准等级',
value: 'standardLevelName',
width: '100',
+ align: 'center',
},
{
text: '传递范围',
value: 'transmitRange',
width: '110',
+ align: 'center',
},
{
text: '管理状态',
value: 'managerStateName',
width: '100',
+ align: 'center',
},
{
text: '标准所在部门',
value: 'standardLaboratoryName',
width: '120',
+ align: 'center',
},
{
text: '负责人',
value: 'laboratoryOwner',
+ align: 'center',
},
{
text: '筹建日期',
value: 'preparationDate',
width: '110',
+ align: 'center',
},
{
text: '备注',
value: 'remark',
width: '80',
+ align: 'center',
},
])
const total = ref(0)
@@ -250,6 +260,9 @@
buttonType.value = text
isShow.value = false
}
+const renderHeader = (e: any) => {
+ console.log(e)
+}
@@ -330,19 +343,13 @@
-
- 新建
-
-
- 导出
-
-
- 打印
-
+
+
+
diff --git a/src/views/device/stateManage/components/approvalActionDialog.vue b/src/views/device/stateManage/components/approvalActionDialog.vue
index cdc9b25..56417d6 100644
--- a/src/views/device/stateManage/components/approvalActionDialog.vue
+++ b/src/views/device/stateManage/components/approvalActionDialog.vue
@@ -1,10 +1,13 @@
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/cancel.vue b/src/views/device/stateManage/components/status/cancel.vue
new file mode 100644
index 0000000..ecb2d0c
--- /dev/null
+++ b/src/views/device/stateManage/components/status/cancel.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/drafts.vue b/src/views/device/stateManage/components/status/drafts.vue
new file mode 100644
index 0000000..226ba21
--- /dev/null
+++ b/src/views/device/stateManage/components/status/drafts.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/inApproval.vue b/src/views/device/stateManage/components/status/inApproval.vue
new file mode 100644
index 0000000..4988595
--- /dev/null
+++ b/src/views/device/stateManage/components/status/inApproval.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/passed.vue b/src/views/device/stateManage/components/status/passed.vue
new file mode 100644
index 0000000..ab87daf
--- /dev/null
+++ b/src/views/device/stateManage/components/status/passed.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/pending.vue b/src/views/device/stateManage/components/status/pending.vue
new file mode 100644
index 0000000..3e0b315
--- /dev/null
+++ b/src/views/device/stateManage/components/status/pending.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/unPassed.vue b/src/views/device/stateManage/components/status/unPassed.vue
new file mode 100644
index 0000000..8de700e
--- /dev/null
+++ b/src/views/device/stateManage/components/status/unPassed.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/templateAdd.vue b/src/views/device/stateManage/components/templateAdd.vue
index 9c4da0f..fc364c8 100644
--- a/src/views/device/stateManage/components/templateAdd.vue
+++ b/src/views/device/stateManage/components/templateAdd.vue
@@ -381,10 +381,10 @@
-
+
diff --git a/src/views/device/stateManage/components/templateList.vue b/src/views/device/stateManage/components/templateList.vue
index 6ee2e8c..aa3963f 100644
--- a/src/views/device/stateManage/components/templateList.vue
+++ b/src/views/device/stateManage/components/templateList.vue
@@ -8,6 +8,10 @@
type: String,
default: '',
},
+ title: {
+ type: String,
+ default: '',
+ },
})
// import { exportFile } from '@/utils/exportUtils'
// const { proxy } = getCurrentInstance() as any
@@ -179,15 +183,23 @@
// 同意
const agree = (row) => {
console.log(approveRef.value)
- approveRef.value.initDialog()
+ approveRef.value.initDialog({
+ radio: '1',
+ })
}
// 驳回
const reject = (row) => {
- approveRef.value.initDialog()
+ approveRef.value.initDialog({
+ radio: '3',
+ })
}
// 拒绝
const refuse = (row) => {
- approveRef.value.initDialog()
+ approveRef.value.initDialog(
+ {
+ radio: '2',
+ },
+ )
}
// 取消
const cancel = (row) => {
diff --git a/src/views/device/stateManage/components/templatePage.vue b/src/views/device/stateManage/components/templatePage.vue
index 5fb0163..fce7685 100644
--- a/src/views/device/stateManage/components/templatePage.vue
+++ b/src/views/device/stateManage/components/templatePage.vue
@@ -1,6 +1,12 @@
- 设备处置申请
+
diff --git a/src/views/device/stateManage/openApply.vue b/src/views/device/stateManage/openApply.vue
index 3c43781..35c2af6 100644
--- a/src/views/device/stateManage/openApply.vue
+++ b/src/views/device/stateManage/openApply.vue
@@ -1,13 +1,14 @@
- 设备启封申请
+
+
diff --git a/src/views/device/stateManage/scrapApply.vue b/src/views/device/stateManage/scrapApply.vue
index 7bd1a98..282ecd8 100644
--- a/src/views/device/stateManage/scrapApply.vue
+++ b/src/views/device/stateManage/scrapApply.vue
@@ -1,10 +1,10 @@
- 设备报废申请
+
diff --git a/src/views/device/stateManage/sealupApply.vue b/src/views/device/stateManage/sealupApply.vue
index ec6320b..1c8544d 100644
--- a/src/views/device/stateManage/sealupApply.vue
+++ b/src/views/device/stateManage/sealupApply.vue
@@ -1,10 +1,10 @@
- 设备封存申请
+
diff --git a/src/views/measure/bench/bench.vue b/src/views/measure/bench/bench.vue
index cb2ebe6..380779a 100644
--- a/src/views/measure/bench/bench.vue
+++ b/src/views/measure/bench/bench.vue
@@ -175,7 +175,7 @@
v-if="proxy.hasPerm('/workbench/meterTrain/line')"
title="培训计划"
width="27.8vw"
- height="40vh"
+ height="40.7vh"
>
([])
+const PubListTree = ref([])
// 获取发布单位列表
const getPubList = () => {
getDeptTreeList().then((res) => {
PubList.value = res.data
+ PubListTree.value = toTreeList(res.data, '0', true)
})
}
// 弹窗初始化
@@ -73,7 +80,8 @@
if (row.title === '新建') {
// 默认发布人和发布单位
ruleForm.createUserId = userInfo.$state.id
- ruleForm.publisher = userInfo.$state.deptId
+ ruleForm.publisher = ''
+ ruleForm.publishTime = dayjs().format('YYYY-MM-DD HH:mm:ss')
// 判断有无存储
console.log(sessionStorage.getItem(fileTypeName.value), 'sess')
if (sessionStorage.getItem(fileTypeName.value)) {
@@ -207,11 +215,12 @@
// { name: '已废止', id: '1595030083114450945', value: '3' },
// ])
watch(() => ruleForm.effectiveTime, (newVal) => {
- const diffDat = dayjs(newVal).diff(dayjs().format('YYYY-MM-DD HH:mm:ss'), 'day')
+ const diffDat = dayjs(newVal).diff(dayjs().format('YYYY-MM-DD HH:mm:ss'), 'hour')
+ console.log(diffDat)
if (diffDat < 0) {
// ruleForm.effectiveStatusName = '已废止'
- effectiveStatusName.value = '已废止'
- ruleForm.effectiveStatus = '3'
+ effectiveStatusName.value = '在使用'
+ ruleForm.effectiveStatus = '1'
}
else if (diffDat == 0) {
// ruleForm.effectiveStatusName = '在使用'
@@ -269,15 +278,20 @@
-
+
+
@@ -293,7 +307,7 @@
diff --git a/src/views/measure/person/certificateLog.vue b/src/views/measure/person/certificateLog.vue
index ca26b00..2e3322a 100644
--- a/src/views/measure/person/certificateLog.vue
+++ b/src/views/measure/person/certificateLog.vue
@@ -32,13 +32,13 @@
const loadingTable = ref(false) // 表格loading
const total = ref(0) // 数据总条数
const columns = ref([
- { text: '人员编号', value: 'staffNo', align: 'center', width: '150' },
+ { text: '人员编号', value: 'staffNo', align: 'center', width: '180' },
{ text: '姓名', value: 'name', align: 'center', width: '80' },
{ text: '性别', value: 'sex', align: 'center', width: '55' },
{ text: '工作部门', value: 'deptId', align: 'center', width: '140' },
{ text: '技术职务', value: 'technologyJob', align: 'center', width: '120' },
{ text: '行政职务', value: 'administrationJob', align: 'center', width: '90' },
- { text: '证书号', value: 'certificateNo', align: 'center', width: '150' },
+ { text: '证书号', value: 'certificateNo', align: 'center' },
{ text: '发证单位', value: 'certificateCompany', align: 'center', width: '90' },
{ text: '发证日期', value: 'certificateDate', align: 'center', width: '200' },
{ text: '证书有效日期', value: 'certificateDate', align: 'center', width: '200' },
diff --git a/src/views/measure/person/components/addPerson.vue b/src/views/measure/person/components/addPerson.vue
index 9252393..4dc1b17 100644
--- a/src/views/measure/person/components/addPerson.vue
+++ b/src/views/measure/person/components/addPerson.vue
@@ -10,7 +10,7 @@
import { getDeptTreeList } from '@/api/system/dept'
import { UploadFile } from '@/api/measure/file'
import { toTreeList } from '@/utils/structure'
-import type { userType } from '@/views/system/user/user-interface'
+import type { TreeStructure, userType } from '@/views/system/user/user-interface'
import { getDictByCode } from '@/api/system/dict'
import comTreeSelect from '@/views/system/user/selecTree.vue'
import { getStaffAdd, getStaffDetail, getStaffupdate } from '@/api/measure/person'
@@ -67,7 +67,7 @@
ruleFormRef.value?.validateField('idCard').then((res) => {
// 获取生日
const IdCard = ruleForm.value.idCard
- const birthday = `${IdCard.substring(6, 10)}-${IdCard.substring(10, 12)}-${IdCard.substring(12, 14)}`
+ const birthday = `${IdCard.substring(6, 10)}-${IdCard.substring(10, 12)}`
ruleForm.value.birthday = birthday
console.log(ruleForm.value)
})
@@ -86,12 +86,14 @@
const deptProps = reactive({
parent: 'pid', value: 'id', label: 'name', children: 'children',
})
-const PubList = ref([])
+const PubList = ref([])
+const PubListTree = ref([])
// 获取组织列表
const getPubList = () => {
getDeptTreeList().then((res) => {
// 转成树结构
- PubList.value = toTreeList(res.data, '0', true)
+ PubList.value = res.data
+ PubListTree.value = toTreeList(res.data, '0', true)
})
}
const sexList = ref<{ id: string; value: string; name: string }[]>()
@@ -343,7 +345,7 @@
getTechnologyJobList()
getAdministrationJob()
if (row.title === '新建') {
- console.log()
+ // ruleForm.value.deptId = ''
}
else {
getStaffDetail({ ...row }).then((res) => {
@@ -371,7 +373,7 @@
-
-
+
+
@@ -404,20 +405,36 @@
-
+
+
+
+ 选择
+
+
+
-
-
-
-
+
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
@@ -425,82 +442,52 @@
-
+
-
-
-
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
@@ -551,6 +538,7 @@
border-radius: 8px;
padding-top: 10px;
margin-top: 10px;
+ padding-right: 10px;
}
.header {
@@ -578,6 +566,20 @@
display: none;
}
+ :deep(.el-icon.avatar-uploader-icon) {
+ font-size: 28px;
+ color: #8c939d;
+ width: 190px;
+ height: 250px;
+ text-align: center;
+ }
+
+ :deep(.avatar-uploader .avatar) {
+ width: 190px;
+ height: 250px;
+ display: block;
+ }
+
.isDetail {
::v-deep {
.el-form-item.is-required:not(.is-no-asterisk) .el-form-item__label-wrap > .el-form-item__label::before,
@@ -591,12 +593,16 @@
.marg {
margin-top: 20px;
}
+
+.marg-item {
+ margin-top: 20px;
+}
@@ -618,8 +624,8 @@
.el-icon.avatar-uploader-icon {
font-size: 28px;
color: #8c939d;
- width: 178px;
- height: 178px;
+ width: 220px;
+ height: 320px;
text-align: center;
}
diff --git a/src/views/measure/person/components/addRecord.vue b/src/views/measure/person/components/addRecord.vue
index 2928870..ae48f11 100644
--- a/src/views/measure/person/components/addRecord.vue
+++ b/src/views/measure/person/components/addRecord.vue
@@ -9,7 +9,7 @@
import { getUserList } from '@/api/system/user'
import { getDeptTreeList } from '@/api/system/dept'
import { toTreeList } from '@/utils/structure'
-import type { userType } from '@/views/system/user/user-interface'
+import type { TreeStructure, userType } from '@/views/system/user/user-interface'
import { getDictByCode } from '@/api/system/dict'
import comTreeSelect from '@/views/system/user/selecTree.vue'
import { addCertificateList, getCertificateDetail, getCertificateUpdate } from '@/api/measure/person'
@@ -59,12 +59,14 @@
const deptProps = reactive({
parent: 'pid', value: 'id', label: 'name', children: 'children',
})
-const PubList = ref([])
+const PubList = ref
([])
+const PubListTree = ref([])
// 获取组织列表
const getPubList = () => {
getDeptTreeList().then((res) => {
// 转成树结构
- PubList.value = toTreeList(res.data, '0', true)
+ PubList.value = res.data
+ PubListTree.value = toTreeList(res.data, '0', true)
})
}
const sexList = ref<{ id: string; value: string; name: string }[]>()
@@ -330,7 +332,13 @@
-
+
+
+
+ 选择
+
+
+
@@ -377,10 +385,12 @@
-
+
+
+
diff --git a/src/views/measure/person/components/personListDialog.vue b/src/views/measure/person/components/personListDialog.vue
index 952da9d..5e20d1b 100644
--- a/src/views/measure/person/components/personListDialog.vue
+++ b/src/views/measure/person/components/personListDialog.vue
@@ -1,6 +1,6 @@
- 撤销申请
+
diff --git a/src/views/device/standardEquipment/changeApply.vue b/src/views/device/standardEquipment/changeApply.vue
index 0762330..6625970 100644
--- a/src/views/device/standardEquipment/changeApply.vue
+++ b/src/views/device/standardEquipment/changeApply.vue
@@ -1,10 +1,11 @@
-
- 更换申请
+
diff --git a/src/views/device/standardEquipment/checkApply.vue b/src/views/device/standardEquipment/checkApply.vue
index 9cadc01..6625970 100644
--- a/src/views/device/standardEquipment/checkApply.vue
+++ b/src/views/device/standardEquipment/checkApply.vue
@@ -1,10 +1,11 @@
- 复查申请
+
diff --git a/src/views/device/standardEquipment/components/applyList.vue b/src/views/device/standardEquipment/components/applyList.vue
new file mode 100644
index 0000000..45be74a
--- /dev/null
+++ b/src/views/device/standardEquipment/components/applyList.vue
@@ -0,0 +1,65 @@
+
+
+
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/all.vue b/src/views/device/standardEquipment/components/listApply/all.vue
new file mode 100644
index 0000000..d124307
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/all.vue
@@ -0,0 +1,17 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/approvalPending.vue b/src/views/device/standardEquipment/components/listApply/approvalPending.vue
new file mode 100644
index 0000000..8a7a8bc
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/approvalPending.vue
@@ -0,0 +1,16 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/canceled.vue b/src/views/device/standardEquipment/components/listApply/canceled.vue
new file mode 100644
index 0000000..3b9657c
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/canceled.vue
@@ -0,0 +1,15 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/draftBox.vue b/src/views/device/standardEquipment/components/listApply/draftBox.vue
new file mode 100644
index 0000000..43d7b75
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/draftBox.vue
@@ -0,0 +1,15 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue b/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue
new file mode 100644
index 0000000..c13f95a
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue
@@ -0,0 +1,17 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/listPage.vue b/src/views/device/standardEquipment/components/listApply/listPage.vue
new file mode 100644
index 0000000..5133627
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/listPage.vue
@@ -0,0 +1,493 @@
+
+
+
+
+
+
+
+
+
+
+
+ 同意
+
+
+ 驳回
+
+
+ 拒绝
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 提交
+
+
+ 取消
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/listPageAdd.vue b/src/views/device/standardEquipment/components/listApply/listPageAdd.vue
new file mode 100644
index 0000000..eb506ec
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/listPageAdd.vue
@@ -0,0 +1,1021 @@
+
+
+
+
+
+
+ 基本信息
+
+
+
+ {{ item }}
+
+
+ 关闭
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 上传
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 完成
+
+
+
+
+
+
+
+ 同意
+
+
+ 驳回
+
+
+ 拒绝
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 提交
+
+
+ 取消
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/notPass.vue b/src/views/device/standardEquipment/components/listApply/notPass.vue
new file mode 100644
index 0000000..5a4b817
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/notPass.vue
@@ -0,0 +1,10 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/passed.vue b/src/views/device/standardEquipment/components/listApply/passed.vue
new file mode 100644
index 0000000..31cd21c
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/passed.vue
@@ -0,0 +1,10 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/addRow.vue b/src/views/device/standardEquipment/components/standardList/addRow.vue
new file mode 100644
index 0000000..9f2bf81
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/addRow.vue
@@ -0,0 +1,270 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/baseInfo.vue b/src/views/device/standardEquipment/components/standardList/baseInfo.vue
new file mode 100644
index 0000000..c47ad1d
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/baseInfo.vue
@@ -0,0 +1,675 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 上传
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/temptable.vue b/src/views/device/standardEquipment/components/standardList/temptable.vue
new file mode 100644
index 0000000..20eb800
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/temptable.vue
@@ -0,0 +1,387 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ (searchQuery.offset - 1) * searchQuery.limit + scope.$index + 1 }}
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardListAdd.vue b/src/views/device/standardEquipment/components/standardListAdd.vue
index ea13629..348bb41 100644
--- a/src/views/device/standardEquipment/components/standardListAdd.vue
+++ b/src/views/device/standardEquipment/components/standardListAdd.vue
@@ -3,6 +3,8 @@
import { ElMessage, ElMessageBox } from 'element-plus'
import type { FormInstance, UploadProps, UploadUserFile } from 'element-plus'
import type { IOptions } from '../standard_interface'
+import baseInfo from './standardList/baseInfo.vue'
+import table from './standardList/temptable.vue'
import { getStaffList } from '@/api/measure/person'
import { getTypeSelect } from '@/api/system/price'
import { getStandardLisUpdate, getStandardListAdd, getStandardListDetail, getUsersDept } from '@/api/device/standard'
@@ -17,188 +19,35 @@
default: '',
},
})
-const emit = defineEmits(['close']) // 关闭
-const ruleFormRef = ref()
-// 逻辑代码
-const formInline = ref({
- assessDate: '',
- assessmentUnit: '',
- category: null,
- categoryName: '',
- constructionStandardProject: '',
- constructionStandardUnitName: '',
- contactInfo: '',
- createTime: null,
- createUser: null,
- id: '',
- isDel: null,
- laboratoryOwner: null,
- laboratoryOwnerContact: null,
- laboratoryOwnerName: null,
- managerState: null,
- managerStateName: '',
- measureMajor: null,
- fileList: [],
- measureMajorName: '',
- mesureRange: '',
- organizeNo: '',
- preparationDate: '',
- projectNo: '',
- remark: '',
- standardHumidity: null,
- standardLaboratory: null,
- standardLaboratoryName: '',
- standardLevel: null,
- standardLevelName: '',
- standardName: '',
- standardNo: '',
- standardOwner: null,
- standardOwnerName: '',
- standardTemperature: null,
- totalInvestment: null,
- transmitRange: null,
- transmitRangeName: '',
- uncertainty: '',
- updateTime: null,
- version: null,
-})
-const checkTypeOptions = ref([])
-
-const standardOwnerOptions = ref([]) // 标准负责人
-const fileList = ref([]) // 文件对象数组
-const measureMajorList = ref([]) // 计量专业下拉框
-const standardManagerStateList = ref([]) // 管理状态下拉框
-const standardLevelList = ref([]) // 标准等级下拉框
-const transmitRangeList = ref([]) // 传递范围下拉框
-// 标准所在部门下拉框
-const standardUsersDeptList = ref([])
-// 获取下拉框
-const getSelectList = (code: string) => {
- getTypeSelect(code).then((res) => {
- if (code === 'measureMajor') {
- measureMajorList.value = res.data
- }
- else if (code === 'standardManagerState') {
- standardManagerStateList.value = res.data
- }
- else if (code === 'standardLevel') {
- standardLevelList.value = res.data
- }
- else if (code === 'transmitRange') {
- transmitRangeList.value = res.data
- }
- else if (code === 'standardCategory') {
- checkTypeOptions.value = res.data
- }
- })
+const emit = defineEmits(['close'])
+// 定义数据
+const formInline = ref({})
+// 关闭
+interface menuType {
+ name: string
+ comp: any
}
-getSelectList('measureMajor') // 获取计量专业下拉框
-getSelectList('standardManagerState') // 获取管理状态下拉框
-getSelectList('standardLevel') // 获取标准等级下拉框
-getSelectList('transmitRange') // 获取传递范围下拉框
-getSelectList('standardCategory') // 获取类别下拉框
-// 获取部门信息
-getUsersDept({
- createTime: '',
- director: '',
- meterMajor: '',
- organizeName: '',
- organizeNo: '',
- organizeType: '2',
- pdeptId: null,
- offset: 1,
- limit: 999999,
-}).then((res) => {
- standardUsersDeptList.value = res.data.rows
+const menu = shallowRef([
+ { name: '基本信息', comp: baseInfo },
+ { name: '计量人员', comp: table },
+ { name: '标准配套设备', comp: table },
+ { name: '检定规程', comp: table },
+ { name: '重复性考核记录', comp: table },
+ { name: '稳定性考核记录', comp: table },
+ { name: '证书管理', comp: table },
+])
+const currentCompRef = ref()
+const current = ref('基本信息')
+const currentComp = shallowRef(baseInfo)
+watch(current, (newValue) => {
+ currentComp.value = menu.value.filter(item => item.name === newValue)[0].comp
})
-// 获取到标准负责人数组
-const getStandardOwnerOptions = () => {
- const params = {
- staffNo: '', // 人员编号
- name: '', // 姓名
- deptId: '', // 工作部门
- major: '', // 计量专业
- verifierCertificateNo: '', // 证书号
- certificateStatus: '', // 证书状态
- limit: 100000,
- offset: 1,
- }
- getStaffList(params).then((res) => {
- standardOwnerOptions.value = res.data.records
- })
-}
-getStandardOwnerOptions()
// 关闭
const close = () => {
emit('close')
}
-const rules = ref({
- standardName: [{ required: true, message: '标准名称不能为空', trigger: 'blur' }],
- projectNo: [{ required: true, message: '项目编号不能为空', trigger: 'blur' }],
- constructionStandardProject: [{ required: true, message: '建标项目不能为空', trigger: 'blur' }],
- organizeNo: [{ required: true, message: '组织机构代码不能为空', trigger: 'blur' }],
- constructionStandardUnitName: [{ required: true, message: '建标单位名称不能为空', trigger: 'blur' }],
- standardOwner: [{ required: true, message: '标准负责人不能为空', trigger: 'blur' }],
- contactInfo: [{ required: true, message: '联系方式不能为空', trigger: 'blur' }],
- category: [{ required: true, message: '类 别不能为空', trigger: 'blur' }],
- standardLevel: [{ required: true, message: '标准等级不能为空', trigger: 'blur' }],
- transmitRange: [{ required: true, message: '传递范围不能为空', trigger: 'blur' }],
- preparationDate: [{ required: true, message: '筹建日期不能为空', trigger: 'blur' }],
- managerState: [{ required: true, message: '管理状态不能为空', trigger: 'blur' }],
- measureMajor: [{ required: true, message: '计量专业不能为空', trigger: 'blur' }],
- assessmentUnit: [{ required: true, message: '考核单位不能为空', trigger: 'blur' }],
- assessDate: [{ required: true, message: '考核日期不能为空', trigger: 'blur' }],
- uncertainty: [{ required: true, message: '不确定度不能为空', trigger: 'blur' }],
- mesureRange: [{ required: true, message: '测量范围不能为空', trigger: 'blur' }],
- standardTemperature: [{ required: true, message: '标准温度不能为空', trigger: 'blur' },
- { pattern: /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/, message: '标准温度只能为数字', trigger: 'blur' }],
- standardHumidity: [{ required: true, message: '标准湿度不能为空', trigger: 'blur' },
- { pattern: /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/, message: '标准湿度只能为数字', trigger: 'blur' }],
-}) // 表单验证规则
-// 上传请求
-const uploadQuarterlyEvaluateFile = (file: File) => {
- const fd = new FormData()
- fd.append('multipartFile', file.file)
- UploadFile(fd).then((res) => {
- if (res.code === 200) {
- formInline.value.fileList = res.data
- // 重置当前验证
- ElMessage.success('文件上传成功')
- }
- })
-}
-const handleExceed: UploadProps['onExceed'] = (files, uploadFiles) => {
- ElMessage.warning('只能上传一个文件')
-}
-// 移除时触发
-const beforeRemove: UploadProps['beforeRemove'] = (uploadFile, uploadFiles) => {
- return ElMessageBox.confirm(
- `确认移除${uploadFile.name}文件吗 ?`,
- ).then(
- () => true,
- () => false,
-
- )
-}
-// 点击文件预览
-const uploadShow = (e: any) => {
- const URL = window.URL || window.webkitURL
- window.open(URL.createObjectURL(e.raw))
-}
-const testForm = ref({
- fileList: [],
- fileContent: '',
-})
-const handleFileChange = (files: any, fileList: any) => {
- testForm.value.fileList = fileList
- const reader = new FileReader()
- reader.readAsText(files.raw)
- // reader.onload = (e) => {
- // testForm.value.fileContent = e.target!.result?.replace(
- // /\n|\r\n/g,
- // '
',
- // )
- // }
+const setData = (newValue: object) => {
+ formInline.value = newValue
}
// 编辑获取详情的提交按钮
const submitFormDetail = () => {
@@ -223,60 +72,29 @@
}
}
// 提交
-const submitForm = (formEl: FormInstance | undefined) => {
- if (!formEl) { return }
+const submitForm = () => {
if (props.buttonType === '详情') { return submitFormDetail() }
- formEl.validate((valid, fields) => {
- if (valid) {
- ElMessageBox.confirm(
- '确认提交吗?',
- '提示',
- {
- confirmButtonText: '确认',
- cancelButtonText: '取消',
- type: 'warning',
- },
- ).then(() => {
- props.buttonType === ''
- ? getStandardListAdd(formInline.value).then((res) => {
- if (res.code === 200) {
- close()
- }
- })
- : submitFormDetail()
- })
- }
- })
-}
-// 标准实验室发生改变row类型
-interface rowReturn {
- phone: string
- director: string
-}
-// 标准实验室发生改变
-const changeDeptList = (row: object) => {
- formInline.value.laboratoryOwnerContact = row.phone
- formInline.value.laboratoryOwner = row.director
-}
-// 标准实验室清空时
-const clearDeptList = () => {
- formInline.value.laboratoryOwnerContact = null
- formInline.value.laboratoryOwner = null
-}
-// 获取详情信息
-const getInfo = () => {
- getStandardListDetail({ id: props.infoId }).then((res) => {
- Object.keys(res.data).map((item) => {
- if (typeof (res.data[item]) === 'number') {
- res.data[item] = res.data[item].toString()
- }
+ ElMessageBox.confirm(
+ '确认提交吗?',
+ '提示',
+ {
+ confirmButtonText: '确认',
+ cancelButtonText: '取消',
+ type: 'warning',
+ },
+ ).then(() => {
+ current.value = '基本信息'
+ currentCompRef.value.submitForm().validate().then(() => {
+ props.buttonType === ''
+ ? getStandardListAdd(formInline.value).then((res) => {
+ if (res.code === 200) {
+ close()
+ }
+ })
+ : submitFormDetail()
})
- formInline.value = res.data
})
}
-if (props.buttonType !== '') {
- getInfo()
-}
@@ -289,7 +107,7 @@
{{ buttonType === '详情' ? '打印' : '提交' }}
@@ -298,405 +116,17 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 上传
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
@@ -719,14 +149,8 @@
}
}
-.info-content {
- margin-top: 10px;
- padding: 30px;
- border-radius: 10px;
+.body {
background-color: #fff;
-}
-
-:deep .el-input .el-input--default .el-input--suffix {
- width: 200px !important;
+ margin-top: 10px;
}
diff --git a/src/views/device/standardEquipment/expirationRemind.vue b/src/views/device/standardEquipment/expirationRemind.vue
index 35786b2..1826c22 100644
--- a/src/views/device/standardEquipment/expirationRemind.vue
+++ b/src/views/device/standardEquipment/expirationRemind.vue
@@ -26,39 +26,47 @@
text: '标准代码',
value: 'standardNo',
width: '160',
+ align: 'center',
},
{
text: '标准名称',
value: 'standardName',
width: '90',
+ align: 'center',
},
{
text: '管理状态',
value: 'managerStateName',
width: '100',
+ align: 'center',
},
{
text: '标准所在部门',
value: 'standardLaboratoryName',
width: '120',
+ align: 'center',
},
{
text: '负责人',
value: 'standardOwnerName',
+ align: 'center',
},
{
text: '建标项目',
value: 'standardOwnerName',
+ align: 'center',
},
{
text: '筹建日期',
value: 'preparationDate',
width: '160',
+ align: 'center',
},
{
text: '有效日期',
value: 'preparationDate',
width: '160',
+ align: 'center',
},
])
const total = ref(0)
@@ -326,12 +334,8 @@
-
- 导出
-
-
- 打印
-
+
+
- 编辑
+ 详情
- 详情
+ 提醒
+import applyList from './components/applyList.vue'
// 逻辑代码
- 暂停申请
+
diff --git a/src/views/device/standardEquipment/resumeApply.vue b/src/views/device/standardEquipment/resumeApply.vue
index d4a80e8..b5896fc 100644
--- a/src/views/device/standardEquipment/resumeApply.vue
+++ b/src/views/device/standardEquipment/resumeApply.vue
@@ -1,10 +1,11 @@
- 恢复申请
+
diff --git a/src/views/device/standardEquipment/standardList.vue b/src/views/device/standardEquipment/standardList.vue
index 4f1bfdf..348ed71 100644
--- a/src/views/device/standardEquipment/standardList.vue
+++ b/src/views/device/standardEquipment/standardList.vue
@@ -29,50 +29,60 @@
text: '标准代码',
value: 'standardNo',
width: '120',
+ align: 'center',
},
{
text: '标准名称',
value: 'standardName',
width: '90',
+ align: 'center',
},
{
text: '类别',
value: 'categoryName',
width: '80',
+ align: 'center',
},
{
text: '标准等级',
value: 'standardLevelName',
width: '100',
+ align: 'center',
},
{
text: '传递范围',
value: 'transmitRange',
width: '110',
+ align: 'center',
},
{
text: '管理状态',
value: 'managerStateName',
width: '100',
+ align: 'center',
},
{
text: '标准所在部门',
value: 'standardLaboratoryName',
width: '120',
+ align: 'center',
},
{
text: '负责人',
value: 'laboratoryOwner',
+ align: 'center',
},
{
text: '筹建日期',
value: 'preparationDate',
width: '110',
+ align: 'center',
},
{
text: '备注',
value: 'remark',
width: '80',
+ align: 'center',
},
])
const total = ref(0)
@@ -250,6 +260,9 @@
buttonType.value = text
isShow.value = false
}
+const renderHeader = (e: any) => {
+ console.log(e)
+}
@@ -330,19 +343,13 @@
-
- 新建
-
-
- 导出
-
-
- 打印
-
+
+
+
diff --git a/src/views/device/stateManage/components/approvalActionDialog.vue b/src/views/device/stateManage/components/approvalActionDialog.vue
index cdc9b25..56417d6 100644
--- a/src/views/device/stateManage/components/approvalActionDialog.vue
+++ b/src/views/device/stateManage/components/approvalActionDialog.vue
@@ -1,10 +1,13 @@
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/cancel.vue b/src/views/device/stateManage/components/status/cancel.vue
new file mode 100644
index 0000000..ecb2d0c
--- /dev/null
+++ b/src/views/device/stateManage/components/status/cancel.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/drafts.vue b/src/views/device/stateManage/components/status/drafts.vue
new file mode 100644
index 0000000..226ba21
--- /dev/null
+++ b/src/views/device/stateManage/components/status/drafts.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/inApproval.vue b/src/views/device/stateManage/components/status/inApproval.vue
new file mode 100644
index 0000000..4988595
--- /dev/null
+++ b/src/views/device/stateManage/components/status/inApproval.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/passed.vue b/src/views/device/stateManage/components/status/passed.vue
new file mode 100644
index 0000000..ab87daf
--- /dev/null
+++ b/src/views/device/stateManage/components/status/passed.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/pending.vue b/src/views/device/stateManage/components/status/pending.vue
new file mode 100644
index 0000000..3e0b315
--- /dev/null
+++ b/src/views/device/stateManage/components/status/pending.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/unPassed.vue b/src/views/device/stateManage/components/status/unPassed.vue
new file mode 100644
index 0000000..8de700e
--- /dev/null
+++ b/src/views/device/stateManage/components/status/unPassed.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/templateAdd.vue b/src/views/device/stateManage/components/templateAdd.vue
index 9c4da0f..fc364c8 100644
--- a/src/views/device/stateManage/components/templateAdd.vue
+++ b/src/views/device/stateManage/components/templateAdd.vue
@@ -381,10 +381,10 @@
-
+
diff --git a/src/views/device/stateManage/components/templateList.vue b/src/views/device/stateManage/components/templateList.vue
index 6ee2e8c..aa3963f 100644
--- a/src/views/device/stateManage/components/templateList.vue
+++ b/src/views/device/stateManage/components/templateList.vue
@@ -8,6 +8,10 @@
type: String,
default: '',
},
+ title: {
+ type: String,
+ default: '',
+ },
})
// import { exportFile } from '@/utils/exportUtils'
// const { proxy } = getCurrentInstance() as any
@@ -179,15 +183,23 @@
// 同意
const agree = (row) => {
console.log(approveRef.value)
- approveRef.value.initDialog()
+ approveRef.value.initDialog({
+ radio: '1',
+ })
}
// 驳回
const reject = (row) => {
- approveRef.value.initDialog()
+ approveRef.value.initDialog({
+ radio: '3',
+ })
}
// 拒绝
const refuse = (row) => {
- approveRef.value.initDialog()
+ approveRef.value.initDialog(
+ {
+ radio: '2',
+ },
+ )
}
// 取消
const cancel = (row) => {
diff --git a/src/views/device/stateManage/components/templatePage.vue b/src/views/device/stateManage/components/templatePage.vue
index 5fb0163..fce7685 100644
--- a/src/views/device/stateManage/components/templatePage.vue
+++ b/src/views/device/stateManage/components/templatePage.vue
@@ -1,6 +1,12 @@
- 设备处置申请
+
diff --git a/src/views/device/stateManage/openApply.vue b/src/views/device/stateManage/openApply.vue
index 3c43781..35c2af6 100644
--- a/src/views/device/stateManage/openApply.vue
+++ b/src/views/device/stateManage/openApply.vue
@@ -1,13 +1,14 @@
- 设备启封申请
+
+
diff --git a/src/views/device/stateManage/scrapApply.vue b/src/views/device/stateManage/scrapApply.vue
index 7bd1a98..282ecd8 100644
--- a/src/views/device/stateManage/scrapApply.vue
+++ b/src/views/device/stateManage/scrapApply.vue
@@ -1,10 +1,10 @@
- 设备报废申请
+
diff --git a/src/views/device/stateManage/sealupApply.vue b/src/views/device/stateManage/sealupApply.vue
index ec6320b..1c8544d 100644
--- a/src/views/device/stateManage/sealupApply.vue
+++ b/src/views/device/stateManage/sealupApply.vue
@@ -1,10 +1,10 @@
- 设备封存申请
+
diff --git a/src/views/measure/bench/bench.vue b/src/views/measure/bench/bench.vue
index cb2ebe6..380779a 100644
--- a/src/views/measure/bench/bench.vue
+++ b/src/views/measure/bench/bench.vue
@@ -175,7 +175,7 @@
v-if="proxy.hasPerm('/workbench/meterTrain/line')"
title="培训计划"
width="27.8vw"
- height="40vh"
+ height="40.7vh"
>
([])
+const PubListTree = ref([])
// 获取发布单位列表
const getPubList = () => {
getDeptTreeList().then((res) => {
PubList.value = res.data
+ PubListTree.value = toTreeList(res.data, '0', true)
})
}
// 弹窗初始化
@@ -73,7 +80,8 @@
if (row.title === '新建') {
// 默认发布人和发布单位
ruleForm.createUserId = userInfo.$state.id
- ruleForm.publisher = userInfo.$state.deptId
+ ruleForm.publisher = ''
+ ruleForm.publishTime = dayjs().format('YYYY-MM-DD HH:mm:ss')
// 判断有无存储
console.log(sessionStorage.getItem(fileTypeName.value), 'sess')
if (sessionStorage.getItem(fileTypeName.value)) {
@@ -207,11 +215,12 @@
// { name: '已废止', id: '1595030083114450945', value: '3' },
// ])
watch(() => ruleForm.effectiveTime, (newVal) => {
- const diffDat = dayjs(newVal).diff(dayjs().format('YYYY-MM-DD HH:mm:ss'), 'day')
+ const diffDat = dayjs(newVal).diff(dayjs().format('YYYY-MM-DD HH:mm:ss'), 'hour')
+ console.log(diffDat)
if (diffDat < 0) {
// ruleForm.effectiveStatusName = '已废止'
- effectiveStatusName.value = '已废止'
- ruleForm.effectiveStatus = '3'
+ effectiveStatusName.value = '在使用'
+ ruleForm.effectiveStatus = '1'
}
else if (diffDat == 0) {
// ruleForm.effectiveStatusName = '在使用'
@@ -269,15 +278,20 @@
-
+
+
@@ -293,7 +307,7 @@
diff --git a/src/views/measure/person/certificateLog.vue b/src/views/measure/person/certificateLog.vue
index ca26b00..2e3322a 100644
--- a/src/views/measure/person/certificateLog.vue
+++ b/src/views/measure/person/certificateLog.vue
@@ -32,13 +32,13 @@
const loadingTable = ref(false) // 表格loading
const total = ref(0) // 数据总条数
const columns = ref([
- { text: '人员编号', value: 'staffNo', align: 'center', width: '150' },
+ { text: '人员编号', value: 'staffNo', align: 'center', width: '180' },
{ text: '姓名', value: 'name', align: 'center', width: '80' },
{ text: '性别', value: 'sex', align: 'center', width: '55' },
{ text: '工作部门', value: 'deptId', align: 'center', width: '140' },
{ text: '技术职务', value: 'technologyJob', align: 'center', width: '120' },
{ text: '行政职务', value: 'administrationJob', align: 'center', width: '90' },
- { text: '证书号', value: 'certificateNo', align: 'center', width: '150' },
+ { text: '证书号', value: 'certificateNo', align: 'center' },
{ text: '发证单位', value: 'certificateCompany', align: 'center', width: '90' },
{ text: '发证日期', value: 'certificateDate', align: 'center', width: '200' },
{ text: '证书有效日期', value: 'certificateDate', align: 'center', width: '200' },
diff --git a/src/views/measure/person/components/addPerson.vue b/src/views/measure/person/components/addPerson.vue
index 9252393..4dc1b17 100644
--- a/src/views/measure/person/components/addPerson.vue
+++ b/src/views/measure/person/components/addPerson.vue
@@ -10,7 +10,7 @@
import { getDeptTreeList } from '@/api/system/dept'
import { UploadFile } from '@/api/measure/file'
import { toTreeList } from '@/utils/structure'
-import type { userType } from '@/views/system/user/user-interface'
+import type { TreeStructure, userType } from '@/views/system/user/user-interface'
import { getDictByCode } from '@/api/system/dict'
import comTreeSelect from '@/views/system/user/selecTree.vue'
import { getStaffAdd, getStaffDetail, getStaffupdate } from '@/api/measure/person'
@@ -67,7 +67,7 @@
ruleFormRef.value?.validateField('idCard').then((res) => {
// 获取生日
const IdCard = ruleForm.value.idCard
- const birthday = `${IdCard.substring(6, 10)}-${IdCard.substring(10, 12)}-${IdCard.substring(12, 14)}`
+ const birthday = `${IdCard.substring(6, 10)}-${IdCard.substring(10, 12)}`
ruleForm.value.birthday = birthday
console.log(ruleForm.value)
})
@@ -86,12 +86,14 @@
const deptProps = reactive({
parent: 'pid', value: 'id', label: 'name', children: 'children',
})
-const PubList = ref([])
+const PubList = ref([])
+const PubListTree = ref([])
// 获取组织列表
const getPubList = () => {
getDeptTreeList().then((res) => {
// 转成树结构
- PubList.value = toTreeList(res.data, '0', true)
+ PubList.value = res.data
+ PubListTree.value = toTreeList(res.data, '0', true)
})
}
const sexList = ref<{ id: string; value: string; name: string }[]>()
@@ -343,7 +345,7 @@
getTechnologyJobList()
getAdministrationJob()
if (row.title === '新建') {
- console.log()
+ // ruleForm.value.deptId = ''
}
else {
getStaffDetail({ ...row }).then((res) => {
@@ -371,7 +373,7 @@
-
-
+
+
@@ -404,20 +405,36 @@
-
+
+
+
+ 选择
+
+
+
-
-
-
-
+
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
@@ -425,82 +442,52 @@
-
+
-
-
-
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
@@ -551,6 +538,7 @@
border-radius: 8px;
padding-top: 10px;
margin-top: 10px;
+ padding-right: 10px;
}
.header {
@@ -578,6 +566,20 @@
display: none;
}
+ :deep(.el-icon.avatar-uploader-icon) {
+ font-size: 28px;
+ color: #8c939d;
+ width: 190px;
+ height: 250px;
+ text-align: center;
+ }
+
+ :deep(.avatar-uploader .avatar) {
+ width: 190px;
+ height: 250px;
+ display: block;
+ }
+
.isDetail {
::v-deep {
.el-form-item.is-required:not(.is-no-asterisk) .el-form-item__label-wrap > .el-form-item__label::before,
@@ -591,12 +593,16 @@
.marg {
margin-top: 20px;
}
+
+.marg-item {
+ margin-top: 20px;
+}
@@ -618,8 +624,8 @@
.el-icon.avatar-uploader-icon {
font-size: 28px;
color: #8c939d;
- width: 178px;
- height: 178px;
+ width: 220px;
+ height: 320px;
text-align: center;
}
diff --git a/src/views/measure/person/components/addRecord.vue b/src/views/measure/person/components/addRecord.vue
index 2928870..ae48f11 100644
--- a/src/views/measure/person/components/addRecord.vue
+++ b/src/views/measure/person/components/addRecord.vue
@@ -9,7 +9,7 @@
import { getUserList } from '@/api/system/user'
import { getDeptTreeList } from '@/api/system/dept'
import { toTreeList } from '@/utils/structure'
-import type { userType } from '@/views/system/user/user-interface'
+import type { TreeStructure, userType } from '@/views/system/user/user-interface'
import { getDictByCode } from '@/api/system/dict'
import comTreeSelect from '@/views/system/user/selecTree.vue'
import { addCertificateList, getCertificateDetail, getCertificateUpdate } from '@/api/measure/person'
@@ -59,12 +59,14 @@
const deptProps = reactive({
parent: 'pid', value: 'id', label: 'name', children: 'children',
})
-const PubList = ref([])
+const PubList = ref
([])
+const PubListTree = ref([])
// 获取组织列表
const getPubList = () => {
getDeptTreeList().then((res) => {
// 转成树结构
- PubList.value = toTreeList(res.data, '0', true)
+ PubList.value = res.data
+ PubListTree.value = toTreeList(res.data, '0', true)
})
}
const sexList = ref<{ id: string; value: string; name: string }[]>()
@@ -330,7 +332,13 @@
-
+
+
+
+ 选择
+
+
+
@@ -377,10 +385,12 @@
-
+
+
+
diff --git a/src/views/measure/person/components/personListDialog.vue b/src/views/measure/person/components/personListDialog.vue
index 952da9d..5e20d1b 100644
--- a/src/views/measure/person/components/personListDialog.vue
+++ b/src/views/measure/person/components/personListDialog.vue
@@ -1,6 +1,6 @@
- 撤销申请
+
diff --git a/src/views/device/standardEquipment/changeApply.vue b/src/views/device/standardEquipment/changeApply.vue
index 0762330..6625970 100644
--- a/src/views/device/standardEquipment/changeApply.vue
+++ b/src/views/device/standardEquipment/changeApply.vue
@@ -1,10 +1,11 @@
-
- 更换申请
+
diff --git a/src/views/device/standardEquipment/checkApply.vue b/src/views/device/standardEquipment/checkApply.vue
index 9cadc01..6625970 100644
--- a/src/views/device/standardEquipment/checkApply.vue
+++ b/src/views/device/standardEquipment/checkApply.vue
@@ -1,10 +1,11 @@
- 复查申请
+
diff --git a/src/views/device/standardEquipment/components/applyList.vue b/src/views/device/standardEquipment/components/applyList.vue
new file mode 100644
index 0000000..45be74a
--- /dev/null
+++ b/src/views/device/standardEquipment/components/applyList.vue
@@ -0,0 +1,65 @@
+
+
+
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/all.vue b/src/views/device/standardEquipment/components/listApply/all.vue
new file mode 100644
index 0000000..d124307
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/all.vue
@@ -0,0 +1,17 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/approvalPending.vue b/src/views/device/standardEquipment/components/listApply/approvalPending.vue
new file mode 100644
index 0000000..8a7a8bc
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/approvalPending.vue
@@ -0,0 +1,16 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/canceled.vue b/src/views/device/standardEquipment/components/listApply/canceled.vue
new file mode 100644
index 0000000..3b9657c
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/canceled.vue
@@ -0,0 +1,15 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/draftBox.vue b/src/views/device/standardEquipment/components/listApply/draftBox.vue
new file mode 100644
index 0000000..43d7b75
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/draftBox.vue
@@ -0,0 +1,15 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue b/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue
new file mode 100644
index 0000000..c13f95a
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue
@@ -0,0 +1,17 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/listPage.vue b/src/views/device/standardEquipment/components/listApply/listPage.vue
new file mode 100644
index 0000000..5133627
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/listPage.vue
@@ -0,0 +1,493 @@
+
+
+
+
+
+
+
+
+
+
+
+ 同意
+
+
+ 驳回
+
+
+ 拒绝
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 提交
+
+
+ 取消
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/listPageAdd.vue b/src/views/device/standardEquipment/components/listApply/listPageAdd.vue
new file mode 100644
index 0000000..eb506ec
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/listPageAdd.vue
@@ -0,0 +1,1021 @@
+
+
+
+
+
+
+ 基本信息
+
+
+
+ {{ item }}
+
+
+ 关闭
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 上传
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 完成
+
+
+
+
+
+
+
+ 同意
+
+
+ 驳回
+
+
+ 拒绝
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 提交
+
+
+ 取消
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/notPass.vue b/src/views/device/standardEquipment/components/listApply/notPass.vue
new file mode 100644
index 0000000..5a4b817
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/notPass.vue
@@ -0,0 +1,10 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/passed.vue b/src/views/device/standardEquipment/components/listApply/passed.vue
new file mode 100644
index 0000000..31cd21c
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/passed.vue
@@ -0,0 +1,10 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/addRow.vue b/src/views/device/standardEquipment/components/standardList/addRow.vue
new file mode 100644
index 0000000..9f2bf81
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/addRow.vue
@@ -0,0 +1,270 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/baseInfo.vue b/src/views/device/standardEquipment/components/standardList/baseInfo.vue
new file mode 100644
index 0000000..c47ad1d
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/baseInfo.vue
@@ -0,0 +1,675 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 上传
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/temptable.vue b/src/views/device/standardEquipment/components/standardList/temptable.vue
new file mode 100644
index 0000000..20eb800
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/temptable.vue
@@ -0,0 +1,387 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ (searchQuery.offset - 1) * searchQuery.limit + scope.$index + 1 }}
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardListAdd.vue b/src/views/device/standardEquipment/components/standardListAdd.vue
index ea13629..348bb41 100644
--- a/src/views/device/standardEquipment/components/standardListAdd.vue
+++ b/src/views/device/standardEquipment/components/standardListAdd.vue
@@ -3,6 +3,8 @@
import { ElMessage, ElMessageBox } from 'element-plus'
import type { FormInstance, UploadProps, UploadUserFile } from 'element-plus'
import type { IOptions } from '../standard_interface'
+import baseInfo from './standardList/baseInfo.vue'
+import table from './standardList/temptable.vue'
import { getStaffList } from '@/api/measure/person'
import { getTypeSelect } from '@/api/system/price'
import { getStandardLisUpdate, getStandardListAdd, getStandardListDetail, getUsersDept } from '@/api/device/standard'
@@ -17,188 +19,35 @@
default: '',
},
})
-const emit = defineEmits(['close']) // 关闭
-const ruleFormRef = ref()
-// 逻辑代码
-const formInline = ref({
- assessDate: '',
- assessmentUnit: '',
- category: null,
- categoryName: '',
- constructionStandardProject: '',
- constructionStandardUnitName: '',
- contactInfo: '',
- createTime: null,
- createUser: null,
- id: '',
- isDel: null,
- laboratoryOwner: null,
- laboratoryOwnerContact: null,
- laboratoryOwnerName: null,
- managerState: null,
- managerStateName: '',
- measureMajor: null,
- fileList: [],
- measureMajorName: '',
- mesureRange: '',
- organizeNo: '',
- preparationDate: '',
- projectNo: '',
- remark: '',
- standardHumidity: null,
- standardLaboratory: null,
- standardLaboratoryName: '',
- standardLevel: null,
- standardLevelName: '',
- standardName: '',
- standardNo: '',
- standardOwner: null,
- standardOwnerName: '',
- standardTemperature: null,
- totalInvestment: null,
- transmitRange: null,
- transmitRangeName: '',
- uncertainty: '',
- updateTime: null,
- version: null,
-})
-const checkTypeOptions = ref([])
-
-const standardOwnerOptions = ref([]) // 标准负责人
-const fileList = ref([]) // 文件对象数组
-const measureMajorList = ref([]) // 计量专业下拉框
-const standardManagerStateList = ref([]) // 管理状态下拉框
-const standardLevelList = ref([]) // 标准等级下拉框
-const transmitRangeList = ref([]) // 传递范围下拉框
-// 标准所在部门下拉框
-const standardUsersDeptList = ref([])
-// 获取下拉框
-const getSelectList = (code: string) => {
- getTypeSelect(code).then((res) => {
- if (code === 'measureMajor') {
- measureMajorList.value = res.data
- }
- else if (code === 'standardManagerState') {
- standardManagerStateList.value = res.data
- }
- else if (code === 'standardLevel') {
- standardLevelList.value = res.data
- }
- else if (code === 'transmitRange') {
- transmitRangeList.value = res.data
- }
- else if (code === 'standardCategory') {
- checkTypeOptions.value = res.data
- }
- })
+const emit = defineEmits(['close'])
+// 定义数据
+const formInline = ref({})
+// 关闭
+interface menuType {
+ name: string
+ comp: any
}
-getSelectList('measureMajor') // 获取计量专业下拉框
-getSelectList('standardManagerState') // 获取管理状态下拉框
-getSelectList('standardLevel') // 获取标准等级下拉框
-getSelectList('transmitRange') // 获取传递范围下拉框
-getSelectList('standardCategory') // 获取类别下拉框
-// 获取部门信息
-getUsersDept({
- createTime: '',
- director: '',
- meterMajor: '',
- organizeName: '',
- organizeNo: '',
- organizeType: '2',
- pdeptId: null,
- offset: 1,
- limit: 999999,
-}).then((res) => {
- standardUsersDeptList.value = res.data.rows
+const menu = shallowRef([
+ { name: '基本信息', comp: baseInfo },
+ { name: '计量人员', comp: table },
+ { name: '标准配套设备', comp: table },
+ { name: '检定规程', comp: table },
+ { name: '重复性考核记录', comp: table },
+ { name: '稳定性考核记录', comp: table },
+ { name: '证书管理', comp: table },
+])
+const currentCompRef = ref()
+const current = ref('基本信息')
+const currentComp = shallowRef(baseInfo)
+watch(current, (newValue) => {
+ currentComp.value = menu.value.filter(item => item.name === newValue)[0].comp
})
-// 获取到标准负责人数组
-const getStandardOwnerOptions = () => {
- const params = {
- staffNo: '', // 人员编号
- name: '', // 姓名
- deptId: '', // 工作部门
- major: '', // 计量专业
- verifierCertificateNo: '', // 证书号
- certificateStatus: '', // 证书状态
- limit: 100000,
- offset: 1,
- }
- getStaffList(params).then((res) => {
- standardOwnerOptions.value = res.data.records
- })
-}
-getStandardOwnerOptions()
// 关闭
const close = () => {
emit('close')
}
-const rules = ref({
- standardName: [{ required: true, message: '标准名称不能为空', trigger: 'blur' }],
- projectNo: [{ required: true, message: '项目编号不能为空', trigger: 'blur' }],
- constructionStandardProject: [{ required: true, message: '建标项目不能为空', trigger: 'blur' }],
- organizeNo: [{ required: true, message: '组织机构代码不能为空', trigger: 'blur' }],
- constructionStandardUnitName: [{ required: true, message: '建标单位名称不能为空', trigger: 'blur' }],
- standardOwner: [{ required: true, message: '标准负责人不能为空', trigger: 'blur' }],
- contactInfo: [{ required: true, message: '联系方式不能为空', trigger: 'blur' }],
- category: [{ required: true, message: '类 别不能为空', trigger: 'blur' }],
- standardLevel: [{ required: true, message: '标准等级不能为空', trigger: 'blur' }],
- transmitRange: [{ required: true, message: '传递范围不能为空', trigger: 'blur' }],
- preparationDate: [{ required: true, message: '筹建日期不能为空', trigger: 'blur' }],
- managerState: [{ required: true, message: '管理状态不能为空', trigger: 'blur' }],
- measureMajor: [{ required: true, message: '计量专业不能为空', trigger: 'blur' }],
- assessmentUnit: [{ required: true, message: '考核单位不能为空', trigger: 'blur' }],
- assessDate: [{ required: true, message: '考核日期不能为空', trigger: 'blur' }],
- uncertainty: [{ required: true, message: '不确定度不能为空', trigger: 'blur' }],
- mesureRange: [{ required: true, message: '测量范围不能为空', trigger: 'blur' }],
- standardTemperature: [{ required: true, message: '标准温度不能为空', trigger: 'blur' },
- { pattern: /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/, message: '标准温度只能为数字', trigger: 'blur' }],
- standardHumidity: [{ required: true, message: '标准湿度不能为空', trigger: 'blur' },
- { pattern: /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/, message: '标准湿度只能为数字', trigger: 'blur' }],
-}) // 表单验证规则
-// 上传请求
-const uploadQuarterlyEvaluateFile = (file: File) => {
- const fd = new FormData()
- fd.append('multipartFile', file.file)
- UploadFile(fd).then((res) => {
- if (res.code === 200) {
- formInline.value.fileList = res.data
- // 重置当前验证
- ElMessage.success('文件上传成功')
- }
- })
-}
-const handleExceed: UploadProps['onExceed'] = (files, uploadFiles) => {
- ElMessage.warning('只能上传一个文件')
-}
-// 移除时触发
-const beforeRemove: UploadProps['beforeRemove'] = (uploadFile, uploadFiles) => {
- return ElMessageBox.confirm(
- `确认移除${uploadFile.name}文件吗 ?`,
- ).then(
- () => true,
- () => false,
-
- )
-}
-// 点击文件预览
-const uploadShow = (e: any) => {
- const URL = window.URL || window.webkitURL
- window.open(URL.createObjectURL(e.raw))
-}
-const testForm = ref({
- fileList: [],
- fileContent: '',
-})
-const handleFileChange = (files: any, fileList: any) => {
- testForm.value.fileList = fileList
- const reader = new FileReader()
- reader.readAsText(files.raw)
- // reader.onload = (e) => {
- // testForm.value.fileContent = e.target!.result?.replace(
- // /\n|\r\n/g,
- // '
',
- // )
- // }
+const setData = (newValue: object) => {
+ formInline.value = newValue
}
// 编辑获取详情的提交按钮
const submitFormDetail = () => {
@@ -223,60 +72,29 @@
}
}
// 提交
-const submitForm = (formEl: FormInstance | undefined) => {
- if (!formEl) { return }
+const submitForm = () => {
if (props.buttonType === '详情') { return submitFormDetail() }
- formEl.validate((valid, fields) => {
- if (valid) {
- ElMessageBox.confirm(
- '确认提交吗?',
- '提示',
- {
- confirmButtonText: '确认',
- cancelButtonText: '取消',
- type: 'warning',
- },
- ).then(() => {
- props.buttonType === ''
- ? getStandardListAdd(formInline.value).then((res) => {
- if (res.code === 200) {
- close()
- }
- })
- : submitFormDetail()
- })
- }
- })
-}
-// 标准实验室发生改变row类型
-interface rowReturn {
- phone: string
- director: string
-}
-// 标准实验室发生改变
-const changeDeptList = (row: object) => {
- formInline.value.laboratoryOwnerContact = row.phone
- formInline.value.laboratoryOwner = row.director
-}
-// 标准实验室清空时
-const clearDeptList = () => {
- formInline.value.laboratoryOwnerContact = null
- formInline.value.laboratoryOwner = null
-}
-// 获取详情信息
-const getInfo = () => {
- getStandardListDetail({ id: props.infoId }).then((res) => {
- Object.keys(res.data).map((item) => {
- if (typeof (res.data[item]) === 'number') {
- res.data[item] = res.data[item].toString()
- }
+ ElMessageBox.confirm(
+ '确认提交吗?',
+ '提示',
+ {
+ confirmButtonText: '确认',
+ cancelButtonText: '取消',
+ type: 'warning',
+ },
+ ).then(() => {
+ current.value = '基本信息'
+ currentCompRef.value.submitForm().validate().then(() => {
+ props.buttonType === ''
+ ? getStandardListAdd(formInline.value).then((res) => {
+ if (res.code === 200) {
+ close()
+ }
+ })
+ : submitFormDetail()
})
- formInline.value = res.data
})
}
-if (props.buttonType !== '') {
- getInfo()
-}
@@ -289,7 +107,7 @@
{{ buttonType === '详情' ? '打印' : '提交' }}
@@ -298,405 +116,17 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 上传
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
@@ -719,14 +149,8 @@
}
}
-.info-content {
- margin-top: 10px;
- padding: 30px;
- border-radius: 10px;
+.body {
background-color: #fff;
-}
-
-:deep .el-input .el-input--default .el-input--suffix {
- width: 200px !important;
+ margin-top: 10px;
}
diff --git a/src/views/device/standardEquipment/expirationRemind.vue b/src/views/device/standardEquipment/expirationRemind.vue
index 35786b2..1826c22 100644
--- a/src/views/device/standardEquipment/expirationRemind.vue
+++ b/src/views/device/standardEquipment/expirationRemind.vue
@@ -26,39 +26,47 @@
text: '标准代码',
value: 'standardNo',
width: '160',
+ align: 'center',
},
{
text: '标准名称',
value: 'standardName',
width: '90',
+ align: 'center',
},
{
text: '管理状态',
value: 'managerStateName',
width: '100',
+ align: 'center',
},
{
text: '标准所在部门',
value: 'standardLaboratoryName',
width: '120',
+ align: 'center',
},
{
text: '负责人',
value: 'standardOwnerName',
+ align: 'center',
},
{
text: '建标项目',
value: 'standardOwnerName',
+ align: 'center',
},
{
text: '筹建日期',
value: 'preparationDate',
width: '160',
+ align: 'center',
},
{
text: '有效日期',
value: 'preparationDate',
width: '160',
+ align: 'center',
},
])
const total = ref(0)
@@ -326,12 +334,8 @@
-
- 导出
-
-
- 打印
-
+
+
- 编辑
+ 详情
- 详情
+ 提醒
+import applyList from './components/applyList.vue'
// 逻辑代码
- 暂停申请
+
diff --git a/src/views/device/standardEquipment/resumeApply.vue b/src/views/device/standardEquipment/resumeApply.vue
index d4a80e8..b5896fc 100644
--- a/src/views/device/standardEquipment/resumeApply.vue
+++ b/src/views/device/standardEquipment/resumeApply.vue
@@ -1,10 +1,11 @@
- 恢复申请
+
diff --git a/src/views/device/standardEquipment/standardList.vue b/src/views/device/standardEquipment/standardList.vue
index 4f1bfdf..348ed71 100644
--- a/src/views/device/standardEquipment/standardList.vue
+++ b/src/views/device/standardEquipment/standardList.vue
@@ -29,50 +29,60 @@
text: '标准代码',
value: 'standardNo',
width: '120',
+ align: 'center',
},
{
text: '标准名称',
value: 'standardName',
width: '90',
+ align: 'center',
},
{
text: '类别',
value: 'categoryName',
width: '80',
+ align: 'center',
},
{
text: '标准等级',
value: 'standardLevelName',
width: '100',
+ align: 'center',
},
{
text: '传递范围',
value: 'transmitRange',
width: '110',
+ align: 'center',
},
{
text: '管理状态',
value: 'managerStateName',
width: '100',
+ align: 'center',
},
{
text: '标准所在部门',
value: 'standardLaboratoryName',
width: '120',
+ align: 'center',
},
{
text: '负责人',
value: 'laboratoryOwner',
+ align: 'center',
},
{
text: '筹建日期',
value: 'preparationDate',
width: '110',
+ align: 'center',
},
{
text: '备注',
value: 'remark',
width: '80',
+ align: 'center',
},
])
const total = ref(0)
@@ -250,6 +260,9 @@
buttonType.value = text
isShow.value = false
}
+const renderHeader = (e: any) => {
+ console.log(e)
+}
@@ -330,19 +343,13 @@
-
- 新建
-
-
- 导出
-
-
- 打印
-
+
+
+
diff --git a/src/views/device/stateManage/components/approvalActionDialog.vue b/src/views/device/stateManage/components/approvalActionDialog.vue
index cdc9b25..56417d6 100644
--- a/src/views/device/stateManage/components/approvalActionDialog.vue
+++ b/src/views/device/stateManage/components/approvalActionDialog.vue
@@ -1,10 +1,13 @@
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/cancel.vue b/src/views/device/stateManage/components/status/cancel.vue
new file mode 100644
index 0000000..ecb2d0c
--- /dev/null
+++ b/src/views/device/stateManage/components/status/cancel.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/drafts.vue b/src/views/device/stateManage/components/status/drafts.vue
new file mode 100644
index 0000000..226ba21
--- /dev/null
+++ b/src/views/device/stateManage/components/status/drafts.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/inApproval.vue b/src/views/device/stateManage/components/status/inApproval.vue
new file mode 100644
index 0000000..4988595
--- /dev/null
+++ b/src/views/device/stateManage/components/status/inApproval.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/passed.vue b/src/views/device/stateManage/components/status/passed.vue
new file mode 100644
index 0000000..ab87daf
--- /dev/null
+++ b/src/views/device/stateManage/components/status/passed.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/pending.vue b/src/views/device/stateManage/components/status/pending.vue
new file mode 100644
index 0000000..3e0b315
--- /dev/null
+++ b/src/views/device/stateManage/components/status/pending.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/unPassed.vue b/src/views/device/stateManage/components/status/unPassed.vue
new file mode 100644
index 0000000..8de700e
--- /dev/null
+++ b/src/views/device/stateManage/components/status/unPassed.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/templateAdd.vue b/src/views/device/stateManage/components/templateAdd.vue
index 9c4da0f..fc364c8 100644
--- a/src/views/device/stateManage/components/templateAdd.vue
+++ b/src/views/device/stateManage/components/templateAdd.vue
@@ -381,10 +381,10 @@
-
+
diff --git a/src/views/device/stateManage/components/templateList.vue b/src/views/device/stateManage/components/templateList.vue
index 6ee2e8c..aa3963f 100644
--- a/src/views/device/stateManage/components/templateList.vue
+++ b/src/views/device/stateManage/components/templateList.vue
@@ -8,6 +8,10 @@
type: String,
default: '',
},
+ title: {
+ type: String,
+ default: '',
+ },
})
// import { exportFile } from '@/utils/exportUtils'
// const { proxy } = getCurrentInstance() as any
@@ -179,15 +183,23 @@
// 同意
const agree = (row) => {
console.log(approveRef.value)
- approveRef.value.initDialog()
+ approveRef.value.initDialog({
+ radio: '1',
+ })
}
// 驳回
const reject = (row) => {
- approveRef.value.initDialog()
+ approveRef.value.initDialog({
+ radio: '3',
+ })
}
// 拒绝
const refuse = (row) => {
- approveRef.value.initDialog()
+ approveRef.value.initDialog(
+ {
+ radio: '2',
+ },
+ )
}
// 取消
const cancel = (row) => {
diff --git a/src/views/device/stateManage/components/templatePage.vue b/src/views/device/stateManage/components/templatePage.vue
index 5fb0163..fce7685 100644
--- a/src/views/device/stateManage/components/templatePage.vue
+++ b/src/views/device/stateManage/components/templatePage.vue
@@ -1,6 +1,12 @@
- 设备处置申请
+
diff --git a/src/views/device/stateManage/openApply.vue b/src/views/device/stateManage/openApply.vue
index 3c43781..35c2af6 100644
--- a/src/views/device/stateManage/openApply.vue
+++ b/src/views/device/stateManage/openApply.vue
@@ -1,13 +1,14 @@
- 设备启封申请
+
+
diff --git a/src/views/device/stateManage/scrapApply.vue b/src/views/device/stateManage/scrapApply.vue
index 7bd1a98..282ecd8 100644
--- a/src/views/device/stateManage/scrapApply.vue
+++ b/src/views/device/stateManage/scrapApply.vue
@@ -1,10 +1,10 @@
- 设备报废申请
+
diff --git a/src/views/device/stateManage/sealupApply.vue b/src/views/device/stateManage/sealupApply.vue
index ec6320b..1c8544d 100644
--- a/src/views/device/stateManage/sealupApply.vue
+++ b/src/views/device/stateManage/sealupApply.vue
@@ -1,10 +1,10 @@
- 设备封存申请
+
diff --git a/src/views/measure/bench/bench.vue b/src/views/measure/bench/bench.vue
index cb2ebe6..380779a 100644
--- a/src/views/measure/bench/bench.vue
+++ b/src/views/measure/bench/bench.vue
@@ -175,7 +175,7 @@
v-if="proxy.hasPerm('/workbench/meterTrain/line')"
title="培训计划"
width="27.8vw"
- height="40vh"
+ height="40.7vh"
>
([])
+const PubListTree = ref([])
// 获取发布单位列表
const getPubList = () => {
getDeptTreeList().then((res) => {
PubList.value = res.data
+ PubListTree.value = toTreeList(res.data, '0', true)
})
}
// 弹窗初始化
@@ -73,7 +80,8 @@
if (row.title === '新建') {
// 默认发布人和发布单位
ruleForm.createUserId = userInfo.$state.id
- ruleForm.publisher = userInfo.$state.deptId
+ ruleForm.publisher = ''
+ ruleForm.publishTime = dayjs().format('YYYY-MM-DD HH:mm:ss')
// 判断有无存储
console.log(sessionStorage.getItem(fileTypeName.value), 'sess')
if (sessionStorage.getItem(fileTypeName.value)) {
@@ -207,11 +215,12 @@
// { name: '已废止', id: '1595030083114450945', value: '3' },
// ])
watch(() => ruleForm.effectiveTime, (newVal) => {
- const diffDat = dayjs(newVal).diff(dayjs().format('YYYY-MM-DD HH:mm:ss'), 'day')
+ const diffDat = dayjs(newVal).diff(dayjs().format('YYYY-MM-DD HH:mm:ss'), 'hour')
+ console.log(diffDat)
if (diffDat < 0) {
// ruleForm.effectiveStatusName = '已废止'
- effectiveStatusName.value = '已废止'
- ruleForm.effectiveStatus = '3'
+ effectiveStatusName.value = '在使用'
+ ruleForm.effectiveStatus = '1'
}
else if (diffDat == 0) {
// ruleForm.effectiveStatusName = '在使用'
@@ -269,15 +278,20 @@
-
+
+
@@ -293,7 +307,7 @@
diff --git a/src/views/measure/person/certificateLog.vue b/src/views/measure/person/certificateLog.vue
index ca26b00..2e3322a 100644
--- a/src/views/measure/person/certificateLog.vue
+++ b/src/views/measure/person/certificateLog.vue
@@ -32,13 +32,13 @@
const loadingTable = ref(false) // 表格loading
const total = ref(0) // 数据总条数
const columns = ref([
- { text: '人员编号', value: 'staffNo', align: 'center', width: '150' },
+ { text: '人员编号', value: 'staffNo', align: 'center', width: '180' },
{ text: '姓名', value: 'name', align: 'center', width: '80' },
{ text: '性别', value: 'sex', align: 'center', width: '55' },
{ text: '工作部门', value: 'deptId', align: 'center', width: '140' },
{ text: '技术职务', value: 'technologyJob', align: 'center', width: '120' },
{ text: '行政职务', value: 'administrationJob', align: 'center', width: '90' },
- { text: '证书号', value: 'certificateNo', align: 'center', width: '150' },
+ { text: '证书号', value: 'certificateNo', align: 'center' },
{ text: '发证单位', value: 'certificateCompany', align: 'center', width: '90' },
{ text: '发证日期', value: 'certificateDate', align: 'center', width: '200' },
{ text: '证书有效日期', value: 'certificateDate', align: 'center', width: '200' },
diff --git a/src/views/measure/person/components/addPerson.vue b/src/views/measure/person/components/addPerson.vue
index 9252393..4dc1b17 100644
--- a/src/views/measure/person/components/addPerson.vue
+++ b/src/views/measure/person/components/addPerson.vue
@@ -10,7 +10,7 @@
import { getDeptTreeList } from '@/api/system/dept'
import { UploadFile } from '@/api/measure/file'
import { toTreeList } from '@/utils/structure'
-import type { userType } from '@/views/system/user/user-interface'
+import type { TreeStructure, userType } from '@/views/system/user/user-interface'
import { getDictByCode } from '@/api/system/dict'
import comTreeSelect from '@/views/system/user/selecTree.vue'
import { getStaffAdd, getStaffDetail, getStaffupdate } from '@/api/measure/person'
@@ -67,7 +67,7 @@
ruleFormRef.value?.validateField('idCard').then((res) => {
// 获取生日
const IdCard = ruleForm.value.idCard
- const birthday = `${IdCard.substring(6, 10)}-${IdCard.substring(10, 12)}-${IdCard.substring(12, 14)}`
+ const birthday = `${IdCard.substring(6, 10)}-${IdCard.substring(10, 12)}`
ruleForm.value.birthday = birthday
console.log(ruleForm.value)
})
@@ -86,12 +86,14 @@
const deptProps = reactive({
parent: 'pid', value: 'id', label: 'name', children: 'children',
})
-const PubList = ref([])
+const PubList = ref([])
+const PubListTree = ref([])
// 获取组织列表
const getPubList = () => {
getDeptTreeList().then((res) => {
// 转成树结构
- PubList.value = toTreeList(res.data, '0', true)
+ PubList.value = res.data
+ PubListTree.value = toTreeList(res.data, '0', true)
})
}
const sexList = ref<{ id: string; value: string; name: string }[]>()
@@ -343,7 +345,7 @@
getTechnologyJobList()
getAdministrationJob()
if (row.title === '新建') {
- console.log()
+ // ruleForm.value.deptId = ''
}
else {
getStaffDetail({ ...row }).then((res) => {
@@ -371,7 +373,7 @@
-
-
+
+
@@ -404,20 +405,36 @@
-
+
+
+
+ 选择
+
+
+
-
-
-
-
+
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
@@ -425,82 +442,52 @@
-
+
-
-
-
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
@@ -551,6 +538,7 @@
border-radius: 8px;
padding-top: 10px;
margin-top: 10px;
+ padding-right: 10px;
}
.header {
@@ -578,6 +566,20 @@
display: none;
}
+ :deep(.el-icon.avatar-uploader-icon) {
+ font-size: 28px;
+ color: #8c939d;
+ width: 190px;
+ height: 250px;
+ text-align: center;
+ }
+
+ :deep(.avatar-uploader .avatar) {
+ width: 190px;
+ height: 250px;
+ display: block;
+ }
+
.isDetail {
::v-deep {
.el-form-item.is-required:not(.is-no-asterisk) .el-form-item__label-wrap > .el-form-item__label::before,
@@ -591,12 +593,16 @@
.marg {
margin-top: 20px;
}
+
+.marg-item {
+ margin-top: 20px;
+}
@@ -618,8 +624,8 @@
.el-icon.avatar-uploader-icon {
font-size: 28px;
color: #8c939d;
- width: 178px;
- height: 178px;
+ width: 220px;
+ height: 320px;
text-align: center;
}
diff --git a/src/views/measure/person/components/addRecord.vue b/src/views/measure/person/components/addRecord.vue
index 2928870..ae48f11 100644
--- a/src/views/measure/person/components/addRecord.vue
+++ b/src/views/measure/person/components/addRecord.vue
@@ -9,7 +9,7 @@
import { getUserList } from '@/api/system/user'
import { getDeptTreeList } from '@/api/system/dept'
import { toTreeList } from '@/utils/structure'
-import type { userType } from '@/views/system/user/user-interface'
+import type { TreeStructure, userType } from '@/views/system/user/user-interface'
import { getDictByCode } from '@/api/system/dict'
import comTreeSelect from '@/views/system/user/selecTree.vue'
import { addCertificateList, getCertificateDetail, getCertificateUpdate } from '@/api/measure/person'
@@ -59,12 +59,14 @@
const deptProps = reactive({
parent: 'pid', value: 'id', label: 'name', children: 'children',
})
-const PubList = ref([])
+const PubList = ref
([])
+const PubListTree = ref([])
// 获取组织列表
const getPubList = () => {
getDeptTreeList().then((res) => {
// 转成树结构
- PubList.value = toTreeList(res.data, '0', true)
+ PubList.value = res.data
+ PubListTree.value = toTreeList(res.data, '0', true)
})
}
const sexList = ref<{ id: string; value: string; name: string }[]>()
@@ -330,7 +332,13 @@
-
+
+
+
+ 选择
+
+
+
@@ -377,10 +385,12 @@
-
+
+
+
diff --git a/src/views/measure/person/components/personListDialog.vue b/src/views/measure/person/components/personListDialog.vue
index 952da9d..5e20d1b 100644
--- a/src/views/measure/person/components/personListDialog.vue
+++ b/src/views/measure/person/components/personListDialog.vue
@@ -1,6 +1,6 @@
diff --git a/src/components.d.ts b/src/components.d.ts
index fea7d82..6e85584 100644
--- a/src/components.d.ts
+++ b/src/components.d.ts
@@ -16,6 +16,7 @@
BarChartHorizontal: typeof import('./components/Echart/BarChartHorizontal.vue')['default']
BarChartVertical: typeof import('./components/Echart/BarChartVertical.vue')['default']
BatchActionBar: typeof import('./components/BatchActionBar/index.vue')['default']
+ Benchcol: typeof import('./components/benchcol/index.vue')['default']
BenchCol: typeof import('./components/benchCol/index.vue')['default']
ConditionDrawer: typeof import('./components/drawer/conditionDrawer.vue')['default']
copy: typeof import('./components/DetailPage/index copy.vue')['default']
diff --git a/src/views/device/standardEquipment/cancelApply.vue b/src/views/device/standardEquipment/cancelApply.vue
index c093520..1e50f44 100644
--- a/src/views/device/standardEquipment/cancelApply.vue
+++ b/src/views/device/standardEquipment/cancelApply.vue
@@ -1,10 +1,11 @@
- 撤销申请
+
diff --git a/src/views/device/standardEquipment/changeApply.vue b/src/views/device/standardEquipment/changeApply.vue
index 0762330..6625970 100644
--- a/src/views/device/standardEquipment/changeApply.vue
+++ b/src/views/device/standardEquipment/changeApply.vue
@@ -1,10 +1,11 @@
-
- 更换申请
+
diff --git a/src/views/device/standardEquipment/checkApply.vue b/src/views/device/standardEquipment/checkApply.vue
index 9cadc01..6625970 100644
--- a/src/views/device/standardEquipment/checkApply.vue
+++ b/src/views/device/standardEquipment/checkApply.vue
@@ -1,10 +1,11 @@
- 复查申请
+
diff --git a/src/views/device/standardEquipment/components/applyList.vue b/src/views/device/standardEquipment/components/applyList.vue
new file mode 100644
index 0000000..45be74a
--- /dev/null
+++ b/src/views/device/standardEquipment/components/applyList.vue
@@ -0,0 +1,65 @@
+
+
+
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/all.vue b/src/views/device/standardEquipment/components/listApply/all.vue
new file mode 100644
index 0000000..d124307
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/all.vue
@@ -0,0 +1,17 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/approvalPending.vue b/src/views/device/standardEquipment/components/listApply/approvalPending.vue
new file mode 100644
index 0000000..8a7a8bc
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/approvalPending.vue
@@ -0,0 +1,16 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/canceled.vue b/src/views/device/standardEquipment/components/listApply/canceled.vue
new file mode 100644
index 0000000..3b9657c
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/canceled.vue
@@ -0,0 +1,15 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/draftBox.vue b/src/views/device/standardEquipment/components/listApply/draftBox.vue
new file mode 100644
index 0000000..43d7b75
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/draftBox.vue
@@ -0,0 +1,15 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue b/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue
new file mode 100644
index 0000000..c13f95a
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue
@@ -0,0 +1,17 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/listPage.vue b/src/views/device/standardEquipment/components/listApply/listPage.vue
new file mode 100644
index 0000000..5133627
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/listPage.vue
@@ -0,0 +1,493 @@
+
+
+
+
+
+
+
+
+
+
+
+ 同意
+
+
+ 驳回
+
+
+ 拒绝
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 提交
+
+
+ 取消
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/listPageAdd.vue b/src/views/device/standardEquipment/components/listApply/listPageAdd.vue
new file mode 100644
index 0000000..eb506ec
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/listPageAdd.vue
@@ -0,0 +1,1021 @@
+
+
+
+
+
+
+ 基本信息
+
+
+
+ {{ item }}
+
+
+ 关闭
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 上传
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 完成
+
+
+
+
+
+
+
+ 同意
+
+
+ 驳回
+
+
+ 拒绝
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 提交
+
+
+ 取消
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/notPass.vue b/src/views/device/standardEquipment/components/listApply/notPass.vue
new file mode 100644
index 0000000..5a4b817
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/notPass.vue
@@ -0,0 +1,10 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/passed.vue b/src/views/device/standardEquipment/components/listApply/passed.vue
new file mode 100644
index 0000000..31cd21c
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/passed.vue
@@ -0,0 +1,10 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/addRow.vue b/src/views/device/standardEquipment/components/standardList/addRow.vue
new file mode 100644
index 0000000..9f2bf81
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/addRow.vue
@@ -0,0 +1,270 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/baseInfo.vue b/src/views/device/standardEquipment/components/standardList/baseInfo.vue
new file mode 100644
index 0000000..c47ad1d
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/baseInfo.vue
@@ -0,0 +1,675 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 上传
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/temptable.vue b/src/views/device/standardEquipment/components/standardList/temptable.vue
new file mode 100644
index 0000000..20eb800
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/temptable.vue
@@ -0,0 +1,387 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ (searchQuery.offset - 1) * searchQuery.limit + scope.$index + 1 }}
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardListAdd.vue b/src/views/device/standardEquipment/components/standardListAdd.vue
index ea13629..348bb41 100644
--- a/src/views/device/standardEquipment/components/standardListAdd.vue
+++ b/src/views/device/standardEquipment/components/standardListAdd.vue
@@ -3,6 +3,8 @@
import { ElMessage, ElMessageBox } from 'element-plus'
import type { FormInstance, UploadProps, UploadUserFile } from 'element-plus'
import type { IOptions } from '../standard_interface'
+import baseInfo from './standardList/baseInfo.vue'
+import table from './standardList/temptable.vue'
import { getStaffList } from '@/api/measure/person'
import { getTypeSelect } from '@/api/system/price'
import { getStandardLisUpdate, getStandardListAdd, getStandardListDetail, getUsersDept } from '@/api/device/standard'
@@ -17,188 +19,35 @@
default: '',
},
})
-const emit = defineEmits(['close']) // 关闭
-const ruleFormRef = ref()
-// 逻辑代码
-const formInline = ref({
- assessDate: '',
- assessmentUnit: '',
- category: null,
- categoryName: '',
- constructionStandardProject: '',
- constructionStandardUnitName: '',
- contactInfo: '',
- createTime: null,
- createUser: null,
- id: '',
- isDel: null,
- laboratoryOwner: null,
- laboratoryOwnerContact: null,
- laboratoryOwnerName: null,
- managerState: null,
- managerStateName: '',
- measureMajor: null,
- fileList: [],
- measureMajorName: '',
- mesureRange: '',
- organizeNo: '',
- preparationDate: '',
- projectNo: '',
- remark: '',
- standardHumidity: null,
- standardLaboratory: null,
- standardLaboratoryName: '',
- standardLevel: null,
- standardLevelName: '',
- standardName: '',
- standardNo: '',
- standardOwner: null,
- standardOwnerName: '',
- standardTemperature: null,
- totalInvestment: null,
- transmitRange: null,
- transmitRangeName: '',
- uncertainty: '',
- updateTime: null,
- version: null,
-})
-const checkTypeOptions = ref([])
-
-const standardOwnerOptions = ref([]) // 标准负责人
-const fileList = ref([]) // 文件对象数组
-const measureMajorList = ref([]) // 计量专业下拉框
-const standardManagerStateList = ref([]) // 管理状态下拉框
-const standardLevelList = ref([]) // 标准等级下拉框
-const transmitRangeList = ref([]) // 传递范围下拉框
-// 标准所在部门下拉框
-const standardUsersDeptList = ref([])
-// 获取下拉框
-const getSelectList = (code: string) => {
- getTypeSelect(code).then((res) => {
- if (code === 'measureMajor') {
- measureMajorList.value = res.data
- }
- else if (code === 'standardManagerState') {
- standardManagerStateList.value = res.data
- }
- else if (code === 'standardLevel') {
- standardLevelList.value = res.data
- }
- else if (code === 'transmitRange') {
- transmitRangeList.value = res.data
- }
- else if (code === 'standardCategory') {
- checkTypeOptions.value = res.data
- }
- })
+const emit = defineEmits(['close'])
+// 定义数据
+const formInline = ref({})
+// 关闭
+interface menuType {
+ name: string
+ comp: any
}
-getSelectList('measureMajor') // 获取计量专业下拉框
-getSelectList('standardManagerState') // 获取管理状态下拉框
-getSelectList('standardLevel') // 获取标准等级下拉框
-getSelectList('transmitRange') // 获取传递范围下拉框
-getSelectList('standardCategory') // 获取类别下拉框
-// 获取部门信息
-getUsersDept({
- createTime: '',
- director: '',
- meterMajor: '',
- organizeName: '',
- organizeNo: '',
- organizeType: '2',
- pdeptId: null,
- offset: 1,
- limit: 999999,
-}).then((res) => {
- standardUsersDeptList.value = res.data.rows
+const menu = shallowRef([
+ { name: '基本信息', comp: baseInfo },
+ { name: '计量人员', comp: table },
+ { name: '标准配套设备', comp: table },
+ { name: '检定规程', comp: table },
+ { name: '重复性考核记录', comp: table },
+ { name: '稳定性考核记录', comp: table },
+ { name: '证书管理', comp: table },
+])
+const currentCompRef = ref()
+const current = ref('基本信息')
+const currentComp = shallowRef(baseInfo)
+watch(current, (newValue) => {
+ currentComp.value = menu.value.filter(item => item.name === newValue)[0].comp
})
-// 获取到标准负责人数组
-const getStandardOwnerOptions = () => {
- const params = {
- staffNo: '', // 人员编号
- name: '', // 姓名
- deptId: '', // 工作部门
- major: '', // 计量专业
- verifierCertificateNo: '', // 证书号
- certificateStatus: '', // 证书状态
- limit: 100000,
- offset: 1,
- }
- getStaffList(params).then((res) => {
- standardOwnerOptions.value = res.data.records
- })
-}
-getStandardOwnerOptions()
// 关闭
const close = () => {
emit('close')
}
-const rules = ref({
- standardName: [{ required: true, message: '标准名称不能为空', trigger: 'blur' }],
- projectNo: [{ required: true, message: '项目编号不能为空', trigger: 'blur' }],
- constructionStandardProject: [{ required: true, message: '建标项目不能为空', trigger: 'blur' }],
- organizeNo: [{ required: true, message: '组织机构代码不能为空', trigger: 'blur' }],
- constructionStandardUnitName: [{ required: true, message: '建标单位名称不能为空', trigger: 'blur' }],
- standardOwner: [{ required: true, message: '标准负责人不能为空', trigger: 'blur' }],
- contactInfo: [{ required: true, message: '联系方式不能为空', trigger: 'blur' }],
- category: [{ required: true, message: '类 别不能为空', trigger: 'blur' }],
- standardLevel: [{ required: true, message: '标准等级不能为空', trigger: 'blur' }],
- transmitRange: [{ required: true, message: '传递范围不能为空', trigger: 'blur' }],
- preparationDate: [{ required: true, message: '筹建日期不能为空', trigger: 'blur' }],
- managerState: [{ required: true, message: '管理状态不能为空', trigger: 'blur' }],
- measureMajor: [{ required: true, message: '计量专业不能为空', trigger: 'blur' }],
- assessmentUnit: [{ required: true, message: '考核单位不能为空', trigger: 'blur' }],
- assessDate: [{ required: true, message: '考核日期不能为空', trigger: 'blur' }],
- uncertainty: [{ required: true, message: '不确定度不能为空', trigger: 'blur' }],
- mesureRange: [{ required: true, message: '测量范围不能为空', trigger: 'blur' }],
- standardTemperature: [{ required: true, message: '标准温度不能为空', trigger: 'blur' },
- { pattern: /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/, message: '标准温度只能为数字', trigger: 'blur' }],
- standardHumidity: [{ required: true, message: '标准湿度不能为空', trigger: 'blur' },
- { pattern: /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/, message: '标准湿度只能为数字', trigger: 'blur' }],
-}) // 表单验证规则
-// 上传请求
-const uploadQuarterlyEvaluateFile = (file: File) => {
- const fd = new FormData()
- fd.append('multipartFile', file.file)
- UploadFile(fd).then((res) => {
- if (res.code === 200) {
- formInline.value.fileList = res.data
- // 重置当前验证
- ElMessage.success('文件上传成功')
- }
- })
-}
-const handleExceed: UploadProps['onExceed'] = (files, uploadFiles) => {
- ElMessage.warning('只能上传一个文件')
-}
-// 移除时触发
-const beforeRemove: UploadProps['beforeRemove'] = (uploadFile, uploadFiles) => {
- return ElMessageBox.confirm(
- `确认移除${uploadFile.name}文件吗 ?`,
- ).then(
- () => true,
- () => false,
-
- )
-}
-// 点击文件预览
-const uploadShow = (e: any) => {
- const URL = window.URL || window.webkitURL
- window.open(URL.createObjectURL(e.raw))
-}
-const testForm = ref({
- fileList: [],
- fileContent: '',
-})
-const handleFileChange = (files: any, fileList: any) => {
- testForm.value.fileList = fileList
- const reader = new FileReader()
- reader.readAsText(files.raw)
- // reader.onload = (e) => {
- // testForm.value.fileContent = e.target!.result?.replace(
- // /\n|\r\n/g,
- // '
',
- // )
- // }
+const setData = (newValue: object) => {
+ formInline.value = newValue
}
// 编辑获取详情的提交按钮
const submitFormDetail = () => {
@@ -223,60 +72,29 @@
}
}
// 提交
-const submitForm = (formEl: FormInstance | undefined) => {
- if (!formEl) { return }
+const submitForm = () => {
if (props.buttonType === '详情') { return submitFormDetail() }
- formEl.validate((valid, fields) => {
- if (valid) {
- ElMessageBox.confirm(
- '确认提交吗?',
- '提示',
- {
- confirmButtonText: '确认',
- cancelButtonText: '取消',
- type: 'warning',
- },
- ).then(() => {
- props.buttonType === ''
- ? getStandardListAdd(formInline.value).then((res) => {
- if (res.code === 200) {
- close()
- }
- })
- : submitFormDetail()
- })
- }
- })
-}
-// 标准实验室发生改变row类型
-interface rowReturn {
- phone: string
- director: string
-}
-// 标准实验室发生改变
-const changeDeptList = (row: object) => {
- formInline.value.laboratoryOwnerContact = row.phone
- formInline.value.laboratoryOwner = row.director
-}
-// 标准实验室清空时
-const clearDeptList = () => {
- formInline.value.laboratoryOwnerContact = null
- formInline.value.laboratoryOwner = null
-}
-// 获取详情信息
-const getInfo = () => {
- getStandardListDetail({ id: props.infoId }).then((res) => {
- Object.keys(res.data).map((item) => {
- if (typeof (res.data[item]) === 'number') {
- res.data[item] = res.data[item].toString()
- }
+ ElMessageBox.confirm(
+ '确认提交吗?',
+ '提示',
+ {
+ confirmButtonText: '确认',
+ cancelButtonText: '取消',
+ type: 'warning',
+ },
+ ).then(() => {
+ current.value = '基本信息'
+ currentCompRef.value.submitForm().validate().then(() => {
+ props.buttonType === ''
+ ? getStandardListAdd(formInline.value).then((res) => {
+ if (res.code === 200) {
+ close()
+ }
+ })
+ : submitFormDetail()
})
- formInline.value = res.data
})
}
-if (props.buttonType !== '') {
- getInfo()
-}
@@ -289,7 +107,7 @@
{{ buttonType === '详情' ? '打印' : '提交' }}
@@ -298,405 +116,17 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 上传
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
@@ -719,14 +149,8 @@
}
}
-.info-content {
- margin-top: 10px;
- padding: 30px;
- border-radius: 10px;
+.body {
background-color: #fff;
-}
-
-:deep .el-input .el-input--default .el-input--suffix {
- width: 200px !important;
+ margin-top: 10px;
}
diff --git a/src/views/device/standardEquipment/expirationRemind.vue b/src/views/device/standardEquipment/expirationRemind.vue
index 35786b2..1826c22 100644
--- a/src/views/device/standardEquipment/expirationRemind.vue
+++ b/src/views/device/standardEquipment/expirationRemind.vue
@@ -26,39 +26,47 @@
text: '标准代码',
value: 'standardNo',
width: '160',
+ align: 'center',
},
{
text: '标准名称',
value: 'standardName',
width: '90',
+ align: 'center',
},
{
text: '管理状态',
value: 'managerStateName',
width: '100',
+ align: 'center',
},
{
text: '标准所在部门',
value: 'standardLaboratoryName',
width: '120',
+ align: 'center',
},
{
text: '负责人',
value: 'standardOwnerName',
+ align: 'center',
},
{
text: '建标项目',
value: 'standardOwnerName',
+ align: 'center',
},
{
text: '筹建日期',
value: 'preparationDate',
width: '160',
+ align: 'center',
},
{
text: '有效日期',
value: 'preparationDate',
width: '160',
+ align: 'center',
},
])
const total = ref(0)
@@ -326,12 +334,8 @@
-
- 导出
-
-
- 打印
-
+
+
- 编辑
+ 详情
- 详情
+ 提醒
+import applyList from './components/applyList.vue'
// 逻辑代码
- 暂停申请
+
diff --git a/src/views/device/standardEquipment/resumeApply.vue b/src/views/device/standardEquipment/resumeApply.vue
index d4a80e8..b5896fc 100644
--- a/src/views/device/standardEquipment/resumeApply.vue
+++ b/src/views/device/standardEquipment/resumeApply.vue
@@ -1,10 +1,11 @@
- 恢复申请
+
diff --git a/src/views/device/standardEquipment/standardList.vue b/src/views/device/standardEquipment/standardList.vue
index 4f1bfdf..348ed71 100644
--- a/src/views/device/standardEquipment/standardList.vue
+++ b/src/views/device/standardEquipment/standardList.vue
@@ -29,50 +29,60 @@
text: '标准代码',
value: 'standardNo',
width: '120',
+ align: 'center',
},
{
text: '标准名称',
value: 'standardName',
width: '90',
+ align: 'center',
},
{
text: '类别',
value: 'categoryName',
width: '80',
+ align: 'center',
},
{
text: '标准等级',
value: 'standardLevelName',
width: '100',
+ align: 'center',
},
{
text: '传递范围',
value: 'transmitRange',
width: '110',
+ align: 'center',
},
{
text: '管理状态',
value: 'managerStateName',
width: '100',
+ align: 'center',
},
{
text: '标准所在部门',
value: 'standardLaboratoryName',
width: '120',
+ align: 'center',
},
{
text: '负责人',
value: 'laboratoryOwner',
+ align: 'center',
},
{
text: '筹建日期',
value: 'preparationDate',
width: '110',
+ align: 'center',
},
{
text: '备注',
value: 'remark',
width: '80',
+ align: 'center',
},
])
const total = ref(0)
@@ -250,6 +260,9 @@
buttonType.value = text
isShow.value = false
}
+const renderHeader = (e: any) => {
+ console.log(e)
+}
@@ -330,19 +343,13 @@
-
- 新建
-
-
- 导出
-
-
- 打印
-
+
+
+
diff --git a/src/views/device/stateManage/components/approvalActionDialog.vue b/src/views/device/stateManage/components/approvalActionDialog.vue
index cdc9b25..56417d6 100644
--- a/src/views/device/stateManage/components/approvalActionDialog.vue
+++ b/src/views/device/stateManage/components/approvalActionDialog.vue
@@ -1,10 +1,13 @@
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/cancel.vue b/src/views/device/stateManage/components/status/cancel.vue
new file mode 100644
index 0000000..ecb2d0c
--- /dev/null
+++ b/src/views/device/stateManage/components/status/cancel.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/drafts.vue b/src/views/device/stateManage/components/status/drafts.vue
new file mode 100644
index 0000000..226ba21
--- /dev/null
+++ b/src/views/device/stateManage/components/status/drafts.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/inApproval.vue b/src/views/device/stateManage/components/status/inApproval.vue
new file mode 100644
index 0000000..4988595
--- /dev/null
+++ b/src/views/device/stateManage/components/status/inApproval.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/passed.vue b/src/views/device/stateManage/components/status/passed.vue
new file mode 100644
index 0000000..ab87daf
--- /dev/null
+++ b/src/views/device/stateManage/components/status/passed.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/pending.vue b/src/views/device/stateManage/components/status/pending.vue
new file mode 100644
index 0000000..3e0b315
--- /dev/null
+++ b/src/views/device/stateManage/components/status/pending.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/unPassed.vue b/src/views/device/stateManage/components/status/unPassed.vue
new file mode 100644
index 0000000..8de700e
--- /dev/null
+++ b/src/views/device/stateManage/components/status/unPassed.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/templateAdd.vue b/src/views/device/stateManage/components/templateAdd.vue
index 9c4da0f..fc364c8 100644
--- a/src/views/device/stateManage/components/templateAdd.vue
+++ b/src/views/device/stateManage/components/templateAdd.vue
@@ -381,10 +381,10 @@
-
+
diff --git a/src/views/device/stateManage/components/templateList.vue b/src/views/device/stateManage/components/templateList.vue
index 6ee2e8c..aa3963f 100644
--- a/src/views/device/stateManage/components/templateList.vue
+++ b/src/views/device/stateManage/components/templateList.vue
@@ -8,6 +8,10 @@
type: String,
default: '',
},
+ title: {
+ type: String,
+ default: '',
+ },
})
// import { exportFile } from '@/utils/exportUtils'
// const { proxy } = getCurrentInstance() as any
@@ -179,15 +183,23 @@
// 同意
const agree = (row) => {
console.log(approveRef.value)
- approveRef.value.initDialog()
+ approveRef.value.initDialog({
+ radio: '1',
+ })
}
// 驳回
const reject = (row) => {
- approveRef.value.initDialog()
+ approveRef.value.initDialog({
+ radio: '3',
+ })
}
// 拒绝
const refuse = (row) => {
- approveRef.value.initDialog()
+ approveRef.value.initDialog(
+ {
+ radio: '2',
+ },
+ )
}
// 取消
const cancel = (row) => {
diff --git a/src/views/device/stateManage/components/templatePage.vue b/src/views/device/stateManage/components/templatePage.vue
index 5fb0163..fce7685 100644
--- a/src/views/device/stateManage/components/templatePage.vue
+++ b/src/views/device/stateManage/components/templatePage.vue
@@ -1,6 +1,12 @@
- 设备处置申请
+
diff --git a/src/views/device/stateManage/openApply.vue b/src/views/device/stateManage/openApply.vue
index 3c43781..35c2af6 100644
--- a/src/views/device/stateManage/openApply.vue
+++ b/src/views/device/stateManage/openApply.vue
@@ -1,13 +1,14 @@
- 设备启封申请
+
+
diff --git a/src/views/device/stateManage/scrapApply.vue b/src/views/device/stateManage/scrapApply.vue
index 7bd1a98..282ecd8 100644
--- a/src/views/device/stateManage/scrapApply.vue
+++ b/src/views/device/stateManage/scrapApply.vue
@@ -1,10 +1,10 @@
- 设备报废申请
+
diff --git a/src/views/device/stateManage/sealupApply.vue b/src/views/device/stateManage/sealupApply.vue
index ec6320b..1c8544d 100644
--- a/src/views/device/stateManage/sealupApply.vue
+++ b/src/views/device/stateManage/sealupApply.vue
@@ -1,10 +1,10 @@
- 设备封存申请
+
diff --git a/src/views/measure/bench/bench.vue b/src/views/measure/bench/bench.vue
index cb2ebe6..380779a 100644
--- a/src/views/measure/bench/bench.vue
+++ b/src/views/measure/bench/bench.vue
@@ -175,7 +175,7 @@
v-if="proxy.hasPerm('/workbench/meterTrain/line')"
title="培训计划"
width="27.8vw"
- height="40vh"
+ height="40.7vh"
>
([])
+const PubListTree = ref([])
// 获取发布单位列表
const getPubList = () => {
getDeptTreeList().then((res) => {
PubList.value = res.data
+ PubListTree.value = toTreeList(res.data, '0', true)
})
}
// 弹窗初始化
@@ -73,7 +80,8 @@
if (row.title === '新建') {
// 默认发布人和发布单位
ruleForm.createUserId = userInfo.$state.id
- ruleForm.publisher = userInfo.$state.deptId
+ ruleForm.publisher = ''
+ ruleForm.publishTime = dayjs().format('YYYY-MM-DD HH:mm:ss')
// 判断有无存储
console.log(sessionStorage.getItem(fileTypeName.value), 'sess')
if (sessionStorage.getItem(fileTypeName.value)) {
@@ -207,11 +215,12 @@
// { name: '已废止', id: '1595030083114450945', value: '3' },
// ])
watch(() => ruleForm.effectiveTime, (newVal) => {
- const diffDat = dayjs(newVal).diff(dayjs().format('YYYY-MM-DD HH:mm:ss'), 'day')
+ const diffDat = dayjs(newVal).diff(dayjs().format('YYYY-MM-DD HH:mm:ss'), 'hour')
+ console.log(diffDat)
if (diffDat < 0) {
// ruleForm.effectiveStatusName = '已废止'
- effectiveStatusName.value = '已废止'
- ruleForm.effectiveStatus = '3'
+ effectiveStatusName.value = '在使用'
+ ruleForm.effectiveStatus = '1'
}
else if (diffDat == 0) {
// ruleForm.effectiveStatusName = '在使用'
@@ -269,15 +278,20 @@
-
+
+
@@ -293,7 +307,7 @@
diff --git a/src/views/measure/person/certificateLog.vue b/src/views/measure/person/certificateLog.vue
index ca26b00..2e3322a 100644
--- a/src/views/measure/person/certificateLog.vue
+++ b/src/views/measure/person/certificateLog.vue
@@ -32,13 +32,13 @@
const loadingTable = ref(false) // 表格loading
const total = ref(0) // 数据总条数
const columns = ref([
- { text: '人员编号', value: 'staffNo', align: 'center', width: '150' },
+ { text: '人员编号', value: 'staffNo', align: 'center', width: '180' },
{ text: '姓名', value: 'name', align: 'center', width: '80' },
{ text: '性别', value: 'sex', align: 'center', width: '55' },
{ text: '工作部门', value: 'deptId', align: 'center', width: '140' },
{ text: '技术职务', value: 'technologyJob', align: 'center', width: '120' },
{ text: '行政职务', value: 'administrationJob', align: 'center', width: '90' },
- { text: '证书号', value: 'certificateNo', align: 'center', width: '150' },
+ { text: '证书号', value: 'certificateNo', align: 'center' },
{ text: '发证单位', value: 'certificateCompany', align: 'center', width: '90' },
{ text: '发证日期', value: 'certificateDate', align: 'center', width: '200' },
{ text: '证书有效日期', value: 'certificateDate', align: 'center', width: '200' },
diff --git a/src/views/measure/person/components/addPerson.vue b/src/views/measure/person/components/addPerson.vue
index 9252393..4dc1b17 100644
--- a/src/views/measure/person/components/addPerson.vue
+++ b/src/views/measure/person/components/addPerson.vue
@@ -10,7 +10,7 @@
import { getDeptTreeList } from '@/api/system/dept'
import { UploadFile } from '@/api/measure/file'
import { toTreeList } from '@/utils/structure'
-import type { userType } from '@/views/system/user/user-interface'
+import type { TreeStructure, userType } from '@/views/system/user/user-interface'
import { getDictByCode } from '@/api/system/dict'
import comTreeSelect from '@/views/system/user/selecTree.vue'
import { getStaffAdd, getStaffDetail, getStaffupdate } from '@/api/measure/person'
@@ -67,7 +67,7 @@
ruleFormRef.value?.validateField('idCard').then((res) => {
// 获取生日
const IdCard = ruleForm.value.idCard
- const birthday = `${IdCard.substring(6, 10)}-${IdCard.substring(10, 12)}-${IdCard.substring(12, 14)}`
+ const birthday = `${IdCard.substring(6, 10)}-${IdCard.substring(10, 12)}`
ruleForm.value.birthday = birthday
console.log(ruleForm.value)
})
@@ -86,12 +86,14 @@
const deptProps = reactive({
parent: 'pid', value: 'id', label: 'name', children: 'children',
})
-const PubList = ref([])
+const PubList = ref([])
+const PubListTree = ref([])
// 获取组织列表
const getPubList = () => {
getDeptTreeList().then((res) => {
// 转成树结构
- PubList.value = toTreeList(res.data, '0', true)
+ PubList.value = res.data
+ PubListTree.value = toTreeList(res.data, '0', true)
})
}
const sexList = ref<{ id: string; value: string; name: string }[]>()
@@ -343,7 +345,7 @@
getTechnologyJobList()
getAdministrationJob()
if (row.title === '新建') {
- console.log()
+ // ruleForm.value.deptId = ''
}
else {
getStaffDetail({ ...row }).then((res) => {
@@ -371,7 +373,7 @@
-
-
+
+
@@ -404,20 +405,36 @@
-
+
+
+
+ 选择
+
+
+
-
-
-
-
+
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
@@ -425,82 +442,52 @@
-
+
-
-
-
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
@@ -551,6 +538,7 @@
border-radius: 8px;
padding-top: 10px;
margin-top: 10px;
+ padding-right: 10px;
}
.header {
@@ -578,6 +566,20 @@
display: none;
}
+ :deep(.el-icon.avatar-uploader-icon) {
+ font-size: 28px;
+ color: #8c939d;
+ width: 190px;
+ height: 250px;
+ text-align: center;
+ }
+
+ :deep(.avatar-uploader .avatar) {
+ width: 190px;
+ height: 250px;
+ display: block;
+ }
+
.isDetail {
::v-deep {
.el-form-item.is-required:not(.is-no-asterisk) .el-form-item__label-wrap > .el-form-item__label::before,
@@ -591,12 +593,16 @@
.marg {
margin-top: 20px;
}
+
+.marg-item {
+ margin-top: 20px;
+}
@@ -618,8 +624,8 @@
.el-icon.avatar-uploader-icon {
font-size: 28px;
color: #8c939d;
- width: 178px;
- height: 178px;
+ width: 220px;
+ height: 320px;
text-align: center;
}
diff --git a/src/views/measure/person/components/addRecord.vue b/src/views/measure/person/components/addRecord.vue
index 2928870..ae48f11 100644
--- a/src/views/measure/person/components/addRecord.vue
+++ b/src/views/measure/person/components/addRecord.vue
@@ -9,7 +9,7 @@
import { getUserList } from '@/api/system/user'
import { getDeptTreeList } from '@/api/system/dept'
import { toTreeList } from '@/utils/structure'
-import type { userType } from '@/views/system/user/user-interface'
+import type { TreeStructure, userType } from '@/views/system/user/user-interface'
import { getDictByCode } from '@/api/system/dict'
import comTreeSelect from '@/views/system/user/selecTree.vue'
import { addCertificateList, getCertificateDetail, getCertificateUpdate } from '@/api/measure/person'
@@ -59,12 +59,14 @@
const deptProps = reactive({
parent: 'pid', value: 'id', label: 'name', children: 'children',
})
-const PubList = ref([])
+const PubList = ref
([])
+const PubListTree = ref([])
// 获取组织列表
const getPubList = () => {
getDeptTreeList().then((res) => {
// 转成树结构
- PubList.value = toTreeList(res.data, '0', true)
+ PubList.value = res.data
+ PubListTree.value = toTreeList(res.data, '0', true)
})
}
const sexList = ref<{ id: string; value: string; name: string }[]>()
@@ -330,7 +332,13 @@
-
+
+
+
+ 选择
+
+
+
@@ -377,10 +385,12 @@
-
+
+
+
diff --git a/src/views/measure/person/components/personListDialog.vue b/src/views/measure/person/components/personListDialog.vue
index 952da9d..5e20d1b 100644
--- a/src/views/measure/person/components/personListDialog.vue
+++ b/src/views/measure/person/components/personListDialog.vue
@@ -1,6 +1,6 @@
diff --git a/src/views/measure/source/components/listPage.vue b/src/views/measure/source/components/listPage.vue
index a9c9509..70a3518 100644
--- a/src/views/measure/source/components/listPage.vue
+++ b/src/views/measure/source/components/listPage.vue
@@ -17,6 +17,7 @@
default: () => [],
},
})
+const emit = defineEmits(['setData']) // 关闭
// 查询条件
const listQuery: Ref = ref({
supplierNo: '', // 业务内容
@@ -28,53 +29,63 @@
// 控制是否显示新增页面
const show = ref(true)
// 表格数据
-const list = ref([])
+const list = ref([
+ { name: '张三' },
+])
// 总数
-const total = ref(20)
+const total = ref(0)
// 表头
const columns = ref([
{
text: '溯源供方编号',
- value: 'supplierNo',
- width: '160',
+ value: 'name',
+ width: '120',
+ align: 'center',
},
{
text: '溯源供方名称',
- value: 'supplierName',
+ value: 'name',
width: '120',
+ align: 'center',
},
{
text: '业务内容',
- value: 'businessContent',
+ value: 'name',
+ align: 'center',
},
{
text: '业务资质',
- value: 'briefName',
+ value: 'name',
+ align: 'center',
},
{
text: '负责人',
- value: 'director',
+ value: 'name',
+ align: 'center',
},
{
text: '联系方式',
- value: 'mobile',
+ value: 'name',
+ align: 'center',
},
{
text: '地址',
- value: 'companyCity',
+ value: 'name',
+ align: 'center',
},
{
text: '创建时间',
- value: 'createTime',
- width: '200',
+ value: 'name',
+ align: 'center',
},
{
text: '备注',
- value: 'remark',
+ value: 'name',
+ align: 'center',
},
])
-const buttonArray = ref([])
+const buttonArray = ref([])
// 选中的内容
const checkoutList = ref([])
// 文件上传input
@@ -98,20 +109,24 @@
loadingTable.value = false
})
}
-fetchData(true)
// 多选发生改变时
const handleSelectionChange = (e: any) => {
checkoutList.value = e
}
+// 点击删除和编辑的参数类型
+interface rowReturn {
+ id: string
+ supplierName: string
+}
// 点击编辑/详情
-const handleEdit = (index: string, row: object, value: string) => {
+const handleEdit = (index: string, row: rowReturn, value: string) => {
buttonArray.value = ['同意', '驳回', '拒绝']
buttonType.value = value
infoId.value = row.id
show.value = false
}
// 点击删除
-const handleDelete = (index: string, row: object) => {
+const handleDelete = (index: string, row: rowReturn) => {
ElMessageBox.confirm(
`确认删除${row.supplierName}吗?`,
'提示',
@@ -153,7 +168,7 @@
// 关闭编辑
const close = () => {
show.value = true
- fetchData(true)
+ // fetchData(true)
}
// 导出
const exportExcelBtn = () => {
@@ -218,30 +233,24 @@
upload()
}
const add = () => {
+ buttonArray.value = ['提交', '保存']
buttonType.value = ''
show.value = false
}
const exportAll = () => {
exportExcelBtn()
}
+watch(() => show.value, (newVal) => {
+// 变化后存储
+ emit('setData', newVal)
+},
+{ deep: true, immediate: true })
// 打印
const printObj = ref({
id: 'print', // 需要打印元素的id
popTitle: '溯源供方编号模板', // 打印配置页上方的标题
extraHead: '', // 最上方的头部文字,附加在head标签上的额外标签,使用逗号分割
preview: false, // 是否启动预览模式,默认是false
- previewBeforeOpenCallback() { console.log('正在加载预览窗口!') }, // 预览窗口打开之前的callback
- previewOpenCallback() { console.log('已经加载完预览窗口,预览打开了!') }, // 预览窗口打开时的callback
- beforeOpenCallback() { console.log('开始打印之前!') }, // 开始打印之前的callback
- openCallback() { console.log('执行打印了!') }, // 调用打印时的callback
- closeCallback() { console.log('关闭了打印工具!') }, // 关闭打印的callback(无法区分确认or取消)
- clickMounted() { console.log('点击v-print绑定的按钮了!') },
- // url: 'http://localhost:8080/', // 打印指定的URL,确保同源策略相同
- // asyncUrl (reslove) {
- // setTimeout(() => {
- // reslove('http://localhost:8080/')
- // }, 2000)
- // },
standard: '',
extarCss: '',
})
@@ -285,15 +294,9 @@
-
- 新建
-
-
- 导出
-
-
- 打印
-
+
+
+
+import applyList from './components/applyList.vue'
// 逻辑代码
- 撤销申请
+
diff --git a/src/views/device/standardEquipment/changeApply.vue b/src/views/device/standardEquipment/changeApply.vue
index 0762330..6625970 100644
--- a/src/views/device/standardEquipment/changeApply.vue
+++ b/src/views/device/standardEquipment/changeApply.vue
@@ -1,10 +1,11 @@
-
- 更换申请
+
diff --git a/src/views/device/standardEquipment/checkApply.vue b/src/views/device/standardEquipment/checkApply.vue
index 9cadc01..6625970 100644
--- a/src/views/device/standardEquipment/checkApply.vue
+++ b/src/views/device/standardEquipment/checkApply.vue
@@ -1,10 +1,11 @@
- 复查申请
+
diff --git a/src/views/device/standardEquipment/components/applyList.vue b/src/views/device/standardEquipment/components/applyList.vue
new file mode 100644
index 0000000..45be74a
--- /dev/null
+++ b/src/views/device/standardEquipment/components/applyList.vue
@@ -0,0 +1,65 @@
+
+
+
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/all.vue b/src/views/device/standardEquipment/components/listApply/all.vue
new file mode 100644
index 0000000..d124307
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/all.vue
@@ -0,0 +1,17 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/approvalPending.vue b/src/views/device/standardEquipment/components/listApply/approvalPending.vue
new file mode 100644
index 0000000..8a7a8bc
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/approvalPending.vue
@@ -0,0 +1,16 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/canceled.vue b/src/views/device/standardEquipment/components/listApply/canceled.vue
new file mode 100644
index 0000000..3b9657c
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/canceled.vue
@@ -0,0 +1,15 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/draftBox.vue b/src/views/device/standardEquipment/components/listApply/draftBox.vue
new file mode 100644
index 0000000..43d7b75
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/draftBox.vue
@@ -0,0 +1,15 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue b/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue
new file mode 100644
index 0000000..c13f95a
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue
@@ -0,0 +1,17 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/listPage.vue b/src/views/device/standardEquipment/components/listApply/listPage.vue
new file mode 100644
index 0000000..5133627
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/listPage.vue
@@ -0,0 +1,493 @@
+
+
+
+
+
+
+
+
+
+
+
+ 同意
+
+
+ 驳回
+
+
+ 拒绝
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 提交
+
+
+ 取消
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/listPageAdd.vue b/src/views/device/standardEquipment/components/listApply/listPageAdd.vue
new file mode 100644
index 0000000..eb506ec
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/listPageAdd.vue
@@ -0,0 +1,1021 @@
+
+
+
+
+
+
+ 基本信息
+
+
+
+ {{ item }}
+
+
+ 关闭
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 上传
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 完成
+
+
+
+
+
+
+
+ 同意
+
+
+ 驳回
+
+
+ 拒绝
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 提交
+
+
+ 取消
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/notPass.vue b/src/views/device/standardEquipment/components/listApply/notPass.vue
new file mode 100644
index 0000000..5a4b817
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/notPass.vue
@@ -0,0 +1,10 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/passed.vue b/src/views/device/standardEquipment/components/listApply/passed.vue
new file mode 100644
index 0000000..31cd21c
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/passed.vue
@@ -0,0 +1,10 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/addRow.vue b/src/views/device/standardEquipment/components/standardList/addRow.vue
new file mode 100644
index 0000000..9f2bf81
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/addRow.vue
@@ -0,0 +1,270 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/baseInfo.vue b/src/views/device/standardEquipment/components/standardList/baseInfo.vue
new file mode 100644
index 0000000..c47ad1d
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/baseInfo.vue
@@ -0,0 +1,675 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 上传
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/temptable.vue b/src/views/device/standardEquipment/components/standardList/temptable.vue
new file mode 100644
index 0000000..20eb800
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/temptable.vue
@@ -0,0 +1,387 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ (searchQuery.offset - 1) * searchQuery.limit + scope.$index + 1 }}
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardListAdd.vue b/src/views/device/standardEquipment/components/standardListAdd.vue
index ea13629..348bb41 100644
--- a/src/views/device/standardEquipment/components/standardListAdd.vue
+++ b/src/views/device/standardEquipment/components/standardListAdd.vue
@@ -3,6 +3,8 @@
import { ElMessage, ElMessageBox } from 'element-plus'
import type { FormInstance, UploadProps, UploadUserFile } from 'element-plus'
import type { IOptions } from '../standard_interface'
+import baseInfo from './standardList/baseInfo.vue'
+import table from './standardList/temptable.vue'
import { getStaffList } from '@/api/measure/person'
import { getTypeSelect } from '@/api/system/price'
import { getStandardLisUpdate, getStandardListAdd, getStandardListDetail, getUsersDept } from '@/api/device/standard'
@@ -17,188 +19,35 @@
default: '',
},
})
-const emit = defineEmits(['close']) // 关闭
-const ruleFormRef = ref()
-// 逻辑代码
-const formInline = ref({
- assessDate: '',
- assessmentUnit: '',
- category: null,
- categoryName: '',
- constructionStandardProject: '',
- constructionStandardUnitName: '',
- contactInfo: '',
- createTime: null,
- createUser: null,
- id: '',
- isDel: null,
- laboratoryOwner: null,
- laboratoryOwnerContact: null,
- laboratoryOwnerName: null,
- managerState: null,
- managerStateName: '',
- measureMajor: null,
- fileList: [],
- measureMajorName: '',
- mesureRange: '',
- organizeNo: '',
- preparationDate: '',
- projectNo: '',
- remark: '',
- standardHumidity: null,
- standardLaboratory: null,
- standardLaboratoryName: '',
- standardLevel: null,
- standardLevelName: '',
- standardName: '',
- standardNo: '',
- standardOwner: null,
- standardOwnerName: '',
- standardTemperature: null,
- totalInvestment: null,
- transmitRange: null,
- transmitRangeName: '',
- uncertainty: '',
- updateTime: null,
- version: null,
-})
-const checkTypeOptions = ref([])
-
-const standardOwnerOptions = ref([]) // 标准负责人
-const fileList = ref([]) // 文件对象数组
-const measureMajorList = ref([]) // 计量专业下拉框
-const standardManagerStateList = ref([]) // 管理状态下拉框
-const standardLevelList = ref([]) // 标准等级下拉框
-const transmitRangeList = ref([]) // 传递范围下拉框
-// 标准所在部门下拉框
-const standardUsersDeptList = ref([])
-// 获取下拉框
-const getSelectList = (code: string) => {
- getTypeSelect(code).then((res) => {
- if (code === 'measureMajor') {
- measureMajorList.value = res.data
- }
- else if (code === 'standardManagerState') {
- standardManagerStateList.value = res.data
- }
- else if (code === 'standardLevel') {
- standardLevelList.value = res.data
- }
- else if (code === 'transmitRange') {
- transmitRangeList.value = res.data
- }
- else if (code === 'standardCategory') {
- checkTypeOptions.value = res.data
- }
- })
+const emit = defineEmits(['close'])
+// 定义数据
+const formInline = ref({})
+// 关闭
+interface menuType {
+ name: string
+ comp: any
}
-getSelectList('measureMajor') // 获取计量专业下拉框
-getSelectList('standardManagerState') // 获取管理状态下拉框
-getSelectList('standardLevel') // 获取标准等级下拉框
-getSelectList('transmitRange') // 获取传递范围下拉框
-getSelectList('standardCategory') // 获取类别下拉框
-// 获取部门信息
-getUsersDept({
- createTime: '',
- director: '',
- meterMajor: '',
- organizeName: '',
- organizeNo: '',
- organizeType: '2',
- pdeptId: null,
- offset: 1,
- limit: 999999,
-}).then((res) => {
- standardUsersDeptList.value = res.data.rows
+const menu = shallowRef([
+ { name: '基本信息', comp: baseInfo },
+ { name: '计量人员', comp: table },
+ { name: '标准配套设备', comp: table },
+ { name: '检定规程', comp: table },
+ { name: '重复性考核记录', comp: table },
+ { name: '稳定性考核记录', comp: table },
+ { name: '证书管理', comp: table },
+])
+const currentCompRef = ref()
+const current = ref('基本信息')
+const currentComp = shallowRef(baseInfo)
+watch(current, (newValue) => {
+ currentComp.value = menu.value.filter(item => item.name === newValue)[0].comp
})
-// 获取到标准负责人数组
-const getStandardOwnerOptions = () => {
- const params = {
- staffNo: '', // 人员编号
- name: '', // 姓名
- deptId: '', // 工作部门
- major: '', // 计量专业
- verifierCertificateNo: '', // 证书号
- certificateStatus: '', // 证书状态
- limit: 100000,
- offset: 1,
- }
- getStaffList(params).then((res) => {
- standardOwnerOptions.value = res.data.records
- })
-}
-getStandardOwnerOptions()
// 关闭
const close = () => {
emit('close')
}
-const rules = ref({
- standardName: [{ required: true, message: '标准名称不能为空', trigger: 'blur' }],
- projectNo: [{ required: true, message: '项目编号不能为空', trigger: 'blur' }],
- constructionStandardProject: [{ required: true, message: '建标项目不能为空', trigger: 'blur' }],
- organizeNo: [{ required: true, message: '组织机构代码不能为空', trigger: 'blur' }],
- constructionStandardUnitName: [{ required: true, message: '建标单位名称不能为空', trigger: 'blur' }],
- standardOwner: [{ required: true, message: '标准负责人不能为空', trigger: 'blur' }],
- contactInfo: [{ required: true, message: '联系方式不能为空', trigger: 'blur' }],
- category: [{ required: true, message: '类 别不能为空', trigger: 'blur' }],
- standardLevel: [{ required: true, message: '标准等级不能为空', trigger: 'blur' }],
- transmitRange: [{ required: true, message: '传递范围不能为空', trigger: 'blur' }],
- preparationDate: [{ required: true, message: '筹建日期不能为空', trigger: 'blur' }],
- managerState: [{ required: true, message: '管理状态不能为空', trigger: 'blur' }],
- measureMajor: [{ required: true, message: '计量专业不能为空', trigger: 'blur' }],
- assessmentUnit: [{ required: true, message: '考核单位不能为空', trigger: 'blur' }],
- assessDate: [{ required: true, message: '考核日期不能为空', trigger: 'blur' }],
- uncertainty: [{ required: true, message: '不确定度不能为空', trigger: 'blur' }],
- mesureRange: [{ required: true, message: '测量范围不能为空', trigger: 'blur' }],
- standardTemperature: [{ required: true, message: '标准温度不能为空', trigger: 'blur' },
- { pattern: /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/, message: '标准温度只能为数字', trigger: 'blur' }],
- standardHumidity: [{ required: true, message: '标准湿度不能为空', trigger: 'blur' },
- { pattern: /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/, message: '标准湿度只能为数字', trigger: 'blur' }],
-}) // 表单验证规则
-// 上传请求
-const uploadQuarterlyEvaluateFile = (file: File) => {
- const fd = new FormData()
- fd.append('multipartFile', file.file)
- UploadFile(fd).then((res) => {
- if (res.code === 200) {
- formInline.value.fileList = res.data
- // 重置当前验证
- ElMessage.success('文件上传成功')
- }
- })
-}
-const handleExceed: UploadProps['onExceed'] = (files, uploadFiles) => {
- ElMessage.warning('只能上传一个文件')
-}
-// 移除时触发
-const beforeRemove: UploadProps['beforeRemove'] = (uploadFile, uploadFiles) => {
- return ElMessageBox.confirm(
- `确认移除${uploadFile.name}文件吗 ?`,
- ).then(
- () => true,
- () => false,
-
- )
-}
-// 点击文件预览
-const uploadShow = (e: any) => {
- const URL = window.URL || window.webkitURL
- window.open(URL.createObjectURL(e.raw))
-}
-const testForm = ref({
- fileList: [],
- fileContent: '',
-})
-const handleFileChange = (files: any, fileList: any) => {
- testForm.value.fileList = fileList
- const reader = new FileReader()
- reader.readAsText(files.raw)
- // reader.onload = (e) => {
- // testForm.value.fileContent = e.target!.result?.replace(
- // /\n|\r\n/g,
- // '
',
- // )
- // }
+const setData = (newValue: object) => {
+ formInline.value = newValue
}
// 编辑获取详情的提交按钮
const submitFormDetail = () => {
@@ -223,60 +72,29 @@
}
}
// 提交
-const submitForm = (formEl: FormInstance | undefined) => {
- if (!formEl) { return }
+const submitForm = () => {
if (props.buttonType === '详情') { return submitFormDetail() }
- formEl.validate((valid, fields) => {
- if (valid) {
- ElMessageBox.confirm(
- '确认提交吗?',
- '提示',
- {
- confirmButtonText: '确认',
- cancelButtonText: '取消',
- type: 'warning',
- },
- ).then(() => {
- props.buttonType === ''
- ? getStandardListAdd(formInline.value).then((res) => {
- if (res.code === 200) {
- close()
- }
- })
- : submitFormDetail()
- })
- }
- })
-}
-// 标准实验室发生改变row类型
-interface rowReturn {
- phone: string
- director: string
-}
-// 标准实验室发生改变
-const changeDeptList = (row: object) => {
- formInline.value.laboratoryOwnerContact = row.phone
- formInline.value.laboratoryOwner = row.director
-}
-// 标准实验室清空时
-const clearDeptList = () => {
- formInline.value.laboratoryOwnerContact = null
- formInline.value.laboratoryOwner = null
-}
-// 获取详情信息
-const getInfo = () => {
- getStandardListDetail({ id: props.infoId }).then((res) => {
- Object.keys(res.data).map((item) => {
- if (typeof (res.data[item]) === 'number') {
- res.data[item] = res.data[item].toString()
- }
+ ElMessageBox.confirm(
+ '确认提交吗?',
+ '提示',
+ {
+ confirmButtonText: '确认',
+ cancelButtonText: '取消',
+ type: 'warning',
+ },
+ ).then(() => {
+ current.value = '基本信息'
+ currentCompRef.value.submitForm().validate().then(() => {
+ props.buttonType === ''
+ ? getStandardListAdd(formInline.value).then((res) => {
+ if (res.code === 200) {
+ close()
+ }
+ })
+ : submitFormDetail()
})
- formInline.value = res.data
})
}
-if (props.buttonType !== '') {
- getInfo()
-}
@@ -289,7 +107,7 @@
{{ buttonType === '详情' ? '打印' : '提交' }}
@@ -298,405 +116,17 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 上传
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
@@ -719,14 +149,8 @@
}
}
-.info-content {
- margin-top: 10px;
- padding: 30px;
- border-radius: 10px;
+.body {
background-color: #fff;
-}
-
-:deep .el-input .el-input--default .el-input--suffix {
- width: 200px !important;
+ margin-top: 10px;
}
diff --git a/src/views/device/standardEquipment/expirationRemind.vue b/src/views/device/standardEquipment/expirationRemind.vue
index 35786b2..1826c22 100644
--- a/src/views/device/standardEquipment/expirationRemind.vue
+++ b/src/views/device/standardEquipment/expirationRemind.vue
@@ -26,39 +26,47 @@
text: '标准代码',
value: 'standardNo',
width: '160',
+ align: 'center',
},
{
text: '标准名称',
value: 'standardName',
width: '90',
+ align: 'center',
},
{
text: '管理状态',
value: 'managerStateName',
width: '100',
+ align: 'center',
},
{
text: '标准所在部门',
value: 'standardLaboratoryName',
width: '120',
+ align: 'center',
},
{
text: '负责人',
value: 'standardOwnerName',
+ align: 'center',
},
{
text: '建标项目',
value: 'standardOwnerName',
+ align: 'center',
},
{
text: '筹建日期',
value: 'preparationDate',
width: '160',
+ align: 'center',
},
{
text: '有效日期',
value: 'preparationDate',
width: '160',
+ align: 'center',
},
])
const total = ref(0)
@@ -326,12 +334,8 @@
-
- 导出
-
-
- 打印
-
+
+
- 编辑
+ 详情
- 详情
+ 提醒
+import applyList from './components/applyList.vue'
// 逻辑代码
- 暂停申请
+
diff --git a/src/views/device/standardEquipment/resumeApply.vue b/src/views/device/standardEquipment/resumeApply.vue
index d4a80e8..b5896fc 100644
--- a/src/views/device/standardEquipment/resumeApply.vue
+++ b/src/views/device/standardEquipment/resumeApply.vue
@@ -1,10 +1,11 @@
- 恢复申请
+
diff --git a/src/views/device/standardEquipment/standardList.vue b/src/views/device/standardEquipment/standardList.vue
index 4f1bfdf..348ed71 100644
--- a/src/views/device/standardEquipment/standardList.vue
+++ b/src/views/device/standardEquipment/standardList.vue
@@ -29,50 +29,60 @@
text: '标准代码',
value: 'standardNo',
width: '120',
+ align: 'center',
},
{
text: '标准名称',
value: 'standardName',
width: '90',
+ align: 'center',
},
{
text: '类别',
value: 'categoryName',
width: '80',
+ align: 'center',
},
{
text: '标准等级',
value: 'standardLevelName',
width: '100',
+ align: 'center',
},
{
text: '传递范围',
value: 'transmitRange',
width: '110',
+ align: 'center',
},
{
text: '管理状态',
value: 'managerStateName',
width: '100',
+ align: 'center',
},
{
text: '标准所在部门',
value: 'standardLaboratoryName',
width: '120',
+ align: 'center',
},
{
text: '负责人',
value: 'laboratoryOwner',
+ align: 'center',
},
{
text: '筹建日期',
value: 'preparationDate',
width: '110',
+ align: 'center',
},
{
text: '备注',
value: 'remark',
width: '80',
+ align: 'center',
},
])
const total = ref(0)
@@ -250,6 +260,9 @@
buttonType.value = text
isShow.value = false
}
+const renderHeader = (e: any) => {
+ console.log(e)
+}
@@ -330,19 +343,13 @@
-
- 新建
-
-
- 导出
-
-
- 打印
-
+
+
+
diff --git a/src/views/device/stateManage/components/approvalActionDialog.vue b/src/views/device/stateManage/components/approvalActionDialog.vue
index cdc9b25..56417d6 100644
--- a/src/views/device/stateManage/components/approvalActionDialog.vue
+++ b/src/views/device/stateManage/components/approvalActionDialog.vue
@@ -1,10 +1,13 @@
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/cancel.vue b/src/views/device/stateManage/components/status/cancel.vue
new file mode 100644
index 0000000..ecb2d0c
--- /dev/null
+++ b/src/views/device/stateManage/components/status/cancel.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/drafts.vue b/src/views/device/stateManage/components/status/drafts.vue
new file mode 100644
index 0000000..226ba21
--- /dev/null
+++ b/src/views/device/stateManage/components/status/drafts.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/inApproval.vue b/src/views/device/stateManage/components/status/inApproval.vue
new file mode 100644
index 0000000..4988595
--- /dev/null
+++ b/src/views/device/stateManage/components/status/inApproval.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/passed.vue b/src/views/device/stateManage/components/status/passed.vue
new file mode 100644
index 0000000..ab87daf
--- /dev/null
+++ b/src/views/device/stateManage/components/status/passed.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/pending.vue b/src/views/device/stateManage/components/status/pending.vue
new file mode 100644
index 0000000..3e0b315
--- /dev/null
+++ b/src/views/device/stateManage/components/status/pending.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/unPassed.vue b/src/views/device/stateManage/components/status/unPassed.vue
new file mode 100644
index 0000000..8de700e
--- /dev/null
+++ b/src/views/device/stateManage/components/status/unPassed.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/templateAdd.vue b/src/views/device/stateManage/components/templateAdd.vue
index 9c4da0f..fc364c8 100644
--- a/src/views/device/stateManage/components/templateAdd.vue
+++ b/src/views/device/stateManage/components/templateAdd.vue
@@ -381,10 +381,10 @@
-
+
diff --git a/src/views/device/stateManage/components/templateList.vue b/src/views/device/stateManage/components/templateList.vue
index 6ee2e8c..aa3963f 100644
--- a/src/views/device/stateManage/components/templateList.vue
+++ b/src/views/device/stateManage/components/templateList.vue
@@ -8,6 +8,10 @@
type: String,
default: '',
},
+ title: {
+ type: String,
+ default: '',
+ },
})
// import { exportFile } from '@/utils/exportUtils'
// const { proxy } = getCurrentInstance() as any
@@ -179,15 +183,23 @@
// 同意
const agree = (row) => {
console.log(approveRef.value)
- approveRef.value.initDialog()
+ approveRef.value.initDialog({
+ radio: '1',
+ })
}
// 驳回
const reject = (row) => {
- approveRef.value.initDialog()
+ approveRef.value.initDialog({
+ radio: '3',
+ })
}
// 拒绝
const refuse = (row) => {
- approveRef.value.initDialog()
+ approveRef.value.initDialog(
+ {
+ radio: '2',
+ },
+ )
}
// 取消
const cancel = (row) => {
diff --git a/src/views/device/stateManage/components/templatePage.vue b/src/views/device/stateManage/components/templatePage.vue
index 5fb0163..fce7685 100644
--- a/src/views/device/stateManage/components/templatePage.vue
+++ b/src/views/device/stateManage/components/templatePage.vue
@@ -1,6 +1,12 @@
- 设备处置申请
+
diff --git a/src/views/device/stateManage/openApply.vue b/src/views/device/stateManage/openApply.vue
index 3c43781..35c2af6 100644
--- a/src/views/device/stateManage/openApply.vue
+++ b/src/views/device/stateManage/openApply.vue
@@ -1,13 +1,14 @@
- 设备启封申请
+
+
diff --git a/src/views/device/stateManage/scrapApply.vue b/src/views/device/stateManage/scrapApply.vue
index 7bd1a98..282ecd8 100644
--- a/src/views/device/stateManage/scrapApply.vue
+++ b/src/views/device/stateManage/scrapApply.vue
@@ -1,10 +1,10 @@
- 设备报废申请
+
diff --git a/src/views/device/stateManage/sealupApply.vue b/src/views/device/stateManage/sealupApply.vue
index ec6320b..1c8544d 100644
--- a/src/views/device/stateManage/sealupApply.vue
+++ b/src/views/device/stateManage/sealupApply.vue
@@ -1,10 +1,10 @@
- 设备封存申请
+
diff --git a/src/views/measure/bench/bench.vue b/src/views/measure/bench/bench.vue
index cb2ebe6..380779a 100644
--- a/src/views/measure/bench/bench.vue
+++ b/src/views/measure/bench/bench.vue
@@ -175,7 +175,7 @@
v-if="proxy.hasPerm('/workbench/meterTrain/line')"
title="培训计划"
width="27.8vw"
- height="40vh"
+ height="40.7vh"
>
([])
+const PubListTree = ref([])
// 获取发布单位列表
const getPubList = () => {
getDeptTreeList().then((res) => {
PubList.value = res.data
+ PubListTree.value = toTreeList(res.data, '0', true)
})
}
// 弹窗初始化
@@ -73,7 +80,8 @@
if (row.title === '新建') {
// 默认发布人和发布单位
ruleForm.createUserId = userInfo.$state.id
- ruleForm.publisher = userInfo.$state.deptId
+ ruleForm.publisher = ''
+ ruleForm.publishTime = dayjs().format('YYYY-MM-DD HH:mm:ss')
// 判断有无存储
console.log(sessionStorage.getItem(fileTypeName.value), 'sess')
if (sessionStorage.getItem(fileTypeName.value)) {
@@ -207,11 +215,12 @@
// { name: '已废止', id: '1595030083114450945', value: '3' },
// ])
watch(() => ruleForm.effectiveTime, (newVal) => {
- const diffDat = dayjs(newVal).diff(dayjs().format('YYYY-MM-DD HH:mm:ss'), 'day')
+ const diffDat = dayjs(newVal).diff(dayjs().format('YYYY-MM-DD HH:mm:ss'), 'hour')
+ console.log(diffDat)
if (diffDat < 0) {
// ruleForm.effectiveStatusName = '已废止'
- effectiveStatusName.value = '已废止'
- ruleForm.effectiveStatus = '3'
+ effectiveStatusName.value = '在使用'
+ ruleForm.effectiveStatus = '1'
}
else if (diffDat == 0) {
// ruleForm.effectiveStatusName = '在使用'
@@ -269,15 +278,20 @@
-
+
+
@@ -293,7 +307,7 @@
diff --git a/src/views/measure/person/certificateLog.vue b/src/views/measure/person/certificateLog.vue
index ca26b00..2e3322a 100644
--- a/src/views/measure/person/certificateLog.vue
+++ b/src/views/measure/person/certificateLog.vue
@@ -32,13 +32,13 @@
const loadingTable = ref(false) // 表格loading
const total = ref(0) // 数据总条数
const columns = ref([
- { text: '人员编号', value: 'staffNo', align: 'center', width: '150' },
+ { text: '人员编号', value: 'staffNo', align: 'center', width: '180' },
{ text: '姓名', value: 'name', align: 'center', width: '80' },
{ text: '性别', value: 'sex', align: 'center', width: '55' },
{ text: '工作部门', value: 'deptId', align: 'center', width: '140' },
{ text: '技术职务', value: 'technologyJob', align: 'center', width: '120' },
{ text: '行政职务', value: 'administrationJob', align: 'center', width: '90' },
- { text: '证书号', value: 'certificateNo', align: 'center', width: '150' },
+ { text: '证书号', value: 'certificateNo', align: 'center' },
{ text: '发证单位', value: 'certificateCompany', align: 'center', width: '90' },
{ text: '发证日期', value: 'certificateDate', align: 'center', width: '200' },
{ text: '证书有效日期', value: 'certificateDate', align: 'center', width: '200' },
diff --git a/src/views/measure/person/components/addPerson.vue b/src/views/measure/person/components/addPerson.vue
index 9252393..4dc1b17 100644
--- a/src/views/measure/person/components/addPerson.vue
+++ b/src/views/measure/person/components/addPerson.vue
@@ -10,7 +10,7 @@
import { getDeptTreeList } from '@/api/system/dept'
import { UploadFile } from '@/api/measure/file'
import { toTreeList } from '@/utils/structure'
-import type { userType } from '@/views/system/user/user-interface'
+import type { TreeStructure, userType } from '@/views/system/user/user-interface'
import { getDictByCode } from '@/api/system/dict'
import comTreeSelect from '@/views/system/user/selecTree.vue'
import { getStaffAdd, getStaffDetail, getStaffupdate } from '@/api/measure/person'
@@ -67,7 +67,7 @@
ruleFormRef.value?.validateField('idCard').then((res) => {
// 获取生日
const IdCard = ruleForm.value.idCard
- const birthday = `${IdCard.substring(6, 10)}-${IdCard.substring(10, 12)}-${IdCard.substring(12, 14)}`
+ const birthday = `${IdCard.substring(6, 10)}-${IdCard.substring(10, 12)}`
ruleForm.value.birthday = birthday
console.log(ruleForm.value)
})
@@ -86,12 +86,14 @@
const deptProps = reactive({
parent: 'pid', value: 'id', label: 'name', children: 'children',
})
-const PubList = ref([])
+const PubList = ref([])
+const PubListTree = ref([])
// 获取组织列表
const getPubList = () => {
getDeptTreeList().then((res) => {
// 转成树结构
- PubList.value = toTreeList(res.data, '0', true)
+ PubList.value = res.data
+ PubListTree.value = toTreeList(res.data, '0', true)
})
}
const sexList = ref<{ id: string; value: string; name: string }[]>()
@@ -343,7 +345,7 @@
getTechnologyJobList()
getAdministrationJob()
if (row.title === '新建') {
- console.log()
+ // ruleForm.value.deptId = ''
}
else {
getStaffDetail({ ...row }).then((res) => {
@@ -371,7 +373,7 @@
-
-
+
+
@@ -404,20 +405,36 @@
-
+
+
+
+ 选择
+
+
+
-
-
-
-
+
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
@@ -425,82 +442,52 @@
-
+
-
-
-
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
@@ -551,6 +538,7 @@
border-radius: 8px;
padding-top: 10px;
margin-top: 10px;
+ padding-right: 10px;
}
.header {
@@ -578,6 +566,20 @@
display: none;
}
+ :deep(.el-icon.avatar-uploader-icon) {
+ font-size: 28px;
+ color: #8c939d;
+ width: 190px;
+ height: 250px;
+ text-align: center;
+ }
+
+ :deep(.avatar-uploader .avatar) {
+ width: 190px;
+ height: 250px;
+ display: block;
+ }
+
.isDetail {
::v-deep {
.el-form-item.is-required:not(.is-no-asterisk) .el-form-item__label-wrap > .el-form-item__label::before,
@@ -591,12 +593,16 @@
.marg {
margin-top: 20px;
}
+
+.marg-item {
+ margin-top: 20px;
+}
@@ -618,8 +624,8 @@
.el-icon.avatar-uploader-icon {
font-size: 28px;
color: #8c939d;
- width: 178px;
- height: 178px;
+ width: 220px;
+ height: 320px;
text-align: center;
}
diff --git a/src/views/measure/person/components/addRecord.vue b/src/views/measure/person/components/addRecord.vue
index 2928870..ae48f11 100644
--- a/src/views/measure/person/components/addRecord.vue
+++ b/src/views/measure/person/components/addRecord.vue
@@ -9,7 +9,7 @@
import { getUserList } from '@/api/system/user'
import { getDeptTreeList } from '@/api/system/dept'
import { toTreeList } from '@/utils/structure'
-import type { userType } from '@/views/system/user/user-interface'
+import type { TreeStructure, userType } from '@/views/system/user/user-interface'
import { getDictByCode } from '@/api/system/dict'
import comTreeSelect from '@/views/system/user/selecTree.vue'
import { addCertificateList, getCertificateDetail, getCertificateUpdate } from '@/api/measure/person'
@@ -59,12 +59,14 @@
const deptProps = reactive({
parent: 'pid', value: 'id', label: 'name', children: 'children',
})
-const PubList = ref([])
+const PubList = ref
([])
+const PubListTree = ref([])
// 获取组织列表
const getPubList = () => {
getDeptTreeList().then((res) => {
// 转成树结构
- PubList.value = toTreeList(res.data, '0', true)
+ PubList.value = res.data
+ PubListTree.value = toTreeList(res.data, '0', true)
})
}
const sexList = ref<{ id: string; value: string; name: string }[]>()
@@ -330,7 +332,13 @@
-
+
+
+
+ 选择
+
+
+
@@ -377,10 +385,12 @@
-
+
+
+
diff --git a/src/views/measure/person/components/personListDialog.vue b/src/views/measure/person/components/personListDialog.vue
index 952da9d..5e20d1b 100644
--- a/src/views/measure/person/components/personListDialog.vue
+++ b/src/views/measure/person/components/personListDialog.vue
@@ -1,6 +1,6 @@
diff --git a/src/views/measure/source/components/listPage.vue b/src/views/measure/source/components/listPage.vue
index a9c9509..70a3518 100644
--- a/src/views/measure/source/components/listPage.vue
+++ b/src/views/measure/source/components/listPage.vue
@@ -17,6 +17,7 @@
default: () => [],
},
})
+const emit = defineEmits(['setData']) // 关闭
// 查询条件
const listQuery: Ref = ref({
supplierNo: '', // 业务内容
@@ -28,53 +29,63 @@
// 控制是否显示新增页面
const show = ref(true)
// 表格数据
-const list = ref([])
+const list = ref([
+ { name: '张三' },
+])
// 总数
-const total = ref(20)
+const total = ref(0)
// 表头
const columns = ref([
{
text: '溯源供方编号',
- value: 'supplierNo',
- width: '160',
+ value: 'name',
+ width: '120',
+ align: 'center',
},
{
text: '溯源供方名称',
- value: 'supplierName',
+ value: 'name',
width: '120',
+ align: 'center',
},
{
text: '业务内容',
- value: 'businessContent',
+ value: 'name',
+ align: 'center',
},
{
text: '业务资质',
- value: 'briefName',
+ value: 'name',
+ align: 'center',
},
{
text: '负责人',
- value: 'director',
+ value: 'name',
+ align: 'center',
},
{
text: '联系方式',
- value: 'mobile',
+ value: 'name',
+ align: 'center',
},
{
text: '地址',
- value: 'companyCity',
+ value: 'name',
+ align: 'center',
},
{
text: '创建时间',
- value: 'createTime',
- width: '200',
+ value: 'name',
+ align: 'center',
},
{
text: '备注',
- value: 'remark',
+ value: 'name',
+ align: 'center',
},
])
-const buttonArray = ref([])
+const buttonArray = ref([])
// 选中的内容
const checkoutList = ref([])
// 文件上传input
@@ -98,20 +109,24 @@
loadingTable.value = false
})
}
-fetchData(true)
// 多选发生改变时
const handleSelectionChange = (e: any) => {
checkoutList.value = e
}
+// 点击删除和编辑的参数类型
+interface rowReturn {
+ id: string
+ supplierName: string
+}
// 点击编辑/详情
-const handleEdit = (index: string, row: object, value: string) => {
+const handleEdit = (index: string, row: rowReturn, value: string) => {
buttonArray.value = ['同意', '驳回', '拒绝']
buttonType.value = value
infoId.value = row.id
show.value = false
}
// 点击删除
-const handleDelete = (index: string, row: object) => {
+const handleDelete = (index: string, row: rowReturn) => {
ElMessageBox.confirm(
`确认删除${row.supplierName}吗?`,
'提示',
@@ -153,7 +168,7 @@
// 关闭编辑
const close = () => {
show.value = true
- fetchData(true)
+ // fetchData(true)
}
// 导出
const exportExcelBtn = () => {
@@ -218,30 +233,24 @@
upload()
}
const add = () => {
+ buttonArray.value = ['提交', '保存']
buttonType.value = ''
show.value = false
}
const exportAll = () => {
exportExcelBtn()
}
+watch(() => show.value, (newVal) => {
+// 变化后存储
+ emit('setData', newVal)
+},
+{ deep: true, immediate: true })
// 打印
const printObj = ref({
id: 'print', // 需要打印元素的id
popTitle: '溯源供方编号模板', // 打印配置页上方的标题
extraHead: '', // 最上方的头部文字,附加在head标签上的额外标签,使用逗号分割
preview: false, // 是否启动预览模式,默认是false
- previewBeforeOpenCallback() { console.log('正在加载预览窗口!') }, // 预览窗口打开之前的callback
- previewOpenCallback() { console.log('已经加载完预览窗口,预览打开了!') }, // 预览窗口打开时的callback
- beforeOpenCallback() { console.log('开始打印之前!') }, // 开始打印之前的callback
- openCallback() { console.log('执行打印了!') }, // 调用打印时的callback
- closeCallback() { console.log('关闭了打印工具!') }, // 关闭打印的callback(无法区分确认or取消)
- clickMounted() { console.log('点击v-print绑定的按钮了!') },
- // url: 'http://localhost:8080/', // 打印指定的URL,确保同源策略相同
- // asyncUrl (reslove) {
- // setTimeout(() => {
- // reslove('http://localhost:8080/')
- // }, 2000)
- // },
standard: '',
extarCss: '',
})
@@ -285,15 +294,9 @@
-
- 新建
-
-
- 导出
-
-
- 打印
-
+
+
+
-
- 批量导入
-
-
- 模板下载
-
-
- 新建
-
-
- 导出
-
-
- 打印
-
+
+
+
+
+
+import applyList from './components/applyList.vue'
// 逻辑代码
- 撤销申请
+
diff --git a/src/views/device/standardEquipment/changeApply.vue b/src/views/device/standardEquipment/changeApply.vue
index 0762330..6625970 100644
--- a/src/views/device/standardEquipment/changeApply.vue
+++ b/src/views/device/standardEquipment/changeApply.vue
@@ -1,10 +1,11 @@
-
- 更换申请
+
diff --git a/src/views/device/standardEquipment/checkApply.vue b/src/views/device/standardEquipment/checkApply.vue
index 9cadc01..6625970 100644
--- a/src/views/device/standardEquipment/checkApply.vue
+++ b/src/views/device/standardEquipment/checkApply.vue
@@ -1,10 +1,11 @@
- 复查申请
+
diff --git a/src/views/device/standardEquipment/components/applyList.vue b/src/views/device/standardEquipment/components/applyList.vue
new file mode 100644
index 0000000..45be74a
--- /dev/null
+++ b/src/views/device/standardEquipment/components/applyList.vue
@@ -0,0 +1,65 @@
+
+
+
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/all.vue b/src/views/device/standardEquipment/components/listApply/all.vue
new file mode 100644
index 0000000..d124307
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/all.vue
@@ -0,0 +1,17 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/approvalPending.vue b/src/views/device/standardEquipment/components/listApply/approvalPending.vue
new file mode 100644
index 0000000..8a7a8bc
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/approvalPending.vue
@@ -0,0 +1,16 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/canceled.vue b/src/views/device/standardEquipment/components/listApply/canceled.vue
new file mode 100644
index 0000000..3b9657c
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/canceled.vue
@@ -0,0 +1,15 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/draftBox.vue b/src/views/device/standardEquipment/components/listApply/draftBox.vue
new file mode 100644
index 0000000..43d7b75
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/draftBox.vue
@@ -0,0 +1,15 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue b/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue
new file mode 100644
index 0000000..c13f95a
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue
@@ -0,0 +1,17 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/listPage.vue b/src/views/device/standardEquipment/components/listApply/listPage.vue
new file mode 100644
index 0000000..5133627
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/listPage.vue
@@ -0,0 +1,493 @@
+
+
+
+
+
+
+
+
+
+
+
+ 同意
+
+
+ 驳回
+
+
+ 拒绝
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 提交
+
+
+ 取消
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/listPageAdd.vue b/src/views/device/standardEquipment/components/listApply/listPageAdd.vue
new file mode 100644
index 0000000..eb506ec
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/listPageAdd.vue
@@ -0,0 +1,1021 @@
+
+
+
+
+
+
+ 基本信息
+
+
+
+ {{ item }}
+
+
+ 关闭
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 上传
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 完成
+
+
+
+
+
+
+
+ 同意
+
+
+ 驳回
+
+
+ 拒绝
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 提交
+
+
+ 取消
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/notPass.vue b/src/views/device/standardEquipment/components/listApply/notPass.vue
new file mode 100644
index 0000000..5a4b817
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/notPass.vue
@@ -0,0 +1,10 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/passed.vue b/src/views/device/standardEquipment/components/listApply/passed.vue
new file mode 100644
index 0000000..31cd21c
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/passed.vue
@@ -0,0 +1,10 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/addRow.vue b/src/views/device/standardEquipment/components/standardList/addRow.vue
new file mode 100644
index 0000000..9f2bf81
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/addRow.vue
@@ -0,0 +1,270 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/baseInfo.vue b/src/views/device/standardEquipment/components/standardList/baseInfo.vue
new file mode 100644
index 0000000..c47ad1d
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/baseInfo.vue
@@ -0,0 +1,675 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 上传
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/temptable.vue b/src/views/device/standardEquipment/components/standardList/temptable.vue
new file mode 100644
index 0000000..20eb800
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/temptable.vue
@@ -0,0 +1,387 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ (searchQuery.offset - 1) * searchQuery.limit + scope.$index + 1 }}
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardListAdd.vue b/src/views/device/standardEquipment/components/standardListAdd.vue
index ea13629..348bb41 100644
--- a/src/views/device/standardEquipment/components/standardListAdd.vue
+++ b/src/views/device/standardEquipment/components/standardListAdd.vue
@@ -3,6 +3,8 @@
import { ElMessage, ElMessageBox } from 'element-plus'
import type { FormInstance, UploadProps, UploadUserFile } from 'element-plus'
import type { IOptions } from '../standard_interface'
+import baseInfo from './standardList/baseInfo.vue'
+import table from './standardList/temptable.vue'
import { getStaffList } from '@/api/measure/person'
import { getTypeSelect } from '@/api/system/price'
import { getStandardLisUpdate, getStandardListAdd, getStandardListDetail, getUsersDept } from '@/api/device/standard'
@@ -17,188 +19,35 @@
default: '',
},
})
-const emit = defineEmits(['close']) // 关闭
-const ruleFormRef = ref()
-// 逻辑代码
-const formInline = ref({
- assessDate: '',
- assessmentUnit: '',
- category: null,
- categoryName: '',
- constructionStandardProject: '',
- constructionStandardUnitName: '',
- contactInfo: '',
- createTime: null,
- createUser: null,
- id: '',
- isDel: null,
- laboratoryOwner: null,
- laboratoryOwnerContact: null,
- laboratoryOwnerName: null,
- managerState: null,
- managerStateName: '',
- measureMajor: null,
- fileList: [],
- measureMajorName: '',
- mesureRange: '',
- organizeNo: '',
- preparationDate: '',
- projectNo: '',
- remark: '',
- standardHumidity: null,
- standardLaboratory: null,
- standardLaboratoryName: '',
- standardLevel: null,
- standardLevelName: '',
- standardName: '',
- standardNo: '',
- standardOwner: null,
- standardOwnerName: '',
- standardTemperature: null,
- totalInvestment: null,
- transmitRange: null,
- transmitRangeName: '',
- uncertainty: '',
- updateTime: null,
- version: null,
-})
-const checkTypeOptions = ref([])
-
-const standardOwnerOptions = ref([]) // 标准负责人
-const fileList = ref([]) // 文件对象数组
-const measureMajorList = ref([]) // 计量专业下拉框
-const standardManagerStateList = ref([]) // 管理状态下拉框
-const standardLevelList = ref([]) // 标准等级下拉框
-const transmitRangeList = ref([]) // 传递范围下拉框
-// 标准所在部门下拉框
-const standardUsersDeptList = ref([])
-// 获取下拉框
-const getSelectList = (code: string) => {
- getTypeSelect(code).then((res) => {
- if (code === 'measureMajor') {
- measureMajorList.value = res.data
- }
- else if (code === 'standardManagerState') {
- standardManagerStateList.value = res.data
- }
- else if (code === 'standardLevel') {
- standardLevelList.value = res.data
- }
- else if (code === 'transmitRange') {
- transmitRangeList.value = res.data
- }
- else if (code === 'standardCategory') {
- checkTypeOptions.value = res.data
- }
- })
+const emit = defineEmits(['close'])
+// 定义数据
+const formInline = ref({})
+// 关闭
+interface menuType {
+ name: string
+ comp: any
}
-getSelectList('measureMajor') // 获取计量专业下拉框
-getSelectList('standardManagerState') // 获取管理状态下拉框
-getSelectList('standardLevel') // 获取标准等级下拉框
-getSelectList('transmitRange') // 获取传递范围下拉框
-getSelectList('standardCategory') // 获取类别下拉框
-// 获取部门信息
-getUsersDept({
- createTime: '',
- director: '',
- meterMajor: '',
- organizeName: '',
- organizeNo: '',
- organizeType: '2',
- pdeptId: null,
- offset: 1,
- limit: 999999,
-}).then((res) => {
- standardUsersDeptList.value = res.data.rows
+const menu = shallowRef([
+ { name: '基本信息', comp: baseInfo },
+ { name: '计量人员', comp: table },
+ { name: '标准配套设备', comp: table },
+ { name: '检定规程', comp: table },
+ { name: '重复性考核记录', comp: table },
+ { name: '稳定性考核记录', comp: table },
+ { name: '证书管理', comp: table },
+])
+const currentCompRef = ref()
+const current = ref('基本信息')
+const currentComp = shallowRef(baseInfo)
+watch(current, (newValue) => {
+ currentComp.value = menu.value.filter(item => item.name === newValue)[0].comp
})
-// 获取到标准负责人数组
-const getStandardOwnerOptions = () => {
- const params = {
- staffNo: '', // 人员编号
- name: '', // 姓名
- deptId: '', // 工作部门
- major: '', // 计量专业
- verifierCertificateNo: '', // 证书号
- certificateStatus: '', // 证书状态
- limit: 100000,
- offset: 1,
- }
- getStaffList(params).then((res) => {
- standardOwnerOptions.value = res.data.records
- })
-}
-getStandardOwnerOptions()
// 关闭
const close = () => {
emit('close')
}
-const rules = ref({
- standardName: [{ required: true, message: '标准名称不能为空', trigger: 'blur' }],
- projectNo: [{ required: true, message: '项目编号不能为空', trigger: 'blur' }],
- constructionStandardProject: [{ required: true, message: '建标项目不能为空', trigger: 'blur' }],
- organizeNo: [{ required: true, message: '组织机构代码不能为空', trigger: 'blur' }],
- constructionStandardUnitName: [{ required: true, message: '建标单位名称不能为空', trigger: 'blur' }],
- standardOwner: [{ required: true, message: '标准负责人不能为空', trigger: 'blur' }],
- contactInfo: [{ required: true, message: '联系方式不能为空', trigger: 'blur' }],
- category: [{ required: true, message: '类 别不能为空', trigger: 'blur' }],
- standardLevel: [{ required: true, message: '标准等级不能为空', trigger: 'blur' }],
- transmitRange: [{ required: true, message: '传递范围不能为空', trigger: 'blur' }],
- preparationDate: [{ required: true, message: '筹建日期不能为空', trigger: 'blur' }],
- managerState: [{ required: true, message: '管理状态不能为空', trigger: 'blur' }],
- measureMajor: [{ required: true, message: '计量专业不能为空', trigger: 'blur' }],
- assessmentUnit: [{ required: true, message: '考核单位不能为空', trigger: 'blur' }],
- assessDate: [{ required: true, message: '考核日期不能为空', trigger: 'blur' }],
- uncertainty: [{ required: true, message: '不确定度不能为空', trigger: 'blur' }],
- mesureRange: [{ required: true, message: '测量范围不能为空', trigger: 'blur' }],
- standardTemperature: [{ required: true, message: '标准温度不能为空', trigger: 'blur' },
- { pattern: /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/, message: '标准温度只能为数字', trigger: 'blur' }],
- standardHumidity: [{ required: true, message: '标准湿度不能为空', trigger: 'blur' },
- { pattern: /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/, message: '标准湿度只能为数字', trigger: 'blur' }],
-}) // 表单验证规则
-// 上传请求
-const uploadQuarterlyEvaluateFile = (file: File) => {
- const fd = new FormData()
- fd.append('multipartFile', file.file)
- UploadFile(fd).then((res) => {
- if (res.code === 200) {
- formInline.value.fileList = res.data
- // 重置当前验证
- ElMessage.success('文件上传成功')
- }
- })
-}
-const handleExceed: UploadProps['onExceed'] = (files, uploadFiles) => {
- ElMessage.warning('只能上传一个文件')
-}
-// 移除时触发
-const beforeRemove: UploadProps['beforeRemove'] = (uploadFile, uploadFiles) => {
- return ElMessageBox.confirm(
- `确认移除${uploadFile.name}文件吗 ?`,
- ).then(
- () => true,
- () => false,
-
- )
-}
-// 点击文件预览
-const uploadShow = (e: any) => {
- const URL = window.URL || window.webkitURL
- window.open(URL.createObjectURL(e.raw))
-}
-const testForm = ref({
- fileList: [],
- fileContent: '',
-})
-const handleFileChange = (files: any, fileList: any) => {
- testForm.value.fileList = fileList
- const reader = new FileReader()
- reader.readAsText(files.raw)
- // reader.onload = (e) => {
- // testForm.value.fileContent = e.target!.result?.replace(
- // /\n|\r\n/g,
- // '
',
- // )
- // }
+const setData = (newValue: object) => {
+ formInline.value = newValue
}
// 编辑获取详情的提交按钮
const submitFormDetail = () => {
@@ -223,60 +72,29 @@
}
}
// 提交
-const submitForm = (formEl: FormInstance | undefined) => {
- if (!formEl) { return }
+const submitForm = () => {
if (props.buttonType === '详情') { return submitFormDetail() }
- formEl.validate((valid, fields) => {
- if (valid) {
- ElMessageBox.confirm(
- '确认提交吗?',
- '提示',
- {
- confirmButtonText: '确认',
- cancelButtonText: '取消',
- type: 'warning',
- },
- ).then(() => {
- props.buttonType === ''
- ? getStandardListAdd(formInline.value).then((res) => {
- if (res.code === 200) {
- close()
- }
- })
- : submitFormDetail()
- })
- }
- })
-}
-// 标准实验室发生改变row类型
-interface rowReturn {
- phone: string
- director: string
-}
-// 标准实验室发生改变
-const changeDeptList = (row: object) => {
- formInline.value.laboratoryOwnerContact = row.phone
- formInline.value.laboratoryOwner = row.director
-}
-// 标准实验室清空时
-const clearDeptList = () => {
- formInline.value.laboratoryOwnerContact = null
- formInline.value.laboratoryOwner = null
-}
-// 获取详情信息
-const getInfo = () => {
- getStandardListDetail({ id: props.infoId }).then((res) => {
- Object.keys(res.data).map((item) => {
- if (typeof (res.data[item]) === 'number') {
- res.data[item] = res.data[item].toString()
- }
+ ElMessageBox.confirm(
+ '确认提交吗?',
+ '提示',
+ {
+ confirmButtonText: '确认',
+ cancelButtonText: '取消',
+ type: 'warning',
+ },
+ ).then(() => {
+ current.value = '基本信息'
+ currentCompRef.value.submitForm().validate().then(() => {
+ props.buttonType === ''
+ ? getStandardListAdd(formInline.value).then((res) => {
+ if (res.code === 200) {
+ close()
+ }
+ })
+ : submitFormDetail()
})
- formInline.value = res.data
})
}
-if (props.buttonType !== '') {
- getInfo()
-}
@@ -289,7 +107,7 @@
{{ buttonType === '详情' ? '打印' : '提交' }}
@@ -298,405 +116,17 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 上传
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
@@ -719,14 +149,8 @@
}
}
-.info-content {
- margin-top: 10px;
- padding: 30px;
- border-radius: 10px;
+.body {
background-color: #fff;
-}
-
-:deep .el-input .el-input--default .el-input--suffix {
- width: 200px !important;
+ margin-top: 10px;
}
diff --git a/src/views/device/standardEquipment/expirationRemind.vue b/src/views/device/standardEquipment/expirationRemind.vue
index 35786b2..1826c22 100644
--- a/src/views/device/standardEquipment/expirationRemind.vue
+++ b/src/views/device/standardEquipment/expirationRemind.vue
@@ -26,39 +26,47 @@
text: '标准代码',
value: 'standardNo',
width: '160',
+ align: 'center',
},
{
text: '标准名称',
value: 'standardName',
width: '90',
+ align: 'center',
},
{
text: '管理状态',
value: 'managerStateName',
width: '100',
+ align: 'center',
},
{
text: '标准所在部门',
value: 'standardLaboratoryName',
width: '120',
+ align: 'center',
},
{
text: '负责人',
value: 'standardOwnerName',
+ align: 'center',
},
{
text: '建标项目',
value: 'standardOwnerName',
+ align: 'center',
},
{
text: '筹建日期',
value: 'preparationDate',
width: '160',
+ align: 'center',
},
{
text: '有效日期',
value: 'preparationDate',
width: '160',
+ align: 'center',
},
])
const total = ref(0)
@@ -326,12 +334,8 @@
-
- 导出
-
-
- 打印
-
+
+
- 编辑
+ 详情
- 详情
+ 提醒
+import applyList from './components/applyList.vue'
// 逻辑代码
- 暂停申请
+
diff --git a/src/views/device/standardEquipment/resumeApply.vue b/src/views/device/standardEquipment/resumeApply.vue
index d4a80e8..b5896fc 100644
--- a/src/views/device/standardEquipment/resumeApply.vue
+++ b/src/views/device/standardEquipment/resumeApply.vue
@@ -1,10 +1,11 @@
- 恢复申请
+
diff --git a/src/views/device/standardEquipment/standardList.vue b/src/views/device/standardEquipment/standardList.vue
index 4f1bfdf..348ed71 100644
--- a/src/views/device/standardEquipment/standardList.vue
+++ b/src/views/device/standardEquipment/standardList.vue
@@ -29,50 +29,60 @@
text: '标准代码',
value: 'standardNo',
width: '120',
+ align: 'center',
},
{
text: '标准名称',
value: 'standardName',
width: '90',
+ align: 'center',
},
{
text: '类别',
value: 'categoryName',
width: '80',
+ align: 'center',
},
{
text: '标准等级',
value: 'standardLevelName',
width: '100',
+ align: 'center',
},
{
text: '传递范围',
value: 'transmitRange',
width: '110',
+ align: 'center',
},
{
text: '管理状态',
value: 'managerStateName',
width: '100',
+ align: 'center',
},
{
text: '标准所在部门',
value: 'standardLaboratoryName',
width: '120',
+ align: 'center',
},
{
text: '负责人',
value: 'laboratoryOwner',
+ align: 'center',
},
{
text: '筹建日期',
value: 'preparationDate',
width: '110',
+ align: 'center',
},
{
text: '备注',
value: 'remark',
width: '80',
+ align: 'center',
},
])
const total = ref(0)
@@ -250,6 +260,9 @@
buttonType.value = text
isShow.value = false
}
+const renderHeader = (e: any) => {
+ console.log(e)
+}
@@ -330,19 +343,13 @@
-
- 新建
-
-
- 导出
-
-
- 打印
-
+
+
+
diff --git a/src/views/device/stateManage/components/approvalActionDialog.vue b/src/views/device/stateManage/components/approvalActionDialog.vue
index cdc9b25..56417d6 100644
--- a/src/views/device/stateManage/components/approvalActionDialog.vue
+++ b/src/views/device/stateManage/components/approvalActionDialog.vue
@@ -1,10 +1,13 @@
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/cancel.vue b/src/views/device/stateManage/components/status/cancel.vue
new file mode 100644
index 0000000..ecb2d0c
--- /dev/null
+++ b/src/views/device/stateManage/components/status/cancel.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/drafts.vue b/src/views/device/stateManage/components/status/drafts.vue
new file mode 100644
index 0000000..226ba21
--- /dev/null
+++ b/src/views/device/stateManage/components/status/drafts.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/inApproval.vue b/src/views/device/stateManage/components/status/inApproval.vue
new file mode 100644
index 0000000..4988595
--- /dev/null
+++ b/src/views/device/stateManage/components/status/inApproval.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/passed.vue b/src/views/device/stateManage/components/status/passed.vue
new file mode 100644
index 0000000..ab87daf
--- /dev/null
+++ b/src/views/device/stateManage/components/status/passed.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/pending.vue b/src/views/device/stateManage/components/status/pending.vue
new file mode 100644
index 0000000..3e0b315
--- /dev/null
+++ b/src/views/device/stateManage/components/status/pending.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/unPassed.vue b/src/views/device/stateManage/components/status/unPassed.vue
new file mode 100644
index 0000000..8de700e
--- /dev/null
+++ b/src/views/device/stateManage/components/status/unPassed.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/templateAdd.vue b/src/views/device/stateManage/components/templateAdd.vue
index 9c4da0f..fc364c8 100644
--- a/src/views/device/stateManage/components/templateAdd.vue
+++ b/src/views/device/stateManage/components/templateAdd.vue
@@ -381,10 +381,10 @@
-
+
diff --git a/src/views/device/stateManage/components/templateList.vue b/src/views/device/stateManage/components/templateList.vue
index 6ee2e8c..aa3963f 100644
--- a/src/views/device/stateManage/components/templateList.vue
+++ b/src/views/device/stateManage/components/templateList.vue
@@ -8,6 +8,10 @@
type: String,
default: '',
},
+ title: {
+ type: String,
+ default: '',
+ },
})
// import { exportFile } from '@/utils/exportUtils'
// const { proxy } = getCurrentInstance() as any
@@ -179,15 +183,23 @@
// 同意
const agree = (row) => {
console.log(approveRef.value)
- approveRef.value.initDialog()
+ approveRef.value.initDialog({
+ radio: '1',
+ })
}
// 驳回
const reject = (row) => {
- approveRef.value.initDialog()
+ approveRef.value.initDialog({
+ radio: '3',
+ })
}
// 拒绝
const refuse = (row) => {
- approveRef.value.initDialog()
+ approveRef.value.initDialog(
+ {
+ radio: '2',
+ },
+ )
}
// 取消
const cancel = (row) => {
diff --git a/src/views/device/stateManage/components/templatePage.vue b/src/views/device/stateManage/components/templatePage.vue
index 5fb0163..fce7685 100644
--- a/src/views/device/stateManage/components/templatePage.vue
+++ b/src/views/device/stateManage/components/templatePage.vue
@@ -1,6 +1,12 @@
- 设备处置申请
+
diff --git a/src/views/device/stateManage/openApply.vue b/src/views/device/stateManage/openApply.vue
index 3c43781..35c2af6 100644
--- a/src/views/device/stateManage/openApply.vue
+++ b/src/views/device/stateManage/openApply.vue
@@ -1,13 +1,14 @@
- 设备启封申请
+
+
diff --git a/src/views/device/stateManage/scrapApply.vue b/src/views/device/stateManage/scrapApply.vue
index 7bd1a98..282ecd8 100644
--- a/src/views/device/stateManage/scrapApply.vue
+++ b/src/views/device/stateManage/scrapApply.vue
@@ -1,10 +1,10 @@
- 设备报废申请
+
diff --git a/src/views/device/stateManage/sealupApply.vue b/src/views/device/stateManage/sealupApply.vue
index ec6320b..1c8544d 100644
--- a/src/views/device/stateManage/sealupApply.vue
+++ b/src/views/device/stateManage/sealupApply.vue
@@ -1,10 +1,10 @@
- 设备封存申请
+
diff --git a/src/views/measure/bench/bench.vue b/src/views/measure/bench/bench.vue
index cb2ebe6..380779a 100644
--- a/src/views/measure/bench/bench.vue
+++ b/src/views/measure/bench/bench.vue
@@ -175,7 +175,7 @@
v-if="proxy.hasPerm('/workbench/meterTrain/line')"
title="培训计划"
width="27.8vw"
- height="40vh"
+ height="40.7vh"
>
([])
+const PubListTree = ref([])
// 获取发布单位列表
const getPubList = () => {
getDeptTreeList().then((res) => {
PubList.value = res.data
+ PubListTree.value = toTreeList(res.data, '0', true)
})
}
// 弹窗初始化
@@ -73,7 +80,8 @@
if (row.title === '新建') {
// 默认发布人和发布单位
ruleForm.createUserId = userInfo.$state.id
- ruleForm.publisher = userInfo.$state.deptId
+ ruleForm.publisher = ''
+ ruleForm.publishTime = dayjs().format('YYYY-MM-DD HH:mm:ss')
// 判断有无存储
console.log(sessionStorage.getItem(fileTypeName.value), 'sess')
if (sessionStorage.getItem(fileTypeName.value)) {
@@ -207,11 +215,12 @@
// { name: '已废止', id: '1595030083114450945', value: '3' },
// ])
watch(() => ruleForm.effectiveTime, (newVal) => {
- const diffDat = dayjs(newVal).diff(dayjs().format('YYYY-MM-DD HH:mm:ss'), 'day')
+ const diffDat = dayjs(newVal).diff(dayjs().format('YYYY-MM-DD HH:mm:ss'), 'hour')
+ console.log(diffDat)
if (diffDat < 0) {
// ruleForm.effectiveStatusName = '已废止'
- effectiveStatusName.value = '已废止'
- ruleForm.effectiveStatus = '3'
+ effectiveStatusName.value = '在使用'
+ ruleForm.effectiveStatus = '1'
}
else if (diffDat == 0) {
// ruleForm.effectiveStatusName = '在使用'
@@ -269,15 +278,20 @@
-
+
+
@@ -293,7 +307,7 @@
diff --git a/src/views/measure/person/certificateLog.vue b/src/views/measure/person/certificateLog.vue
index ca26b00..2e3322a 100644
--- a/src/views/measure/person/certificateLog.vue
+++ b/src/views/measure/person/certificateLog.vue
@@ -32,13 +32,13 @@
const loadingTable = ref(false) // 表格loading
const total = ref(0) // 数据总条数
const columns = ref([
- { text: '人员编号', value: 'staffNo', align: 'center', width: '150' },
+ { text: '人员编号', value: 'staffNo', align: 'center', width: '180' },
{ text: '姓名', value: 'name', align: 'center', width: '80' },
{ text: '性别', value: 'sex', align: 'center', width: '55' },
{ text: '工作部门', value: 'deptId', align: 'center', width: '140' },
{ text: '技术职务', value: 'technologyJob', align: 'center', width: '120' },
{ text: '行政职务', value: 'administrationJob', align: 'center', width: '90' },
- { text: '证书号', value: 'certificateNo', align: 'center', width: '150' },
+ { text: '证书号', value: 'certificateNo', align: 'center' },
{ text: '发证单位', value: 'certificateCompany', align: 'center', width: '90' },
{ text: '发证日期', value: 'certificateDate', align: 'center', width: '200' },
{ text: '证书有效日期', value: 'certificateDate', align: 'center', width: '200' },
diff --git a/src/views/measure/person/components/addPerson.vue b/src/views/measure/person/components/addPerson.vue
index 9252393..4dc1b17 100644
--- a/src/views/measure/person/components/addPerson.vue
+++ b/src/views/measure/person/components/addPerson.vue
@@ -10,7 +10,7 @@
import { getDeptTreeList } from '@/api/system/dept'
import { UploadFile } from '@/api/measure/file'
import { toTreeList } from '@/utils/structure'
-import type { userType } from '@/views/system/user/user-interface'
+import type { TreeStructure, userType } from '@/views/system/user/user-interface'
import { getDictByCode } from '@/api/system/dict'
import comTreeSelect from '@/views/system/user/selecTree.vue'
import { getStaffAdd, getStaffDetail, getStaffupdate } from '@/api/measure/person'
@@ -67,7 +67,7 @@
ruleFormRef.value?.validateField('idCard').then((res) => {
// 获取生日
const IdCard = ruleForm.value.idCard
- const birthday = `${IdCard.substring(6, 10)}-${IdCard.substring(10, 12)}-${IdCard.substring(12, 14)}`
+ const birthday = `${IdCard.substring(6, 10)}-${IdCard.substring(10, 12)}`
ruleForm.value.birthday = birthday
console.log(ruleForm.value)
})
@@ -86,12 +86,14 @@
const deptProps = reactive({
parent: 'pid', value: 'id', label: 'name', children: 'children',
})
-const PubList = ref([])
+const PubList = ref([])
+const PubListTree = ref([])
// 获取组织列表
const getPubList = () => {
getDeptTreeList().then((res) => {
// 转成树结构
- PubList.value = toTreeList(res.data, '0', true)
+ PubList.value = res.data
+ PubListTree.value = toTreeList(res.data, '0', true)
})
}
const sexList = ref<{ id: string; value: string; name: string }[]>()
@@ -343,7 +345,7 @@
getTechnologyJobList()
getAdministrationJob()
if (row.title === '新建') {
- console.log()
+ // ruleForm.value.deptId = ''
}
else {
getStaffDetail({ ...row }).then((res) => {
@@ -371,7 +373,7 @@
-
-
+
+
@@ -404,20 +405,36 @@
-
+
+
+
+ 选择
+
+
+
-
-
-
-
+
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
@@ -425,82 +442,52 @@
-
+
-
-
-
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
@@ -551,6 +538,7 @@
border-radius: 8px;
padding-top: 10px;
margin-top: 10px;
+ padding-right: 10px;
}
.header {
@@ -578,6 +566,20 @@
display: none;
}
+ :deep(.el-icon.avatar-uploader-icon) {
+ font-size: 28px;
+ color: #8c939d;
+ width: 190px;
+ height: 250px;
+ text-align: center;
+ }
+
+ :deep(.avatar-uploader .avatar) {
+ width: 190px;
+ height: 250px;
+ display: block;
+ }
+
.isDetail {
::v-deep {
.el-form-item.is-required:not(.is-no-asterisk) .el-form-item__label-wrap > .el-form-item__label::before,
@@ -591,12 +593,16 @@
.marg {
margin-top: 20px;
}
+
+.marg-item {
+ margin-top: 20px;
+}
@@ -618,8 +624,8 @@
.el-icon.avatar-uploader-icon {
font-size: 28px;
color: #8c939d;
- width: 178px;
- height: 178px;
+ width: 220px;
+ height: 320px;
text-align: center;
}
diff --git a/src/views/measure/person/components/addRecord.vue b/src/views/measure/person/components/addRecord.vue
index 2928870..ae48f11 100644
--- a/src/views/measure/person/components/addRecord.vue
+++ b/src/views/measure/person/components/addRecord.vue
@@ -9,7 +9,7 @@
import { getUserList } from '@/api/system/user'
import { getDeptTreeList } from '@/api/system/dept'
import { toTreeList } from '@/utils/structure'
-import type { userType } from '@/views/system/user/user-interface'
+import type { TreeStructure, userType } from '@/views/system/user/user-interface'
import { getDictByCode } from '@/api/system/dict'
import comTreeSelect from '@/views/system/user/selecTree.vue'
import { addCertificateList, getCertificateDetail, getCertificateUpdate } from '@/api/measure/person'
@@ -59,12 +59,14 @@
const deptProps = reactive({
parent: 'pid', value: 'id', label: 'name', children: 'children',
})
-const PubList = ref([])
+const PubList = ref
([])
+const PubListTree = ref([])
// 获取组织列表
const getPubList = () => {
getDeptTreeList().then((res) => {
// 转成树结构
- PubList.value = toTreeList(res.data, '0', true)
+ PubList.value = res.data
+ PubListTree.value = toTreeList(res.data, '0', true)
})
}
const sexList = ref<{ id: string; value: string; name: string }[]>()
@@ -330,7 +332,13 @@
-
+
+
+
+ 选择
+
+
+
@@ -377,10 +385,12 @@
-
+
+
+
diff --git a/src/views/measure/person/components/personListDialog.vue b/src/views/measure/person/components/personListDialog.vue
index 952da9d..5e20d1b 100644
--- a/src/views/measure/person/components/personListDialog.vue
+++ b/src/views/measure/person/components/personListDialog.vue
@@ -1,6 +1,6 @@
diff --git a/src/views/measure/source/components/listPage.vue b/src/views/measure/source/components/listPage.vue
index a9c9509..70a3518 100644
--- a/src/views/measure/source/components/listPage.vue
+++ b/src/views/measure/source/components/listPage.vue
@@ -17,6 +17,7 @@
default: () => [],
},
})
+const emit = defineEmits(['setData']) // 关闭
// 查询条件
const listQuery: Ref = ref({
supplierNo: '', // 业务内容
@@ -28,53 +29,63 @@
// 控制是否显示新增页面
const show = ref(true)
// 表格数据
-const list = ref([])
+const list = ref([
+ { name: '张三' },
+])
// 总数
-const total = ref(20)
+const total = ref(0)
// 表头
const columns = ref([
{
text: '溯源供方编号',
- value: 'supplierNo',
- width: '160',
+ value: 'name',
+ width: '120',
+ align: 'center',
},
{
text: '溯源供方名称',
- value: 'supplierName',
+ value: 'name',
width: '120',
+ align: 'center',
},
{
text: '业务内容',
- value: 'businessContent',
+ value: 'name',
+ align: 'center',
},
{
text: '业务资质',
- value: 'briefName',
+ value: 'name',
+ align: 'center',
},
{
text: '负责人',
- value: 'director',
+ value: 'name',
+ align: 'center',
},
{
text: '联系方式',
- value: 'mobile',
+ value: 'name',
+ align: 'center',
},
{
text: '地址',
- value: 'companyCity',
+ value: 'name',
+ align: 'center',
},
{
text: '创建时间',
- value: 'createTime',
- width: '200',
+ value: 'name',
+ align: 'center',
},
{
text: '备注',
- value: 'remark',
+ value: 'name',
+ align: 'center',
},
])
-const buttonArray = ref([])
+const buttonArray = ref([])
// 选中的内容
const checkoutList = ref([])
// 文件上传input
@@ -98,20 +109,24 @@
loadingTable.value = false
})
}
-fetchData(true)
// 多选发生改变时
const handleSelectionChange = (e: any) => {
checkoutList.value = e
}
+// 点击删除和编辑的参数类型
+interface rowReturn {
+ id: string
+ supplierName: string
+}
// 点击编辑/详情
-const handleEdit = (index: string, row: object, value: string) => {
+const handleEdit = (index: string, row: rowReturn, value: string) => {
buttonArray.value = ['同意', '驳回', '拒绝']
buttonType.value = value
infoId.value = row.id
show.value = false
}
// 点击删除
-const handleDelete = (index: string, row: object) => {
+const handleDelete = (index: string, row: rowReturn) => {
ElMessageBox.confirm(
`确认删除${row.supplierName}吗?`,
'提示',
@@ -153,7 +168,7 @@
// 关闭编辑
const close = () => {
show.value = true
- fetchData(true)
+ // fetchData(true)
}
// 导出
const exportExcelBtn = () => {
@@ -218,30 +233,24 @@
upload()
}
const add = () => {
+ buttonArray.value = ['提交', '保存']
buttonType.value = ''
show.value = false
}
const exportAll = () => {
exportExcelBtn()
}
+watch(() => show.value, (newVal) => {
+// 变化后存储
+ emit('setData', newVal)
+},
+{ deep: true, immediate: true })
// 打印
const printObj = ref({
id: 'print', // 需要打印元素的id
popTitle: '溯源供方编号模板', // 打印配置页上方的标题
extraHead: '', // 最上方的头部文字,附加在head标签上的额外标签,使用逗号分割
preview: false, // 是否启动预览模式,默认是false
- previewBeforeOpenCallback() { console.log('正在加载预览窗口!') }, // 预览窗口打开之前的callback
- previewOpenCallback() { console.log('已经加载完预览窗口,预览打开了!') }, // 预览窗口打开时的callback
- beforeOpenCallback() { console.log('开始打印之前!') }, // 开始打印之前的callback
- openCallback() { console.log('执行打印了!') }, // 调用打印时的callback
- closeCallback() { console.log('关闭了打印工具!') }, // 关闭打印的callback(无法区分确认or取消)
- clickMounted() { console.log('点击v-print绑定的按钮了!') },
- // url: 'http://localhost:8080/', // 打印指定的URL,确保同源策略相同
- // asyncUrl (reslove) {
- // setTimeout(() => {
- // reslove('http://localhost:8080/')
- // }, 2000)
- // },
standard: '',
extarCss: '',
})
@@ -285,15 +294,9 @@
-
- 新建
-
-
- 导出
-
-
- 打印
-
+
+
+
-
- 批量导入
-
-
- 模板下载
-
-
- 新建
-
-
- 导出
-
-
- 打印
-
+
+
+
+
+
-
+
diff --git a/src/views/device/standardEquipment/components/listApply/all.vue b/src/views/device/standardEquipment/components/listApply/all.vue
new file mode 100644
index 0000000..d124307
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/all.vue
@@ -0,0 +1,17 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/approvalPending.vue b/src/views/device/standardEquipment/components/listApply/approvalPending.vue
new file mode 100644
index 0000000..8a7a8bc
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/approvalPending.vue
@@ -0,0 +1,16 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/canceled.vue b/src/views/device/standardEquipment/components/listApply/canceled.vue
new file mode 100644
index 0000000..3b9657c
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/canceled.vue
@@ -0,0 +1,15 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/draftBox.vue b/src/views/device/standardEquipment/components/listApply/draftBox.vue
new file mode 100644
index 0000000..43d7b75
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/draftBox.vue
@@ -0,0 +1,15 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue b/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue
new file mode 100644
index 0000000..c13f95a
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue
@@ -0,0 +1,17 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/listPage.vue b/src/views/device/standardEquipment/components/listApply/listPage.vue
new file mode 100644
index 0000000..5133627
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/listPage.vue
@@ -0,0 +1,493 @@
+
+
+
+
+
+
+
+
+
+
+
+ 同意
+
+
+ 驳回
+
+
+ 拒绝
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 提交
+
+
+ 取消
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/listPageAdd.vue b/src/views/device/standardEquipment/components/listApply/listPageAdd.vue
new file mode 100644
index 0000000..eb506ec
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/listPageAdd.vue
@@ -0,0 +1,1021 @@
+
+
+
+
+
+
+ 基本信息
+
+
+
+ {{ item }}
+
+
+ 关闭
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 上传
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 完成
+
+
+
+
+
+
+
+ 同意
+
+
+ 驳回
+
+
+ 拒绝
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 提交
+
+
+ 取消
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/notPass.vue b/src/views/device/standardEquipment/components/listApply/notPass.vue
new file mode 100644
index 0000000..5a4b817
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/notPass.vue
@@ -0,0 +1,10 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/passed.vue b/src/views/device/standardEquipment/components/listApply/passed.vue
new file mode 100644
index 0000000..31cd21c
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/passed.vue
@@ -0,0 +1,10 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/addRow.vue b/src/views/device/standardEquipment/components/standardList/addRow.vue
new file mode 100644
index 0000000..9f2bf81
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/addRow.vue
@@ -0,0 +1,270 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/baseInfo.vue b/src/views/device/standardEquipment/components/standardList/baseInfo.vue
new file mode 100644
index 0000000..c47ad1d
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/baseInfo.vue
@@ -0,0 +1,675 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 上传
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/temptable.vue b/src/views/device/standardEquipment/components/standardList/temptable.vue
new file mode 100644
index 0000000..20eb800
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/temptable.vue
@@ -0,0 +1,387 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ (searchQuery.offset - 1) * searchQuery.limit + scope.$index + 1 }}
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardListAdd.vue b/src/views/device/standardEquipment/components/standardListAdd.vue
index ea13629..348bb41 100644
--- a/src/views/device/standardEquipment/components/standardListAdd.vue
+++ b/src/views/device/standardEquipment/components/standardListAdd.vue
@@ -3,6 +3,8 @@
import { ElMessage, ElMessageBox } from 'element-plus'
import type { FormInstance, UploadProps, UploadUserFile } from 'element-plus'
import type { IOptions } from '../standard_interface'
+import baseInfo from './standardList/baseInfo.vue'
+import table from './standardList/temptable.vue'
import { getStaffList } from '@/api/measure/person'
import { getTypeSelect } from '@/api/system/price'
import { getStandardLisUpdate, getStandardListAdd, getStandardListDetail, getUsersDept } from '@/api/device/standard'
@@ -17,188 +19,35 @@
default: '',
},
})
-const emit = defineEmits(['close']) // 关闭
-const ruleFormRef = ref()
-// 逻辑代码
-const formInline = ref({
- assessDate: '',
- assessmentUnit: '',
- category: null,
- categoryName: '',
- constructionStandardProject: '',
- constructionStandardUnitName: '',
- contactInfo: '',
- createTime: null,
- createUser: null,
- id: '',
- isDel: null,
- laboratoryOwner: null,
- laboratoryOwnerContact: null,
- laboratoryOwnerName: null,
- managerState: null,
- managerStateName: '',
- measureMajor: null,
- fileList: [],
- measureMajorName: '',
- mesureRange: '',
- organizeNo: '',
- preparationDate: '',
- projectNo: '',
- remark: '',
- standardHumidity: null,
- standardLaboratory: null,
- standardLaboratoryName: '',
- standardLevel: null,
- standardLevelName: '',
- standardName: '',
- standardNo: '',
- standardOwner: null,
- standardOwnerName: '',
- standardTemperature: null,
- totalInvestment: null,
- transmitRange: null,
- transmitRangeName: '',
- uncertainty: '',
- updateTime: null,
- version: null,
-})
-const checkTypeOptions = ref([])
-
-const standardOwnerOptions = ref([]) // 标准负责人
-const fileList = ref([]) // 文件对象数组
-const measureMajorList = ref([]) // 计量专业下拉框
-const standardManagerStateList = ref([]) // 管理状态下拉框
-const standardLevelList = ref([]) // 标准等级下拉框
-const transmitRangeList = ref([]) // 传递范围下拉框
-// 标准所在部门下拉框
-const standardUsersDeptList = ref([])
-// 获取下拉框
-const getSelectList = (code: string) => {
- getTypeSelect(code).then((res) => {
- if (code === 'measureMajor') {
- measureMajorList.value = res.data
- }
- else if (code === 'standardManagerState') {
- standardManagerStateList.value = res.data
- }
- else if (code === 'standardLevel') {
- standardLevelList.value = res.data
- }
- else if (code === 'transmitRange') {
- transmitRangeList.value = res.data
- }
- else if (code === 'standardCategory') {
- checkTypeOptions.value = res.data
- }
- })
+const emit = defineEmits(['close'])
+// 定义数据
+const formInline = ref({})
+// 关闭
+interface menuType {
+ name: string
+ comp: any
}
-getSelectList('measureMajor') // 获取计量专业下拉框
-getSelectList('standardManagerState') // 获取管理状态下拉框
-getSelectList('standardLevel') // 获取标准等级下拉框
-getSelectList('transmitRange') // 获取传递范围下拉框
-getSelectList('standardCategory') // 获取类别下拉框
-// 获取部门信息
-getUsersDept({
- createTime: '',
- director: '',
- meterMajor: '',
- organizeName: '',
- organizeNo: '',
- organizeType: '2',
- pdeptId: null,
- offset: 1,
- limit: 999999,
-}).then((res) => {
- standardUsersDeptList.value = res.data.rows
+const menu = shallowRef([
+ { name: '基本信息', comp: baseInfo },
+ { name: '计量人员', comp: table },
+ { name: '标准配套设备', comp: table },
+ { name: '检定规程', comp: table },
+ { name: '重复性考核记录', comp: table },
+ { name: '稳定性考核记录', comp: table },
+ { name: '证书管理', comp: table },
+])
+const currentCompRef = ref()
+const current = ref('基本信息')
+const currentComp = shallowRef(baseInfo)
+watch(current, (newValue) => {
+ currentComp.value = menu.value.filter(item => item.name === newValue)[0].comp
})
-// 获取到标准负责人数组
-const getStandardOwnerOptions = () => {
- const params = {
- staffNo: '', // 人员编号
- name: '', // 姓名
- deptId: '', // 工作部门
- major: '', // 计量专业
- verifierCertificateNo: '', // 证书号
- certificateStatus: '', // 证书状态
- limit: 100000,
- offset: 1,
- }
- getStaffList(params).then((res) => {
- standardOwnerOptions.value = res.data.records
- })
-}
-getStandardOwnerOptions()
// 关闭
const close = () => {
emit('close')
}
-const rules = ref({
- standardName: [{ required: true, message: '标准名称不能为空', trigger: 'blur' }],
- projectNo: [{ required: true, message: '项目编号不能为空', trigger: 'blur' }],
- constructionStandardProject: [{ required: true, message: '建标项目不能为空', trigger: 'blur' }],
- organizeNo: [{ required: true, message: '组织机构代码不能为空', trigger: 'blur' }],
- constructionStandardUnitName: [{ required: true, message: '建标单位名称不能为空', trigger: 'blur' }],
- standardOwner: [{ required: true, message: '标准负责人不能为空', trigger: 'blur' }],
- contactInfo: [{ required: true, message: '联系方式不能为空', trigger: 'blur' }],
- category: [{ required: true, message: '类 别不能为空', trigger: 'blur' }],
- standardLevel: [{ required: true, message: '标准等级不能为空', trigger: 'blur' }],
- transmitRange: [{ required: true, message: '传递范围不能为空', trigger: 'blur' }],
- preparationDate: [{ required: true, message: '筹建日期不能为空', trigger: 'blur' }],
- managerState: [{ required: true, message: '管理状态不能为空', trigger: 'blur' }],
- measureMajor: [{ required: true, message: '计量专业不能为空', trigger: 'blur' }],
- assessmentUnit: [{ required: true, message: '考核单位不能为空', trigger: 'blur' }],
- assessDate: [{ required: true, message: '考核日期不能为空', trigger: 'blur' }],
- uncertainty: [{ required: true, message: '不确定度不能为空', trigger: 'blur' }],
- mesureRange: [{ required: true, message: '测量范围不能为空', trigger: 'blur' }],
- standardTemperature: [{ required: true, message: '标准温度不能为空', trigger: 'blur' },
- { pattern: /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/, message: '标准温度只能为数字', trigger: 'blur' }],
- standardHumidity: [{ required: true, message: '标准湿度不能为空', trigger: 'blur' },
- { pattern: /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/, message: '标准湿度只能为数字', trigger: 'blur' }],
-}) // 表单验证规则
-// 上传请求
-const uploadQuarterlyEvaluateFile = (file: File) => {
- const fd = new FormData()
- fd.append('multipartFile', file.file)
- UploadFile(fd).then((res) => {
- if (res.code === 200) {
- formInline.value.fileList = res.data
- // 重置当前验证
- ElMessage.success('文件上传成功')
- }
- })
-}
-const handleExceed: UploadProps['onExceed'] = (files, uploadFiles) => {
- ElMessage.warning('只能上传一个文件')
-}
-// 移除时触发
-const beforeRemove: UploadProps['beforeRemove'] = (uploadFile, uploadFiles) => {
- return ElMessageBox.confirm(
- `确认移除${uploadFile.name}文件吗 ?`,
- ).then(
- () => true,
- () => false,
-
- )
-}
-// 点击文件预览
-const uploadShow = (e: any) => {
- const URL = window.URL || window.webkitURL
- window.open(URL.createObjectURL(e.raw))
-}
-const testForm = ref({
- fileList: [],
- fileContent: '',
-})
-const handleFileChange = (files: any, fileList: any) => {
- testForm.value.fileList = fileList
- const reader = new FileReader()
- reader.readAsText(files.raw)
- // reader.onload = (e) => {
- // testForm.value.fileContent = e.target!.result?.replace(
- // /\n|\r\n/g,
- // '
',
- // )
- // }
+const setData = (newValue: object) => {
+ formInline.value = newValue
}
// 编辑获取详情的提交按钮
const submitFormDetail = () => {
@@ -223,60 +72,29 @@
}
}
// 提交
-const submitForm = (formEl: FormInstance | undefined) => {
- if (!formEl) { return }
+const submitForm = () => {
if (props.buttonType === '详情') { return submitFormDetail() }
- formEl.validate((valid, fields) => {
- if (valid) {
- ElMessageBox.confirm(
- '确认提交吗?',
- '提示',
- {
- confirmButtonText: '确认',
- cancelButtonText: '取消',
- type: 'warning',
- },
- ).then(() => {
- props.buttonType === ''
- ? getStandardListAdd(formInline.value).then((res) => {
- if (res.code === 200) {
- close()
- }
- })
- : submitFormDetail()
- })
- }
- })
-}
-// 标准实验室发生改变row类型
-interface rowReturn {
- phone: string
- director: string
-}
-// 标准实验室发生改变
-const changeDeptList = (row: object) => {
- formInline.value.laboratoryOwnerContact = row.phone
- formInline.value.laboratoryOwner = row.director
-}
-// 标准实验室清空时
-const clearDeptList = () => {
- formInline.value.laboratoryOwnerContact = null
- formInline.value.laboratoryOwner = null
-}
-// 获取详情信息
-const getInfo = () => {
- getStandardListDetail({ id: props.infoId }).then((res) => {
- Object.keys(res.data).map((item) => {
- if (typeof (res.data[item]) === 'number') {
- res.data[item] = res.data[item].toString()
- }
+ ElMessageBox.confirm(
+ '确认提交吗?',
+ '提示',
+ {
+ confirmButtonText: '确认',
+ cancelButtonText: '取消',
+ type: 'warning',
+ },
+ ).then(() => {
+ current.value = '基本信息'
+ currentCompRef.value.submitForm().validate().then(() => {
+ props.buttonType === ''
+ ? getStandardListAdd(formInline.value).then((res) => {
+ if (res.code === 200) {
+ close()
+ }
+ })
+ : submitFormDetail()
})
- formInline.value = res.data
})
}
-if (props.buttonType !== '') {
- getInfo()
-}
@@ -289,7 +107,7 @@
{{ buttonType === '详情' ? '打印' : '提交' }}
@@ -298,405 +116,17 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 上传
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
@@ -719,14 +149,8 @@
}
}
-.info-content {
- margin-top: 10px;
- padding: 30px;
- border-radius: 10px;
+.body {
background-color: #fff;
-}
-
-:deep .el-input .el-input--default .el-input--suffix {
- width: 200px !important;
+ margin-top: 10px;
}
diff --git a/src/views/device/standardEquipment/expirationRemind.vue b/src/views/device/standardEquipment/expirationRemind.vue
index 35786b2..1826c22 100644
--- a/src/views/device/standardEquipment/expirationRemind.vue
+++ b/src/views/device/standardEquipment/expirationRemind.vue
@@ -26,39 +26,47 @@
text: '标准代码',
value: 'standardNo',
width: '160',
+ align: 'center',
},
{
text: '标准名称',
value: 'standardName',
width: '90',
+ align: 'center',
},
{
text: '管理状态',
value: 'managerStateName',
width: '100',
+ align: 'center',
},
{
text: '标准所在部门',
value: 'standardLaboratoryName',
width: '120',
+ align: 'center',
},
{
text: '负责人',
value: 'standardOwnerName',
+ align: 'center',
},
{
text: '建标项目',
value: 'standardOwnerName',
+ align: 'center',
},
{
text: '筹建日期',
value: 'preparationDate',
width: '160',
+ align: 'center',
},
{
text: '有效日期',
value: 'preparationDate',
width: '160',
+ align: 'center',
},
])
const total = ref(0)
@@ -326,12 +334,8 @@
-
- 导出
-
-
- 打印
-
+
+
- 编辑
+ 详情
- 详情
+ 提醒
+import applyList from './components/applyList.vue'
// 逻辑代码
- 暂停申请
+
diff --git a/src/views/device/standardEquipment/resumeApply.vue b/src/views/device/standardEquipment/resumeApply.vue
index d4a80e8..b5896fc 100644
--- a/src/views/device/standardEquipment/resumeApply.vue
+++ b/src/views/device/standardEquipment/resumeApply.vue
@@ -1,10 +1,11 @@
- 恢复申请
+
diff --git a/src/views/device/standardEquipment/standardList.vue b/src/views/device/standardEquipment/standardList.vue
index 4f1bfdf..348ed71 100644
--- a/src/views/device/standardEquipment/standardList.vue
+++ b/src/views/device/standardEquipment/standardList.vue
@@ -29,50 +29,60 @@
text: '标准代码',
value: 'standardNo',
width: '120',
+ align: 'center',
},
{
text: '标准名称',
value: 'standardName',
width: '90',
+ align: 'center',
},
{
text: '类别',
value: 'categoryName',
width: '80',
+ align: 'center',
},
{
text: '标准等级',
value: 'standardLevelName',
width: '100',
+ align: 'center',
},
{
text: '传递范围',
value: 'transmitRange',
width: '110',
+ align: 'center',
},
{
text: '管理状态',
value: 'managerStateName',
width: '100',
+ align: 'center',
},
{
text: '标准所在部门',
value: 'standardLaboratoryName',
width: '120',
+ align: 'center',
},
{
text: '负责人',
value: 'laboratoryOwner',
+ align: 'center',
},
{
text: '筹建日期',
value: 'preparationDate',
width: '110',
+ align: 'center',
},
{
text: '备注',
value: 'remark',
width: '80',
+ align: 'center',
},
])
const total = ref(0)
@@ -250,6 +260,9 @@
buttonType.value = text
isShow.value = false
}
+const renderHeader = (e: any) => {
+ console.log(e)
+}
@@ -330,19 +343,13 @@
-
- 新建
-
-
- 导出
-
-
- 打印
-
+
+
+
diff --git a/src/views/device/stateManage/components/approvalActionDialog.vue b/src/views/device/stateManage/components/approvalActionDialog.vue
index cdc9b25..56417d6 100644
--- a/src/views/device/stateManage/components/approvalActionDialog.vue
+++ b/src/views/device/stateManage/components/approvalActionDialog.vue
@@ -1,10 +1,13 @@
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/cancel.vue b/src/views/device/stateManage/components/status/cancel.vue
new file mode 100644
index 0000000..ecb2d0c
--- /dev/null
+++ b/src/views/device/stateManage/components/status/cancel.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/drafts.vue b/src/views/device/stateManage/components/status/drafts.vue
new file mode 100644
index 0000000..226ba21
--- /dev/null
+++ b/src/views/device/stateManage/components/status/drafts.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/inApproval.vue b/src/views/device/stateManage/components/status/inApproval.vue
new file mode 100644
index 0000000..4988595
--- /dev/null
+++ b/src/views/device/stateManage/components/status/inApproval.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/passed.vue b/src/views/device/stateManage/components/status/passed.vue
new file mode 100644
index 0000000..ab87daf
--- /dev/null
+++ b/src/views/device/stateManage/components/status/passed.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/pending.vue b/src/views/device/stateManage/components/status/pending.vue
new file mode 100644
index 0000000..3e0b315
--- /dev/null
+++ b/src/views/device/stateManage/components/status/pending.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/unPassed.vue b/src/views/device/stateManage/components/status/unPassed.vue
new file mode 100644
index 0000000..8de700e
--- /dev/null
+++ b/src/views/device/stateManage/components/status/unPassed.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/templateAdd.vue b/src/views/device/stateManage/components/templateAdd.vue
index 9c4da0f..fc364c8 100644
--- a/src/views/device/stateManage/components/templateAdd.vue
+++ b/src/views/device/stateManage/components/templateAdd.vue
@@ -381,10 +381,10 @@
-
+
diff --git a/src/views/device/stateManage/components/templateList.vue b/src/views/device/stateManage/components/templateList.vue
index 6ee2e8c..aa3963f 100644
--- a/src/views/device/stateManage/components/templateList.vue
+++ b/src/views/device/stateManage/components/templateList.vue
@@ -8,6 +8,10 @@
type: String,
default: '',
},
+ title: {
+ type: String,
+ default: '',
+ },
})
// import { exportFile } from '@/utils/exportUtils'
// const { proxy } = getCurrentInstance() as any
@@ -179,15 +183,23 @@
// 同意
const agree = (row) => {
console.log(approveRef.value)
- approveRef.value.initDialog()
+ approveRef.value.initDialog({
+ radio: '1',
+ })
}
// 驳回
const reject = (row) => {
- approveRef.value.initDialog()
+ approveRef.value.initDialog({
+ radio: '3',
+ })
}
// 拒绝
const refuse = (row) => {
- approveRef.value.initDialog()
+ approveRef.value.initDialog(
+ {
+ radio: '2',
+ },
+ )
}
// 取消
const cancel = (row) => {
diff --git a/src/views/device/stateManage/components/templatePage.vue b/src/views/device/stateManage/components/templatePage.vue
index 5fb0163..fce7685 100644
--- a/src/views/device/stateManage/components/templatePage.vue
+++ b/src/views/device/stateManage/components/templatePage.vue
@@ -1,6 +1,12 @@
- 设备处置申请
+
diff --git a/src/views/device/stateManage/openApply.vue b/src/views/device/stateManage/openApply.vue
index 3c43781..35c2af6 100644
--- a/src/views/device/stateManage/openApply.vue
+++ b/src/views/device/stateManage/openApply.vue
@@ -1,13 +1,14 @@
- 设备启封申请
+
+
diff --git a/src/views/device/stateManage/scrapApply.vue b/src/views/device/stateManage/scrapApply.vue
index 7bd1a98..282ecd8 100644
--- a/src/views/device/stateManage/scrapApply.vue
+++ b/src/views/device/stateManage/scrapApply.vue
@@ -1,10 +1,10 @@
- 设备报废申请
+
diff --git a/src/views/device/stateManage/sealupApply.vue b/src/views/device/stateManage/sealupApply.vue
index ec6320b..1c8544d 100644
--- a/src/views/device/stateManage/sealupApply.vue
+++ b/src/views/device/stateManage/sealupApply.vue
@@ -1,10 +1,10 @@
- 设备封存申请
+
diff --git a/src/views/measure/bench/bench.vue b/src/views/measure/bench/bench.vue
index cb2ebe6..380779a 100644
--- a/src/views/measure/bench/bench.vue
+++ b/src/views/measure/bench/bench.vue
@@ -175,7 +175,7 @@
v-if="proxy.hasPerm('/workbench/meterTrain/line')"
title="培训计划"
width="27.8vw"
- height="40vh"
+ height="40.7vh"
>
([])
+const PubListTree = ref([])
// 获取发布单位列表
const getPubList = () => {
getDeptTreeList().then((res) => {
PubList.value = res.data
+ PubListTree.value = toTreeList(res.data, '0', true)
})
}
// 弹窗初始化
@@ -73,7 +80,8 @@
if (row.title === '新建') {
// 默认发布人和发布单位
ruleForm.createUserId = userInfo.$state.id
- ruleForm.publisher = userInfo.$state.deptId
+ ruleForm.publisher = ''
+ ruleForm.publishTime = dayjs().format('YYYY-MM-DD HH:mm:ss')
// 判断有无存储
console.log(sessionStorage.getItem(fileTypeName.value), 'sess')
if (sessionStorage.getItem(fileTypeName.value)) {
@@ -207,11 +215,12 @@
// { name: '已废止', id: '1595030083114450945', value: '3' },
// ])
watch(() => ruleForm.effectiveTime, (newVal) => {
- const diffDat = dayjs(newVal).diff(dayjs().format('YYYY-MM-DD HH:mm:ss'), 'day')
+ const diffDat = dayjs(newVal).diff(dayjs().format('YYYY-MM-DD HH:mm:ss'), 'hour')
+ console.log(diffDat)
if (diffDat < 0) {
// ruleForm.effectiveStatusName = '已废止'
- effectiveStatusName.value = '已废止'
- ruleForm.effectiveStatus = '3'
+ effectiveStatusName.value = '在使用'
+ ruleForm.effectiveStatus = '1'
}
else if (diffDat == 0) {
// ruleForm.effectiveStatusName = '在使用'
@@ -269,15 +278,20 @@
-
+
+
@@ -293,7 +307,7 @@
diff --git a/src/views/measure/person/certificateLog.vue b/src/views/measure/person/certificateLog.vue
index ca26b00..2e3322a 100644
--- a/src/views/measure/person/certificateLog.vue
+++ b/src/views/measure/person/certificateLog.vue
@@ -32,13 +32,13 @@
const loadingTable = ref(false) // 表格loading
const total = ref(0) // 数据总条数
const columns = ref([
- { text: '人员编号', value: 'staffNo', align: 'center', width: '150' },
+ { text: '人员编号', value: 'staffNo', align: 'center', width: '180' },
{ text: '姓名', value: 'name', align: 'center', width: '80' },
{ text: '性别', value: 'sex', align: 'center', width: '55' },
{ text: '工作部门', value: 'deptId', align: 'center', width: '140' },
{ text: '技术职务', value: 'technologyJob', align: 'center', width: '120' },
{ text: '行政职务', value: 'administrationJob', align: 'center', width: '90' },
- { text: '证书号', value: 'certificateNo', align: 'center', width: '150' },
+ { text: '证书号', value: 'certificateNo', align: 'center' },
{ text: '发证单位', value: 'certificateCompany', align: 'center', width: '90' },
{ text: '发证日期', value: 'certificateDate', align: 'center', width: '200' },
{ text: '证书有效日期', value: 'certificateDate', align: 'center', width: '200' },
diff --git a/src/views/measure/person/components/addPerson.vue b/src/views/measure/person/components/addPerson.vue
index 9252393..4dc1b17 100644
--- a/src/views/measure/person/components/addPerson.vue
+++ b/src/views/measure/person/components/addPerson.vue
@@ -10,7 +10,7 @@
import { getDeptTreeList } from '@/api/system/dept'
import { UploadFile } from '@/api/measure/file'
import { toTreeList } from '@/utils/structure'
-import type { userType } from '@/views/system/user/user-interface'
+import type { TreeStructure, userType } from '@/views/system/user/user-interface'
import { getDictByCode } from '@/api/system/dict'
import comTreeSelect from '@/views/system/user/selecTree.vue'
import { getStaffAdd, getStaffDetail, getStaffupdate } from '@/api/measure/person'
@@ -67,7 +67,7 @@
ruleFormRef.value?.validateField('idCard').then((res) => {
// 获取生日
const IdCard = ruleForm.value.idCard
- const birthday = `${IdCard.substring(6, 10)}-${IdCard.substring(10, 12)}-${IdCard.substring(12, 14)}`
+ const birthday = `${IdCard.substring(6, 10)}-${IdCard.substring(10, 12)}`
ruleForm.value.birthday = birthday
console.log(ruleForm.value)
})
@@ -86,12 +86,14 @@
const deptProps = reactive({
parent: 'pid', value: 'id', label: 'name', children: 'children',
})
-const PubList = ref([])
+const PubList = ref([])
+const PubListTree = ref([])
// 获取组织列表
const getPubList = () => {
getDeptTreeList().then((res) => {
// 转成树结构
- PubList.value = toTreeList(res.data, '0', true)
+ PubList.value = res.data
+ PubListTree.value = toTreeList(res.data, '0', true)
})
}
const sexList = ref<{ id: string; value: string; name: string }[]>()
@@ -343,7 +345,7 @@
getTechnologyJobList()
getAdministrationJob()
if (row.title === '新建') {
- console.log()
+ // ruleForm.value.deptId = ''
}
else {
getStaffDetail({ ...row }).then((res) => {
@@ -371,7 +373,7 @@
-
-
+
+
@@ -404,20 +405,36 @@
-
+
+
+
+ 选择
+
+
+
-
-
-
-
+
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
@@ -425,82 +442,52 @@
-
+
-
-
-
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
@@ -551,6 +538,7 @@
border-radius: 8px;
padding-top: 10px;
margin-top: 10px;
+ padding-right: 10px;
}
.header {
@@ -578,6 +566,20 @@
display: none;
}
+ :deep(.el-icon.avatar-uploader-icon) {
+ font-size: 28px;
+ color: #8c939d;
+ width: 190px;
+ height: 250px;
+ text-align: center;
+ }
+
+ :deep(.avatar-uploader .avatar) {
+ width: 190px;
+ height: 250px;
+ display: block;
+ }
+
.isDetail {
::v-deep {
.el-form-item.is-required:not(.is-no-asterisk) .el-form-item__label-wrap > .el-form-item__label::before,
@@ -591,12 +593,16 @@
.marg {
margin-top: 20px;
}
+
+.marg-item {
+ margin-top: 20px;
+}
@@ -618,8 +624,8 @@
.el-icon.avatar-uploader-icon {
font-size: 28px;
color: #8c939d;
- width: 178px;
- height: 178px;
+ width: 220px;
+ height: 320px;
text-align: center;
}
diff --git a/src/views/measure/person/components/addRecord.vue b/src/views/measure/person/components/addRecord.vue
index 2928870..ae48f11 100644
--- a/src/views/measure/person/components/addRecord.vue
+++ b/src/views/measure/person/components/addRecord.vue
@@ -9,7 +9,7 @@
import { getUserList } from '@/api/system/user'
import { getDeptTreeList } from '@/api/system/dept'
import { toTreeList } from '@/utils/structure'
-import type { userType } from '@/views/system/user/user-interface'
+import type { TreeStructure, userType } from '@/views/system/user/user-interface'
import { getDictByCode } from '@/api/system/dict'
import comTreeSelect from '@/views/system/user/selecTree.vue'
import { addCertificateList, getCertificateDetail, getCertificateUpdate } from '@/api/measure/person'
@@ -59,12 +59,14 @@
const deptProps = reactive({
parent: 'pid', value: 'id', label: 'name', children: 'children',
})
-const PubList = ref([])
+const PubList = ref
([])
+const PubListTree = ref([])
// 获取组织列表
const getPubList = () => {
getDeptTreeList().then((res) => {
// 转成树结构
- PubList.value = toTreeList(res.data, '0', true)
+ PubList.value = res.data
+ PubListTree.value = toTreeList(res.data, '0', true)
})
}
const sexList = ref<{ id: string; value: string; name: string }[]>()
@@ -330,7 +332,13 @@
-
+
+
+
+ 选择
+
+
+
@@ -377,10 +385,12 @@
-
+
+
+
diff --git a/src/views/measure/person/components/personListDialog.vue b/src/views/measure/person/components/personListDialog.vue
index 952da9d..5e20d1b 100644
--- a/src/views/measure/person/components/personListDialog.vue
+++ b/src/views/measure/person/components/personListDialog.vue
@@ -1,6 +1,6 @@
diff --git a/src/views/measure/source/components/listPage.vue b/src/views/measure/source/components/listPage.vue
index a9c9509..70a3518 100644
--- a/src/views/measure/source/components/listPage.vue
+++ b/src/views/measure/source/components/listPage.vue
@@ -17,6 +17,7 @@
default: () => [],
},
})
+const emit = defineEmits(['setData']) // 关闭
// 查询条件
const listQuery: Ref = ref({
supplierNo: '', // 业务内容
@@ -28,53 +29,63 @@
// 控制是否显示新增页面
const show = ref(true)
// 表格数据
-const list = ref([])
+const list = ref([
+ { name: '张三' },
+])
// 总数
-const total = ref(20)
+const total = ref(0)
// 表头
const columns = ref([
{
text: '溯源供方编号',
- value: 'supplierNo',
- width: '160',
+ value: 'name',
+ width: '120',
+ align: 'center',
},
{
text: '溯源供方名称',
- value: 'supplierName',
+ value: 'name',
width: '120',
+ align: 'center',
},
{
text: '业务内容',
- value: 'businessContent',
+ value: 'name',
+ align: 'center',
},
{
text: '业务资质',
- value: 'briefName',
+ value: 'name',
+ align: 'center',
},
{
text: '负责人',
- value: 'director',
+ value: 'name',
+ align: 'center',
},
{
text: '联系方式',
- value: 'mobile',
+ value: 'name',
+ align: 'center',
},
{
text: '地址',
- value: 'companyCity',
+ value: 'name',
+ align: 'center',
},
{
text: '创建时间',
- value: 'createTime',
- width: '200',
+ value: 'name',
+ align: 'center',
},
{
text: '备注',
- value: 'remark',
+ value: 'name',
+ align: 'center',
},
])
-const buttonArray = ref([])
+const buttonArray = ref([])
// 选中的内容
const checkoutList = ref([])
// 文件上传input
@@ -98,20 +109,24 @@
loadingTable.value = false
})
}
-fetchData(true)
// 多选发生改变时
const handleSelectionChange = (e: any) => {
checkoutList.value = e
}
+// 点击删除和编辑的参数类型
+interface rowReturn {
+ id: string
+ supplierName: string
+}
// 点击编辑/详情
-const handleEdit = (index: string, row: object, value: string) => {
+const handleEdit = (index: string, row: rowReturn, value: string) => {
buttonArray.value = ['同意', '驳回', '拒绝']
buttonType.value = value
infoId.value = row.id
show.value = false
}
// 点击删除
-const handleDelete = (index: string, row: object) => {
+const handleDelete = (index: string, row: rowReturn) => {
ElMessageBox.confirm(
`确认删除${row.supplierName}吗?`,
'提示',
@@ -153,7 +168,7 @@
// 关闭编辑
const close = () => {
show.value = true
- fetchData(true)
+ // fetchData(true)
}
// 导出
const exportExcelBtn = () => {
@@ -218,30 +233,24 @@
upload()
}
const add = () => {
+ buttonArray.value = ['提交', '保存']
buttonType.value = ''
show.value = false
}
const exportAll = () => {
exportExcelBtn()
}
+watch(() => show.value, (newVal) => {
+// 变化后存储
+ emit('setData', newVal)
+},
+{ deep: true, immediate: true })
// 打印
const printObj = ref({
id: 'print', // 需要打印元素的id
popTitle: '溯源供方编号模板', // 打印配置页上方的标题
extraHead: '', // 最上方的头部文字,附加在head标签上的额外标签,使用逗号分割
preview: false, // 是否启动预览模式,默认是false
- previewBeforeOpenCallback() { console.log('正在加载预览窗口!') }, // 预览窗口打开之前的callback
- previewOpenCallback() { console.log('已经加载完预览窗口,预览打开了!') }, // 预览窗口打开时的callback
- beforeOpenCallback() { console.log('开始打印之前!') }, // 开始打印之前的callback
- openCallback() { console.log('执行打印了!') }, // 调用打印时的callback
- closeCallback() { console.log('关闭了打印工具!') }, // 关闭打印的callback(无法区分确认or取消)
- clickMounted() { console.log('点击v-print绑定的按钮了!') },
- // url: 'http://localhost:8080/', // 打印指定的URL,确保同源策略相同
- // asyncUrl (reslove) {
- // setTimeout(() => {
- // reslove('http://localhost:8080/')
- // }, 2000)
- // },
standard: '',
extarCss: '',
})
@@ -285,15 +294,9 @@
-
- 新建
-
-
- 导出
-
-
- 打印
-
+
+
+
-
- 批量导入
-
-
- 模板下载
-
-
- 新建
-
-
- 导出
-
-
- 打印
-
+
+
+
+
+
-
+
diff --git a/src/views/device/standardEquipment/components/listApply/all.vue b/src/views/device/standardEquipment/components/listApply/all.vue
new file mode 100644
index 0000000..d124307
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/all.vue
@@ -0,0 +1,17 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/approvalPending.vue b/src/views/device/standardEquipment/components/listApply/approvalPending.vue
new file mode 100644
index 0000000..8a7a8bc
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/approvalPending.vue
@@ -0,0 +1,16 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/canceled.vue b/src/views/device/standardEquipment/components/listApply/canceled.vue
new file mode 100644
index 0000000..3b9657c
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/canceled.vue
@@ -0,0 +1,15 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/draftBox.vue b/src/views/device/standardEquipment/components/listApply/draftBox.vue
new file mode 100644
index 0000000..43d7b75
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/draftBox.vue
@@ -0,0 +1,15 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue b/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue
new file mode 100644
index 0000000..c13f95a
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue
@@ -0,0 +1,17 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/listPage.vue b/src/views/device/standardEquipment/components/listApply/listPage.vue
new file mode 100644
index 0000000..5133627
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/listPage.vue
@@ -0,0 +1,493 @@
+
+
+
+
+
+
+
+
+
+
+
+ 同意
+
+
+ 驳回
+
+
+ 拒绝
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 提交
+
+
+ 取消
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/listPageAdd.vue b/src/views/device/standardEquipment/components/listApply/listPageAdd.vue
new file mode 100644
index 0000000..eb506ec
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/listPageAdd.vue
@@ -0,0 +1,1021 @@
+
+
+
+
+
+
+ 基本信息
+
+
+
+ {{ item }}
+
+
+ 关闭
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 上传
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 完成
+
+
+
+
+
+
+
+ 同意
+
+
+ 驳回
+
+
+ 拒绝
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 提交
+
+
+ 取消
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/notPass.vue b/src/views/device/standardEquipment/components/listApply/notPass.vue
new file mode 100644
index 0000000..5a4b817
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/notPass.vue
@@ -0,0 +1,10 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/passed.vue b/src/views/device/standardEquipment/components/listApply/passed.vue
new file mode 100644
index 0000000..31cd21c
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/passed.vue
@@ -0,0 +1,10 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/addRow.vue b/src/views/device/standardEquipment/components/standardList/addRow.vue
new file mode 100644
index 0000000..9f2bf81
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/addRow.vue
@@ -0,0 +1,270 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/baseInfo.vue b/src/views/device/standardEquipment/components/standardList/baseInfo.vue
new file mode 100644
index 0000000..c47ad1d
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/baseInfo.vue
@@ -0,0 +1,675 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 上传
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/temptable.vue b/src/views/device/standardEquipment/components/standardList/temptable.vue
new file mode 100644
index 0000000..20eb800
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/temptable.vue
@@ -0,0 +1,387 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ (searchQuery.offset - 1) * searchQuery.limit + scope.$index + 1 }}
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardListAdd.vue b/src/views/device/standardEquipment/components/standardListAdd.vue
index ea13629..348bb41 100644
--- a/src/views/device/standardEquipment/components/standardListAdd.vue
+++ b/src/views/device/standardEquipment/components/standardListAdd.vue
@@ -3,6 +3,8 @@
import { ElMessage, ElMessageBox } from 'element-plus'
import type { FormInstance, UploadProps, UploadUserFile } from 'element-plus'
import type { IOptions } from '../standard_interface'
+import baseInfo from './standardList/baseInfo.vue'
+import table from './standardList/temptable.vue'
import { getStaffList } from '@/api/measure/person'
import { getTypeSelect } from '@/api/system/price'
import { getStandardLisUpdate, getStandardListAdd, getStandardListDetail, getUsersDept } from '@/api/device/standard'
@@ -17,188 +19,35 @@
default: '',
},
})
-const emit = defineEmits(['close']) // 关闭
-const ruleFormRef = ref()
-// 逻辑代码
-const formInline = ref({
- assessDate: '',
- assessmentUnit: '',
- category: null,
- categoryName: '',
- constructionStandardProject: '',
- constructionStandardUnitName: '',
- contactInfo: '',
- createTime: null,
- createUser: null,
- id: '',
- isDel: null,
- laboratoryOwner: null,
- laboratoryOwnerContact: null,
- laboratoryOwnerName: null,
- managerState: null,
- managerStateName: '',
- measureMajor: null,
- fileList: [],
- measureMajorName: '',
- mesureRange: '',
- organizeNo: '',
- preparationDate: '',
- projectNo: '',
- remark: '',
- standardHumidity: null,
- standardLaboratory: null,
- standardLaboratoryName: '',
- standardLevel: null,
- standardLevelName: '',
- standardName: '',
- standardNo: '',
- standardOwner: null,
- standardOwnerName: '',
- standardTemperature: null,
- totalInvestment: null,
- transmitRange: null,
- transmitRangeName: '',
- uncertainty: '',
- updateTime: null,
- version: null,
-})
-const checkTypeOptions = ref([])
-
-const standardOwnerOptions = ref([]) // 标准负责人
-const fileList = ref([]) // 文件对象数组
-const measureMajorList = ref([]) // 计量专业下拉框
-const standardManagerStateList = ref([]) // 管理状态下拉框
-const standardLevelList = ref([]) // 标准等级下拉框
-const transmitRangeList = ref([]) // 传递范围下拉框
-// 标准所在部门下拉框
-const standardUsersDeptList = ref([])
-// 获取下拉框
-const getSelectList = (code: string) => {
- getTypeSelect(code).then((res) => {
- if (code === 'measureMajor') {
- measureMajorList.value = res.data
- }
- else if (code === 'standardManagerState') {
- standardManagerStateList.value = res.data
- }
- else if (code === 'standardLevel') {
- standardLevelList.value = res.data
- }
- else if (code === 'transmitRange') {
- transmitRangeList.value = res.data
- }
- else if (code === 'standardCategory') {
- checkTypeOptions.value = res.data
- }
- })
+const emit = defineEmits(['close'])
+// 定义数据
+const formInline = ref({})
+// 关闭
+interface menuType {
+ name: string
+ comp: any
}
-getSelectList('measureMajor') // 获取计量专业下拉框
-getSelectList('standardManagerState') // 获取管理状态下拉框
-getSelectList('standardLevel') // 获取标准等级下拉框
-getSelectList('transmitRange') // 获取传递范围下拉框
-getSelectList('standardCategory') // 获取类别下拉框
-// 获取部门信息
-getUsersDept({
- createTime: '',
- director: '',
- meterMajor: '',
- organizeName: '',
- organizeNo: '',
- organizeType: '2',
- pdeptId: null,
- offset: 1,
- limit: 999999,
-}).then((res) => {
- standardUsersDeptList.value = res.data.rows
+const menu = shallowRef([
+ { name: '基本信息', comp: baseInfo },
+ { name: '计量人员', comp: table },
+ { name: '标准配套设备', comp: table },
+ { name: '检定规程', comp: table },
+ { name: '重复性考核记录', comp: table },
+ { name: '稳定性考核记录', comp: table },
+ { name: '证书管理', comp: table },
+])
+const currentCompRef = ref()
+const current = ref('基本信息')
+const currentComp = shallowRef(baseInfo)
+watch(current, (newValue) => {
+ currentComp.value = menu.value.filter(item => item.name === newValue)[0].comp
})
-// 获取到标准负责人数组
-const getStandardOwnerOptions = () => {
- const params = {
- staffNo: '', // 人员编号
- name: '', // 姓名
- deptId: '', // 工作部门
- major: '', // 计量专业
- verifierCertificateNo: '', // 证书号
- certificateStatus: '', // 证书状态
- limit: 100000,
- offset: 1,
- }
- getStaffList(params).then((res) => {
- standardOwnerOptions.value = res.data.records
- })
-}
-getStandardOwnerOptions()
// 关闭
const close = () => {
emit('close')
}
-const rules = ref({
- standardName: [{ required: true, message: '标准名称不能为空', trigger: 'blur' }],
- projectNo: [{ required: true, message: '项目编号不能为空', trigger: 'blur' }],
- constructionStandardProject: [{ required: true, message: '建标项目不能为空', trigger: 'blur' }],
- organizeNo: [{ required: true, message: '组织机构代码不能为空', trigger: 'blur' }],
- constructionStandardUnitName: [{ required: true, message: '建标单位名称不能为空', trigger: 'blur' }],
- standardOwner: [{ required: true, message: '标准负责人不能为空', trigger: 'blur' }],
- contactInfo: [{ required: true, message: '联系方式不能为空', trigger: 'blur' }],
- category: [{ required: true, message: '类 别不能为空', trigger: 'blur' }],
- standardLevel: [{ required: true, message: '标准等级不能为空', trigger: 'blur' }],
- transmitRange: [{ required: true, message: '传递范围不能为空', trigger: 'blur' }],
- preparationDate: [{ required: true, message: '筹建日期不能为空', trigger: 'blur' }],
- managerState: [{ required: true, message: '管理状态不能为空', trigger: 'blur' }],
- measureMajor: [{ required: true, message: '计量专业不能为空', trigger: 'blur' }],
- assessmentUnit: [{ required: true, message: '考核单位不能为空', trigger: 'blur' }],
- assessDate: [{ required: true, message: '考核日期不能为空', trigger: 'blur' }],
- uncertainty: [{ required: true, message: '不确定度不能为空', trigger: 'blur' }],
- mesureRange: [{ required: true, message: '测量范围不能为空', trigger: 'blur' }],
- standardTemperature: [{ required: true, message: '标准温度不能为空', trigger: 'blur' },
- { pattern: /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/, message: '标准温度只能为数字', trigger: 'blur' }],
- standardHumidity: [{ required: true, message: '标准湿度不能为空', trigger: 'blur' },
- { pattern: /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/, message: '标准湿度只能为数字', trigger: 'blur' }],
-}) // 表单验证规则
-// 上传请求
-const uploadQuarterlyEvaluateFile = (file: File) => {
- const fd = new FormData()
- fd.append('multipartFile', file.file)
- UploadFile(fd).then((res) => {
- if (res.code === 200) {
- formInline.value.fileList = res.data
- // 重置当前验证
- ElMessage.success('文件上传成功')
- }
- })
-}
-const handleExceed: UploadProps['onExceed'] = (files, uploadFiles) => {
- ElMessage.warning('只能上传一个文件')
-}
-// 移除时触发
-const beforeRemove: UploadProps['beforeRemove'] = (uploadFile, uploadFiles) => {
- return ElMessageBox.confirm(
- `确认移除${uploadFile.name}文件吗 ?`,
- ).then(
- () => true,
- () => false,
-
- )
-}
-// 点击文件预览
-const uploadShow = (e: any) => {
- const URL = window.URL || window.webkitURL
- window.open(URL.createObjectURL(e.raw))
-}
-const testForm = ref({
- fileList: [],
- fileContent: '',
-})
-const handleFileChange = (files: any, fileList: any) => {
- testForm.value.fileList = fileList
- const reader = new FileReader()
- reader.readAsText(files.raw)
- // reader.onload = (e) => {
- // testForm.value.fileContent = e.target!.result?.replace(
- // /\n|\r\n/g,
- // '
',
- // )
- // }
+const setData = (newValue: object) => {
+ formInline.value = newValue
}
// 编辑获取详情的提交按钮
const submitFormDetail = () => {
@@ -223,60 +72,29 @@
}
}
// 提交
-const submitForm = (formEl: FormInstance | undefined) => {
- if (!formEl) { return }
+const submitForm = () => {
if (props.buttonType === '详情') { return submitFormDetail() }
- formEl.validate((valid, fields) => {
- if (valid) {
- ElMessageBox.confirm(
- '确认提交吗?',
- '提示',
- {
- confirmButtonText: '确认',
- cancelButtonText: '取消',
- type: 'warning',
- },
- ).then(() => {
- props.buttonType === ''
- ? getStandardListAdd(formInline.value).then((res) => {
- if (res.code === 200) {
- close()
- }
- })
- : submitFormDetail()
- })
- }
- })
-}
-// 标准实验室发生改变row类型
-interface rowReturn {
- phone: string
- director: string
-}
-// 标准实验室发生改变
-const changeDeptList = (row: object) => {
- formInline.value.laboratoryOwnerContact = row.phone
- formInline.value.laboratoryOwner = row.director
-}
-// 标准实验室清空时
-const clearDeptList = () => {
- formInline.value.laboratoryOwnerContact = null
- formInline.value.laboratoryOwner = null
-}
-// 获取详情信息
-const getInfo = () => {
- getStandardListDetail({ id: props.infoId }).then((res) => {
- Object.keys(res.data).map((item) => {
- if (typeof (res.data[item]) === 'number') {
- res.data[item] = res.data[item].toString()
- }
+ ElMessageBox.confirm(
+ '确认提交吗?',
+ '提示',
+ {
+ confirmButtonText: '确认',
+ cancelButtonText: '取消',
+ type: 'warning',
+ },
+ ).then(() => {
+ current.value = '基本信息'
+ currentCompRef.value.submitForm().validate().then(() => {
+ props.buttonType === ''
+ ? getStandardListAdd(formInline.value).then((res) => {
+ if (res.code === 200) {
+ close()
+ }
+ })
+ : submitFormDetail()
})
- formInline.value = res.data
})
}
-if (props.buttonType !== '') {
- getInfo()
-}
@@ -289,7 +107,7 @@
{{ buttonType === '详情' ? '打印' : '提交' }}
@@ -298,405 +116,17 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 上传
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
@@ -719,14 +149,8 @@
}
}
-.info-content {
- margin-top: 10px;
- padding: 30px;
- border-radius: 10px;
+.body {
background-color: #fff;
-}
-
-:deep .el-input .el-input--default .el-input--suffix {
- width: 200px !important;
+ margin-top: 10px;
}
diff --git a/src/views/device/standardEquipment/expirationRemind.vue b/src/views/device/standardEquipment/expirationRemind.vue
index 35786b2..1826c22 100644
--- a/src/views/device/standardEquipment/expirationRemind.vue
+++ b/src/views/device/standardEquipment/expirationRemind.vue
@@ -26,39 +26,47 @@
text: '标准代码',
value: 'standardNo',
width: '160',
+ align: 'center',
},
{
text: '标准名称',
value: 'standardName',
width: '90',
+ align: 'center',
},
{
text: '管理状态',
value: 'managerStateName',
width: '100',
+ align: 'center',
},
{
text: '标准所在部门',
value: 'standardLaboratoryName',
width: '120',
+ align: 'center',
},
{
text: '负责人',
value: 'standardOwnerName',
+ align: 'center',
},
{
text: '建标项目',
value: 'standardOwnerName',
+ align: 'center',
},
{
text: '筹建日期',
value: 'preparationDate',
width: '160',
+ align: 'center',
},
{
text: '有效日期',
value: 'preparationDate',
width: '160',
+ align: 'center',
},
])
const total = ref(0)
@@ -326,12 +334,8 @@
-
- 导出
-
-
- 打印
-
+
+
- 编辑
+ 详情
- 详情
+ 提醒
+import applyList from './components/applyList.vue'
// 逻辑代码
- 暂停申请
+
diff --git a/src/views/device/standardEquipment/resumeApply.vue b/src/views/device/standardEquipment/resumeApply.vue
index d4a80e8..b5896fc 100644
--- a/src/views/device/standardEquipment/resumeApply.vue
+++ b/src/views/device/standardEquipment/resumeApply.vue
@@ -1,10 +1,11 @@
- 恢复申请
+
diff --git a/src/views/device/standardEquipment/standardList.vue b/src/views/device/standardEquipment/standardList.vue
index 4f1bfdf..348ed71 100644
--- a/src/views/device/standardEquipment/standardList.vue
+++ b/src/views/device/standardEquipment/standardList.vue
@@ -29,50 +29,60 @@
text: '标准代码',
value: 'standardNo',
width: '120',
+ align: 'center',
},
{
text: '标准名称',
value: 'standardName',
width: '90',
+ align: 'center',
},
{
text: '类别',
value: 'categoryName',
width: '80',
+ align: 'center',
},
{
text: '标准等级',
value: 'standardLevelName',
width: '100',
+ align: 'center',
},
{
text: '传递范围',
value: 'transmitRange',
width: '110',
+ align: 'center',
},
{
text: '管理状态',
value: 'managerStateName',
width: '100',
+ align: 'center',
},
{
text: '标准所在部门',
value: 'standardLaboratoryName',
width: '120',
+ align: 'center',
},
{
text: '负责人',
value: 'laboratoryOwner',
+ align: 'center',
},
{
text: '筹建日期',
value: 'preparationDate',
width: '110',
+ align: 'center',
},
{
text: '备注',
value: 'remark',
width: '80',
+ align: 'center',
},
])
const total = ref(0)
@@ -250,6 +260,9 @@
buttonType.value = text
isShow.value = false
}
+const renderHeader = (e: any) => {
+ console.log(e)
+}
@@ -330,19 +343,13 @@
-
- 新建
-
-
- 导出
-
-
- 打印
-
+
+
+
diff --git a/src/views/device/stateManage/components/approvalActionDialog.vue b/src/views/device/stateManage/components/approvalActionDialog.vue
index cdc9b25..56417d6 100644
--- a/src/views/device/stateManage/components/approvalActionDialog.vue
+++ b/src/views/device/stateManage/components/approvalActionDialog.vue
@@ -1,10 +1,13 @@
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/cancel.vue b/src/views/device/stateManage/components/status/cancel.vue
new file mode 100644
index 0000000..ecb2d0c
--- /dev/null
+++ b/src/views/device/stateManage/components/status/cancel.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/drafts.vue b/src/views/device/stateManage/components/status/drafts.vue
new file mode 100644
index 0000000..226ba21
--- /dev/null
+++ b/src/views/device/stateManage/components/status/drafts.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/inApproval.vue b/src/views/device/stateManage/components/status/inApproval.vue
new file mode 100644
index 0000000..4988595
--- /dev/null
+++ b/src/views/device/stateManage/components/status/inApproval.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/passed.vue b/src/views/device/stateManage/components/status/passed.vue
new file mode 100644
index 0000000..ab87daf
--- /dev/null
+++ b/src/views/device/stateManage/components/status/passed.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/pending.vue b/src/views/device/stateManage/components/status/pending.vue
new file mode 100644
index 0000000..3e0b315
--- /dev/null
+++ b/src/views/device/stateManage/components/status/pending.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/unPassed.vue b/src/views/device/stateManage/components/status/unPassed.vue
new file mode 100644
index 0000000..8de700e
--- /dev/null
+++ b/src/views/device/stateManage/components/status/unPassed.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/templateAdd.vue b/src/views/device/stateManage/components/templateAdd.vue
index 9c4da0f..fc364c8 100644
--- a/src/views/device/stateManage/components/templateAdd.vue
+++ b/src/views/device/stateManage/components/templateAdd.vue
@@ -381,10 +381,10 @@
-
+
diff --git a/src/views/device/stateManage/components/templateList.vue b/src/views/device/stateManage/components/templateList.vue
index 6ee2e8c..aa3963f 100644
--- a/src/views/device/stateManage/components/templateList.vue
+++ b/src/views/device/stateManage/components/templateList.vue
@@ -8,6 +8,10 @@
type: String,
default: '',
},
+ title: {
+ type: String,
+ default: '',
+ },
})
// import { exportFile } from '@/utils/exportUtils'
// const { proxy } = getCurrentInstance() as any
@@ -179,15 +183,23 @@
// 同意
const agree = (row) => {
console.log(approveRef.value)
- approveRef.value.initDialog()
+ approveRef.value.initDialog({
+ radio: '1',
+ })
}
// 驳回
const reject = (row) => {
- approveRef.value.initDialog()
+ approveRef.value.initDialog({
+ radio: '3',
+ })
}
// 拒绝
const refuse = (row) => {
- approveRef.value.initDialog()
+ approveRef.value.initDialog(
+ {
+ radio: '2',
+ },
+ )
}
// 取消
const cancel = (row) => {
diff --git a/src/views/device/stateManage/components/templatePage.vue b/src/views/device/stateManage/components/templatePage.vue
index 5fb0163..fce7685 100644
--- a/src/views/device/stateManage/components/templatePage.vue
+++ b/src/views/device/stateManage/components/templatePage.vue
@@ -1,6 +1,12 @@
- 设备处置申请
+
diff --git a/src/views/device/stateManage/openApply.vue b/src/views/device/stateManage/openApply.vue
index 3c43781..35c2af6 100644
--- a/src/views/device/stateManage/openApply.vue
+++ b/src/views/device/stateManage/openApply.vue
@@ -1,13 +1,14 @@
- 设备启封申请
+
+
diff --git a/src/views/device/stateManage/scrapApply.vue b/src/views/device/stateManage/scrapApply.vue
index 7bd1a98..282ecd8 100644
--- a/src/views/device/stateManage/scrapApply.vue
+++ b/src/views/device/stateManage/scrapApply.vue
@@ -1,10 +1,10 @@
- 设备报废申请
+
diff --git a/src/views/device/stateManage/sealupApply.vue b/src/views/device/stateManage/sealupApply.vue
index ec6320b..1c8544d 100644
--- a/src/views/device/stateManage/sealupApply.vue
+++ b/src/views/device/stateManage/sealupApply.vue
@@ -1,10 +1,10 @@
- 设备封存申请
+
diff --git a/src/views/measure/bench/bench.vue b/src/views/measure/bench/bench.vue
index cb2ebe6..380779a 100644
--- a/src/views/measure/bench/bench.vue
+++ b/src/views/measure/bench/bench.vue
@@ -175,7 +175,7 @@
v-if="proxy.hasPerm('/workbench/meterTrain/line')"
title="培训计划"
width="27.8vw"
- height="40vh"
+ height="40.7vh"
>
([])
+const PubListTree = ref([])
// 获取发布单位列表
const getPubList = () => {
getDeptTreeList().then((res) => {
PubList.value = res.data
+ PubListTree.value = toTreeList(res.data, '0', true)
})
}
// 弹窗初始化
@@ -73,7 +80,8 @@
if (row.title === '新建') {
// 默认发布人和发布单位
ruleForm.createUserId = userInfo.$state.id
- ruleForm.publisher = userInfo.$state.deptId
+ ruleForm.publisher = ''
+ ruleForm.publishTime = dayjs().format('YYYY-MM-DD HH:mm:ss')
// 判断有无存储
console.log(sessionStorage.getItem(fileTypeName.value), 'sess')
if (sessionStorage.getItem(fileTypeName.value)) {
@@ -207,11 +215,12 @@
// { name: '已废止', id: '1595030083114450945', value: '3' },
// ])
watch(() => ruleForm.effectiveTime, (newVal) => {
- const diffDat = dayjs(newVal).diff(dayjs().format('YYYY-MM-DD HH:mm:ss'), 'day')
+ const diffDat = dayjs(newVal).diff(dayjs().format('YYYY-MM-DD HH:mm:ss'), 'hour')
+ console.log(diffDat)
if (diffDat < 0) {
// ruleForm.effectiveStatusName = '已废止'
- effectiveStatusName.value = '已废止'
- ruleForm.effectiveStatus = '3'
+ effectiveStatusName.value = '在使用'
+ ruleForm.effectiveStatus = '1'
}
else if (diffDat == 0) {
// ruleForm.effectiveStatusName = '在使用'
@@ -269,15 +278,20 @@
-
+
+
@@ -293,7 +307,7 @@
diff --git a/src/views/measure/person/certificateLog.vue b/src/views/measure/person/certificateLog.vue
index ca26b00..2e3322a 100644
--- a/src/views/measure/person/certificateLog.vue
+++ b/src/views/measure/person/certificateLog.vue
@@ -32,13 +32,13 @@
const loadingTable = ref(false) // 表格loading
const total = ref(0) // 数据总条数
const columns = ref([
- { text: '人员编号', value: 'staffNo', align: 'center', width: '150' },
+ { text: '人员编号', value: 'staffNo', align: 'center', width: '180' },
{ text: '姓名', value: 'name', align: 'center', width: '80' },
{ text: '性别', value: 'sex', align: 'center', width: '55' },
{ text: '工作部门', value: 'deptId', align: 'center', width: '140' },
{ text: '技术职务', value: 'technologyJob', align: 'center', width: '120' },
{ text: '行政职务', value: 'administrationJob', align: 'center', width: '90' },
- { text: '证书号', value: 'certificateNo', align: 'center', width: '150' },
+ { text: '证书号', value: 'certificateNo', align: 'center' },
{ text: '发证单位', value: 'certificateCompany', align: 'center', width: '90' },
{ text: '发证日期', value: 'certificateDate', align: 'center', width: '200' },
{ text: '证书有效日期', value: 'certificateDate', align: 'center', width: '200' },
diff --git a/src/views/measure/person/components/addPerson.vue b/src/views/measure/person/components/addPerson.vue
index 9252393..4dc1b17 100644
--- a/src/views/measure/person/components/addPerson.vue
+++ b/src/views/measure/person/components/addPerson.vue
@@ -10,7 +10,7 @@
import { getDeptTreeList } from '@/api/system/dept'
import { UploadFile } from '@/api/measure/file'
import { toTreeList } from '@/utils/structure'
-import type { userType } from '@/views/system/user/user-interface'
+import type { TreeStructure, userType } from '@/views/system/user/user-interface'
import { getDictByCode } from '@/api/system/dict'
import comTreeSelect from '@/views/system/user/selecTree.vue'
import { getStaffAdd, getStaffDetail, getStaffupdate } from '@/api/measure/person'
@@ -67,7 +67,7 @@
ruleFormRef.value?.validateField('idCard').then((res) => {
// 获取生日
const IdCard = ruleForm.value.idCard
- const birthday = `${IdCard.substring(6, 10)}-${IdCard.substring(10, 12)}-${IdCard.substring(12, 14)}`
+ const birthday = `${IdCard.substring(6, 10)}-${IdCard.substring(10, 12)}`
ruleForm.value.birthday = birthday
console.log(ruleForm.value)
})
@@ -86,12 +86,14 @@
const deptProps = reactive({
parent: 'pid', value: 'id', label: 'name', children: 'children',
})
-const PubList = ref([])
+const PubList = ref([])
+const PubListTree = ref([])
// 获取组织列表
const getPubList = () => {
getDeptTreeList().then((res) => {
// 转成树结构
- PubList.value = toTreeList(res.data, '0', true)
+ PubList.value = res.data
+ PubListTree.value = toTreeList(res.data, '0', true)
})
}
const sexList = ref<{ id: string; value: string; name: string }[]>()
@@ -343,7 +345,7 @@
getTechnologyJobList()
getAdministrationJob()
if (row.title === '新建') {
- console.log()
+ // ruleForm.value.deptId = ''
}
else {
getStaffDetail({ ...row }).then((res) => {
@@ -371,7 +373,7 @@
-
-
+
+
@@ -404,20 +405,36 @@
-
+
+
+
+ 选择
+
+
+
-
-
-
-
+
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
@@ -425,82 +442,52 @@
-
+
-
-
-
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
@@ -551,6 +538,7 @@
border-radius: 8px;
padding-top: 10px;
margin-top: 10px;
+ padding-right: 10px;
}
.header {
@@ -578,6 +566,20 @@
display: none;
}
+ :deep(.el-icon.avatar-uploader-icon) {
+ font-size: 28px;
+ color: #8c939d;
+ width: 190px;
+ height: 250px;
+ text-align: center;
+ }
+
+ :deep(.avatar-uploader .avatar) {
+ width: 190px;
+ height: 250px;
+ display: block;
+ }
+
.isDetail {
::v-deep {
.el-form-item.is-required:not(.is-no-asterisk) .el-form-item__label-wrap > .el-form-item__label::before,
@@ -591,12 +593,16 @@
.marg {
margin-top: 20px;
}
+
+.marg-item {
+ margin-top: 20px;
+}
@@ -618,8 +624,8 @@
.el-icon.avatar-uploader-icon {
font-size: 28px;
color: #8c939d;
- width: 178px;
- height: 178px;
+ width: 220px;
+ height: 320px;
text-align: center;
}
diff --git a/src/views/measure/person/components/addRecord.vue b/src/views/measure/person/components/addRecord.vue
index 2928870..ae48f11 100644
--- a/src/views/measure/person/components/addRecord.vue
+++ b/src/views/measure/person/components/addRecord.vue
@@ -9,7 +9,7 @@
import { getUserList } from '@/api/system/user'
import { getDeptTreeList } from '@/api/system/dept'
import { toTreeList } from '@/utils/structure'
-import type { userType } from '@/views/system/user/user-interface'
+import type { TreeStructure, userType } from '@/views/system/user/user-interface'
import { getDictByCode } from '@/api/system/dict'
import comTreeSelect from '@/views/system/user/selecTree.vue'
import { addCertificateList, getCertificateDetail, getCertificateUpdate } from '@/api/measure/person'
@@ -59,12 +59,14 @@
const deptProps = reactive({
parent: 'pid', value: 'id', label: 'name', children: 'children',
})
-const PubList = ref([])
+const PubList = ref
([])
+const PubListTree = ref([])
// 获取组织列表
const getPubList = () => {
getDeptTreeList().then((res) => {
// 转成树结构
- PubList.value = toTreeList(res.data, '0', true)
+ PubList.value = res.data
+ PubListTree.value = toTreeList(res.data, '0', true)
})
}
const sexList = ref<{ id: string; value: string; name: string }[]>()
@@ -330,7 +332,13 @@
-
+
+
+
+ 选择
+
+
+
@@ -377,10 +385,12 @@
-
+
+
+
diff --git a/src/views/measure/person/components/personListDialog.vue b/src/views/measure/person/components/personListDialog.vue
index 952da9d..5e20d1b 100644
--- a/src/views/measure/person/components/personListDialog.vue
+++ b/src/views/measure/person/components/personListDialog.vue
@@ -1,6 +1,6 @@
diff --git a/src/views/measure/source/components/listPage.vue b/src/views/measure/source/components/listPage.vue
index a9c9509..70a3518 100644
--- a/src/views/measure/source/components/listPage.vue
+++ b/src/views/measure/source/components/listPage.vue
@@ -17,6 +17,7 @@
default: () => [],
},
})
+const emit = defineEmits(['setData']) // 关闭
// 查询条件
const listQuery: Ref = ref({
supplierNo: '', // 业务内容
@@ -28,53 +29,63 @@
// 控制是否显示新增页面
const show = ref(true)
// 表格数据
-const list = ref([])
+const list = ref([
+ { name: '张三' },
+])
// 总数
-const total = ref(20)
+const total = ref(0)
// 表头
const columns = ref([
{
text: '溯源供方编号',
- value: 'supplierNo',
- width: '160',
+ value: 'name',
+ width: '120',
+ align: 'center',
},
{
text: '溯源供方名称',
- value: 'supplierName',
+ value: 'name',
width: '120',
+ align: 'center',
},
{
text: '业务内容',
- value: 'businessContent',
+ value: 'name',
+ align: 'center',
},
{
text: '业务资质',
- value: 'briefName',
+ value: 'name',
+ align: 'center',
},
{
text: '负责人',
- value: 'director',
+ value: 'name',
+ align: 'center',
},
{
text: '联系方式',
- value: 'mobile',
+ value: 'name',
+ align: 'center',
},
{
text: '地址',
- value: 'companyCity',
+ value: 'name',
+ align: 'center',
},
{
text: '创建时间',
- value: 'createTime',
- width: '200',
+ value: 'name',
+ align: 'center',
},
{
text: '备注',
- value: 'remark',
+ value: 'name',
+ align: 'center',
},
])
-const buttonArray = ref([])
+const buttonArray = ref([])
// 选中的内容
const checkoutList = ref([])
// 文件上传input
@@ -98,20 +109,24 @@
loadingTable.value = false
})
}
-fetchData(true)
// 多选发生改变时
const handleSelectionChange = (e: any) => {
checkoutList.value = e
}
+// 点击删除和编辑的参数类型
+interface rowReturn {
+ id: string
+ supplierName: string
+}
// 点击编辑/详情
-const handleEdit = (index: string, row: object, value: string) => {
+const handleEdit = (index: string, row: rowReturn, value: string) => {
buttonArray.value = ['同意', '驳回', '拒绝']
buttonType.value = value
infoId.value = row.id
show.value = false
}
// 点击删除
-const handleDelete = (index: string, row: object) => {
+const handleDelete = (index: string, row: rowReturn) => {
ElMessageBox.confirm(
`确认删除${row.supplierName}吗?`,
'提示',
@@ -153,7 +168,7 @@
// 关闭编辑
const close = () => {
show.value = true
- fetchData(true)
+ // fetchData(true)
}
// 导出
const exportExcelBtn = () => {
@@ -218,30 +233,24 @@
upload()
}
const add = () => {
+ buttonArray.value = ['提交', '保存']
buttonType.value = ''
show.value = false
}
const exportAll = () => {
exportExcelBtn()
}
+watch(() => show.value, (newVal) => {
+// 变化后存储
+ emit('setData', newVal)
+},
+{ deep: true, immediate: true })
// 打印
const printObj = ref({
id: 'print', // 需要打印元素的id
popTitle: '溯源供方编号模板', // 打印配置页上方的标题
extraHead: '', // 最上方的头部文字,附加在head标签上的额外标签,使用逗号分割
preview: false, // 是否启动预览模式,默认是false
- previewBeforeOpenCallback() { console.log('正在加载预览窗口!') }, // 预览窗口打开之前的callback
- previewOpenCallback() { console.log('已经加载完预览窗口,预览打开了!') }, // 预览窗口打开时的callback
- beforeOpenCallback() { console.log('开始打印之前!') }, // 开始打印之前的callback
- openCallback() { console.log('执行打印了!') }, // 调用打印时的callback
- closeCallback() { console.log('关闭了打印工具!') }, // 关闭打印的callback(无法区分确认or取消)
- clickMounted() { console.log('点击v-print绑定的按钮了!') },
- // url: 'http://localhost:8080/', // 打印指定的URL,确保同源策略相同
- // asyncUrl (reslove) {
- // setTimeout(() => {
- // reslove('http://localhost:8080/')
- // }, 2000)
- // },
standard: '',
extarCss: '',
})
@@ -285,15 +294,9 @@
-
- 新建
-
-
- 导出
-
-
- 打印
-
+
+
+
-
- 批量导入
-
-
- 模板下载
-
-
- 新建
-
-
- 导出
-
-
- 打印
-
+
+
+
+
+
-
+
diff --git a/src/views/device/standardEquipment/components/listApply/all.vue b/src/views/device/standardEquipment/components/listApply/all.vue
new file mode 100644
index 0000000..d124307
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/all.vue
@@ -0,0 +1,17 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/approvalPending.vue b/src/views/device/standardEquipment/components/listApply/approvalPending.vue
new file mode 100644
index 0000000..8a7a8bc
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/approvalPending.vue
@@ -0,0 +1,16 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/canceled.vue b/src/views/device/standardEquipment/components/listApply/canceled.vue
new file mode 100644
index 0000000..3b9657c
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/canceled.vue
@@ -0,0 +1,15 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/draftBox.vue b/src/views/device/standardEquipment/components/listApply/draftBox.vue
new file mode 100644
index 0000000..43d7b75
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/draftBox.vue
@@ -0,0 +1,15 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue b/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue
new file mode 100644
index 0000000..c13f95a
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue
@@ -0,0 +1,17 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/listPage.vue b/src/views/device/standardEquipment/components/listApply/listPage.vue
new file mode 100644
index 0000000..5133627
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/listPage.vue
@@ -0,0 +1,493 @@
+
+
+
+
+
+
+
+
+
+
+
+ 同意
+
+
+ 驳回
+
+
+ 拒绝
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 提交
+
+
+ 取消
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/listPageAdd.vue b/src/views/device/standardEquipment/components/listApply/listPageAdd.vue
new file mode 100644
index 0000000..eb506ec
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/listPageAdd.vue
@@ -0,0 +1,1021 @@
+
+
+
+
+
+
+ 基本信息
+
+
+
+ {{ item }}
+
+
+ 关闭
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 上传
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 完成
+
+
+
+
+
+
+
+ 同意
+
+
+ 驳回
+
+
+ 拒绝
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 提交
+
+
+ 取消
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/notPass.vue b/src/views/device/standardEquipment/components/listApply/notPass.vue
new file mode 100644
index 0000000..5a4b817
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/notPass.vue
@@ -0,0 +1,10 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/passed.vue b/src/views/device/standardEquipment/components/listApply/passed.vue
new file mode 100644
index 0000000..31cd21c
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/passed.vue
@@ -0,0 +1,10 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/addRow.vue b/src/views/device/standardEquipment/components/standardList/addRow.vue
new file mode 100644
index 0000000..9f2bf81
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/addRow.vue
@@ -0,0 +1,270 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/baseInfo.vue b/src/views/device/standardEquipment/components/standardList/baseInfo.vue
new file mode 100644
index 0000000..c47ad1d
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/baseInfo.vue
@@ -0,0 +1,675 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 上传
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/temptable.vue b/src/views/device/standardEquipment/components/standardList/temptable.vue
new file mode 100644
index 0000000..20eb800
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/temptable.vue
@@ -0,0 +1,387 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ (searchQuery.offset - 1) * searchQuery.limit + scope.$index + 1 }}
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardListAdd.vue b/src/views/device/standardEquipment/components/standardListAdd.vue
index ea13629..348bb41 100644
--- a/src/views/device/standardEquipment/components/standardListAdd.vue
+++ b/src/views/device/standardEquipment/components/standardListAdd.vue
@@ -3,6 +3,8 @@
import { ElMessage, ElMessageBox } from 'element-plus'
import type { FormInstance, UploadProps, UploadUserFile } from 'element-plus'
import type { IOptions } from '../standard_interface'
+import baseInfo from './standardList/baseInfo.vue'
+import table from './standardList/temptable.vue'
import { getStaffList } from '@/api/measure/person'
import { getTypeSelect } from '@/api/system/price'
import { getStandardLisUpdate, getStandardListAdd, getStandardListDetail, getUsersDept } from '@/api/device/standard'
@@ -17,188 +19,35 @@
default: '',
},
})
-const emit = defineEmits(['close']) // 关闭
-const ruleFormRef = ref()
-// 逻辑代码
-const formInline = ref({
- assessDate: '',
- assessmentUnit: '',
- category: null,
- categoryName: '',
- constructionStandardProject: '',
- constructionStandardUnitName: '',
- contactInfo: '',
- createTime: null,
- createUser: null,
- id: '',
- isDel: null,
- laboratoryOwner: null,
- laboratoryOwnerContact: null,
- laboratoryOwnerName: null,
- managerState: null,
- managerStateName: '',
- measureMajor: null,
- fileList: [],
- measureMajorName: '',
- mesureRange: '',
- organizeNo: '',
- preparationDate: '',
- projectNo: '',
- remark: '',
- standardHumidity: null,
- standardLaboratory: null,
- standardLaboratoryName: '',
- standardLevel: null,
- standardLevelName: '',
- standardName: '',
- standardNo: '',
- standardOwner: null,
- standardOwnerName: '',
- standardTemperature: null,
- totalInvestment: null,
- transmitRange: null,
- transmitRangeName: '',
- uncertainty: '',
- updateTime: null,
- version: null,
-})
-const checkTypeOptions = ref([])
-
-const standardOwnerOptions = ref([]) // 标准负责人
-const fileList = ref([]) // 文件对象数组
-const measureMajorList = ref([]) // 计量专业下拉框
-const standardManagerStateList = ref([]) // 管理状态下拉框
-const standardLevelList = ref([]) // 标准等级下拉框
-const transmitRangeList = ref([]) // 传递范围下拉框
-// 标准所在部门下拉框
-const standardUsersDeptList = ref([])
-// 获取下拉框
-const getSelectList = (code: string) => {
- getTypeSelect(code).then((res) => {
- if (code === 'measureMajor') {
- measureMajorList.value = res.data
- }
- else if (code === 'standardManagerState') {
- standardManagerStateList.value = res.data
- }
- else if (code === 'standardLevel') {
- standardLevelList.value = res.data
- }
- else if (code === 'transmitRange') {
- transmitRangeList.value = res.data
- }
- else if (code === 'standardCategory') {
- checkTypeOptions.value = res.data
- }
- })
+const emit = defineEmits(['close'])
+// 定义数据
+const formInline = ref({})
+// 关闭
+interface menuType {
+ name: string
+ comp: any
}
-getSelectList('measureMajor') // 获取计量专业下拉框
-getSelectList('standardManagerState') // 获取管理状态下拉框
-getSelectList('standardLevel') // 获取标准等级下拉框
-getSelectList('transmitRange') // 获取传递范围下拉框
-getSelectList('standardCategory') // 获取类别下拉框
-// 获取部门信息
-getUsersDept({
- createTime: '',
- director: '',
- meterMajor: '',
- organizeName: '',
- organizeNo: '',
- organizeType: '2',
- pdeptId: null,
- offset: 1,
- limit: 999999,
-}).then((res) => {
- standardUsersDeptList.value = res.data.rows
+const menu = shallowRef([
+ { name: '基本信息', comp: baseInfo },
+ { name: '计量人员', comp: table },
+ { name: '标准配套设备', comp: table },
+ { name: '检定规程', comp: table },
+ { name: '重复性考核记录', comp: table },
+ { name: '稳定性考核记录', comp: table },
+ { name: '证书管理', comp: table },
+])
+const currentCompRef = ref()
+const current = ref('基本信息')
+const currentComp = shallowRef(baseInfo)
+watch(current, (newValue) => {
+ currentComp.value = menu.value.filter(item => item.name === newValue)[0].comp
})
-// 获取到标准负责人数组
-const getStandardOwnerOptions = () => {
- const params = {
- staffNo: '', // 人员编号
- name: '', // 姓名
- deptId: '', // 工作部门
- major: '', // 计量专业
- verifierCertificateNo: '', // 证书号
- certificateStatus: '', // 证书状态
- limit: 100000,
- offset: 1,
- }
- getStaffList(params).then((res) => {
- standardOwnerOptions.value = res.data.records
- })
-}
-getStandardOwnerOptions()
// 关闭
const close = () => {
emit('close')
}
-const rules = ref({
- standardName: [{ required: true, message: '标准名称不能为空', trigger: 'blur' }],
- projectNo: [{ required: true, message: '项目编号不能为空', trigger: 'blur' }],
- constructionStandardProject: [{ required: true, message: '建标项目不能为空', trigger: 'blur' }],
- organizeNo: [{ required: true, message: '组织机构代码不能为空', trigger: 'blur' }],
- constructionStandardUnitName: [{ required: true, message: '建标单位名称不能为空', trigger: 'blur' }],
- standardOwner: [{ required: true, message: '标准负责人不能为空', trigger: 'blur' }],
- contactInfo: [{ required: true, message: '联系方式不能为空', trigger: 'blur' }],
- category: [{ required: true, message: '类 别不能为空', trigger: 'blur' }],
- standardLevel: [{ required: true, message: '标准等级不能为空', trigger: 'blur' }],
- transmitRange: [{ required: true, message: '传递范围不能为空', trigger: 'blur' }],
- preparationDate: [{ required: true, message: '筹建日期不能为空', trigger: 'blur' }],
- managerState: [{ required: true, message: '管理状态不能为空', trigger: 'blur' }],
- measureMajor: [{ required: true, message: '计量专业不能为空', trigger: 'blur' }],
- assessmentUnit: [{ required: true, message: '考核单位不能为空', trigger: 'blur' }],
- assessDate: [{ required: true, message: '考核日期不能为空', trigger: 'blur' }],
- uncertainty: [{ required: true, message: '不确定度不能为空', trigger: 'blur' }],
- mesureRange: [{ required: true, message: '测量范围不能为空', trigger: 'blur' }],
- standardTemperature: [{ required: true, message: '标准温度不能为空', trigger: 'blur' },
- { pattern: /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/, message: '标准温度只能为数字', trigger: 'blur' }],
- standardHumidity: [{ required: true, message: '标准湿度不能为空', trigger: 'blur' },
- { pattern: /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/, message: '标准湿度只能为数字', trigger: 'blur' }],
-}) // 表单验证规则
-// 上传请求
-const uploadQuarterlyEvaluateFile = (file: File) => {
- const fd = new FormData()
- fd.append('multipartFile', file.file)
- UploadFile(fd).then((res) => {
- if (res.code === 200) {
- formInline.value.fileList = res.data
- // 重置当前验证
- ElMessage.success('文件上传成功')
- }
- })
-}
-const handleExceed: UploadProps['onExceed'] = (files, uploadFiles) => {
- ElMessage.warning('只能上传一个文件')
-}
-// 移除时触发
-const beforeRemove: UploadProps['beforeRemove'] = (uploadFile, uploadFiles) => {
- return ElMessageBox.confirm(
- `确认移除${uploadFile.name}文件吗 ?`,
- ).then(
- () => true,
- () => false,
-
- )
-}
-// 点击文件预览
-const uploadShow = (e: any) => {
- const URL = window.URL || window.webkitURL
- window.open(URL.createObjectURL(e.raw))
-}
-const testForm = ref({
- fileList: [],
- fileContent: '',
-})
-const handleFileChange = (files: any, fileList: any) => {
- testForm.value.fileList = fileList
- const reader = new FileReader()
- reader.readAsText(files.raw)
- // reader.onload = (e) => {
- // testForm.value.fileContent = e.target!.result?.replace(
- // /\n|\r\n/g,
- // '
',
- // )
- // }
+const setData = (newValue: object) => {
+ formInline.value = newValue
}
// 编辑获取详情的提交按钮
const submitFormDetail = () => {
@@ -223,60 +72,29 @@
}
}
// 提交
-const submitForm = (formEl: FormInstance | undefined) => {
- if (!formEl) { return }
+const submitForm = () => {
if (props.buttonType === '详情') { return submitFormDetail() }
- formEl.validate((valid, fields) => {
- if (valid) {
- ElMessageBox.confirm(
- '确认提交吗?',
- '提示',
- {
- confirmButtonText: '确认',
- cancelButtonText: '取消',
- type: 'warning',
- },
- ).then(() => {
- props.buttonType === ''
- ? getStandardListAdd(formInline.value).then((res) => {
- if (res.code === 200) {
- close()
- }
- })
- : submitFormDetail()
- })
- }
- })
-}
-// 标准实验室发生改变row类型
-interface rowReturn {
- phone: string
- director: string
-}
-// 标准实验室发生改变
-const changeDeptList = (row: object) => {
- formInline.value.laboratoryOwnerContact = row.phone
- formInline.value.laboratoryOwner = row.director
-}
-// 标准实验室清空时
-const clearDeptList = () => {
- formInline.value.laboratoryOwnerContact = null
- formInline.value.laboratoryOwner = null
-}
-// 获取详情信息
-const getInfo = () => {
- getStandardListDetail({ id: props.infoId }).then((res) => {
- Object.keys(res.data).map((item) => {
- if (typeof (res.data[item]) === 'number') {
- res.data[item] = res.data[item].toString()
- }
+ ElMessageBox.confirm(
+ '确认提交吗?',
+ '提示',
+ {
+ confirmButtonText: '确认',
+ cancelButtonText: '取消',
+ type: 'warning',
+ },
+ ).then(() => {
+ current.value = '基本信息'
+ currentCompRef.value.submitForm().validate().then(() => {
+ props.buttonType === ''
+ ? getStandardListAdd(formInline.value).then((res) => {
+ if (res.code === 200) {
+ close()
+ }
+ })
+ : submitFormDetail()
})
- formInline.value = res.data
})
}
-if (props.buttonType !== '') {
- getInfo()
-}
@@ -289,7 +107,7 @@
{{ buttonType === '详情' ? '打印' : '提交' }}
@@ -298,405 +116,17 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 上传
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
@@ -719,14 +149,8 @@
}
}
-.info-content {
- margin-top: 10px;
- padding: 30px;
- border-radius: 10px;
+.body {
background-color: #fff;
-}
-
-:deep .el-input .el-input--default .el-input--suffix {
- width: 200px !important;
+ margin-top: 10px;
}
diff --git a/src/views/device/standardEquipment/expirationRemind.vue b/src/views/device/standardEquipment/expirationRemind.vue
index 35786b2..1826c22 100644
--- a/src/views/device/standardEquipment/expirationRemind.vue
+++ b/src/views/device/standardEquipment/expirationRemind.vue
@@ -26,39 +26,47 @@
text: '标准代码',
value: 'standardNo',
width: '160',
+ align: 'center',
},
{
text: '标准名称',
value: 'standardName',
width: '90',
+ align: 'center',
},
{
text: '管理状态',
value: 'managerStateName',
width: '100',
+ align: 'center',
},
{
text: '标准所在部门',
value: 'standardLaboratoryName',
width: '120',
+ align: 'center',
},
{
text: '负责人',
value: 'standardOwnerName',
+ align: 'center',
},
{
text: '建标项目',
value: 'standardOwnerName',
+ align: 'center',
},
{
text: '筹建日期',
value: 'preparationDate',
width: '160',
+ align: 'center',
},
{
text: '有效日期',
value: 'preparationDate',
width: '160',
+ align: 'center',
},
])
const total = ref(0)
@@ -326,12 +334,8 @@
-
- 导出
-
-
- 打印
-
+
+
- 编辑
+ 详情
- 详情
+ 提醒
+import applyList from './components/applyList.vue'
// 逻辑代码
- 暂停申请
+
diff --git a/src/views/device/standardEquipment/resumeApply.vue b/src/views/device/standardEquipment/resumeApply.vue
index d4a80e8..b5896fc 100644
--- a/src/views/device/standardEquipment/resumeApply.vue
+++ b/src/views/device/standardEquipment/resumeApply.vue
@@ -1,10 +1,11 @@
- 恢复申请
+
diff --git a/src/views/device/standardEquipment/standardList.vue b/src/views/device/standardEquipment/standardList.vue
index 4f1bfdf..348ed71 100644
--- a/src/views/device/standardEquipment/standardList.vue
+++ b/src/views/device/standardEquipment/standardList.vue
@@ -29,50 +29,60 @@
text: '标准代码',
value: 'standardNo',
width: '120',
+ align: 'center',
},
{
text: '标准名称',
value: 'standardName',
width: '90',
+ align: 'center',
},
{
text: '类别',
value: 'categoryName',
width: '80',
+ align: 'center',
},
{
text: '标准等级',
value: 'standardLevelName',
width: '100',
+ align: 'center',
},
{
text: '传递范围',
value: 'transmitRange',
width: '110',
+ align: 'center',
},
{
text: '管理状态',
value: 'managerStateName',
width: '100',
+ align: 'center',
},
{
text: '标准所在部门',
value: 'standardLaboratoryName',
width: '120',
+ align: 'center',
},
{
text: '负责人',
value: 'laboratoryOwner',
+ align: 'center',
},
{
text: '筹建日期',
value: 'preparationDate',
width: '110',
+ align: 'center',
},
{
text: '备注',
value: 'remark',
width: '80',
+ align: 'center',
},
])
const total = ref(0)
@@ -250,6 +260,9 @@
buttonType.value = text
isShow.value = false
}
+const renderHeader = (e: any) => {
+ console.log(e)
+}
@@ -330,19 +343,13 @@
-
- 新建
-
-
- 导出
-
-
- 打印
-
+
+
+
diff --git a/src/views/device/stateManage/components/approvalActionDialog.vue b/src/views/device/stateManage/components/approvalActionDialog.vue
index cdc9b25..56417d6 100644
--- a/src/views/device/stateManage/components/approvalActionDialog.vue
+++ b/src/views/device/stateManage/components/approvalActionDialog.vue
@@ -1,10 +1,13 @@
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/cancel.vue b/src/views/device/stateManage/components/status/cancel.vue
new file mode 100644
index 0000000..ecb2d0c
--- /dev/null
+++ b/src/views/device/stateManage/components/status/cancel.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/drafts.vue b/src/views/device/stateManage/components/status/drafts.vue
new file mode 100644
index 0000000..226ba21
--- /dev/null
+++ b/src/views/device/stateManage/components/status/drafts.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/inApproval.vue b/src/views/device/stateManage/components/status/inApproval.vue
new file mode 100644
index 0000000..4988595
--- /dev/null
+++ b/src/views/device/stateManage/components/status/inApproval.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/passed.vue b/src/views/device/stateManage/components/status/passed.vue
new file mode 100644
index 0000000..ab87daf
--- /dev/null
+++ b/src/views/device/stateManage/components/status/passed.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/pending.vue b/src/views/device/stateManage/components/status/pending.vue
new file mode 100644
index 0000000..3e0b315
--- /dev/null
+++ b/src/views/device/stateManage/components/status/pending.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/unPassed.vue b/src/views/device/stateManage/components/status/unPassed.vue
new file mode 100644
index 0000000..8de700e
--- /dev/null
+++ b/src/views/device/stateManage/components/status/unPassed.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/templateAdd.vue b/src/views/device/stateManage/components/templateAdd.vue
index 9c4da0f..fc364c8 100644
--- a/src/views/device/stateManage/components/templateAdd.vue
+++ b/src/views/device/stateManage/components/templateAdd.vue
@@ -381,10 +381,10 @@
-
+
diff --git a/src/views/device/stateManage/components/templateList.vue b/src/views/device/stateManage/components/templateList.vue
index 6ee2e8c..aa3963f 100644
--- a/src/views/device/stateManage/components/templateList.vue
+++ b/src/views/device/stateManage/components/templateList.vue
@@ -8,6 +8,10 @@
type: String,
default: '',
},
+ title: {
+ type: String,
+ default: '',
+ },
})
// import { exportFile } from '@/utils/exportUtils'
// const { proxy } = getCurrentInstance() as any
@@ -179,15 +183,23 @@
// 同意
const agree = (row) => {
console.log(approveRef.value)
- approveRef.value.initDialog()
+ approveRef.value.initDialog({
+ radio: '1',
+ })
}
// 驳回
const reject = (row) => {
- approveRef.value.initDialog()
+ approveRef.value.initDialog({
+ radio: '3',
+ })
}
// 拒绝
const refuse = (row) => {
- approveRef.value.initDialog()
+ approveRef.value.initDialog(
+ {
+ radio: '2',
+ },
+ )
}
// 取消
const cancel = (row) => {
diff --git a/src/views/device/stateManage/components/templatePage.vue b/src/views/device/stateManage/components/templatePage.vue
index 5fb0163..fce7685 100644
--- a/src/views/device/stateManage/components/templatePage.vue
+++ b/src/views/device/stateManage/components/templatePage.vue
@@ -1,6 +1,12 @@
- 设备处置申请
+
diff --git a/src/views/device/stateManage/openApply.vue b/src/views/device/stateManage/openApply.vue
index 3c43781..35c2af6 100644
--- a/src/views/device/stateManage/openApply.vue
+++ b/src/views/device/stateManage/openApply.vue
@@ -1,13 +1,14 @@
- 设备启封申请
+
+
diff --git a/src/views/device/stateManage/scrapApply.vue b/src/views/device/stateManage/scrapApply.vue
index 7bd1a98..282ecd8 100644
--- a/src/views/device/stateManage/scrapApply.vue
+++ b/src/views/device/stateManage/scrapApply.vue
@@ -1,10 +1,10 @@
- 设备报废申请
+
diff --git a/src/views/device/stateManage/sealupApply.vue b/src/views/device/stateManage/sealupApply.vue
index ec6320b..1c8544d 100644
--- a/src/views/device/stateManage/sealupApply.vue
+++ b/src/views/device/stateManage/sealupApply.vue
@@ -1,10 +1,10 @@
- 设备封存申请
+
diff --git a/src/views/measure/bench/bench.vue b/src/views/measure/bench/bench.vue
index cb2ebe6..380779a 100644
--- a/src/views/measure/bench/bench.vue
+++ b/src/views/measure/bench/bench.vue
@@ -175,7 +175,7 @@
v-if="proxy.hasPerm('/workbench/meterTrain/line')"
title="培训计划"
width="27.8vw"
- height="40vh"
+ height="40.7vh"
>
([])
+const PubListTree = ref([])
// 获取发布单位列表
const getPubList = () => {
getDeptTreeList().then((res) => {
PubList.value = res.data
+ PubListTree.value = toTreeList(res.data, '0', true)
})
}
// 弹窗初始化
@@ -73,7 +80,8 @@
if (row.title === '新建') {
// 默认发布人和发布单位
ruleForm.createUserId = userInfo.$state.id
- ruleForm.publisher = userInfo.$state.deptId
+ ruleForm.publisher = ''
+ ruleForm.publishTime = dayjs().format('YYYY-MM-DD HH:mm:ss')
// 判断有无存储
console.log(sessionStorage.getItem(fileTypeName.value), 'sess')
if (sessionStorage.getItem(fileTypeName.value)) {
@@ -207,11 +215,12 @@
// { name: '已废止', id: '1595030083114450945', value: '3' },
// ])
watch(() => ruleForm.effectiveTime, (newVal) => {
- const diffDat = dayjs(newVal).diff(dayjs().format('YYYY-MM-DD HH:mm:ss'), 'day')
+ const diffDat = dayjs(newVal).diff(dayjs().format('YYYY-MM-DD HH:mm:ss'), 'hour')
+ console.log(diffDat)
if (diffDat < 0) {
// ruleForm.effectiveStatusName = '已废止'
- effectiveStatusName.value = '已废止'
- ruleForm.effectiveStatus = '3'
+ effectiveStatusName.value = '在使用'
+ ruleForm.effectiveStatus = '1'
}
else if (diffDat == 0) {
// ruleForm.effectiveStatusName = '在使用'
@@ -269,15 +278,20 @@
-
+
+
@@ -293,7 +307,7 @@
diff --git a/src/views/measure/person/certificateLog.vue b/src/views/measure/person/certificateLog.vue
index ca26b00..2e3322a 100644
--- a/src/views/measure/person/certificateLog.vue
+++ b/src/views/measure/person/certificateLog.vue
@@ -32,13 +32,13 @@
const loadingTable = ref(false) // 表格loading
const total = ref(0) // 数据总条数
const columns = ref([
- { text: '人员编号', value: 'staffNo', align: 'center', width: '150' },
+ { text: '人员编号', value: 'staffNo', align: 'center', width: '180' },
{ text: '姓名', value: 'name', align: 'center', width: '80' },
{ text: '性别', value: 'sex', align: 'center', width: '55' },
{ text: '工作部门', value: 'deptId', align: 'center', width: '140' },
{ text: '技术职务', value: 'technologyJob', align: 'center', width: '120' },
{ text: '行政职务', value: 'administrationJob', align: 'center', width: '90' },
- { text: '证书号', value: 'certificateNo', align: 'center', width: '150' },
+ { text: '证书号', value: 'certificateNo', align: 'center' },
{ text: '发证单位', value: 'certificateCompany', align: 'center', width: '90' },
{ text: '发证日期', value: 'certificateDate', align: 'center', width: '200' },
{ text: '证书有效日期', value: 'certificateDate', align: 'center', width: '200' },
diff --git a/src/views/measure/person/components/addPerson.vue b/src/views/measure/person/components/addPerson.vue
index 9252393..4dc1b17 100644
--- a/src/views/measure/person/components/addPerson.vue
+++ b/src/views/measure/person/components/addPerson.vue
@@ -10,7 +10,7 @@
import { getDeptTreeList } from '@/api/system/dept'
import { UploadFile } from '@/api/measure/file'
import { toTreeList } from '@/utils/structure'
-import type { userType } from '@/views/system/user/user-interface'
+import type { TreeStructure, userType } from '@/views/system/user/user-interface'
import { getDictByCode } from '@/api/system/dict'
import comTreeSelect from '@/views/system/user/selecTree.vue'
import { getStaffAdd, getStaffDetail, getStaffupdate } from '@/api/measure/person'
@@ -67,7 +67,7 @@
ruleFormRef.value?.validateField('idCard').then((res) => {
// 获取生日
const IdCard = ruleForm.value.idCard
- const birthday = `${IdCard.substring(6, 10)}-${IdCard.substring(10, 12)}-${IdCard.substring(12, 14)}`
+ const birthday = `${IdCard.substring(6, 10)}-${IdCard.substring(10, 12)}`
ruleForm.value.birthday = birthday
console.log(ruleForm.value)
})
@@ -86,12 +86,14 @@
const deptProps = reactive({
parent: 'pid', value: 'id', label: 'name', children: 'children',
})
-const PubList = ref([])
+const PubList = ref([])
+const PubListTree = ref([])
// 获取组织列表
const getPubList = () => {
getDeptTreeList().then((res) => {
// 转成树结构
- PubList.value = toTreeList(res.data, '0', true)
+ PubList.value = res.data
+ PubListTree.value = toTreeList(res.data, '0', true)
})
}
const sexList = ref<{ id: string; value: string; name: string }[]>()
@@ -343,7 +345,7 @@
getTechnologyJobList()
getAdministrationJob()
if (row.title === '新建') {
- console.log()
+ // ruleForm.value.deptId = ''
}
else {
getStaffDetail({ ...row }).then((res) => {
@@ -371,7 +373,7 @@
-
-
+
+
@@ -404,20 +405,36 @@
-
+
+
+
+ 选择
+
+
+
-
-
-
-
+
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
@@ -425,82 +442,52 @@
-
+
-
-
-
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
@@ -551,6 +538,7 @@
border-radius: 8px;
padding-top: 10px;
margin-top: 10px;
+ padding-right: 10px;
}
.header {
@@ -578,6 +566,20 @@
display: none;
}
+ :deep(.el-icon.avatar-uploader-icon) {
+ font-size: 28px;
+ color: #8c939d;
+ width: 190px;
+ height: 250px;
+ text-align: center;
+ }
+
+ :deep(.avatar-uploader .avatar) {
+ width: 190px;
+ height: 250px;
+ display: block;
+ }
+
.isDetail {
::v-deep {
.el-form-item.is-required:not(.is-no-asterisk) .el-form-item__label-wrap > .el-form-item__label::before,
@@ -591,12 +593,16 @@
.marg {
margin-top: 20px;
}
+
+.marg-item {
+ margin-top: 20px;
+}
@@ -618,8 +624,8 @@
.el-icon.avatar-uploader-icon {
font-size: 28px;
color: #8c939d;
- width: 178px;
- height: 178px;
+ width: 220px;
+ height: 320px;
text-align: center;
}
diff --git a/src/views/measure/person/components/addRecord.vue b/src/views/measure/person/components/addRecord.vue
index 2928870..ae48f11 100644
--- a/src/views/measure/person/components/addRecord.vue
+++ b/src/views/measure/person/components/addRecord.vue
@@ -9,7 +9,7 @@
import { getUserList } from '@/api/system/user'
import { getDeptTreeList } from '@/api/system/dept'
import { toTreeList } from '@/utils/structure'
-import type { userType } from '@/views/system/user/user-interface'
+import type { TreeStructure, userType } from '@/views/system/user/user-interface'
import { getDictByCode } from '@/api/system/dict'
import comTreeSelect from '@/views/system/user/selecTree.vue'
import { addCertificateList, getCertificateDetail, getCertificateUpdate } from '@/api/measure/person'
@@ -59,12 +59,14 @@
const deptProps = reactive({
parent: 'pid', value: 'id', label: 'name', children: 'children',
})
-const PubList = ref([])
+const PubList = ref
([])
+const PubListTree = ref([])
// 获取组织列表
const getPubList = () => {
getDeptTreeList().then((res) => {
// 转成树结构
- PubList.value = toTreeList(res.data, '0', true)
+ PubList.value = res.data
+ PubListTree.value = toTreeList(res.data, '0', true)
})
}
const sexList = ref<{ id: string; value: string; name: string }[]>()
@@ -330,7 +332,13 @@
-
+
+
+
+ 选择
+
+
+
@@ -377,10 +385,12 @@
-
+
+
+
diff --git a/src/views/measure/person/components/personListDialog.vue b/src/views/measure/person/components/personListDialog.vue
index 952da9d..5e20d1b 100644
--- a/src/views/measure/person/components/personListDialog.vue
+++ b/src/views/measure/person/components/personListDialog.vue
@@ -1,6 +1,6 @@
diff --git a/src/views/measure/source/components/listPage.vue b/src/views/measure/source/components/listPage.vue
index a9c9509..70a3518 100644
--- a/src/views/measure/source/components/listPage.vue
+++ b/src/views/measure/source/components/listPage.vue
@@ -17,6 +17,7 @@
default: () => [],
},
})
+const emit = defineEmits(['setData']) // 关闭
// 查询条件
const listQuery: Ref = ref({
supplierNo: '', // 业务内容
@@ -28,53 +29,63 @@
// 控制是否显示新增页面
const show = ref(true)
// 表格数据
-const list = ref([])
+const list = ref([
+ { name: '张三' },
+])
// 总数
-const total = ref(20)
+const total = ref(0)
// 表头
const columns = ref([
{
text: '溯源供方编号',
- value: 'supplierNo',
- width: '160',
+ value: 'name',
+ width: '120',
+ align: 'center',
},
{
text: '溯源供方名称',
- value: 'supplierName',
+ value: 'name',
width: '120',
+ align: 'center',
},
{
text: '业务内容',
- value: 'businessContent',
+ value: 'name',
+ align: 'center',
},
{
text: '业务资质',
- value: 'briefName',
+ value: 'name',
+ align: 'center',
},
{
text: '负责人',
- value: 'director',
+ value: 'name',
+ align: 'center',
},
{
text: '联系方式',
- value: 'mobile',
+ value: 'name',
+ align: 'center',
},
{
text: '地址',
- value: 'companyCity',
+ value: 'name',
+ align: 'center',
},
{
text: '创建时间',
- value: 'createTime',
- width: '200',
+ value: 'name',
+ align: 'center',
},
{
text: '备注',
- value: 'remark',
+ value: 'name',
+ align: 'center',
},
])
-const buttonArray = ref([])
+const buttonArray = ref([])
// 选中的内容
const checkoutList = ref([])
// 文件上传input
@@ -98,20 +109,24 @@
loadingTable.value = false
})
}
-fetchData(true)
// 多选发生改变时
const handleSelectionChange = (e: any) => {
checkoutList.value = e
}
+// 点击删除和编辑的参数类型
+interface rowReturn {
+ id: string
+ supplierName: string
+}
// 点击编辑/详情
-const handleEdit = (index: string, row: object, value: string) => {
+const handleEdit = (index: string, row: rowReturn, value: string) => {
buttonArray.value = ['同意', '驳回', '拒绝']
buttonType.value = value
infoId.value = row.id
show.value = false
}
// 点击删除
-const handleDelete = (index: string, row: object) => {
+const handleDelete = (index: string, row: rowReturn) => {
ElMessageBox.confirm(
`确认删除${row.supplierName}吗?`,
'提示',
@@ -153,7 +168,7 @@
// 关闭编辑
const close = () => {
show.value = true
- fetchData(true)
+ // fetchData(true)
}
// 导出
const exportExcelBtn = () => {
@@ -218,30 +233,24 @@
upload()
}
const add = () => {
+ buttonArray.value = ['提交', '保存']
buttonType.value = ''
show.value = false
}
const exportAll = () => {
exportExcelBtn()
}
+watch(() => show.value, (newVal) => {
+// 变化后存储
+ emit('setData', newVal)
+},
+{ deep: true, immediate: true })
// 打印
const printObj = ref({
id: 'print', // 需要打印元素的id
popTitle: '溯源供方编号模板', // 打印配置页上方的标题
extraHead: '', // 最上方的头部文字,附加在head标签上的额外标签,使用逗号分割
preview: false, // 是否启动预览模式,默认是false
- previewBeforeOpenCallback() { console.log('正在加载预览窗口!') }, // 预览窗口打开之前的callback
- previewOpenCallback() { console.log('已经加载完预览窗口,预览打开了!') }, // 预览窗口打开时的callback
- beforeOpenCallback() { console.log('开始打印之前!') }, // 开始打印之前的callback
- openCallback() { console.log('执行打印了!') }, // 调用打印时的callback
- closeCallback() { console.log('关闭了打印工具!') }, // 关闭打印的callback(无法区分确认or取消)
- clickMounted() { console.log('点击v-print绑定的按钮了!') },
- // url: 'http://localhost:8080/', // 打印指定的URL,确保同源策略相同
- // asyncUrl (reslove) {
- // setTimeout(() => {
- // reslove('http://localhost:8080/')
- // }, 2000)
- // },
standard: '',
extarCss: '',
})
@@ -285,15 +294,9 @@
-
- 新建
-
-
- 导出
-
-
- 打印
-
+
+
+
-
- 批量导入
-
-
- 模板下载
-
-
- 新建
-
-
- 导出
-
-
- 打印
-
+
+
+
+
+
-
+
diff --git a/src/views/device/standardEquipment/components/listApply/all.vue b/src/views/device/standardEquipment/components/listApply/all.vue
new file mode 100644
index 0000000..d124307
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/all.vue
@@ -0,0 +1,17 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/approvalPending.vue b/src/views/device/standardEquipment/components/listApply/approvalPending.vue
new file mode 100644
index 0000000..8a7a8bc
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/approvalPending.vue
@@ -0,0 +1,16 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/canceled.vue b/src/views/device/standardEquipment/components/listApply/canceled.vue
new file mode 100644
index 0000000..3b9657c
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/canceled.vue
@@ -0,0 +1,15 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/draftBox.vue b/src/views/device/standardEquipment/components/listApply/draftBox.vue
new file mode 100644
index 0000000..43d7b75
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/draftBox.vue
@@ -0,0 +1,15 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue b/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue
new file mode 100644
index 0000000..c13f95a
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue
@@ -0,0 +1,17 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/listPage.vue b/src/views/device/standardEquipment/components/listApply/listPage.vue
new file mode 100644
index 0000000..5133627
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/listPage.vue
@@ -0,0 +1,493 @@
+
+
+
+
+
+
+
+
+
+
+
+ 同意
+
+
+ 驳回
+
+
+ 拒绝
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 提交
+
+
+ 取消
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/listPageAdd.vue b/src/views/device/standardEquipment/components/listApply/listPageAdd.vue
new file mode 100644
index 0000000..eb506ec
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/listPageAdd.vue
@@ -0,0 +1,1021 @@
+
+
+
+
+
+
+ 基本信息
+
+
+
+ {{ item }}
+
+
+ 关闭
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 上传
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 完成
+
+
+
+
+
+
+
+ 同意
+
+
+ 驳回
+
+
+ 拒绝
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 提交
+
+
+ 取消
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/notPass.vue b/src/views/device/standardEquipment/components/listApply/notPass.vue
new file mode 100644
index 0000000..5a4b817
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/notPass.vue
@@ -0,0 +1,10 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/passed.vue b/src/views/device/standardEquipment/components/listApply/passed.vue
new file mode 100644
index 0000000..31cd21c
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/passed.vue
@@ -0,0 +1,10 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/addRow.vue b/src/views/device/standardEquipment/components/standardList/addRow.vue
new file mode 100644
index 0000000..9f2bf81
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/addRow.vue
@@ -0,0 +1,270 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/baseInfo.vue b/src/views/device/standardEquipment/components/standardList/baseInfo.vue
new file mode 100644
index 0000000..c47ad1d
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/baseInfo.vue
@@ -0,0 +1,675 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 上传
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/temptable.vue b/src/views/device/standardEquipment/components/standardList/temptable.vue
new file mode 100644
index 0000000..20eb800
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/temptable.vue
@@ -0,0 +1,387 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ (searchQuery.offset - 1) * searchQuery.limit + scope.$index + 1 }}
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardListAdd.vue b/src/views/device/standardEquipment/components/standardListAdd.vue
index ea13629..348bb41 100644
--- a/src/views/device/standardEquipment/components/standardListAdd.vue
+++ b/src/views/device/standardEquipment/components/standardListAdd.vue
@@ -3,6 +3,8 @@
import { ElMessage, ElMessageBox } from 'element-plus'
import type { FormInstance, UploadProps, UploadUserFile } from 'element-plus'
import type { IOptions } from '../standard_interface'
+import baseInfo from './standardList/baseInfo.vue'
+import table from './standardList/temptable.vue'
import { getStaffList } from '@/api/measure/person'
import { getTypeSelect } from '@/api/system/price'
import { getStandardLisUpdate, getStandardListAdd, getStandardListDetail, getUsersDept } from '@/api/device/standard'
@@ -17,188 +19,35 @@
default: '',
},
})
-const emit = defineEmits(['close']) // 关闭
-const ruleFormRef = ref()
-// 逻辑代码
-const formInline = ref({
- assessDate: '',
- assessmentUnit: '',
- category: null,
- categoryName: '',
- constructionStandardProject: '',
- constructionStandardUnitName: '',
- contactInfo: '',
- createTime: null,
- createUser: null,
- id: '',
- isDel: null,
- laboratoryOwner: null,
- laboratoryOwnerContact: null,
- laboratoryOwnerName: null,
- managerState: null,
- managerStateName: '',
- measureMajor: null,
- fileList: [],
- measureMajorName: '',
- mesureRange: '',
- organizeNo: '',
- preparationDate: '',
- projectNo: '',
- remark: '',
- standardHumidity: null,
- standardLaboratory: null,
- standardLaboratoryName: '',
- standardLevel: null,
- standardLevelName: '',
- standardName: '',
- standardNo: '',
- standardOwner: null,
- standardOwnerName: '',
- standardTemperature: null,
- totalInvestment: null,
- transmitRange: null,
- transmitRangeName: '',
- uncertainty: '',
- updateTime: null,
- version: null,
-})
-const checkTypeOptions = ref([])
-
-const standardOwnerOptions = ref([]) // 标准负责人
-const fileList = ref([]) // 文件对象数组
-const measureMajorList = ref([]) // 计量专业下拉框
-const standardManagerStateList = ref([]) // 管理状态下拉框
-const standardLevelList = ref([]) // 标准等级下拉框
-const transmitRangeList = ref([]) // 传递范围下拉框
-// 标准所在部门下拉框
-const standardUsersDeptList = ref([])
-// 获取下拉框
-const getSelectList = (code: string) => {
- getTypeSelect(code).then((res) => {
- if (code === 'measureMajor') {
- measureMajorList.value = res.data
- }
- else if (code === 'standardManagerState') {
- standardManagerStateList.value = res.data
- }
- else if (code === 'standardLevel') {
- standardLevelList.value = res.data
- }
- else if (code === 'transmitRange') {
- transmitRangeList.value = res.data
- }
- else if (code === 'standardCategory') {
- checkTypeOptions.value = res.data
- }
- })
+const emit = defineEmits(['close'])
+// 定义数据
+const formInline = ref({})
+// 关闭
+interface menuType {
+ name: string
+ comp: any
}
-getSelectList('measureMajor') // 获取计量专业下拉框
-getSelectList('standardManagerState') // 获取管理状态下拉框
-getSelectList('standardLevel') // 获取标准等级下拉框
-getSelectList('transmitRange') // 获取传递范围下拉框
-getSelectList('standardCategory') // 获取类别下拉框
-// 获取部门信息
-getUsersDept({
- createTime: '',
- director: '',
- meterMajor: '',
- organizeName: '',
- organizeNo: '',
- organizeType: '2',
- pdeptId: null,
- offset: 1,
- limit: 999999,
-}).then((res) => {
- standardUsersDeptList.value = res.data.rows
+const menu = shallowRef([
+ { name: '基本信息', comp: baseInfo },
+ { name: '计量人员', comp: table },
+ { name: '标准配套设备', comp: table },
+ { name: '检定规程', comp: table },
+ { name: '重复性考核记录', comp: table },
+ { name: '稳定性考核记录', comp: table },
+ { name: '证书管理', comp: table },
+])
+const currentCompRef = ref()
+const current = ref('基本信息')
+const currentComp = shallowRef(baseInfo)
+watch(current, (newValue) => {
+ currentComp.value = menu.value.filter(item => item.name === newValue)[0].comp
})
-// 获取到标准负责人数组
-const getStandardOwnerOptions = () => {
- const params = {
- staffNo: '', // 人员编号
- name: '', // 姓名
- deptId: '', // 工作部门
- major: '', // 计量专业
- verifierCertificateNo: '', // 证书号
- certificateStatus: '', // 证书状态
- limit: 100000,
- offset: 1,
- }
- getStaffList(params).then((res) => {
- standardOwnerOptions.value = res.data.records
- })
-}
-getStandardOwnerOptions()
// 关闭
const close = () => {
emit('close')
}
-const rules = ref({
- standardName: [{ required: true, message: '标准名称不能为空', trigger: 'blur' }],
- projectNo: [{ required: true, message: '项目编号不能为空', trigger: 'blur' }],
- constructionStandardProject: [{ required: true, message: '建标项目不能为空', trigger: 'blur' }],
- organizeNo: [{ required: true, message: '组织机构代码不能为空', trigger: 'blur' }],
- constructionStandardUnitName: [{ required: true, message: '建标单位名称不能为空', trigger: 'blur' }],
- standardOwner: [{ required: true, message: '标准负责人不能为空', trigger: 'blur' }],
- contactInfo: [{ required: true, message: '联系方式不能为空', trigger: 'blur' }],
- category: [{ required: true, message: '类 别不能为空', trigger: 'blur' }],
- standardLevel: [{ required: true, message: '标准等级不能为空', trigger: 'blur' }],
- transmitRange: [{ required: true, message: '传递范围不能为空', trigger: 'blur' }],
- preparationDate: [{ required: true, message: '筹建日期不能为空', trigger: 'blur' }],
- managerState: [{ required: true, message: '管理状态不能为空', trigger: 'blur' }],
- measureMajor: [{ required: true, message: '计量专业不能为空', trigger: 'blur' }],
- assessmentUnit: [{ required: true, message: '考核单位不能为空', trigger: 'blur' }],
- assessDate: [{ required: true, message: '考核日期不能为空', trigger: 'blur' }],
- uncertainty: [{ required: true, message: '不确定度不能为空', trigger: 'blur' }],
- mesureRange: [{ required: true, message: '测量范围不能为空', trigger: 'blur' }],
- standardTemperature: [{ required: true, message: '标准温度不能为空', trigger: 'blur' },
- { pattern: /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/, message: '标准温度只能为数字', trigger: 'blur' }],
- standardHumidity: [{ required: true, message: '标准湿度不能为空', trigger: 'blur' },
- { pattern: /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/, message: '标准湿度只能为数字', trigger: 'blur' }],
-}) // 表单验证规则
-// 上传请求
-const uploadQuarterlyEvaluateFile = (file: File) => {
- const fd = new FormData()
- fd.append('multipartFile', file.file)
- UploadFile(fd).then((res) => {
- if (res.code === 200) {
- formInline.value.fileList = res.data
- // 重置当前验证
- ElMessage.success('文件上传成功')
- }
- })
-}
-const handleExceed: UploadProps['onExceed'] = (files, uploadFiles) => {
- ElMessage.warning('只能上传一个文件')
-}
-// 移除时触发
-const beforeRemove: UploadProps['beforeRemove'] = (uploadFile, uploadFiles) => {
- return ElMessageBox.confirm(
- `确认移除${uploadFile.name}文件吗 ?`,
- ).then(
- () => true,
- () => false,
-
- )
-}
-// 点击文件预览
-const uploadShow = (e: any) => {
- const URL = window.URL || window.webkitURL
- window.open(URL.createObjectURL(e.raw))
-}
-const testForm = ref({
- fileList: [],
- fileContent: '',
-})
-const handleFileChange = (files: any, fileList: any) => {
- testForm.value.fileList = fileList
- const reader = new FileReader()
- reader.readAsText(files.raw)
- // reader.onload = (e) => {
- // testForm.value.fileContent = e.target!.result?.replace(
- // /\n|\r\n/g,
- // '
',
- // )
- // }
+const setData = (newValue: object) => {
+ formInline.value = newValue
}
// 编辑获取详情的提交按钮
const submitFormDetail = () => {
@@ -223,60 +72,29 @@
}
}
// 提交
-const submitForm = (formEl: FormInstance | undefined) => {
- if (!formEl) { return }
+const submitForm = () => {
if (props.buttonType === '详情') { return submitFormDetail() }
- formEl.validate((valid, fields) => {
- if (valid) {
- ElMessageBox.confirm(
- '确认提交吗?',
- '提示',
- {
- confirmButtonText: '确认',
- cancelButtonText: '取消',
- type: 'warning',
- },
- ).then(() => {
- props.buttonType === ''
- ? getStandardListAdd(formInline.value).then((res) => {
- if (res.code === 200) {
- close()
- }
- })
- : submitFormDetail()
- })
- }
- })
-}
-// 标准实验室发生改变row类型
-interface rowReturn {
- phone: string
- director: string
-}
-// 标准实验室发生改变
-const changeDeptList = (row: object) => {
- formInline.value.laboratoryOwnerContact = row.phone
- formInline.value.laboratoryOwner = row.director
-}
-// 标准实验室清空时
-const clearDeptList = () => {
- formInline.value.laboratoryOwnerContact = null
- formInline.value.laboratoryOwner = null
-}
-// 获取详情信息
-const getInfo = () => {
- getStandardListDetail({ id: props.infoId }).then((res) => {
- Object.keys(res.data).map((item) => {
- if (typeof (res.data[item]) === 'number') {
- res.data[item] = res.data[item].toString()
- }
+ ElMessageBox.confirm(
+ '确认提交吗?',
+ '提示',
+ {
+ confirmButtonText: '确认',
+ cancelButtonText: '取消',
+ type: 'warning',
+ },
+ ).then(() => {
+ current.value = '基本信息'
+ currentCompRef.value.submitForm().validate().then(() => {
+ props.buttonType === ''
+ ? getStandardListAdd(formInline.value).then((res) => {
+ if (res.code === 200) {
+ close()
+ }
+ })
+ : submitFormDetail()
})
- formInline.value = res.data
})
}
-if (props.buttonType !== '') {
- getInfo()
-}
@@ -289,7 +107,7 @@
{{ buttonType === '详情' ? '打印' : '提交' }}
@@ -298,405 +116,17 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 上传
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
@@ -719,14 +149,8 @@
}
}
-.info-content {
- margin-top: 10px;
- padding: 30px;
- border-radius: 10px;
+.body {
background-color: #fff;
-}
-
-:deep .el-input .el-input--default .el-input--suffix {
- width: 200px !important;
+ margin-top: 10px;
}
diff --git a/src/views/device/standardEquipment/expirationRemind.vue b/src/views/device/standardEquipment/expirationRemind.vue
index 35786b2..1826c22 100644
--- a/src/views/device/standardEquipment/expirationRemind.vue
+++ b/src/views/device/standardEquipment/expirationRemind.vue
@@ -26,39 +26,47 @@
text: '标准代码',
value: 'standardNo',
width: '160',
+ align: 'center',
},
{
text: '标准名称',
value: 'standardName',
width: '90',
+ align: 'center',
},
{
text: '管理状态',
value: 'managerStateName',
width: '100',
+ align: 'center',
},
{
text: '标准所在部门',
value: 'standardLaboratoryName',
width: '120',
+ align: 'center',
},
{
text: '负责人',
value: 'standardOwnerName',
+ align: 'center',
},
{
text: '建标项目',
value: 'standardOwnerName',
+ align: 'center',
},
{
text: '筹建日期',
value: 'preparationDate',
width: '160',
+ align: 'center',
},
{
text: '有效日期',
value: 'preparationDate',
width: '160',
+ align: 'center',
},
])
const total = ref(0)
@@ -326,12 +334,8 @@
-
- 导出
-
-
- 打印
-
+
+
- 编辑
+ 详情
- 详情
+ 提醒
+import applyList from './components/applyList.vue'
// 逻辑代码
- 暂停申请
+
diff --git a/src/views/device/standardEquipment/resumeApply.vue b/src/views/device/standardEquipment/resumeApply.vue
index d4a80e8..b5896fc 100644
--- a/src/views/device/standardEquipment/resumeApply.vue
+++ b/src/views/device/standardEquipment/resumeApply.vue
@@ -1,10 +1,11 @@
- 恢复申请
+
diff --git a/src/views/device/standardEquipment/standardList.vue b/src/views/device/standardEquipment/standardList.vue
index 4f1bfdf..348ed71 100644
--- a/src/views/device/standardEquipment/standardList.vue
+++ b/src/views/device/standardEquipment/standardList.vue
@@ -29,50 +29,60 @@
text: '标准代码',
value: 'standardNo',
width: '120',
+ align: 'center',
},
{
text: '标准名称',
value: 'standardName',
width: '90',
+ align: 'center',
},
{
text: '类别',
value: 'categoryName',
width: '80',
+ align: 'center',
},
{
text: '标准等级',
value: 'standardLevelName',
width: '100',
+ align: 'center',
},
{
text: '传递范围',
value: 'transmitRange',
width: '110',
+ align: 'center',
},
{
text: '管理状态',
value: 'managerStateName',
width: '100',
+ align: 'center',
},
{
text: '标准所在部门',
value: 'standardLaboratoryName',
width: '120',
+ align: 'center',
},
{
text: '负责人',
value: 'laboratoryOwner',
+ align: 'center',
},
{
text: '筹建日期',
value: 'preparationDate',
width: '110',
+ align: 'center',
},
{
text: '备注',
value: 'remark',
width: '80',
+ align: 'center',
},
])
const total = ref(0)
@@ -250,6 +260,9 @@
buttonType.value = text
isShow.value = false
}
+const renderHeader = (e: any) => {
+ console.log(e)
+}
@@ -330,19 +343,13 @@
-
- 新建
-
-
- 导出
-
-
- 打印
-
+
+
+
diff --git a/src/views/device/stateManage/components/approvalActionDialog.vue b/src/views/device/stateManage/components/approvalActionDialog.vue
index cdc9b25..56417d6 100644
--- a/src/views/device/stateManage/components/approvalActionDialog.vue
+++ b/src/views/device/stateManage/components/approvalActionDialog.vue
@@ -1,10 +1,13 @@
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/cancel.vue b/src/views/device/stateManage/components/status/cancel.vue
new file mode 100644
index 0000000..ecb2d0c
--- /dev/null
+++ b/src/views/device/stateManage/components/status/cancel.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/drafts.vue b/src/views/device/stateManage/components/status/drafts.vue
new file mode 100644
index 0000000..226ba21
--- /dev/null
+++ b/src/views/device/stateManage/components/status/drafts.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/inApproval.vue b/src/views/device/stateManage/components/status/inApproval.vue
new file mode 100644
index 0000000..4988595
--- /dev/null
+++ b/src/views/device/stateManage/components/status/inApproval.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/passed.vue b/src/views/device/stateManage/components/status/passed.vue
new file mode 100644
index 0000000..ab87daf
--- /dev/null
+++ b/src/views/device/stateManage/components/status/passed.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/pending.vue b/src/views/device/stateManage/components/status/pending.vue
new file mode 100644
index 0000000..3e0b315
--- /dev/null
+++ b/src/views/device/stateManage/components/status/pending.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/unPassed.vue b/src/views/device/stateManage/components/status/unPassed.vue
new file mode 100644
index 0000000..8de700e
--- /dev/null
+++ b/src/views/device/stateManage/components/status/unPassed.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/templateAdd.vue b/src/views/device/stateManage/components/templateAdd.vue
index 9c4da0f..fc364c8 100644
--- a/src/views/device/stateManage/components/templateAdd.vue
+++ b/src/views/device/stateManage/components/templateAdd.vue
@@ -381,10 +381,10 @@
-
+
diff --git a/src/views/device/stateManage/components/templateList.vue b/src/views/device/stateManage/components/templateList.vue
index 6ee2e8c..aa3963f 100644
--- a/src/views/device/stateManage/components/templateList.vue
+++ b/src/views/device/stateManage/components/templateList.vue
@@ -8,6 +8,10 @@
type: String,
default: '',
},
+ title: {
+ type: String,
+ default: '',
+ },
})
// import { exportFile } from '@/utils/exportUtils'
// const { proxy } = getCurrentInstance() as any
@@ -179,15 +183,23 @@
// 同意
const agree = (row) => {
console.log(approveRef.value)
- approveRef.value.initDialog()
+ approveRef.value.initDialog({
+ radio: '1',
+ })
}
// 驳回
const reject = (row) => {
- approveRef.value.initDialog()
+ approveRef.value.initDialog({
+ radio: '3',
+ })
}
// 拒绝
const refuse = (row) => {
- approveRef.value.initDialog()
+ approveRef.value.initDialog(
+ {
+ radio: '2',
+ },
+ )
}
// 取消
const cancel = (row) => {
diff --git a/src/views/device/stateManage/components/templatePage.vue b/src/views/device/stateManage/components/templatePage.vue
index 5fb0163..fce7685 100644
--- a/src/views/device/stateManage/components/templatePage.vue
+++ b/src/views/device/stateManage/components/templatePage.vue
@@ -1,6 +1,12 @@
- 设备处置申请
+
diff --git a/src/views/device/stateManage/openApply.vue b/src/views/device/stateManage/openApply.vue
index 3c43781..35c2af6 100644
--- a/src/views/device/stateManage/openApply.vue
+++ b/src/views/device/stateManage/openApply.vue
@@ -1,13 +1,14 @@
- 设备启封申请
+
+
diff --git a/src/views/device/stateManage/scrapApply.vue b/src/views/device/stateManage/scrapApply.vue
index 7bd1a98..282ecd8 100644
--- a/src/views/device/stateManage/scrapApply.vue
+++ b/src/views/device/stateManage/scrapApply.vue
@@ -1,10 +1,10 @@
- 设备报废申请
+
diff --git a/src/views/device/stateManage/sealupApply.vue b/src/views/device/stateManage/sealupApply.vue
index ec6320b..1c8544d 100644
--- a/src/views/device/stateManage/sealupApply.vue
+++ b/src/views/device/stateManage/sealupApply.vue
@@ -1,10 +1,10 @@
- 设备封存申请
+
diff --git a/src/views/measure/bench/bench.vue b/src/views/measure/bench/bench.vue
index cb2ebe6..380779a 100644
--- a/src/views/measure/bench/bench.vue
+++ b/src/views/measure/bench/bench.vue
@@ -175,7 +175,7 @@
v-if="proxy.hasPerm('/workbench/meterTrain/line')"
title="培训计划"
width="27.8vw"
- height="40vh"
+ height="40.7vh"
>
([])
+const PubListTree = ref([])
// 获取发布单位列表
const getPubList = () => {
getDeptTreeList().then((res) => {
PubList.value = res.data
+ PubListTree.value = toTreeList(res.data, '0', true)
})
}
// 弹窗初始化
@@ -73,7 +80,8 @@
if (row.title === '新建') {
// 默认发布人和发布单位
ruleForm.createUserId = userInfo.$state.id
- ruleForm.publisher = userInfo.$state.deptId
+ ruleForm.publisher = ''
+ ruleForm.publishTime = dayjs().format('YYYY-MM-DD HH:mm:ss')
// 判断有无存储
console.log(sessionStorage.getItem(fileTypeName.value), 'sess')
if (sessionStorage.getItem(fileTypeName.value)) {
@@ -207,11 +215,12 @@
// { name: '已废止', id: '1595030083114450945', value: '3' },
// ])
watch(() => ruleForm.effectiveTime, (newVal) => {
- const diffDat = dayjs(newVal).diff(dayjs().format('YYYY-MM-DD HH:mm:ss'), 'day')
+ const diffDat = dayjs(newVal).diff(dayjs().format('YYYY-MM-DD HH:mm:ss'), 'hour')
+ console.log(diffDat)
if (diffDat < 0) {
// ruleForm.effectiveStatusName = '已废止'
- effectiveStatusName.value = '已废止'
- ruleForm.effectiveStatus = '3'
+ effectiveStatusName.value = '在使用'
+ ruleForm.effectiveStatus = '1'
}
else if (diffDat == 0) {
// ruleForm.effectiveStatusName = '在使用'
@@ -269,15 +278,20 @@
-
+
+
@@ -293,7 +307,7 @@
diff --git a/src/views/measure/person/certificateLog.vue b/src/views/measure/person/certificateLog.vue
index ca26b00..2e3322a 100644
--- a/src/views/measure/person/certificateLog.vue
+++ b/src/views/measure/person/certificateLog.vue
@@ -32,13 +32,13 @@
const loadingTable = ref(false) // 表格loading
const total = ref(0) // 数据总条数
const columns = ref([
- { text: '人员编号', value: 'staffNo', align: 'center', width: '150' },
+ { text: '人员编号', value: 'staffNo', align: 'center', width: '180' },
{ text: '姓名', value: 'name', align: 'center', width: '80' },
{ text: '性别', value: 'sex', align: 'center', width: '55' },
{ text: '工作部门', value: 'deptId', align: 'center', width: '140' },
{ text: '技术职务', value: 'technologyJob', align: 'center', width: '120' },
{ text: '行政职务', value: 'administrationJob', align: 'center', width: '90' },
- { text: '证书号', value: 'certificateNo', align: 'center', width: '150' },
+ { text: '证书号', value: 'certificateNo', align: 'center' },
{ text: '发证单位', value: 'certificateCompany', align: 'center', width: '90' },
{ text: '发证日期', value: 'certificateDate', align: 'center', width: '200' },
{ text: '证书有效日期', value: 'certificateDate', align: 'center', width: '200' },
diff --git a/src/views/measure/person/components/addPerson.vue b/src/views/measure/person/components/addPerson.vue
index 9252393..4dc1b17 100644
--- a/src/views/measure/person/components/addPerson.vue
+++ b/src/views/measure/person/components/addPerson.vue
@@ -10,7 +10,7 @@
import { getDeptTreeList } from '@/api/system/dept'
import { UploadFile } from '@/api/measure/file'
import { toTreeList } from '@/utils/structure'
-import type { userType } from '@/views/system/user/user-interface'
+import type { TreeStructure, userType } from '@/views/system/user/user-interface'
import { getDictByCode } from '@/api/system/dict'
import comTreeSelect from '@/views/system/user/selecTree.vue'
import { getStaffAdd, getStaffDetail, getStaffupdate } from '@/api/measure/person'
@@ -67,7 +67,7 @@
ruleFormRef.value?.validateField('idCard').then((res) => {
// 获取生日
const IdCard = ruleForm.value.idCard
- const birthday = `${IdCard.substring(6, 10)}-${IdCard.substring(10, 12)}-${IdCard.substring(12, 14)}`
+ const birthday = `${IdCard.substring(6, 10)}-${IdCard.substring(10, 12)}`
ruleForm.value.birthday = birthday
console.log(ruleForm.value)
})
@@ -86,12 +86,14 @@
const deptProps = reactive({
parent: 'pid', value: 'id', label: 'name', children: 'children',
})
-const PubList = ref([])
+const PubList = ref([])
+const PubListTree = ref([])
// 获取组织列表
const getPubList = () => {
getDeptTreeList().then((res) => {
// 转成树结构
- PubList.value = toTreeList(res.data, '0', true)
+ PubList.value = res.data
+ PubListTree.value = toTreeList(res.data, '0', true)
})
}
const sexList = ref<{ id: string; value: string; name: string }[]>()
@@ -343,7 +345,7 @@
getTechnologyJobList()
getAdministrationJob()
if (row.title === '新建') {
- console.log()
+ // ruleForm.value.deptId = ''
}
else {
getStaffDetail({ ...row }).then((res) => {
@@ -371,7 +373,7 @@
-
-
+
+
@@ -404,20 +405,36 @@
-
+
+
+
+ 选择
+
+
+
-
-
-
-
+
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
@@ -425,82 +442,52 @@
-
+
-
-
-
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
@@ -551,6 +538,7 @@
border-radius: 8px;
padding-top: 10px;
margin-top: 10px;
+ padding-right: 10px;
}
.header {
@@ -578,6 +566,20 @@
display: none;
}
+ :deep(.el-icon.avatar-uploader-icon) {
+ font-size: 28px;
+ color: #8c939d;
+ width: 190px;
+ height: 250px;
+ text-align: center;
+ }
+
+ :deep(.avatar-uploader .avatar) {
+ width: 190px;
+ height: 250px;
+ display: block;
+ }
+
.isDetail {
::v-deep {
.el-form-item.is-required:not(.is-no-asterisk) .el-form-item__label-wrap > .el-form-item__label::before,
@@ -591,12 +593,16 @@
.marg {
margin-top: 20px;
}
+
+.marg-item {
+ margin-top: 20px;
+}
@@ -618,8 +624,8 @@
.el-icon.avatar-uploader-icon {
font-size: 28px;
color: #8c939d;
- width: 178px;
- height: 178px;
+ width: 220px;
+ height: 320px;
text-align: center;
}
diff --git a/src/views/measure/person/components/addRecord.vue b/src/views/measure/person/components/addRecord.vue
index 2928870..ae48f11 100644
--- a/src/views/measure/person/components/addRecord.vue
+++ b/src/views/measure/person/components/addRecord.vue
@@ -9,7 +9,7 @@
import { getUserList } from '@/api/system/user'
import { getDeptTreeList } from '@/api/system/dept'
import { toTreeList } from '@/utils/structure'
-import type { userType } from '@/views/system/user/user-interface'
+import type { TreeStructure, userType } from '@/views/system/user/user-interface'
import { getDictByCode } from '@/api/system/dict'
import comTreeSelect from '@/views/system/user/selecTree.vue'
import { addCertificateList, getCertificateDetail, getCertificateUpdate } from '@/api/measure/person'
@@ -59,12 +59,14 @@
const deptProps = reactive({
parent: 'pid', value: 'id', label: 'name', children: 'children',
})
-const PubList = ref([])
+const PubList = ref
([])
+const PubListTree = ref([])
// 获取组织列表
const getPubList = () => {
getDeptTreeList().then((res) => {
// 转成树结构
- PubList.value = toTreeList(res.data, '0', true)
+ PubList.value = res.data
+ PubListTree.value = toTreeList(res.data, '0', true)
})
}
const sexList = ref<{ id: string; value: string; name: string }[]>()
@@ -330,7 +332,13 @@
-
+
+
+
+ 选择
+
+
+
@@ -377,10 +385,12 @@
-
+
+
+
diff --git a/src/views/measure/person/components/personListDialog.vue b/src/views/measure/person/components/personListDialog.vue
index 952da9d..5e20d1b 100644
--- a/src/views/measure/person/components/personListDialog.vue
+++ b/src/views/measure/person/components/personListDialog.vue
@@ -1,6 +1,6 @@
diff --git a/src/views/measure/source/components/listPage.vue b/src/views/measure/source/components/listPage.vue
index a9c9509..70a3518 100644
--- a/src/views/measure/source/components/listPage.vue
+++ b/src/views/measure/source/components/listPage.vue
@@ -17,6 +17,7 @@
default: () => [],
},
})
+const emit = defineEmits(['setData']) // 关闭
// 查询条件
const listQuery: Ref = ref({
supplierNo: '', // 业务内容
@@ -28,53 +29,63 @@
// 控制是否显示新增页面
const show = ref(true)
// 表格数据
-const list = ref([])
+const list = ref([
+ { name: '张三' },
+])
// 总数
-const total = ref(20)
+const total = ref(0)
// 表头
const columns = ref([
{
text: '溯源供方编号',
- value: 'supplierNo',
- width: '160',
+ value: 'name',
+ width: '120',
+ align: 'center',
},
{
text: '溯源供方名称',
- value: 'supplierName',
+ value: 'name',
width: '120',
+ align: 'center',
},
{
text: '业务内容',
- value: 'businessContent',
+ value: 'name',
+ align: 'center',
},
{
text: '业务资质',
- value: 'briefName',
+ value: 'name',
+ align: 'center',
},
{
text: '负责人',
- value: 'director',
+ value: 'name',
+ align: 'center',
},
{
text: '联系方式',
- value: 'mobile',
+ value: 'name',
+ align: 'center',
},
{
text: '地址',
- value: 'companyCity',
+ value: 'name',
+ align: 'center',
},
{
text: '创建时间',
- value: 'createTime',
- width: '200',
+ value: 'name',
+ align: 'center',
},
{
text: '备注',
- value: 'remark',
+ value: 'name',
+ align: 'center',
},
])
-const buttonArray = ref([])
+const buttonArray = ref([])
// 选中的内容
const checkoutList = ref([])
// 文件上传input
@@ -98,20 +109,24 @@
loadingTable.value = false
})
}
-fetchData(true)
// 多选发生改变时
const handleSelectionChange = (e: any) => {
checkoutList.value = e
}
+// 点击删除和编辑的参数类型
+interface rowReturn {
+ id: string
+ supplierName: string
+}
// 点击编辑/详情
-const handleEdit = (index: string, row: object, value: string) => {
+const handleEdit = (index: string, row: rowReturn, value: string) => {
buttonArray.value = ['同意', '驳回', '拒绝']
buttonType.value = value
infoId.value = row.id
show.value = false
}
// 点击删除
-const handleDelete = (index: string, row: object) => {
+const handleDelete = (index: string, row: rowReturn) => {
ElMessageBox.confirm(
`确认删除${row.supplierName}吗?`,
'提示',
@@ -153,7 +168,7 @@
// 关闭编辑
const close = () => {
show.value = true
- fetchData(true)
+ // fetchData(true)
}
// 导出
const exportExcelBtn = () => {
@@ -218,30 +233,24 @@
upload()
}
const add = () => {
+ buttonArray.value = ['提交', '保存']
buttonType.value = ''
show.value = false
}
const exportAll = () => {
exportExcelBtn()
}
+watch(() => show.value, (newVal) => {
+// 变化后存储
+ emit('setData', newVal)
+},
+{ deep: true, immediate: true })
// 打印
const printObj = ref({
id: 'print', // 需要打印元素的id
popTitle: '溯源供方编号模板', // 打印配置页上方的标题
extraHead: '', // 最上方的头部文字,附加在head标签上的额外标签,使用逗号分割
preview: false, // 是否启动预览模式,默认是false
- previewBeforeOpenCallback() { console.log('正在加载预览窗口!') }, // 预览窗口打开之前的callback
- previewOpenCallback() { console.log('已经加载完预览窗口,预览打开了!') }, // 预览窗口打开时的callback
- beforeOpenCallback() { console.log('开始打印之前!') }, // 开始打印之前的callback
- openCallback() { console.log('执行打印了!') }, // 调用打印时的callback
- closeCallback() { console.log('关闭了打印工具!') }, // 关闭打印的callback(无法区分确认or取消)
- clickMounted() { console.log('点击v-print绑定的按钮了!') },
- // url: 'http://localhost:8080/', // 打印指定的URL,确保同源策略相同
- // asyncUrl (reslove) {
- // setTimeout(() => {
- // reslove('http://localhost:8080/')
- // }, 2000)
- // },
standard: '',
extarCss: '',
})
@@ -285,15 +294,9 @@
-
- 新建
-
-
- 导出
-
-
- 打印
-
+
+
+
-
- 批量导入
-
-
- 模板下载
-
-
- 新建
-
-
- 导出
-
-
- 打印
-
+
+
+
+
+
-
+
diff --git a/src/views/device/standardEquipment/components/listApply/all.vue b/src/views/device/standardEquipment/components/listApply/all.vue
new file mode 100644
index 0000000..d124307
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/all.vue
@@ -0,0 +1,17 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/approvalPending.vue b/src/views/device/standardEquipment/components/listApply/approvalPending.vue
new file mode 100644
index 0000000..8a7a8bc
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/approvalPending.vue
@@ -0,0 +1,16 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/canceled.vue b/src/views/device/standardEquipment/components/listApply/canceled.vue
new file mode 100644
index 0000000..3b9657c
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/canceled.vue
@@ -0,0 +1,15 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/draftBox.vue b/src/views/device/standardEquipment/components/listApply/draftBox.vue
new file mode 100644
index 0000000..43d7b75
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/draftBox.vue
@@ -0,0 +1,15 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue b/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue
new file mode 100644
index 0000000..c13f95a
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue
@@ -0,0 +1,17 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/listPage.vue b/src/views/device/standardEquipment/components/listApply/listPage.vue
new file mode 100644
index 0000000..5133627
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/listPage.vue
@@ -0,0 +1,493 @@
+
+
+
+
+
+
+
+
+
+
+
+ 同意
+
+
+ 驳回
+
+
+ 拒绝
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 提交
+
+
+ 取消
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/listPageAdd.vue b/src/views/device/standardEquipment/components/listApply/listPageAdd.vue
new file mode 100644
index 0000000..eb506ec
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/listPageAdd.vue
@@ -0,0 +1,1021 @@
+
+
+
+
+
+
+ 基本信息
+
+
+
+ {{ item }}
+
+
+ 关闭
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 上传
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 完成
+
+
+
+
+
+
+
+ 同意
+
+
+ 驳回
+
+
+ 拒绝
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 提交
+
+
+ 取消
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/notPass.vue b/src/views/device/standardEquipment/components/listApply/notPass.vue
new file mode 100644
index 0000000..5a4b817
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/notPass.vue
@@ -0,0 +1,10 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/passed.vue b/src/views/device/standardEquipment/components/listApply/passed.vue
new file mode 100644
index 0000000..31cd21c
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/passed.vue
@@ -0,0 +1,10 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/addRow.vue b/src/views/device/standardEquipment/components/standardList/addRow.vue
new file mode 100644
index 0000000..9f2bf81
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/addRow.vue
@@ -0,0 +1,270 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/baseInfo.vue b/src/views/device/standardEquipment/components/standardList/baseInfo.vue
new file mode 100644
index 0000000..c47ad1d
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/baseInfo.vue
@@ -0,0 +1,675 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 上传
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/temptable.vue b/src/views/device/standardEquipment/components/standardList/temptable.vue
new file mode 100644
index 0000000..20eb800
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/temptable.vue
@@ -0,0 +1,387 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ (searchQuery.offset - 1) * searchQuery.limit + scope.$index + 1 }}
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardListAdd.vue b/src/views/device/standardEquipment/components/standardListAdd.vue
index ea13629..348bb41 100644
--- a/src/views/device/standardEquipment/components/standardListAdd.vue
+++ b/src/views/device/standardEquipment/components/standardListAdd.vue
@@ -3,6 +3,8 @@
import { ElMessage, ElMessageBox } from 'element-plus'
import type { FormInstance, UploadProps, UploadUserFile } from 'element-plus'
import type { IOptions } from '../standard_interface'
+import baseInfo from './standardList/baseInfo.vue'
+import table from './standardList/temptable.vue'
import { getStaffList } from '@/api/measure/person'
import { getTypeSelect } from '@/api/system/price'
import { getStandardLisUpdate, getStandardListAdd, getStandardListDetail, getUsersDept } from '@/api/device/standard'
@@ -17,188 +19,35 @@
default: '',
},
})
-const emit = defineEmits(['close']) // 关闭
-const ruleFormRef = ref()
-// 逻辑代码
-const formInline = ref({
- assessDate: '',
- assessmentUnit: '',
- category: null,
- categoryName: '',
- constructionStandardProject: '',
- constructionStandardUnitName: '',
- contactInfo: '',
- createTime: null,
- createUser: null,
- id: '',
- isDel: null,
- laboratoryOwner: null,
- laboratoryOwnerContact: null,
- laboratoryOwnerName: null,
- managerState: null,
- managerStateName: '',
- measureMajor: null,
- fileList: [],
- measureMajorName: '',
- mesureRange: '',
- organizeNo: '',
- preparationDate: '',
- projectNo: '',
- remark: '',
- standardHumidity: null,
- standardLaboratory: null,
- standardLaboratoryName: '',
- standardLevel: null,
- standardLevelName: '',
- standardName: '',
- standardNo: '',
- standardOwner: null,
- standardOwnerName: '',
- standardTemperature: null,
- totalInvestment: null,
- transmitRange: null,
- transmitRangeName: '',
- uncertainty: '',
- updateTime: null,
- version: null,
-})
-const checkTypeOptions = ref([])
-
-const standardOwnerOptions = ref([]) // 标准负责人
-const fileList = ref([]) // 文件对象数组
-const measureMajorList = ref([]) // 计量专业下拉框
-const standardManagerStateList = ref([]) // 管理状态下拉框
-const standardLevelList = ref([]) // 标准等级下拉框
-const transmitRangeList = ref([]) // 传递范围下拉框
-// 标准所在部门下拉框
-const standardUsersDeptList = ref([])
-// 获取下拉框
-const getSelectList = (code: string) => {
- getTypeSelect(code).then((res) => {
- if (code === 'measureMajor') {
- measureMajorList.value = res.data
- }
- else if (code === 'standardManagerState') {
- standardManagerStateList.value = res.data
- }
- else if (code === 'standardLevel') {
- standardLevelList.value = res.data
- }
- else if (code === 'transmitRange') {
- transmitRangeList.value = res.data
- }
- else if (code === 'standardCategory') {
- checkTypeOptions.value = res.data
- }
- })
+const emit = defineEmits(['close'])
+// 定义数据
+const formInline = ref({})
+// 关闭
+interface menuType {
+ name: string
+ comp: any
}
-getSelectList('measureMajor') // 获取计量专业下拉框
-getSelectList('standardManagerState') // 获取管理状态下拉框
-getSelectList('standardLevel') // 获取标准等级下拉框
-getSelectList('transmitRange') // 获取传递范围下拉框
-getSelectList('standardCategory') // 获取类别下拉框
-// 获取部门信息
-getUsersDept({
- createTime: '',
- director: '',
- meterMajor: '',
- organizeName: '',
- organizeNo: '',
- organizeType: '2',
- pdeptId: null,
- offset: 1,
- limit: 999999,
-}).then((res) => {
- standardUsersDeptList.value = res.data.rows
+const menu = shallowRef([
+ { name: '基本信息', comp: baseInfo },
+ { name: '计量人员', comp: table },
+ { name: '标准配套设备', comp: table },
+ { name: '检定规程', comp: table },
+ { name: '重复性考核记录', comp: table },
+ { name: '稳定性考核记录', comp: table },
+ { name: '证书管理', comp: table },
+])
+const currentCompRef = ref()
+const current = ref('基本信息')
+const currentComp = shallowRef(baseInfo)
+watch(current, (newValue) => {
+ currentComp.value = menu.value.filter(item => item.name === newValue)[0].comp
})
-// 获取到标准负责人数组
-const getStandardOwnerOptions = () => {
- const params = {
- staffNo: '', // 人员编号
- name: '', // 姓名
- deptId: '', // 工作部门
- major: '', // 计量专业
- verifierCertificateNo: '', // 证书号
- certificateStatus: '', // 证书状态
- limit: 100000,
- offset: 1,
- }
- getStaffList(params).then((res) => {
- standardOwnerOptions.value = res.data.records
- })
-}
-getStandardOwnerOptions()
// 关闭
const close = () => {
emit('close')
}
-const rules = ref({
- standardName: [{ required: true, message: '标准名称不能为空', trigger: 'blur' }],
- projectNo: [{ required: true, message: '项目编号不能为空', trigger: 'blur' }],
- constructionStandardProject: [{ required: true, message: '建标项目不能为空', trigger: 'blur' }],
- organizeNo: [{ required: true, message: '组织机构代码不能为空', trigger: 'blur' }],
- constructionStandardUnitName: [{ required: true, message: '建标单位名称不能为空', trigger: 'blur' }],
- standardOwner: [{ required: true, message: '标准负责人不能为空', trigger: 'blur' }],
- contactInfo: [{ required: true, message: '联系方式不能为空', trigger: 'blur' }],
- category: [{ required: true, message: '类 别不能为空', trigger: 'blur' }],
- standardLevel: [{ required: true, message: '标准等级不能为空', trigger: 'blur' }],
- transmitRange: [{ required: true, message: '传递范围不能为空', trigger: 'blur' }],
- preparationDate: [{ required: true, message: '筹建日期不能为空', trigger: 'blur' }],
- managerState: [{ required: true, message: '管理状态不能为空', trigger: 'blur' }],
- measureMajor: [{ required: true, message: '计量专业不能为空', trigger: 'blur' }],
- assessmentUnit: [{ required: true, message: '考核单位不能为空', trigger: 'blur' }],
- assessDate: [{ required: true, message: '考核日期不能为空', trigger: 'blur' }],
- uncertainty: [{ required: true, message: '不确定度不能为空', trigger: 'blur' }],
- mesureRange: [{ required: true, message: '测量范围不能为空', trigger: 'blur' }],
- standardTemperature: [{ required: true, message: '标准温度不能为空', trigger: 'blur' },
- { pattern: /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/, message: '标准温度只能为数字', trigger: 'blur' }],
- standardHumidity: [{ required: true, message: '标准湿度不能为空', trigger: 'blur' },
- { pattern: /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/, message: '标准湿度只能为数字', trigger: 'blur' }],
-}) // 表单验证规则
-// 上传请求
-const uploadQuarterlyEvaluateFile = (file: File) => {
- const fd = new FormData()
- fd.append('multipartFile', file.file)
- UploadFile(fd).then((res) => {
- if (res.code === 200) {
- formInline.value.fileList = res.data
- // 重置当前验证
- ElMessage.success('文件上传成功')
- }
- })
-}
-const handleExceed: UploadProps['onExceed'] = (files, uploadFiles) => {
- ElMessage.warning('只能上传一个文件')
-}
-// 移除时触发
-const beforeRemove: UploadProps['beforeRemove'] = (uploadFile, uploadFiles) => {
- return ElMessageBox.confirm(
- `确认移除${uploadFile.name}文件吗 ?`,
- ).then(
- () => true,
- () => false,
-
- )
-}
-// 点击文件预览
-const uploadShow = (e: any) => {
- const URL = window.URL || window.webkitURL
- window.open(URL.createObjectURL(e.raw))
-}
-const testForm = ref({
- fileList: [],
- fileContent: '',
-})
-const handleFileChange = (files: any, fileList: any) => {
- testForm.value.fileList = fileList
- const reader = new FileReader()
- reader.readAsText(files.raw)
- // reader.onload = (e) => {
- // testForm.value.fileContent = e.target!.result?.replace(
- // /\n|\r\n/g,
- // '
',
- // )
- // }
+const setData = (newValue: object) => {
+ formInline.value = newValue
}
// 编辑获取详情的提交按钮
const submitFormDetail = () => {
@@ -223,60 +72,29 @@
}
}
// 提交
-const submitForm = (formEl: FormInstance | undefined) => {
- if (!formEl) { return }
+const submitForm = () => {
if (props.buttonType === '详情') { return submitFormDetail() }
- formEl.validate((valid, fields) => {
- if (valid) {
- ElMessageBox.confirm(
- '确认提交吗?',
- '提示',
- {
- confirmButtonText: '确认',
- cancelButtonText: '取消',
- type: 'warning',
- },
- ).then(() => {
- props.buttonType === ''
- ? getStandardListAdd(formInline.value).then((res) => {
- if (res.code === 200) {
- close()
- }
- })
- : submitFormDetail()
- })
- }
- })
-}
-// 标准实验室发生改变row类型
-interface rowReturn {
- phone: string
- director: string
-}
-// 标准实验室发生改变
-const changeDeptList = (row: object) => {
- formInline.value.laboratoryOwnerContact = row.phone
- formInline.value.laboratoryOwner = row.director
-}
-// 标准实验室清空时
-const clearDeptList = () => {
- formInline.value.laboratoryOwnerContact = null
- formInline.value.laboratoryOwner = null
-}
-// 获取详情信息
-const getInfo = () => {
- getStandardListDetail({ id: props.infoId }).then((res) => {
- Object.keys(res.data).map((item) => {
- if (typeof (res.data[item]) === 'number') {
- res.data[item] = res.data[item].toString()
- }
+ ElMessageBox.confirm(
+ '确认提交吗?',
+ '提示',
+ {
+ confirmButtonText: '确认',
+ cancelButtonText: '取消',
+ type: 'warning',
+ },
+ ).then(() => {
+ current.value = '基本信息'
+ currentCompRef.value.submitForm().validate().then(() => {
+ props.buttonType === ''
+ ? getStandardListAdd(formInline.value).then((res) => {
+ if (res.code === 200) {
+ close()
+ }
+ })
+ : submitFormDetail()
})
- formInline.value = res.data
})
}
-if (props.buttonType !== '') {
- getInfo()
-}
@@ -289,7 +107,7 @@
{{ buttonType === '详情' ? '打印' : '提交' }}
@@ -298,405 +116,17 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 上传
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
@@ -719,14 +149,8 @@
}
}
-.info-content {
- margin-top: 10px;
- padding: 30px;
- border-radius: 10px;
+.body {
background-color: #fff;
-}
-
-:deep .el-input .el-input--default .el-input--suffix {
- width: 200px !important;
+ margin-top: 10px;
}
diff --git a/src/views/device/standardEquipment/expirationRemind.vue b/src/views/device/standardEquipment/expirationRemind.vue
index 35786b2..1826c22 100644
--- a/src/views/device/standardEquipment/expirationRemind.vue
+++ b/src/views/device/standardEquipment/expirationRemind.vue
@@ -26,39 +26,47 @@
text: '标准代码',
value: 'standardNo',
width: '160',
+ align: 'center',
},
{
text: '标准名称',
value: 'standardName',
width: '90',
+ align: 'center',
},
{
text: '管理状态',
value: 'managerStateName',
width: '100',
+ align: 'center',
},
{
text: '标准所在部门',
value: 'standardLaboratoryName',
width: '120',
+ align: 'center',
},
{
text: '负责人',
value: 'standardOwnerName',
+ align: 'center',
},
{
text: '建标项目',
value: 'standardOwnerName',
+ align: 'center',
},
{
text: '筹建日期',
value: 'preparationDate',
width: '160',
+ align: 'center',
},
{
text: '有效日期',
value: 'preparationDate',
width: '160',
+ align: 'center',
},
])
const total = ref(0)
@@ -326,12 +334,8 @@
-
- 导出
-
-
- 打印
-
+
+
- 编辑
+ 详情
- 详情
+ 提醒
+import applyList from './components/applyList.vue'
// 逻辑代码
- 暂停申请
+
diff --git a/src/views/device/standardEquipment/resumeApply.vue b/src/views/device/standardEquipment/resumeApply.vue
index d4a80e8..b5896fc 100644
--- a/src/views/device/standardEquipment/resumeApply.vue
+++ b/src/views/device/standardEquipment/resumeApply.vue
@@ -1,10 +1,11 @@
- 恢复申请
+
diff --git a/src/views/device/standardEquipment/standardList.vue b/src/views/device/standardEquipment/standardList.vue
index 4f1bfdf..348ed71 100644
--- a/src/views/device/standardEquipment/standardList.vue
+++ b/src/views/device/standardEquipment/standardList.vue
@@ -29,50 +29,60 @@
text: '标准代码',
value: 'standardNo',
width: '120',
+ align: 'center',
},
{
text: '标准名称',
value: 'standardName',
width: '90',
+ align: 'center',
},
{
text: '类别',
value: 'categoryName',
width: '80',
+ align: 'center',
},
{
text: '标准等级',
value: 'standardLevelName',
width: '100',
+ align: 'center',
},
{
text: '传递范围',
value: 'transmitRange',
width: '110',
+ align: 'center',
},
{
text: '管理状态',
value: 'managerStateName',
width: '100',
+ align: 'center',
},
{
text: '标准所在部门',
value: 'standardLaboratoryName',
width: '120',
+ align: 'center',
},
{
text: '负责人',
value: 'laboratoryOwner',
+ align: 'center',
},
{
text: '筹建日期',
value: 'preparationDate',
width: '110',
+ align: 'center',
},
{
text: '备注',
value: 'remark',
width: '80',
+ align: 'center',
},
])
const total = ref(0)
@@ -250,6 +260,9 @@
buttonType.value = text
isShow.value = false
}
+const renderHeader = (e: any) => {
+ console.log(e)
+}
@@ -330,19 +343,13 @@
-
- 新建
-
-
- 导出
-
-
- 打印
-
+
+
+
diff --git a/src/views/device/stateManage/components/approvalActionDialog.vue b/src/views/device/stateManage/components/approvalActionDialog.vue
index cdc9b25..56417d6 100644
--- a/src/views/device/stateManage/components/approvalActionDialog.vue
+++ b/src/views/device/stateManage/components/approvalActionDialog.vue
@@ -1,10 +1,13 @@
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/cancel.vue b/src/views/device/stateManage/components/status/cancel.vue
new file mode 100644
index 0000000..ecb2d0c
--- /dev/null
+++ b/src/views/device/stateManage/components/status/cancel.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/drafts.vue b/src/views/device/stateManage/components/status/drafts.vue
new file mode 100644
index 0000000..226ba21
--- /dev/null
+++ b/src/views/device/stateManage/components/status/drafts.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/inApproval.vue b/src/views/device/stateManage/components/status/inApproval.vue
new file mode 100644
index 0000000..4988595
--- /dev/null
+++ b/src/views/device/stateManage/components/status/inApproval.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/passed.vue b/src/views/device/stateManage/components/status/passed.vue
new file mode 100644
index 0000000..ab87daf
--- /dev/null
+++ b/src/views/device/stateManage/components/status/passed.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/pending.vue b/src/views/device/stateManage/components/status/pending.vue
new file mode 100644
index 0000000..3e0b315
--- /dev/null
+++ b/src/views/device/stateManage/components/status/pending.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/unPassed.vue b/src/views/device/stateManage/components/status/unPassed.vue
new file mode 100644
index 0000000..8de700e
--- /dev/null
+++ b/src/views/device/stateManage/components/status/unPassed.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/templateAdd.vue b/src/views/device/stateManage/components/templateAdd.vue
index 9c4da0f..fc364c8 100644
--- a/src/views/device/stateManage/components/templateAdd.vue
+++ b/src/views/device/stateManage/components/templateAdd.vue
@@ -381,10 +381,10 @@
-
+
diff --git a/src/views/device/stateManage/components/templateList.vue b/src/views/device/stateManage/components/templateList.vue
index 6ee2e8c..aa3963f 100644
--- a/src/views/device/stateManage/components/templateList.vue
+++ b/src/views/device/stateManage/components/templateList.vue
@@ -8,6 +8,10 @@
type: String,
default: '',
},
+ title: {
+ type: String,
+ default: '',
+ },
})
// import { exportFile } from '@/utils/exportUtils'
// const { proxy } = getCurrentInstance() as any
@@ -179,15 +183,23 @@
// 同意
const agree = (row) => {
console.log(approveRef.value)
- approveRef.value.initDialog()
+ approveRef.value.initDialog({
+ radio: '1',
+ })
}
// 驳回
const reject = (row) => {
- approveRef.value.initDialog()
+ approveRef.value.initDialog({
+ radio: '3',
+ })
}
// 拒绝
const refuse = (row) => {
- approveRef.value.initDialog()
+ approveRef.value.initDialog(
+ {
+ radio: '2',
+ },
+ )
}
// 取消
const cancel = (row) => {
diff --git a/src/views/device/stateManage/components/templatePage.vue b/src/views/device/stateManage/components/templatePage.vue
index 5fb0163..fce7685 100644
--- a/src/views/device/stateManage/components/templatePage.vue
+++ b/src/views/device/stateManage/components/templatePage.vue
@@ -1,6 +1,12 @@
- 设备处置申请
+
diff --git a/src/views/device/stateManage/openApply.vue b/src/views/device/stateManage/openApply.vue
index 3c43781..35c2af6 100644
--- a/src/views/device/stateManage/openApply.vue
+++ b/src/views/device/stateManage/openApply.vue
@@ -1,13 +1,14 @@
- 设备启封申请
+
+
diff --git a/src/views/device/stateManage/scrapApply.vue b/src/views/device/stateManage/scrapApply.vue
index 7bd1a98..282ecd8 100644
--- a/src/views/device/stateManage/scrapApply.vue
+++ b/src/views/device/stateManage/scrapApply.vue
@@ -1,10 +1,10 @@
- 设备报废申请
+
diff --git a/src/views/device/stateManage/sealupApply.vue b/src/views/device/stateManage/sealupApply.vue
index ec6320b..1c8544d 100644
--- a/src/views/device/stateManage/sealupApply.vue
+++ b/src/views/device/stateManage/sealupApply.vue
@@ -1,10 +1,10 @@
- 设备封存申请
+
diff --git a/src/views/measure/bench/bench.vue b/src/views/measure/bench/bench.vue
index cb2ebe6..380779a 100644
--- a/src/views/measure/bench/bench.vue
+++ b/src/views/measure/bench/bench.vue
@@ -175,7 +175,7 @@
v-if="proxy.hasPerm('/workbench/meterTrain/line')"
title="培训计划"
width="27.8vw"
- height="40vh"
+ height="40.7vh"
>
([])
+const PubListTree = ref([])
// 获取发布单位列表
const getPubList = () => {
getDeptTreeList().then((res) => {
PubList.value = res.data
+ PubListTree.value = toTreeList(res.data, '0', true)
})
}
// 弹窗初始化
@@ -73,7 +80,8 @@
if (row.title === '新建') {
// 默认发布人和发布单位
ruleForm.createUserId = userInfo.$state.id
- ruleForm.publisher = userInfo.$state.deptId
+ ruleForm.publisher = ''
+ ruleForm.publishTime = dayjs().format('YYYY-MM-DD HH:mm:ss')
// 判断有无存储
console.log(sessionStorage.getItem(fileTypeName.value), 'sess')
if (sessionStorage.getItem(fileTypeName.value)) {
@@ -207,11 +215,12 @@
// { name: '已废止', id: '1595030083114450945', value: '3' },
// ])
watch(() => ruleForm.effectiveTime, (newVal) => {
- const diffDat = dayjs(newVal).diff(dayjs().format('YYYY-MM-DD HH:mm:ss'), 'day')
+ const diffDat = dayjs(newVal).diff(dayjs().format('YYYY-MM-DD HH:mm:ss'), 'hour')
+ console.log(diffDat)
if (diffDat < 0) {
// ruleForm.effectiveStatusName = '已废止'
- effectiveStatusName.value = '已废止'
- ruleForm.effectiveStatus = '3'
+ effectiveStatusName.value = '在使用'
+ ruleForm.effectiveStatus = '1'
}
else if (diffDat == 0) {
// ruleForm.effectiveStatusName = '在使用'
@@ -269,15 +278,20 @@
-
+
+
@@ -293,7 +307,7 @@
diff --git a/src/views/measure/person/certificateLog.vue b/src/views/measure/person/certificateLog.vue
index ca26b00..2e3322a 100644
--- a/src/views/measure/person/certificateLog.vue
+++ b/src/views/measure/person/certificateLog.vue
@@ -32,13 +32,13 @@
const loadingTable = ref(false) // 表格loading
const total = ref(0) // 数据总条数
const columns = ref([
- { text: '人员编号', value: 'staffNo', align: 'center', width: '150' },
+ { text: '人员编号', value: 'staffNo', align: 'center', width: '180' },
{ text: '姓名', value: 'name', align: 'center', width: '80' },
{ text: '性别', value: 'sex', align: 'center', width: '55' },
{ text: '工作部门', value: 'deptId', align: 'center', width: '140' },
{ text: '技术职务', value: 'technologyJob', align: 'center', width: '120' },
{ text: '行政职务', value: 'administrationJob', align: 'center', width: '90' },
- { text: '证书号', value: 'certificateNo', align: 'center', width: '150' },
+ { text: '证书号', value: 'certificateNo', align: 'center' },
{ text: '发证单位', value: 'certificateCompany', align: 'center', width: '90' },
{ text: '发证日期', value: 'certificateDate', align: 'center', width: '200' },
{ text: '证书有效日期', value: 'certificateDate', align: 'center', width: '200' },
diff --git a/src/views/measure/person/components/addPerson.vue b/src/views/measure/person/components/addPerson.vue
index 9252393..4dc1b17 100644
--- a/src/views/measure/person/components/addPerson.vue
+++ b/src/views/measure/person/components/addPerson.vue
@@ -10,7 +10,7 @@
import { getDeptTreeList } from '@/api/system/dept'
import { UploadFile } from '@/api/measure/file'
import { toTreeList } from '@/utils/structure'
-import type { userType } from '@/views/system/user/user-interface'
+import type { TreeStructure, userType } from '@/views/system/user/user-interface'
import { getDictByCode } from '@/api/system/dict'
import comTreeSelect from '@/views/system/user/selecTree.vue'
import { getStaffAdd, getStaffDetail, getStaffupdate } from '@/api/measure/person'
@@ -67,7 +67,7 @@
ruleFormRef.value?.validateField('idCard').then((res) => {
// 获取生日
const IdCard = ruleForm.value.idCard
- const birthday = `${IdCard.substring(6, 10)}-${IdCard.substring(10, 12)}-${IdCard.substring(12, 14)}`
+ const birthday = `${IdCard.substring(6, 10)}-${IdCard.substring(10, 12)}`
ruleForm.value.birthday = birthday
console.log(ruleForm.value)
})
@@ -86,12 +86,14 @@
const deptProps = reactive({
parent: 'pid', value: 'id', label: 'name', children: 'children',
})
-const PubList = ref([])
+const PubList = ref([])
+const PubListTree = ref([])
// 获取组织列表
const getPubList = () => {
getDeptTreeList().then((res) => {
// 转成树结构
- PubList.value = toTreeList(res.data, '0', true)
+ PubList.value = res.data
+ PubListTree.value = toTreeList(res.data, '0', true)
})
}
const sexList = ref<{ id: string; value: string; name: string }[]>()
@@ -343,7 +345,7 @@
getTechnologyJobList()
getAdministrationJob()
if (row.title === '新建') {
- console.log()
+ // ruleForm.value.deptId = ''
}
else {
getStaffDetail({ ...row }).then((res) => {
@@ -371,7 +373,7 @@
-
-
+
+
@@ -404,20 +405,36 @@
-
+
+
+
+ 选择
+
+
+
-
-
-
-
+
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
@@ -425,82 +442,52 @@
-
+
-
-
-
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
@@ -551,6 +538,7 @@
border-radius: 8px;
padding-top: 10px;
margin-top: 10px;
+ padding-right: 10px;
}
.header {
@@ -578,6 +566,20 @@
display: none;
}
+ :deep(.el-icon.avatar-uploader-icon) {
+ font-size: 28px;
+ color: #8c939d;
+ width: 190px;
+ height: 250px;
+ text-align: center;
+ }
+
+ :deep(.avatar-uploader .avatar) {
+ width: 190px;
+ height: 250px;
+ display: block;
+ }
+
.isDetail {
::v-deep {
.el-form-item.is-required:not(.is-no-asterisk) .el-form-item__label-wrap > .el-form-item__label::before,
@@ -591,12 +593,16 @@
.marg {
margin-top: 20px;
}
+
+.marg-item {
+ margin-top: 20px;
+}
@@ -618,8 +624,8 @@
.el-icon.avatar-uploader-icon {
font-size: 28px;
color: #8c939d;
- width: 178px;
- height: 178px;
+ width: 220px;
+ height: 320px;
text-align: center;
}
diff --git a/src/views/measure/person/components/addRecord.vue b/src/views/measure/person/components/addRecord.vue
index 2928870..ae48f11 100644
--- a/src/views/measure/person/components/addRecord.vue
+++ b/src/views/measure/person/components/addRecord.vue
@@ -9,7 +9,7 @@
import { getUserList } from '@/api/system/user'
import { getDeptTreeList } from '@/api/system/dept'
import { toTreeList } from '@/utils/structure'
-import type { userType } from '@/views/system/user/user-interface'
+import type { TreeStructure, userType } from '@/views/system/user/user-interface'
import { getDictByCode } from '@/api/system/dict'
import comTreeSelect from '@/views/system/user/selecTree.vue'
import { addCertificateList, getCertificateDetail, getCertificateUpdate } from '@/api/measure/person'
@@ -59,12 +59,14 @@
const deptProps = reactive({
parent: 'pid', value: 'id', label: 'name', children: 'children',
})
-const PubList = ref([])
+const PubList = ref
([])
+const PubListTree = ref([])
// 获取组织列表
const getPubList = () => {
getDeptTreeList().then((res) => {
// 转成树结构
- PubList.value = toTreeList(res.data, '0', true)
+ PubList.value = res.data
+ PubListTree.value = toTreeList(res.data, '0', true)
})
}
const sexList = ref<{ id: string; value: string; name: string }[]>()
@@ -330,7 +332,13 @@
-
+
+
+
+ 选择
+
+
+
@@ -377,10 +385,12 @@
-
+
+
+
diff --git a/src/views/measure/person/components/personListDialog.vue b/src/views/measure/person/components/personListDialog.vue
index 952da9d..5e20d1b 100644
--- a/src/views/measure/person/components/personListDialog.vue
+++ b/src/views/measure/person/components/personListDialog.vue
@@ -1,6 +1,6 @@
diff --git a/src/views/measure/source/components/listPage.vue b/src/views/measure/source/components/listPage.vue
index a9c9509..70a3518 100644
--- a/src/views/measure/source/components/listPage.vue
+++ b/src/views/measure/source/components/listPage.vue
@@ -17,6 +17,7 @@
default: () => [],
},
})
+const emit = defineEmits(['setData']) // 关闭
// 查询条件
const listQuery: Ref = ref({
supplierNo: '', // 业务内容
@@ -28,53 +29,63 @@
// 控制是否显示新增页面
const show = ref(true)
// 表格数据
-const list = ref([])
+const list = ref([
+ { name: '张三' },
+])
// 总数
-const total = ref(20)
+const total = ref(0)
// 表头
const columns = ref([
{
text: '溯源供方编号',
- value: 'supplierNo',
- width: '160',
+ value: 'name',
+ width: '120',
+ align: 'center',
},
{
text: '溯源供方名称',
- value: 'supplierName',
+ value: 'name',
width: '120',
+ align: 'center',
},
{
text: '业务内容',
- value: 'businessContent',
+ value: 'name',
+ align: 'center',
},
{
text: '业务资质',
- value: 'briefName',
+ value: 'name',
+ align: 'center',
},
{
text: '负责人',
- value: 'director',
+ value: 'name',
+ align: 'center',
},
{
text: '联系方式',
- value: 'mobile',
+ value: 'name',
+ align: 'center',
},
{
text: '地址',
- value: 'companyCity',
+ value: 'name',
+ align: 'center',
},
{
text: '创建时间',
- value: 'createTime',
- width: '200',
+ value: 'name',
+ align: 'center',
},
{
text: '备注',
- value: 'remark',
+ value: 'name',
+ align: 'center',
},
])
-const buttonArray = ref([])
+const buttonArray = ref([])
// 选中的内容
const checkoutList = ref([])
// 文件上传input
@@ -98,20 +109,24 @@
loadingTable.value = false
})
}
-fetchData(true)
// 多选发生改变时
const handleSelectionChange = (e: any) => {
checkoutList.value = e
}
+// 点击删除和编辑的参数类型
+interface rowReturn {
+ id: string
+ supplierName: string
+}
// 点击编辑/详情
-const handleEdit = (index: string, row: object, value: string) => {
+const handleEdit = (index: string, row: rowReturn, value: string) => {
buttonArray.value = ['同意', '驳回', '拒绝']
buttonType.value = value
infoId.value = row.id
show.value = false
}
// 点击删除
-const handleDelete = (index: string, row: object) => {
+const handleDelete = (index: string, row: rowReturn) => {
ElMessageBox.confirm(
`确认删除${row.supplierName}吗?`,
'提示',
@@ -153,7 +168,7 @@
// 关闭编辑
const close = () => {
show.value = true
- fetchData(true)
+ // fetchData(true)
}
// 导出
const exportExcelBtn = () => {
@@ -218,30 +233,24 @@
upload()
}
const add = () => {
+ buttonArray.value = ['提交', '保存']
buttonType.value = ''
show.value = false
}
const exportAll = () => {
exportExcelBtn()
}
+watch(() => show.value, (newVal) => {
+// 变化后存储
+ emit('setData', newVal)
+},
+{ deep: true, immediate: true })
// 打印
const printObj = ref({
id: 'print', // 需要打印元素的id
popTitle: '溯源供方编号模板', // 打印配置页上方的标题
extraHead: '', // 最上方的头部文字,附加在head标签上的额外标签,使用逗号分割
preview: false, // 是否启动预览模式,默认是false
- previewBeforeOpenCallback() { console.log('正在加载预览窗口!') }, // 预览窗口打开之前的callback
- previewOpenCallback() { console.log('已经加载完预览窗口,预览打开了!') }, // 预览窗口打开时的callback
- beforeOpenCallback() { console.log('开始打印之前!') }, // 开始打印之前的callback
- openCallback() { console.log('执行打印了!') }, // 调用打印时的callback
- closeCallback() { console.log('关闭了打印工具!') }, // 关闭打印的callback(无法区分确认or取消)
- clickMounted() { console.log('点击v-print绑定的按钮了!') },
- // url: 'http://localhost:8080/', // 打印指定的URL,确保同源策略相同
- // asyncUrl (reslove) {
- // setTimeout(() => {
- // reslove('http://localhost:8080/')
- // }, 2000)
- // },
standard: '',
extarCss: '',
})
@@ -285,15 +294,9 @@
-
- 新建
-
-
- 导出
-
-
- 打印
-
+
+
+
-
- 批量导入
-
-
- 模板下载
-
-
- 新建
-
-
- 导出
-
-
- 打印
-
+
+
+
+
+
-
+
diff --git a/src/views/device/standardEquipment/components/listApply/all.vue b/src/views/device/standardEquipment/components/listApply/all.vue
new file mode 100644
index 0000000..d124307
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/all.vue
@@ -0,0 +1,17 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/approvalPending.vue b/src/views/device/standardEquipment/components/listApply/approvalPending.vue
new file mode 100644
index 0000000..8a7a8bc
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/approvalPending.vue
@@ -0,0 +1,16 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/canceled.vue b/src/views/device/standardEquipment/components/listApply/canceled.vue
new file mode 100644
index 0000000..3b9657c
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/canceled.vue
@@ -0,0 +1,15 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/draftBox.vue b/src/views/device/standardEquipment/components/listApply/draftBox.vue
new file mode 100644
index 0000000..43d7b75
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/draftBox.vue
@@ -0,0 +1,15 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue b/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue
new file mode 100644
index 0000000..c13f95a
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/examineAndApprove.vue
@@ -0,0 +1,17 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/listPage.vue b/src/views/device/standardEquipment/components/listApply/listPage.vue
new file mode 100644
index 0000000..5133627
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/listPage.vue
@@ -0,0 +1,493 @@
+
+
+
+
+
+
+
+
+
+
+
+ 同意
+
+
+ 驳回
+
+
+ 拒绝
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 提交
+
+
+ 取消
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/listPageAdd.vue b/src/views/device/standardEquipment/components/listApply/listPageAdd.vue
new file mode 100644
index 0000000..eb506ec
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/listPageAdd.vue
@@ -0,0 +1,1021 @@
+
+
+
+
+
+
+ 基本信息
+
+
+
+ {{ item }}
+
+
+ 关闭
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 上传
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 完成
+
+
+
+
+
+
+
+ 同意
+
+
+ 驳回
+
+
+ 拒绝
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 提交
+
+
+ 取消
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/notPass.vue b/src/views/device/standardEquipment/components/listApply/notPass.vue
new file mode 100644
index 0000000..5a4b817
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/notPass.vue
@@ -0,0 +1,10 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/listApply/passed.vue b/src/views/device/standardEquipment/components/listApply/passed.vue
new file mode 100644
index 0000000..31cd21c
--- /dev/null
+++ b/src/views/device/standardEquipment/components/listApply/passed.vue
@@ -0,0 +1,10 @@
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/addRow.vue b/src/views/device/standardEquipment/components/standardList/addRow.vue
new file mode 100644
index 0000000..9f2bf81
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/addRow.vue
@@ -0,0 +1,270 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/baseInfo.vue b/src/views/device/standardEquipment/components/standardList/baseInfo.vue
new file mode 100644
index 0000000..c47ad1d
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/baseInfo.vue
@@ -0,0 +1,675 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 上传
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardList/temptable.vue b/src/views/device/standardEquipment/components/standardList/temptable.vue
new file mode 100644
index 0000000..20eb800
--- /dev/null
+++ b/src/views/device/standardEquipment/components/standardList/temptable.vue
@@ -0,0 +1,387 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ (searchQuery.offset - 1) * searchQuery.limit + scope.$index + 1 }}
+
+
+
+
+
+
+
+
diff --git a/src/views/device/standardEquipment/components/standardListAdd.vue b/src/views/device/standardEquipment/components/standardListAdd.vue
index ea13629..348bb41 100644
--- a/src/views/device/standardEquipment/components/standardListAdd.vue
+++ b/src/views/device/standardEquipment/components/standardListAdd.vue
@@ -3,6 +3,8 @@
import { ElMessage, ElMessageBox } from 'element-plus'
import type { FormInstance, UploadProps, UploadUserFile } from 'element-plus'
import type { IOptions } from '../standard_interface'
+import baseInfo from './standardList/baseInfo.vue'
+import table from './standardList/temptable.vue'
import { getStaffList } from '@/api/measure/person'
import { getTypeSelect } from '@/api/system/price'
import { getStandardLisUpdate, getStandardListAdd, getStandardListDetail, getUsersDept } from '@/api/device/standard'
@@ -17,188 +19,35 @@
default: '',
},
})
-const emit = defineEmits(['close']) // 关闭
-const ruleFormRef = ref()
-// 逻辑代码
-const formInline = ref({
- assessDate: '',
- assessmentUnit: '',
- category: null,
- categoryName: '',
- constructionStandardProject: '',
- constructionStandardUnitName: '',
- contactInfo: '',
- createTime: null,
- createUser: null,
- id: '',
- isDel: null,
- laboratoryOwner: null,
- laboratoryOwnerContact: null,
- laboratoryOwnerName: null,
- managerState: null,
- managerStateName: '',
- measureMajor: null,
- fileList: [],
- measureMajorName: '',
- mesureRange: '',
- organizeNo: '',
- preparationDate: '',
- projectNo: '',
- remark: '',
- standardHumidity: null,
- standardLaboratory: null,
- standardLaboratoryName: '',
- standardLevel: null,
- standardLevelName: '',
- standardName: '',
- standardNo: '',
- standardOwner: null,
- standardOwnerName: '',
- standardTemperature: null,
- totalInvestment: null,
- transmitRange: null,
- transmitRangeName: '',
- uncertainty: '',
- updateTime: null,
- version: null,
-})
-const checkTypeOptions = ref([])
-
-const standardOwnerOptions = ref([]) // 标准负责人
-const fileList = ref([]) // 文件对象数组
-const measureMajorList = ref([]) // 计量专业下拉框
-const standardManagerStateList = ref([]) // 管理状态下拉框
-const standardLevelList = ref([]) // 标准等级下拉框
-const transmitRangeList = ref([]) // 传递范围下拉框
-// 标准所在部门下拉框
-const standardUsersDeptList = ref([])
-// 获取下拉框
-const getSelectList = (code: string) => {
- getTypeSelect(code).then((res) => {
- if (code === 'measureMajor') {
- measureMajorList.value = res.data
- }
- else if (code === 'standardManagerState') {
- standardManagerStateList.value = res.data
- }
- else if (code === 'standardLevel') {
- standardLevelList.value = res.data
- }
- else if (code === 'transmitRange') {
- transmitRangeList.value = res.data
- }
- else if (code === 'standardCategory') {
- checkTypeOptions.value = res.data
- }
- })
+const emit = defineEmits(['close'])
+// 定义数据
+const formInline = ref({})
+// 关闭
+interface menuType {
+ name: string
+ comp: any
}
-getSelectList('measureMajor') // 获取计量专业下拉框
-getSelectList('standardManagerState') // 获取管理状态下拉框
-getSelectList('standardLevel') // 获取标准等级下拉框
-getSelectList('transmitRange') // 获取传递范围下拉框
-getSelectList('standardCategory') // 获取类别下拉框
-// 获取部门信息
-getUsersDept({
- createTime: '',
- director: '',
- meterMajor: '',
- organizeName: '',
- organizeNo: '',
- organizeType: '2',
- pdeptId: null,
- offset: 1,
- limit: 999999,
-}).then((res) => {
- standardUsersDeptList.value = res.data.rows
+const menu = shallowRef([
+ { name: '基本信息', comp: baseInfo },
+ { name: '计量人员', comp: table },
+ { name: '标准配套设备', comp: table },
+ { name: '检定规程', comp: table },
+ { name: '重复性考核记录', comp: table },
+ { name: '稳定性考核记录', comp: table },
+ { name: '证书管理', comp: table },
+])
+const currentCompRef = ref()
+const current = ref('基本信息')
+const currentComp = shallowRef(baseInfo)
+watch(current, (newValue) => {
+ currentComp.value = menu.value.filter(item => item.name === newValue)[0].comp
})
-// 获取到标准负责人数组
-const getStandardOwnerOptions = () => {
- const params = {
- staffNo: '', // 人员编号
- name: '', // 姓名
- deptId: '', // 工作部门
- major: '', // 计量专业
- verifierCertificateNo: '', // 证书号
- certificateStatus: '', // 证书状态
- limit: 100000,
- offset: 1,
- }
- getStaffList(params).then((res) => {
- standardOwnerOptions.value = res.data.records
- })
-}
-getStandardOwnerOptions()
// 关闭
const close = () => {
emit('close')
}
-const rules = ref({
- standardName: [{ required: true, message: '标准名称不能为空', trigger: 'blur' }],
- projectNo: [{ required: true, message: '项目编号不能为空', trigger: 'blur' }],
- constructionStandardProject: [{ required: true, message: '建标项目不能为空', trigger: 'blur' }],
- organizeNo: [{ required: true, message: '组织机构代码不能为空', trigger: 'blur' }],
- constructionStandardUnitName: [{ required: true, message: '建标单位名称不能为空', trigger: 'blur' }],
- standardOwner: [{ required: true, message: '标准负责人不能为空', trigger: 'blur' }],
- contactInfo: [{ required: true, message: '联系方式不能为空', trigger: 'blur' }],
- category: [{ required: true, message: '类 别不能为空', trigger: 'blur' }],
- standardLevel: [{ required: true, message: '标准等级不能为空', trigger: 'blur' }],
- transmitRange: [{ required: true, message: '传递范围不能为空', trigger: 'blur' }],
- preparationDate: [{ required: true, message: '筹建日期不能为空', trigger: 'blur' }],
- managerState: [{ required: true, message: '管理状态不能为空', trigger: 'blur' }],
- measureMajor: [{ required: true, message: '计量专业不能为空', trigger: 'blur' }],
- assessmentUnit: [{ required: true, message: '考核单位不能为空', trigger: 'blur' }],
- assessDate: [{ required: true, message: '考核日期不能为空', trigger: 'blur' }],
- uncertainty: [{ required: true, message: '不确定度不能为空', trigger: 'blur' }],
- mesureRange: [{ required: true, message: '测量范围不能为空', trigger: 'blur' }],
- standardTemperature: [{ required: true, message: '标准温度不能为空', trigger: 'blur' },
- { pattern: /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/, message: '标准温度只能为数字', trigger: 'blur' }],
- standardHumidity: [{ required: true, message: '标准湿度不能为空', trigger: 'blur' },
- { pattern: /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/, message: '标准湿度只能为数字', trigger: 'blur' }],
-}) // 表单验证规则
-// 上传请求
-const uploadQuarterlyEvaluateFile = (file: File) => {
- const fd = new FormData()
- fd.append('multipartFile', file.file)
- UploadFile(fd).then((res) => {
- if (res.code === 200) {
- formInline.value.fileList = res.data
- // 重置当前验证
- ElMessage.success('文件上传成功')
- }
- })
-}
-const handleExceed: UploadProps['onExceed'] = (files, uploadFiles) => {
- ElMessage.warning('只能上传一个文件')
-}
-// 移除时触发
-const beforeRemove: UploadProps['beforeRemove'] = (uploadFile, uploadFiles) => {
- return ElMessageBox.confirm(
- `确认移除${uploadFile.name}文件吗 ?`,
- ).then(
- () => true,
- () => false,
-
- )
-}
-// 点击文件预览
-const uploadShow = (e: any) => {
- const URL = window.URL || window.webkitURL
- window.open(URL.createObjectURL(e.raw))
-}
-const testForm = ref({
- fileList: [],
- fileContent: '',
-})
-const handleFileChange = (files: any, fileList: any) => {
- testForm.value.fileList = fileList
- const reader = new FileReader()
- reader.readAsText(files.raw)
- // reader.onload = (e) => {
- // testForm.value.fileContent = e.target!.result?.replace(
- // /\n|\r\n/g,
- // '
',
- // )
- // }
+const setData = (newValue: object) => {
+ formInline.value = newValue
}
// 编辑获取详情的提交按钮
const submitFormDetail = () => {
@@ -223,60 +72,29 @@
}
}
// 提交
-const submitForm = (formEl: FormInstance | undefined) => {
- if (!formEl) { return }
+const submitForm = () => {
if (props.buttonType === '详情') { return submitFormDetail() }
- formEl.validate((valid, fields) => {
- if (valid) {
- ElMessageBox.confirm(
- '确认提交吗?',
- '提示',
- {
- confirmButtonText: '确认',
- cancelButtonText: '取消',
- type: 'warning',
- },
- ).then(() => {
- props.buttonType === ''
- ? getStandardListAdd(formInline.value).then((res) => {
- if (res.code === 200) {
- close()
- }
- })
- : submitFormDetail()
- })
- }
- })
-}
-// 标准实验室发生改变row类型
-interface rowReturn {
- phone: string
- director: string
-}
-// 标准实验室发生改变
-const changeDeptList = (row: object) => {
- formInline.value.laboratoryOwnerContact = row.phone
- formInline.value.laboratoryOwner = row.director
-}
-// 标准实验室清空时
-const clearDeptList = () => {
- formInline.value.laboratoryOwnerContact = null
- formInline.value.laboratoryOwner = null
-}
-// 获取详情信息
-const getInfo = () => {
- getStandardListDetail({ id: props.infoId }).then((res) => {
- Object.keys(res.data).map((item) => {
- if (typeof (res.data[item]) === 'number') {
- res.data[item] = res.data[item].toString()
- }
+ ElMessageBox.confirm(
+ '确认提交吗?',
+ '提示',
+ {
+ confirmButtonText: '确认',
+ cancelButtonText: '取消',
+ type: 'warning',
+ },
+ ).then(() => {
+ current.value = '基本信息'
+ currentCompRef.value.submitForm().validate().then(() => {
+ props.buttonType === ''
+ ? getStandardListAdd(formInline.value).then((res) => {
+ if (res.code === 200) {
+ close()
+ }
+ })
+ : submitFormDetail()
})
- formInline.value = res.data
})
}
-if (props.buttonType !== '') {
- getInfo()
-}
@@ -289,7 +107,7 @@
{{ buttonType === '详情' ? '打印' : '提交' }}
@@ -298,405 +116,17 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 上传
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
@@ -719,14 +149,8 @@
}
}
-.info-content {
- margin-top: 10px;
- padding: 30px;
- border-radius: 10px;
+.body {
background-color: #fff;
-}
-
-:deep .el-input .el-input--default .el-input--suffix {
- width: 200px !important;
+ margin-top: 10px;
}
diff --git a/src/views/device/standardEquipment/expirationRemind.vue b/src/views/device/standardEquipment/expirationRemind.vue
index 35786b2..1826c22 100644
--- a/src/views/device/standardEquipment/expirationRemind.vue
+++ b/src/views/device/standardEquipment/expirationRemind.vue
@@ -26,39 +26,47 @@
text: '标准代码',
value: 'standardNo',
width: '160',
+ align: 'center',
},
{
text: '标准名称',
value: 'standardName',
width: '90',
+ align: 'center',
},
{
text: '管理状态',
value: 'managerStateName',
width: '100',
+ align: 'center',
},
{
text: '标准所在部门',
value: 'standardLaboratoryName',
width: '120',
+ align: 'center',
},
{
text: '负责人',
value: 'standardOwnerName',
+ align: 'center',
},
{
text: '建标项目',
value: 'standardOwnerName',
+ align: 'center',
},
{
text: '筹建日期',
value: 'preparationDate',
width: '160',
+ align: 'center',
},
{
text: '有效日期',
value: 'preparationDate',
width: '160',
+ align: 'center',
},
])
const total = ref(0)
@@ -326,12 +334,8 @@
-
- 导出
-
-
- 打印
-
+
+
- 编辑
+ 详情
- 详情
+ 提醒
+import applyList from './components/applyList.vue'
// 逻辑代码
- 暂停申请
+
diff --git a/src/views/device/standardEquipment/resumeApply.vue b/src/views/device/standardEquipment/resumeApply.vue
index d4a80e8..b5896fc 100644
--- a/src/views/device/standardEquipment/resumeApply.vue
+++ b/src/views/device/standardEquipment/resumeApply.vue
@@ -1,10 +1,11 @@
- 恢复申请
+
diff --git a/src/views/device/standardEquipment/standardList.vue b/src/views/device/standardEquipment/standardList.vue
index 4f1bfdf..348ed71 100644
--- a/src/views/device/standardEquipment/standardList.vue
+++ b/src/views/device/standardEquipment/standardList.vue
@@ -29,50 +29,60 @@
text: '标准代码',
value: 'standardNo',
width: '120',
+ align: 'center',
},
{
text: '标准名称',
value: 'standardName',
width: '90',
+ align: 'center',
},
{
text: '类别',
value: 'categoryName',
width: '80',
+ align: 'center',
},
{
text: '标准等级',
value: 'standardLevelName',
width: '100',
+ align: 'center',
},
{
text: '传递范围',
value: 'transmitRange',
width: '110',
+ align: 'center',
},
{
text: '管理状态',
value: 'managerStateName',
width: '100',
+ align: 'center',
},
{
text: '标准所在部门',
value: 'standardLaboratoryName',
width: '120',
+ align: 'center',
},
{
text: '负责人',
value: 'laboratoryOwner',
+ align: 'center',
},
{
text: '筹建日期',
value: 'preparationDate',
width: '110',
+ align: 'center',
},
{
text: '备注',
value: 'remark',
width: '80',
+ align: 'center',
},
])
const total = ref(0)
@@ -250,6 +260,9 @@
buttonType.value = text
isShow.value = false
}
+const renderHeader = (e: any) => {
+ console.log(e)
+}
@@ -330,19 +343,13 @@
-
- 新建
-
-
- 导出
-
-
- 打印
-
+
+
+
diff --git a/src/views/device/stateManage/components/approvalActionDialog.vue b/src/views/device/stateManage/components/approvalActionDialog.vue
index cdc9b25..56417d6 100644
--- a/src/views/device/stateManage/components/approvalActionDialog.vue
+++ b/src/views/device/stateManage/components/approvalActionDialog.vue
@@ -1,10 +1,13 @@
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/cancel.vue b/src/views/device/stateManage/components/status/cancel.vue
new file mode 100644
index 0000000..ecb2d0c
--- /dev/null
+++ b/src/views/device/stateManage/components/status/cancel.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/drafts.vue b/src/views/device/stateManage/components/status/drafts.vue
new file mode 100644
index 0000000..226ba21
--- /dev/null
+++ b/src/views/device/stateManage/components/status/drafts.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/inApproval.vue b/src/views/device/stateManage/components/status/inApproval.vue
new file mode 100644
index 0000000..4988595
--- /dev/null
+++ b/src/views/device/stateManage/components/status/inApproval.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/passed.vue b/src/views/device/stateManage/components/status/passed.vue
new file mode 100644
index 0000000..ab87daf
--- /dev/null
+++ b/src/views/device/stateManage/components/status/passed.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/pending.vue b/src/views/device/stateManage/components/status/pending.vue
new file mode 100644
index 0000000..3e0b315
--- /dev/null
+++ b/src/views/device/stateManage/components/status/pending.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/status/unPassed.vue b/src/views/device/stateManage/components/status/unPassed.vue
new file mode 100644
index 0000000..8de700e
--- /dev/null
+++ b/src/views/device/stateManage/components/status/unPassed.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/views/device/stateManage/components/templateAdd.vue b/src/views/device/stateManage/components/templateAdd.vue
index 9c4da0f..fc364c8 100644
--- a/src/views/device/stateManage/components/templateAdd.vue
+++ b/src/views/device/stateManage/components/templateAdd.vue
@@ -381,10 +381,10 @@
-
+
diff --git a/src/views/device/stateManage/components/templateList.vue b/src/views/device/stateManage/components/templateList.vue
index 6ee2e8c..aa3963f 100644
--- a/src/views/device/stateManage/components/templateList.vue
+++ b/src/views/device/stateManage/components/templateList.vue
@@ -8,6 +8,10 @@
type: String,
default: '',
},
+ title: {
+ type: String,
+ default: '',
+ },
})
// import { exportFile } from '@/utils/exportUtils'
// const { proxy } = getCurrentInstance() as any
@@ -179,15 +183,23 @@
// 同意
const agree = (row) => {
console.log(approveRef.value)
- approveRef.value.initDialog()
+ approveRef.value.initDialog({
+ radio: '1',
+ })
}
// 驳回
const reject = (row) => {
- approveRef.value.initDialog()
+ approveRef.value.initDialog({
+ radio: '3',
+ })
}
// 拒绝
const refuse = (row) => {
- approveRef.value.initDialog()
+ approveRef.value.initDialog(
+ {
+ radio: '2',
+ },
+ )
}
// 取消
const cancel = (row) => {
diff --git a/src/views/device/stateManage/components/templatePage.vue b/src/views/device/stateManage/components/templatePage.vue
index 5fb0163..fce7685 100644
--- a/src/views/device/stateManage/components/templatePage.vue
+++ b/src/views/device/stateManage/components/templatePage.vue
@@ -1,6 +1,12 @@
- 设备处置申请
+
diff --git a/src/views/device/stateManage/openApply.vue b/src/views/device/stateManage/openApply.vue
index 3c43781..35c2af6 100644
--- a/src/views/device/stateManage/openApply.vue
+++ b/src/views/device/stateManage/openApply.vue
@@ -1,13 +1,14 @@
- 设备启封申请
+
+
diff --git a/src/views/device/stateManage/scrapApply.vue b/src/views/device/stateManage/scrapApply.vue
index 7bd1a98..282ecd8 100644
--- a/src/views/device/stateManage/scrapApply.vue
+++ b/src/views/device/stateManage/scrapApply.vue
@@ -1,10 +1,10 @@
- 设备报废申请
+
diff --git a/src/views/device/stateManage/sealupApply.vue b/src/views/device/stateManage/sealupApply.vue
index ec6320b..1c8544d 100644
--- a/src/views/device/stateManage/sealupApply.vue
+++ b/src/views/device/stateManage/sealupApply.vue
@@ -1,10 +1,10 @@
- 设备封存申请
+
diff --git a/src/views/measure/bench/bench.vue b/src/views/measure/bench/bench.vue
index cb2ebe6..380779a 100644
--- a/src/views/measure/bench/bench.vue
+++ b/src/views/measure/bench/bench.vue
@@ -175,7 +175,7 @@
v-if="proxy.hasPerm('/workbench/meterTrain/line')"
title="培训计划"
width="27.8vw"
- height="40vh"
+ height="40.7vh"
>
([])
+const PubListTree = ref([])
// 获取发布单位列表
const getPubList = () => {
getDeptTreeList().then((res) => {
PubList.value = res.data
+ PubListTree.value = toTreeList(res.data, '0', true)
})
}
// 弹窗初始化
@@ -73,7 +80,8 @@
if (row.title === '新建') {
// 默认发布人和发布单位
ruleForm.createUserId = userInfo.$state.id
- ruleForm.publisher = userInfo.$state.deptId
+ ruleForm.publisher = ''
+ ruleForm.publishTime = dayjs().format('YYYY-MM-DD HH:mm:ss')
// 判断有无存储
console.log(sessionStorage.getItem(fileTypeName.value), 'sess')
if (sessionStorage.getItem(fileTypeName.value)) {
@@ -207,11 +215,12 @@
// { name: '已废止', id: '1595030083114450945', value: '3' },
// ])
watch(() => ruleForm.effectiveTime, (newVal) => {
- const diffDat = dayjs(newVal).diff(dayjs().format('YYYY-MM-DD HH:mm:ss'), 'day')
+ const diffDat = dayjs(newVal).diff(dayjs().format('YYYY-MM-DD HH:mm:ss'), 'hour')
+ console.log(diffDat)
if (diffDat < 0) {
// ruleForm.effectiveStatusName = '已废止'
- effectiveStatusName.value = '已废止'
- ruleForm.effectiveStatus = '3'
+ effectiveStatusName.value = '在使用'
+ ruleForm.effectiveStatus = '1'
}
else if (diffDat == 0) {
// ruleForm.effectiveStatusName = '在使用'
@@ -269,15 +278,20 @@
-
+
+
@@ -293,7 +307,7 @@
diff --git a/src/views/measure/person/certificateLog.vue b/src/views/measure/person/certificateLog.vue
index ca26b00..2e3322a 100644
--- a/src/views/measure/person/certificateLog.vue
+++ b/src/views/measure/person/certificateLog.vue
@@ -32,13 +32,13 @@
const loadingTable = ref(false) // 表格loading
const total = ref(0) // 数据总条数
const columns = ref([
- { text: '人员编号', value: 'staffNo', align: 'center', width: '150' },
+ { text: '人员编号', value: 'staffNo', align: 'center', width: '180' },
{ text: '姓名', value: 'name', align: 'center', width: '80' },
{ text: '性别', value: 'sex', align: 'center', width: '55' },
{ text: '工作部门', value: 'deptId', align: 'center', width: '140' },
{ text: '技术职务', value: 'technologyJob', align: 'center', width: '120' },
{ text: '行政职务', value: 'administrationJob', align: 'center', width: '90' },
- { text: '证书号', value: 'certificateNo', align: 'center', width: '150' },
+ { text: '证书号', value: 'certificateNo', align: 'center' },
{ text: '发证单位', value: 'certificateCompany', align: 'center', width: '90' },
{ text: '发证日期', value: 'certificateDate', align: 'center', width: '200' },
{ text: '证书有效日期', value: 'certificateDate', align: 'center', width: '200' },
diff --git a/src/views/measure/person/components/addPerson.vue b/src/views/measure/person/components/addPerson.vue
index 9252393..4dc1b17 100644
--- a/src/views/measure/person/components/addPerson.vue
+++ b/src/views/measure/person/components/addPerson.vue
@@ -10,7 +10,7 @@
import { getDeptTreeList } from '@/api/system/dept'
import { UploadFile } from '@/api/measure/file'
import { toTreeList } from '@/utils/structure'
-import type { userType } from '@/views/system/user/user-interface'
+import type { TreeStructure, userType } from '@/views/system/user/user-interface'
import { getDictByCode } from '@/api/system/dict'
import comTreeSelect from '@/views/system/user/selecTree.vue'
import { getStaffAdd, getStaffDetail, getStaffupdate } from '@/api/measure/person'
@@ -67,7 +67,7 @@
ruleFormRef.value?.validateField('idCard').then((res) => {
// 获取生日
const IdCard = ruleForm.value.idCard
- const birthday = `${IdCard.substring(6, 10)}-${IdCard.substring(10, 12)}-${IdCard.substring(12, 14)}`
+ const birthday = `${IdCard.substring(6, 10)}-${IdCard.substring(10, 12)}`
ruleForm.value.birthday = birthday
console.log(ruleForm.value)
})
@@ -86,12 +86,14 @@
const deptProps = reactive({
parent: 'pid', value: 'id', label: 'name', children: 'children',
})
-const PubList = ref([])
+const PubList = ref([])
+const PubListTree = ref([])
// 获取组织列表
const getPubList = () => {
getDeptTreeList().then((res) => {
// 转成树结构
- PubList.value = toTreeList(res.data, '0', true)
+ PubList.value = res.data
+ PubListTree.value = toTreeList(res.data, '0', true)
})
}
const sexList = ref<{ id: string; value: string; name: string }[]>()
@@ -343,7 +345,7 @@
getTechnologyJobList()
getAdministrationJob()
if (row.title === '新建') {
- console.log()
+ // ruleForm.value.deptId = ''
}
else {
getStaffDetail({ ...row }).then((res) => {
@@ -371,7 +373,7 @@
-
-
+
+
@@ -404,20 +405,36 @@
-
+
+
+
+ 选择
+
+
+
-
-
-
-
+
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
@@ -425,82 +442,52 @@
-
+
-
-
-
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
@@ -551,6 +538,7 @@
border-radius: 8px;
padding-top: 10px;
margin-top: 10px;
+ padding-right: 10px;
}
.header {
@@ -578,6 +566,20 @@
display: none;
}
+ :deep(.el-icon.avatar-uploader-icon) {
+ font-size: 28px;
+ color: #8c939d;
+ width: 190px;
+ height: 250px;
+ text-align: center;
+ }
+
+ :deep(.avatar-uploader .avatar) {
+ width: 190px;
+ height: 250px;
+ display: block;
+ }
+
.isDetail {
::v-deep {
.el-form-item.is-required:not(.is-no-asterisk) .el-form-item__label-wrap > .el-form-item__label::before,
@@ -591,12 +593,16 @@
.marg {
margin-top: 20px;
}
+
+.marg-item {
+ margin-top: 20px;
+}
@@ -618,8 +624,8 @@
.el-icon.avatar-uploader-icon {
font-size: 28px;
color: #8c939d;
- width: 178px;
- height: 178px;
+ width: 220px;
+ height: 320px;
text-align: center;
}
diff --git a/src/views/measure/person/components/addRecord.vue b/src/views/measure/person/components/addRecord.vue
index 2928870..ae48f11 100644
--- a/src/views/measure/person/components/addRecord.vue
+++ b/src/views/measure/person/components/addRecord.vue
@@ -9,7 +9,7 @@
import { getUserList } from '@/api/system/user'
import { getDeptTreeList } from '@/api/system/dept'
import { toTreeList } from '@/utils/structure'
-import type { userType } from '@/views/system/user/user-interface'
+import type { TreeStructure, userType } from '@/views/system/user/user-interface'
import { getDictByCode } from '@/api/system/dict'
import comTreeSelect from '@/views/system/user/selecTree.vue'
import { addCertificateList, getCertificateDetail, getCertificateUpdate } from '@/api/measure/person'
@@ -59,12 +59,14 @@
const deptProps = reactive({
parent: 'pid', value: 'id', label: 'name', children: 'children',
})
-const PubList = ref([])
+const PubList = ref
([])
+const PubListTree = ref([])
// 获取组织列表
const getPubList = () => {
getDeptTreeList().then((res) => {
// 转成树结构
- PubList.value = toTreeList(res.data, '0', true)
+ PubList.value = res.data
+ PubListTree.value = toTreeList(res.data, '0', true)
})
}
const sexList = ref<{ id: string; value: string; name: string }[]>()
@@ -330,7 +332,13 @@
-
+
+
+
+ 选择
+
+
+
@@ -377,10 +385,12 @@
-
+
+
+
diff --git a/src/views/measure/person/components/personListDialog.vue b/src/views/measure/person/components/personListDialog.vue
index 952da9d..5e20d1b 100644
--- a/src/views/measure/person/components/personListDialog.vue
+++ b/src/views/measure/person/components/personListDialog.vue
@@ -1,6 +1,6 @@
diff --git a/src/views/measure/source/components/listPage.vue b/src/views/measure/source/components/listPage.vue
index a9c9509..70a3518 100644
--- a/src/views/measure/source/components/listPage.vue
+++ b/src/views/measure/source/components/listPage.vue
@@ -17,6 +17,7 @@
default: () => [],
},
})
+const emit = defineEmits(['setData']) // 关闭
// 查询条件
const listQuery: Ref = ref({
supplierNo: '', // 业务内容
@@ -28,53 +29,63 @@
// 控制是否显示新增页面
const show = ref(true)
// 表格数据
-const list = ref([])
+const list = ref([
+ { name: '张三' },
+])
// 总数
-const total = ref(20)
+const total = ref(0)
// 表头
const columns = ref([
{
text: '溯源供方编号',
- value: 'supplierNo',
- width: '160',
+ value: 'name',
+ width: '120',
+ align: 'center',
},
{
text: '溯源供方名称',
- value: 'supplierName',
+ value: 'name',
width: '120',
+ align: 'center',
},
{
text: '业务内容',
- value: 'businessContent',
+ value: 'name',
+ align: 'center',
},
{
text: '业务资质',
- value: 'briefName',
+ value: 'name',
+ align: 'center',
},
{
text: '负责人',
- value: 'director',
+ value: 'name',
+ align: 'center',
},
{
text: '联系方式',
- value: 'mobile',
+ value: 'name',
+ align: 'center',
},
{
text: '地址',
- value: 'companyCity',
+ value: 'name',
+ align: 'center',
},
{
text: '创建时间',
- value: 'createTime',
- width: '200',
+ value: 'name',
+ align: 'center',
},
{
text: '备注',
- value: 'remark',
+ value: 'name',
+ align: 'center',
},
])
-const buttonArray = ref([])
+const buttonArray = ref([])
// 选中的内容
const checkoutList = ref([])
// 文件上传input
@@ -98,20 +109,24 @@
loadingTable.value = false
})
}
-fetchData(true)
// 多选发生改变时
const handleSelectionChange = (e: any) => {
checkoutList.value = e
}
+// 点击删除和编辑的参数类型
+interface rowReturn {
+ id: string
+ supplierName: string
+}
// 点击编辑/详情
-const handleEdit = (index: string, row: object, value: string) => {
+const handleEdit = (index: string, row: rowReturn, value: string) => {
buttonArray.value = ['同意', '驳回', '拒绝']
buttonType.value = value
infoId.value = row.id
show.value = false
}
// 点击删除
-const handleDelete = (index: string, row: object) => {
+const handleDelete = (index: string, row: rowReturn) => {
ElMessageBox.confirm(
`确认删除${row.supplierName}吗?`,
'提示',
@@ -153,7 +168,7 @@
// 关闭编辑
const close = () => {
show.value = true
- fetchData(true)
+ // fetchData(true)
}
// 导出
const exportExcelBtn = () => {
@@ -218,30 +233,24 @@
upload()
}
const add = () => {
+ buttonArray.value = ['提交', '保存']
buttonType.value = ''
show.value = false
}
const exportAll = () => {
exportExcelBtn()
}
+watch(() => show.value, (newVal) => {
+// 变化后存储
+ emit('setData', newVal)
+},
+{ deep: true, immediate: true })
// 打印
const printObj = ref({
id: 'print', // 需要打印元素的id
popTitle: '溯源供方编号模板', // 打印配置页上方的标题
extraHead: '', // 最上方的头部文字,附加在head标签上的额外标签,使用逗号分割
preview: false, // 是否启动预览模式,默认是false
- previewBeforeOpenCallback() { console.log('正在加载预览窗口!') }, // 预览窗口打开之前的callback
- previewOpenCallback() { console.log('已经加载完预览窗口,预览打开了!') }, // 预览窗口打开时的callback
- beforeOpenCallback() { console.log('开始打印之前!') }, // 开始打印之前的callback
- openCallback() { console.log('执行打印了!') }, // 调用打印时的callback
- closeCallback() { console.log('关闭了打印工具!') }, // 关闭打印的callback(无法区分确认or取消)
- clickMounted() { console.log('点击v-print绑定的按钮了!') },
- // url: 'http://localhost:8080/', // 打印指定的URL,确保同源策略相同
- // asyncUrl (reslove) {
- // setTimeout(() => {
- // reslove('http://localhost:8080/')
- // }, 2000)
- // },
standard: '',
extarCss: '',
})
@@ -285,15 +294,9 @@
-
- 新建
-
-
- 导出
-
-
- 打印
-
+
+
+
-
- 批量导入
-
-
- 模板下载
-
-
- 新建
-
-
- 导出
-
-
- 打印
-
+
+
+
+
+
-