diff --git a/src/api/eqpt/MeasurementBusiness/satisfaction.ts b/src/api/eqpt/MeasurementBusiness/satisfaction.ts index 1a0b5ff..e0c7153 100644 --- a/src/api/eqpt/MeasurementBusiness/satisfaction.ts +++ b/src/api/eqpt/MeasurementBusiness/satisfaction.ts @@ -19,3 +19,10 @@ data, }) } +export function addSatifaction(data: object) { + return request({ + url: '/resource/customer/questionnaire/add', + method: 'post', + data, + }) +} diff --git a/src/api/eqpt/MeasurementBusiness/satisfaction.ts b/src/api/eqpt/MeasurementBusiness/satisfaction.ts index 1a0b5ff..e0c7153 100644 --- a/src/api/eqpt/MeasurementBusiness/satisfaction.ts +++ b/src/api/eqpt/MeasurementBusiness/satisfaction.ts @@ -19,3 +19,10 @@ data, }) } +export function addSatifaction(data: object) { + return request({ + url: '/resource/customer/questionnaire/add', + method: 'post', + data, + }) +} diff --git a/src/views/tested/MeasurementBusiness/satisfaction/components/edit.vue b/src/views/tested/MeasurementBusiness/satisfaction/components/edit.vue index 3969740..6b482d3 100644 --- a/src/views/tested/MeasurementBusiness/satisfaction/components/edit.vue +++ b/src/views/tested/MeasurementBusiness/satisfaction/components/edit.vue @@ -3,9 +3,14 @@ import type { FormInstance, FormRules, UploadUserFile } from 'element-plus' import { ElLoading, ElMessage, ElMessageBox } from 'element-plus' import dayjs from 'dayjs' +// import { create } from 'qrcode' import questionnaireTable from './questionnaire.vue' +import FilterCustomerStaff from './filterCustomerStaff.vue' +import { getDictByCode } from '@/api/system/dict' import useUserStore from '@/store/modules/user' -import { updateSatifaction } from '@/api/eqpt/MeasurementBusiness/satisfaction' +import { addSatifaction, updateSatifaction } from '@/api/eqpt/MeasurementBusiness/satisfaction' +import { getUserDept } from '@/api/system/user' +// import useUserStore from '@/store/modules/user' const $route = useRoute() const $router = useRouter() const userStore = useUserStore() @@ -47,7 +52,9 @@ writerName: '', }) // 表单 const rules = ref({ - // fileName: [{ required: true, message: '文件名称必填', trigger: ['blur', 'change'] }], + writerName: [{ required: true, message: '填写人必填', trigger: ['blur', 'change'] }], + writeTime: [{ required: true, message: '填写时间必选', trigger: ['blur', 'change'] }], + labCode: [{ required: true, message: '实验室必选', trigger: ['blur', 'change'] }], }) // 表单验证规则 // 弹窗初始化 const initDialog = () => { @@ -57,6 +64,16 @@ const data = JSON.parse($route.query.row as string) ruleForm.value = data } + else { + // 获取当前用户单位 + getUserDept().then((res) => { + // ruleForm.value.customerName = res.data.fullName + // ruleForm.value.customerId = res.data.id + ruleForm.value.senderName = userStore.name + ruleForm.value.senderId = userStore.id + ruleForm.value.sendTime = dayjs().format('YYYY-MM-DD HH:mm:ss') // 创建时间 + }) + } } onMounted(() => { initDialog() @@ -77,18 +94,41 @@ close() }) } +// 新建 +const create = () => { + const list = tableRef.value.rateList + list.forEach((item: any) => { + ruleForm.value[item.attributeName] = item.value.toString() + }) + addSatifaction(ruleForm.value).then((res) => { + ElMessage.success('保存成功') + close() + }) +} // 保存 const saveForm = async (formEl: FormInstance | undefined) => { - ElMessageBox.confirm( - '确认保存吗?', - '提示', - { - confirmButtonText: '确认', - cancelButtonText: '取消', - type: 'warning', - }, - ).then((res) => { - update() + if (!formEl) { return } + await formEl.validate((valid, fields) => { + if (valid) { + ElMessageBox.confirm( + '确认保存吗?', + '提示', + { + confirmButtonText: '确认', + cancelButtonText: '取消', + type: 'warning', + }, + ).then((res) => { + if ($route.path.includes('create')) { + // 新建 + create() + } + else { + // 编辑 + update() + } + }) + } }) } // 取消 @@ -96,10 +136,33 @@ formEl?.resetFields() close() } +const labCodeList = ref<{ id: string; value: string; name: string }[]>() +getDictByCode('bizLabCode').then((res) => { + labCodeList.value = res.data +}) +// 选择填写人 +const refFilterCustomer = ref() +const selectPerson = () => { + if (!$route.path.includes('create')) { + return + } + // 显示筛选填写用户和单位的弹窗 + refFilterCustomer.value.showOrHideFilterDialog(true) +} +const confirmPerson = (row: any) => { + refFilterCustomer.value.showOrHideFilterDialog(false) + // console.log(row, 'row') + ruleForm.value.customerName = row.deptName + ruleForm.value.customerId = row.deptId + ruleForm.value.writerName = row.name + ruleForm.value.writerId = row.id +}