codeMan 3 лет назад
Родитель
Сommit
0a66420fbc

+ 26 - 3
src/HDrpManagement/ProductGroupMag/index.vue

@@ -11,11 +11,23 @@
       idName="sa_itemgroupid" 
       :apiId="{query:20220922164403,del:20220922164503}" 
       :options="options"
-      :detailPath="{path:'/productGroupDetail'}">
+      :detailPath="{path:'/productGroupDetail'}"
+      @listData="listData">
       <div slot="custom" style="display:flex">
+        <el-select style="margin-right:10px" @change="selectChange" v-model="selectParam.sa_brandid" placeholder="请选择品牌" size="small" clearable>
+          <el-option v-for="item in brandList" :key="item.sa_brandid" :value="item.sa_brandid" :label="item.brandname"></el-option>
+        </el-select>
+        <el-select style="margin-right:10px" @change="selectChange" v-model="selectParam.isonsale" placeholder="是否上架" size="small" clearable>
+          <el-option :key="1" :value="1" label="已上架"></el-option>
+          <el-option :key="2" :value="0" label="未上架"></el-option>
+        </el-select>
       </div>
       <template v-slot:tbList="scope">
-        <div>
+        <div v-if="scope.data.column.columnname == 'isonsale'">
+          <span v-if="scope.data.column.data[scope.data.column.columnname] == 0" style="color:red">未上架</span>
+          <span v-if="scope.data.column.data[scope.data.column.columnname] == 1" style="color:rgb(82, 196, 26)">已上架</span>
+        </div>
+        <div v-else>
           {{scope.data.column.data[scope.data.column.columnname]}}
         </div>
       </template>
