Pārlūkot izejas kodu

Merge branch 'master' of http://1.71.9.215:3000/feiyi/cbjsxt-front-master

shiyanyu 1 nedēļu atpakaļ
vecāks
revīzija
5248b75790

+ 120 - 99
src/components/layouts/HtAvatar/index.vue

@@ -36,7 +36,8 @@
 
         <el-dropdown-item command="personalInfo">
           <div class="icon-item">
-            <i class="iconfont icon-user-info"></i>
+            <!-- <i class="iconfont icon-user-info"></i> -->
+            <i class="iconfont-5039297 icon-gerenxinxi"></i>
             <span>个人信息</span>
           </div>
         </el-dropdown-item>
@@ -95,7 +96,9 @@
             </el-dropdown-menu>
           </el-dropdown>
         </el-dropdown-item>
-        <el-dropdown-item v-if="templateList.length > 1 && this.$store.state.user.showCustomPage">
+        <el-dropdown-item
+          v-if="templateList.length > 1 && $store.state.user.showCustomPage"
+        >
           <el-dropdown placement="left-start" @command="handleTemplateChange">
             <div class="icon-item switch-position">
               <ht-icon class="iconfont" name="block" />
@@ -127,14 +130,16 @@
 
         <el-dropdown-item command="modifyPassword">
           <div class="icon-item">
-            <i class="iconfont icon-user-pwd-modify"></i>
+            <!-- <i class="iconfont icon-user-pwd-modify"></i> -->
+            <i class="iconfont-5039297 icon-xiugaimima"></i>
             <span>修改密码</span>
           </div>
         </el-dropdown-item>
 
         <el-dropdown-item command="logout" divided>
           <div class="user-logout icon-item">
-            <i class="iconfont icon-user-logout"></i>
+            <!-- <i class="iconfont icon-user-logout"></i> -->
+            <i class="iconfont-5039297 icon-tuichuxitong"></i>
             <span>退出登录</span>
           </div>
         </el-dropdown-item>
@@ -166,7 +171,13 @@
   import req from '@/utils/request'
   import { getFiles } from '@/api/base.js'
   import { setCookie } from '@/api/newApi'
-  import { getLayoutTemplates, getBpmDataTemplateInfo, getLayoutDetail,saveTemplate, delTemplateUser } from '@/api/portal.js'
+  import {
+    getLayoutTemplates,
+    getBpmDataTemplateInfo,
+    getLayoutDetail,
+    saveTemplate,
+    delTemplateUser,
+  } from '@/api/portal.js'
   export default {
     name: 'HtAvatar',
     components: {
@@ -315,59 +326,68 @@
           }
         })
       },
