MrShi
2024-11-22 ba5f8ce99b414a89d1e21a650321bf373773e7ae
优化
已修改25个文件
190 ■■■■■ 文件已修改
company/.env 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/.env.development 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/.env.developmentCom 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/.env.developmentShop 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/.env.production 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/.env.productionCom 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/.env.productionShop 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/components/business/OperaApplyChangeCheckWindow.vue 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/components/business/OperaApplyChangeUnitCheckWindow.vue 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/components/business/OperaCompanyUserApplyWindow.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/components/business/OperaInsuranceApplyWindow.vue 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/components/business/OperaWtbApplyShopWindow.vue 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/components/business/allocateEnterprises.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/components/business/detailsEntrustedInsurance.vue 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/components/business/modification.vue 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/components/common/CommonHeader.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/components/system/role/PermissionConfigWindow.vue 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/components/system/user/RoleConfigWindow.vue 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/utils/request.js 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/utils/resetMessage.js 34 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/views/business/insuranceApply.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/views/enterprise/insuranceApply.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/views/index.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/views/system/role.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/views/system/user.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/.env
@@ -4,7 +4,7 @@
VUE_APP_ROUTER_MODE = 'hash'
# 项目上下文路径
VUE_APP_CONTEXT_PATH = '/yyb_admin'
# VUE_APP_CONTEXT_PATH = '/yyb_admin'
# VUE_APP_CONTEXT_PATH = '/yyb_web'
# VUE_APP_CONTEXT_PATH = '/yyb_shop'
company/.env.development
@@ -4,11 +4,12 @@
# 接口前缀
VUE_APP_API_PREFIX = '/yyb_admin_api'
VUE_APP_SYSTEM_TITLE = '云易保客户服务系统-平台端'
VUE_APP_CONTEXT_PATH = '/yyb_admin'
VUE_APP_COOKIE_NAME='dmplat-auth-token'
# 测试服
# VUE_APP_API = 'https://dmtest.ahapp.net/yyb_admin_api/'
VUE_APP_API = 'https://dmtest.ahapp.net/yyb_admin_api/'
# 任康
VUE_APP_API = 'http://192.168.0.147:10030/'
# VUE_APP_API = 'http://192.168.0.147:10030/'
company/.env.developmentCom
@@ -4,11 +4,11 @@
# 接口前缀
# VUE_APP_API_PREFIX = '/yyb_admin_api'
VUE_APP_SYSTEM_TITLE = '云易保客户服务系统-企业端'
VUE_APP_CONTEXT_PATH = '/yyb_web'
VUE_APP_COOKIE_NAME='doumee-auth-token'
#VUE_APP_API = 'https://dmtest.ahapp.net/yyb_web_api/'
VUE_APP_API = 'https://dmtest.ahapp.net/yyb_web_api/'
VUE_APP_API = 'http://192.168.0.147:10031/'
# VUE_APP_API = 'http://192.168.0.147:10031/'
# VUE_APP_API = 'https://www.yyb.red/yyb_web_api/'
company/.env.developmentShop
@@ -5,9 +5,10 @@
# VUE_APP_API_PREFIX = '/yyb_admin_api'
VUE_APP_COOKIE_NAME='dmshop-auth-token'
VUE_APP_SYSTEM_TITLE = '云易保客户服务系统-商户端'
#VUE_APP_API = 'https://www.yyb.red/yyb_shop_api/'
VUE_APP_CONTEXT_PATH = '/yyb_shop'
VUE_APP_API = 'https://dmtest.ahapp.net/yyb_shop_api/'
 VUE_APP_API = 'http://192.168.0.147:10032/'
