Bläddra i källkod

Merge branch 'master' of http://47.103.92.60:3003/skyversation/qp_onemap_ui into MicroFunction

DESKTOP-6LTVLN7\Liumouren 2 veckor sedan
förälder
incheckning
89abf2adac

+ 17 - 0
public/static/config/config.js

@@ -5,6 +5,23 @@ let systemConfig = {
     },
     touristUserId: "191",//默认游客用户(user002)id,Oauth中配置
     adminRoleId: "1",//默认管理员角色id,Oauth中配置“系统管理员”角色
+    /*
+     * 模型id如下
+        1667(应用中心模型id)
+        1690(用户登录模型id)
+        1677(微功能服务模型id)
+     * 栏目id如下
+        1657(应用中心栏目id(示范应用))
+        1659(应用中心栏目id)
+        1666(门户都示范栏目id)
+        1676(用户登录栏目id)
+        1665(微功能服务栏目id)
+        1651(微功能搜索服务栏目id)
+     * 
+    */
+    modelIds: [1667,1690,1677],
+    columnIds: [1657,1659,1666,1676,1665,1651],
+
     baseServicerPath: "/oneMap",
     // oauth和DMS环境
     backServerPath: "http://121.43.55.7",

+ 61 - 40
src/App.vue

@@ -23,47 +23,33 @@ export default {
     //   this.scrollUpdate();
     // });
     let that = this;
-    // 默认登录
-    encrypt‌().then(() => {
-      // 登录成功之后要批量加载一下DMS的字典,后续全局可调用
-      that.$store.state.DMSTypes.forEach((item) => {
-        api
-          .getDmsTypes({
-            cName: item,
-            type: 0,
-          })
-          .then((result2) => {
-            if (result2.code == 200) {
-              // 遍历result2.content,将每个元素的index作为key,name作为value,存储到DmsTypesMap中
-              let dmsTypesMap = {};
-              result2.content.forEach((element) => {
-                dmsTypesMap[element.index] = element.name;
-              });
-              that.$store.commit("setDmsTypesMap", {
-                name: item,
-                list: dmsTypesMap,
-              });
-            } else {
-              that.$message({
-                type: "error",
-                message: result2.content,
-              });
-            }
-          })
-          .catch((err) => {
-            console.log(err);
-            that.$message({
-              type: "error",
-              message: "服务器忙碌,请稍后重试!",
-            });
-          });
+    let sessionUserInfo = sessionStorage.getItem("sessionUserInfo");
+    // console.log(sessionUserInfo);
+    if (sessionUserInfo && sessionUserInfo !== "") {
+      let user = JSON.parse(sessionUserInfo);
+      // console.log(user);
+      // 刷新页面登录
+      encrypt‌(user).then(() => {
+        // 登录成功之后要批量加载一下DMS的字典,后续全局可调用
+        that.getDMSTypesData();
+      }).catch((err) => {
+        that.$message({
+          type: "error",
+          message: err,
+        });
       });
-    }).catch((err) => {
-      that.$message({
-        type: "error",
-        message: err,
+    }else{
+      // 默认登录
+      encrypt‌().then(() => {
+        // 登录成功之后要批量加载一下DMS的字典,后续全局可调用
+        that.getDMSTypesData();
+      }).catch((err) => {
+        that.$message({
+          type: "error",
+          message: err,
+        });
       });
-    });
+    }
   },
   methods: {
     // scrollUpdate() {
@@ -78,7 +64,42 @@ export default {
       // return ww < wh ? ww : wh;
       return ww;
     },
-
+    // 登录成功之后要批量加载一下DMS的字典,后续全局可调用
+    getDMSTypesData() {
+      let that = this;
+      that.$store.state.DMSTypes.forEach((item) => {
+          api
+            .getDmsTypes({
+              cName: item,
+              type: 0,
+            })
+            .then((result) => {
+              if (result.code == 200) {
+                // 遍历result.content,将每个元素的index作为key,name作为value,存储到DmsTypesMap中
+                let dmsTypesMap = {};
+                result.content.forEach((element) => {
+                  dmsTypesMap[element.index] = element.name;
+                });
+                that.$store.commit("setDmsTypesMap", {
+                  name: item,
+                  list: dmsTypesMap,
+                });
+              } else {
+                that.$message({
+                  type: "error",
+                  message: result.content,
+                });
+              }
+            })
+            .catch((err) => {
+              console.log(err);
+              that.$message({
+                type: "error",
+                message: "服务器忙碌,请稍后重试!",
+              });
+            });
+        });
+    },
     initScript() {
       let that = this;
       window.SkySceneryConfig = {

+ 9 - 5
src/api/appCenter.js

@@ -13,13 +13,16 @@ const getDmsSName = (params) => {
 };
 //根据模型id查询模型详情接口
 const getModelById = (params) => {
-    return postform(systemConfig.dmsDataProxy + "/model/getModelById", params);
-};
+    return postform(systemConfig.dmsDataProxy + "/model/getModelById", params)
+}
+//更新内容接口
+const updateContent = (params) => {
+    return postform(systemConfig.dmsDataProxy + "/content/updateContent", params)
+}
 // 获取内容
 const getContentById = (params) => {
-    return postform(systemConfig.dmsDataProxy + "/content/selectContentById", params);
-};
-
+    return postform(systemConfig.dmsDataProxy + '/content/selectContentById', params);
+}
 // 获取运行管理页面数据(params:{nowTimes:[],lastTimes:[]})
 const getAllYxglDatas = (params) => {
     return postBody(
@@ -48,6 +51,7 @@ export default {
     getDmsDataList,
     getDmsCNameAType,
     getDmsSName,
+    updateContent,
     getModelById,
     getContentById,
     getAllYxglDatas,

+ 6 - 0
src/api/common.js

@@ -16,7 +16,13 @@ const getDmsTypes = (params) => {
   return postform(systemConfig.backServerPath + ":" + systemConfig.dmsWebUrlPort + systemConfig.dmsDataProxy + '/category/selectByCNameAType', params)
 }
 
+// 修改用户密码
+const updatePassword = (params) => {
+    return postform(systemConfig.oauthServiceUrl + '/user/updatePassword', params);
+}
+
 export default {
   login,
+  updatePassword,
   getDmsTypes,
 }

+ 23 - 23
src/api/rwgl.js

@@ -9,14 +9,14 @@ const multiSearch = dmsPath + "/content/multipleFormsOfJointInvestigation"
 
 const taskDmsId = 1662
 
-export function getTaskStatus() {
+export function getCName(cName) {
     return resolveResult(content.getCategoryDetail({
         type: 0,
-        cName: "task_status",
+        cName: cName,
     }))
 }
 
-export function getTasks(page, pageSize, name, status) {
+export function getTasks(page, pageSize, name, status,type) {
     let data = {
         "columnId": taskDmsId,
         "autoSelectItem": true,
@@ -25,42 +25,42 @@ export function getTasks(page, pageSize, name, status) {
         "columnAlias": "main",
         "orderBy":"main,c_start_time,desc",
         "conditionsList": JSON.stringify([
-            ...getNameChecker(name),
-            ...getStatusChecker(status)
+            ...getEqualChecker(name,"c_name"),
+            ...getTypeChecker(status,"c_state"),
+            ...getTypeChecker(type,"c_type"),
         ]),
     }
 
-    return resolveDmsMultiTableResult(postform(multiSearch, data));
+    return resolveDmsMultiTableResult(postform("oneMap/task/getTask", data));
 }
 
-function getNameChecker(name) {
-    if (name == null||name=="") {
+function getEqualChecker(value,param) {
+    if (value == null||value=="") {
         return []
     }
     return [{
         "columnId": "main",
-        "columnName": "c_name",
+        "columnName": param,
         "condition": "like",
-        "value": `%${name}%`
+        "value": `%${value}%`
     }]
 }
-function getStatusChecker(status) {
+function getTypeChecker(value,param) {
     
-    if (status == null || status.length == 0) {
+    if (value == null || value.length == 0) {
         return []
     }
-    let output = ["or"]
-    for (let i = 0; i < status.length; i++) {
-        const e = status[i];
-        
-        output.push({
-            "columnId": "main",
-            "columnName": "c_state",
-            "condition": "=",
-            "value": `${e}`
-        })
+    let output = []
+    for (let i = 0; i < value.length; i++) {
+        const e = value[i];
+        output.push(e+"")
     }
-    return [output]
+    return [{
+            "columnId": "main",
+            "columnName": param,
+            "condition": "in",
+            "value": output
+        }]
 }
 
 async function resolveResult(result) {

BIN
src/assets/images/common/home-bg1.png


+ 9 - 7
src/components/AppVue/Header.vue

@@ -9,8 +9,8 @@
         <template v-for="item in $store.state.menuList" :key="item.path">
           <li
             v-if="item.path != '/taskManger' || $getUserType() != 1"
-            :class="{ active: $route.path == item.path }"
-            @click="$router.push(item.path)"
+            :class="{ active: $store.state.activeMenu == item.id }"
+            @click="handleClick(item)"
           >
             <!-- 任务管理仅对非游客可见 -->
             {{ item.label }}
@@ -18,10 +18,6 @@
         </template>
       </ul>
     </div>
-
-    <el-dialog v-model="dialogLoginVisible" width="500">
-      <Login :close="closeLoginDialog" />
-    </el-dialog>
   </div>
 </template>
 
@@ -35,7 +31,13 @@ export default {
     return {};
   },
   mounted() {},
-  methods: {},
+  methods: {
+    handleClick(item) {
+      this.$store.commit('setActiveMenu', item.id);
+      sessionStorage.setItem('activeMenu', item.id);
+      this.$router.push(item.path);
+    }
+  },
 };
 </script>
 

+ 149 - 0
src/components/user/editUser.vue

@@ -0,0 +1,149 @@
+<template>
+    <div style="text-align: center;font-size: 30px;margin-top: 40px;">修改密码</div>
+    <div style="margin: 60px;">
+       <!-- <el-dialog 
+        :class="'editUser'"
+        :visible.sync="userUpdPwdVisible"
+        width="650px"
+        top="7%"
+        title="修改密码"
+        :close-on-click-modal="false"
+        :before-close="dialogBeforeClose"
+        style="overflow: auto; height: 700px"
+       > -->
+            <el-form
+                :model="toUpdUserPwd"
+                :rules="userPwdRules"
+                ref="toUpdPwdForm"
+                :label-width="100"
+            >
+                <el-form-item label="ID:" v-if="false">
+                <el-input v-model="toUpdUserPwd.id" autocomplete="off" disabled />
+                </el-form-item>
+                <el-form-item label="原密码:" prop="oldPwd">
+                <el-input
+                    type="password"
+                    v-model="toUpdUserPwd.oldPwd"
+                    autocomplete="off"
+                    placeholder="请输入原密码"
+                />
+                </el-form-item>
+                <el-form-item label="新密码:" prop="password">
+                <el-input
+                    type="password"
+                    v-model="toUpdUserPwd.password"
+                    autocomplete="off"
+                    placeholder="请输入新密码"
+                />
+                </el-form-item>
+                <el-form-item label="重复密码:" prop="newPwd">
+                <el-input
+                    type="password"
+                    v-model="toUpdUserPwd.newPwd"
+                    autocomplete="off"
+                    placeholder="请再次输入新密码"
+                />
+                </el-form-item>
+            </el-form>
+            <div style="width: 100%;text-align: center;margin: 50px 0;">
+                <el-button type="primary" style="width: 80%;" @click="updUserPwd">确认修改</el-button>
+            </div>
+            <!-- <template #footer>
+                <span class="dialog-footer">
+                <el-button type="primary" @click="updUserPwd">确认修改</el-button>
+                </span>
+            </template> -->
+        <!-- </el-dialog> -->
+    </div>
+</template>
+
+<script>
+
+import common from "@/api/common";
+export default {
+  name: "editUser",
+  data() {
+    var validatePass = (rule, value, callback) => {
+      if (value !== this.toUpdUserPwd.password) {
+        callback(new Error("两次输入密码不一致!"));
+      } else {
+        callback();
+      }
+    };
+    var ZZPass = (rule, value, callback) => {
+      if (!/^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=\S+$).{8,}$/.test(value)) {
+        callback(new Error("密码必须包括英文字母的大写、小写以及数字!"));
+      } else {
+        callback();
+      }
+    };
+    return {
+        modelId: systemConfig.modelIds[1], // 青浦一张图登录模型id
+        columnId: systemConfig.columnIds[3], // 青浦一张图登录栏目id
+        userUpdPwdVisible: false,
+        toUpdUserPwd: {
+            id: this.$store.state.userInfo.id,
+            password: ""
+        },
+        userPwdRules: {
+        oldPwd: [{ required: true, message: "请输入原密码", trigger: "blur" }],
+        password: [
+          { required: true, message: "请输入新密码", trigger: "blur" },
+          { min: 8, max: 30, message: "长度在8个字符以上", trigger: "blur" },
+          { validator: ZZPass, trigger: "blur" }
+        ],
+        newPwd: [
+            { required: true, message: "请再次输入新密码", trigger: "blur" },
+            { min: 8, max: 30, message: "长度在8个字符以上", trigger: "blur" },
+            { validator: ZZPass, trigger: "blur" },
+            { validator: validatePass, trigger: "blur" }
+            ]
+        },
+    };
+  },
+  props: {
+    close: Function,
+    showFlag: {
+        type: Boolean,
+        default: false,
+    },
+  },
+  mounted() {},
+  methods: {
+    updUserPwd() {
+        let that = this;
+        let app = this;
+        app.$refs["toUpdPwdForm"].validate(valid => {
+            if (valid) {
+                let params = {
+                    id: that.toUpdUserPwd.id,
+                    oldPwd: that.toUpdUserPwd.oldPwd,
+                    password: that.toUpdUserPwd.password
+                };
+                common.updatePassword(params).then(res => {
+                    if (res.code == 200) {
+                        that.toUpdUserPwd = {};
+                        that.userUpdPwdVisible = false;
+                        this.close();
+                        this.$message({
+                            type: "success",
+                            message: "修改成功",
+                        });
+                    }else{
+                        that.$message({
+                            type: "error",
+                            message: res.message,
+                        });
+                    }
+                });
+            } else {
+                return false;
+            }
+      });
+    }
+  },
+};
+</script>
+<style lang="less" scoped>
+
+</style>

+ 0 - 7
src/components/login/login.vue → src/components/user/login.vue

@@ -71,13 +71,6 @@ export default {
         let that = this;
         that.$refs[formName].resetFields();
     },
-    handleCommand(command) {
-        let that = this;
-        that.$message({   
-            type: "info",
-            message: `Click on item ${command}`,
-        });
-    },
   },
 };
 </script>

+ 76 - 11
src/components/user/user.vue

@@ -12,46 +12,111 @@
           </span>
           <template #dropdown>
             <el-dropdown-menu>
-              <el-dropdown-item command="login">登录</el-dropdown-item>
-              <el-dropdown-item command="register">注册用户</el-dropdown-item>
-              <el-dropdown-item command="upPassword">修改密码</el-dropdown-item>
-              <el-dropdown-item command="logout">退出</el-dropdown-item>
+              <el-dropdown-item command="login">账号登录</el-dropdown-item>
+              <el-dropdown-item command="register">申请账号</el-dropdown-item>
+              <el-dropdown-item command="upPassword" v-if="$store.state.userInfo.id != touristUserId">修改密码</el-dropdown-item>
+              <el-dropdown-item command="logout" v-if="$store.state.userInfo.id != touristUserId">退出登录</el-dropdown-item>
             </el-dropdown-menu>
           </template>
         </el-dropdown>
     </div>
     <el-dialog v-model="dialogLoginVisible" width="500">
-      <Login :close="closeLoginDialog" />
+      <Login :close="handleLoginClose" />
     </el-dialog>
+
+    <el-dialog v-model="userUpdPwdVisible" width="500">
+        <editUser
+            :close="handleEditUserClose"
+        ></editUser>
+    </el-dialog>
+
+    <editManage
+        v-if="isContentShow"
+        :isShow="isContentShow"
+        :column-model="columnModel"
+        :column="columnData"
+        :item="contentItem"
+        :is-view="isContentView"
+        :close="handleEditClose"
+    ></editManage>
+    
+    
   </div>
 </template>
 
 <script>
-import Login from "@/components/login/login.vue";
+import Login from "@/components/user/login.vue";
+import editManage from "@/components/yygl/editManage.vue";
+import editUser from "@/components/user/editUser.vue";
+import appCenter from "@/api/appCenter";
 import encrypt‌ from "@/utils/encrypt‌";
 export default {
   components: {
     Login,
+    editUser,
+    editManage,
   },
   data() {
     return {
       touristUserId:systemConfig.touristUserId,
       dialogLoginVisible: false,
+      userUpdPwdVisible: false,
+      modelId: systemConfig.modelIds[1], // 青浦一张图登录模型id
+      columnId: systemConfig.columnIds[3], // 青浦一张图登录栏目id
+    
+      // 编辑用户弹窗相关
+      isContentShow: false,
+      isContentView: false,
+      columnModel: {},
+      columnData: {
+        title: "",
+      },
+      contentItem: {},
     };
   },
-  mounted() {},
+  mounted() {
+    this.initData();
+  },
   methods: {
-    closeLoginDialog() {
-      console.log("closeLoginDialog");
+    initData () {
+      this.getModelById();
+    },
+    handleLoginClose() {
       this.dialogLoginVisible = false;
     },
+    handleEditUserClose() {
+      this.userUpdPwdVisible = false;
+    },
+    //关闭编辑弹窗
+    handleEditClose() {
+      this.isContentShow = false;
+      this.isContentView = false;
+      this.contentItem = {};
+    },
+     //根据模型id查询模型详情
+    getModelById(){
+      let that = this;
+      let requestParams = {
+        modelId: that.modelId, // 应用中心模型id
+      };
+      appCenter.getModelById(requestParams).then(res => {
+        if (res.code === 200) {
+          that.columnModel = res.content;
+          that.columnModel.modelId = that.modelId;
+          that.columnModel.columnId = that.columnId;
+          that.columnData = that.columnModel;
+        }
+      })
+    },
+    
     handleCommand(command) {
       if (command == "login") {
         this.dialogLoginVisible = true;
       } else if(command == "register"){
-        
+        // 申请用户
+        this.isContentShow = true;
       } else if(command == "upPassword"){
-        
+        this.userUpdPwdVisible = true;
       } else {
         encrypt‌().then(() => {
           this.$message({

+ 6 - 1
src/components/yygl/editManage.vue

@@ -55,6 +55,7 @@
           <el-input
             v-if="['varchar', 'content', 'text'].indexOf(formItem.frontType) > -1"
             v-model="dataForm[formItem.name]"
+            :type="formItem.name == 'password' ? 'password' : 'text'"
             :placeholder="formItem.describe"
             :disabled="isView"
           />
@@ -1433,7 +1434,11 @@ export default {
               .then((res) => {
                 if (res.code === 200) {
                   that.close(true);
-                  that.$message({ message: "添加成功", type: "success" });
+                  let message = "添加成功";
+                  if(that.column.columnId == systemConfig.columnIds[3] && that.column.modelId == systemConfig.modelIds[1]){ //指定 一张图登录栏目 申请账号时使用判断
+                    message = "申请成功!请等待三个工作日后,管理员审核通过后,您才能登录系统。"
+                  }
+                  that.$message({ message: message, type: "success" });
                 } else {
                   that.$message({ message: res.content, type: "error" });
                 }

+ 5 - 1
src/main.js

@@ -25,7 +25,11 @@ initApp.config.globalProperties.$moment = moment;
 
 // 添加自定义方法,传入DMS字典名称,返回对应字典数据
 initApp.config.globalProperties.$getDmsTypes = (cName, index) => {
-    return store.state.DmsTypesMap[cName] ? store.state.DmsTypesMap[cName][index + ''] : cName + "_" + index;
+    if(index){// 有索引时,返回对应字典值
+        return store.state.DmsTypesMap[cName] ? store.state.DmsTypesMap[cName][index + ''] : cName + "_" + index;
+    }else{// 无索引时,返回所有字典值
+        return store.state.DmsTypesMap[cName];
+    }
 };
 // 添加自定义方法,得到用户类型【1:游客;2:普通用户;3:管理员】
 const getUserType = () => {

+ 10 - 1
src/router/index.js

@@ -61,7 +61,16 @@ const routes = [
         path: 'yygl',
         component: function () {
           return import('../views/yygl/index.vue')
-        }
+        },
+        children: [ // 子路由配置开始
+          {
+            path: 'appCenter',
+            component: function () {
+              return import('../views/yygl/appCenter.vue')
+            }
+          }
+        ]
+
       },
       //应用中心
       {

+ 16 - 9
src/store/index.js

@@ -8,18 +8,19 @@ export default createStore({
     userState: false,
     userInfo: null,
     // DMS字典,系统app.vue初始化一次之后,后续直接全局$getDmsTypes可调用,传入字典cName和index,返回对应字典数据
-    DMSTypes: ["appstatus", "yzt_task_type"],
+    DMSTypes: ["appstatus", "yzt_task_type", "applevel"],
     // appstatus: 应用状态;yzt_task_type: 任务类型
     DmsTypesMap: localStorage.getItem("DmsTypesMap") ? JSON.parse(localStorage.getItem("DmsTypesMap")) : {},
+    activeMenu: sessionStorage.getItem('activeMenu') ? parseInt(sessionStorage.getItem('activeMenu')) : 1, // 初始化为1或具体的菜单项ID
     menuList: [
-      { path: "/", label: "首页" },
-      { path: "/sksjgl", label: "时空数据管理" },
-      // { path: "/skmh/scene", label: "二维GIS引擎"},
-      { path: "/skmh", label: "时空门户" },
-      { path: "/wgn", label: "微功能" },
-      { path: "/yygl", label: "应用管理" },
-      { path: "/yxgl", label: "运行管理" },
-      { path: "/taskManger", label: "任务管理" }
+      { id: 1, path: "/", label: "首页" },
+      { id: 2, path: "/sksjgl", label: "时空数据管理" },
+      // { id:3,path: "/skmh/scene", label: "二维GIS引擎"},
+      { id: 4, path: "/skmh", label: "时空门户" },
+      { id: 5, path: "/wgn", label: "微功能" },
+      { id: 6, path: "/yygl", label: "应用管理" },
+      { id: 7, path: "/yxgl", label: "运行管理" },
+      { id: 8, path: "/taskManger", label: "任务管理" }
     ],
     sksjgl: {},
     skmh: {},
@@ -37,6 +38,9 @@ export default createStore({
     getUserInfo: function (state) {
       return JSON.parse(localStorage.getItem("userInfo"))
     },
+    getActiveMenu: function (state) {
+      return state.activeMenu
+    },
   },
   mutations: {
     setDmsTypesMap(state, obj) {
@@ -55,6 +59,9 @@ export default createStore({
       state.userInfo = obj;
       localStorage.setItem("userInfo", JSON.stringify(obj))
     },
+    setActiveMenu(state, id) {
+      state.activeMenu = id;
+    },
   },
   actions: {
   },

+ 3 - 0
src/utils/encrypt‌.js

@@ -25,6 +25,7 @@ export default function encrypt(loginObj) {
     return new Promise((resolve, reject) => {
         if (loginObj == undefined) {
             login(systemConfig.defaultAccount.username, AesEncryptUtil.getPassword()).then(function (result) {
+                sessionStorage.setItem("sessionUserInfo","");
                 resolve("登录成功");
             }).catch(function (err) {
                 reject(err);
@@ -37,6 +38,8 @@ export default function encrypt(loginObj) {
                 reject("密码为空")
             }
             return login(loginObj.username, AesEncryptUtil.getPassword(loginObj.password)).then(function (result) {
+                let userInfo = {"username": loginObj.username, "password": loginObj.password};
+                sessionStorage.setItem("sessionUserInfo", JSON.stringify(userInfo));
                 resolve("登录成功");
             }).catch(function (err) {
                 reject(err);

+ 78 - 53
src/views/HomePage.vue

@@ -1,32 +1,34 @@
 <template>
   <div class="home container">
     <div class="part1">
-      <div class="super-title " style="margin-top:240px ;">青浦区“一张图”区级节点</div>
-      <div class="title-sub ">以二三维一体化引擎为核心,构建政务时空数据治理与应用服务生态,赋能城市精细化治理</div>
-      <div class="part1-1">
-        <div class="part1-1-1">
-          <div class="number-container">
-            <span class="text">调用总数</span>
-            <span v-for="(num, index) in totalCall" :key="index">
-              <span v-if="num.indexOf(',') > -1">
-                <span class="separator">,</span>
-              </span>
-              <span v-else>
-                <span class="number-item">{{ num }}</span>
+      <div>
+        <div class="super-title">青浦区“一张图”区级节点</div>
+        <div class="title-sub ">以二三维一体化引擎为核心,构建政务时空数据治理与应用服务生态,赋能城市精细化治理</div>
+        <div class="part1-1">
+          <div class="part1-1-1">
+            <div class="number-container">
+              <span class="text">调用总数</span>
+              <span v-for="(num, index) in totalCall" :key="index">
+                <span v-if="num.indexOf(',') > -1">
+                  <span class="separator">,</span>
+                </span>
+                <span v-else>
+                  <span class="number-item">{{ num }}</span>
+                </span>
               </span>
-            </span>
-            <span class="text">次</span>
+              <span class="text">次</span>
+            </div>
           </div>
-        </div>
-        <div class="part1-1-2">
-          <div class="call-count-container">
-            <div class="line"></div>
-            <div>
-              <span class="text1">昨日调用量</span>
-              <span class="count">{{ lastDayCall }}</span>
-              <span class="text2">次</span>
+          <div class="part1-1-2">
+            <div class="call-count-container">
+              <div class="line"></div>
+              <div>
+                <span class="text1">昨日调用量</span>
+                <span class="count">{{ lastDayCall }}</span>
+                <span class="text2">次</span>
+              </div>
+              <div class="line"></div>
             </div>
-            <div class="line"></div>
           </div>
         </div>
       </div>
@@ -97,7 +99,7 @@
                   <Back />
                 </el-icon>
               </el-button>
-              <el-date-picker v-model="chartMluTimeRange" type="daterange" range-separator="到" start-placeholder="开始日期"
+              <el-date-picker v-model="chartMluTimeRange" :clearable="false" type="daterange" range-separator="到" start-placeholder="开始日期"
                 end-placeholder="结束日期" @change="chartMluFocus()" />
             </span>
           </div>
@@ -213,15 +215,17 @@
           :style="`background-image: url(${useCaseItem.picture})`">
           <div class="use-case-empty"></div>
           <div class="use-case-text">
-            <el-tag v-for="item in useCaseItem.tags" :key="item" color="#e2e4f4" size="lager" effect="dark" round>
+            <el-tag v-for="item in useCaseItem.tags" style="margin-right: 5px;" :key="item" color="#e2e4f4" size="lager" effect="dark" round>
               <span class="blue">
                 {{ item }}
               </span>
             </el-tag>
             <span class="third-title">
-              {{ useCaseItem.title }}
+              <span style="padding: 10px 0px;">
+                {{ useCaseItem.title }}
+              </span>
             </span>
-            <p class="font grey">
+            <p class="font grey" style="padding-top: 0px !important;">
               {{ useCaseItem.text }}
             </p>
           </div>
@@ -339,9 +343,9 @@
     <div class="darkblue-background image-background col"
       :style="`background-Image:url('${require('@/assets/images/common/home-bg4.png')}');`">
       <div class="row" style="margin-top: auto;">
-        <ElButton type="primary">
+        <!-- <ElButton type="primary">
           了解更多
-        </ElButton>
+        </ElButton> -->
       </div>
     </div>
 
@@ -442,7 +446,7 @@
       </div>
     </div>
   </div>
-  <div class="darkblue-background col" style="height: 1400px;">
+  <div class="darkblue-background col" style="height: auto;">
     <div class="super-title grey">
       <div>全链路运行监督</div>
       <div>据驱动优化决策</div>
@@ -626,6 +630,11 @@ export default {
         tooltip: {
           trigger: "axis", // 坐标轴触发提示
           axisPointer: { type: "shadow" },
+          backgroundColor: "rgba(0, 25, 50, 0.8)",
+          borderColor: "#1E90FF",
+          textStyle: {
+            color: "#fff",
+          },
         },
         xAxis: {
           type: "category",
@@ -640,7 +649,7 @@ export default {
           splitLine: {
             lineStyle: {
               type: "dashed", // 虚线网格
-              color: "#fff",
+              color: "#113761",
             },
           },
         },
@@ -667,11 +676,11 @@ export default {
           trigger: 'axis',
           show: true,
           formatter: '{b}: {c}',
-          backgroundColor: 'rgba(50, 50, 50, 0.7)',
-          borderColor: '#333',
+          backgroundColor: "rgba(0, 25, 50, 0.8)",
+          borderColor: "#1E90FF",
           textStyle: {
-            color: '#fff'
-          }
+            color: "#fff",
+          },
         },
         title: {
           text: '所有委办',
@@ -695,7 +704,8 @@ export default {
         xAxis: [
           {
             type: 'value',
-            axisLine: { lineStyle: { color: "#fff" } }
+            // axisLine: { lineStyle: { color: "#fff" } },
+            splitLine: { show: false }, // 隐藏分割线
           }
         ],
         yAxis: [
@@ -991,6 +1001,7 @@ export default {
 
 .middle {
   text-align: center;
+  margin-top: 20px;
 }
 
 .darkblue-background,
@@ -1036,15 +1047,15 @@ export default {
 
 .lighter-container {
   background-color: #eeeeee0b;
-  padding: 10px;
+  padding: 20px;
   margin: 15px;
   vertical-align: middle;
-  border-radius: 3%;
+  border-radius: 10px;
 }
 
 .lightblue-container {
-  border-radius: 3%;
-  padding: 10px;
+  border-radius: 10px;
+  padding: 20px;
   margin: 15px;
   background: linear-gradient(to bottom,
       #215476 0%,
@@ -1155,10 +1166,12 @@ export default {
 
 .third-title {
   font-size: 18px;
-  margin-top: 10px;
-  padding-left: 10px;
+  align-items: center;
   display: flex;
   font-weight: bold;
+  i{
+    margin-right: 5px;
+  }
 }
 
 .top-list {
@@ -1200,19 +1213,19 @@ export default {
 
   .use-case-empty {
     width: 100%;
-    height: 40%;
+    height: 50%;
   }
 
   .use-case-text {
     padding: 15px;
     width: 100%;
-    height: 60%;
+    height: 50%;
     border-radius: 10px;
     box-sizing: border-box;
     background: linear-gradient(to bottom,
         #377f7f 0%,
         #377f7f 80%,
-        #347cac 100%);
+        #205161 100%);
 
     .third-title {
       padding: 0;
@@ -1222,7 +1235,7 @@ export default {
 
 .six-router {
   width: 30%;
-  height: 300px;
+  // height: 300px;
   font-size: 28px;
 
   .third-title {
@@ -1231,8 +1244,10 @@ export default {
 }
 
 .circle-number {
-  display: block;
-  background-color: #eeeeee1d;
+  // display: block;
+  margin-right: 10px;
+  background-color: #eeeeee00;
+  border: 1px solid #2272d4;  
 }
 
 .block-page-router {
@@ -1256,10 +1271,12 @@ export default {
 
 .grey {
   color: rgb(192, 192, 192);
+  padding: 20px 0px;
 }
 
 .lightgrey {
   color: rgb(229, 229, 229);
+  padding: 20px 0px
 }
 
 #echart1 {
@@ -1273,7 +1290,7 @@ export default {
 }
 
 .container {
-  width: 1920px;
+  width: 100%;
   margin: 0 auto;
 }
 
@@ -1281,13 +1298,18 @@ export default {
   position: relative;
 
   .part1 {
-    height: 810px;
-    background: url(~@/assets/images/common/home-bg1.png) no-repeat center;
+    width: 100%;
+    height: calc(100vh - 120px);
+    background: url(~@/assets/images/common/home-bg1.png);
+    background-size: 100% auto;
     position: relative;
     overflow: hidden;
+    display: grid;
+    justify-content: center;
+    align-items: center;
 
     .part1-1 {
-      width: 1000px;
+      width: 100%;
       height: 200px;
       //background: #09284c;
       margin: 0 auto;
@@ -1309,7 +1331,10 @@ export default {
         .number-item {
           width: 57px;
           height: 70px;
-          background-color: #007bff;
+          background-color: rgb(10 71 137 / 70%);
+          border: 1px solid #2663a5;
+          box-shadow: 0 4px 20px #2663a5;
+          border-radius: 10px;
           color: white;
           display: flex;
           justify-content: center;

+ 2 - 2
src/views/Sksjgl.vue

@@ -2,7 +2,7 @@
   <div class="sksjgl container">
     <div class="server_title">
       <el-image
-        style="width: 824px; height: 786px"
+        style="width: 50%; height: calc(100vh - 120px)"
         src="static/images/sksjgl/sksjgl_title.png"
         fit="cover"
       />
@@ -200,7 +200,7 @@ export default {
 
     .server_title_text {
       width: calc(100vw - 824px);
-      height: 786px;
+      height: calc(100vh - 120px);
       background-color: #1c2631;
       color: #fff;
       padding: 0 160px 0 60px;

+ 3 - 3
src/views/Wgn.vue

@@ -224,8 +224,8 @@ export default {
       },
       // 申请使用微功能服务的表单数据
       column: {
-        columnId: 1665,
-        modelId: 1677,
+        columnId: systemConfig.columnIds[4],
+        modelId: systemConfig.modelIds[2],
         from: {
           // 备注:申请使用微功能服务的详细信息,非必填
           content: "",
@@ -260,7 +260,7 @@ export default {
       }
       this.searchTimeout = setTimeout(() => {
         let requestParams = {
-          columnId: 1651,
+          columnId: systemConfig.columnIds[5],
           states: 0,
           pageSize: 999,
           page: 0,

+ 104 - 14
src/views/rwgl/Index.vue

@@ -1,7 +1,7 @@
 <template>
   <div class="blue-background">
     <div class="lighter-container">
-      <span>
+      <div class="left-row">
         <div>
           <div>状态:</div>
           <el-tag
@@ -23,7 +23,28 @@
             </el-tag>
           </template>
         </div>
-      </span>
+        <div>
+          <div>类别:</div>
+          <el-tag
+            size="large"
+            :effect="focusTaskType.includes('all') ? 'dark' : ''"
+            type="primary"
+            @click="changeTaskType()"
+          >
+            全部
+          </el-tag>
+          <template v-for="type in taskType" :key="type.index">
+            <el-tag
+              size="large"
+              :effect="focusTaskType.includes(type.index) ? 'dark' : ''"
+              type="primary"
+              @click="changeTaskType(type)"
+            >
+              {{ type.name }}
+            </el-tag>
+          </template>
+        </div>
+      </div>
       <div class="row">
         <el-input
           class="searcher"
@@ -39,10 +60,21 @@
       <el-table table-layout="fixed" row-key="main_id" :data="taskData" class="table">
         <el-table-column prop="main_c_name" label="名称" />
         <el-table-column prop="main_c_user_name" label="用户" />
+        <el-table-column prop="main_c_state" label="类型">
+          <template #default="scope">
+            <el-tag
+              effect="dark"
+              v-show="getType(scope.row.main_c_type) != null"
+              disable-transitions
+              >{{ getType(scope.row.main_c_type)?.name ?? "" }}
+            </el-tag>
+          </template>
+        </el-table-column>
         <el-table-column prop="main_c_state" label="状态">
           <template #default="scope">
             <el-tag
               effect="dark"
+              v-show="getStatus(scope.row.main_c_state) != null"
               :type="statusStaticInfo[scope.row.main_c_state]?.tagType ?? ''"
               disable-transitions
               >{{ getStatus(scope.row.main_c_state)?.name ?? "" }}</el-tag
@@ -123,6 +155,14 @@
         <el-descriptions-item label="任务描述">
           {{ focusTask.main_c_comment }}
         </el-descriptions-item>
+        <el-descriptions-item label="任务类型">
+          <el-tag
+            effect="dark"
+            v-show="getType(focusTask.main_c_type) != null"
+            disable-transitions
+            >{{ getType(focusTask.main_c_type)?.name ?? "" }}
+          </el-tag>
+        </el-descriptions-item>
         <el-descriptions-item label="用户名">
           {{ focusTask.main_c_user_name }}
         </el-descriptions-item>
@@ -187,7 +227,7 @@
 </template>
 
 <script>
-import { getTasks, getTaskStatus } from "@/api/rwgl";
+import { getTasks, getCName } from "@/api/rwgl";
 
 export default {
   data() {
@@ -195,8 +235,6 @@ export default {
       searcher: "",
       taskStatus: [],
       focusTaskStatus: ["all"],
-      taskData: [],
-      taskNum: 0,
       statusStaticInfo: {
         0: {
           tagType: "primary",
@@ -211,6 +249,10 @@ export default {
           tagType: "danger",
         },
       },
+      taskType: [],
+      focusTaskType: ["all"],
+      taskData: [],
+      taskNum: 0,
       focusTask: {},
       dialog: false,
       page: 1,
@@ -218,11 +260,12 @@ export default {
   },
   mounted() {
     this.pullTaskStatus();
+    this.pullTaskType();
     this.pullTaskData(1);
   },
   methods: {
     async pullTaskStatus() {
-      this.taskStatus = (await getTaskStatus()).sort((a, b) => a.index - b.index);
+      this.taskStatus = (await getCName("task_status")).sort((a, b) => a.index - b.index);
     },
     changeTaskStatus(status) {
       if (status == null) {
@@ -244,17 +287,11 @@ export default {
     },
     getCheckedStatus() {
       if (this.focusTaskStatus.includes("all")) {
-        return this.taskStatus.map((t) => t.index);
+        return null;
       } else {
         return this.focusTaskStatus;
       }
     },
-    async pullTaskData(page) {
-      if (page != null) this.page = page;
-      let res = await getTasks(this.page, 10, this.searcher, this.getCheckedStatus());
-      this.taskNum = res.count;
-      this.taskData = res.data;
-    },
     getStatus(index) {
       for (let i = 0; i < this.taskStatus.length; i++) {
         const e = this.taskStatus[i];
@@ -263,6 +300,51 @@ export default {
         }
       }
     },
+    async pullTaskType() {
+      this.taskType = (await getCName("yzt_task_type")).sort((a, b) => a.index - b.index);
+    },
+    changeTaskType(types) {
+      if (types == null) {
+        this.focusTaskType = ["all"];
+      } else {
+        let set = new Set(this.focusTaskType);
+        set.delete("all");
+        let index = types.index;
+        if (this.focusTaskType.includes(index)) {
+          set.delete(index);
+        } else {
+          set.add(index);
+        }
+        this.focusTaskType = Array.from(set);
+      }
+    },
+    getCheckedType() {
+      if (this.focusTaskType.includes("all")) {
+        return null;
+      } else {
+        return this.focusTaskType;
+      }
+    },
+    getType(index) {
+      for (let i = 0; i < this.taskType.length; i++) {
+        const e = this.taskType[i];
+        if (e.index == index) {
+          return e;
+        }
+      }
+    },
+    async pullTaskData(page) {
+      if (page != null) this.page = page;
+      let res = await getTasks(
+        this.page,
+        10,
+        this.searcher,
+        this.getCheckedStatus(),
+        this.getCheckedType()
+      );
+      this.taskNum = res.count;
+      this.taskData = res.data;
+    },
     timeFormatter(time) {
       if (time == null) return;
 
@@ -423,7 +505,8 @@ body {
 
 .row,
 .warp-row,
-.between-row {
+.between-row,
+.left-row {
   display: flex !important;
   justify-content: space-around;
   padding: 0;
@@ -438,6 +521,13 @@ body {
   justify-content: space-between;
 }
 
+.left-row {
+  justify-content: flex-start;
+}
+.left-row > * {
+  margin-right: 15px;
+}
+
 .col {
   display: flex !important;
   justify-content: space-around;

+ 7 - 7
src/views/skmh/index.vue

@@ -84,8 +84,9 @@
               <el-date-picker
                 class="el-date-picker"
                 v-model="fromTime.date"
+                :clearable="false"
                 type="daterange"
-                range-separator="-"
+                range-separator=""
                 start-placeholder="开始日期"
                 end-placeholder="结束日期"
                 format="YYYY-MM-DD"
@@ -131,9 +132,8 @@
       <div class="chart-card full-width">
         <div class="chart-title">用户分布</div>
         <!-- <div ref="comparisonChart" class="chart-container"></div> -->
-        <el-table :data="tableData" style="width: 100%"
-          height="calc(100% - 40px);
-          background-color: rgba(255, 255, 255, 0.1);"
+        <el-table :data="tableData" style="width: 100%;"
+          height="530"
           :header-cell-style="headerCellStyle"
           :row-style="rowStyle"
           :cell-style="cellStyle"
@@ -198,7 +198,7 @@
       <el-dialog
         v-model="centerDialogVisible"
         title="预览"
-        width="800"
+        width="60%"
         center
         :before-close="closeDialog"
       >
@@ -307,7 +307,7 @@ export default {
     },
     getDmsDataList() {
       let requestParams = {
-        columnId: 1666,
+        columnId: systemConfig.columnIds[2], // 应用中心栏目id(示范应用)
         states: 0,
         orderBy: JSON.stringify([{"field":"update_time","orderByType":2}]),
         pageSize: 9999,
@@ -912,7 +912,7 @@ export default {
 }
 .server_title_text {
   width: calc(100vw - 824px);
-  height: 786px;
+  height: calc(100vh - 120px);
   background-color: #1c2631;
   color: #fff;
   padding: 0 160px 0 60px;

+ 1 - 0
src/views/wgn/sksj/index.vue

@@ -448,6 +448,7 @@ export default {
 
 .container {
     width: 100%;
+    height: calc(100vh - 120px);
     padding: 0px;
     margin: 0 auto;
     overflow: hidden;

+ 3 - 1
src/views/yxgl/StatisticalAnalysis.vue

@@ -19,6 +19,7 @@
         <el-date-picker
           v-model="nowTimes"
           type="daterange"
+          :clearable="false"
           unlink-panels
           range-separator="到"
           start-placeholder="开始时间"
@@ -564,7 +565,7 @@ export default {
       // 应用状态分布,cloumnId:1659
       appCenter
         .getDmsDataList({
-          columnId: 1659,
+          columnId: systemConfig.columnIds[1],
           pageSize: 1000,
           page: 0,
         })
@@ -583,6 +584,7 @@ export default {
             });
             // 转换为数组
             for (let key in statusMap) {
+              console.log(key, statusMap[key]);
               if (statusMap[key] && key) {
                 tableDatas.push({
                   name: this.$getDmsTypes("appstatus", key),

+ 2 - 2
src/views/yygl/index.vue

@@ -84,7 +84,7 @@ export default {
     },
     initData() {
       let requestParams = {
-        columnId: 1657,
+        columnId: systemConfig.columnIds[0], // 应用中心栏目id(示范应用)
         states: 0,
         pageSize: 999,
         page: 0
@@ -118,7 +118,7 @@ export default {
 /* 顶部横幅样式 */
 .banner {
   width: 100%;
-  height: 786px;
+  height: calc(100vh - 120px);
   background: url(~@/assets/images/common/u720.png) no-repeat center center;
   background-size: cover;
   display: flex;

+ 60 - 31
src/views/yygl/manage/index.vue

@@ -184,8 +184,8 @@ export default {
       statusOptions: [],
       // 排序条件  1 升序 2 降序
       sortByValue: '1',
-      modelId: 1667, // 应用中心模型id
-      columnId: 1659, // 应用中心栏目id
+      modelId: systemConfig.modelIds[0], // 应用中心模型id
+      columnId: systemConfig.columnIds[1], // 应用中心栏目id
 
       isContentShow: false,
       isContentView: false,
@@ -221,6 +221,7 @@ export default {
     },
     // 新增应用
     handleAddClick() {
+      console.log(this.columnModel);
       this.isContentShow = true;
     },
     // 处理分页变化
@@ -238,15 +239,16 @@ export default {
     },
     //根据模型id查询模型详情
     getModelById(){
+      let that = this;
       let requestParams = {
-        modelId: this.modelId, // 应用中心模型id
+        modelId: that.modelId, // 应用中心模型id
       };
       appCenter.getModelById(requestParams).then(res => {
         if (res.code === 200) {
-          this.columnModel = res.content;
-          this.columnModel.modelId = this.modelId;
-          this.columnModel.columnId = this.columnId;
-          this.columnData = this.columnModel;
+          that.columnModel = res.content;
+          that.columnModel.modelId = that.modelId;
+          that.columnModel.columnId = that.columnId;
+          that.columnData = that.columnModel;
         }
       })
     },
@@ -261,7 +263,7 @@ export default {
       appCenter.getContentById(requestParams).then((data) => {
           if (data.code === 200) {
             that.contentItem = data.content;
-            that.contentItem.phone = this.formatPhoneNumber(that.contentItem.phone);
+            that.contentItem.phone = that.formatPhoneNumber(that.contentItem.phone);
             that.isContentShow = true;
             that.isContentView = false;
           }
@@ -315,30 +317,57 @@ export default {
       })
     },
     getDmsCNameAType(param) {
-      let requestParams = {
-        cName: param,
-        type: 0
-      };
-      
-      appCenter.getDmsCNameAType(requestParams).then(res => {
-        if (res.code === 200) {
-            let option = res.content.map(item => ({
-              label: item.index,
-              value: item.name
-            }));
-            let allOption = {
-              label: 'all',
-              value: '全部'
-            }
-            if(param === 'applevel'){
-              this.buffOptions = option;
-              this.buffOptions.unshift(allOption);
-            }else{
-              this.statusOptions = option;
-              this.statusOptions.unshift(allOption);
-            }
+      let allOption = {
+        label: 'all',
+        value: '全部'
+      }
+      if (param === "applevel") {
+          this.buffOptions = [];
+          this.buffOptions.push(allOption);
+          let obj = this.$getDmsTypes("applevel");
+          for(let key in obj){
+            this.buffOptions.push({
+              label:  key,
+              value: obj[key]
+            })
+          }
+        } else if (param === "appstatus") {
+          this.statusOptions = [];
+          this.statusOptions.push(allOption);
+          let obj = this.$getDmsTypes("appstatus");
+          for(let key in obj){
+            this.statusOptions.push({
+              label:  key,
+              value: obj[key]
+            })
+          }
         }
-      })
+
+
+      // let requestParams = {
+      //   cName: param,
+      //   type: 0
+      // };
+      
+      // appCenter.getDmsCNameAType(requestParams).then(res => {
+      //   if (res.code === 200) {
+      //       let option = res.content.map(item => ({
+      //         label: item.index,
+      //         value: item.name
+      //       }));
+      //       let allOption = {
+      //         label: 'all',
+      //         value: '全部'
+      //       }
+      //       if(param === 'applevel'){
+      //         this.buffOptions = option;
+      //         this.buffOptions.unshift(allOption);
+      //       }else{
+      //         this.statusOptions = option;
+      //         this.statusOptions.unshift(allOption);
+      //       }
+      //   }
+      // })
     },
     getDmsDataList() {
       let requestParams = {

+ 44 - 33
src/views/yygl/monitor/index.vue

@@ -84,7 +84,7 @@
                 @change="handleDateChange"
                 :shortcuts="shortcuts"
                 format="YYYY-MM-DD"
-                range-separator="-"
+                range-separator=""
                 start-placeholder="开始时间"
                 end-placeholder="结束时间"
               />
@@ -165,7 +165,6 @@ export default {
       newApplications: [],
       statusOptions: [],
       buffOptions: [],
-      tagOptions: [],
       typeArrs: [],
       selectAapplications: [],
       selectedAppRange: '',
@@ -243,7 +242,6 @@ export default {
     initData() {
       this.getDmsCNameAType("applevel");
       this.getDmsCNameAType("appstatus");
-      this.getDmsCNameAType("tag");
       this.getDmsDataList();
       let param = {
         num: 6,
@@ -259,12 +257,14 @@ export default {
       topApp(param.num,param.start,param.end).then((res) => {
         let maxv = 100;
         res.forEach((item,index) => {
-          if(index === 0){
-            maxv = item.count;
+          if(index < 5){
+            if(index === 0){
+              maxv = item.count;
+            }
+            item.percentage = (item.count/maxv*100).toFixed(1);
+            let str = { name: item.name.trim() == '' ? '其他' : item.name, count: item.count, percentage: item.percentage }
+            that.hotApps.push(str);
           }
-          item.percentage = (item.count/maxv*100).toFixed(1);
-          let str = { name: item.name.trim() == '' ? '其他' : item.name, count: item.count, percentage: item.percentage }
-          that.hotApps.push(str);
         });
         //  console.log(that.hotApps);
       });
@@ -384,29 +384,46 @@ export default {
       return this.typeArrs.slice(0, 4); // 获取前四个元素
     },
     getDmsCNameAType(param) {
-      let requestParams = {
-        cName: param,
-        type: 0,
-      };
-      appCenter.getDmsCNameAType(requestParams).then((res) => {
-        if (res.code === 200 && res.content) {
-          let option = res.content.map((item) => ({
-            label: item.index,
-            value: item.name,
-          }));
-          if (param === "applevel") {
-            this.buffOptions = option;
-          } else if (param === "appstatus") {
-            this.statusOptions = option;
-          } else if (param === "tag") {
-            this.tagOptions = option;
+      if (param === "applevel") {
+          this.buffOptions = [];
+          let obj = this.$getDmsTypes("applevel");
+          for(let key in obj){
+            this.buffOptions.push({
+              label:  key,
+              value: obj[key]
+            })
+          }
+        } else if (param === "appstatus") {
+          this.statusOptions = [];
+          let obj = this.$getDmsTypes("appstatus");
+          for(let key in obj){
+            this.statusOptions.push({
+              label:  key,
+              value: obj[key]
+            })
           }
         }
-      });
+      // let requestParams = {
+      //   cName: param,
+      //   type: 0,
+      // };
+      // appCenter.getDmsCNameAType(requestParams).then((res) => {
+      //   if (res.code === 200 && res.content) {
+      //     let option = res.content.map((item) => ({
+      //       label: item.index,
+      //       value: item.name,
+      //     }));
+      //     if (param === "applevel") {
+      //       this.buffOptions = option;
+      //     } else if (param === "appstatus") {
+      //       this.statusOptions = option;
+      //     }
+      //   }
+      // });
     },
     getDmsDataList() {
       let requestParams = {
-        columnId: 1659,
+        columnId: systemConfig.columnIds[1], // 应用中心栏目id
         states: 0,
         orderBy: JSON.stringify([{ field: "create_time", orderByType: 2 }]),
         pageSize: 9999,
@@ -430,12 +447,6 @@ export default {
             appstautName:
               this.statusOptions.find((info) => info.label == item.appstauts.trim())
                 ?.value || "",
-            tags: item.apptags
-              .split(",")
-              .map(
-                (tag) =>
-                  this.tagOptions.find((info) => info.label == tag.trim())?.value || ""
-              ),
             createTime: moment(item.create_time).format("YYYY-MM-DD HH:mm:ss"),
           }));
           this.applications = this.itemApplications;
@@ -771,7 +782,7 @@ export default {
 .stat-count {
   font-size: 12px;
   color: rgba(255, 255, 255, 0.6);
-  min-width: 50px;
+  min-width: 100px;
   text-align: right;
 }
 

+ 36 - 41
src/views/yygl/overview/index.vue

@@ -106,12 +106,12 @@ export default {
     handleVisit() {
       // http://localhost:2027/fileView?url=/proxy_dms/static/1_青浦大数据中心一张图功能表20240531.xlsx
       // http://localhost:2027/fileView?url=/proxy_dms/static/test.geojson
-      window.open(
-        "fileView?url=" +
-          this.curUrl +
-          "/static/1_青浦大数据中心一张图功能表20240531.xlsx",
-        "_blank"
-      );
+      // window.open(
+      //   "fileView?url=" +
+      //     this.curUrl +
+      //     "/static/1_青浦大数据中心一张图功能表20240531.xlsx",
+      //   "_blank"
+      // );
     },
     getDmsTagSName() {
       let requestParams = {
@@ -132,45 +132,40 @@ export default {
       });
     },
     getDmsCNameAType() {
-      let requestParams = {
-        cName: "applevel",
-        type: 0,
-      };
-
-      appCenter.getDmsCNameAType(requestParams).then((res) => {
-        if (res.code === 200) {
-            this.buffOptions = res.content.map(item => ({
-              label: item.index,
-              value: item.name
-            }));
-            let allOption = {
-              label: 'all',
-              value: '全部'
-            }
-            this.buffOptions.unshift(allOption);
-            
+      let allOption = {
+          label: 'all',
+          value: '全部'
         }
-      });
-    },
-    getDmsDataList() {
+      this.buffOptions.unshift(allOption);
+      let obj = this.$getDmsTypes("applevel");
+      for(let key in obj){
+        this.buffOptions.push({
+          label:  key,
+          value: obj[key]
+        })
+      }
       // let requestParams = {
-      //   columnId: 1658,
-      //   states: 0,
-      //   pageSize: 999,
-      //   page: 0
+      //   cName: "applevel",
+      //   type: 0,
       // };
-      // if (this.searchKeyword) {
-      //   requestParams.search = JSON.stringify([
-      //     {
-      //       field: "title",
-      //       searchType: 2,
-      //       content: { value: "%" + this.searchKeyword + "%" },
-      //     },
-      //   ]);
-      // }
-
+      // appCenter.getDmsCNameAType(requestParams).then((res) => {
+      //   if (res.code === 200) {
+      //       this.buffOptions = res.content.map(item => ({
+      //         label: item.index,
+      //         value: item.name
+      //       }));
+      //       let allOption = {
+      //         label: 'all',
+      //         value: '全部'
+      //       }
+      //       this.buffOptions.unshift(allOption);
+            
+      //   }
+      // });
+    },
+    getDmsDataList() {
        let requestParams = {
-        columnId: 1659,
+        columnId: systemConfig.columnIds[1], // 应用中心栏目id
         states: 0,
         orderBy: JSON.stringify([{"field":"frame_time","orderByType":2}]),
         pageSize: 9999,