From 5fd5c69347db39f256cc6e433bb6239e7bc7df84 Mon Sep 17 00:00:00 2001
From: 张含笑 <zhx18749296735@163.com>
Date: Wed, 21 Jan 2026 14:38:11 +0800
Subject: [PATCH] feat:字典

---
 applications/task-work-order/src/views/orderView/orderDataManage/dataObjection/FormDiaLog.vue |   89 +++++++++++++++++++----------
 applications/task-work-order/src/views/orderView/orderDataManage/appInnovation/index.vue      |   35 ++++++-----
 2 files changed, 77 insertions(+), 47 deletions(-)

diff --git a/applications/task-work-order/src/views/orderView/orderDataManage/appInnovation/index.vue b/applications/task-work-order/src/views/orderView/orderDataManage/appInnovation/index.vue
index eca4847..345ef80 100644
--- a/applications/task-work-order/src/views/orderView/orderDataManage/appInnovation/index.vue
+++ b/applications/task-work-order/src/views/orderView/orderDataManage/appInnovation/index.vue
@@ -14,7 +14,9 @@
 					clearable
 					@change="handleSearch"
 				>
-					<el-option v-for="item in appInnovationStatusOptions" :key="item.value" :label="item.label" :value="item.value" />
+					<el-option v-for="item in dictObj.appInnovationStatus" :key="item.dictKey"
+						:label="item.dictValue"
+						:value="item.dictKey"/>
 				</el-select>
 			</el-form-item>
 
@@ -32,12 +34,16 @@
 		<div class="gd-table-container" v-loading="loading">
 			<div class="gd-table-content gd-table-content-bg">
 				<el-table class="gd-table" :data="list" @selection-change="handleSelectionChange">
-					<el-table-column type="selection" width="46" />
+					<el-table-column label="序号" width="60" align="center">
+						<template #default="{ $index }">
+							{{ formatNumber((searchParams.current - 1) * searchParams.size + $index + 1) }}
+						</template>
+					</el-table-column>
 					<el-table-column prop="caseName" show-overflow-tooltip label="案例名称" />
 					<el-table-column prop="belongDomain" show-overflow-tooltip label="所属领域" />
 					<el-table-column prop="innovationStatus" show-overflow-tooltip label="应用创新状态">
 						<template v-slot="{ row }">
-							{{ getInnovationStatusLabel(row.innovationStatus) }}
+							{{ getDictLabel(row.innovationStatus) }}
 						</template>
 					</el-table-column>
 					<el-table-column prop="applicationScenarioDesc" show-overflow-tooltip label="应用场景描述" />
@@ -75,6 +81,7 @@
 import { onMounted, ref, nextTick, provide } from 'vue'
 import { ElMessage, ElMessageBox } from 'element-plus'
 import { getDictionaryByCode } from '@/api/system/dictbiz'