# VUE_APP_API = 'http://192.168.0.147:10032/'
#VUE_APP_API = 'http://localhost:10032/'
company/.env.production
@@ -1,12 +1,12 @@
# 生产环境配置
NODE_ENV = 'production'
# VUE_APP_CONTEXT_PATH = '/admin'
VUE_APP_API_PREFIX = '/yyb_admin_api'
VUE_APP_CONTEXT_NAME = 'admin'
VUE_APP_CONTEXT_NAME = 'yyb_admin'
VUE_APP_COOKIE_NAME='dmplat-auth-token'
VUE_APP_SYSTEM_TITLE = '云易保客户服务系统-平台端'
VUE_APP_CONTEXT_PATH = '/yyb_admin'
# 平台端
VUE_APP_API = 'https://dmtest.ahapp.net/yyb_admin_api/'
company/.env.productionCom
@@ -3,9 +3,9 @@
VUE_APP_API_PREFIX = '/yyb_web_api'
#VUE_APP_CONTEXT_PATH = '/company'
VUE_APP_CONTEXT_PATH = '/yyb_web'
VUE_APP_CONTEXT_NAME = 'company'
VUE_APP_CONTEXT_NAME = 'yyb_company'
VUE_APP_COOKIE_NAME='doumee-auth-token'
company/.env.productionShop
@@ -1,11 +1,10 @@
# 生产环境配置
NODE_ENV = 'production'
VUE_APP_CONTEXT_PATH = '/shop'
VUE_APP_API_PREFIX = '/yyb_shop_api'
VUE_APP_CONTEXT_NAME = 'shop'
VUE_APP_CONTEXT_NAME = 'yyb_shop'
VUE_APP_COOKIE_NAME='dmshop-auth-token'
VUE_APP_CONTEXT_PATH = '/yyb_shop'
# 平台端
# VUE_APP_API = 'https://dmtest.ahapp.net/yyb_shop_api/'
company/src/components/business/OperaApplyChangeCheckWindow.vue
@@ -122,7 +122,7 @@
                <div class="form_item">
                    <div class="form_item_label"><span>*</span>上传批单:</div>
                    <div class="form_item_val">
                      <UploadFile :uploadData="{ folder: 'apply',fileType:'.pdf' }" :fileList="form.fileList2" @uploadSuccess="editBaoxianFileUploaded" />
                      <UploadFile :limit="99" :uploadData="{ folder: 'apply',fileType:'.pdf' }" @remove="removeEditPiDan" :fileList="form.fileList2" @uploadSuccess="editBaoxianFileUploaded" />
                    </div>
                </div>
                <div class="form_item">
@@ -186,7 +186,7 @@
        delValidTime: null,
        validCode: null,
        pidanFile: [],
        editPidanFile: null,
        editPidanFile: [],
        fileList1: [],
        fileList2: [],
        selectRadio: 0
@@ -218,7 +218,7 @@
        applyStartTime: null,
        validCode: null,
        pidanFile: [],
        editPidanFile: null,
        editPidanFile: [],
        fileList1: [],
        fileList2: [],
        selectRadio: 0
