zhangqiOMG 3 лет назад
Родитель
Сommit
4e33b1c847

+ 1 - 0
src/HManagement/archives_sc/dataAnalysis/index.vue

@@ -50,6 +50,7 @@ export default {
   },
   created () {
     this.getAgentData()
+    this.tool.checkAuth(this.$route.name,'data_analysis')?'':this.$router.go(-1)
   }
 }
 

+ 5 - 5
src/HManagement/archives_sc/index.vue

@@ -3,18 +3,18 @@
     <!-- 课程列表 -->
     <list ref="list">
       <!-- 新增课程 -->
-      <el-button slot="add" icon="el-icon-plus" type="primary" size="small" @click="$router.push({path:'/archives_scadd'})">新 增</el-button>
+      <el-button v-if="tool.checkAuth($route.name,'insert')" slot="add" icon="el-icon-plus" type="primary" size="small" @click="$router.push({path:'/archives_scadd'})">新 增</el-button>
       <el-button slot="detail" type="text" size="small">详 情</el-button>
-      <template v-slot:edit="scope">
+      <template v-if="tool.checkAuth($route.name,'update')" v-slot:edit="scope">
         <el-button slot="edit" type="text" size="small" class="inline-16" @click="$router.push({path:'/archives_scedit',query:{id:scope.data.data.sat_coursewareid}})">编 辑</el-button>
       </template>
-      <template v-slot:release="scope">
+      <template v-if="tool.checkAuth($route.name,'update')" v-slot:release="scope">
         <release :data="scope.data.data" @onSuccess="onSuccess"></release>
       </template>
-      <template v-slot:data_statistics="scope">
+      <template v-if="tool.checkAuth($route.name,'data_analysis')" v-slot:data_statistics="scope">
         <el-button type="text" size="small" @click="$router.push({path:'/archives_sc_analysis',query:{id:scope.data.data.sat_coursewareid}})">数据分析</el-button>
       </template>
-      <template v-slot:del="scope">
+      <template v-if="tool.checkAuth($route.name,'delete')" v-slot:del="scope">
         <on-del :data="scope.data.data" @onSuccess="onSuccess"></on-del>
       </template>
     </list>

+ 59 - 16
src/HManagement/archives_sc/list/modules/edit.vue

@@ -10,14 +10,14 @@
           <div class="container normal-panel normal-margin">
             <p class="normal-title normal-margin" style="line-height:32px">课程设置</p>
             <el-row :gutter="20">
-              <el-form :model="form" size="small" status-icon label-position="left" label-width="100px" class="demo-ruleForm">
+              <el-form :model="form" :rules="rules" ref="form" size="small" status-icon label-position="left" label-width="100px" class="demo-ruleForm">
                 <el-col :span="24">
-                  <el-form-item label="标题">
+                  <el-form-item label="标题" prop="title">
                     <el-input v-model="form.title" placeholder="请输入标题"></el-input>
                   </el-form-item>
                 </el-col>
                 <el-col :span="12">
-                <el-form-item label="开始时间">
+                <el-form-item label="开始时间" prop="begdate">
                   <el-date-picker
                     style="width:100%"
                     v-model="form.begdate"
@@ -28,7 +28,7 @@
                 </el-form-item>
                 </el-col>
                 <el-col :span="12">
-                  <el-form-item label="下架时间">
+                  <el-form-item label="下架时间" prop="enddate">
                     <el-date-picker
                       style="width:100%"
                       v-model="form.enddate"
@@ -39,14 +39,14 @@
                   </el-form-item>
                 </el-col>
                 <el-col :span="12">
-                  <el-form-item label="一级分类">
+                  <el-form-item label="一级分类" prop="sat_courseware_classid_1">
                     <el-select style="width:100%;margin-right:16px" size="small" v-model="form.sat_courseware_classid_1" clearable>
                       <el-option v-for="item in options1" :key="item.index" :value="item.sat_courseware_classid" :label="item.classname" @click.native="handelSelectClick(item)"></el-option>
                     </el-select>
                   </el-form-item>
                 </el-col>
                 <el-col :span="12">
-                  <el-form-item label="二级分类">
+                  <el-form-item label="二级分类" prop="sat_courseware_classid_2">
                     <el-select style="width:100%;margin-right:16px" size="small" v-model="form.sat_courseware_classid_2" clearable>
                       <el-option v-for="item in options2" :key="item.index" :value="item.sat_courseware_classid" :label="item.classname"></el-option>
                     </el-select>