@@ -28,7 +40,6 @@
 <script>
 export default {
   components:{
-    test
   },
   name: "index",
   data() {
@@ -38,6 +49,10 @@ export default {
       /* 品牌列表数据 */
       brandList:'',
       options:[],
+      selectParam: {
+        sa_brandid:'',
+        isonsale:''
+      }
     }
   },
   provide() {
@@ -51,6 +66,14 @@ export default {
     this.getBrandList()
   },
   methods: {
+    listData (data) {
+      console.log(data);
+      
+    },
+    selectChange () {
+      this.$refs.basicLayout.param.content.where = this.selectParam
+      this.$refs.basicLayout.listData()
+    },
     /* 可选择的商品列表 */
     async getProductList() {
       let res = await this.$api.requested({

+ 6 - 15
src/HDrpManagement/ProductGroupMag/modules/add.vue

@@ -1,15 +1,13 @@
 <template>
   <div>
     <el-button type="primary" size="mini" @click="drawer=true">新 建</el-button>
-    <el-drawer title="创建用户" :visible.sync="drawer" size="800px" direction="rtl" append-to-body>
+    <el-drawer title="新增商品组" :visible.sync="drawer" size="80%" direction="rtl" append-to-body>
       <div class="drawer__panel">
         <el-form label-position="right" ref="form" :rules="rules" inline label-width="100px" :model="form" size="small">
-        <el-col :span="24">
           <el-form-item label="产品组名称" prop="groupname">
             <el-input v-model="form.groupname" placeholder="请输入商品组名称"></el-input>
           </el-form-item>
-        </el-col>
-        <el-col :span="24">
+          
           <el-form-item label="品牌" prop="sa_brandid">
             <el-select v-model="form.sa_brandid" placeholder="请选择品牌">
               <el-option v-for="item in brandList()" :key="item.sa_brandid" :label="item.brandname"
@@ -17,8 +15,7 @@
               </el-option>
             </el-select>
           </el-form-item>
-        </el-col>
-        <el-col :span="24">
+        <!-- <el-col :span="24">
           <el-form-item label="商品" prop="itemno">
             <el-select v-model="form.itemno" placeholder="请选择商品">
               <el-option v-for="item in productList()" :key="item.itemno" :label="item.itemname" :value="item.itemno"
@@ -26,8 +23,8 @@
               </el-option>
             </el-select>
           </el-form-item>
-        </el-col>
-        <el-col :span="24">
+        </el-col> -->
+        <!-- <el-col :span="24">
           <el-form-item label="自定义标签" prop="tag" style="margin-bottom:0px; !important">
             <el-tag :key="tag" v-for="tag in form.tag" closable :disable-transitions="false" @close="handleClose(tag)">
               {{tag}}
@@ -37,7 +34,7 @@
             </el-input>
             <el-button v-else class="button-new-tag" size="small" @click="showInput">+ New 标签</el-button>
           </el-form-item>
-        </el-col>
+        </el-col> -->
         </el-form>
       </div>
       <div class="fixed__btn__panel">
@@ -139,10 +136,4 @@ export default {
   margin-top: 32px;
   text-align: center;
 }
-/deep/.el-form-item,.el-select {
-  width: 100%;
-}
-/deep/.el-form-item__content {
-  width: calc(100% - 100px);
-}
 </style>

+ 19 - 63
src/HDrpManagement/ProductGroupMag/modules/details.vue

@@ -11,7 +11,7 @@
         turnPageId="20220922164403"
         delApiId="20220922164503"
         idname="sa_itemgroupid"
-        :tabs="['详细信息','商品明细']"
+        :tabs="['商品明细']"
         @pageChange="pageChange"
         @onEditSuccess="queryMainData($route.query.id)">
       <div slot="customOperation">
@@ -22,9 +22,6 @@
         </el-popover>
       </div>
       <div slot="slot0" class="container normal-panel">
-        <BaseInfo :detailInfo="detailInfo"/>
-      </div>
-      <div slot="slot1" class="container normal-panel">
         <addGroupDetail :rowData="mainData"/>
       </div>
     </basicDetails>
@@ -32,7 +29,6 @@
 </template>
 
 <script>
-import BaseInfo from '@/HDrpManagement/projectChange/modules/modules/baseInfo/baseInfo'
 import addGroupDetail from './addGroupDetail'
 import Up from './up'
 import Down from './down'
@@ -46,7 +42,6 @@ export default {
     }
   },
   components:{
-    BaseInfo,
     addGroupDetail,
     Up,
     Down
@@ -67,71 +62,32 @@ export default {
     },
     changeDataStructure() {
       this.mainAreaData = [
-          {
-          label:'商品组名',
-          value:this.mainData.groupname
-        },
         {
-          label:'商品组号',
+          label:'商品组编号',
           value:this.mainData.groupnum
         },
+        {
+          label:'商品组名',
+          value:this.mainData.groupname
+        },
         {
           label:'品牌名称',
           value:this.mainData.brandname
         },
+        {
+          label:'是否上架',
+          value:this.mainData.isonsale ? '上架' : '下架'
+        },
+        {
+          label:'产品名',
+          value:this.mainData.itemname
+        },
+        {
+          label:'产品类别',
+          value:this.mainData.itemclassname
+        },
       ]
-      this.detailInfo = {
-        baseInfo: [
-          {
-          label:'商品组名',
-          value:this.mainData.groupname
-          },
-          {
-            label:'商品组号',
-            value:this.mainData.groupnum
-          },
-          {
-            label:'品牌名称',
-            value:this.mainData.brandname
-          },
-          {
-            label:'是否上架',
-            value:this.mainData.isonsale ? '上架' : '下架'
-          },
-          {
-            label:'产品名',
-            value:this.mainData.itemname
-          },
-          {
-            label:'产品类别',
-            value:this.mainData.itemclassname
-          },
-          {
-            label:'标签',
-            value:this.mainData.tag1.join('-')
-          },
-          {
-            label:'创建人员',
-            value:this.mainData.createby
-          },
-          {
-            label:'更新人员',
-            value:this.mainData.changeby
-          },
-        ],
-        systemInfo: [
-          {label:'创建人',value:this.mainData.createBy},
-          {label:'分配人',value:this.mainData.assignedBy},
-          {label:'最近跟进人',value:this.mainData.followBy},
-          {label:'转移人',value:this.mainData.changeBy},
-          {label:'最近编辑人',value:this.mainData.editBy},
-          {label:'创建时间',value:this.mainData.createDate},
-          {label:'分配时间',value:this.mainData.assignedDate},
-          {label:'最近跟进时间',value:this.mainData.followDate},
-          {label:'最近转移时间',value:this.mainData.changeDate},
-          {label:'最近编辑时间',value:this.mainData.editDate},
-        ]
-      }
+ 
     },
     // 监听切换数据,上一页,下一页
     pageChange (id,rowindex) {

+ 5 - 5
src/HManagement/accountManage/modules/add.vue

@@ -4,25 +4,25 @@
     <el-drawer
       title="创建用户"
       :visible.sync="drawer"
-      size="800px"
+      size="400px"
       direction="rtl"
       append-to-body
       @close="onClose">
       <div class="drawer__panel">
         <el-row>
-          <el-form :model="form" :rules="rules" ref="form"  size="mini" label-position="left">
+          <el-form :model="form" :rules="rules" ref="form"  size="mini" label-position="right">
             <el-col :span="24">
-              <el-form-item label="手机号码" label-width="100px" prop="phonenumber">
+              <el-form-item label="手机号码" label-width="80px" prop="phonenumber">
                 <el-input v-model="form.phonenumber" autocomplete="off" placeholder="输入手机号码"></el-input>
               </el-form-item>
             </el-col>
             <el-col :span="24">
-              <el-form-item label="用户名称" label-width="100px" prop="name">
+              <el-form-item label="用户名称" label-width="80px" prop="name">
                 <el-input  v-model="form.name" autocomplete="off" placeholder="输入用户名称"></el-input>
               </el-form-item>
             </el-col>
             <el-col :span="24">
-              <el-form-item label="授权角色" label-width="100px" prop="roleids">
+              <el-form-item label="授权角色" label-width="80px" prop="roleids">
                 <!-- <el-input v-model="form.sex" autocomplete="off" placeholder="输入性别"></el-input> -->
                 <el-select v-model="form.roleids" style="width:100%" placeholder="请选择" multiple>
                   <el-option

+ 1 - 1
src/HManagement/accountManage/modules/edit.vue

@@ -9,7 +9,7 @@
       append-to-body>
       <div class="drawer__panel">
         <el-row :gutter="20">
-          <el-form :model="form" :rules="rules" ref="form"  size="small" label-position="left">
+          <el-form :model="form" :rules="rules" ref="form"  size="small" label-position="right">
             <el-col :span="12">
               <el-form-item label="账号" label-width="100px">
                 <el-input v-model="form.accountno" readonly autocomplete="off" placeholder="输入账号"></el-input>

+ 1 - 1
src/HManagement/roleManage/modules/add.vue

@@ -17,7 +17,7 @@
 </template>
 
 <script>
-import roleContentTemp from './roleContent.vue'
+import roleContentTemp from './roleContent copy.vue'
 export default {
   data () {
     return{

+ 92 - 11
src/HManagement/roleManage/modules/edit.vue

@@ -1,46 +1,127 @@
 <template>
   <div>
-    <el-button size="mini" type="default" @click="drawer = true">编 辑</el-button>
+    <el-button size="mini" type="default" @click="editBtn">编 辑</el-button>
     <el-drawer
-      title="创建角色"
+      title="编辑角色"
       :visible.sync="drawer"
       append-to-body
-      size="80%"
+      size="30%"
       direction="rtl">
       <div class="drawer__panel">
-        <roleContentTemp :data="{roleid:$route.query.id}" @onSuccess="onSuccess">
-          <el-button slot="cancel" size="small" @click="drawer = false" class="normal-btn-width">取 消</el-button>
-        </roleContentTemp>
+        <div>
+          <el-row>
+            <el-form :inline="true" :model="form" :rules="rules" ref="form" size="small" label-width="100px" label-position="right" class="demo-form-inline">
+              <el-col :span="24">
+                <el-form-item label="角色名称" prop="rolename">
+                  <el-input v-model="form.rolename" placeholder="输入角色名称"></el-input>
+                </el-form-item>
+              </el-col>
+              <el-col :span="24">
+                <el-form-item label="角色描述" prop="remarks">
+                  <el-input v-model="form.remarks" placeholder="输入角色描述"></el-input>
+                </el-form-item>
+              </el-col>
+              <el-col :span="24">
+                <el-form-item label="角色类型" prop="usertype">
+                  <el-select v-model="form.usertype" placeholder="角色类型">
+                    <el-option v-for="item in options" :key="item.index" :label="item.remarks" :value="Number(item.value)"></el-option>
+                  </el-select>
+                </el-form-item>
+              </el-col>
+            </el-form>
+          </el-row>
+        </div>
+      </div>
+      <div class="fixed__btn__panel">
+        <el-button size="small" @click="dialogFormVisible = false" class="normal-btn-width">取 消</el-button>
+        <el-button size="small" type="primary" @click="onSubmit" class="normal-btn-width">确 定</el-button>
       </div>
     </el-drawer>
   </div>
 </template>
 
 <script>
-import roleContentTemp from './roleContent.vue'
+import roleContentTemp from './roleContent copy.vue'
 export default {
+  inject:['editData'],
   data () {
     return{
       dialogFormVisible:false,
       drawer:false,
+      options:[],
       form:{
         "roleid":0,
         "rolename":"",
-        "remarks":""
-      }
+        "remarks":"",
+        "usertype":""
+      },
+      rules:{
+        rolename: [
+          { required: true, message: '请输入角色名称', trigger: 'blur' },
+        ],
+        remarks: [
+          { required: true, message: '请输入角色描述', trigger: 'blur' },
+        ],
+        usertype: [
+          { required: true, message: '请选择角色类型', trigger: 'change' }
+        ],
+      },
     }
   },
   components:{
     roleContentTemp
   },
+  created () {
+    this.usertype()
+  },
   methods:{
+    editBtn () {
+      this.form = Object.assign({},this.form,this.editData())
+      this.drawer = true
+    },
     onSuccess () {
       this.drawer = false
       this.$emit('onSuccess')
-    }
+    },
+    async usertype () {
+      let param = {
+        "classname": "sysmanage.develop.optiontype.optiontype",
+        "method": "optiontypeselect",
+        "content": {
+            "pageNumber": 1,
+            "pageSize": 20,
+            "typename": "usertype",
+            "parameter": {
+            }
+        }
+      }
+      const res = await this.$api.requested(param)
+      this.options = res.data
+    },
+    onSubmit () {
+      this.$refs['form'].validate((valid) => {
+        if (!valid) return false
+        this.$api.requested({
+          "classname": "webmanage.role.role",
+          "method": "insertormodify_role",
+          "content": this.form
+        }).then(res=>{
+          this.tool.showMessage(res,()=>{
+            this.drawer = false
+            this.$emit('onSuccess')
+          })
+        })
+      })
+    },
   }
 }
 
 </script>
-<style>
+<style scoped>
+/deep/.el-form-item,.el-select {
+  width: 100% !important;
+}
+/deep/.el-form-item__content {
+  width: calc(100% - 100px);
+}
 </style>

+ 250 - 0
src/HManagement/roleManage/modules/roleContent copy.vue

@@ -0,0 +1,250 @@
+<template>
+  <div class="normal-panel drewer__panel">
+    <div>
+      <p class="normal-title mb-16">角色信息</p>
+      <el-form :inline="true" :model="form" :rules="rules" ref="form" size="small" label-width="100px" label-position="left" class="demo-form-inline">
+        <el-form-item label="角色名称" prop="rolename">
+          <el-input v-model="form.rolename" placeholder="输入角色名称"></el-input>
+        </el-form-item>
+        <el-form-item label="角色描述" prop="remarks">
+          <el-input v-model="form.remarks" placeholder="输入角色描述"></el-input>
+        </el-form-item>
+        <el-form-item label="角色类型" prop="usertype">
+          <el-select v-model="form.usertype" placeholder="角色类型">
+            <el-option v-for="item in options" :key="item.index" :label="item.remarks" :value="Number(item.value)"></el-option>
+          </el-select>
+        </el-form-item>
+      </el-form>
+    </div>
+    <div>
+      <p class="normal-title mb-16">角色授权</p>
+      <el-row :gutter="20">
+        <el-col :span="12">
+          <div class="mb-16">
+            <auth @onSuccess="roleMain"></auth>
+          </div>
+          <el-collapse>
+            <el-collapse-item title="筛选" name="1">
+              <el-row class="normal-margin">
+                <el-checkbox :indeterminate="isIndeterminate" v-model="checkAll" @change="handleCheckAllChange">全选</el-checkbox>
+                <div style="margin: 15px 0;"></div>
+                <el-checkbox-group v-model="checkModuleList"  @change="handleCheckedCitiesChange">
+                  <el-col style="margin-bottom:5px" :span="6"  v-for="item in modulesList" :key="item.index">
+                    <el-checkbox :label="item"></el-checkbox>
+                  </el-col>
+                </el-checkbox-group>
+              </el-row>
+            </el-collapse-item>
+          </el-collapse>
+          <tableLayout :layout="tablecols" :data="apps" :custom="false" height="500px" @rowClick="appoptionselect">
+          </tableLayout>
+        </el-col>
+        <el-col :span="11">
+          <el-row :gutter="40">
+            <el-col :span="12">
+              <p class="title">功能</p>
+              <el-row>
+                <el-checkbox-group v-model="checkedApps">
+                  <el-col class="normal-margin" v-for="item in appoptions" :key="item.rowindex">
+                    <el-checkbox :label="item.optionid">{{item.optionname}}</el-checkbox>
+                  </el-col>
+                </el-checkbox-group>
+              </el-row>
+              <div class="flex-align-center flex-between option-item">
+                <el-checkbox :indeterminate="isIndeterminate2" v-model="checkAll2" @change="handleCheckAllChange2">全选</el-checkbox>
+                <cancelAuth v-if="checkedApps.length > 0" :data="{roleid:data.roleid,systemappid:active_systemappid,optionid:checkedApps}" @onSuccess="(roleMain(),$emit('onSuccess'))"></cancelAuth>
+              </div>
+            </el-col>
+            <el-col :span="12">
+              <p class="title">隐藏字段</p>
+              <div class="flex-align-center flex-between option-item" v-for="item in hiddenfields" :key="item.index">
+                <p>{{item.fieldname}}</p>
+                <cancelFields :data="{roleid:roleid,systemappid:active_systemappid,hiddenfieldid:item.hiddenfieldid}" @onSuccess="(roleMain(),$emit('onSuccess'))"></cancelFields>
+              </div>
+            </el-col>
+          </el-row>
+        </el-col>
+      </el-row>
+    </div>
+    <div class="fixed__btn__panel">
+      <slot name="cancel"></slot>
+      <el-button type="primary" size="small" class="normal-btn-width" @click="onSubmit">保 存</el-button>
+    </div>
+  </div>
+</template>
+
+<script>
+import auth from './auth_list.vue'
+import cancelAuth from './cancel_auth.vue'
+import cancelFields from './cancel_fields.vue'
+
+export default {
+  props:['data'],
+  components:{
+    auth,
+    cancelAuth,
+    cancelFields
+  },
+  data () {
+    return{
+      isIndeterminate:false,
+      isIndeterminate2:false,
+      checkAll: true,
+      checkAll2: false,
+      rules:{
+        rolename: [
+          { required: true, message: '请输入角色名称', trigger: 'blur' },
+        ],
+        remarks: [
+          { required: true, message: '请输入角色描述', trigger: 'blur' },
+        ],
+        usertype: [
+          { required: true, message: '请选择角色类型', trigger: 'change' }
+        ],
+      },
+      form:{
+        "roleid":0,
+        "rolename":"",
+        "remarks":""
+      },
+      roleMainInfo:{},
+      options:[],
+      tablecols:[],
+      appoptions:[],
+      hiddenfields:[],
+      modulesList:[],
+      checkModuleList:[],
+      apps:[],
+      checkedApps:[],
+      roleid:0,
+      active_systemappid:''
+    }
+  },
+  methods:{
+    async roleMain () {
+      const res = await this.$api.requested({
+        "classname": "webmanage.role.role",
+        "method": "query_roleMain",
+        "content": {
+          "roleid":this.data.roleid
+        }
+      })
+      this.form = {
+        "roleid":res.data.roleid,
+        "rolename":res.data.rolename,
+        "remarks":res.data.remarks,
+        "usertype":res.data.usertype
+      }
+      this.roleMainInfo = res.data
+
+      //显示默认授权信息,一般默认信息为第一条数据
+      res.data.apps[0]?this.appoptionselect(res.data.apps[0]):''
+      this.filterModules()
+    },
+    async usertype () {
+      let param = {
+        "classname": "sysmanage.develop.optiontype.optiontype",
+        "method": "optiontypeselect",
+        "content": {
+            "pageNumber": 1,
+            "pageSize": 20,
+            "typename": "usertype",
+            "parameter": {
+            }
+        }
+      }
+      const res = await this.$api.requested(param)
+      this.options = res.data
+    },
+    async appoptionselect (row) {
+      this.active_systemappid = row.systemappid
+      this.appoptions = row.options
+      this.hiddenfields = row.hiddenfields
+    },
+    onSubmit () {
+      this.$refs['form'].validate((valid) => {
+        if (!valid) return false
+        this.$api.requested({
+          "classname": "webmanage.role.role",
+          "method": "insertormodify_role",
+          "content": this.form
+        }).then(res=>{
+          this.tool.showMessage(res,()=>{
+            this.$emit('onSuccess')
+          })
+        })
+      })
+    },
+    //遍历权限模块用于筛选
+    filterModules () {
+      let arr = this.roleMainInfo.apps.map(e=>{
+        return e.systemmodulename
+      })
+      this.modulesList = this.checkModuleList = [...new Set(arr)]
+      this.filterApps()
+    },
+    handleCheckAllChange(val) {
+      this.checkModuleList = val ? this.modulesList : [];
+      this.isIndeterminate = false;
+      this.filterApps()
+    },
+    handleCheckedCitiesChange(value) {
+      let checkedCount = value.length;
+      this.checkAll = checkedCount === this.modulesList.length;
+      this.isIndeterminate = checkedCount > 0 && checkedCount < this.modulesList.length;
+      this.filterApps()
+    },
+    filterApps () {
+      let arr = []
+      this.roleMainInfo.apps.forEach(app => {
+        this.checkModuleList.filter(e=>{
+          if (e === app.systemmodulename) {
+            arr.push(app)
+          }
+        })
+      });
+      
+      this.apps = arr
+    },
+    handleCheckAllChange2 (val) {
+      let arr = this.appoptions.map(e=>{return e.optionid})
+      this.checkedApps = val ? arr : [];
+      this.isIndeterminate2 = false;
+    },
+  },
+  mounted () {
+    // 获取应用表结构
+    this.tablecols = this.tool.tabelCol(this.$route.name).detailsAppsTable.tablecols
+    this.data.roleid !== '0'?this.roleMain():''
+    this.usertype()
+  },
+  created () {
+    // 验证是否有编辑权限,若无权限则弹出
+    // this.tool.checkAuth(this.$route.name,'update')?'':this.$router.go(-1)
+  }
+}
+
+</script>
+<style>
+</style>
+<style scoped>
+.mb-16{
+  margin-bottom:16px
+}
+.title{
+  height: 20px;
+  line-height: 20px;
+  font-size: 14px;
+  text-indent: 7px;
+  font-weight: bold;
+  color: #333333;
+  margin-bottom: 20px;
+  border-left: .3rem solid #3874F6;
+}
+.option-item{
+  color:#333333;
+  font-size: 14px;
+  border-top:1px solid #f1f2f3;
+  padding-top:16px;
+}
+</style>

+ 24 - 32
src/HManagement/roleManage/modules/roleContent.vue

@@ -1,27 +1,11 @@
 <template>
   <div class="normal-panel drewer__panel">
     <div>
-      <p class="normal-title mb-16">角色信息</p>
-      <el-form :inline="true" :model="form" :rules="rules" ref="form" size="small" label-width="100px" label-position="left" class="demo-form-inline">
-        <el-form-item label="角色名称" prop="rolename">
-          <el-input v-model="form.rolename" placeholder="输入角色名称"></el-input>
-        </el-form-item>
-        <el-form-item label="角色描述" prop="remarks">
-          <el-input v-model="form.remarks" placeholder="输入角色描述"></el-input>
-        </el-form-item>
-        <el-form-item label="角色类型" prop="usertype">
-          <el-select v-model="form.usertype" placeholder="角色类型">
-            <el-option v-for="item in options" :key="item.index" :label="item.remarks" :value="Number(item.value)"></el-option>
-          </el-select>
-        </el-form-item>
-      </el-form>
-    </div>
-    <div>
-      <p class="normal-title mb-16">角色授权</p>
       <el-row :gutter="20">
         <el-col :span="12">
           <div class="mb-16">
-            <auth @onSuccess="roleMain"></auth>
+            <el-input style="width:250px" v-model="params.content.where.condition" size="mini" @keyup.native.enter="roleMain" @clear="roleMain" placeholder="应用名称" clearable></el-input>
+            <auth style="margin-left:10px" @onSuccess="roleMain" v-if="tool.checkAuth($route.name,'auth')"></auth>
           </div>
           <el-collapse>
             <el-collapse-item title="筛选" name="1">
@@ -41,7 +25,7 @@
         </el-col>
         <el-col :span="11">
           <el-row :gutter="40">
-            <el-col :span="12">
+            <el-col :span="12" v-if="tool.checkAuth($route.name,'auth')">
               <p class="title">功能</p>
               <el-row>
                 <el-checkbox-group v-model="checkedApps">
@@ -52,7 +36,13 @@
               </el-row>
               <div class="flex-align-center flex-between option-item">
                 <el-checkbox :indeterminate="isIndeterminate2" v-model="checkAll2" @change="handleCheckAllChange2">全选</el-checkbox>
-                <cancelAuth v-if="checkedApps.length > 0" :data="{roleid:data.roleid,systemappid:active_systemappid,optionid:checkedApps}" @onSuccess="(roleMain(),$emit('onSuccess'))"></cancelAuth>
+                <cancelAuth v-if="checkedApps.length > 0" :data="{roleid:data.roleid,systemappid:active_systemappid,optionid:checkedApps}" @onSuccess="(roleMain(),$emit('onSuccess'),checkedApps=[])"></cancelAuth>
+              </div>
+            </el-col>
+            <el-col :span="12" v-else>
+              <p class="title">功能</p>
+              <div class="flex-align-center flex-between option-item" v-for="item in appoptions" :key="item.index">
+                <p>{{item.optionname}}</p>
               </div>
             </el-col>
             <el-col :span="12">
@@ -66,10 +56,6 @@
         </el-col>
       </el-row>
     </div>
-    <div class="fixed__btn__panel">
-      <slot name="cancel"></slot>
-      <el-button type="primary" size="small" class="normal-btn-width" @click="onSubmit">保 存</el-button>
-    </div>
   </div>
 </template>
 
@@ -102,6 +88,16 @@ export default {
           { required: true, message: '请选择角色类型', trigger: 'change' }
         ],
       },
+      params: {
+        "classname": "webmanage.role.role",
+        "method": "query_roleMain",
+        "content": {
+          "roleid":"",
+          "where": {
+            "condition":""
+          }
+        }
+      },
       form:{
         "roleid":0,
         "rolename":"",
@@ -122,13 +118,8 @@ export default {
   },
   methods:{
     async roleMain () {
-      const res = await this.$api.requested({
-        "classname": "webmanage.role.role",
-        "method": "query_roleMain",
-        "content": {
-          "roleid":this.data.roleid
-        }
-      })
+      this.params.content.roleid = this.data.roleid
+      const res = await this.$api.requested(this.params)
       this.form = {
         "roleid":res.data.roleid,
         "rolename":res.data.rolename,
@@ -136,7 +127,8 @@ export default {
         "usertype":res.data.usertype
       }
       this.roleMainInfo = res.data
-
+      console.log(this.params);
+      
       //显示默认授权信息,一般默认信息为第一条数据
       res.data.apps[0]?this.appoptionselect(res.data.apps[0]):''
       this.filterModules()

+ 159 - 0
src/HManagement/roleManage/modules/role_details copy.vue

@@ -0,0 +1,159 @@
+<template>
+  <div>
+    <basicDetails
+        ref="details"
+        :titleText="mainData.rolename"
+        :oldFormPath="{edit:'HManagement/roleManage/modules'}"
+        :editData="mainData"
+        :mainAreaData="mainAreaData"
+        turnPageId="20221101131902"
+        delApiId="20221101132002"
+        idname="roleid"
+        ownertable="sys_role"
+        tags=""
+        :tabs="['授权信息']"
+        @pageChange="pageChange"
+        @onEditSuccess="queryMainData($route.query.id)">
+      <div slot="tags">
+      </div>
+      <div slot="customOperation" >
+      </div>
+      <div class="container normal-panel" slot="slot0" >
+        <el-row :gutter="20">
+          <el-col :span="12">
+            <tableLayout :layout="tablecols" :data="roleMainInfo.apps" height="500px" :custom="false" @rowClick="appoptionselect">
+            </tableLayout>
+          </el-col>
+          <el-col :span="11">
+            <el-row :gutter="40">
+              <el-col :span="12">
+                <p class="title">功能</p>
+                <div class="flex-align-center flex-between option-item" v-for="item in appoptions" :key="item.index">
+                  <p>{{item.optionname}}</p>
+                </div>
+              </el-col>
+              <el-col :span="12">
+                <p class="title">隐藏字段</p>
+                <div class="flex-align-center flex-between option-item" v-for="item in hiddenfields" :key="item.index">
+                  <p>{{item.fieldname}}</p>
+                </div>
+              </el-col>
+            </el-row>
+          </el-col>
+        </el-row>
+      </div>
+    </basicDetails>
+  </div>
+</template>
+
+<script>
+export default {
+  name: "detail",
+  data() {
+    return {
+      mainData:{},
+      mainAreaData:{},
+      form:{
+        "roleid":0,
+        "rolename":"",
+        "remarks":""
+      },
+      roleMainInfo:{},
+      tablecols:[],
+      appoptions:[],
+      hiddenfields:[],
+      roleid:0,
+      active_systemappid:''
+    }
+  },
+  components:{
+  },
+  methods:{
+    async queryMainData(id) {
+      const res = await this.$api.requested({
+        "classname": "webmanage.role.role",
+        "method": "query_roleMain",
+        "content": {
+          "roleid":this.$route.query.id
+        }
+      })
+      this.mainData = res.data
+      this.form = {
+        "roleid":res.data.roleid,
+        "rolename":res.data.rolename,
+        "remarks":res.data.remarks,
+        "usertype":res.data.usertype,
+        "usertypename":res.data.usertypename
+      }
+      this.roleMainInfo = res.data
+      
+      //显示默认授权信息,一般默认信息为第一条数据
+      res.data.apps[0]?this.appoptionselect(res.data.apps[0]):''
+      this.changeDataStructure()
+    },
+    changeDataStructure() {
+      this.mainAreaData = [
+        {
+          label:'角色名称',
+          value:this.mainData.rolename
+        },
+        {
+          label:'角色描述',
+          value:this.mainData.remarks
+        },
+        {
+          label:'角色类型',
+          value:this.mainData.usertypename
+        }
+      ]
+    },
+    // 监听切换数据,上一页,下一页
+    pageChange (id,rowindex,tabIndex) {
+      this.flag = false
+      tabIndex = this.$route.query.tabIndex
+      this.$router.replace({path:'/roleDetail',query:{id:id,rowindex:rowindex,tabIndex:tabIndex}})
+      this.queryMainData(id)
+    },
+    onSuccess(){
+      this.visible = false
+      this.queryMainData(this.$route.query.id)
+      this.$emit('onSuccess')
+    },
+    async appoptionselect (row) {
+      this.active_systemappid = row.systemappid
+      this.appoptions = row.options
+      this.hiddenfields = row.hiddenfields
+    },
+  },
+  mounted () {
+   // 获取应用表结构
+    this.tablecols = this.tool.tabelCol(this.$route.name).detailsAppsTable.tablecols
+    this.roleid = this.$route.query.id
+    this.roleid !== '0'?this.queryMainData():''
+  },
+  created() {
+  }
+}
+</script>
+
+<style scoped>
+.mb-16{
+  margin-bottom:16px
+}
+.title{
+  height: 20px;
+  line-height: 20px;
+  font-size: 14px;
+  text-indent: 7px;
+  font-weight: bold;
+  color: #333333;
+  margin-bottom: 20px;
+  border-left: .3rem solid #3874F6;
+}
+.option-item{
+  color:#333333;
+  font-size: 14px;
+  border-bottom:1px solid #f1f2f3;
+  line-height: 35px;
+}
+</style>

+ 10 - 22
src/HManagement/roleManage/modules/role_details.vue

@@ -19,34 +19,16 @@
       <div slot="customOperation" >
       </div>
       <div class="container normal-panel" slot="slot0" >
-        <el-row :gutter="20">
-          <el-col :span="12">
-            <tableLayout :layout="tablecols" :data="roleMainInfo.apps" height="500px" :custom="false" @rowClick="appoptionselect">
-            </tableLayout>
-          </el-col>
-          <el-col :span="11">
-            <el-row :gutter="40">
-              <el-col :span="12">
-                <p class="title">功能</p>
-                <div class="flex-align-center flex-between option-item" v-for="item in appoptions" :key="item.index">
-                  <p>{{item.optionname}}</p>
-                </div>
-              </el-col>
-              <el-col :span="12">
-                <p class="title">隐藏字段</p>
-                <div class="flex-align-center flex-between option-item" v-for="item in hiddenfields" :key="item.index">
-                  <p>{{item.fieldname}}</p>
-                </div>
-              </el-col>
-            </el-row>
-          </el-col>
-        </el-row>
+        <roleContentTemp :data="{roleid:$route.query.id}" @onSuccess="onSuccess">
+          <el-button slot="cancel" size="small" @click="drawer = false" class="normal-btn-width">取 消</el-button>
+        </roleContentTemp>
       </div>
     </basicDetails>
   </div>
 </template>
 
 <script>
+import roleContentTemp from './roleContent.vue'
 export default {
   name: "detail",
   data() {
@@ -66,7 +48,13 @@ export default {
       active_systemappid:''
     }
   },
+  provide () {
+    return {
+      editData: () => this.form
+    }
+  },
   components:{
+    roleContentTemp
   },
   methods:{
     async queryMainData(id) {

+ 1 - 1
src/SManagement/archives_sc/archives_details/detail.vue

@@ -1,5 +1,5 @@
 <template>
-  <el-drawer title="详情" :visible.sync="isFileInfoPanlShow" :with-header="true">
+  <el-drawer append-to-body title="详情" :visible.sync="isFileInfoPanlShow" :with-header="true">
     <div class="top">
       <p class="title">{{currentSelectFile.classname}} {{currentSelectFile.title}}</p>
       <div class="info1">

+ 2 - 1
src/SManagement/orderclue/components/follow.vue

@@ -1,10 +1,11 @@
 <template>
-  <div class="follow" style="width:100%" v-if="isHandle">
+  <div class="follow" style="width:100%">
     <el-button 
       style="width:100%"
       size="mini" 
       type="text"
       @click="followBtn"
+      :disabled="!isHandle"
     >跟进</el-button>
     <el-dialog title="线索跟进" append-to-body :visible.sync="dialogVisible" width="900" :before-close="handleClose">
       <el-form :model="param" :rules="rules" ref="ruleForm" label-width="80px" class="demo-ruleForm"

+ 1 - 1
src/SManagement/orderclue/index.vue

@@ -85,7 +85,7 @@ export default {
     },
     list (param) {
       param.content.isAll = 0
-    }
+    },
   }
 }
 

+ 1 - 2
src/SManagement/orderclue_detail/index.vue

@@ -21,8 +21,7 @@
               @updataList="updataList" 
               v-if="userInfo.name == mainData.leadername ? mainData.status == '待跟进' || mainData.status == '跟进中' : ''"></follow> -->
         <follow :detailInfo="mainData" 
-          @updataList="queryMainData" 
-          v-if="mainData.status == '待跟进' || mainData.status == '跟进中'"></follow>
+          @updataList="queryMainData"></follow>
           <el-button size="mini" slot="reference" icon="el-icon-more"></el-button>
         <!-- <move :data="[scope.data.data.sat_orderclueid]" 
           @updataList="updataList"