@@ -323,7 +323,14 @@
      })
    },
    editBaoxianFileUploaded (data) {
      this.form.editPidanFile = data
      this.form.editPidanFile.push(data)
    },
    removeEditPiDan(e) {
        this.form.editPidanFile.forEach((item, index) => {
            if (e === item.imgaddr) {
                this.form.editPidanFile.splice(index, 1)
            }
        })
    },
    backDo () {
      this.$dialog.messageConfirm('确认进行该操作吗?')
company/src/components/business/OperaApplyChangeUnitCheckWindow.vue
@@ -54,7 +54,7 @@
                <div class="form_item">
                    <div class="form_item_label">上传批单:</div>
                    <div class="form_item_val">
                      <UploadFile :uploadData="{ folder: 'apply',fileType:'.pdf' }" :fileList="form.fileList1" @uploadSuccess="baoxianFileUploaded" />
                      <UploadFile :uploadData="{ folder: 'apply',fileType:'.pdf' }" :limit="99" :fileList="form.fileList1" @remove="removePIDAN" @uploadSuccess="baoxianFileUploaded" />
                    </div>
                </div>
            </div>
@@ -135,7 +135,7 @@
          editValidCode: '',
          applyStartTime:null,
         validCode:null,
          pidanFile:null,
          pidanFile:[],
         editPidanFile:null,
          fileList1: [],
          fileList2: [],
@@ -166,7 +166,7 @@
         editValidCode: '',
         applyStartTime:null,
         validCode:null,
         pidanFile:null,
         pidanFile:[],
         editPidanFile:null,
         fileList1: [],
         fileList2: [],
@@ -219,7 +219,14 @@
       }
    },
    baoxianFileUploaded(data){
      this.form.pidanFile=data
      this.form.pidanFile.push(data)
    },
      removePIDAN(e) {
          this.form.pidanFile.forEach((item, index) => {
              if (item.imgaddr === e) {
                  this.form.pidanFile.splice(index, 1)
              }
          })
    },
    editBaoxianFileUploaded(data){
      this.form.editPidanFile=data
company/src/components/business/OperaCompanyUserApplyWindow.vue
@@ -40,7 +40,7 @@
                    show-word-limit />
            </el-form-item>
            <el-form-item label="授权书" prop="multifileList">
                <UploadFile @remove="deleFile" :limit="99" :uploadData="{ folder: 'companyUserApply', fileType:'.pdf' }" :fileList="fileList" @uploadSuccess="editFanganFile" />
                <UploadFile v-if="visible" @remove="deleFile" :limit="99" :uploadData="{ folder: 'companyUserApply', fileType:'.pdf' }" :fileList="fileList" @uploadSuccess="editFanganFile" />
            </el-form-item>
        </el-form>
    </GlobalWindow>
company/src/components/business/OperaInsuranceApplyWindow.vue
@@ -19,7 +19,10 @@
                <div class="desc_item_label">
                    <div class="desc_item_label_left">
                        <span>投保企业:{{ model.companyName }}</span>
                        <span>保单状态:<span  :class="'apply-status'+model.status" >{{ model.statusInfo }}</span></span>
                        <span>保单状态:
                            <span style="color: #f95601;" v-if="[5,27].includes(model.status) && model.statusInfo === '待生效'">{{ model.statusInfo }}</span>
                            <span :class="'apply-status'+model.status" v-else>{{ model.statusInfo }}</span>
                        </span>
                        <span>提交时间:{{ model.createDate }}</span>
                    </div>
                  <div class="desc_item_label_right">
@@ -49,7 +52,7 @@
                      <el-button  v-if="[6,7,8,11].includes(model.status) && model.solutionType ==0" type="primary" @click="$refs.OperaInsuranceApplyCheckWindow.open('驳回退回申请',model,5)">驳回退回申请</el-button>
                      <el-button v-if="[22, 0].includes(model.status) && [0,1].includes(model.solutionType)" type="primary" @click="$refs.InsuranceDetails.open('投保审核',model,1)">投保审核</el-button>
                      <el-button v-if="![1, 4, 5].includes(model.status) && [0,1].includes(model.solutionType)" type="danger" @click="$refs.OperaInsuranceApplyCheckWindow.open('退回申请',model,1)">退回申请</el-button>
                      <el-button v-if="[5,27].includes(model.status) && userInfo.type === 0" type="danger" @click="$refs.OperaInsuranceApplyCheckWindow.open('修改保险单',model,4)">修改保险单</el-button>
                      <el-button v-if="[5,27].includes(model.status) && ['待生效'].includes(model.statusInfo) && userInfo.type === 0" type="danger" @click="$refs.OperaInsuranceApplyCheckWindow.open('修改保险单',model,4)">修改保险单</el-button>
                    </template>
                  </div>
@@ -244,7 +247,7 @@
                            <template slot-scope="{row}">
                                <span v-if="row.applyStatus === 0" style="color: #00BA92;">保障中</span>
                                <span v-if="row.applyStatus === 1" style="color: #999;">不在保</span>
                                <span v-if="row.applyStatus === 2" style="color: #00BA92;">待生效</span>
                                <span v-if="row.applyStatus === 2" style="color: #f95601;">待生效</span>
                            </template>
                        </el-table-column>
                        <el-table-column
@@ -421,7 +424,7 @@
                            :key="Math.random()"
                            prop="changeNum"
                            align="center"
                            label="更换工种人数">
                            :label="model.hasDispatchUnit !== 1 ? '更换派遣单位人数' : '更换工种人数'">
                          <template scope="{row}">
                            {{row.changeNum||0}} 人
                          </template>
@@ -996,14 +999,18 @@
            .desc_item_label {
                width: 100%;
                display: flex;
                align-items: center;
                justify-content: space-between;
                align-items: start;
                flex-direction: column;
                margin-bottom: 10px;
                span {
                    font-size: 14px;
                    color: black;
                    margin-right: 30px;
                }
                .desc_item_label_right {
                    width: 100%;
                    margin: 10px 0;
                }
            }
            .desc_item_from {
                width: 100%;
company/src/components/business/OperaWtbApplyShopWindow.vue
@@ -20,7 +20,9 @@
                    <div class="desc_item_label_left">
                        <span>投保人:{{ model.shopName }}</span>
                        <span>被保险人:{{ model.companyName }}</span>
                      <span>保单状态:<span  :class="'apply-status'+model.status" >{{ model.statusInfo }}</span></span>
                      <span>保单状态:
                          <span  :class="'apply-status'+model.status" >{{ model.statusInfo }}</span>
                      </span>
                        <span>提交时间:{{ model.createDate }}</span>
                    </div>
                  <div class="desc_item_label_right">
@@ -127,6 +129,7 @@
                                    <el-option label="全部" value="0"></el-option>
                                    <el-option label="保障中" value="1"></el-option>
                                    <el-option label="不在保" value="2"></el-option>
                                    <el-option label="待生效" value="3"></el-option>
                                </el-select>
                            </el-form-item>
                            <el-form-item label="派遣单位" prop="duId" v-if="model.hasDispatchUnit !== 1">
@@ -246,9 +249,9 @@
                            :key="Math.random()"
                            label="在保状态">
                            <template slot-scope="{row}">
                                <span v-if="row.applyStatus === 0">保障中</span>
                                <span v-if="row.applyStatus === 1">不在保</span>
                                <span v-if="row.applyStatus === 2">待生效</span>
                                <span v-if="row.applyStatus === 0" style="color: #00BA92;">保障中</span>
                                <span v-if="row.applyStatus === 1" style="color: #999;">不在保</span>
                                <span v-if="row.applyStatus === 2" style="color: #f95601;">待生效</span>
                            </template>
                        </el-table-column>
                        <el-table-column
@@ -415,7 +418,7 @@
                            :key="Math.random()"
                            prop="changeNum"
                            align="center"
                            label="更换派遣单位人数">
                            :label="model.hasDispatchUnit !== 1 ? '更换派遣单位人数' : '更换工种人数'">
                        </el-table-column>
                        <el-table-column
                            :key="Math.random()"
company/src/components/business/allocateEnterprises.vue
@@ -3,7 +3,7 @@
        class="menu-config-dialog"
        :visible.sync="visible"
        :confirm-working="isWorking"
        width="576px"
        width="800px"
        title="分配服务企业"
        @confirm="confirm"
    >
@@ -93,7 +93,11 @@
    }
  }
