Kaynağa Gözat

筛选样式

zhuangyunsheng 1 yıl önce
ebeveyn
işleme
8c3e821711
34 değiştirilmiş dosya ile 959 ekleme ve 793 silme
  1. 2 2
      .env.development
  2. 4 0
      package.json
  3. 15 41
      src/assets/style/common.scss
  4. 13 1
      src/assets/style/elementPlusCustom.scss
  5. 92 0
      src/components/Upload/fileViewer.vue
  6. 6 18
      src/components/Upload/index.vue
  7. 9 0
      src/components/Upload/main.js
  8. 1 1
      src/components/Workflow/index.vue
  9. 2 0
      src/directive/index.js
  10. 11 0
      src/directive/permission/auth.js
  11. 4 1
      src/layout/components/NavBar/components/Breadcrumb.vue
  12. 8 19
      src/layout/components/TabsBar/index.vue
  13. 51 29
      src/views/caseShare/index.vue
  14. 0 12
      src/views/manage/policyShare/form.vue
  15. 58 34
      src/views/manage/policyShare/index.vue
  16. 51 29
      src/views/manage/policyStrive/index.vue
  17. 1 15
      src/views/manage/policyStrive/rewardDialog.vue
  18. 1 15
      src/views/manage/policyStrive/scoreDialog.vue
  19. 32 21
      src/views/myAffairs/component/done.vue
  20. 32 21
      src/views/myAffairs/component/toDo.vue
  21. 0 12
      src/views/myAffairs/share.vue
  22. 0 12
      src/views/myAffairs/strive.vue
  23. 78 46
      src/views/policyShare/index.vue
  24. 59 35
      src/views/policyShare/message/index.vue
  25. 1 15
      src/views/policyStrive/dialog.vue
  26. 0 12
      src/views/policyStrive/explain.vue
  27. 58 34
      src/views/policyStrive/index.vue
  28. 3 5
      src/views/progress/component/strive.vue
  29. 65 0
      src/views/progress/dialog.vue
  30. 23 91
      src/views/progress/index.vue
  31. 51 29
      src/views/publicDomain/index.vue
  32. 30 19
      src/views/system/log/index.vue
  33. 3 3
      src/views/system/template/index.vue
  34. 195 221
      src/views/system/user.vue

+ 2 - 2
.env.development

@@ -12,10 +12,10 @@ VITE_BASE_MOCK_URL = "/mock-api"
 
 # boot服务端接口路径
 # VITE_BASE_SERVER_URL = "http://192.168.101.93:8000"
-# VITE_BASE_SERVER_URL = "http://10.236.2.146:8080/dev-api" # 线上
+VITE_BASE_SERVER_URL = "http://10.236.2.146:8080/dev-api" # 线上
 # VITE_BASE_SERVER_URL = "http://10.206.20.153:8000" # 青岛港-内网 dns: 10.201.192.1
 # VITE_BASE_SERVER_URL = "http://192.168.43.231:8000" # 热点
-VITE_BASE_SERVER_URL = "http://192.168.1.105:8000" # 青岛港-7楼
+# VITE_BASE_SERVER_URL = "http://192.168.1.105:8000" # 青岛港-7楼
 # 微前端-工作流
 VITE_WORKFLOW_URL = "http://localhost:1888/"
 # 微前端-代码生成器

+ 4 - 0
package.json

