Kaynağa Gözat

Merge remote-tracking branch 'origin/master'

zzw 1 ay önce
ebeveyn
işleme
2f8ad34b41

+ 6 - 3
public/config.js

@@ -3,7 +3,9 @@
 // var host = 'http://10.7.13.26' // 以前
 // var host = 'http://116.204.117.33' //基本用这个
 // var host = 'http://101.33.208.140' // 测试
-var host = 'https://forty-mugs-stop.loca.lt/' // 测试
+// var host = 'http://b463f4b7.natappfree.cc' // 后端服务海鹏
+// var host = 'http://5jrgep.ipx.wanziwk.cn' // 后端服务译文
+var host = 'http://192.168.1.16' // 后端服务译文
 // var host = 'http://localhost'
 // combine为true时五合一部署, 为false时分五个服务部署
 var combine = true
@@ -21,13 +23,14 @@ var defaultModulePortMap = {
 window.getModuleRootUrl = function (module) {
   // 默认是全部服务合一的端口
   // var modulePort = '8089' // 以前
-  // var modulePort = '9506' // 基本用这个
+  var modulePort = '9506' // 基本用这个
   // var modulePort = '8088' //测试
-  var modulePort = ''
+  // var modulePort = ''
   if (!combine) {
     modulePort = defaultModulePortMap[module]
   }
   return host + ':' + modulePort
+  // return host + modulePort
 }
 window.context = {
   manage: host + ':8280/mvue', //管理端页面

+ 45 - 0
src/api/auditTaskProcessing.js

@@ -0,0 +1,45 @@
+import request from '@/utils/request'
+const url = window.context.form
+
+// 获取任务办理列表
+export function getTaskHandlingList(data) {
+  return request({
+    url: url + '/api/enterprise/castTask/pageList',
+    method: 'post',
+    data: data,
+  })
+}
+
+// 获取立项项目信息
+export function getProjectInformationInfo(projectId) {
+  return request({
+    url: url + '/api/enterprise/castTask/getDetail?id=' + projectId,
+    method: 'get',
+  })
+}
+
+//  根据任务ID获取报送资料要求列表
+export function getTaskRequirementList(taskId) {
+  return request({
+    url: url + '/costProjectTaskMaterial/v1/listByTaskId?taskId=' + taskId,
+    method: 'get',
+  })
+}
+
+// 新增/更新报送资料要求
+export function addOrUpdateTaskRequirement(data) {
+  return request({
+    url: url + '/costProjectTaskMaterial/v1/save',
+    method: 'post',
+    data: data,
+  })
+}
+
+// 填报任务提交
+export function submitTaskRequirement(data) {
+  return request({
+    url: url + '/api/enterprise/castTask/save',
+    method: 'post',
+    data: data,
+  })
+}

+ 60 - 0
src/mixins/useDict.js

@@ -52,6 +52,66 @@ export const dictMixin = {
         return item ? item.name : key // 找不到对应名称时返回原key
       }
     },
+    // 根据字典 value 获取字典 name
+    getDictNameByValue(typeKey, value) {
+      const dictData = this.dictData[typeKey]
+      if (!dictData || dictData.length === 0) return ''
+      if (value === null || value === undefined || value === '') return ''
+
+      // 辅助函数:在字典数据中根据 value 查找对应的 item
+      const findDictItemByValue = (searchValue) => {
+        if (
+          searchValue === null ||
+          searchValue === undefined ||
+          searchValue === ''
+        )
+          return null
+
+        // 尝试多种类型的匹配
+        const strValue = String(searchValue)
+        const numValue = Number(searchValue)
+
+        // 1. 严格匹配(原始类型)
+        let item = dictData.find((item) => item.value === searchValue)
+        if (item) return item
+
+        // 2. 字符串匹配
+        item = dictData.find((item) => {
+          return String(item.value) === strValue
+        })
+        if (item) return item
+
+        // 3. 数字匹配(如果 value 可以转换为数字)
+        if (!isNaN(numValue) && !isNaN(searchValue)) {
+          item = dictData.find((item) => {
+            const itemNum = Number(item.value)
+            return !isNaN(itemNum) && itemNum === numValue
+          })
+          if (item) return item
+        }
+
+        return null
+      }
+
+      // 检查 value 是否包含逗号分隔的多个值
+      const valueStr = String(value)
+      if (valueStr.includes(',')) {
+        // 处理多个值
+        const values = valueStr
+          .split(',')
+          .map((v) => v.trim())
+          .filter(Boolean)
+        const names = values.map((v) => {
+          const item = findDictItemByValue(v)
+          return item ? item.name : v // 找不到对应名称时返回原 value
+        })
+        return names.join(', ')
+      } else {
+        // 处理单个值
+        const item = findDictItemByValue(value)
+        return item ? item.name : valueStr // 找不到对应名称时返回原 value
+      }
+    },
   },
 }
 

