Просмотр исходного кода

fix:修改受控文件查阅以及授权

liujiayin 3 лет назад
Родитель
Сommit
907b868180

+ 12 - 18
src/views/infosManage/externalFiles/externalFiles.vue

@@ -75,7 +75,8 @@ export default {
         { id: '1', label: '管理类' },
         { id: '2', label: '参考文献' },
         { id: '3', label: '设备说明资料' },
-        { id: '4', label: '其它' }
+        { id: '4', label: '审查依据类' },
+        { id: '5', label: '其它' }
       ],
       filterText: '',
       defaultProps: {
@@ -160,17 +161,18 @@ export default {
       } else {
         this.getDatas({
           fileType: this.typeData[data.id].label,
+          userId: this.$store.getters.userInfo.employee.id,
           sorts: { 'wen_jian_bian_hao': 'desc' }
         })
       }
     },
-
     /**
-     * 获取格式化参数
-     */
+    * 获取格式化参数
+    */
     getSearcFormData() {
       const params = this.$refs['crud'] ? this.$refs['crud'].getSearcFormData() : {}
-      params['fileType'] = this.typeData[this.oldorgId.id].label
+      params['fileType'] = this.paramsTypeData[this.oldorgId.id].label
+      params['userId'] = this.$store.getters.userInfo.employee.id
       params['sorts'] = this.sorts
       return params
     },