-      getBpmDataTemplateInfo(){
+      getBpmDataTemplateInfo() {
         let param = {
-          alias: 'mhmb'
+          alias: 'mhmb',
         }
-        getBpmDataTemplateInfo(param).then(res=>{
-          if(res.code === 200){
+        getBpmDataTemplateInfo(param).then((res) => {
+          if (res.code === 200) {
             this.modeltemplateId = res.value.id
             this.getTemplates('init')
           }
         })
-
       },
-      getTemplates(type, item){
+      getTemplates(type, item) {
         let param = {
           templateId: this.modeltemplateId,
           queryFilter: {
-            pageBean:{},
-            querys:[{property: "F_zzid", value: this.userDetail.curOrgId, group: "main", operation: "EQUAL", relation: "AND"}],
-            sorter:[]
-          }
+            pageBean: {},
+            querys: [
+              {
+                property: 'F_zzid',
+                value: this.userDetail.curOrgId,
+                group: 'main',
+                operation: 'EQUAL',
+                relation: 'AND',
+              },
+            ],
+            sorter: [],
+          },
         }
-        getLayoutTemplates(param).then(res=>{
-          const _this = this
-          if(res.rows.length){
-            let arr = []
-            res.rows.forEach(item=>{
-              if(item.sfqy === '1'){
-                arr.push(item)
-              }
-            })
-            this.templateList = arr
-            this.templateList.forEach(item=>{
-              this.$set(item, 'selected', false)
-            })
-            if(type === 'init'){
-              this.getCurrenTemplate('init')
-            } else if(type === 'change'){
-              if(this.compareTemplateList(item.mbmc) === -1){
-                this.$message.error('该门户模板已禁用')
-              } else {
-                this.saveTemplate(item)
+        getLayoutTemplates(param)
+          .then((res) => {
+            const _this = this
+            if (res.rows.length) {
+              let arr = []
+              res.rows.forEach((item) => {
+                if (item.sfqy === '1') {
+                  arr.push(item)
+                }
+              })
+              this.templateList = arr
+              this.templateList.forEach((item) => {
+                this.$set(item, 'selected', false)
+              })
+              if (type === 'init') {
+                this.getCurrenTemplate('init')
+              } else if (type === 'change') {
+                if (this.compareTemplateList(item.mbmc) === -1) {
+                  this.$message.error('该门户模板已禁用')
+                } else {
+                  this.saveTemplate(item)
+                }
               }
+            } else {
+              this.$store.state.user.templateLoading = false
             }
-          } else {
-            this.$store.state.user.templateLoading = false
-          }
-        }).finally(()=>{
-          this.loading = false
-        })
+          })
+          .finally(() => {
+            this.loading = false
+          })
       },
-      compareTemplateList(name){
+      compareTemplateList(name) {
         let templateNames = []
-        this.templateList.forEach(item=>{
+        this.templateList.forEach((item) => {
           templateNames.push(item.mbmc)
         })
         const result = templateNames.indexOf(name)
@@ -376,59 +396,59 @@
       getCurrenTemplate(type) {
         let param = {
           userId: this.userDetail.user.userId,
-          orgId: this.userDetail.curOrgId
+          orgId: this.userDetail.curOrgId,
         }
-        getLayoutDetail(param).then(res=>{
-          if(res.code === 200){
-            let selectTemplate = ''
-            let result = ''
-            if(res.value){
-              result = res.value.templateName
-              if (this.compareTemplateList(result) === -1){
-                this.$store.state.user.nowTemplate = ''
-                this.delTemplate()
-                return
-              }
-            } else {
-              if(this.$store.state.user.nowTemplate){
-                result = this.$store.state.user.nowTemplate
+        getLayoutDetail(param)
+          .then((res) => {
+            if (res.code === 200) {
+              let selectTemplate = ''
+              let result = ''
+              if (res.value) {
+                result = res.value.templateName
+                if (this.compareTemplateList(result) === -1) {
+                  this.$store.state.user.nowTemplate = ''
+                  this.delTemplate()
+                  return
+                }
               } else {
-                if(this.templateList.length){
-                  result = this.templateList[0].mbmc
+                if (this.$store.state.user.nowTemplate) {
+                  result = this.$store.state.user.nowTemplate
                 } else {
-                  result = '模板A'
+                  if (this.templateList.length) {
+                    result = this.templateList[0].mbmc
+                  } else {
+                    result = '模板A'
+                  }
                 }
               }
-
+              this.templateList.forEach((item) => {
+                if (item.mbmc === result) {
+                  this.$set(item, 'selected', true)
+                  selectTemplate = item.mbmc
+                }
+              })
+              this.$store.state.user.nowTemplate = result
             }
-            this.templateList.forEach(item=>{
-              if(item.mbmc === result){
-                this.$set(item, 'selected', true)
-                selectTemplate = item.mbmc
-              }
-            })
-            this.$store.state.user.nowTemplate = result
-          }
-        }).finally(()=>{
-          if(type === 'init'){
-            this.$store.state.user.templateLoading = false
-          }
-        })
-
+          })
+          .finally(() => {
+            if (type === 'init') {
+              this.$store.state.user.templateLoading = false
+            }
+          })
       },
-      delTemplate(){
+      delTemplate() {
         let param = {
           userId: this.userDetail.user.userId,
-          orgId: this.userDetail.curOrgId
+          orgId: this.userDetail.curOrgId,
         }
-        delTemplateUser(param).then(res=>{
-          if(res.code === 200){
+        delTemplateUser(param).then((res) => {
+          if (res.code === 200) {
             this.getCurrenTemplate()
           }
         })
       },
-      handleTemplateChange(item){
-        if(item.mbmc === this.$store.state.user.nowTemplate){
+      handleTemplateChange(item) {
+        if (item.mbmc === this.$store.state.user.nowTemplate) {
           return
         } else {
           this.$confirm('是否切换门户模板?', '提示', {
@@ -441,28 +461,29 @@
             this.getTemplates('change', item)
           })
         }
-
       },
-      saveTemplate(item){
+      saveTemplate(item) {
         let param = {
           userId: this.userDetail.user.userId,
           orgId: this.userDetail.curOrgId,
-          templateName: item.mbmc
+          templateName: item.mbmc,
         }
-        saveTemplate(param).then(res=>{
-          if(res.code === 200){
-            this.templateList.forEach(template=>{
-              if (template.mbmc === item.mbmc){
-                this.$set(template, 'selected', true)
-                this.$store.state.user.nowTemplate = item.mbmc
-              } else {
-                this.$set(template, 'selected', false)
-              }
-            })
-          }
-        }).finally(()=>{
-          this.$store.state.user.templateLoading = false
-        })
+        saveTemplate(param)
+          .then((res) => {
+            if (res.code === 200) {
+              this.templateList.forEach((template) => {
+                if (template.mbmc === item.mbmc) {
+                  this.$set(template, 'selected', true)
+                  this.$store.state.user.nowTemplate = item.mbmc
+                } else {
+                  this.$set(template, 'selected', false)
+                }
+              })
+            }
+          })
+          .finally(() => {
+            this.$store.state.user.templateLoading = false
+          })
       },
       handleLangChange(lang) {
         this.setDefaultLang(lang)

+ 5 - 1
src/components/task/mounTaskComponents/index.js

@@ -558,11 +558,15 @@ export const taskMixin = {
       if (!pid) return
       // 编辑态和查看态后台的权限标识不同,未携带会导致列表为空
       const permissionType = this.isView ? '0' : '1'
+      // 确保data是对象,避免当传入非对象类型(如字符串)时出错
+      const documentType =
+        typeof data === 'object' && data !== null ? data.documentType || '' : ''
       getCostProjectDocumentPageList({
         pageNum: this.documentData.pagination.currentPage,
         pageSize: this.documentData.pagination.pageSize,
         projectId: pid,
-        documentName: data ? data.documentName : '',
+        // documentName: data ? data.documentName : '',
+        documentType,
         permissionType,
       }).then((res) => {
         let records = res.value.value.records

+ 26 - 5
src/icon/font_5039297_dxnqahvyn47/iconfont.css

@@ -1,9 +1,9 @@
 @font-face {
   font-family: "iconfont-5039297"; /* Project id 5039297 */
-  src: url('iconfont.woff2?t=1764915437264') format('woff2'),
-       url('iconfont.woff?t=1764915437264') format('woff'),
-       url('iconfont.ttf?t=1764915437264') format('truetype'),
-       url('iconfont.svg?t=1764915437264#iconfont') format('svg');
+  src: url('iconfont.woff2?t=1765420803788') format('woff2'),
+       url('iconfont.woff?t=1765420803788') format('woff'),
+       url('iconfont.ttf?t=1765420803788') format('truetype'),
+       url('iconfont.svg?t=1765420803788#iconfont') format('svg');
 }
 
 .iconfont-5039297 {
@@ -14,6 +14,26 @@
   -moz-osx-font-smoothing: grayscale;
 }
 
+.icon-xiugaimima:before {
+  content: "\e680";
+}
+
+.icon-tuichuxitong:before {
+  content: "\e681";
+}
+
+.icon-wenjian:before {
+  content: "\e67d";
+}
+
+.icon-tuichu:before {
+  content: "\e67e";
+}
+
+.icon-gerenxinxi:before {
+  content: "\e67f";
+}
+
 .icon-shangchuan:before {
   content: "\e67c";
 }
@@ -436,4 +456,5 @@
 
 .icon-weishenhe:before {
   content: "\e620";
-}
+}
+

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
src/icon/font_5039297_dxnqahvyn47/iconfont.js


+ 35 - 0
src/icon/font_5039297_dxnqahvyn47/iconfont.json

@@ -6,6 +6,41 @@
   "description": "应用端、管理端的图票",
   "glyphs": [
     {
+      "icon_id": "46323578",
+      "name": "修改密码",
+      "font_class": "xiugaimima",
+      "unicode": "e680",
+      "unicode_decimal": 59008
+    },
+    {
+      "icon_id": "46323577",
+      "name": "退出系统",
+      "font_class": "tuichuxitong",
+      "unicode": "e681",
+      "unicode_decimal": 59009
+    },
+    {
+      "icon_id": "46323581",
+      "name": "附件",
+      "font_class": "wenjian",
+      "unicode": "e67d",
+      "unicode_decimal": 59005
+    },
+    {
+      "icon_id": "46323579",
+      "name": "退出",
+      "font_class": "tuichu",
+      "unicode": "e67e",
+      "unicode_decimal": 59006
+    },
+    {
+      "icon_id": "46323580",
+      "name": "个人信息",
+      "font_class": "gerenxinxi",
+      "unicode": "e67f",
+      "unicode_decimal": 59007
+    },
+    {
       "icon_id": "46277234",
       "name": "上传",
       "font_class": "shangchuan",

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 4 - 0
src/icon/font_5039297_dxnqahvyn47/iconfont.svg


BIN
src/icon/font_5039297_dxnqahvyn47/iconfont.ttf


BIN
src/icon/font_5039297_dxnqahvyn47/iconfont.woff


BIN
src/icon/font_5039297_dxnqahvyn47/iconfont.woff2


+ 14 - 3
src/views/costAudit/auditInfo/auditManage/auditDocumentsMain.vue

@@ -413,6 +413,7 @@
           documentName: '',
           documentNumber: '',
           documentType: '',
+          documentTypeName: '',
           documentWhId: '',
           electronicDocumentUrl: '',
           enterpriseId: [],
@@ -625,11 +626,17 @@
         this.getlist(data)
       },
       getlist(data) {
+        // 确保data是对象,避免当传入非对象类型(如字符串)时出错
+        const documentType =
+          typeof data === 'object' && data !== null
+            ? data.documentType || ''
+            : ''
         getCostProjectDocumentPageList({
           pageNum: this.documentData.pagination.currentPage,
           pageSize: this.documentData.pagination.pageSize,
           projectId: this.project.projectId,
-          documentName: data ? data.documentName : '',
+          // documentName: data ? data.documentName : '',
+          documentType,
           permissionType: '0',
         }).then((res) => {
           let records = res.value.value.records
@@ -815,6 +822,8 @@
         this.isWh = data.isWh
         this.fileUrl = data.fileUrl
         this.document.documentName = data.documentName
+        this.document.documentType = data.documentType || ''
+        this.document.documentTypeName = data.documentTypeName || ''
         this.document.documentNumber = ''
         this.document.documentWhId = ''
       },
@@ -1537,9 +1546,11 @@
     cursor: pointer;
     font-size: 12px;
   }
-
+  .type-item.active {
+    color: $base-color-default;
+  }
   .type-item:hover {
-    color: #409eff;
+    color: $base-color-default;
   }
 
   .documents-content {

+ 40 - 3
src/views/costAudit/baseInfo/auditReviewDocManage/index.vue

@@ -336,6 +336,25 @@
                 </el-form-item>
               </el-col>
               <el-col :span="12">
+                <el-form-item label="模板类型:" prop="documentType">
+                  <el-select
+                    v-model="formData.documentType"
+                    style="width: 100%"
+                    placeholder="请选择类型"
+                    @change="handleDocumentTypeChange"
+                  >
+                    <el-option
+                      v-for="item in dictData['documentTemplateType']"
+                      :key="item.key"
+                      :label="item.name"
+                      :value="item.key"
+                    ></el-option>
+                  </el-select>
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row :gutter="20">
+              <el-col :span="12">
                 <el-form-item label="是否需要文号:" prop="isWh">
                   <el-radio-group v-model="formData.isWh">
                     <el-radio label="0">是</el-radio>
@@ -343,9 +362,7 @@
                   </el-radio-group>
                 </el-form-item>
               </el-col>
-            </el-row>
-            <el-row :gutter="20">
-              <el-col :span="24">
+              <el-col :span="12">
                 <el-form-item label="说明:" prop="description">
                   <el-input
                     v-model="formData.description"
@@ -594,6 +611,7 @@
       return {
         dictData: {
           documentType: [], //文书类型
+          documentTemplateType: [], //文书模板类型
         },
         loading: false,
         // 视图控制
@@ -642,6 +660,9 @@
               trigger: 'blur',
             },
           ],
+          documentType: [
+            { required: true, message: '请选择模板类型', trigger: 'change' },
+          ],
           // dataSourceType: [
           //   { required: true, message: '请选择数据来源', trigger: 'change' },
           // ],
@@ -886,6 +907,20 @@
         }
       },
 
+      // 处理模板类型变化
+      handleDocumentTypeChange(value) {
+        // 根据选中的documentType查找对应的documentTypeName
+        const documentTemplateType = this.dictData['documentTemplateType'] || []
+        const selectedType = documentTemplateType.find(
+          (item) => item.key === value
+        )
+        if (selectedType) {
+          this.formData.documentTypeName = selectedType.name
+        } else {
+          this.formData.documentTypeName = ''
+        }
+      },
+
       // 单个删除按钮点击事件
       async handleDeleteRow(row) {
         this.$confirm('确定要删除该记录吗?', '提示', {
@@ -967,6 +1002,8 @@
           tableId: 1,
           isWh: '1',
           type: '',
+          documentType: '',
+          documentTypeName: '',
         }
         this.uploadedFile = null
         this.selectedFile = null

+ 3 - 0
src/views/costAudit/projectInfo/auditTaskManage/taskCustomizedRelease/auditNoticeTab.vue

@@ -404,6 +404,7 @@
           documentName: '',
           documentNumber: '',
           documentType: '',
+          documentTypeName: '',
           documentWhId: '',
           electronicDocumentUrl: '',
           enterpriseId: [],
@@ -708,6 +709,8 @@
         this.isWh = data.isWh
         this.fileUrl = data.fileUrl
         this.document.documentName = data.documentName
+        this.document.documentType = data.documentType || ''
+        this.document.documentTypeName = data.documentTypeName || ''
         this.document.documentNumber = ''
         this.document.documentWhId = ''
       },

+ 7 - 1
src/views/costAudit/projectInfo/auditTaskManage/taskCustomizedRelease/index.js

@@ -558,11 +558,17 @@ export const taskMixin = {
       if (!pid) return
       // 查看/编辑权限类型区分,未传会导致列表为空
       const permissionType = this.isView ? '0' : '1'
+
+      // 确保data是对象,避免当传入非对象类型(如字符串)时出错
+      const documentType =
+        typeof data === 'object' && data !== null ? data.documentType || '' : ''
+
       getCostProjectDocumentPageList({
         pageNum: this.documentData.pagination.currentPage,
         pageSize: this.documentData.pagination.pageSize,
         projectId: pid,
-        documentName: data ? data.documentName : '',
+        // documentName: data ? data.documentName : '',
+        documentType,
         permissionType,
       }).then((res) => {
         let records = res.value.value.records

Daži faili netika attēloti, jo izmaiņu fails ir pārāk liels