|
@@ -22,20 +22,20 @@
|
|
>
|
|
>
|
|
<template #entrustStatus="{ row }">
|
|
<template #entrustStatus="{ row }">
|
|
<!-- 未上报 -->
|
|
<!-- 未上报 -->
|
|
- <el-button v-if="row.entrustStatus === 1" type="info" size="small">{{ row.entrustStatusName }}</el-button>
|
|
|
|
|
|
+ <el-button v-if="row.entrustStatus === 1" type="info" size="small">{{ row.entrustStatusName || '-' }}</el-button>
|
|
<!-- 待审批 -->
|
|
<!-- 待审批 -->
|
|
- <el-button v-if="row.entrustStatus === 2" type="info" size="small">{{ row.entrustStatusName }}</el-button>
|
|
|
|
|
|
+ <el-button v-if="row.entrustStatus === 2" type="info" size="small">{{ row.entrustStatusName || '-' }}</el-button>
|
|
<!-- 待试验 -->
|
|
<!-- 待试验 -->
|
|
- <el-button v-if="row.entrustStatus === 3" type="primary" size="small">{{ row.entrustStatusName }}</el-button>
|
|
|
|
|
|
+ <el-button v-if="row.entrustStatus === 3" type="primary" size="small">{{ row.entrustStatusName || '-' }}</el-button>
|
|
<!-- 已通过 -->
|
|
<!-- 已通过 -->
|
|
- <el-button v-if="row.entrustStatus === 4" type="success" size="small">{{ row.entrustStatusName }}</el-button>
|
|
|
|
|
|
+ <el-button v-if="row.entrustStatus === 4" type="success" size="small">{{ row.entrustStatusName || '-' }}</el-button>
|
|
<!-- 已废除 -->
|
|
<!-- 已废除 -->
|
|
- <el-button v-if="row.entrustStatus === 5" type="danger" size="small">{{ row.entrustStatusName }}</el-button>
|
|
|
|
|
|
+ <el-button v-if="row.entrustStatus === 5" type="danger" size="small">{{ row.entrustStatusName || '-' }}</el-button>
|
|
</template>
|
|
</template>
|
|
<template #action="{ row }">
|
|
<template #action="{ row }">
|
|
- <el-link type="primary" @click="rowDispose(row)">样品处理</el-link>
|
|
|
|
- <el-link v-if="false" type="primary">填写报告</el-link>
|
|
|
|
- <el-link type="danger" @click="rowDel(row)">删除</el-link>
|
|
|
|
|
|
+ <el-link v-if="row.entrustStatus === 4" type="primary" @click="rowDispose(row)">样品处理</el-link>
|
|
|
|
+ <el-link v-else type="primary" :disabled="!(row.entrustStatus === 1 || row.entrustStatus === 5)" @click="fillReportClick(row)">填写报告</el-link>
|
|
|
|
+ <el-link type="danger" :disabled="row.entrustStatus === 2" @click="rowDel(row)">删除</el-link>
|
|
</template>
|
|
</template>
|
|
</hc-table>
|
|
</hc-table>
|
|
<template #action>
|
|
<template #action>
|
|
@@ -45,22 +45,22 @@
|
|
<!-- 样品处理 -->
|
|
<!-- 样品处理 -->
|
|
<hc-new-dialog v-model="disposeModal" is-footer-center title="样品处理" widths="40rem" @close="disposeClose">
|
|
<hc-new-dialog v-model="disposeModal" is-footer-center title="样品处理" widths="40rem" @close="disposeClose">
|
|
<el-form ref="formRef" :model="formModel" :rules="formRules" label-position="left" label-width="auto">
|
|
<el-form ref="formRef" :model="formModel" :rules="formRules" label-position="left" label-width="auto">
|
|
- <el-form-item label="处理方式:" prop="key1">
|
|
|
|
- <el-radio-group v-model="formModel.key1">
|
|
|
|
|
|
+ <el-form-item label="处理方式:" prop="repealType">
|
|
|
|
+ <el-radio-group v-model="formModel.repealType">
|
|
<el-radio :value="1">处理</el-radio>
|
|
<el-radio :value="1">处理</el-radio>
|
|
<el-radio :value="2">留样</el-radio>
|
|
<el-radio :value="2">留样</el-radio>
|
|
</el-radio-group>
|
|
</el-radio-group>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
- <el-form-item v-if="formModel.key1 === 1" label="处理原因:" prop="key2">
|
|
|
|
- <el-input v-model="formModel.key2" type="textarea" :rows="5" resize="none" />
|
|
|
|
|
|
+ <el-form-item v-if="formModel.repealType === 1" label="处理原因:" prop="repealReason">
|
|
|
|
+ <el-input v-model="formModel.repealReason" type="textarea" :rows="5" resize="none" />
|
|
</el-form-item>
|
|
</el-form-item>
|
|
- <el-form-item v-if="formModel.key1 === 2" label="留样时间:" prop="startTime">
|
|
|
|
|
|
+ <el-form-item v-if="formModel.repealType === 2" label="留样时间:" prop="resamStartTime">
|
|
<hc-date-picker :dates="formTime" clearable @change="formTimeUpdate" />
|
|
<hc-date-picker :dates="formTime" clearable @change="formTimeUpdate" />
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-form>
|
|
</el-form>
|
|
<template #footer>
|
|
<template #footer>
|
|
<el-button @click="disposeClose">取消</el-button>
|
|
<el-button @click="disposeClose">取消</el-button>
|
|
- <el-button hc-btn type="primary" @click="disposeSave">确定</el-button>
|
|
|
|
|
|
+ <el-button hc-btn type="primary" :loading="saveLoading" @click="disposeSave">确定</el-button>
|
|
</template>
|
|
</template>
|
|
</hc-new-dialog>
|
|
</hc-new-dialog>
|
|
</hc-card-item>
|
|
</hc-card-item>
|
|
@@ -69,9 +69,10 @@
|
|
<script setup>
|
|
<script setup>
|
|
import { onMounted, ref, watch } from 'vue'
|
|
import { onMounted, ref, watch } from 'vue'
|
|
import { HcDelMsg } from 'hc-vue3-ui'
|
|
import { HcDelMsg } from 'hc-vue3-ui'
|
|
|
|
+import router from '~src/router/index'
|
|
import { useAppStore } from '~src/store'
|
|
import { useAppStore } from '~src/store'
|
|
import { getErtractInfo } from '~api/other'
|
|
import { getErtractInfo } from '~api/other'
|
|
-import { arrToId, getArrValue, getObjValue, isNullES } from 'js-fast-way'
|
|
|
|
|
|
+import { arrToId, formValidate, getArrValue, getObjValue, isNullES } from 'js-fast-way'
|
|
import mainApi from '~api/tentative/material/testSample'
|
|
import mainApi from '~api/tentative/material/testSample'
|
|
|
|
|
|
//参数
|
|
//参数
|
|
@@ -86,6 +87,7 @@ const props = defineProps({
|
|
const store = useAppStore()
|
|
const store = useAppStore()
|
|
const projectId = ref(store.getProjectId)
|
|
const projectId = ref(store.getProjectId)
|
|
const contractId = ref(store.getContractId)
|
|
const contractId = ref(store.getContractId)
|
|
|
|
+const contractInfo = ref(store.getContractInfo)
|
|
|
|
|
|
//渲染完成
|
|
//渲染完成
|
|
onMounted(() => {
|
|
onMounted(() => {
|
|
@@ -197,17 +199,17 @@ const tableSelection = (rows) => {
|
|
const formRef = ref(null)
|
|
const formRef = ref(null)
|
|
const formModel = ref({})
|
|
const formModel = ref({})
|
|
const formRules = {
|
|
const formRules = {
|
|
- key1: {
|
|
|
|
|
|
+ repealType: {
|
|
required: true,
|
|
required: true,
|
|
trigger: 'blur',
|
|
trigger: 'blur',
|
|
message: '请选择处理方式',
|
|
message: '请选择处理方式',
|
|
},
|
|
},
|
|
- key2: {
|
|
|
|
|
|
+ repealReason: {
|
|
required: true,
|
|
required: true,
|
|
trigger: 'blur',
|
|
trigger: 'blur',
|
|
message: '请填写处理原因',
|
|
message: '请填写处理原因',
|
|
},
|
|
},
|
|
- startTime: {
|
|
|
|
|
|
+ resamStartTime: {
|
|
required: true,
|
|
required: true,
|
|
trigger: 'blur',
|
|
trigger: 'blur',
|
|
message: '请选择留样时间',
|
|
message: '请选择留样时间',
|
|
@@ -217,9 +219,9 @@ const formRules = {
|
|
//样品处理
|
|
//样品处理
|
|
const disposeModal = ref(false)
|
|
const disposeModal = ref(false)
|
|
const rowDispose = (row) => {
|
|
const rowDispose = (row) => {
|
|
- console.log(row)
|
|
|
|
formModel.value = {
|
|
formModel.value = {
|
|
- key1: 1,
|
|
|
|
|
|
+ id: row.id,
|
|
|
|
+ repealType: 1,
|
|
}
|
|
}
|
|
disposeModal.value = true
|
|
disposeModal.value = true
|
|
}
|
|
}
|
|
@@ -229,17 +231,28 @@ const formTime = ref(null)
|
|
const formTimeUpdate = ({ arr }) => {
|
|
const formTimeUpdate = ({ arr }) => {
|
|
formTime.value = arr
|
|
formTime.value = arr
|
|
if (arr.length > 0) {
|
|
if (arr.length > 0) {
|
|
- formModel.value.startTime = arr[0]
|
|
|
|
- formModel.value.endTime = arr[1]
|
|
|
|
|
|
+ formModel.value.resamStartTime = arr[0]
|
|
|
|
+ formModel.value.resamEndTime = arr[1]
|
|
} else {
|
|
} else {
|
|
- formModel.value.startTime = ''
|
|
|
|
- formModel.value.endTime = ''
|
|
|
|
|
|
+ formModel.value.resamStartTime = ''
|
|
|
|
+ formModel.value.resamEndTime = ''
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
//确定提交
|
|
//确定提交
|
|
|
|
+const saveLoading = ref(false)
|
|
const disposeSave = async () => {
|
|
const disposeSave = async () => {
|
|
- disposeClose()
|
|
|
|
|
|
+ const isForm = await formValidate(formRef.value)
|
|
|
|
+ if (!isForm) return
|
|
|
|
+ const { error, code, msg } = await mainApi.update(formModel.value)
|
|
|
|
+ saveLoading.value = false
|
|
|
|
+ if (!error && code === 200) {
|
|
|
|
+ window.$message.success('提交成功')
|
|
|
|
+ disposeClose()
|
|
|
|
+ getTableData().then()
|
|
|
|
+ } else {
|
|
|
|
+ window.$message.error(msg || '操作失败')
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
//关闭弹窗
|
|
//关闭弹窗
|
|
@@ -251,14 +264,8 @@ const disposeClose = () => {
|
|
//删除
|
|
//删除
|
|
const rowDel = (row) => {
|
|
const rowDel = (row) => {
|
|
HcDelMsg(async (resolve) => {
|
|
HcDelMsg(async (resolve) => {
|
|
- const { error, code, msg } = await mainApi.sampleRemove(row.id)
|
|
|
|
|
|
+ await sampleRemoveApi(row.id)
|
|
resolve()
|
|
resolve()
|
|
- if (!error && code === 200) {
|
|
|
|
- window.$message.success('删除成功')
|
|
|
|
- getTableData().then()
|
|
|
|
- } else {
|
|
|
|
- window.$message.error(msg ?? '删除失败')
|
|
|
|
- }
|
|
|
|
})
|
|
})
|
|
}
|
|
}
|
|
|
|
|
|
@@ -270,14 +277,34 @@ const batchDel = () => {
|
|
return
|
|
return
|
|
}
|
|
}
|
|
HcDelMsg(async (resolve) => {
|
|
HcDelMsg(async (resolve) => {
|
|
- const { error, code, msg } = await mainApi.sampleRemove(arrToId(rows))
|
|
|
|
|
|
+ await sampleRemoveApi(arrToId(rows))
|
|
resolve()
|
|
resolve()
|
|
- if (!error && code === 200) {
|
|
|
|
- window.$message.success('删除成功')
|
|
|
|
- getTableData().then()
|
|
|
|
- } else {
|
|
|
|
- window.$message.error(msg ?? '删除失败')
|
|
|
|
- }
|
|
|
|
|
|
+ })
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+//删除
|
|
|
|
+const sampleRemoveApi = async (ids) => {
|
|
|
|
+ const { error, code, msg } = await mainApi.sampleRemove(ids)
|
|
|
|
+ if (!error && code === 200) {
|
|
|
|
+ window.$message.success('删除成功')
|
|
|
|
+ getTableData().then()
|
|
|
|
+ } else {
|
|
|
|
+ window.$message.error(msg ?? '删除失败')
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+//填写报告
|
|
|
|
+const fillReportClick = (row) => {
|
|
|
|
+ const { contractType } = contractInfo.value
|
|
|
|
+ const { primaryKeyId } = treeInfo.value
|
|
|
|
+ router.push({
|
|
|
|
+ path: '/tentative/detect/test-form',
|
|
|
|
+ query: {
|
|
|
|
+ nodeId: primaryKeyId || '',
|
|
|
|
+ dataType: contractType > 0 ? contractType + '' : '1',
|
|
|
|
+ commissionId: row.id,
|
|
|
|
+ isaddType: true,
|
|
|
|
+ },
|
|
})
|
|
})
|
|
}
|
|
}
|
|
</script>
|
|
</script>
|