+import { getDictLabel } from '@ztzf/utils'
 import FormDiaLog from './FormDiaLog.vue'
 import {
 	gdApplicationInnovationPageApi,
@@ -96,23 +103,16 @@
 const queryParamsRef = ref(null) // 查询表单实例
 const dialogRef = ref(null) // 弹框实例
 const dialogVisible = ref(false)
-const appInnovationStatusOptions = ref([]) // 应用创新状态字典
-
-// 注入字典数据到子组件
-provide('appInnovationStatusOptions', appInnovationStatusOptions)
-
+const dictObj = ref({}) // 字典对象
+provide('dictObj', dictObj)
 // 获取字典
 function getDictList() {
-	getDictionaryByCode('appInnovationStatus').then(res => {
-		appInnovationStatusOptions.value = res.data.data?.appInnovationStatus || []
+	return getDictionaryByCode('appInnovationStatus').then(res => {
+		dictObj.value = res.data.data
+		
 	})
 }
 
-// 获取应用创新状态标签
-function getInnovationStatusLabel(value) {
-	const item = appInnovationStatusOptions.value.find(item => item.value === value)
-	return item?.label || value
-}
 
 // 获取列表
 async function getList() {
@@ -168,6 +168,11 @@
 	selectedIds.value = rows.map(item => item.id)
 }
 
+// 格式化数字为两位数
+function formatNumber(num) {
+	return num.toString().padStart(2, '0')
+}
+
 onMounted(() => {
 	getList()
 	getDictList()
diff --git a/applications/task-work-order/src/views/orderView/orderDataManage/dataObjection/FormDiaLog.vue b/applications/task-work-order/src/views/orderView/orderDataManage/dataObjection/FormDiaLog.vue
index db38371..8df7d39 100644
--- a/applications/task-work-order/src/views/orderView/orderDataManage/dataObjection/FormDiaLog.vue
+++ b/applications/task-work-order/src/views/orderView/orderDataManage/dataObjection/FormDiaLog.vue
@@ -24,23 +24,23 @@
 					<div class="label">提交人联系方式</div>
 					<div class="val">{{ formData.submitterContact }}</div>
 				</el-col>
-				<el-col :span="12">
+				<!-- <el-col :span="12">
 					<div class="label">提交单位</div>
 					<div class="val">{{ formData.submitUnitName }}</div>
-				</el-col>
+				</el-col> -->
 				<el-col :span="12">
 					<div class="label">目录/申请资源名称</div>
 					<div class="val">{{ formData.catalogResourceName }}</div>
 				</el-col>
-				<el-col :span="24">
+				<el-col :span="12">
 					<div class="label">异议描述</div>
 					<div class="val">{{ formData.objectionDesc }}</div>
 				</el-col>
-				<el-col :span="24">
+				<el-col :span="12">
 					<div class="label">异议依据</div>
 					<div class="val">{{ formData.objectionBasis }}</div>
 				</el-col>
-				<el-col :span="24">
+				<el-col :span="12">
 					<div class="label">相关附件</div>
 					<div class="val">{{ formData.attachName || '暂无附件' }}</div>
 				</el-col>
@@ -90,50 +90,46 @@
 						<el-input class="gd-input" v-model="formData.submitterContact" placeholder="请输入" clearable />
 					</el-form-item>
 				</el-col>
-				<el-col :span="12">
-					<el-form-item label="提交单位" prop="submitUnitId">
-						<el-tree-select
-							class="gd-select"
-							popper-class="gd-tree-select-popper"
-							v-model="formData.submitUnitId"
-							node-key="id"
-							:data="deptTree"
-							:props="treeProps"
-							check-strictly
-							clearable
-						/>
-					</el-form-item>
-				</el-col>
+<!--				<el-col :span="12">-->
+<!--					<el-form-item label="提交单位" prop="submitUnitId">-->
+<!--						<el-tree-select-->
+<!--							class="gd-select"-->
+<!--							popper-class="gd-tree-select-popper"-->
+<!--							v-model="formData.submitUnitId"-->
+<!--							node-key="id"-->
+<!--							:data="deptTree"-->
+<!--							:props="treeProps"-->
+<!--							check-strictly-->
+<!--							clearable-->
+<!--						/>-->
+<!--					</el-form-item>-->
+<!--				</el-col>-->
 				<el-col :span="12">
 					<el-form-item label="目录/申请资源名称" prop="catalogResourceName">
 						<el-input class="gd-input" v-model="formData.catalogResourceName" placeholder="请输入" clearable />
 					</el-form-item>
 				</el-col>
-				<el-col :span="24">
+				<el-col :span="12">
 					<el-form-item label="异议描述" prop="objectionDesc">
 						<el-input
 							class="gd-input"
 							v-model="formData.objectionDesc"
-							type="textarea"
-							:rows="4"
 							placeholder="请输入"
 							clearable
 						/>
 					</el-form-item>
 				</el-col>
-				<el-col :span="24">
+				<el-col :span="12">
 					<el-form-item label="异议依据" prop="objectionBasis">
 						<el-input
 							class="gd-input"
 							v-model="formData.objectionBasis"
-							type="textarea"
-							:rows="4"
 							placeholder="请输入"
 							clearable
 						/>
 					</el-form-item>
 				</el-col>
-				<el-col :span="24">
+				<el-col :span="12">
 					<el-form-item label="相关附件" prop="attachId">
 						<div class="upload-container">
 							<el-upload
@@ -160,7 +156,6 @@
 			</el-row>
 		</el-form>
 		<template #footer>
-			<el-button color="#F2F3F5" @click="visible = false">{{ dialogReadonly ? '关闭' : '取消' }}</el-button>
 			<el-button
 				class="save-btn"
 				color="#4C34FF"
@@ -171,6 +166,8 @@
 			>
 				保存
 			</el-button>
+			<el-button color="#F2F3F5" @click="handleApply">申请</el-button>
+
 		</template>
 	</el-dialog>
 </template>
@@ -195,8 +192,13 @@
 	catalogResourceName: '',
 	objectionDesc: '',
 	objectionBasis: '',
-	attachId: '',
-	attachName: '',
+	attachmentList:[
+		{
+			attachId: '',
+			attachName: '',
+		}
+	]
+
 })
 
 // 注入部门树和字典
@@ -211,7 +213,7 @@
 const dialogMode = ref('add') // 弹框模式
 const submitting = ref(false) // 提交中
 const dialogReadonly = computed(() => dialogMode.value === 'view')
-const titleEnum = ref({ edit: '编辑', view: '查看', add: '新增' })
+const titleEnum = ref({ edit: '编辑', view: '查看', add: '数据异议申请' })
 const fileList = ref([]) // 上传文件列表
 const uploadedFiles = ref([]) // 已上传文件列表
 
@@ -297,7 +299,27 @@
 	if (!isValid) return
 	submitting.value = true
 	try {
-		await gdDataObjectionSubmitApi(formData.value)
+		// 构建符合接口要求的提交数据
+		const submitData = {
+			title: formData.value.title,
+			objectionType: formData.value.objectionType,
+			submitter: formData.value.submitter,
+			submitterContact: formData.value.submitterContact,
+			catalogResourceName: formData.value.catalogResourceName,
+			objectionDesc: formData.value.objectionDesc,
+			objectionBasis: formData.value.objectionBasis,
+			areaCode: formData.value.areaCode || '',
+			handleUnit: formData.value.handleUnit || '',
+			objectionStatus: formData.value.objectionStatus || '',
+			otherObjectionDetail: formData.value.otherObjectionDetail || '',
+			reviewOpinion: formData.value.reviewOpinion || '',
+			// 构建附件列表
+			attachmentList: uploadedFiles.value.map(file => ({
+				attachId: file.attachId,
+				attachName: file.originalName,
+			}))
+		}
+		await gdDataObjectionSubmitApi(submitData)
 		ElMessage.success(dialogMode.value === 'add' ? '新增成功' : '更新成功')
 		visible.value = false
 		emit('success')
@@ -305,7 +327,10 @@
 		submitting.value = false
 	}
 }
-
+// 申请提交
+async function handleApply() {
+	
+}
 // 加载详情
 async function loadDetail() {
 	if (!formData.value.id) return

--
Gitblit v1.9.3