zhaoke 1 vuosi sitten
vanhempi
commit
c5d535bddc

+ 18 - 5
src/components/AdvancedQuery/index.vue

@@ -131,6 +131,10 @@ export default {
     adList: {
       type: Boolean,
       default: true
+    },
+    adDep: {
+      type: Number,
+      default: 1
     }
   },
   data () {
@@ -207,15 +211,24 @@ export default {
         }
       },
     },
+    adDep: {
+      handler () {
+        this.queryHandler()
+      },
+      deep: true
+    }
   },
   mounted () {
     this.queryHandler()
   },
   methods: {
     queryHandler () {
+      this.columnSet = {}
+      this.paramsTableCols[0].options = []
       const colDatas = this.authMsg
       if (colDatas?.length) {
-        const columns = colDatas.filter(item => item.isfiltercolumn)
+        // const columns = colDatas.filter(item => item.isfiltercolumn)
+        const columns = colDatas.filter(item => item.pagetype != 'button' && item.isdisplay != 0)
         const datas = _.orderBy(columns, ['displaynumber'], ['asc', 'desc'])
         this.getColumnSet(datas)
       }
@@ -357,12 +370,12 @@ export default {
     getColumnSet (columnSet) {
       const reflect = {}
       columnSet.forEach(async item => {
-        if (!this.columnSet[item.columncode]) {
-          this.columnSet[item.columncode] = item
+        if (!this.columnSet[item.pagecode]) {
+          this.columnSet[item.pagecode] = item
 
           this.paramsTableCols[0].options.push({
-            label: item.columnname,
-            value: item.columncode,
+            label: item.pagename,
+            value: item.pagecode,
           })
         }
       })

+ 15 - 1
src/components/publicPageForm/index.vue

@@ -16,6 +16,9 @@
             <template v-else-if="fromDataType(item.datatype) == 'TEXTAREA'">
               <el-input type="textarea" v-model="tableForm[item.pagecode]"></el-input>
             </template>
+            <template v-else-if="fromDataType(item.datatype) == 'PASSWORD'">
+              <el-input show-password v-model="tableForm[item.pagecode]"></el-input>
+            </template>
             <template v-else-if="fromDataType(item.datatype) == 'UPLOAD'">
               <upload ref="upload" />
             </template>
@@ -63,6 +66,7 @@
 <script>
 import { Query } from "@/api/webApi"
 import Upload from './upload.vue'
+import JSEncrypt from "jsencrypt"
 export default {
   name: 'PublicPageForm',
   components: { Upload },
@@ -154,7 +158,7 @@ export default {
       if (!formItem.length || !Array.isArray(formItem)) return
       const formItemCopy = _.cloneDeep(formItem)
       const [allResult, allResultKey] = [[], []]
-      formItemCopy.map(({ dropdownlist, pagecode ,defaultparameters }) => {
+      formItemCopy.map(({ dropdownlist, pagecode, defaultparameters }) => {
         if (((dropdownlist || dropdownlist == 0) && dropdownlist != "")) {
           const datacontent = defaultparameters ? this.formatDefault(defaultparameters) : { filter: { 1: 1 } }
           allResultKey.push(pagecode)
@@ -199,6 +203,16 @@ export default {
     // 新增/编辑-确认
     submitClickHandler () {
       let flag = false
+      const ndata = this.formItemArr.filter(item => item.datatype == 'password' || item.datatype == 'PASSWORD')
+      if (ndata?.length) {
+        const pubKeyStr = sessionStorage.getItem('pubKeyStr')
+        if (!pubKeyStr) return
+        ndata.map(({ pagecode }) => {
+          const jse = new JSEncrypt()
+          jse.setPublicKey(pubKeyStr)
+          this.tableForm[pagecode] = jse.encrypt(this.tableForm[pagecode].replace(/\s+/g, ""))
+        })
+      }
       this.$refs["ruleForm"].validate((valid) => {
         if (valid) {
           flag = true

+ 2 - 1
src/layout/index.vue

@@ -138,7 +138,8 @@ export default {
           type: 'success',
           message: '退出登录成功',
           duration: 1000,
-          onClose: () => {
+          onClose: async () => {
+            await that.$store.dispatch('tagsView/delAllViews')
             sessionStorage.removeItem('userName')
             that.$router.push(`/login`)
           },

+ 9 - 6
src/views/permissionPage/components/permissionList.vue

@@ -9,7 +9,7 @@
       </div>
       <div class="permissionList_tree_body">
         <el-scrollbar style="height: 100%" :horizontal="false">
-          <el-tree :data="data" show-checkbox :node-key="nodeKey" default-expand-all :expand-on-click-node="false">
+          <el-tree :data="data" show-checkbox node-key="tid" default-expand-all :expand-on-click-node="false">
             <template slot-scope="{node,data}">
               <div class="custom-tree-node flex">
                 <div class="custom-tree-node-list">{{data.pagename}}</div>
@@ -29,7 +29,7 @@
     <div class="permissionList_dialog">
       <!--高级查询-->
       <PublicPageDialog dialog-title="行权限" dialogSize="600px" :dialog-drawer="advancedDrawer" @handleClose="advancedDrawer = false" @handleSubmit="advancedTable('advancedDialogForm')">
-        <AdvancedQuery ref="advancedDialogForm" :ad-list="false" @getAdvancedQueryData="getAdvancedQueryData" />
+        <AdvancedQuery ref="advancedDialogForm" :ad-list="false" :ad-dep="adDep" @getAdvancedQueryData="getAdvancedQueryData" />
       </PublicPageDialog>
     </div>
   </div>
@@ -54,6 +54,7 @@ export default {
       },
       defaultKeys: [],
       nodeKey: 'pageconfigurationid',
+      adDep: 1
     }
   },
   computed: {
@@ -61,14 +62,14 @@ export default {
   },
   mounted () {
     this.data = []
-    setTimeout(() => {
-      this.authsTree()
-    }, 100);
+    this.authsTree()
   },
   methods: {
     //用户权限树
     authsTree () {
-      const treeMenu = listToTree(this.authArrs, 'superiorid', 'pageconfigurationid')
+      const ndata = _.cloneDeep(this.authArrs)
+      ndata.map((item, index) => { item.tid = index })
+      const treeMenu = listToTree(ndata, 'superiorid', 'pageconfigurationid')
       this.data = treeMenu
     },
     //高级查询-提交
@@ -80,6 +81,8 @@ export default {
     },
     details (node, data) {
       const ndata = _.cloneDeep(data)
+      this.adDep = Math.random()
+      sessionStorage.setItem('tableColumns', JSON.stringify(ndata.children))
       this.$store.dispatch('auth/changeAuthMsg', ndata.children)
       this.advancedDrawer = true
     },