|
@@ -49,19 +49,37 @@
|
|
|
<el-table-column type="selection" width="45" />
|
|
<el-table-column type="selection" width="45" />
|
|
|
<el-table-column label="考核通知主题" align="center" prop="woasThem" :show-overflow-tooltip="true" />
|
|
<el-table-column label="考核通知主题" align="center" prop="woasThem" :show-overflow-tooltip="true" />
|
|
|
<el-table-column label="考核通知文号" align="center" prop="lareId" :show-overflow-tooltip="true" />
|
|
<el-table-column label="考核通知文号" align="center" prop="lareId" :show-overflow-tooltip="true" />
|
|
|
- <el-table-column label="考核类型" align="center" prop="woasType" />
|
|
|
|
|
- <el-table-column label="考核开始时间" align="center" prop="woasStartime" width="180">
|
|
|
|
|
|
|
+ <el-table-column label="考核类型" align="center" prop="woasType" width="130">
|
|
|
<template #default="{ row }">
|
|
<template #default="{ row }">
|
|
|
- {{ proxy.parseTime(row.woasStartime) }}
|
|
|
|
|
|
|
+ <el-tag v-if="row.woasType === '1'" type="primary">水利稽察考核</el-tag>
|
|
|
|
|
+ <el-tag v-else-if="row.woasType === '2'" type="success">安全生产考核</el-tag>
|
|
|
|
|
+ <span v-else>{{ row.woasType }}</span>
|
|
|
</template>
|
|
</template>
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
- <el-table-column label="考核截止时间" align="center" prop="woasDeadline" width="180">
|
|
|
|
|
|
|
+ <el-table-column label="考核开始时间" align="center" prop="woasStartime" width="120">
|
|
|
<template #default="{ row }">
|
|
<template #default="{ row }">
|
|
|
- {{ proxy.parseTime(row.woasDeadline) }}
|
|
|
|
|
|
|
+ {{ row.woasStartime }}
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </el-table-column>
|
|
|
|
|
+ <el-table-column label="考核截止时间" align="center" prop="woasDeadline" width="120">
|
|
|
|
|
+ <template #default="{ row }">
|
|
|
|
|
+ {{ row.woasDeadline }}
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </el-table-column>
|
|
|
|
|
+ <el-table-column label="发送状态" align="center" prop="sendStat" width="100">
|
|
|
|
|
+ <template #default="{ row }">
|
|
|
|
|
+ <el-tag v-if="row.sendStat === '1'" type="success">已发送</el-tag>
|
|
|
|
|
+ <el-tag v-else-if="row.sendStat === '2'" type="info">未发送</el-tag>
|
|
|
|
|
+ <span v-else>{{ row.sendStat }}</span>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </el-table-column>
|
|
|
|
|
+ <el-table-column label="是否为转发" align="center" prop="isForw" width="110">
|
|
|
|
|
+ <template #default="{ row }">
|
|
|
|
|
+ <el-tag v-if="row.isForw === '1'" type="warning">是</el-tag>
|
|
|
|
|
+ <el-tag v-else-if="row.isForw === '0'" type="">否</el-tag>
|
|
|
|
|
+ <span v-else>{{ row.isForw }}</span>
|
|
|
</template>
|
|
</template>
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
- <el-table-column label="下发状态" align="center" prop="sendStat" />
|
|
|
|
|
- <el-table-column label="是否为转发" align="center" prop="isForw" />
|
|
|
|
|
<el-table-column label="操作" align="center" width="150" fixed="right">
|
|
<el-table-column label="操作" align="center" width="150" fixed="right">
|
|
|
<template #default="{ row }">
|
|
<template #default="{ row }">
|
|
|
<el-button link type="primary" v-hasPermi="['woas:objwoas:edit']" @click="handleUpdate(row)"> 编辑 </el-button>
|
|
<el-button link type="primary" v-hasPermi="['woas:objwoas:edit']" @click="handleUpdate(row)"> 编辑 </el-button>
|
|
@@ -95,28 +113,37 @@
|
|
|
<el-input v-model="form.lareId" placeholder="请输入考核通知文号" />
|
|
<el-input v-model="form.lareId" placeholder="请输入考核通知文号" />
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<el-form-item label="考核类型" prop="woasType">
|
|
<el-form-item label="考核类型" prop="woasType">
|
|
|
- <el-input v-model="form.woasType" placeholder="请输入考核类型" />
|
|
|
|
|
|
|
+ <el-select v-model="form.woasType" placeholder="请选择考核类型" clearable style="width: 100%">
|
|
|
|
|
+ <el-option label="水利稽察考核" value="1" />
|
|
|
|
|
+ <el-option label="安全生产考核" value="2" />
|
|
|
|
|
+ </el-select>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<el-form-item label="考核开始时间" prop="woasStartime">
|
|
<el-form-item label="考核开始时间" prop="woasStartime">
|
|
|
- <el-date-picker v-model="form.woasStartime" type="datetime" placeholder="请选择考核开始时间" value-format="YYYY-MM-DD HH:mm:ss" style="width: 100%" />
|
|
|
|
|
|
|
+ <el-date-picker v-model="form.woasStartime" type="date" placeholder="请选择考核开始时间" value-format="YYYY-MM-DD" style="width: 100%" />
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<el-form-item label="考核截止时间" prop="woasDeadline">
|
|
<el-form-item label="考核截止时间" prop="woasDeadline">
|
|
|
- <el-date-picker v-model="form.woasDeadline" type="datetime" placeholder="请选择考核截止时间" value-format="YYYY-MM-DD HH:mm:ss" style="width: 100%" />
|
|
|
|
|
|
|
+ <el-date-picker v-model="form.woasDeadline" type="date" placeholder="请选择考核截止时间" value-format="YYYY-MM-DD" style="width: 100%" />
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
- <el-form-item label="下发状态" prop="sendStat">
|
|
|
|
|
- <el-input v-model="form.sendStat" placeholder="请输入下发状态" />
|
|
|
|
|
|
|
+ <el-form-item label="发送状态" prop="sendStat">
|
|
|
|
|
+ <el-select v-model="form.sendStat" placeholder="请选择发送状态" clearable style="width: 100%">
|
|
|
|
|
+ <el-option label="已发送" value="1" />
|
|
|
|
|
+ <el-option label="未发送" value="2" />
|
|
|
|
|
+ </el-select>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<el-form-item label="发文单位GUID" prop="orgGuid">
|
|
<el-form-item label="发文单位GUID" prop="orgGuid">
|
|
|
<el-input v-model="form.orgGuid" placeholder="请输入发文单位GUID" />
|
|
<el-input v-model="form.orgGuid" placeholder="请输入发文单位GUID" />
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<el-form-item label="是否为转发" prop="isForw">
|
|
<el-form-item label="是否为转发" prop="isForw">
|
|
|
- <el-input v-model="form.isForw" placeholder="请输入是否为转发" />
|
|
|
|
|
|
|
+ <el-select v-model="form.isForw" placeholder="请选择" clearable style="width: 100%">
|
|
|
|
|
+ <el-option label="否" value="0" />
|
|
|
|
|
+ <el-option label="是" value="1" />
|
|
|
|
|
+ </el-select>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<el-form-item label="父通知GUID" prop="woasGuid">
|
|
<el-form-item label="父通知GUID" prop="woasGuid">
|
|
|
<el-input v-model="form.woasGuid" placeholder="请输入父通知GUID" />
|
|
<el-input v-model="form.woasGuid" placeholder="请输入父通知GUID" />
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<el-form-item label="通知文件附件" prop="woasFileFiel">
|
|
<el-form-item label="通知文件附件" prop="woasFileFiel">
|
|
|
- <el-input v-model="form.woasFileFiel" placeholder="请输入通知文件附件字段" />
|
|
|
|
|
|
|
+ <file-upload v-model="fileList" :limit="5" :max-size="20" accept=".pdf,.doc,.docx,.xls,.xlsx" />
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<el-form-item label="其他附件" prop="otheFileFiel">
|
|
<el-form-item label="其他附件" prop="otheFileFiel">
|
|
|
<el-input v-model="form.otheFileFiel" type="textarea" placeholder="请输入其他附件字段" />
|
|
<el-input v-model="form.otheFileFiel" type="textarea" placeholder="请输入其他附件字段" />
|
|
@@ -136,6 +163,7 @@
|
|
|
<script setup name="ObjWoas" lang="ts">
|
|
<script setup name="ObjWoas" lang="ts">
|
|
|
import { listObjWoas, getObjWoas, addObjWoas, updateObjWoas, delObjWoas } from '@/api/slaj/woas'
|
|
import { listObjWoas, getObjWoas, addObjWoas, updateObjWoas, delObjWoas } from '@/api/slaj/woas'
|
|
|
import { Plus, Edit, Delete, Download, Search, RefreshRight, Document } from '@element-plus/icons-vue'
|
|
import { Plus, Edit, Delete, Download, Search, RefreshRight, Document } from '@element-plus/icons-vue'
|
|
|
|
|
+import FileUpload from '@/components/FileUpload/index.vue'
|
|
|
|
|
|
|
|
const { proxy } = getCurrentInstance() as ComponentInternalInstance
|
|
const { proxy } = getCurrentInstance() as ComponentInternalInstance
|
|
|
|
|
|
|
@@ -146,6 +174,7 @@ const ids = ref<Array<string | number>>([])
|
|
|
const single = ref(true)
|
|
const single = ref(true)
|
|
|
const multiple = ref(true)
|
|
const multiple = ref(true)
|
|
|
const total = ref(0)
|
|
const total = ref(0)
|
|
|
|
|
+const fileList = ref<any[]>([])
|
|
|
|
|
|
|
|
const queryFormRef = ref<ElFormInstance>()
|
|
const queryFormRef = ref<ElFormInstance>()
|
|
|
const formRef = ref<ElFormInstance>()
|
|
const formRef = ref<ElFormInstance>()
|
|
@@ -202,12 +231,14 @@ const getList = async () => {
|
|
|
/** 取消按钮 */
|
|
/** 取消按钮 */
|
|
|
const cancel = () => {
|
|
const cancel = () => {
|
|
|
reset()
|
|
reset()
|
|
|
|
|
+ fileList.value = []
|
|
|
dialog.visible = false
|
|
dialog.visible = false
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/** 表单重置 */
|
|
/** 表单重置 */
|
|
|
const reset = () => {
|
|
const reset = () => {
|
|
|
form.value = { ...initFormData }
|
|
form.value = { ...initFormData }
|
|
|
|
|
+ fileList.value = []
|
|
|
formRef.value?.resetFields()
|
|
formRef.value?.resetFields()
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -243,6 +274,16 @@ const handleUpdate = async (row?: any) => {
|
|
|
const guid = row?.guid || ids.value[0]
|
|
const guid = row?.guid || ids.value[0]
|
|
|
const res = await getObjWoas(guid)
|
|
const res = await getObjWoas(guid)
|
|
|
Object.assign(form.value, res.data)
|
|
Object.assign(form.value, res.data)
|
|
|
|
|
+ // 解析已有文件列表
|
|
|
|
|
+ if (res.data.woasFileFiel) {
|
|
|
|
|
+ const fileIds = res.data.woasFileFiel.split(',').filter(Boolean)
|
|
|
|
|
+ fileList.value = fileIds.map((id: string) => ({
|
|
|
|
|
+ uid: id,
|
|
|
|
|
+ name: id,
|
|
|
|
|
+ guid: id,
|
|
|
|
|
+ url: import.meta.env.VITE_SERVICE_BASE_TITLE + '/common/download?fileName=' + id
|
|
|
|
|
+ }))
|
|
|
|
|
+ }
|
|
|
dialog.visible = true
|
|
dialog.visible = true
|
|
|
dialog.title = '修改工作考核通知对象'
|
|
dialog.title = '修改工作考核通知对象'
|
|
|
}
|
|
}
|
|
@@ -251,6 +292,13 @@ const handleUpdate = async (row?: any) => {
|
|
|
const submitForm = () => {
|
|
const submitForm = () => {
|
|
|
formRef.value?.validate(async (valid: boolean) => {
|
|
formRef.value?.validate(async (valid: boolean) => {
|
|
|
if (valid) {
|
|
if (valid) {
|
|
|
|
|
+ // 将上传的文件ID写入 woasFileFiel 字段
|
|
|
|
|
+ const fileIds = fileList.value
|
|
|
|
|
+ .map(f => f.guid || f.fileName || f.name)
|
|
|
|
|
+ .filter(Boolean)
|
|
|
|
|
+ .join(',')
|
|
|
|
|
+ form.value.woasFileFiel = fileIds || null
|
|
|
|
|
+
|
|
|
form.value.guid ? await updateObjWoas(form.value) : await addObjWoas(form.value)
|
|
form.value.guid ? await updateObjWoas(form.value) : await addObjWoas(form.value)
|
|
|
proxy?.$modal.msgSuccess('操作成功')
|
|
proxy?.$modal.msgSuccess('操作成功')
|
|
|
dialog.visible = false
|
|
dialog.visible = false
|