LPJ hai 4 días
pai
achega
ba16eda9f0
Modificáronse 1 ficheiros con 62 adicións e 14 borrados
  1. 62 14
      gw-ui/src/views/slaj/woas/ObjWoas.vue

+ 62 - 14
gw-ui/src/views/slaj/woas/ObjWoas.vue

@@ -49,19 +49,37 @@
         <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="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 }">
-            {{ 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>
         </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 }">
-            {{ 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>
         </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">
           <template #default="{ row }">
             <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-form-item>
         <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 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 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 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 label="发文单位GUID" prop="orgGuid">
           <el-input v-model="form.orgGuid" placeholder="请输入发文单位GUID" />
         </el-form-item>
         <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 label="父通知GUID" prop="woasGuid">
           <el-input v-model="form.woasGuid" placeholder="请输入父通知GUID" />
         </el-form-item>
         <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 label="其他附件" prop="otheFileFiel">
           <el-input v-model="form.otheFileFiel" type="textarea" placeholder="请输入其他附件字段" />
@@ -136,6 +163,7 @@
 <script setup name="ObjWoas" lang="ts">
 import { listObjWoas, getObjWoas, addObjWoas, updateObjWoas, delObjWoas } from '@/api/slaj/woas'
 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
 
@@ -146,6 +174,7 @@ const ids = ref<Array<string | number>>([])
 const single = ref(true)
 const multiple = ref(true)
 const total = ref(0)
+const fileList = ref<any[]>([])
 
 const queryFormRef = ref<ElFormInstance>()
 const formRef = ref<ElFormInstance>()
@@ -202,12 +231,14 @@ const getList = async () => {
 /** 取消按钮 */
 const cancel = () => {
   reset()
+  fileList.value = []
   dialog.visible = false
 }
 
 /** 表单重置 */
 const reset = () => {
   form.value = { ...initFormData }
+  fileList.value = []
   formRef.value?.resetFields()
 }
 
@@ -243,6 +274,16 @@ const handleUpdate = async (row?: any) => {
   const guid = row?.guid || ids.value[0]
   const res = await getObjWoas(guid)
   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.title = '修改工作考核通知对象'
 }
@@ -251,6 +292,13 @@ const handleUpdate = async (row?: any) => {
 const submitForm = () => {
   formRef.value?.validate(async (valid: boolean) => {
     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)
       proxy?.$modal.msgSuccess('操作成功')
       dialog.visible = false