+ 4 - 0
src/utils/request.js

@@ -58,8 +58,12 @@ const handleCode = (code, msg) => {
 const instance = axios.create({
   baseURL,
   timeout: requestTimeout,
+  // headers: {
+  //   'Content-Type': contentType,
+  // },
   headers: {
     'Content-Type': contentType,
+    'ngrok-skip-browser-warning': 'true',
   },
 })
 

Dosya farkı çok büyük olduğundan ihmal edildi
+ 567 - 203
src/views/EntDeclaration/auditTaskManagement/taskFillIn.vue


+ 186 - 66
src/views/EntDeclaration/auditTaskProcessing/index.vue

@@ -6,6 +6,15 @@
     <!-- 搜索区域 -->
     <div class="search-container">
       <el-form :inline="true" :model="searchForm" class="demo-form-inline">
+        <el-form-item label="年度:">
+          <el-date-picker
+            v-model="searchForm.year"
+            type="year"
+            placeholder="选择年"
+            format="yyyy"
+            value-format="yyyy"
+          ></el-date-picker>
+        </el-form-item>
         <el-form-item label="监审项目名称:">
           <el-input
             v-model="searchForm.projectName"
@@ -13,6 +22,46 @@
             clearable
           />
         </el-form-item>
+        <!-- <el-form-item label="立项来源:">
+          <el-select v-model="searchForm.projectSource" placeholder="请选择立项来源">
+            <el-option label="年度计划内" value="1"></el-option>
+            <el-option label="年度计划外" value="2"></el-option>
+          </el-select>
+        </el-form-item> -->
+        <!-- <el-form-item label="监审形式:">
+          <el-select
+            v-model="searchForm.auditType"
+            placeholder="请选择监审形式"
+            style="width: 100%"
+            clearable
+          >
+            <el-option
+              v-for="item in dictData['auditType']"
+              :key="item.key"
+              :label="item.name"
+              :value="item.key"
+            ></el-option>
+          </el-select> -->
+        <!-- <el-input v-model="searchForm.auditType" placeholder="请输入监审形式" clearable /> -->
+        <!-- </el-form-item> -->
+        <!-- <el-form-item label="立项地区:">
+          <el-input v-model="searchForm.areaName" placeholder="请输入立项地区" clearable />
+        </el-form-item> -->
+        <!-- <el-form-item label="监审主体:">
+          <el-input v-model="searchForm.auditBody" placeholder="请输入监审主体" clearable />
+        </el-form-item> -->
+        <!-- <el-form-item label="状态:">
+          <el-select v-model="searchForm.status" placeholder="请选择状态">
+            <el-option label="提交材料" value="tjcl"></el-option>
+            <el-option label="材料初审" value="ccls"></el-option>
+            <el-option label="实地审核" value="sdsh"></el-option>
+            <el-option label="意见告知" value="yigz"></el-option>
+            <el-option label="意见反馈" value="yjfk"></el-option>
+            <el-option label="集体审议" value="jtsy"></el-option>
+            <el-option label="出具报告" value="cjbg"></el-option>
+            <el-option label="归档" value="gd"></el-option>
+          </el-select>
+        </el-form-item> -->
         <el-form-item>
           <el-button type="primary" @click="handleSearch">查询</el-button>
         </el-form-item>
@@ -31,15 +80,25 @@
         label="序号"
         width="60"
         align="center"
-      />
+      >
+        <template slot-scope="scope">
+          <span>
+            {{ scope.$index + 1 }}
+          </span>
+        </template>
+      </el-table-column>
       <el-table-column
-        prop="planYear"
+        prop="projectYear"
         label="立项年度"
         width="100"
         align="center"
-      />
+      >
+        <template slot-scope="scope">
+          <span>{{ scope.row.projectYear }}年</span>
+        </template>
+      </el-table-column>
       <el-table-column
-        prop="auditRegion"
+        prop="areaName"
         label="立项地区"
         width="100"
         align="center"
@@ -57,25 +116,33 @@
         </template>
       </el-table-column>
       <el-table-column
-        prop="auditorData"
+        prop="auditPeriod"
         label="监审期间"
         align="center"
         show-overflow-tooltip
       />
       <el-table-column
-        prop="projectSource"
+        prop="sourceType"
         label="立项来源"
         align="center"
         show-overflow-tooltip
-      />
+      >
+        <!-- <template slot-scope="scope">
+            {{ getDictName('projectProposal', scope.row.sourceType) }}
+          </template> -->
+      </el-table-column>
       <el-table-column
-        prop="auditForm"
+        prop="auditType"
         label="监审形式"
-        width="100"
+        width="120"
         align="center"
-      />
+      >
+        <!-- <template slot-scope="scope">
+            {{ getDictName('auditType', scope.row.auditType) }}
+          </template> -->
+      </el-table-column>
       <el-table-column
-        prop="auditBody"
+        prop="orgName"
         label="监审主体"
         align="center"
         show-overflow-tooltip
@@ -85,7 +152,19 @@
         label="状态"
         align="center"
         show-overflow-tooltip
-      />
+      >
+        <template slot-scope="scope">
+          <div v-if="scope.row.status === 'tjcl'">提交材料</div>
+          <div v-if="scope.row.status === 'ccls'">材料初审</div>
+          <div v-if="scope.row.status === 'sdsh'">实地审核</div>
+          <div v-if="scope.row.status === 'yigz'">意见告知</div>
+          <div v-if="scope.row.status === 'yjfk'">意见反馈</div>
+          <div v-if="scope.row.status === 'jtsy'">集体审议</div>
+          <div v-if="scope.row.status === 'cjbg'">出具报告</div>
+          <div v-if="scope.row.status === 'gd'">归档</div>
+        </template>
+      </el-table-column>
+
       <el-table-column label="操作" width="180" align="center">
         <template slot-scope="scope">
           <!-- 文字按钮样式 -->
@@ -123,66 +202,82 @@
 
 <script>
   import { Message, MessageBox } from 'element-ui'
+  import { getTaskHandlingList } from '@/api/auditTaskProcessing'
+  import { dictMixin } from '@/mixins/useDict'
 
   export default {
     name: 'AuditTaskProcessingView',
+    mixins: [dictMixin],
     data() {
       return {
+        dictData: {
+          auditType: [], //监审形式
+          projectProposal: [], //立项来源
+        },
         loading: false,
         // 搜索表单
         searchForm: {
+          pageNum: 1,
+          pageSize: 10,
+          year: '',
           projectName: '',
+          projectSource: '',
+          auditForm: '',
+          auditType: '',
+          areaName: '',
+          auditBody: '',
+          status: '',
         },
         // 项目列表
         projectList: [
-          {
-            id: 1,
-            serialNumber: 1,
-            planYear: '2025',
-            auditRegion: '山西省',
-            projectName: '省内油气管道运输成本监审',
-            auditorData: '2022年--2024年',
-            projectSource: '年度计划内',
-            auditForm: '定期监审',
-            auditBody: '山西省发改委—成本调查监审局',
-            status: '报送资料',
-          },
-          {
-            id: 2,
-            serialNumber: 2,
-            planYear: '2025',
-            auditRegion: '山西省',
-            projectName: '省内油气管道运输成本监审',
-            auditorData: '2019年--2021年',
-            projectSource: '年度计划内',
-            auditForm: '定期监审',
-            auditBody: '山西省发改委—成本调查监审局',
-            status: '实地审核—待补充材料',
-          },
-          {
-            id: 3,
-            serialNumber: 3,
-            planYear: '2025',
-            auditRegion: '山西省',
-            projectName: '省内油气管道运输成本监审',
-            auditorData: '2016年--2018年',
-            projectSource: '年度计划内',
-            auditForm: '定期监审',
-            auditBody: '山西省发改委—成本调查监审局',
-            status: '反馈意见—未反馈',
-          },
-          {
-            id: 4,
-            serialNumber: 4,
-            planYear: '2025',
-            auditRegion: '山西省',
-            projectName: '省内油气管道运输成本监审',
-            auditorData: '2013年--2015年',
-            projectSource: '年度计划内',
-            auditForm: '定期监审',
-            auditBody: '山西省发改委—成本调查监审局',
-            status: '办结',
-          },
+          // {
+          //   id: 1,
+          //   serialNumber: 1,
+          //   planYear: '2025',
+          //   auditRegion: '山西省',
+          //   projectName: '省内油气管道运输成本监审',
+          //   auditorData: '2022年--2024年',
+          //   projectSource: '年度计划内',
+          //   auditForm: '定期监审',
+          //   auditBody: '山西省发改委—成本调查监审局',
+          //   status: 'tjcl',
+          // },
+          // {
+          //   id: 2,
+          //   serialNumber: 2,
+          //   planYear: '2025',
+          //   auditRegion: '山西省',
+          //   projectName: '省内油气管道运输成本监审',
+          //   auditorData: '2019年--2021年',
+          //   projectSource: '年度计划内',
+          //   auditForm: '定期监审',
+          //   auditBody: '山西省发改委—成本调查监审局',
+          //   status: 'jtsy',
+          // },
+          // {
+          //   id: 3,
+          //   serialNumber: 3,
+          //   planYear: '2025',
+          //   auditRegion: '山西省',
+          //   projectName: '省内油气管道运输成本监审',
+          //   auditorData: '2016年--2018年',
+          //   projectSource: '年度计划内',
+          //   auditForm: '定期监审',
+          //   auditBody: '山西省发改委—成本调查监审局',
+          //   status: 'yigz',
+          // },
+          // {
+          //   id: 4,
+          //   serialNumber: 4,
+          //   planYear: '2025',
+          //   auditRegion: '山西省',
+          //   projectName: '省内油气管道运输成本监审',
+          //   auditorData: '2013年--2015年',
+          //   projectSource: '年度计划内',
+          //   auditForm: '定期监审',
+          //   auditBody: '山西省发改委—成本调查监审局',
+          //   status: 'gd',
+          // },
         ],
         // 分页信息
         currentPage: 1,
@@ -190,12 +285,15 @@
         total: 3,
       }
     },
+    mounted() {
+      this.handleSearch()
+    },
     methods: {
       // 处理搜索
       handleSearch() {
-        // 这里可以添加搜索逻辑
-        console.log('搜索:', this.searchForm)
-        Message.success('搜索成功')
+        this.currentPage = 1
+        this.searchForm.pageNum = 1
+        this.getTaskHandlingPage()
       },
 
       // 处理查看
@@ -213,18 +311,25 @@
       // 处理分页大小变化
       handleSizeChange(val) {
         this.pageSize = val
-        // 这里可以添加分页逻辑
+        this.searchForm.pageSize = val
+        this.searchForm.pageNum = 1
+        this.currentPage = 1
+        this.getTaskHandlingPage()
       },
       // 处理当前页变化
       handleCurrentChange(val) {
         this.currentPage = val
-        // 这里可以添加分页逻辑
+        this.searchForm.pageNum = val
+        this.getTaskHandlingPage()
       },
       // 填报任务
       handleEdit(row) {
         console.log(row)
         this.$router.push({
           path: '/dataManagement/EntDeclaration/auditTaskManagementProjectInfo',
+          query: {
+            info: row,
+          },
         })
       },
       // 消息通知
@@ -233,11 +338,26 @@
         this.$router.push({
           path: '/dataManagement/EntDeclaration/auditTaskManagementProjectInfo',
           query: {
-            id: row.id,
+            info: row,
             formType: 'messageNotice',
           },
         })
       },
+      // 任务办理列表
+      getTaskHandlingPage() {
+        this.loading = true
+        getTaskHandlingList(this.searchForm)
+          .then((res) => {
+            console.log('任务办理列表', res)
+            this.projectList = res.value.value.records
+            this.total = res.value.value.total
+            this.loading = false
+          })
+          .catch((err) => {
+            console.log(err)
+            this.loading = false
+          })
+      },
     },
   }
 </script>

Bu fark içinde çok fazla dosya değişikliği olduğu için bazı dosyalar gösterilmiyor