</script>
<style>
    .el-transfer-panel {
        width: 300px !important;
    }
</style>
<style scoped lang="scss">
    @import "@/assets/style/variables.scss";
    .global-window {
company/src/components/business/detailsEntrustedInsurance.vue
@@ -28,6 +28,11 @@
              <el-button v-if="[2,3,4].includes(model.status)" type="primary" @click="viewToubaodan">{{model.signType === 1 ? '查看申请单' : '查看投保单'}}</el-button>
<!--              <el-button v-if="[2].includes(model.status) " type="primary" @click="$refs.OperaUnionApplyCheckWindow.open('上传保险单',model,3)">上传保险单</el-button>-->
              <el-button v-if="model.status == 3" type="primary" @click="viewBaoxiandan">查看保险单</el-button>
              <el-button v-if="[2,3,4,1,5].includes(model.status) && (model.toubaodanFile || model.toubaodanSignedFile)" type="primary" @click="viewToubaodan">{{model.signType === 1 ? '查看申请单' : '查看投保单'}}</el-button>
              <el-button v-if="[0,1,2,5].includes(model.status) " type="danger" @click="$refs.OperaUnionApplyCheckWindow.open('退回申请',model,1)">退回申请</el-button>
              <el-button v-if="[5].includes(model.status)" type="primary" @click="fusheng">投保复审</el-button>
              <el-button v-if="[0,1,2].includes(model.status) " type="danger" @click="$refs.OperaUnionApplyCheckWindow.open('退回申请',model,1)">退回申请</el-button>
            </template>
            <template v-if="userInfo.type ===0">
company/src/components/business/modification.vue
@@ -124,9 +124,10 @@
        if (item.id === e) {
          baseId = item.baseId
          this.form.solutionList[index].solution.type = item.type
          if(item.type == 1){
          // console.log(item.type)
          // if(item.type == 1){
            this.form.solutionList[index].shopId =item.shopId
          }
          // }
        }
      })
company/src/components/common/CommonHeader.vue
@@ -214,7 +214,11 @@
  }
}
</script>
<style>
  .el-dropdown-menu {
    width: 240px !important;
  }