@@ -58,7 +58,7 @@
                   </el-form-item>
                 </el-col>
                 <el-col :span="24">
-                  <el-form-item label="封面">
+                  <el-form-item label="封面" prop="cover">
                     <previewImage v-if="form.cover" style="width:386px" :image="image" :deletebtn="true" @onSuccess="clearCover"></previewImage>
                     <upload v-else btntype="limage" :folderid="folderid" accept=".JPG,.PNG" :bindData="{ownertable:'SAT_COURSEWARE',ownerid:form.sat_coursewareid,usetype:'cover'}" @onSuccess="onSubmit"></upload>
                     <p class="info">注:建议上传图片大小212x118像素,大小不超过2M,格式为JPG/PNG</p>
@@ -75,7 +75,7 @@
           </div>
         </el-col>
         <el-col :span="12">
-          <scopeOfauth></scopeOfauth>
+          <scopeOfauth @onChecked="onChecked"></scopeOfauth>
         </el-col>
       </el-row>
     </div>
@@ -96,22 +96,47 @@ export default {
   },
   data () {
     return {
+      rules:{
+        title: [
+          { required: true, message: '请输入课程名称', trigger: 'blur' },
+        ],
+        begdate: [
+          {  required: true, message: '请选择开始日期', trigger: 'change' }
+        ],
+        enddate: [
+          {  required: true, message: '请选择下架时间', trigger: 'change' }
+        ],
+        sat_courseware_classid_1: [
+          {  required: true, message: '请选择一级分类', trigger: 'change' }
+        ],
+        sat_courseware_classid_2: [
+          {  required: true, message: '请选择二级分类', trigger: 'change' }
+        ],
+        cover:[
+          { required: true, message: '请上传封面', trigger: 'blur' },
+        ],
+      },
       options1:[],
       options2:[],
-      folderid:JSON.parse(sessionStorage.getItem('folderid')).appfolderid,
       form:{},
       image:{},
+      authData:{},
+      folderid:JSON.parse(sessionStorage.getItem('folderid')).appfolderid,
     }
   },
   methods:{
-    async onSubmit () {
+   onSubmit () {
       this.form.sat_courseware_classid = this.form.sat_courseware_classid_2
-      const res = await this.$api.requested({
-        "classname": "webmanage.saletool.courseware.courseware",
-        "method": "insertOrUpdate",
-        "content": this.form
-      })
-      this.selectDetail()
+      this.$refs['form'].validate(async (valid) => {
+        if (!valid) return false;
+        const res = await this.$api.requested({
+          "classname": "webmanage.saletool.courseware.courseware",
+          "method": "insertOrUpdate",
+          "content": this.form
+        })
+        this.selectDetail()
+        this.insertCoursewareauth()
+      });
     },
     async selectDetail () {
       const res = await this.$api.requested({
@@ -156,9 +181,27 @@ export default {
       })
       res.data[0]?this.image = res.data[0]:this.image = {url:''}
     },
+    // 删除封面
     clearCover () {
       this.image = {}
     },
+
+    // 获取保存授权范围数据
+    onChecked (param) {
+      this.authData = param
+    },
+    // 新增授权范围
+    async insertCoursewareauth () {
+      const res = await this.$api.requested({
+        "classname": "webmanage.saletool.courseware.coursewareauth",
+        "method": "insert",
+        "content": this.authData
+      })
+      this.tool.showMessage(res)
+    },
+  },
+  created () {
+    this.tool.checkAuth(this.$route.name,'data_analysis')?'':this.$router.go(-1)
   },
   mounted () {
     this.coursewareclass()

+ 3 - 2
src/HManagement/department/staff/list/list.vue

@@ -40,7 +40,8 @@ export default {
             "nocahe":true,
             "pageNumber": 1,
             "pageSize": 20,
-            "departmentid":null,
+            "departmentids":null,
+            "containssub":1,
             "where": {
               "condition": ""
             }
@@ -54,7 +55,7 @@ export default {
   },
   methods:{
     async listData (id) {
-      this.param.content.departmentid = id
+      this.param.content.departmentids = [id]
       const res = await this.$api.requested(this.param)
       this.list = res.data
       this.total = res.total

+ 3 - 2
src/HManagement/marketing/agent/list.vue

@@ -55,7 +55,8 @@ export default {
         "content": {
           "pageSize":20,
           "pageNumber":1,
-          "sa_saleareaid":'',
+          "sa_saleareaids":null,
+          "containssub": 1,
           "where":{}
         }
       }
@@ -63,7 +64,7 @@ export default {
   },
   methods:{
     async query_agent (sa_saleareaid) {
-      this.param.content.sa_saleareaid = sa_saleareaid
+      this.param.content.sa_saleareaids = [sa_saleareaid]
       const res = await this.$api.requested(this.param)
       this.list = res.data
       this.total = res.total

+ 1 - 0
src/components/export_excel/index.vue

@@ -16,6 +16,7 @@ export default {
       const res = await this.$api.requested(this.param)
       let table = JSON.parse(JSON.stringify(this.tablecols))
       table.forEach((e,index) => {
+        // 由于表格数据结构问题这里需要判断一下
         if (e.title === '省市县') {
           table[index].title = '省'
           table.splice(index + 1,0,{title:'市',columnname:'city'},{title:'县',columnname:'county'})

+ 146 - 13
src/components/scopeOfAuthority/index.vue

@@ -4,9 +4,7 @@
     <el-row :gutter="20">
       <el-col :span="12">
         <div>
-          <div class="flex-align-center flex-between normal-margin">
-            <el-checkbox v-model="allcheck1">全 选</el-checkbox>
-            <el-checkbox v-model="allcheck1">仅组织负责人可见</el-checkbox>
+          <div class="normal-margin" style="height:32px;line-height:32px">
           </div>
           <div class="panel">
             <div class="tab flex-align-center">
@@ -14,24 +12,52 @@
               <p :class="activeName === '营销组织'?'tab-act':''" @click="tabChange('营销组织')">营销组织</p>
             </div>
             <div>
-              <deplist v-if="activeName === '组织架构'" :checked="true"></deplist>
-              <arealist v-else  :checked="true"></arealist>
+              <deplist v-show="activeName === '组织架构'" :checked="true" :dep_default="defaultData.departmentid" @onChecked="onChecked"></deplist>
+              <arealist v-show="activeName === '营销组织'" :checked="true" :area_default="defaultData.sa_saleareaid" @onAreaChecked="onAreaChecked" ></arealist>
             </div>
           </div>
         </div>
       </el-col>
-      <el-col :span="12">
+      <el-col :span="12" v-show="activeName === '组织架构'">
         <div>
-          <!-- <div class="flex-align-center flex-between normal-margin">
-            <el-checkbox v-model="allcheck1">全 选</el-checkbox>
-            <el-checkbox v-model="allcheck1">仅组织负责人可见</el-checkbox>
-          </div> -->
-          <div></div>
+          <div class="flex-align-center flex-between normal-margin">
+            <el-checkbox v-model="allcheck_m" :indeterminate="isIndeterminate" @change="handleCheckAllChange">全 选</el-checkbox>
+            <el-checkbox v-model="allcheck1" @change="handleCheckedChange">仅组织负责人可见</el-checkbox>
+          </div>
           <div class="panel">
             <div class="tab flex-align-center">
               <p>人员信息</p>
             </div>
-            <div>
+            <div class="container" style="max-height:600px;overflow-y:scroll">
+              <el-input size="small" v-model="searchValue" class="normal-margin" placeholder="搜索人员" clearable></el-input>
+              <el-checkbox-group v-model="checkedMenbers" @change="handleCheckedChange">
+                <div v-for="item in menberData" :key="item.index">
+                  <el-checkbox v-if="searchValue" v-show="item.name === searchValue" :label="item.hrid">{{item.name}}</el-checkbox>
+                  <el-checkbox v-else :label="item.hrid">{{item.name}}</el-checkbox>
+                </div>
+              </el-checkbox-group>
+            </div>
+          </div>
+        </div>
+      </el-col>
+      <el-col :span="12" v-show="activeName === '营销组织'">
+        <div>
+          <div class="flex-align-center flex-between normal-margin">
+            <el-checkbox v-model="allcheck_a" :indeterminate="isIndeterminate2" @change="handleCheckAllChange">全 选</el-checkbox>
+            <el-checkbox v-model="allcheck2" @change="handleCheckedChange">仅经销商主账号可见</el-checkbox>
+          </div>
+          <div class="panel">
+            <div class="tab flex-align-center">
+              <p>经销商信息</p>
+            </div>
+            <div class="container" style="max-height:600px;overflow-y:scroll">
+              <el-input size="small" v-model="searchValue" class="normal-margin" placeholder="搜索人员" clearable></el-input>
+              <el-checkbox-group v-model="checkedAgents" @change="handleCheckedChange">
+                <div v-for="item in agentData" :key="item.index">
+                  <el-checkbox v-if="searchValue" v-show="item.agentname === searchValue" :label="item.sa_agentsid">{{item.agentname}}</el-checkbox>
+                  <el-checkbox v-else :label="item.sa_agentsid">{{item.agentname}}</el-checkbox>
+                </div>
+              </el-checkbox-group>
             </div>
           </div>
         </div>
@@ -53,12 +79,119 @@ export default {
     return {
       activeName:'组织架构',
       allcheck1:false,
+      allcheck2:false,
+      allcheck_m:false,
+      allcheck_a:false,
+      isIndeterminate:true,
+      isIndeterminate2:true,
+      menberData:[],
+      checkedMenbers:[],
+      checkedAgents:[],
+      depChecked:[],
+      areaChecked:[],
+      agentData:[],
+      searchValue:null,
+      defaultData:{}
     }
   },
   methods:{
     tabChange (val) {
       this.activeName = val
-    }
+    },
+    // 查询授权信息
+    async query_auth () {
+      const res = await this.$api.requested({
+        "classname": "webmanage.saletool.courseware.coursewareauth",
+        "method": "selectList",
+        "content": {
+          "sat_coursewareid": this.$route.query.id,
+        }
+      })
+      this.defaultData = res.data
+      this.checkedMenbers = res.data.hrid
+      this.checkedAgents = res.data.sa_agentsid
+      this.allcheck1 = res.data.isonlymanager_dept
+      this.allcheck2 = res.data.isonlymanager_agent
+    },
+    // 根据组织架构范围查询人员
+    async menberList (val) {
+      let param = {
+        "classname": "webmanage.hr.hr",
+        "method": "query_hrList",
+        "content": {
+            "nocahe":true,
+            "pageNumber": 1,
+            "pageSize": 10000,
+            "departmentids":val,
+            "containssub":0,
+            "where": {
+              "condition": ""
+            }
+        }
+      }
+      const res = await this.$api.requested(param)
+      this.menberData = res.data
+    },
+    // 根据营销区域范围查询经销商
+    async agentList (val) {
+      let param = {
+        "classname": "webmanage.sale.salearea.salearea",
+        "method": "query_agent",
+        "content": {
+            "pageNumber": 1,
+            "pageSize": 10000,
+            "sa_saleareaids":val,
+            "containssub":0,
+            "where": {
+              "condition": ""
+            }
+        }
+      }
+      const res = await this.$api.requested(param)
+      this.agentData = res.data
+    },
+    // 选中的组织架构数据
+    onChecked (val) {
+      this.depChecked = val
+      this.menberList(val)
+    },
+    // 选中的营销区域数据
+    onAreaChecked (val) {
+      this.areaChecked = val
+      this.agentList(val)
+    },
+    handleCheckAllChange(val) {
+      if (this.activeName === '组织架构') {
+        let arr = this.menberData.map(e=>{
+          return e.hrid
+        })
+        this.checkedMenbers = val ? arr : [];
+        this.isIndeterminate = false;
+        this.handleCheckedChange()
+      } else {
+        let arr = this.agentData.map(e=>{
+          return e.sa_agentsid
+        })
+        this.checkedAgents = val ? arr : [];
+        this.isIndeterminate2 = false;
+        this.handleCheckedChange()
+      }
+    },
+    handleCheckedChange (){
+      let param = {
+        "isonlymanager_dept":this.allcheck1,
+        "isonlymanager_agent":this.allcheck2,
+        "sat_coursewareid":this.$route.query.id,
+        "departmentid":this.depChecked,
+        "hrid":this.checkedMenbers,
+        "sa_saleareaid":this.areaChecked,
+        "sa_agentsid":this.checkedAgents
+      }
+      this.$emit('onChecked',param)
+    },
+  },
+  mounted () {
+    this.query_auth()
   }
 }
 

+ 3 - 1
src/components/selectAgent/agent/list.vue

@@ -52,6 +52,8 @@ export default {
         "content": {
           "pageSize":20,
           "pageNumber":1,
+          "sa_saleareaids":null,
+          "containssub": 1,
           "sa_saleareaid":'',
           "where":{}
         }
@@ -60,7 +62,7 @@ export default {
   },
   methods:{
     async query_agent (sa_saleareaid) {
-      this.param.content.sa_saleareaid = sa_saleareaid
+      this.param.content.sa_saleareaids = [sa_saleareaid]
       const res = await this.$api.requested(this.param)
       this.list = res.data
       this.total = res.total

+ 53 - 12
src/components/selectAgent/area/list.vue

@@ -1,16 +1,17 @@
 <template>
   <div class="tree-panel">
     <el-tree
+      ref="cusTreeRef"
       :data="arealist"
-      node-key="id"
+      node-key="sa_saleareaid"
       default-expand-all
       highlight-current
       :show-checkbox="checked"
       :check-strictly="true"
       :check-on-click-node="true"
       :expand-on-click-node="false"
-      @check-change="handleCheckChange"
-      @node-click="handleClick">
+      :default-checked-keys="area_default"
+      @check="handleCheck">
       <span class="custom-tree-node" slot-scope="{ node, data }">
         <span>{{ node.label }}</span>
         <span>
@@ -25,12 +26,13 @@
 
 
 export default {
-  props:['checked'],
+  props:['checked','area_default'],
   components:{
   },
   data () {
     return {
-      arealist:[]
+      arealist:[],
+      cusChecked: []
     }
   },
   methods:{
@@ -43,7 +45,6 @@ export default {
       })
       // 数据格式转换成elementui-tree所需的格式
       this.arealist = this.createMenu(res.data)
-      // this.$store.dispatch('setarealistData',this.arealist)
       this.$emit('onClick',this.arealist[0])
     },
     createMenu (array) {
@@ -74,15 +75,55 @@ export default {
       });
       return arr
     },
-    handleClick (row,node,VueComponent) {
-      this.$emit('onClick',node.data)
-    },
-    handleCheckChange(data, checked, indeterminate) {
-      console.log(data, checked, indeterminate);
-    },
+    handleCheck (currentNode, treeStatus) {
+      /**
+       * @des 根据父元素的勾选或取消勾选,将所有子级处理为选择或非选中状态
+       * @param { node: Object }  当前节点
+       * @param { status: Boolean } (true : 处理为勾选状态 ; false: 处理非选中)
+       */
+      const setChildStatus = (node, status) => {
+          /* 这里的 id children 也可以是其它字段,根据实际的业务更改 */
+          this.$refs.cusTreeRef.setChecked(node.sa_saleareaid, status)
+          if (node.children) {
+              /* 循环递归处理子节点 */
+              for (let i = 0; i < node.children.length; i++) {
+                  setChildStatus(node.children[i], status)
+              }
+          }
+      }
+      /* 设置父节点为选中状态 */
+      const setParentStatus = (nodeObj) => {
+          /* 拿到tree组件中的node,使用该方法的原因是第一次传入的 node 没有 parent */
+          const node = this.$refs.cusTreeRef.getNode(nodeObj)
+          if (node.parent.key) {
+              this.$refs.cusTreeRef.setChecked(node.parent, true)
+              setParentStatus(node.parent)
+          }
+      }
+
+      /* 判断当前点击是选中还是取消选中操作 */
+      if (treeStatus.checkedKeys.includes(currentNode.sa_saleareaid)) {
+          setParentStatus(currentNode)
+          setChildStatus(currentNode, true)
+      } else {
+          /* 取消选中 */
+          if (currentNode.children) {
+              setChildStatus(currentNode, false)
+          }
+      }
+
+      this.cusChecked = [...this.$refs.cusTreeRef.getCheckedKeys()]
+      this.$emit('onAreaChecked',this.cusChecked)
+    }
   },
   mounted () {
     this.query_arealist()
+  },
+  watch:{
+    area_default (val) {
+      // 如果存在默认组织数据就执行
+      this.$emit('onAreaChecked',this.area_default)
+    }
   }
 }
 

+ 55 - 28
src/components/selectMenber/modules/dep_list.vue

@@ -1,14 +1,17 @@
 <template>
   <div class="tree-panel">
     <el-tree
+      ref="cusTreeRef"
       :data="deplist"
-      node-key="id"
+      node-key="departmentid"
       default-expand-all
       highlight-current
+      :check-strictly="true"
+      :check-on-click-node="true"
       :expand-on-click-node="false"
       :show-checkbox="checked"
-      @check-change="handleCheckChange"
-      @node-click="handleClick">
+      @check="handleCheck"
+      :default-checked-keys="dep_default">
       <span class="custom-tree-node" slot-scope="{ node, data }">
         <span>{{ node.label }}</span>
         <span>
@@ -23,12 +26,13 @@
 
 
 export default {
-  props:['checked'],
+  props:['checked',"dep_default"],
   components:{
   },
   data () {
     return {
-      deplist:[]
+      deplist:[],
+      cusChecked: []
     }
   },
   methods:{
@@ -42,7 +46,10 @@ export default {
       // 数据格式转换成elementui-tree所需的格式
       this.deplist = this.createMenu(res.data)
       this.$store.dispatch('setDeplistData',this.deplist)
+      
       this.$emit('onClick',{data:this.deplist[0],parent:[]})
+
+      // 如果存在默认组织数据就执行
     },
     createMenu (array) {
       var that = this
@@ -78,35 +85,55 @@ export default {
       });
       return arr
     },
-    handleClick (row,node,VueComponent) {
-      this.$emit('onClick',node)
-    },
-    handleCheckChange(data, checked, indeterminate) {
-      console.log(data, checked, indeterminate);
-    },
 
-    // 构建赋值
-    setChecked() {
-      console.log('===进⼊设置状态==', this.select)
-      const getCheck = this.select
-      if (getCheck.length > 0) {
-        getCheck.forEach((i, n) => {
-          const node = this.$refs.tree.getNode(i)
-          console.log('===循环==')
-          if (node != null) {
-            if (node.isLeaf) {
-              this.$refs.tree.setChecked(node, true)
-            } else {
-              node.indeterminate = true
-              node.checked = true
-            }
+    handleCheck (currentNode, treeStatus) {
+      /**
+       * @des 根据父元素的勾选或取消勾选,将所有子级处理为选择或非选中状态
+       * @param { node: Object }  当前节点
+       * @param { status: Boolean } (true : 处理为勾选状态 ; false: 处理非选中)
+       */
+      const setChildStatus = (node, status) => {
+          /* 这里的 id children 也可以是其它字段,根据实际的业务更改 */
+          this.$refs.cusTreeRef.setChecked(node.departmentid, status)
+          if (node.children) {
+              /* 循环递归处理子节点 */
+              for (let i = 0; i < node.children.length; i++) {
+                  setChildStatus(node.children[i], status)
+              }
           }
-        })
       }
-    },
+      /* 设置父节点为选中状态 */
+      const setParentStatus = (nodeObj) => {
+          /* 拿到tree组件中的node,使用该方法的原因是第一次传入的 node 没有 parent */
+          const node = this.$refs.cusTreeRef.getNode(nodeObj)
+          if (node.parent.key) {
+              this.$refs.cusTreeRef.setChecked(node.parent, true)
+              setParentStatus(node.parent)
+          }
+      }
+
+      /* 判断当前点击是选中还是取消选中操作 */
+      if (treeStatus.checkedKeys.includes(currentNode.departmentid)) {
+          setParentStatus(currentNode)
+          setChildStatus(currentNode, true)
+      } else {
+          /* 取消选中 */
+          if (currentNode.children) {
+              setChildStatus(currentNode, false)
+          }
+      }
+
+      this.cusChecked = [...this.$refs.cusTreeRef.getCheckedKeys()]
+      this.$emit('onChecked',this.cusChecked)
+    }
   },
   mounted () {
     this.department()
+  },
+  watch:{
+    dep_default (val) {
+      this.$emit('onChecked',this.dep_default)
+    }
   }
 }
 

+ 3 - 2
src/components/selectMenber/staff/list/list.vue

@@ -72,7 +72,8 @@ export default {
             "nocahe":true,
             "pageNumber": 1,
             "pageSize": 20,
-            "departmentid":null,
+            "departmentids":null,
+            "containssub":1,
             "where": {
               "condition": ""
             }
@@ -86,7 +87,7 @@ export default {
   },
   methods:{
     async listData (id) {
-      this.param.content.departmentid = id
+      this.param.content.departmentids = [id]
       const res = await this.$api.requested(this.param)
       this.list = res.data
       this.total = res.total

+ 1 - 3
src/components/upload/hw_obs_upload.vue

@@ -80,15 +80,13 @@ export default {
       var index = file.raw.name.lastIndexOf(".");
       var ext = file.name.substr(index + 1);
       this.params.content.filename = file.raw.name
-
       this.params.content.filetype = ext
-      console.log(file, ext)
       this.getUploadUrl(file, ext)
     },
 
     // 获取华为云上传地址
     async getUploadUrl (file, ext) {
-      // this.params.content.parentid = 1
+      this.params.content.parentid = this.folderid
       const res = await this.$api.requested(this.params)
       let url = res.data.uploadurl
       let obsfilename = res.data.serialfilename