@@ -215,14 +217,14 @@ export default {
     getDatas(sorts) {
       let wheres = ''
       if (sorts.fileCode) {
-        wheres = wheres + ` and wen_jian_bian_hao like '%${sorts.fileCode}%'`
+        wheres = wheres + ` and wj.wen_jian_bian_hao like '%${sorts.fileCode}%'`
       }
 
       if (sorts.fileType) {
-        wheres = wheres + ` and wen_jian_lie_xing = '${sorts.fileType}'`
+        wheres = wheres + ` and wj.wen_jian_lie_xing = '${sorts.fileType}'`
       }
       if (sorts.fileName) {
-        wheres = wheres + ` and wen_jian_ming_che like '%${sorts.fileName}%'`
+        wheres = wheres + ` and wj.wen_jian_ming_che like '%${sorts.fileName}%'`
       }
       if (sorts.sorts) {
         if (JSON.stringify(sorts.sorts) !== "{}") {
@@ -230,16 +232,8 @@ export default {
         }
       }
 
-      let sql = `select *FROM t_wjgl WHERE wen_jian_zhuang_t = '已发放' AND yi_gai_zuo_fei_='否' ${wheres} `
-      let bianlistData = {
-        dataResult: [],
-        pageResult: {
-          limit: this.pagination.limit,
-          page: this.pagination.page,
-          totalCount: 0,
-          totalPages: 0
-        }
-      }
+      let sql = `select  wj.wen_jian_bian_hao,wj.wen_jian_ming_che,wj.ban_ben_hao_,qx.create_time_,wj.wen_jian_id_ FROM t_wjcysqb qx LEFT JOIN t_wjgl wj ON qx.wen_jian_id_=wj.id_ WHERE qx.shou_quan_='1' and qx.yong_hu_id_='${sorts.userId}' ${wheres}`
+
       curdPost('sql', sql).then(res => {
         let tableDatas = res.variables.data
         this.selectListData = JSON.parse(JSON.stringify(tableDatas))

+ 23 - 37
src/views/infosManage/internalFiles/internalFiles.vue

@@ -9,7 +9,7 @@
         </el-input>
         <div class="treeDiv">
           <el-tree ref="tree"
-                   :data="typeData"
+                   :data="paramsTypeData"
                    :props="defaultProps"
                    @node-click="handleNodeClick"
                    :filter-node-method="filterNode"></el-tree>
@@ -70,19 +70,19 @@ export default {
       oldorgId: '',
       orgName: '',
       loading: false,
-      typeData: [
-        { id: '0', label: '质量管理手册(QM)' },
-        { id: '1', label: '程序文件(QP)' },
-        { id: '2', label: '生物安全手册(SWAQ)' },
-        { id: '3', label: '行政管理制度(ZD)' },
-        { id: '4', label: '检测类(JC-SOP)' },
-        { id: '5', label: '仪器设备类(YQ-SOP)' },
-        { id: '6', label: '期间核查类(HC-SOP)' },
-        { id: '7', label: '环境设施类(HJ-SOP)' },
-        { id: '8', label: '[限] 技术管理类(ZQ-SOP)' },
-        { id: '9', label: '技术记录表(FQ)' },
-        { id: '10', label: '管理记录表(FQ)' }
-      ],
+      //   typeData: [
+      //     { id: '0', label: '质量管理手册(QM)' },
+      //     { id: '1', label: '程序文件(QP)' },
+      //     { id: '2', label: '生物安全手册(SWAQ)' },
+      //     { id: '3', label: '行政管理制度(ZD)' },
+      //     { id: '4', label: '检测类(JC-SOP)' },
+      //     { id: '5', label: '仪器设备类(YQ-SOP)' },
+      //     { id: '6', label: '期间核查类(HC-SOP)' },
+      //     { id: '7', label: '环境设施类(HJ-SOP)' },
+      //     { id: '8', label: '[限] 技术管理类(ZQ-SOP)' },
+      //     { id: '9', label: '技术记录表(FQ)' },
+      //     { id: '10', label: '管理记录表(FQ)' }
+      //   ],
       paramsTypeData: [
         { id: '0', label: '质量管理手册(QM)' },
         { id: '1', label: '程序文件(QP)' },
@@ -169,37 +169,23 @@ export default {
     },
     getDatas(sorts) {
       this.listData = []
-      let sql = ''
       let wheres = ''
       if (sorts.fileCode) {
-        wheres = wheres + ` and wen_jian_bian_hao like '%${sorts.fileCode}%'`
+        wheres = wheres + ` and wj.wen_jian_bian_hao like '%${sorts.fileCode}%'`
       }
 
       if (sorts.fileType) {
-        wheres = wheres + ` and wen_jian_lie_xing = '${sorts.fileType}'`
+        wheres = wheres + ` and wj.wen_jian_lie_xing = '${sorts.fileType}'`
       }
-
-      if (sorts.fileType == '技术管理类(ZQ-SOP)') {
-        if (sorts.fileName) {
-          wheres = wheres + ` and wj.wen_jian_ming_che like '%${sorts.fileName}%'`
-        }
-        if (sorts.sorts) {
-          if (JSON.stringify(sorts.sorts) !== "{}") {
-            wheres = wheres + ` order by  ${Object.keys(sorts.sorts)}  ${Object.values(sorts.sorts)}`
-          }
-        }
-        sql = `select wj.*,qx.yong_hu_id_ from t_wjcysqb qx left join t_wjgl wj ON qx.wen_jian_id_ = wj.id_ where qx.yong_hu_id_ = ${sorts.userId} ${wheres} `
-      } else {
-        if (sorts.fileName) {
-          wheres = wheres + ` and wen_jian_ming_che like '%${sorts.fileName}%'`
-        }
-        if (sorts.sorts) {
-          if (JSON.stringify(sorts.sorts) !== "{}") {
-            wheres = wheres + ` order by  ${Object.keys(sorts.sorts)}  ${Object.values(sorts.sorts)}`
-          }
+      if (sorts.fileName) {
+        wheres = wheres + ` and wj.wen_jian_ming_che like '%${sorts.fileName}%'`
+      }
+      if (sorts.sorts) {
+        if (JSON.stringify(sorts.sorts) !== "{}") {
+          wheres = wheres + ` order by  ${Object.keys(sorts.sorts)}  ${Object.values(sorts.sorts)}`
         }
-        sql = `select *FROM t_wjgl WHERE wen_jian_zhuang_t = '已发放' AND yi_gai_zuo_fei_='否' ${wheres} `
       }
+      let sql = `select  wj.wen_jian_bian_hao,wj.wen_jian_ming_che,wj.ban_ben_hao_,qx.create_time_,wj.wen_jian_id_ FROM t_wjcysqb qx LEFT JOIN t_wjgl wj ON qx.wen_jian_id_=wj.id_ WHERE qx.shou_quan_='1' and qx.yong_hu_id_='${sorts.userId}' ${wheres}`
 
       curdPost('sql', sql).then(res => {
         let tableDatas = res.variables.data

+ 63 - 77
src/views/permissions/details/fileEchart.vue

@@ -41,6 +41,9 @@ export default {
       idT: '',
       allFilesDatas: [],// 所有受控文件,与个人无关
       allFiles: [],
+      allFilesIds: [],
+      hadper: [], // 基于权限的文件id
+      noper: [], // 取消文件的id
       noPermissionFiles: [],
       permissionFiles: [],
       permissionFilesKey: [],
@@ -56,96 +59,79 @@ export default {
 
   methods: {
     handleChange(value, direction, movedKeys) {
-      console.log('value', value)
-      let paramsDatas = []
+      // 批量修改,多条数据,根据条件修改指定的值
+      let dataWheres = []
       if (value.length !== 0) {
         for (let i of value) {
-          let paramsData = {}
-          let filterDatas = this.allFilesDatas.filter(item => item.wenJianId == i)
-          paramsData["yongHuId"] = this.idT
-          paramsData["wenJianId"] = filterDatas[0].wenJianId
-          paramsData["wenJianMingChe"] = filterDatas[0].wenJianMingChe
-          paramsDatas.push(paramsData)
+          // 受限文件
+          let dataWhere = {}
+          let where1 = {}
+          let param1 = {}
+          where1["yong_hu_id_"] = this.id
+          where1["wen_jian_id_"] = i
+          param1["shou_quan_"] = '1'
+          dataWhere["where"] = where1
+          dataWhere["param"] = param1
+          dataWheres.push(dataWhere)
         }
-        saveUserByFile(paramsDatas).then(res => {
-        }).catch(res => {
-        })
+        for (let i of this.getArrDif(this.allFilesIds, value)) {
+          // 非受限
+          let dataWhere = {}
+          let where1 = {}
+          let param1 = {}
+          where1["yong_hu_id_"] = this.id
+          where1["wen_jian_id_"] = i
+          param1["shou_quan_"] = '0'
+          dataWhere["where"] = where1
+          dataWhere["param"] = param1
+          dataWheres.push(dataWhere)
+        }
+        let param = { tableName: "t_wjcysqb", updList: dataWheres }
+        curdPost('updatesByWhere', JSON.stringify(param))
       } else {
-        curdPost('delete',
-          '{"tableName": "t_wjcysqb","paramWhere":{"yong_hu_id_":"' + this.idT + '"}}'
-        )
+        curdPost('update',
+          '{"tableName":"t_wjcysqb","paramWhere":{"yong_hu_id_":' + this.id + '},"paramCond":{"shou_quan_":"0"}}')
       }
-
     },
-    getFormData(id) {
-      // 还未授权的的文件
-      let noPerSql = `select id_ wenJianId,
-        wen_jian_ming_che wenJianMingChe,
-        wen_jian_lie_xing neiLeiXing
-        FROM t_wjgl
-        WHERE wen_jian_lie_xing IN(
-           '技术管理类(ZQ-SOP)'
-            )
-        AND id_ NOT IN (  SELECT wen_jian_id_ id_  FROM t_wjcysqb WHERE  yong_hu_id_= '${id}' ) order by wen_jian_lie_xing asc`
-      curdPost('sql', noPerSql).then(res => {
-        for (let i of res.variables.data) {
-          this.allFilesDatas.push(i)
-          let fileData = {}
-          fileData["key"] = i.wenJianId
-          fileData["label"] = i.wenJianMingChe
-          fileData["type"] = i.neiLeiXing ? i.neiLeiXing : i.waiLeiXing
-          fileData["yongHuId"] = id
-          this.noPermissionFiles.push(fileData)
-          this.allFiles.push(fileData)
-        }
-      }).catch(res => {
+    getArrDif(arr1, arr2) {
+      return arr1.concat(arr2).filter((v, i, arr) => {
+        return arr.indexOf(v) === arr.lastIndexOf(v)
       })
-      let hadPer = `select qx.yong_hu_id_,
-      wj.id_ as wenJianId,
+    },
+    getFormData(id) {
+      let sql = `select  wj.id_ as wenJianId,
       wj.wen_jian_ming_che as wenJianMingChe,
-      wj.wen_jian_lie_xing as neiLeiXing
-      FROM 
-      t_wjcysqb qx LEFT JOIN t_wjgl wj ON qx.wen_jian_id_ = wj.id_ WHERE qx.yong_hu_id_= '${id}' order by wj.wen_jian_lie_xing asc
-        `
-      curdPost('sql', hadPer).then(res => {
+      wj.wen_jian_lie_xing as neiLeiXing ,
+      qx.shou_quan_ as shouQuan
+      FROM t_wjcysqb qx LEFT JOIN t_wjgl wj ON qx.wen_jian_id_=wj.id_ where qx.yong_hu_id_='${id}' order by wj.wen_jian_lie_xing desc`
+      curdPost('sql', sql).then(res => {
         for (let i of res.variables.data) {
           this.allFilesDatas.push(i)
-          let filterFile = {}
-          filterFile["key"] = i.wenJianId
-          filterFile["label"] = i.wenJianMingChe
-          filterFile["type"] = i.neiLeiXing
-          filterFile["yongHuId"] = i.yong_hu_id_
-          this.permissionFiles.push(filterFile)
-          this.permissionFilesKey.push(i.wenJianId)
-          this.allFiles.push(filterFile)
+          this.allFilesIds.push(i.wenJianId)
+          if (i.shouQuan == '1') {
+            // 已授权文件
+            let filterFile = {}
+            filterFile["key"] = i.wenJianId
+            filterFile["label"] = i.wenJianMingChe
+            filterFile["type"] = i.neiLeiXing
+            filterFile["yongHuId"] = i.yong_hu_id_
+            this.permissionFiles.push(filterFile)
+            this.permissionFilesKey.push(i.wenJianId)
+            this.allFiles.push(filterFile)
+          } else {
+            // 未授权文件,但是已经发放
+            let fileData = {}
+            fileData["key"] = i.wenJianId
+            fileData["label"] = i.wenJianMingChe
+            fileData["type"] = i.neiLeiXing ? i.neiLeiXing : i.waiLeiXing
+            fileData["yongHuId"] = id
+            this.noPermissionFiles.push(fileData)
+            this.allFiles.push(fileData)
+          }
         }
       }).catch(res => {
       })
-      //   getLmitedFile(id).then(res => {
-      //     for (let i of res.variables.data) {
-      //       this.allFilesDatas.push(i)
-      //       let fileData = {}
-      //       fileData["key"] = i.wenJianId
-      //       fileData["label"] = i.wenJianMingChe
-      //       fileData["yongHuId"] = id
-      //       this.noPermissionFiles.push(fileData)
-      //       this.allFiles.push(fileData)
-      //     }
-      //   }).catch(res => {
-      //   })
-      //   getUserByFile(id).then(res => {
-      //     for (let i of res.variables.data) {
-      //       this.allFilesDatas.push(i)
-      //       let filterFile = {}
-      //       filterFile["key"] = i.wenJianId
-      //       filterFile["label"] = i.wenJianMingChe
-      //       filterFile["yongHuId"] = id
-      //       this.permissionFiles.push(filterFile)
-      //       this.permissionFilesKey.push(i.wenJianId)
-      //       this.allFiles.push(filterFile)
-      //     }
-      //   }).catch(res => {
-      //   })
+
     },
   },
   watch: {