@@ -12,6 +12,9 @@
     "dependencies": {
         "@element-plus/icons-vue": "^2.1.0",
         "@micro-zoe/micro-app": "^1.0.0-rc.4",
+        "@vue-office/docx": "^1.6.2",
+        "@vue-office/excel": "^1.7.11",
+        "@vue-office/pdf": "^2.0.8",
         "@vueuse/core": "^10.5.0",
         "axios": "^1.5.1",
         "crypto-js": "^4.2.0",
@@ -24,6 +27,7 @@
         "pinia": "^2.1.6",
         "pinia-plugin-persist": "^1.0.0",
         "vue": "^3.3.4",
+        "vue-demi": "^0.14.6",
         "vue-i18n": "^9.5.0",
         "vue-router": "^4.2.4",
         "xlsx-js-style": "^1.2.0"

+ 15 - 41
src/assets/style/common.scss

@@ -17,31 +17,24 @@
 
     .tjm_card_select {
         margin-top: 20px;
-        display: flex;
-        align-items: flex-start;
-        justify-content: space-between;
+        max-height: 218px;
+        overflow: auto;
 
-        .tjm_card_select_left {
-            flex: 1;
+        .el-scrollbar__view {
+            display: flex;
 
-            .el-form-item {
-                width: 308px !important;
+            .tjm_card_select_left {
+                flex: 1;
+            }
 
-                .el-select {
-                    width: 100% !important;
-                }
+            .tjm_card_select_right {
+                margin-left: 32px;
             }
         }
+    }
 
-        .tjm_card_select_right {
-            height: 80px;
-            width: 100px;
-            display: flex;
-            flex-direction: column;
-            justify-content: space-between;
-            align-items: flex-end;
-            border-left: 1px solid #F7F8FA;
-        }
+    .tjm_card_select + .el-divider.el-divider--horizontal {
+        margin: 0 0 18px;
     }
 
     .tjm_card_tools {
@@ -60,29 +53,10 @@
         margin-top: 20px;
 
         .tjm_card_table_left {
-            margin-right: 10px;
             width: 280px;
-        }
-
-        .tjm_card_table_right {
-            flex: 1;
-            width: 0;
-        }
-
-        .tjm_card_table_double_left{
-            width: 43%;
-        }
-
-        .tjm_card_table_double_right{
-            width: 43%;
-        }
-
-        .tjm_card_table_double_opea{
-            flex: 1;
-            display: flex;
-            flex-direction: column;
-            align-items: center;
-            justify-content: center;
+            height: 450px;
+            margin-right: 10px;
+            overflow: auto;
         }
 
         .tjm_card_table_header {

+ 13 - 1
src/assets/style/elementPlusCustom.scss

@@ -7,4 +7,16 @@
 
 .el-date-editor.el-input, .el-date-editor.el-input__wrapper {
     --el-date-editor-width: 100%;
-}
+}
+
+.el-input-number {
+    width: 100%;
+  
+    .el-input .el-input__wrapper {
+      padding: 1px 11px;
+  
+      .el-input__inner {
+        text-align: unset;
+      }
+    }
+  }

+ 92 - 0
src/components/Upload/fileViewer.vue

@@ -0,0 +1,92 @@
+<template>
+	<div class="yh-file-viewer">
+        <el-dialog v-model="visible" fullscreen :show-close="false" @closed="$emit('closed')">
+            <div v-loading="loading" class="yh-file-viewer__content">
+                <component :is="`vue_office_${fileType.split('.')[0]}`" :src="filePath" :options="options" @rendered="loading = false" @error="loading = false"></component>
+            </div>
+        </el-dialog>
+    </div>
+
+	<yh-image-viewer :showViewer="showViewer" :imageList="[filePath]" teleported @close="showViewer = false"></yh-image-viewer>
+</template>
+
+<script>
+import { defineAsyncComponent } from "vue";
+import vue_office_docx from "@vue-office/docx";
+import vue_office_excel from "@vue-office/excel";
+import vue_office_pdf from "@vue-office/pdf";
+
+import "@vue-office/docx/lib/index.css";
+import "@vue-office/excel/lib/index.css";
+
+import { fileTypes } from "./main";
+
+export default {
+    emits: ["closed"],
+    components: {
+        vue_office_docx,
+        vue_office_excel,
+        vue_office_pdf,
+        yhImageViewer: defineAsyncComponent(() => import("@/components/Upload/imageViewer.vue"))
+    },
+
+    data() {
+        return {
+            visible: false,
+            loading: false,
+            fileType: null,
+            filePath: null,
+            options: {
+                xls: false,       // 预览xlsx文件设为false;预览xls文件设为true
+                minColLength: 0,  // excel最少渲染多少列,如果想实现xlsx文件内容有几列,就渲染几列,可以将此值设置为0.
+                minRowLength: 0,  // excel最少渲染多少行,如果想实现根据xlsx实际函数渲染,可以将此值设置为0.
+                widthOffset: 10,  // 如果渲染出来的结果感觉单元格宽度不够,可以在默认渲染的列表宽度上再加 Npx宽
+                heightOffset: 10, // 在默认渲染的列表高度上再加 Npx高
+                beforeTransformData: workbookData => workbookData, // 底层通过exceljs获取excel文件内容,通过该钩子函数,可以对获取的excel文件内容进行修改,比如某个单元格的数据显示不正确,可以在此自行修改每个单元格的value值。
+                transformData: workbookData => workbookData // 将获取到的excel数据进行处理之后且渲染到页面之前,可通过transformData对即将渲染的数据及样式进行修改,此时每个单元格的text值就是即将渲染到页面上的内容
+            },
+
+            showViewer: false
+        }
+    },
+
+    methods: {
+        init(uploadFile) {
+            if (!fileTypes[uploadFile["fileType"]]) {
+                ElMessage.warning("当前只支持预览.docx、.pdf、excel文件,文件已下载");
+                Folder.download(uploadFile.path).then(res => {
+                    const a = document.createElement("a");
+                    const blob = new Blob([res.data], { type: uploadFile.fileType });
+                    a.download = uploadFile.name;
+                    a.href = URL.createObjectURL(blob);
+                    a.click();
+                });
+            } else {
+                this.filePath = uploadFile.path;
+                this.fileType = fileTypes[uploadFile["fileType"]];
+                if (this.fileType == "image") this.showViewer = true;
+                else {
+                    this.loading = true;
+                    this.visible = true;
+                    if (this.fileType.includes(".")) this.options.xls = this.fileType.split(".")[1] == "xls";
+                }
+            }
+        }
+    }
+}
+</script>
+
+<style lang="scss" scoped>
+.yh-file-viewer :deep(.el-dialog) {
+  --el-dialog-bg-color: transparent;
+  --el-dialog-padding-primary: 0;
+
+  .el-dialog__body {
+    height: 100%;
+
+    .yh-file-viewer__content {
+      height: 100%;
+    }
+  }
+}
+</style>

+ 6 - 18
src/components/Upload/index.vue

@@ -26,16 +26,16 @@
 		<span style="display: none!important;"><el-input v-model="value"></el-input></span>
 	</div>
 
-	<yh-image-viewer :showViewer="showPictureViewer" :imageList="previewImageList" teleported @close="showPictureViewer = false"></yh-image-viewer>
+    <file-viewer v-if="showViewer" ref="fileViewer" @close="showViewer = false"></file-viewer>
 </template>
 
 <script>
-import { defineAsyncComponent } from "vue";
 import Folder from "@/api/folder";
+import fileViewer from "@/components/Upload/fileViewer.vue";
 
 export default {
     components: {
-        yhImageViewer: defineAsyncComponent(() => import("@/components/Upload/imageViewer.vue")),
+        fileViewer
     },
     props: {
         modelValue: { type: Array, default: () => [] },
@@ -54,8 +54,7 @@ export default {
             value: "",
             defaultFileList: [],
             
-            showPictureViewer: false,
-            previewImageList: []
+            showViewer: false
         }
     },
 
@@ -131,19 +130,8 @@ export default {
         },
 
         handlePreview(uploadFile) {
-            if (["image/jpeg", "image/png"].includes(uploadFile.fileType)) {
-                this.showPictureViewer = true;
-                this.previewImageList = [uploadFile.path];
-            } else {
-                Folder.download(uploadFile.path).then(res => {
-                    const a = document.createElement("a");
-                    const blob = new Blob([res.data], { type: uploadFile.fileType });
-                    if (uploadFile.fileType == "application/pdf") a.target = "_blank";
-                    else a.download = uploadFile.name;
-                    a.href = URL.createObjectURL(blob);
-                    a.click();
-                });
-            }
+            this.showViewer = true;
+            nextTick(() => this.$refs.fileViewer.init(uploadFile));
         },
 
         request(param) {

+ 9 - 0
src/components/Upload/main.js

@@ -0,0 +1,9 @@
+export const fileTypes = {
+    "image/gif": "image",
+    "image/jpeg": "image",
+    "image/png": "image",
+    "application/vnd.ms-excel": "excel.xls",
+    "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": "excel.xlsx",
+    "application/pdf": "pdf",
+    "application/vnd.openxmlformats-officedocument.wordprocessingml.document": "docx"
+}

+ 1 - 1
src/components/Workflow/index.vue

@@ -1,7 +1,7 @@
 <template>
     <div class="yh-workflow-dialog">
         <el-dialog v-model="visible" title="审批流程" width="70%" @closed="$emit('closed')">
-            <div v-loading="loading" style="flex: 1;">
+            <div v-loading="loading" style="flex: 1; overflow: auto;">
                 <el-empty v-if="!steps || !steps.length"></el-empty>
                 <el-steps v-else :active="active" finish-status="success">
                     <el-step v-for="item in steps" :key="item.historyActivityId" :title="item.historyActivityName" icon="UserFilled" :status="item.class">

+ 2 - 0
src/directive/index.js

@@ -1,5 +1,7 @@
 import hasPermi from "./permission/hasPermi"
+import auth from "./permission/auth"
 
 export default function directive(app) {
     app.directive("hasPermi", hasPermi)
+    app.directive("auth", auth)
 }

+ 11 - 0
src/directive/permission/auth.js

@@ -0,0 +1,11 @@
+
+import { useUserStore } from "@/store/user";
+
+export default {
+    mounted(el, { value: { createId } }) {
+        const userInfo = useUserStore().userInfo;
+        if (userInfo.id != createId) {
+            el.parentNode && el.parentNode.removeChild(el)
+        }
+    }
+}

+ 4 - 1
src/layout/components/NavBar/components/Breadcrumb.vue

@@ -18,7 +18,10 @@ function getBreadcrumb() {
     let matched = route.matched.filter(item => item.meta && item.meta.title);
     
     if (!isDashboard(matched[0]) && route) matched.unshift({ path: "/home/index", meta: { title: "首页" }, redirect: "/" });
-    if (route && route.path.trim() === "/publicDomain") matched[matched.length - 1].meta.title = route.query.zcType && route.query.zcType.trim() || route.name;
+    if (route && route.path.trim() === "/publicDomain") {
+        matched[matched.length - 1].meta.title = route.query.zcType && route.query.zcType.trim() || route.name;
+        matched[matched.length - 2].meta.title = route.query.inWhType && route.query.inWhType.includes("解读") && "领域解读" || route.name;
+    }
 
     levelList.value = matched.filter(item => item.meta && item.meta.title && item.meta.breadcrumb !== false)
 }

+ 8 - 19
src/layout/components/TabsBar/index.vue

@@ -18,12 +18,10 @@
                 @click.middle="!isAffix(tag) ? closeSelectedTag(tag) : ''"
                 @contextmenu.prevent="openMenu(tag, $event)"
             >
-                {{ tag.title }}
+                <template v-if="tag.path.trim() === '/publicDomain' && route.query.inWhType && route.query.inWhType.includes('解读')">领域解读</template>
+                <template v-else>{{ tag.title }}</template>
                 <span v-if="!isAffix(tag)" @click.prevent.stop="closeSelectedTag(tag)">
-                <close
-                    class="el-icon-close"
-                    style="width: 1em; height: 1em; vertical-align: middle"
-                />
+                    <close class="el-icon-close" style="width: 1em; height: 1em; vertical-align: middle" />
                 </span>
             </router-link>
         </el-scrollbar>
@@ -69,7 +67,6 @@ onMounted(() => {
     addTags()
 })
 
-
 function addTags() {
     const { name } = route
     if (name) {
@@ -123,7 +120,6 @@ function filterAffixTags(routes, basePath = '') {
     return tags
 }
 
-
 function getNormalPath(p) {
     if (p.length === 0 || !p || p == 'undefined') {
         return p
@@ -135,8 +131,6 @@ function getNormalPath(p) {
     return res
 }
 
-
-
 function closeMenu() {
     visible.value = false
 }
@@ -171,13 +165,10 @@ function openMenu(tag, e) {
 
 }
 
-
 function isActive(r) {
     return r.path === decodeURIComponent(route.path)
 }
 
-
-
 function activeStyle(tag) {
     if (!isActive(tag)) return {}
     return {
@@ -192,13 +183,11 @@ function isAffix(tag) {
 }
 
 function closeSelectedTag(view) {
-    useTabsBarStore()
-        .delView(view)
-        .then(({ visitedViews }) => {
-            if (isActive(view)) {
-                toLastView(visitedViews, view)
-            }
-        })
+    useTabsBarStore().delView(view).then(({ visitedViews }) => {
+        if (isActive(view)) {
+            toLastView(visitedViews, view)
+        }
+    })
 }
 function closeOthersTags() {
     useTabsBarStore().delOthersViews(selectedTag.value).then(({ visitedViews }) => {

+ 51 - 29
src/views/caseShare/index.vue

@@ -2,37 +2,58 @@
     <el-card class="tjm_card_style_custom">
         <div class="tjm_card_title">条件检索</div>
         <div class="tjm_card_select">
-            <el-form class="tjm_card_select_left" :model="params" inline label-width="80px" label-position="left">
-                <el-form-item label="案例编号">
-                    <el-input v-model="params.businessNo" clearable placeholder="请输入案例编号"></el-input>
-                </el-form-item>
-                <el-form-item label="项目名称">
-                    <el-input v-model="params.name" clearable placeholder="请输入项目名称"></el-input>
-                </el-form-item>
-                <el-form-item label="项目等级">
-                    <el-select v-model="params.zcLevel" clearable placeholder="请选择项目等级">
-                        <el-option v-for="item in levelDic" :key="item" :label="item" :value="item"></el-option>
-                    </el-select>
-                </el-form-item>
-                <el-form-item label="项目类别">
-                    <el-select v-model="params.zcType" clearable placeholder="请选择项目类别">
-                        <el-option v-for="item in typeDic" :key="item" :label="item" :value="item"></el-option>
-                    </el-select>
-                </el-form-item>
-                <el-form-item label="状态">
-                    <el-select v-model="params.status" clearable placeholder="请选择状态">
-                        <el-option v-for="(label, key) in statusDic" :key="key" :label="label" :value="key"></el-option>
-                    </el-select>
-                </el-form-item>
-                <el-form-item label="填报日期">
-                    <el-date-picker v-model="createTime" type="daterange" value-format="YYYY-MM-DD" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
-                </el-form-item>
-
-                <el-form-item>
+            <el-scrollbar>
+                <el-form class="tjm_card_select_left" :model="params" label-width="80px" label-position="left">
+                    <el-row :gutter="15">
+                        <el-col :lg="8" :md="12" :xs="24">
+                            <el-form-item label="案例编号">
+                                <el-input v-model="params.businessNo" clearable placeholder="请输入案例编号"></el-input>
+                            </el-form-item>
+                        </el-col>
+                        <el-col :lg="8" :md="12" :xs="24">
+                            <el-form-item label="项目名称">
+                                <el-input v-model="params.name" clearable placeholder="请输入项目名称"></el-input>
+                            </el-form-item>
+                        </el-col>
+                        <el-col :lg="8" :md="12" :xs="24">
+                            <el-form-item label="项目等级">
+                                <el-select v-model="params.zcLevel" clearable placeholder="请选择项目等级">
+                                    <el-option v-for="item in levelDic" :key="item" :label="item" :value="item"></el-option>
+                                </el-select>
+                            </el-form-item>
+                        </el-col>
+                        <template v-if="paramsIsCollapse">
+                            <el-col :lg="8" :md="12" :xs="24">
+                                <el-form-item label="项目类别">
+                                    <el-select v-model="params.zcType" clearable placeholder="请选择项目类别">
+                                        <el-option v-for="item in typeDic" :key="item" :label="item" :value="item"></el-option>
+                                    </el-select>
+                                </el-form-item>
+                            </el-col>
+                            <el-col :lg="8" :md="12" :xs="24">
+                                <el-form-item label="状态">
+                                    <el-select v-model="params.status" clearable placeholder="请选择状态">
+                                        <el-option v-for="(label, key) in statusDic" :key="key" :label="label" :value="key"></el-option>
+                                    </el-select>
+                                </el-form-item>
+                            </el-col>
+                            <el-col :lg="8" :md="12" :xs="24">
+                                <el-form-item label="填报日期">
+                                    <el-date-picker v-model="createTime" type="daterange" value-format="YYYY-MM-DD" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
+                                </el-form-item>
+                            </el-col>
+                        </template>
+                    </el-row>            
+                </el-form>
+                <div class="tjm_card_select_right">
                     <el-button type="primary" icon="search" @click="reloadTable">搜索</el-button>
                     <el-button icon="refresh-right" @click="reset">重置</el-button>
-                </el-form-item>
-            </el-form>
+                    <el-button type="primary" link @click="paramsIsCollapse = !paramsIsCollapse">
+                        <template v-if="paramsIsCollapse">收起<tjm-icon-ep-arrow-up-bold /></template>
+                        <template v-else>更多<tjm-icon-ep-arrow-down-bold /></template>
+                    </el-button>
+                </div>
+            </el-scrollbar>
         </div>
         <el-divider></el-divider>
 
@@ -115,6 +136,7 @@ export default {
             columns, levelDic, typeDic, statusDic,
 
             loading: false,
+            paramsIsCollapse: false,
             createTime: [],
             params: {
                 page: 1,

+ 0 - 12
src/views/manage/policyShare/form.vue

@@ -217,16 +217,4 @@ export default {
     margin-top: 0;
   }
 }
-
-.el-input-number {
-  width: 100%;
-
-  :deep(.el-input) .el-input__wrapper {
-    padding: 1px 11px;
-
-    .el-input__inner {
-      text-align: unset;
-    }
-  }
-}
 </style>

+ 58 - 34
src/views/manage/policyShare/index.vue

@@ -2,42 +2,65 @@
     <el-card class="tjm_card_style_custom">
         <div class="tjm_card_title">条件检索</div>
         <div class="tjm_card_select">
-            <el-form class="tjm_card_select_left" :model="params" inline label-width="80px" label-position="left">
-                <el-form-item label="政策编号">
-                    <el-input v-model="params.businessNo" clearable placeholder="请输入政策编号"></el-input>
-                </el-form-item>
-                <el-form-item label="政策名称">
-                    <el-input v-model="params.name" clearable placeholder="请输入政策名称"></el-input>
-                </el-form-item>
-                <el-form-item label="政策等级">
-                    <el-select v-model="params.zcLevel" clearable placeholder="请选择政策等级">
-                        <el-option v-for="item in levelDic" :key="item" :label="item" :value="item"></el-option>
-                    </el-select>
-                </el-form-item>
-                <el-form-item label="政策类别">
-                    <el-select v-model="params.zcType" clearable placeholder="请选择政策类别">
-                        <el-option v-for="item in typeDic" :key="item" :label="item" :value="item"></el-option>
-                    </el-select>
-                </el-form-item>
-                <el-form-item label="是否入库">
-                    <el-select v-model="params.isInWh" clearable placeholder="请选择入库状态">
-                        <el-option v-for="(label, key) in whetherDic" :key="key" :label="label" :value="parseInt(key)"></el-option>
-                    </el-select>
-                </el-form-item>
-                <el-form-item label="入库类别">
-                    <el-select v-model="params.inWhType" clearable placeholder="请选择入库类别">
-                        <el-option v-for="item in storageTypeDic" :key="item" :label="item" :value="item"></el-option>
-                    </el-select>
-                </el-form-item>
-                <el-form-item label="发布日期">
-                    <el-date-picker v-model="createTime" type="daterange" value-format="YYYY-MM-DD" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
-                </el-form-item>
-
-                <el-form-item>
+            <el-scrollbar>
+                <el-form class="tjm_card_select_left" :model="params" label-width="80px" label-position="left">
+                    <el-row :gutter="15">
+                        <el-col :lg="8" :md="12" :xs="24">
+                            <el-form-item label="政策编号">
+                                <el-input v-model="params.businessNo" clearable placeholder="请输入政策编号"></el-input>
+                            </el-form-item>
+                        </el-col>
+                        <el-col :lg="8" :md="12" :xs="24">
+                            <el-form-item label="政策名称">
+                                <el-input v-model="params.name" clearable placeholder="请输入政策名称"></el-input>
+                            </el-form-item>
+                        </el-col>
+                        <el-col :lg="8" :md="12" :xs="24">
+                            <el-form-item label="政策等级">
+                                <el-select v-model="params.zcLevel" clearable placeholder="请选择政策等级">
+                                    <el-option v-for="item in levelDic" :key="item" :label="item" :value="item"></el-option>
+                                </el-select>
+                            </el-form-item>
+                        </el-col>
+                        <template v-if="paramsIsCollapse">
+                            <el-col :lg="8" :md="12" :xs="24">
+                                <el-form-item label="政策类别">
+                                    <el-select v-model="params.zcType" clearable placeholder="请选择政策类别">
+                                        <el-option v-for="item in typeDic" :key="item" :label="item" :value="item"></el-option>
+                                    </el-select>
+                                </el-form-item>
+                            </el-col>
+                            <el-col :lg="8" :md="12" :xs="24">
+                                <el-form-item label="是否入库">
+                                    <el-select v-model="params.isInWh" clearable placeholder="请选择入库状态">
+                                        <el-option v-for="(label, key) in whetherDic" :key="key" :label="label" :value="parseInt(key)"></el-option>
+                                    </el-select>
+                                </el-form-item>
+                            </el-col>
+                            <el-col :lg="8" :md="12" :xs="24">
+                                <el-form-item label="入库类别">
+                                    <el-select v-model="params.inWhType" clearable placeholder="请选择入库类别">
+                                        <el-option v-for="item in storageTypeDic" :key="item" :label="item" :value="item"></el-option>
+                                    </el-select>
+                                </el-form-item>
+                            </el-col>
+                            <el-col :lg="8" :md="12" :xs="24">
+                                <el-form-item label="发布日期">
+                                    <el-date-picker v-model="createTime" type="daterange" value-format="YYYY-MM-DD" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
+                                </el-form-item>
+                            </el-col>
+                        </template>
+                    </el-row>            
+                </el-form>
+                <div class="tjm_card_select_right">
                     <el-button type="primary" icon="search" @click="reloadTable">搜索</el-button>
                     <el-button icon="refresh-right" @click="reset">重置</el-button>
-                </el-form-item>
-            </el-form>
+                    <el-button type="primary" link @click="paramsIsCollapse = !paramsIsCollapse">
+                        <template v-if="paramsIsCollapse">收起<tjm-icon-ep-arrow-up-bold /></template>
+                        <template v-else>更多<tjm-icon-ep-arrow-down-bold /></template>
+                    </el-button>
+                </div>
+            </el-scrollbar>
         </div>
         <el-divider></el-divider>
 
@@ -105,6 +128,7 @@ export default {
             levelDic, typeDic, storageTypeDic, whetherDic,
 
             loading: false,
+            paramsIsCollapse: false,
             createTime: [],
             params: {
                 page: 1,

+ 51 - 29
src/views/manage/policyStrive/index.vue

@@ -2,37 +2,58 @@
     <el-card class="tjm_card_style_custom">
         <div class="tjm_card_title">条件检索</div>
         <div class="tjm_card_select">
-            <el-form class="tjm_card_select_left" :model="params" inline label-width="80px" label-position="left">
-                <el-form-item label="政策编号">
-                    <el-input v-model="params.businessNo" clearable placeholder="请输入政策编号"></el-input>
-                </el-form-item>
-                <el-form-item label="项目名称">
-                    <el-input v-model="params.name" clearable placeholder="请输入项目名称"></el-input>
-                </el-form-item>
-                <el-form-item label="项目等级">
-                    <el-select v-model="params.zcLevel" clearable placeholder="请选择项目等级">
-                        <el-option v-for="item in levelDic" :key="item" :label="item" :value="item"></el-option>
-                    </el-select>
-                </el-form-item>
-                <el-form-item label="项目类别">
-                    <el-select v-model="params.zcType" clearable placeholder="请选择项目类别">
-                        <el-option v-for="item in typeDic" :key="item" :label="item" :value="item"></el-option>
-                    </el-select>
-                </el-form-item>
-                <el-form-item label="状态">
-                    <el-select v-model="params.isLand" clearable placeholder="请选择状态">
-                        <el-option v-for="(label, key) in statusDic" :key="key" :label="label" :value="parseInt(key)"></el-option>
-                    </el-select>
-                </el-form-item>
-                <el-form-item label="填报日期">
-                    <el-date-picker v-model="createTime" type="daterange" value-format="YYYY-MM-DD" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
-                </el-form-item>
-
-                <el-form-item>
+            <el-scrollbar>
+                <el-form class="tjm_card_select_left" :model="params" label-width="80px" label-position="left">
+                    <el-row :gutter="15">
+                        <el-col :lg="8" :md="12" :xs="24">
+                            <el-form-item label="政策编号">
+                                <el-input v-model="params.businessNo" clearable placeholder="请输入政策编号"></el-input>
+                            </el-form-item>
+                        </el-col>
+                        <el-col :lg="8" :md="12" :xs="24">
+                            <el-form-item label="项目名称">
+                                <el-input v-model="params.name" clearable placeholder="请输入项目名称"></el-input>
+                            </el-form-item>
+                        </el-col>
+                        <el-col :lg="8" :md="12" :xs="24">
+                            <el-form-item label="项目等级">
+                                <el-select v-model="params.zcLevel" clearable placeholder="请选择项目等级">
+                                    <el-option v-for="item in levelDic" :key="item" :label="item" :value="item"></el-option>
+                                </el-select>
+                            </el-form-item>
+                        </el-col>
+                        <template v-if="paramsIsCollapse">
+                            <el-col :lg="8" :md="12" :xs="24">
+                                <el-form-item label="项目类别">
+                                    <el-select v-model="params.zcType" clearable placeholder="请选择项目类别">
+                                        <el-option v-for="item in typeDic" :key="item" :label="item" :value="item"></el-option>
+                                    </el-select>
+                                </el-form-item>
+                            </el-col>
+                            <el-col :lg="8" :md="12" :xs="24">
+                                <el-form-item label="状态">
+                                    <el-select v-model="params.isLand" clearable placeholder="请选择状态">
+                                        <el-option v-for="(label, key) in statusDic" :key="key" :label="label" :value="parseInt(key)"></el-option>
+                                    </el-select>
+                                </el-form-item>
+                            </el-col>
+                            <el-col :lg="8" :md="12" :xs="24">
+                                <el-form-item label="填报日期">
+                                    <el-date-picker v-model="createTime" type="daterange" value-format="YYYY-MM-DD" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
+                                </el-form-item>
+                            </el-col>
+                        </template>
+                    </el-row>            
+                </el-form>
+                <div class="tjm_card_select_right">
                     <el-button type="primary" icon="search" @click="reloadTable">搜索</el-button>
                     <el-button icon="refresh-right" @click="reset">重置</el-button>
-                </el-form-item>
-            </el-form>
+                    <el-button type="primary" link @click="paramsIsCollapse = !paramsIsCollapse">
+                        <template v-if="paramsIsCollapse">收起<tjm-icon-ep-arrow-up-bold /></template>
+                        <template v-else>更多<tjm-icon-ep-arrow-down-bold /></template>
+                    </el-button>
+                </div>
+            </el-scrollbar>
         </div>
         <el-divider></el-divider>
 
@@ -102,6 +123,7 @@ export default {
             columns, levelDic, typeDic, statusDic,
 
             loading: false,
+            paramsIsCollapse: false,
             createTime: [],
             params: {
                 page: 1,

+ 1 - 15
src/views/manage/policyStrive/rewardDialog.vue

@@ -95,18 +95,4 @@ export default {
         }
     }
 }
-</script>
-
-<style lang="scss" scoped>
-.el-input-number {
-  width: 100%;
-
-  :deep(.el-input) .el-input__wrapper {
-    padding: 1px 11px;
-
-    .el-input__inner {
-      text-align: unset;
-    }
-  }
-}
-</style>
+</script>

+ 1 - 15
src/views/manage/policyStrive/scoreDialog.vue

@@ -119,18 +119,4 @@ export default {
         }
     }
 }
-</script>
-
-<style lang="scss" scoped>
-.el-input-number {
-  width: 100%;
-
-  :deep(.el-input) .el-input__wrapper {
-    padding: 1px 11px;
-
-    .el-input__inner {
-      text-align: unset;
-    }
-  }
-}
-</style>
+</script>

+ 32 - 21
src/views/myAffairs/component/done.vue

@@ -2,29 +2,40 @@
     <el-card class="tjm_card_style_custom">
         <div class="tjm_card_title">条件检索</div>
         <div class="tjm_card_select">
-            <el-form class="tjm_card_select_left" :model="params" inline label-width="80px" label-position="left">
-                <el-form-item label="政策名称">
-                    <el-input v-model="params.zcName" clearable placeholder="请输入政策名称"></el-input>
-                </el-form-item>
-                <el-form-item label="政策类别">
-                    <el-select v-model="params.zcType" clearable placeholder="请选择政策类别">
-                        <el-option v-for="item in typeDic" :key="item" :label="item" :value="item"></el-option>
-                    </el-select>
-                </el-form-item>
-                <el-form-item label="业务类型">
-                    <el-select v-model="params.refType" clearable placeholder="请选择业务类型">
-                        <el-option v-for="(label, key) in refTypeDic" :key="key" :label="label" :value="key"></el-option>
-                    </el-select>
-                </el-form-item>
-                <el-form-item label="填报日期">
-                    <el-date-picker v-model="createTime" type="daterange" value-format="YYYY-MM-DD" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
-                </el-form-item>
-
-                <el-form-item>
+            <el-scrollbar>
+                <el-form class="tjm_card_select_left" :model="params" label-width="80px" label-position="left">
+                    <el-row :gutter="15">
+                        <el-col :lg="8" :md="12" :xs="24">
+                            <el-form-item label="政策名称">
+                                <el-input v-model="params.zcName" clearable placeholder="请输入政策名称"></el-input>
+                            </el-form-item>
+                        </el-col>
+                        <el-col :lg="8" :md="12" :xs="24">
+                            <el-form-item label="政策类别">
+                                <el-select v-model="params.zcType" clearable placeholder="请选择政策类别">
+                                    <el-option v-for="item in typeDic" :key="item" :label="item" :value="item"></el-option>
+                                </el-select>
+                            </el-form-item>
+                        </el-col>
+                        <el-col :lg="8" :md="12" :xs="24">
+                            <el-form-item label="业务类型">
+                                <el-select v-model="params.refType" clearable placeholder="请选择业务类型">
+                                    <el-option v-for="(label, key) in refTypeDic" :key="key" :label="label" :value="key"></el-option>
+                                </el-select>
+                            </el-form-item>
+                        </el-col>
+                        <el-col :lg="8" :md="12" :xs="24">
+                            <el-form-item label="填报日期">
+                                <el-date-picker v-model="createTime" type="daterange" value-format="YYYY-MM-DD" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
+                            </el-form-item>
+                        </el-col>
+                    </el-row>            
+                </el-form>
+                <div class="tjm_card_select_right">
                     <el-button type="primary" icon="search" @click="reloadTable">搜索</el-button>
                     <el-button icon="refresh-right" @click="reset">重置</el-button>
-                </el-form-item>
-            </el-form>
+                </div>
+            </el-scrollbar>
         </div>
         <el-divider></el-divider>
 

+ 32 - 21
src/views/myAffairs/component/toDo.vue

@@ -2,29 +2,40 @@
     <el-card class="tjm_card_style_custom">
         <div class="tjm_card_title">条件检索</div>
         <div class="tjm_card_select">
-            <el-form class="tjm_card_select_left" :model="params" inline label-width="80px" label-position="left">
-                <el-form-item label="政策名称">
-                    <el-input v-model="params.zcName" clearable placeholder="请输入政策名称"></el-input>
-                </el-form-item>
-                <el-form-item label="政策类别">
-                    <el-select v-model="params.zcType" clearable placeholder="请选择政策类别">
-                        <el-option v-for="item in typeDic" :key="item" :label="item" :value="item"></el-option>
-                    </el-select>
-                </el-form-item>
-                <el-form-item label="业务类型">
-                    <el-select v-model="params.refType" clearable placeholder="请选择业务类型">
-                        <el-option v-for="(label, key) in refTypeDic" :key="key" :label="label" :value="key"></el-option>
-                    </el-select>
-                </el-form-item>
-                <el-form-item label="填报日期">
-                    <el-date-picker v-model="createTime" type="daterange" value-format="YYYY-MM-DD" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
-                </el-form-item>
-
-                <el-form-item>
+            <el-scrollbar>
+                <el-form class="tjm_card_select_left" :model="params" label-width="80px" label-position="left">
+                    <el-row :gutter="15">
+                        <el-col :lg="8" :md="12" :xs="24">
+                            <el-form-item label="政策名称">
+                                <el-input v-model="params.zcName" clearable placeholder="请输入政策名称"></el-input>
+                            </el-form-item>
+                        </el-col>
+                        <el-col :lg="8" :md="12" :xs="24">
+                            <el-form-item label="政策类别">
+                                <el-select v-model="params.zcType" clearable placeholder="请选择政策类别">
+                                    <el-option v-for="item in typeDic" :key="item" :label="item" :value="item"></el-option>
+                                </el-select>
+                            </el-form-item>
+                        </el-col>
+                        <el-col :lg="8" :md="12" :xs="24">
+                            <el-form-item label="业务类型">
+                                <el-select v-model="params.refType" clearable placeholder="请选择业务类型">
+                                    <el-option v-for="(label, key) in refTypeDic" :key="key" :label="label" :value="key"></el-option>
+                                </el-select>
+                            </el-form-item>
+                        </el-col>
+                        <el-col :lg="8" :md="12" :xs="24">
+                            <el-form-item label="填报日期">
+                                <el-date-picker v-model="createTime" type="daterange" value-format="YYYY-MM-DD" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
+                            </el-form-item>
+                        </el-col>
+                    </el-row>            
+                </el-form>
+                <div class="tjm_card_select_right">
                     <el-button type="primary" icon="search" @click="reloadTable">搜索</el-button>
                     <el-button icon="refresh-right" @click="reset">重置</el-button>
-                </el-form-item>
-            </el-form>
+                </div>
+            </el-scrollbar>
         </div>
         <el-divider></el-divider>
 

+ 0 - 12
src/views/myAffairs/share.vue

@@ -242,16 +242,4 @@ export default {
     margin-top: 0;
   }
 }
-
-.el-input-number {
-  width: 100%;
-
-  :deep(.el-input) .el-input__wrapper {
-    padding: 1px 11px;
-
-    .el-input__inner {
-      text-align: unset;
-    }
-  }
-}
 </style>

+ 0 - 12
src/views/myAffairs/strive.vue

@@ -238,16 +238,4 @@ export default {
     margin-top: 0;
   }
 }
-
-.el-input-number {
-  width: 100%;
-
-  :deep(.el-input) .el-input__wrapper {
-    padding: 1px 11px;
-
-    .el-input__inner {
-      text-align: unset;
-    }
-  }
-}
 </style>

+ 78 - 46
src/views/policyShare/index.vue

@@ -2,50 +2,81 @@
     <el-card class="tjm_card_style_custom">
         <div class="tjm_card_title">条件检索</div>
         <div class="tjm_card_select">
-            <el-form class="tjm_card_select_left" :model="params" inline label-width="80px" label-position="left">
-                <!-- <el-form-item label="所属部门">
-		            <el-tree-select v-model="deptQuery.modelValue" :data="deptQuery.data" :props="deptQuery.props" check-strictly filterable clearable placeholder="请选择所属部门" @node-click="nodeClick"></el-tree-select>
-                </el-form-item> -->
-                <el-form-item label="政策编号">
-                    <el-input v-model="params.businessNo" clearable placeholder="请输入政策编号"></el-input>
-                </el-form-item>
-                <el-form-item label="政策名称">
-                    <el-input v-model="params.name" clearable placeholder="请输入政策名称"></el-input>
-                </el-form-item>
-                <el-form-item label="政策等级">
-                    <el-select v-model="params.zcLevel" clearable placeholder="请选择政策等级">
-                        <el-option v-for="item in levelDic" :key="item" :label="item" :value="item"></el-option>
-                    </el-select>
-                </el-form-item>
-                <el-form-item label="政策类别">
-                    <el-select v-model="params.zcType" clearable placeholder="请选择政策类别">
-                        <el-option v-for="item in typeDic" :key="item" :label="item" :value="item"></el-option>
-                    </el-select>
-                </el-form-item>
-                <el-form-item label="状态">
-                    <el-select v-model="params.status" clearable placeholder="请选择状态">
-                        <el-option v-for="(label, key) in statusDic" :key="key" :label="label" :value="key"></el-option>
-                    </el-select>
-                </el-form-item>
-                <el-form-item label="是否入库">
-                    <el-select v-model="params.isInWh" clearable placeholder="请选择入库状态">
-                        <el-option v-for="(label, key) in whetherDic" :key="key" :label="label" :value="key"></el-option>
-                    </el-select>
-                </el-form-item>
-                <el-form-item label="入库类别">
-                    <el-select v-model="params.inWhType" clearable placeholder="请选择入库类别">
-                        <el-option v-for="item in storageTypeDic" :key="item" :label="item" :value="item"></el-option>
-                    </el-select>
-                </el-form-item>
-                <el-form-item label="填报日期">
-                    <el-date-picker v-model="createTime" type="daterange" value-format="YYYY-MM-DD" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
-                </el-form-item>
+            <el-scrollbar>
+                <el-form class="tjm_card_select_left" :model="params" label-width="80px" label-position="left">
+                    <el-row :gutter="15">
+                            <!-- <el-form-item label="所属部门">
+                                <el-tree-select v-model="deptQuery.modelValue" :data="deptQuery.data" :props="deptQuery.props" check-strictly filterable clearable placeholder="请选择所属部门" @node-click="nodeClick"></el-tree-select>
+                            </el-form-item> -->
+                        <el-col :lg="8" :md="12" :xs="24">
+                            <el-form-item label="政策编号">
+                                <el-input v-model="params.businessNo" clearable placeholder="请输入政策编号"></el-input>
+                            </el-form-item>
+                        </el-col>
+                        <el-col :lg="8" :md="12" :xs="24">
+                            <el-form-item label="政策编号">
+                                <el-input v-model="params.businessNo" clearable placeholder="请输入政策编号"></el-input>
+                            </el-form-item>
+                        </el-col>
+                        <el-col :lg="8" :md="12" :xs="24">
+                            <el-form-item label="政策名称">
+                                <el-input v-model="params.name" clearable placeholder="请输入政策名称"></el-input>
+                            </el-form-item>
+                        </el-col>
+                        <template v-if="paramsIsCollapse">
+                            <el-col :lg="8" :md="12" :xs="24">
+                                <el-form-item label="政策等级">
+                                    <el-select v-model="params.zcLevel" clearable placeholder="请选择政策等级">
+                                        <el-option v-for="item in levelDic" :key="item" :label="item" :value="item"></el-option>
+                                    </el-select>
+                                </el-form-item>
+                            </el-col>
+                            <el-col :lg="8" :md="12" :xs="24">
+                                <el-form-item label="政策类别">
+                                    <el-select v-model="params.zcType" clearable placeholder="请选择政策类别">
+                                        <el-option v-for="item in typeDic" :key="item" :label="item" :value="item"></el-option>
+                                    </el-select>
+                                </el-form-item>
+                            </el-col>
+                            <el-col :lg="8" :md="12" :xs="24">
+                                <el-form-item label="状态">
+                                    <el-select v-model="params.status" clearable placeholder="请选择状态">
+                                        <el-option v-for="(label, key) in statusDic" :key="key" :label="label" :value="key"></el-option>
+                                    </el-select>
+                                </el-form-item>
+                            </el-col>
+                            <el-col :lg="8" :md="12" :xs="24">
+                                <el-form-item label="是否入库">
+                                    <el-select v-model="params.isInWh" clearable placeholder="请选择入库状态">
+                                        <el-option v-for="(label, key) in whetherDic" :key="key" :label="label" :value="key"></el-option>
+                                    </el-select>
+                                </el-form-item>
+                            </el-col>
+                            <el-col :lg="8" :md="12" :xs="24">
+                                <el-form-item label="入库类别">
+                                    <el-select v-model="params.inWhType" clearable placeholder="请选择入库类别">
+                                        <el-option v-for="item in storageTypeDic" :key="item" :label="item" :value="item"></el-option>
+                                    </el-select>
+                                </el-form-item>
+                            </el-col>
+                            <el-col :lg="8" :md="12" :xs="24">
+                                <el-form-item label="填报日期">
+                                    <el-date-picker v-model="createTime" type="daterange" value-format="YYYY-MM-DD" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
+                                </el-form-item>
+                            </el-col>
+                        </template>
+                    </el-row>            
+                </el-form>
 
-                <el-form-item>
+                <div class="tjm_card_select_right">
                     <el-button type="primary" icon="search" @click="reloadTable">搜索</el-button>
                     <el-button icon="refresh-right" @click="reset">重置</el-button>
-                </el-form-item>
-            </el-form>
+                    <el-button type="primary" link @click="paramsIsCollapse = !paramsIsCollapse">
+                        <template v-if="paramsIsCollapse">收起<tjm-icon-ep-arrow-up-bold /></template>
+                        <template v-else>更多<tjm-icon-ep-arrow-down-bold /></template>
+                    </el-button>
+                </div>
+            </el-scrollbar>
         </div>
         <el-divider></el-divider>
 
@@ -71,17 +102,17 @@
                     <template #default="scope">
                         <template v-if="scope.row.status == 'active' || scope.row.status == 'inactive'">
                             <template v-if="scope.row.status == 'active'">
-                                <el-button type="primary" link icon="edit" @click.stop="table_edit(scope.row)">修改</el-button>
-                                <el-button type="primary" link icon="upload" @click.stop="table_edit(scope.row)">上报</el-button>
+                                <el-button v-auth="scope.row" type="primary" link icon="edit" @click.stop="table_edit(scope.row)">修改</el-button>
+                                <el-button v-auth="scope.row" type="primary" link icon="upload" @click.stop="table_edit(scope.row)">上报</el-button>
                             </template>
                             <template v-if="scope.row.status == 'inactive'">
-                                <el-button type="primary" link icon="tickets" @click.stop="table_edit(scope.row)">重新上报</el-button>
+                                <el-button v-auth="scope.row" type="primary" link icon="tickets" @click.stop="table_edit(scope.row)">重新上报</el-button>
                                 <el-button v-if="scope.row.processTaskId && scope.row.processInstanceId" type="primary" link @click.stop="table_process(scope.row)">
                                     <template #icon><tjm-icon-uis-process /></template>
                                     审批流程
                                 </el-button>
                             </template>
-                            <el-button type="primary" link icon="delete" @click.stop="table_del(scope.row)">删除</el-button>
+                            <el-button v-auth="scope.row" type="primary" link icon="delete" @click.stop="table_del(scope.row)">删除</el-button>
                         </template>
                         <template v-if="scope.row.status == 'approve' || scope.row.status == 'done'">
                             <el-button type="primary" link icon="tickets" @click.stop="table_detail(scope.row)">详情</el-button>
@@ -90,7 +121,7 @@
                                 审批流程
                             </el-button>
                         </template>
-                        <el-button v-if="scope.row.status == 'approve' && scope.row.isWithdraw == 1" type="primary" link icon="refresh-right" @click.stop="table_withdraw(scope.row)">撤回</el-button>
+                        <el-button v-if="scope.row.status == 'approve' && scope.row.isWithdraw == 1" v-auth="scope.row" type="primary" link icon="refresh-right" @click.stop="table_withdraw(scope.row)">撤回</el-button>
                     </template>
                 </el-table-column>
             </el-table>
@@ -151,6 +182,7 @@ export default {
             },
 
             loading: false,
+            paramsIsCollapse: false,
             createTime: [],
             params: {
                 page: 1,

+ 59 - 35
src/views/policyShare/message/index.vue

@@ -7,43 +7,66 @@
         <el-card class="tjm_card_style_custom">
             <div class="tjm_card_title">条件检索</div>
             <div class="tjm_card_select">
-                <el-form class="tjm_card_select_left" :model="params" inline label-width="80px" label-position="left">
-                    <el-form-item label="政策编号">
-                        <el-input v-model="params.businessNo" clearable placeholder="请输入政策编号"></el-input>
-                    </el-form-item>
-                    <el-form-item label="政策名称">
-                        <el-input v-model="params.name" clearable placeholder="请输入政策名称"></el-input>
-                    </el-form-item>
-                    <el-form-item label="政策等级">
-                        <el-select v-model="params.zcLevel" clearable placeholder="请选择政策等级">
-                            <el-option v-for="item in levelDic" :key="item" :label="item" :value="item"></el-option>
-                        </el-select>
-                    </el-form-item>
-                    <el-form-item label="政策类别">
-                        <el-select v-model="params.zcType" clearable placeholder="请选择政策类别">
-                            <el-option v-for="item in typeDic" :key="item" :label="item" :value="item"></el-option>
-                        </el-select>
-                    </el-form-item>
-                    <el-form-item label="是否入库">
-                        <el-select v-model="params.isInWh" clearable placeholder="请选择入库状态">
-                            <el-option v-for="(label, key) in whetherDic" :key="key" :label="label" :value="parseInt(key)"></el-option>
-                        </el-select>
-                    </el-form-item>
-                    <el-form-item label="入库类别">
-                        <el-select v-model="params.inWhType" clearable placeholder="请选择入库类别">
-                            <el-option v-for="item in storageTypeDic" :key="item" :label="item" :value="item"></el-option>
-                        </el-select>
-                    </el-form-item>
-                    <el-form-item label="发布日期">
-                        <el-date-picker v-model="createTime" type="daterange" value-format="YYYY-MM-DD" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
-                    </el-form-item>
-
-                    <el-form-item>
+                <el-scrollbar>
+                    <el-form class="tjm_card_select_left" :model="params" label-width="80px" label-position="left">
+                        <el-row :gutter="15">
+                            <el-col :lg="8" :md="12" :xs="24">
+                                <el-form-item label="政策编号">
+                                    <el-input v-model="params.businessNo" clearable placeholder="请输入政策编号"></el-input>
+                                </el-form-item>
+                            </el-col>
+                            <el-col :lg="8" :md="12" :xs="24">
+                                <el-form-item label="政策名称">
+                                    <el-input v-model="params.name" clearable placeholder="请输入政策名称"></el-input>
+                                </el-form-item>
+                            </el-col>
+                            <el-col :lg="8" :md="12" :xs="24">
+                                <el-form-item label="政策等级">
+                                    <el-select v-model="params.zcLevel" clearable placeholder="请选择政策等级">
+                                        <el-option v-for="item in levelDic" :key="item" :label="item" :value="item"></el-option>
+                                    </el-select>
+                                </el-form-item>
+                            </el-col>
+                            <template v-if="paramsIsCollapse">
+                                <el-col :lg="8" :md="12" :xs="24">
+                                    <el-form-item label="政策类别">
+                                        <el-select v-model="params.zcType" clearable placeholder="请选择政策类别">
+                                            <el-option v-for="item in typeDic" :key="item" :label="item" :value="item"></el-option>
+                                        </el-select>
+                                    </el-form-item>
+                                </el-col>
+                                <el-col :lg="8" :md="12" :xs="24">
+                                    <el-form-item label="是否入库">
+                                        <el-select v-model="params.isInWh" clearable placeholder="请选择入库状态">
+                                            <el-option v-for="(label, key) in whetherDic" :key="key" :label="label" :value="parseInt(key)"></el-option>
+                                        </el-select>
+                                    </el-form-item>
+                                </el-col>
+                                <el-col :lg="8" :md="12" :xs="24">
+                                    <el-form-item label="入库类别">
+                                        <el-select v-model="params.inWhType" clearable placeholder="请选择入库类别">
+                                            <el-option v-for="item in storageTypeDic" :key="item" :label="item" :value="item"></el-option>
+                                        </el-select>
+                                    </el-form-item>
+                                </el-col>
+                                <el-col :lg="8" :md="12" :xs="24">
+                                    <el-form-item label="发布日期">
+                                        <el-date-picker v-model="createTime" type="daterange" value-format="YYYY-MM-DD" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
+                                    </el-form-item>
+                                </el-col>
+                            </template>
+                        </el-row>            
+                    </el-form>
+                    <div class="tjm_card_select_right">
                         <el-button type="primary" icon="search" @click="reloadTable">搜索</el-button>
                         <el-button icon="refresh-right" @click="reset">重置</el-button>
-                    </el-form-item>
-                </el-form>
-            </div>
+                        <el-button type="primary" link @click="paramsIsCollapse = !paramsIsCollapse">
+                            <template v-if="paramsIsCollapse">收起<tjm-icon-ep-arrow-up-bold /></template>
+                            <template v-else>更多<tjm-icon-ep-arrow-down-bold /></template>
+                        </el-button>
+                    </div>
+                </el-scrollbar>
+            </div>          
             <el-divider></el-divider>
 
             <div v-loading="loading" class="tjm_card_reply">
@@ -97,6 +120,7 @@ export default {
             columns, levelDic, typeDic, storageTypeDic, whetherDic,
 
             loading: false,
+            paramsIsCollapse: false,
             createTime: [],
             params: {
                 page: 1,

+ 1 - 15
src/views/policyStrive/dialog.vue

@@ -224,18 +224,4 @@ export default {
         }
     }
 }
-</script>
-
-<style lang="scss" scoped>
-.el-input-number {
-  width: 100%;
-
-  :deep(.el-input) .el-input__wrapper {
-    padding: 1px 11px;
-
-    .el-input__inner {
-      text-align: unset;
-    }
-  }
-}
-</style>
+</script>

+ 0 - 12
src/views/policyStrive/explain.vue

@@ -264,18 +264,6 @@ export default {
   }
 }
 
-.el-input-number {
-  width: 100%;
-
-  :deep(.el-input) .el-input__wrapper {
-    padding: 1px 11px;
-
-    .el-input__inner {
-      text-align: unset;
-    }
-  }
-}
-
 .label-column-2 :deep(.el-form-item__label) {
   margin-left: 30px;
 }

+ 58 - 34
src/views/policyStrive/index.vue

@@ -2,42 +2,65 @@
     <el-card class="tjm_card_style_custom">
         <div class="tjm_card_title">条件检索</div>
         <div class="tjm_card_select">
-            <el-form class="tjm_card_select_left" :model="params" inline label-width="80px" label-position="left">
-                <el-form-item label="政策编号">
-                    <el-input v-model="params.businessNo" clearable placeholder="请输入政策编号"></el-input>
-                </el-form-item>
-                <el-form-item label="项目名称">
-                    <el-input v-model="params.name" clearable placeholder="请输入项目名称"></el-input>
-                </el-form-item>
-                <el-form-item label="项目等级">
-                    <el-select v-model="params.zcLevel" clearable placeholder="请选择项目等级">
-                        <el-option v-for="item in levelDic" :key="item" :label="item" :value="item"></el-option>
-                    </el-select>
-                </el-form-item>
-                <el-form-item label="项目类别">
-                    <el-select v-model="params.zcType" clearable placeholder="请选择项目类别">
-                        <el-option v-for="item in typeDic" :key="item" :label="item" :value="item"></el-option>
-                    </el-select>
-                </el-form-item>
-                <el-form-item label="状态">
-                    <el-select v-model="params.status" clearable placeholder="请选择状态">
-                        <el-option v-for="(label, key) in statusDic" :key="key" :label="label" :value="key"></el-option>
-                    </el-select>
-                </el-form-item>
-                <el-form-item label="是否落地">
-                    <el-select v-model="params.isLand" clearable placeholder="请选择落地状态">
-                        <el-option v-for="(label, key) in whetherDic" :key="key" :label="label" :value="key"></el-option>
-                    </el-select>
-                </el-form-item>
-                <el-form-item label="填报日期">
-                    <el-date-picker v-model="createTime" type="daterange" value-format="YYYY-MM-DD" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
-                </el-form-item>
-
-                <el-form-item>
+            <el-scrollbar>
+                <el-form class="tjm_card_select_left" :model="params" label-width="80px" label-position="left">
+                    <el-row :gutter="15">
+                        <el-col :lg="8" :md="12" :xs="24">
+                            <el-form-item label="政策编号">
+                                <el-input v-model="params.businessNo" clearable placeholder="请输入政策编号"></el-input>
+                            </el-form-item>
+                        </el-col>
+                        <el-col :lg="8" :md="12" :xs="24">
+                            <el-form-item label="项目名称">
+                                <el-input v-model="params.name" clearable placeholder="请输入项目名称"></el-input>
+                            </el-form-item>
+                        </el-col>
+                        <el-col :lg="8" :md="12" :xs="24">
+                            <el-form-item label="项目等级">
+                                <el-select v-model="params.zcLevel" clearable placeholder="请选择项目等级">
+                                    <el-option v-for="item in levelDic" :key="item" :label="item" :value="item"></el-option>
+                                </el-select>
+                            </el-form-item>
+                        </el-col>
+                        <template v-if="paramsIsCollapse">
+                            <el-col :lg="8" :md="12" :xs="24">
+                                <el-form-item label="项目类别">
+                                    <el-select v-model="params.zcType" clearable placeholder="请选择项目类别">
+                                        <el-option v-for="item in typeDic" :key="item" :label="item" :value="item"></el-option>
+                                    </el-select>
+                                </el-form-item>
+                            </el-col>
+                            <el-col :lg="8" :md="12" :xs="24">
+                                <el-form-item label="状态">
+                                    <el-select v-model="params.status" clearable placeholder="请选择状态">
+                                        <el-option v-for="(label, key) in statusDic" :key="key" :label="label" :value="key"></el-option>
+                                    </el-select>
+                                </el-form-item>
+                            </el-col>
+                            <el-col :lg="8" :md="12" :xs="24">
+                                <el-form-item label="是否落地">
+                                    <el-select v-model="params.isLand" clearable placeholder="请选择落地状态">
+                                        <el-option v-for="(label, key) in whetherDic" :key="key" :label="label" :value="key"></el-option>
+                                    </el-select>
+                                </el-form-item>
+                            </el-col>
+                            <el-col :lg="8" :md="12" :xs="24">
+                                <el-form-item label="填报日期">
+                                    <el-date-picker v-model="createTime" type="daterange" value-format="YYYY-MM-DD" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
+                                </el-form-item>
+                            </el-col>
+                        </template>
+                    </el-row>            
+                </el-form>
+                <div class="tjm_card_select_right">
                     <el-button type="primary" icon="search" @click="reloadTable">搜索</el-button>
                     <el-button icon="refresh-right" @click="reset">重置</el-button>
-                </el-form-item>
-            </el-form>
+                    <el-button type="primary" link @click="paramsIsCollapse = !paramsIsCollapse">
+                        <template v-if="paramsIsCollapse">收起<tjm-icon-ep-arrow-up-bold /></template>
+                        <template v-else>更多<tjm-icon-ep-arrow-down-bold /></template>
+                    </el-button>
+                </div>
+            </el-scrollbar>
         </div>
         <el-divider></el-divider>
 
@@ -150,6 +173,7 @@ export default {
             columns, levelDic, typeDic, statusDic, whetherDic,
 
             loading: false,
+            paramsIsCollapse: false,
             createTime: [],
             params: {
                 page: 1,

+ 3 - 5
src/views/progress/component/strive.vue

@@ -20,7 +20,7 @@
 
         <div class="tjm_card_tools">
             <div class="tjm_card_tools_left">
-                <el-button type="primary" icon="tools" @click="table_add">配置应填报日期</el-button>
+                <el-button type="primary" icon="tools" @click="$emit('condition_set')">设置应填报日期</el-button>
             </div>
             <div class="tjm_card_tools_right">
                 <el-button icon="download" @click="table_export">导出</el-button>
@@ -87,10 +87,8 @@ export default {
             this.loading = true;
             API.progress.strive(this.params).then(res => {
                 this.loading = false;
-                if (res.code === 200) {
-                    this.tableData = res.data.records;
-                    this.total = res.data.total;
-                } else ElMessage.error(res.msg);
+                this.tableData = res.data.records;
+                this.total = res.data.total;
             }).catch(() => this.loading = false);
         },
 

+ 65 - 0
src/views/progress/dialog.vue

@@ -0,0 +1,65 @@
+<template>
+    <el-dialog v-model="visible" title="设置应填报日期" @closed="$emit('closed')">
+        <el-form ref="formRef" :model="form" :rules="rules" label-width="110px">
+            <el-row>
+                <el-col :span="24">
+                    <el-form-item label="应填报日期" prop="ytbDate">
+                        <el-input-number v-model="form.ytbDate" :min="1" :max="28" :controls="false" placeholder="请输入应填报日期(为每月1日至28日中一天)"></el-input-number>
+                    </el-form-item>
+                </el-col>
+            </el-row>
+        </el-form>
+
+        <template #footer>
+            <el-button :loading="isSaving" type="primary" @click="submit">确 定</el-button>
+        </template>
+    </el-dialog>
+</template>
+
+<script>
+import API from "@/api/policy/progress";
+
+export default {
+    emits: ["success", "closed"],
+    
+    data() {
+        return {
+            visible: false,
+            isSaving: false,
+
+            form: {
+                ytbDate: null
+            },
+
+            rules: {
+                ytbDate: [{ required: true, message: "请输入应填报日期" }]
+            }
+        }
+    },
+
+    methods: {
+        open(data) {
+            this.form.ytbDate = data;
+            this.visible = true;
+            return this;
+        },
+        
+        // 表单提交方法
+        submit() {
+            this.$refs.formRef.validate(valid => {
+                if (valid) {
+                    this.isSaving = true;
+                    API.condition.edit(this.form).then(() => {
+                        this.isSaving = false;
+                        this.visible = false;
+                        ElMessage.success("操作成功");
+                        this.$emit("success");
+                    }).catch(() => this.isSaving = false);
+                } else {
+                    return false;
+                }
+            });
+        }
+    }
+}
+</script>

+ 23 - 91
src/views/progress/index.vue

@@ -1,33 +1,33 @@
 <template>
     <div class="progress-content">
-        <!-- <el-form class="progress-header">
-            <el-form-item :class="isEdit && 'show'" label="应填报日期">
-                <div class="input-col">
-                    <el-input-number v-model="form.ytbDate" :min="1" :max="28" step-strictly :controls="false"></el-input-number>
-                    <el-button :loading="isSaving" type="primary" @click="submit">保 存</el-button>
-                    <el-button @click="cancel">取 消</el-button>
-                </div>
-                <div class="tag-col" @click="isEdit = !isEdit">
-                    <el-tag v-if="form.ytbDate" type="primary" size="large">每月{{ form.ytbDate }}日</el-tag>
-                    <el-tag v-else type="info" size="large">未设置</el-tag>
-                </div>
+        <el-form class="progress-header">
+            <el-form-item label="应填报日期">
+                <el-tag v-if="ytbDate" type="primary" size="large">每月{{ ytbDate }}日</el-tag>
+                <el-tag v-else type="info" size="large">未设置</el-tag>
             </el-form-item>
-        </el-form> -->
+        </el-form>
 
         <el-tabs v-model="element">
             <el-tab-pane v-for="(label, key) in progressTab" :key="key" :label="label" :name="key"></el-tab-pane>
         </el-tabs>
 
-        <component :is="allComps[element]"></component>
+        <component :is="allComps[element]" @condition_set="condition_set"></component>
     </div>
+
+    <ytb-dialog v-if="dialog" ref="ytbDialog" @success="getCondition" @closed="dialog = false"></ytb-dialog>
 </template>
 
 <script>
 import API from "@/api/policy/progress";
-import allComps from "@/views/progress/component/index";
 import { progressTab } from "@/views/progress/main";
+import ytbDialog from "@/views/progress/dialog.vue";
+import allComps from "@/views/progress/component/index";
 
 export default {
+    components: {
+        ytbDialog
+    },
+
     data() {
         return {
             allComps,
@@ -36,45 +36,23 @@ export default {
             // element: "policy_share",
             element: "policy_strive",
 
-            isEdit: false,
-            isSaving: false,
-            form: {
-                ytbDate: null
-            }
+            dialog: false,
+            ytbDate: null
         }
     },
 
-    // watch: {
-    //     isEdit(value) {
-    //         if (value) document.body.addEventListener("click", this.close);
-    //         else document.body.removeEventListener("click", this.close);
-    //     }
-    // },
-
     mounted() {
         this.getCondition();
     },
 
     methods: {
         getCondition() {
-            API.condition.get().then(res => this.form.ytbDate = res.data || null).catch(() => this.form.ytbDate = null);
-        },
-
-        cancel() {
-            this.getCondition();
-            this.isEdit = false;
+            API.condition.get().then(res => this.ytbDate = res.data || null).catch(() => this.ytbDate = null);
         },
 
-        submit() {
-            if (!this.form.ytbDate) this.cancel();
-            else {
-                this.isSaving = true;
-                API.condition.edit(this.form).then(res => {
-                    this.isSaving = false;
-                    ElMessage.success("操作成功");
-                    this.cancel();
-                }).catch(() => this.isSaving = false);
-            }
+        condition_set() {
+            this.dialog = true;
+            nextTick(() => this.$refs.ytbDialog.open(this.ytbDate));
         }
     }
 }
@@ -89,59 +67,13 @@ export default {
   box-shadow: var(--el-box-shadow-light);
 
   .progress-header {
-    margin: 20px;
+    margin: 5px 20px 10px;
 
     .el-form-item {
       margin-bottom: 0;
 
-      .input-col {
-        display: flex;
-        transition: width 0.2s;
-        width: 0;
-
-        .el-input-number {
-          display: none;
-          width: 100px;
-
-          :deep(.el-input .el-input__wrapper) {
-            padding: 1px 11px;
-
-            .el-input__inner {
-              text-align: unset;
-            }
-          }
-        }
-
-        .el-input-number + .el-button {
-          margin-left: 20px;
-        }
-
-        .el-button {
-          display: none;
-        }
-      }
-
-      .tag-col {
-        display: inline-flex;
-
-        .el-tag {
-          cursor: pointer;
-        }
-      }
-    }
-
-    .el-form-item.show {
-      .input-col {
-        width: fit-content;
-
-        .el-input-number,
-        .el-button {
-          display: inline-flex;
-        }
-      }
-
-      .tag-col {
-        display: none;
+      :deep(.el-form-item__label) {
+        color: var(--el-text-color-primary);
       }
     }
   }

+ 51 - 29
src/views/publicDomain/index.vue

@@ -6,37 +6,58 @@
     <el-card v-else class="tjm_card_style_custom">
         <div class="tjm_card_title">条件检索</div>
         <div class="tjm_card_select">
-            <el-form class="tjm_card_select_left" :model="params" inline label-width="80px" label-position="left">
-                <el-form-item label="政策编号">
-                    <el-input v-model="params.businessNo" clearable placeholder="请输入政策编号"></el-input>
-                </el-form-item>
-                <el-form-item label="政策名称">
-                    <el-input v-model="params.name" clearable placeholder="请输入政策名称"></el-input>
-                </el-form-item>
-                <el-form-item label="政策等级">
-                    <el-select v-model="params.zcLevel" clearable placeholder="请选择政策等级">
-                        <el-option v-for="item in levelDic" :key="item" :label="item" :value="item"></el-option>
-                    </el-select>
-                </el-form-item>
-                <el-form-item label="政策类别">
-                    <el-select v-model="params.zcType" clearable placeholder="请选择政策类别">
-                        <el-option v-for="item in typeDic" :key="item" :label="item" :value="item"></el-option>
-                    </el-select>
-                </el-form-item>
-                <el-form-item label="入库类别">
-                    <el-select v-model="params.inWhType" clearable placeholder="请选择入库类别">
-                        <el-option v-for="item in storageTypeDic" :key="item" :label="item" :value="item"></el-option>
-                    </el-select>
-                </el-form-item>
-                <el-form-item label="发布日期">
-                    <el-date-picker v-model="createTime" type="daterange" value-format="YYYY-MM-DD" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
-                </el-form-item>
-
-                <el-form-item>
+            <el-scrollbar>
+                <el-form class="tjm_card_select_left" :model="params" label-width="80px" label-position="left">
+                    <el-row :gutter="15">
+                        <el-col :lg="8" :md="12" :xs="24">
+                            <el-form-item label="政策编号">
+                                <el-input v-model="params.businessNo" clearable placeholder="请输入政策编号"></el-input>
+                            </el-form-item>
+                        </el-col>
+                        <el-col :lg="8" :md="12" :xs="24">
+                            <el-form-item label="政策名称">
+                                <el-input v-model="params.name" clearable placeholder="请输入政策名称"></el-input>
+                            </el-form-item>
+                        </el-col>
+                        <el-col :lg="8" :md="12" :xs="24">
+                            <el-form-item label="政策类别">
+                                <el-select v-model="params.zcType" clearable placeholder="请选择政策类别">
+                                    <el-option v-for="item in typeDic" :key="item" :label="item" :value="item"></el-option>
+                                </el-select>
+                            </el-form-item>
+                        </el-col>
+                        <template v-if="paramsIsCollapse">
+                            <el-col :lg="8" :md="12" :xs="24">
+                                <el-form-item label="政策等级">
+                                    <el-select v-model="params.zcLevel" clearable placeholder="请选择政策等级">
+                                        <el-option v-for="item in levelDic" :key="item" :label="item" :value="item"></el-option>
+                                    </el-select>
+                                </el-form-item>
+                            </el-col>
+                            <el-col :lg="8" :md="12" :xs="24">
+                                <el-form-item label="入库类别">
+                                    <el-select v-model="params.inWhType" clearable placeholder="请选择入库类别">
+                                        <el-option v-for="item in storageTypeDic" :key="item" :label="item" :value="item"></el-option>
+                                    </el-select>
+                                </el-form-item>
+                            </el-col>
+                            <el-col :lg="8" :md="12" :xs="24">
+                                <el-form-item label="发布日期">
+                                    <el-date-picker v-model="createTime" type="daterange" value-format="YYYY-MM-DD" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
+                                </el-form-item>
+                            </el-col>
+                        </template>
+                    </el-row>            
+                </el-form>
+                <div class="tjm_card_select_right">
                     <el-button type="primary" icon="search" @click="reloadTable">搜索</el-button>
                     <el-button icon="refresh-right" @click="reset">重置</el-button>
-                </el-form-item>
-            </el-form>
+                    <el-button type="primary" link @click="paramsIsCollapse = !paramsIsCollapse">
+                        <template v-if="paramsIsCollapse">收起<tjm-icon-ep-arrow-up-bold /></template>
+                        <template v-else>更多<tjm-icon-ep-arrow-down-bold /></template>
+                    </el-button>
+                </div>
+            </el-scrollbar>
         </div>
         <el-divider></el-divider>
 
@@ -75,6 +96,7 @@ export default {
             columns, levelDic, typeDic, storageTypeDic,
 
             loading: false,
+            paramsIsCollapse: false,
             createTime: [],
             params: {
                 page: 1,

+ 30 - 19
src/views/system/log/index.vue

@@ -2,27 +2,38 @@
     <el-card class="tjm_card_style_custom">
         <div class="tjm_card_title">条件检索</div>
         <div class="tjm_card_select">
-            <el-form class="tjm_card_select_left" :model="params" inline label-width="80px" label-position="left">
-                <el-form-item label="操作人">
-                    <el-input v-model="params.userName" clearable placeholder="请输入操作人"></el-input>
-                </el-form-item>
-                <el-form-item label="操作名称">
-                    <el-input v-model="params.operateName" clearable placeholder="请输入模块"></el-input>
-                </el-form-item>
-                <el-form-item label="业务类型">
-                    <el-select v-model="params.operateType" clearable placeholder="请选择业务类型">
-                        <el-option v-for="(label, key) in typeDic" :key="key" :label="label" :value="key"></el-option>
-                    </el-select>
-                </el-form-item>
-                <el-form-item label="操作日期">
-                    <el-date-picker v-model="createTime" type="daterange" value-format="YYYY-MM-DD" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
-                </el-form-item>
-
-                <el-form-item>
+            <el-scrollbar>
+                <el-form class="tjm_card_select_left" :model="params" label-width="80px" label-position="left">
+                    <el-row :gutter="15">
+                        <el-col :lg="8" :md="12" :xs="24">
+                            <el-form-item label="操作人">
+                                <el-input v-model="params.userName" clearable placeholder="请输入操作人"></el-input>
+                            </el-form-item>
+                        </el-col>
+                        <el-col :lg="8" :md="12" :xs="24">
+                            <el-form-item label="操作名称">
+                                <el-input v-model="params.operateName" clearable placeholder="请输入操作名称"></el-input>
+                            </el-form-item>
+                        </el-col>
+                        <el-col :lg="8" :md="12" :xs="24">
+                            <el-form-item label="业务类型">
+                                <el-select v-model="params.operateType" clearable placeholder="请选择业务类型">
+                                    <el-option v-for="(label, key) in typeDic" :key="key" :label="label" :value="key"></el-option>
+                                </el-select>
+                            </el-form-item>
+                        </el-col>
+                        <el-col :lg="8" :md="12" :xs="24">
+                            <el-form-item label="操作日期">
+                                <el-date-picker v-model="createTime" type="daterange" value-format="YYYY-MM-DD" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
+                            </el-form-item>
+                        </el-col>
+                    </el-row>            
+                </el-form>
+                <div class="tjm_card_select_right">
                     <el-button type="primary" icon="search" @click="reloadTable">搜索</el-button>
                     <el-button icon="refresh-right" @click="reset">重置</el-button>
-                </el-form-item>
-            </el-form>
+                </div>
+            </el-scrollbar>
         </div>
         <el-divider></el-divider>
 

+ 3 - 3
src/views/system/template/index.vue

@@ -9,12 +9,12 @@
         <div class="tjm_card_table">
             <el-table v-loading="loading" row-key="id" header-cell-class-name="tjm_card_table_header" height="400" :data="tableData" border>
                 <el-table-column type="index" label="序号" width="55"></el-table-column>
-                <el-table-column label="模板名称" prop="templateName"></el-table-column>
-                <el-table-column label="模板类型">
+                <el-table-column label="模板名称" prop="templateName" min-width="160"></el-table-column>
+                <el-table-column label="模板类型" min-width="160">
                     <template #default="scope">{{ formatType(scope.row.refType) }}</template>
                 </el-table-column>
 
-                <el-table-column label="操作" fixed="right" width="240">
+                <el-table-column label="操作" fixed="right" width="160">
                     <template #default="scope">
                         <el-button type="primary" link icon="edit" @click="table_edit(scope.row)">修改</el-button>
                         <el-button type="primary" link icon="delete" @click="table_del(scope.row)">删除</el-button>

+ 195 - 221
src/views/system/user.vue

@@ -304,235 +304,209 @@ function resetUserPwdBtn(row) {
 </script>
 
 <template>
-    <div>
-        <el-card class="tjm_card_style_custom">
-            <div class="tjm_card_title">条件检索</div>
-            <div class="tjm_card_select">
-                <div class="tjm_card_select_left">
-                    <el-form
-                        :inline="true"
-                        :model="params"
-                        label-width="80px"
-                        :label-position="'left'"
-                    >
-                        <!-- <el-form-item label="用户编号">
-                            <el-input v-model="params.code" clearable />
-                        </el-form-item> -->
-                        <el-form-item label="用户名称">
-                            <el-input v-model="params.userName" clearable />
-                        </el-form-item>
-                        <el-form-item label="姓名">
-                            <el-input v-model="params.realName" clearable />
-                        </el-form-item>
+    <el-card class="tjm_card_style_custom">
+        <div class="tjm_card_title">条件检索</div>
+        <div class="tjm_card_select">
+            <el-scrollbar>
+                <el-form class="tjm_card_select_left" :model="params" label-width="80px" label-position="left">
+                    <el-row :gutter="15">
+                        <!-- <el-col :lg="8" :md="12" :xs="24">
+                            <el-form-item label="用户编号">
+                                <el-input v-model="params.code" clearable placeholder="请输入用户编号"></el-input>
+                            </el-form-item>
+                        </el-col> -->
+                        <el-col :lg="8" :md="12" :xs="24">
+                            <el-form-item label="用户名称">
+                                <el-input v-model="params.userName" clearable placeholder="请输入用户名称"></el-input>
+                            </el-form-item>
+                        </el-col>
+                        <el-col :lg="8" :md="12" :xs="24">
+                            <el-form-item label="姓名">
+                                <el-input v-model="params.realName" clearable placeholder="请输入姓名"></el-input>
+                            </el-form-item>
+                        </el-col>
+                        <!-- <el-col :lg="8" :md="12" :xs="24">
+                            <el-form-item label="创建时间">
+                                <el-date-picker v-model="params.date" type="daterange" start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
+                            </el-form-item>
+                        </el-col>
+                        <el-col :lg="8" :md="12" :xs="24">
+                            <el-form-item label="用户状态">
+                                <el-select v-model="params.status" clearable placeholder="请选择用户状态">
+                                    <el-option label="启用" value="1"></el-option>
+                                    <el-option label="禁用" value="2"></el-option>
+                                </el-select>
+                            </el-form-item>
+                        </el-col> -->
+                    </el-row>
+                </el-form>
 
-                        <!-- <el-form-item label="创建时间">
-                        <el-date-picker
-                            v-model="params.date"
-                            type="daterange"
-                            placeholder="Pick a date"
-                            clearable
-                        />
-                        </el-form-item>
-                        <el-form-item label="用户状态">
-                        <el-select
-                            v-model="params.status"
-                            clearable
-                            placeholder="请选择"
-                        >
-                            <el-option label="启用" value="1" />
-                            <el-option label="禁用" value="2" />
-                        </el-select>
-                        </el-form-item> -->
-                        <el-form-item>
-                            <el-button type="primary" @click="searchUserListBtn">
-                                <el-icon class="tjm_btn_icon_right"><tjm-icon-ep-Plus /></el-icon>
-                                搜索
-                            </el-button>
-                            <el-button @click="resetParamsBtn">
-                                <el-icon class="tjm_btn_icon_right"><tjm-icon-ep-RefreshRight /></el-icon>
-                                重置
-                            </el-button>
-                        </el-form-item>
-                    </el-form>
+                <div class="tjm_card_select_right">
+                    <el-button type="primary" icon="search" @click="searchUserListBtn">搜索</el-button>
+                    <el-button icon="refresh-right" @click="resetParamsBtn">重置</el-button>
                 </div>
+            </el-scrollbar>
+        </div>
+        <el-divider></el-divider>
+        
+        <div class="tjm_card_tools">
+            <div class="tjm_card_tools_left">
+                <el-button type="primary" icon="plus" @click="addUserBtn">新增</el-button>
+                <el-button type="danger" icon="delete" @click="delUserMoreBtn">批量删除</el-button>
             </div>
-            <el-divider />
-            <div class="tjm_card_tools">
-                <div class="tjm_card_tools_left">
-                    <el-button type="primary" @click="addUserBtn">
-                        <el-icon class="tjm_btn_icon_right"><tjm-icon-ep-Plus /></el-icon>
-                        新增
-                    </el-button>
-                    <el-button type="danger" @click="delUserMoreBtn">
-                        <el-icon class="tjm_btn_icon_right"><tjm-icon-ep-delete /></el-icon>
-                        批量删除
-                    </el-button>
-                </div>
-                <!-- <div class="tjm_card_tools_right">
-                    <el-button>
-                        <el-icon class="tjm_btn_icon_right"><tjm-icon-ep-download /></el-icon>
-                        excel导出数据
-                    </el-button>
-                </div> -->
+            <div class="tjm_card_tools_right">
+                <el-button icon="download" @click="table_export">导出</el-button>
             </div>
-            <div class="tjm_card_table">
-                <div class="tjm_card_table_left" style="height: 450px; overflow: auto">
-                    <el-input
-                        v-model="deptName"
-                        placeholder="请输入部门名称"
-                        clearable
-                        prefix-icon="Search"
-                    />
-                        <!-- default-expand-all -->
-                    <el-tree
-                        :data="deptOptions"
-                        :props="{ label: 'name', children: 'children' }"
-                        :expand-on-click-node="false"
-                        ref="deptTreeRef"
-                        node-key="id"
-                        highlight-current
-                        @node-click="treeNodeClick"
-                        :filter-node-method="filterNode"
-                        style="margin-top: 6px"
-                    />
-                </div>
-                <div class="tjm_card_table_right">
-                    <el-table
-                        header-cell-class-name="tjm_cart_table_header"
-                        :data="tableData"
-                        border
-                        width="100%"
-                        @selection-change="selectionChange"
-                    >
-                        <el-table-column type="selection" width="55" />
-                        <el-table-column type="index" label="序号" width="55" />
-                        <el-table-column prop="userName" label="用户名" />
-                        <el-table-column prop="deptName" label="所属部门" width="240" />
-                        <el-table-column prop="name" label="姓名" />
-                        <el-table-column prop="mobile" label="手机号" />
-                        <el-table-column prop="email" label="电子邮箱" width="240" />
-                        <el-table-column prop="state" label="用户状态">
-                            <template #default="scope">
-                                {{ ["启用", "禁用"][scope.row.state] }}
-                            </template>
-                        </el-table-column>
-                        <el-table-column prop="ope" label="操作">
-                            <template #default="scope">
-                                <el-tooltip content="修改" placement="top">
-                                    <el-button
-                                        link
-                                        type="primary"
-                                        icon="Edit"
-                                        @click="modUserBtn(scope.row)"
-                                    ></el-button>
-                                </el-tooltip>
-                                <el-tooltip content="删除" placement="top">
-                                    <el-button
-                                        link
-                                        type="primary"
-                                        icon="Delete"
-                                        @click="delUserBtn(scope.row)"
-                                    ></el-button>
-                                </el-tooltip>
-                                <el-tooltip content="重置密码" placement="top">
-                                    <el-button
-                                        link
-                                        type="primary"
-                                        icon="Key"
-                                        @click="resetUserPwdBtn(scope.row)"
-                                    ></el-button>
-                                </el-tooltip>
-                            </template>
-                        </el-table-column>
-                    </el-table>
-                </div>
-            </div>
-            <div class="tjm_card_pagination">
-                <el-pagination
-                    background
-                    layout="total,sizes,prev, pager, next,"
-                    :total="total"
-                    :page-sizes="[20, 30, 100]"
-                    @size-change="sizeChange"
-                    @current-change="currentChange"
+        </div>
+        <div class="tjm_card_table">
+            <div class="tjm_card_table_left">
+                <el-input
+                    v-model="deptName"
+                    placeholder="请输入部门名称"
+                    clearable
+                    prefix-icon="Search"
+                />
+                    <!-- default-expand-all -->
+                <el-tree
+                    :data="deptOptions"
+                    :props="{ label: 'name', children: 'children' }"
+                    :expand-on-click-node="false"
+                    ref="deptTreeRef"
+                    node-key="id"
+                    highlight-current
+                    @node-click="treeNodeClick"
+                    :filter-node-method="filterNode"
+                    style="margin-top: 6px"
                 />
             </div>
-        </el-card>
+            <el-table style="flex: 1;" row-key="id" header-cell-class-name="tjm_card_table_header" :data="tableData" border @selection-change="selectionChange">
+                <el-table-column type="selection" width="55" />
+                <el-table-column type="index" label="序号" width="55" />
+                <el-table-column prop="userName" label="用户名" />
+                <el-table-column prop="deptName" label="所属部门" width="240" />
+                <el-table-column prop="name" label="姓名" />
+                <el-table-column prop="mobile" label="手机号" />
+                <el-table-column prop="email" label="电子邮箱" width="240" />
+                <el-table-column prop="state" label="用户状态">
+                    <template #default="scope">
+                        {{ ["启用", "禁用"][scope.row.state] }}
+                    </template>
+                </el-table-column>
+                <el-table-column prop="ope" label="操作">
+                    <template #default="scope">
+                        <el-tooltip content="修改" placement="top">
+                            <el-button
+                                link
+                                type="primary"
+                                icon="Edit"
+                                @click="modUserBtn(scope.row)"
+                            ></el-button>
+                        </el-tooltip>
+                        <el-tooltip content="删除" placement="top">
+                            <el-button
+                                link
+                                type="primary"
+                                icon="Delete"
+                                @click="delUserBtn(scope.row)"
+                            ></el-button>
+                        </el-tooltip>
+                        <el-tooltip content="重置密码" placement="top">
+                            <el-button
+                                link
+                                type="primary"
+                                icon="Key"
+                                @click="resetUserPwdBtn(scope.row)"
+                            ></el-button>
+                        </el-tooltip>
+                    </template>
+                </el-table-column>
+            </el-table>
+        </div>
+        <div class="tjm_card_pagination">
+            <el-pagination
+                background
+                layout="total,sizes,prev, pager, next,"
+                :total="total"
+                :page-sizes="[20, 30, 100]"
+                @size-change="sizeChange"
+                @current-change="currentChange"
+            />
+        </div>
+    </el-card>
 
-        <!-- 编辑 -->
-        <el-dialog :title="title" v-model="open" width="680px" append-to-body>
-            <el-form ref="userRef" :model="form" :rules="rules" label-width="100px">
-                <el-row>
-                    <el-col :span="24">
-                        <el-form-item label="用户名" prop="userName">
-                            <el-input
-                                v-model="form.userName"
-                                placeholder="请输入用户名"
-                            />
-                        </el-form-item>
-                    </el-col>
-                    <el-col :span="24">
-                        <el-form-item label="所属部门" prop="depId">
-                            <el-tree-select
-                                style="width: 100%"
-                                v-model="form.depId"
-                                :data="deptOptions"
-                                filterable
-                                :props="{ value: 'id', label: 'name', children: 'children' }"
-                                value-key="id"
-                                placeholder="选择所属部门"
-                                check-strictly
-                            />
-                        </el-form-item>
-                    </el-col>
-                    <el-col :span="24">
-                        <el-form-item label="角色" prop="roleIds">
-                            <el-select
-                                v-model="form.roleIds"
-                                multiple
-                                placeholder="请选择角色"
-                                style="width: 100%"
-                            >
-                                <el-option
-                                    v-for="item in roleData"
-                                    :key="item.id"
-                                    :label="item.name"
-                                    :value="item.id"
-                                />
-                            </el-select>
-                        </el-form-item>
-                    </el-col>
-                    <el-col :span="24">
-                        <el-form-item label="姓名" prop="realName">
-                            <el-input
-                                v-model="form.realName"
-                                placeholder="请输入姓名"
-                            />
-                        </el-form-item>
-                    </el-col>
-                    <el-col :span="24">
-                        <el-form-item label="手机号" prop="phone">
-                            <el-input
-                                v-model="form.phone"
-                                placeholder="请输入手机号"
+    <!-- 编辑 -->
+    <el-dialog :title="title" v-model="open" width="680px" append-to-body>
+        <el-form ref="userRef" :model="form" :rules="rules" label-width="100px">
+            <el-row>
+                <el-col :span="24">
+                    <el-form-item label="用户名" prop="userName">
+                        <el-input
+                            v-model="form.userName"
+                            placeholder="请输入用户名"
+                        />
+                    </el-form-item>
+                </el-col>
+                <el-col :span="24">
+                    <el-form-item label="所属部门" prop="depId">
+                        <el-tree-select
+                            style="width: 100%"
+                            v-model="form.depId"
+                            :data="deptOptions"
+                            filterable
+                            :props="{ value: 'id', label: 'name', children: 'children' }"
+                            value-key="id"
+                            placeholder="选择所属部门"
+                            check-strictly
+                        />
+                    </el-form-item>
+                </el-col>
+                <el-col :span="24">
+                    <el-form-item label="角色" prop="roleIds">
+                        <el-select
+                            v-model="form.roleIds"
+                            multiple
+                            placeholder="请选择角色"
+                            style="width: 100%"
+                        >
+                            <el-option
+                                v-for="item in roleData"
+                                :key="item.id"
+                                :label="item.name"
+                                :value="item.id"
                             />
-                        </el-form-item>
-                    </el-col>
-                    <el-col :span="24">
-                        <el-form-item label="邮箱" prop="email">
-                            <el-input v-model="form.email" placeholder="邮箱" clearable />
-                        </el-form-item>
-                    </el-col>
-                </el-row>
-            </el-form>
-            <template #footer>
-                <div class="dialog-footer">
-                    <el-button type="primary" @click="submitForm">确 定</el-button>
-                    <el-button @click="cancel">取 消</el-button>
-                </div>
-            </template>
-        </el-dialog>
-    </div>
+                        </el-select>
+                    </el-form-item>
+                </el-col>
+                <el-col :span="24">
+                    <el-form-item label="姓名" prop="realName">
+                        <el-input
+                            v-model="form.realName"
+                            placeholder="请输入姓名"
+                        />
+                    </el-form-item>
+                </el-col>
+                <el-col :span="24">
+                    <el-form-item label="手机号" prop="phone">
+                        <el-input
+                            v-model="form.phone"
+                            placeholder="请输入手机号"
+                        />
+                    </el-form-item>
+                </el-col>
+                <el-col :span="24">
+                    <el-form-item label="邮箱" prop="email">
+                        <el-input v-model="form.email" placeholder="邮箱" clearable />
+                    </el-form-item>
+                </el-col>
+            </el-row>
+        </el-form>
+        <template #footer>
+            <div class="dialog-footer">
+                <el-button type="primary" @click="submitForm">确 定</el-button>
+                <el-button @click="cancel">取 消</el-button>
+            </div>
+        </template>
+    </el-dialog>
 </template>
 
 <style lang="scss" scoped></style>