</style>
<style scoped lang="scss">
@import "@/assets/style/variables.scss";
.common-header {
company/src/components/system/role/PermissionConfigWindow.vue
@@ -2,7 +2,7 @@
  <GlobalWindow
    :visible.sync="visible"
    :confirm-working="isWorking"
    width="582px"
    width="800px"
    title="配置角色权限"
    @confirm="confirm"
  >
@@ -122,3 +122,8 @@
  }
}
</style>
<style>
  .el-transfer-panel {
    width: 300px !important;
  }
</style>
company/src/components/system/user/RoleConfigWindow.vue
@@ -2,7 +2,7 @@
  <GlobalWindow
    :visible.sync="visible"
    :confirm-working="isWorking"
    width="582px"
    width="800px"
    title="配置用户角色"
    @confirm="confirm"
  >
@@ -125,3 +125,8 @@
  }
}
</style>
<style>
  .el-transfer-panel {
    width: 300px !important;
  }
</style>
company/src/utils/request.js
@@ -42,6 +42,7 @@
// 新建响应拦截器
axiosInstance.interceptors.response.use((response) => {
  // console.log(response)
  // 请求失败
  if (response.status !== 200) {
    return Promise.reject(new Error('服务器繁忙,请稍后再试'))
@@ -64,6 +65,7 @@
  }
  return response.data.data
}, function (error) {
  console.log(error)
  if (error.code == null) {
    return Promise.reject(new Error('服务器繁忙,请稍后再试'))
  }
company/src/utils/resetMessage.js
@@ -1,32 +1,18 @@
//resetMessage.js
/**重置message,防止重复点击重复弹出message消息提示 */
import {
  Message
} from 'element-ui';
import { Message } from 'element-ui';
let messageInstance = null;
const resetMessage = (options) => {
export const showMessage = (message) => {
  if(messageInstance) {
    messageInstance.close();
    // 如果已经存在一个消息提示实例,则先关闭它
    Message.closeAll();
  }
  Message.closeAll(); //手动关闭所有消息提示实例
  messageInstance = Message(options);
  // console.log(Message(options));
};
['error','success','info','warning'].forEach(type => {
  resetMessage[type] = options => {
    if(typeof options === 'string') {
      options = {
        message:options
  // 显示新的消息提示,并保存该实例
  messageInstance = Message({
    message: message,
    onClose: () => {
      messageInstance = null; // 当消息提示关闭时,将实例置为null
      }
  });
    }
    options.type = type
    return resetMessage(options)
  }
})
export const message = resetMessage
company/src/views/business/insuranceApply.vue
@@ -73,6 +73,7 @@
                    <span style="color: #666;" v-if="[9,25,27,5].includes(row.status) && ['已关闭','已过期'].includes(row.statusInfo)">{{row.statusInfo}}</span>
                    <span style="color: red;" v-else-if="row.status === 4 && row.statusInfo === '已退回'">{{ row.statusInfo}}</span>
                    <span style="color: #f95601;" v-else-if="[5,27].includes(row.status) && row.statusInfo === '待生效'">{{ row.statusInfo}}</span>
                      <span style="color: #216EEE;" v-else-if="[12].includes(row.status) && row.statusInfo === '待审核'">{{ row.statusInfo}}</span>
                    <span :class="'apply-status'+row.status" v-else>{{row.statusInfo}}</span>
                  </template>
                </el-table-column>
company/src/views/enterprise/insuranceApply.vue
@@ -57,6 +57,7 @@
                  <span style="color: #666;" v-if="[9,25,27,5].includes(row.status) && ['已关闭','已过期'].includes(row.statusInfo)">{{row.statusInfo}}</span>
                  <span style="color: red;" v-else-if="row.status === 4 && row.statusInfo === '已退回'">{{ row.statusInfo}}</span>
                  <span style="color: #f95601;" v-else-if="[5,27].includes(row.status) && row.statusInfo === '待生效'">{{ row.statusInfo}}</span>
                  <span style="color: #216EEE;" v-else-if="[12].includes(row.status) && row.statusInfo === '待审核'">{{ row.statusInfo}}</span>
                  <span :class="'apply-status'+row.status" v-else>{{row.statusInfo}}</span>
<!--                <span :class="'apply-status'+row.status" >{{row.statusInfo}}</span>-->
              </template>
@@ -199,7 +200,7 @@
    isShow(status, endTime) {
      const currentDate = new Date();
      const specifiedDate = new Date(endTime);
      return status === 5 && (currentDate < specifiedDate);
      return [5,27].includes(status) && (currentDate < specifiedDate);
    },
    changeStatus(e) {
      if (e.indexOf(',') !== -1) {
@@ -221,7 +222,6 @@
        this.search()
      },
    result(flag,param){
      console.log(flag,param)
      if(param && param.godetail && param.id){
        if (param.type == 1) {
          this.$refs.OperaWtbApplyShopWindow.open('委托投保详情', { id: param.id })
company/src/views/index.vue
@@ -147,7 +147,7 @@
          </div>
          <div class="home_content_right_page">
            <el-pagination
              @current-change="handleCurrentChange2"
              @current-change="handleCurrentChange6"
              :current-page="page6"
              :page-size="5"
              layout="total, prev, pager, next, jumper"
@@ -187,10 +187,10 @@
          </div>
        </div>
        <div v-if="activeName === '8'">
          <div class="home_content_right_list" v-if="tableData7 && tableData7.length">
            <div class="list_item" v-for="(item, index) in tableData7" :key="index">
          <div class="home_content_right_list" v-if="tableData8 && tableData8.length">
            <div class="list_item" v-for="(item, index) in tableData8" :key="index">
              <div class="list_item_left">
                <span>{{item.title}}({{ item.typeDetail }})</span>
                <span>{{item.title}}(待审核)</span>
                <span>{{item.info}}({{item.content}})</span>
              </div>
              <div class="list_item_center">
company/src/views/system/role.vue
@@ -42,12 +42,12 @@
        <el-table-column
          v-if="containPermissions(['system:role:update', 'system:role:createRolePermission', 'system:role:createRoleMenu', 'system:role:delete'])"
          label="操作"
          min-width="330"
          min-width="260"
          fixed="right"
        >
          <template slot-scope="{row}">
            <el-button type="text" @click="$refs.operaRoleWindow.open('编辑角色', row)" icon="el-icon-edit" v-permissions="['system:role:update']">编辑</el-button>
            <el-button type="text" @click="openRole(row.systemDataPermission, row.id)">数据权限</el-button>
<!--            <el-button type="text" @click="openRole(row.systemDataPermission, row.id)">数据权限</el-button>-->
            <el-button type="text" @click="$refs.permissionConfigWindow.open(row)" v-permissions="['system:role:createRolePermission']">配置权限</el-button>
            <el-button type="text" @click="$refs.menuConfigWindow.open(row)" icon="el-icon-menu" v-permissions="['system:role:createRoleMenu']">授权菜单</el-button>
            <el-button v-if="!row.fixed" type="text" @click="deleteById(row)" icon="el-icon-delete" v-permissions="['system:role:delete']">删除</el-button>
company/src/views/system/user.vue
@@ -76,7 +76,7 @@
        >
<!--          row.id !== userInfo.id &&-->
          <template v-if="isAdmin || (row.roles.findIndex(r => r.code === adminCode) === -1)" slot-scope="{row}">
            <el-button type="text" icon="el-icon-edit" @click="$refs.operaUserWindow.open('编辑用户', {...row, departmentId: row.companyDepartmentPathId.substring(0, row.companyDepartmentPathId.length - 1).split('/').map(val => +val)})" v-permissions="['system:user:update']">编辑</el-button>
                        <el-button type="text" icon="el-icon-edit" @click="$refs.operaUserWindow.open('编辑用户', {...row, departmentId: row.companyDepartmentPathId ? row.companyDepartmentPathId.substring(0, row.companyDepartmentPathId.length - 1).split('/').map(val => +val) : '' })" v-permissions="['system:user:update']">编辑</el-button>
            <el-button type="text" @click="$refs.allocationEnterprises.open('分配企业', row)" v-if="[0,2].includes(userInfo.type)">分配企业</el-button>
            <el-button type="text" icon="el-icon-s-custom" @click="$refs.roleConfigWindow.open(row)" v-permissions="['system:user:createUserRole']">配置角色</el-button>
            <el-button type="text" @click="$refs.resetPwdWindow.open(row)" v-permissions="['system:user:resetPwd']">重置密码</el-button>