|
|
|
@ -6,6 +6,7 @@ |
|
|
|
class="dialog-header-nopadding" |
|
|
|
class="dialog-header-nopadding" |
|
|
|
style="--el-dialog-padding-primary: 10px; margin-bottom: 2vh" |
|
|
|
style="--el-dialog-padding-primary: 10px; margin-bottom: 2vh" |
|
|
|
:lock-scroll="false" |
|
|
|
:lock-scroll="false" |
|
|
|
|
|
|
|
ref="dialogRef" |
|
|
|
> |
|
|
|
> |
|
|
|
<template #header="{ close }"> |
|
|
|
<template #header="{ close }"> |
|
|
|
<header class="flex between v-center dialog-header"> |
|
|
|
<header class="flex between v-center dialog-header"> |
|
|
|
@ -91,7 +92,7 @@ |
|
|
|
getDictLable( |
|
|
|
getDictLable( |
|
|
|
dict.timeLimit, |
|
|
|
dict.timeLimit, |
|
|
|
negative.timeLimit |
|
|
|
negative.timeLimit |
|
|
|
) || '/' |
|
|
|
) || "/" |
|
|
|
}}</span> |
|
|
|
}}</span> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div class="col col-24" style="--label-width: 60px"> |
|
|
|
<div class="col col-24" style="--label-width: 60px"> |
|
|
|
@ -100,7 +101,7 @@ |
|
|
|
getDictLable( |
|
|
|
getDictLable( |
|
|
|
dict.hostLevel, |
|
|
|
dict.hostLevel, |
|
|
|
negative.hostLevel |
|
|
|
negative.hostLevel |
|
|
|
) || '/' |
|
|
|
) || "/" |
|
|
|
}}</span> |
|
|
|
}}</span> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div class="col col-24" style="--label-width: 60px"> |
|
|
|
<div class="col col-24" style="--label-width: 60px"> |
|
|
|
@ -109,7 +110,7 @@ |
|
|
|
getDictLable( |
|
|
|
getDictLable( |
|
|
|
dict.approvalFlow, |
|
|
|
dict.approvalFlow, |
|
|
|
negative.approvalFlow |
|
|
|
negative.approvalFlow |
|
|
|
) || '/' |
|
|
|
) || "/" |
|
|
|
}}</span> |
|
|
|
}}</span> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
@ -135,6 +136,22 @@ |
|
|
|
}}</span> |
|
|
|
}}</span> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<template v-if="approves.length"> |
|
|
|
|
|
|
|
<negative-approve-description /> |
|
|
|
|
|
|
|
</template> |
|
|
|
|
|
|
|
<template |
|
|
|
|
|
|
|
v-if=" |
|
|
|
|
|
|
|
(components.indexOf('negative-verify') > -1 && |
|
|
|
|
|
|
|
!disabled) || |
|
|
|
|
|
|
|
verifyEditFlag |
|
|
|
|
|
|
|
" |
|
|
|
|
|
|
|
> |
|
|
|
|
|
|
|
<negative-verify |
|
|
|
|
|
|
|
ref="componentRef" |
|
|
|
|
|
|
|
@submit="handleSubmitExecute" |
|
|
|
|
|
|
|
/> |
|
|
|
|
|
|
|
</template> |
|
|
|
<template |
|
|
|
<template |
|
|
|
v-if=" |
|
|
|
v-if=" |
|
|
|
components.indexOf( |
|
|
|
components.indexOf( |
|
|
|
@ -144,6 +161,28 @@ |
|
|
|
> |
|
|
|
> |
|
|
|
<negative-verify-description /> |
|
|
|
<negative-verify-description /> |
|
|
|
</template> |
|
|
|
</template> |
|
|
|
|
|
|
|
<div |
|
|
|
|
|
|
|
class="mb-4 mt-8 flex end" |
|
|
|
|
|
|
|
v-if="spotCheckEditFlag" |
|
|
|
|
|
|
|
> |
|
|
|
|
|
|
|
<el-button |
|
|
|
|
|
|
|
size="small" |
|
|
|
|
|
|
|
v-if="verifyEditFlag" |
|
|
|
|
|
|
|
@click="verifyEditFlag = false" |
|
|
|
|
|
|
|
>取消</el-button |
|
|
|
|
|
|
|
> |
|
|
|
|
|
|
|
<el-button |
|
|
|
|
|
|
|
type="primary" |
|
|
|
|
|
|
|
plain |
|
|
|
|
|
|
|
size="small" |
|
|
|
|
|
|
|
@click="handleUpdateVerify" |
|
|
|
|
|
|
|
>{{ |
|
|
|
|
|
|
|
verifyEditFlag |
|
|
|
|
|
|
|
? "保存核查情况" |
|
|
|
|
|
|
|
: "修改核查情况" |
|
|
|
|
|
|
|
}}</el-button |
|
|
|
|
|
|
|
> |
|
|
|
|
|
|
|
</div> |
|
|
|
<template v-if="!disabled"> |
|
|
|
<template v-if="!disabled"> |
|
|
|
<template |
|
|
|
<template |
|
|
|
v-if=" |
|
|
|
v-if=" |
|
|
|
@ -153,20 +192,6 @@ |
|
|
|
> |
|
|
|
> |
|
|
|
<negative-distribute ref="componentRef" /> |
|
|
|
<negative-distribute ref="componentRef" /> |
|
|
|
</template> |
|
|
|
</template> |
|
|
|
<template |
|
|
|
|
|
|
|
v-if=" |
|
|
|
|
|
|
|
components.indexOf('negative-verify') > |
|
|
|
|
|
|
|
-1 || verifyEditFlag |
|
|
|
|
|
|
|
" |
|
|
|
|
|
|
|
> |
|
|
|
|
|
|
|
<negative-verify |
|
|
|
|
|
|
|
ref="componentRef" |
|
|
|
|
|
|
|
@submit="handleSubmitExecute" |
|
|
|
|
|
|
|
/> |
|
|
|
|
|
|
|
</template> |
|
|
|
|
|
|
|
</template> |
|
|
|
|
|
|
|
<template v-if="approves.length"> |
|
|
|
|
|
|
|
<negative-approve-description /> |
|
|
|
|
|
|
|
</template> |
|
|
|
</template> |
|
|
|
<negative-countersign-description /> |
|
|
|
<negative-countersign-description /> |
|
|
|
<template |
|
|
|
<template |
|
|
|
@ -179,6 +204,50 @@ |
|
|
|
@submit="handleSubmitExecute" |
|
|
|
@submit="handleSubmitExecute" |
|
|
|
/> |
|
|
|
/> |
|
|
|
</template> |
|
|
|
</template> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<el-form |
|
|
|
|
|
|
|
class="mt-20" |
|
|
|
|
|
|
|
:model="formData" |
|
|
|
|
|
|
|
ref="formRef" |
|
|
|
|
|
|
|
v-if="spotCheckEditFlag" |
|
|
|
|
|
|
|
> |
|
|
|
|
|
|
|
<el-form-item |
|
|
|
|
|
|
|
label="抽检结果" |
|
|
|
|
|
|
|
prop="spotCheckResult" |
|
|
|
|
|
|
|
:rules="{ |
|
|
|
|
|
|
|
required: true, |
|
|
|
|
|
|
|
message: '请选择抽检结果', |
|
|
|
|
|
|
|
trigger: ['blur'], |
|
|
|
|
|
|
|
}" |
|
|
|
|
|
|
|
> |
|
|
|
|
|
|
|
<el-radio-group |
|
|
|
|
|
|
|
v-model="formData.spotCheckResult" |
|
|
|
|
|
|
|
> |
|
|
|
|
|
|
|
<el-radio value="1" size="large" border |
|
|
|
|
|
|
|
>合格</el-radio |
|
|
|
|
|
|
|
> |
|
|
|
|
|
|
|
<el-radio value="0" size="large" border |
|
|
|
|
|
|
|
>不合格</el-radio |
|
|
|
|
|
|
|
> |
|
|
|
|
|
|
|
</el-radio-group> |
|
|
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
<el-form-item |
|
|
|
|
|
|
|
label="抽检情况" |
|
|
|
|
|
|
|
prop="spotCheckDesc" |
|
|
|
|
|
|
|
:rules="{ |
|
|
|
|
|
|
|
required: true, |
|
|
|
|
|
|
|
message: '请选择抽检情况', |
|
|
|
|
|
|
|
trigger: ['blur'], |
|
|
|
|
|
|
|
}" |
|
|
|
|
|
|
|
> |
|
|
|
|
|
|
|
<el-input |
|
|
|
|
|
|
|
type="textarea" |
|
|
|
|
|
|
|
:autosize="{ minRows: 5 }" |
|
|
|
|
|
|
|
placeholder="请输入" |
|
|
|
|
|
|
|
v-model="formData.spotCheckDesc" |
|
|
|
|
|
|
|
/> |
|
|
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
</el-form> |
|
|
|
</el-scrollbar> |
|
|
|
</el-scrollbar> |
|
|
|
</el-col> |
|
|
|
</el-col> |
|
|
|
</el-row> |
|
|
|
</el-row> |
|
|
|
@ -187,6 +256,13 @@ |
|
|
|
<div style="min-height: 40px"> |
|
|
|
<div style="min-height: 40px"> |
|
|
|
<!-- <el-button type="primary" plain size="large">打印</el-button> --> |
|
|
|
<!-- <el-button type="primary" plain size="large">打印</el-button> --> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
|
|
|
|
<el-button |
|
|
|
|
|
|
|
type="primary" |
|
|
|
|
|
|
|
size="large" |
|
|
|
|
|
|
|
@click="handleSubmitSpotCheck" |
|
|
|
|
|
|
|
v-if="spotCheckEditFlag" |
|
|
|
|
|
|
|
>保存抽检结果</el-button |
|
|
|
|
|
|
|
> |
|
|
|
<div v-if="!disabled"> |
|
|
|
<div v-if="!disabled"> |
|
|
|
<el-button |
|
|
|
<el-button |
|
|
|
size="large" |
|
|
|
size="large" |
|
|
|
@ -260,7 +336,11 @@ import { |
|
|
|
FlowNodeEnum, |
|
|
|
FlowNodeEnum, |
|
|
|
ProcessingStatus, |
|
|
|
ProcessingStatus, |
|
|
|
} from "@/enums/flowEnums"; |
|
|
|
} from "@/enums/flowEnums"; |
|
|
|
import { getNegativeDetails, negativeExecute } from "@/api/work/negative"; |
|
|
|
import { |
|
|
|
|
|
|
|
getNegativeDetails, |
|
|
|
|
|
|
|
negativeExecute, |
|
|
|
|
|
|
|
spotCheckNegative, |
|
|
|
|
|
|
|
} from "@/api/work/negative"; |
|
|
|
import { addFav, delFav } from "@/api/work/fav"; |
|
|
|
import { addFav, delFav } from "@/api/work/fav"; |
|
|
|
import feedback from "@/utils/feedback"; |
|
|
|
import feedback from "@/utils/feedback"; |
|
|
|
import { getComponents } from "@/utils/flow"; |
|
|
|
import { getComponents } from "@/utils/flow"; |
|
|
|
@ -315,6 +395,7 @@ watch( |
|
|
|
() => { |
|
|
|
() => { |
|
|
|
getDetails(); |
|
|
|
getDetails(); |
|
|
|
verifyEditFlag.value = false; |
|
|
|
verifyEditFlag.value = false; |
|
|
|
|
|
|
|
formData.value = {}; |
|
|
|
} |
|
|
|
} |
|
|
|
); |
|
|
|
); |
|
|
|
|
|
|
|
|
|
|
|
@ -423,6 +504,55 @@ function handleFav() { |
|
|
|
} |
|
|
|
} |
|
|
|
isFav.value = !isFav.value; |
|
|
|
isFav.value = !isFav.value; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const spotCheckEditFlag = ref(false); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function spotCheck() { |
|
|
|
|
|
|
|
spotCheckEditFlag.value = true; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const dialogRef = ref(); |
|
|
|
|
|
|
|
watch( |
|
|
|
|
|
|
|
() => dialogRef.value?.visible, |
|
|
|
|
|
|
|
(val) => { |
|
|
|
|
|
|
|
if (!val) { |
|
|
|
|
|
|
|
spotCheckEditFlag.value = false; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const formData = ref({}); |
|
|
|
|
|
|
|
const formRef = ref(); |
|
|
|
|
|
|
|
async function handleSubmitSpotCheck() { |
|
|
|
|
|
|
|
try { |
|
|
|
|
|
|
|
await formRef.value.validate(); |
|
|
|
|
|
|
|
} catch (e) { |
|
|
|
|
|
|
|
feedback.msgWarning(e.message || "请检查输入项"); |
|
|
|
|
|
|
|
throw e; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
await spotCheckNegative(props.id, formData.value); |
|
|
|
|
|
|
|
feedback.msgSuccess("抽查成功!"); |
|
|
|
|
|
|
|
emit("change"); |
|
|
|
|
|
|
|
emit("close"); |
|
|
|
|
|
|
|
formData.value = {}; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
async function handleUpdateVerify() { |
|
|
|
|
|
|
|
if (verifyEditFlag.value) { |
|
|
|
|
|
|
|
try { |
|
|
|
|
|
|
|
const data = await componentRef.value.validate(); |
|
|
|
|
|
|
|
formData.value.verifyData = data; |
|
|
|
|
|
|
|
} catch (e) { |
|
|
|
|
|
|
|
feedback.msgWarning(e.message || "请检查输入项"); |
|
|
|
|
|
|
|
throw e; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
verifyEditFlag.value = !verifyEditFlag.value; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
defineExpose({ |
|
|
|
|
|
|
|
spotCheck, |
|
|
|
|
|
|
|
}); |
|
|
|
</script> |
|
|
|
</script> |
|
|
|
<style lang="scss" scoped> |
|
|
|
<style lang="scss" scoped> |
|
|
|
.dialog-header { |
|
|
|
.dialog-header { |
|
|
|
|