add report

main
chenshuichuan 2 years ago
parent 932230be5a
commit 2e81832f31

@ -19,7 +19,7 @@ export function create(data) {
return request({
url: '/admin-api/mes/plan/create',
method: 'post',
params: data
data: data
})
}
// 更新
@ -27,7 +27,7 @@ export function update(data) {
return request({
url: '/admin-api/mes/plan/update',
method: 'put',
params: data
data: data
})
}
@ -36,7 +36,7 @@ export function paigong(data) {
return request({
url: '/admin-api/mes/plan/paigong',
method: 'put',
params: data
data: data
})
}
// 更改状态:开工、暂停
@ -44,7 +44,7 @@ export function updateStatus(data) {
return request({
url: '/admin-api/mes/plan/updateStatus',
method: 'put',
params: data
data: data
})
}

@ -1,34 +1,61 @@
import upload from '@/utils/upload'
import request from '@/utils/request'
// 查询分页
export function getPage() {
export function getMyList() {
return request({
url: '/admin-api/mes/plan/page',
url: '/admin-api/mes/produce-report/getMyList',
method: 'get'
})
}
// 查询分页
export function getOtherList() {
return request({
url: '/admin-api/mes/produce-report/getOtherList',
method: 'get'
})
}
// 查询详情
export function getById(id) {
return request({
url: '/admin-api/mes/plan/get?id='+id,
url: '/admin-api/mes/produce-report/get?id='+id,
method: 'get'
})
}
// 创建
export function create(data) {
return request({
url: '/admin-api/mes/plan/create',
url: '/admin-api/mes/produce-report/create',
method: 'post',
params: data
data: data
})
}
// 更新
export function update(data) {
return request({
url: '/admin-api/mes/plan/update',
url: '/admin-api/mes/produce-report/update',
method: 'put',
params: data
data: data
})
}
// 提交\审核报工单
export function updateStatus(id,status) {
return request({
url: '/admin-api/mes/produce-report/updateStatus?id='+id+'&status='+status,
method: 'get'
})
}
// 查询详情
export function getDetailByReportId(id) {
return request({
url: '/admin-api/mes/produce-report/produce-report-detail/list-by-report-id?reportId='+id,
method: 'get'
})
}
// 查询详情
export function deleteByReportId(id) {
return request({
url: '/admin-api/mes/produce-report/delete?id='+id,
method: 'delete'
})
}

@ -1,12 +1,17 @@
{
"name" : "ruoyi-vue3",
"appid" : "__UNI__3DD118D",
"name" : "必硕生管系统",
"appid" : "__UNI__AED03F6",
"description" : "",
"versionName" : "1.0.0",
"versionCode" : "100",
"transformPx" : false,
/* 5+App */
"app-plus" : {
"compatible" : {
"ignoreVersion" : true,
"runtimeVersion" : "4.15", //
"compilerVersion" : "4.15" //
},
"usingComponents" : true,
"nvueStyleCompiler" : "uni-app",
"compilerVersion" : 3,
@ -41,9 +46,45 @@
]
},
/* ios */
"ios" : {},
"ios" : {
"dSYMs" : false
},
/* SDK */
"sdkConfigs" : {}
"sdkConfigs" : {
"ad" : {}
},
"icons" : {
"android" : {
"hdpi" : "unpackage/res/icons/72x72.png",
"xhdpi" : "unpackage/res/icons/96x96.png",
"xxhdpi" : "unpackage/res/icons/144x144.png",
"xxxhdpi" : "unpackage/res/icons/192x192.png"
},
"ios" : {
"appstore" : "unpackage/res/icons/1024x1024.png",
"ipad" : {
"app" : "unpackage/res/icons/76x76.png",
"app@2x" : "unpackage/res/icons/152x152.png",
"notification" : "unpackage/res/icons/20x20.png",
"notification@2x" : "unpackage/res/icons/40x40.png",
"proapp@2x" : "unpackage/res/icons/167x167.png",
"settings" : "unpackage/res/icons/29x29.png",
"settings@2x" : "unpackage/res/icons/58x58.png",
"spotlight" : "unpackage/res/icons/40x40.png",
"spotlight@2x" : "unpackage/res/icons/80x80.png"
},
"iphone" : {
"app@2x" : "unpackage/res/icons/120x120.png",
"app@3x" : "unpackage/res/icons/180x180.png",
"notification@2x" : "unpackage/res/icons/40x40.png",
"notification@3x" : "unpackage/res/icons/60x60.png",
"settings@2x" : "unpackage/res/icons/58x58.png",
"settings@3x" : "unpackage/res/icons/87x87.png",
"spotlight@2x" : "unpackage/res/icons/80x80.png",
"spotlight@3x" : "unpackage/res/icons/120x120.png"
}
}
}
}
},
/* */

@ -0,0 +1,178 @@
<template>
<view class="normal-login-container">
<el-form
ref="formRef"
:model="formData"
:rules="formRules"
label-width="100px"
v-loading="formLoading"
>
<el-row>
<el-col :span="8">
<el-form-item label="工人">
{{userStore.name}}
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="报工日期" prop="reportDate">
<el-date-picker
:disabled="isDisableUpdate"
v-model="formData.reportDate"
type="date"
value-format="YYYY-MM-DD HH:mm:ss"
placeholder="选择报工日期"
@change="changeDate"
/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="班别" prop="groupType">
<!-- <el-radio-group v-model="formData.groupType">-->
<!-- <el-radio-->
<!-- :disabled="isDisableUpdate"-->
<!-- v-for="dict in getIntDictOptions(DICT_TYPE.MES_GROUP_TYPE)"-->
<!-- :key="dict.value"-->
<!-- :label="dict.value"-->
<!-- @change="changeDate"-->
<!-- >-->
<!-- {{ dict.label }}-->
<!-- </el-radio>-->
<!-- </el-radio-group>-->
</el-form-item>
</el-col>
</el-row>
<el-row v-if="formData.groupType && formData.reportDate">
<el-col :span="8">
<el-form-item label="工位" prop="orgId">
<!-- <el-select-->
<!-- :disabled="isDisableUpdate"-->
<!-- v-model="formData.orgId"-->
<!-- clearable-->
<!-- filterable-->
<!-- placeholder="请选择工位"-->
<!-- >-->
<!-- <el-option-->
<!-- v-for="item in orgWorkerList"-->
<!-- :key="item.orgId"-->
<!-- :label="item.orgName"-->
<!-- :value="item.orgId"-->
<!-- />-->
<!-- </el-select>-->
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="工序" prop="orgType">
<!-- <el-select-->
<!-- disabled-->
<!-- v-model="formData.orgType"-->
<!-- placeholder=""-->
<!-- clearable-->
<!-- >-->
<!-- <el-option-->
<!-- v-for="dict in getStrDictOptions(DICT_TYPE.MES_ORG_TYPE)"-->
<!-- :key="dict.value"-->
<!-- :label="dict.label"-->
<!-- :value="dict.value"-->
<!-- />-->
<!-- </el-select>-->
</el-form-item>
</el-col>
<el-col :span="8" >
<el-text v-if="warningInfo" class="mx-1" type="warning">{{warningInfo}}</el-text>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="计件时段" prop="reportTime">
<el-input v-model="formData.reportTime" placeholder="请输入计件时段" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="计件时长" prop="totalTime">
<el-input-number v-model="formData.totalTime" :min="0" :precision="2" placeholder="请输入时长" class="!w-260px"/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="备注" prop="remark">
<el-input v-model="formData.remark" placeholder="请输入备注"/>
</el-form-item>
</el-col>
</el-row>
</el-form>
</view>
</template>
<script setup lang="ts">
import modal from '@/plugins/modal'
import { ref } from "vue";
import config from '@/config.js'
import useUserStore from '@/store/modules/user'
const userStore = useUserStore()
const dialogVisible = ref(false) //
const dialogTitle = ref('') //
const formLoading = ref(false) // 12
const formType = ref('') // create - update -
const formData = ref({
id: undefined,
processInstanceId: undefined,
reportCode: undefined,
userId: undefined,
orgId: undefined,
orgType: undefined,
reportTime: undefined,
totalTime: undefined,
reportStatus: undefined,
remark: undefined,
groupType: undefined,
reportType: undefined,
reportDateString: undefined,
reportDate: undefined
})
const formRules = ({
reportDate: [{ required: true, message: '日期不能为空', trigger: 'blur' }],
groupType: [{ required: true, message: '班别不能为空', trigger: 'blur' }],
productId: [{ required: true, message: '产品不能为空', trigger: 'blur' }],
userId: [{ required: true, message: '工人不能为空', trigger: 'blur' }],
orgId: [{ required: true, message: '工位不能为空', trigger: 'blur' }],
orgType: [{ required: true, message: '工序不能为空', trigger: 'blur' }],
})
const isDisableUpdate = ref(false)
const warningInfo = ref()
const orgWorkerList = ref<[]>([]) //
//
const changeDate = async () =>{
warningInfo.value = '该条件下未查询到工位安排信息!'
modal.msgError(warningInfo.value)
// if(formData.value.reportDate && formData.value.groupType ){
// orgWorkerList.value = await OrgWorkerApi.getOrgWorkerList1(formData.value)
// if(orgWorkerList.value && orgWorkerList.value.length>0){
// formData.value.orgId = orgWorkerList.value[0].orgId
// formData.value.orgType = orgWorkerList.value[0].orgType
// warningInfo.value=''
// }
// else{
// formData.value.orgId = undefined
// warningInfo.value = ''
// modal.msgError(warningInfo.value)
// }
// }
}
const getCurrentDate = () =>{
let result = ''
let now = new Date()
result += now.getFullYear()
let month = now.getMonth() + 1
if(month<10)result += '-0'+month
else result += '-'+month
let day = now.getDate()
if(day<10) result += '-0'+day
else result += day
return result +" 00:00:00";
}
</script>
<style lang="scss">
</style>

@ -0,0 +1,173 @@
<template>
<view class="wrap">
<view class="top">
<view class="item">
<view class="left">收货人</view>
<input type="text" placeholder-class="line" placeholder="请填写收货人姓名" />
</view>
<view class="item">
<view class="left">手机号码</view>
<input type="text" placeholder-class="line" placeholder="请填写收货人手机号" />
</view>
<view class="item" @tap="showRegionPicker">
<view class="left">所在地区</view>
<input disabled type="text" placeholder-class="line" placeholder="省市区县、乡镇等" />
</view>
<view class="item address">
<view class="left">详细地址</view>
<textarea type="text" placeholder-class="line" placeholder="街道、楼牌等" />
</view>
<!-- <view class="site-clipboard">
<textarea placeholder-class="line" value="" placeholder="粘贴文本,可自动识别姓名和地址等" />
<view class="clipboard">
地址粘贴板
<u-icon name="arrow-down" class="icon" :size="20"></u-icon>
</view>
</view> -->
</view>
<view class="bottom">
<view class="tag">
<view class="left">标签</view>
<view class="right">
<text class="tags"></text>
<text class="tags">公司</text>
<text class="tags">学校</text>
<view class="tags plus"><u-icon size="22" name="plus"></u-icon></view>
</view>
</view>
<view class="default">
<view class="left">
<view class="set">设置默认地址</view>
<view class="tips">提醒每次下单会默认推荐该地址</view>
</view>
<view class="right"><switch color="red" @change="setDefault" /></view>
</view>
</view>
<u-picker mode="region" ref="uPicker" v-model="show" />
</view>
</template>
<script>
export default {
data() {
return {
show: false
};
},
methods: {
setDefault() {},
showRegionPicker() {
this.show = true;
}
}
};
</script>
<style lang="scss" scoped>
:v-deep(.line) {
color: $u-light-color;
font-size: 28rpx;
}
.wrap {
background-color: #f2f2f2;
.top {
background-color: #ffffff;
border-top: solid 2rpx $u-border-color;
padding: 22rpx;
.item {
display: flex;
font-size: 32rpx;
line-height: 100rpx;
align-items: center;
border-bottom: solid 2rpx $u-border-color;
.left {
width: 180rpx;
}
input {
text-align: left;
}
}
.address {
padding: 20rpx 0;
textarea {
// width: 100%;
height: 150rpx;
background-color: #f7f7f7;
line-height: 60rpx;
margin: 40rpx auto;
padding: 20rpx;
}
}
.site-clipboard {
padding-right: 40rpx;
textarea {
// width: 100%;
height: 150rpx;
background-color: #f7f7f7;
line-height: 60rpx;
margin: 40rpx auto;
padding: 20rpx;
}
.clipboard {
display: flex;
justify-content: center;
align-items: center;
font-size: 26rpx;
color: $u-tips-color;
height: 80rpx;
.icon {
margin-top: 6rpx;
margin-left: 10rpx;
}
}
}
}
.bottom {
margin-top: 20rpx;
padding: 40rpx;
padding-right: 0;
background-color: #ffffff;
font-size: 28rpx;
.tag {
display: flex;
.left {
width: 160rpx;
}
.right {
display: flex;
flex-wrap: wrap;
.tags {
width: 140rpx;
padding: 16rpx 8rpx;
border: solid 2rpx $u-border-color;
text-align: center;
border-radius: 50rpx;
margin: 0 10rpx 20rpx;
display: flex;
font-size: 28rpx;
align-items: center;
justify-content: center;
color: $u-content-color;
line-height: 1;
}
.plus {
//padding: 10rpx 0;
}
}
}
.default {
margin-top: 50rpx;
display: flex;
justify-content: space-between;
border-bottom: solid 2rpx $u-border-color;
line-height: 64rpx;
.tips {
font-size: 24rpx;
}
.right {
}
}
}
}
</style>

@ -0,0 +1,139 @@
<template>
<view>
<view class="item" v-for="(res, index) in siteList" :key="res.id">
<view class="top">
<view class="name">{{ res.name }}</view>
<view class="phone">{{ res.phone }}</view>
<view class="tag">
<text v-for="(item, index) in res.tag" :key="index" :class="{red:item.tagText=='默认'}">{{ item.tagText }}</text>
</view>
</view>
<view class="bottom">
广东省深圳市宝安区 自由路66号
<u-icon name="edit-pen" :size="40" color="#999999"></u-icon>
</view>
</view>
<view class="addSite" @tap="toAddSite">
<view class="add">
<u-icon name="plus" color="#ffffff" class="icon" :size="30"></u-icon>
</view>
</view>
</view>
</template>
<script>
export default {
data() {
return {
siteList: []
};
},
onLoad() {
this.getData();
},
methods: {
getData() {
this.siteList = [
{
id: 1,
name: '游X',
phone: '183****5523',
tag: [
{
tagText: '默认'
},
{
tagText: '家'
}
],
site: '广东省深圳市宝安区 自由路66号'
},
{
id: 2,
name: '李XX',
phone: '183****5555',
tag: [
{
tagText: '公司'
}
],
site: '广东省深圳市宝安区 翻身路xx号'
},
{
id: 3,
name: '王YY',
phone: '153****5555',
tag: [],
site: '广东省深圳市宝安区 平安路13号'
}
];
},
toAddSite(){
uni.navigateTo({
url: '/pages_template/pages/address/addSite'
});
}
}
};
</script>
<style lang="scss" scoped>
.item {
padding: 40rpx 20rpx;
.top {
display: flex;
font-weight: bold;
font-size: 34rpx;
.phone {
margin-left: 60rpx;
}
.tag {
display: flex;
font-weight: normal;
align-items: center;
text {
display: block;
width: 60rpx;
height: 34rpx;
line-height: 34rpx;
color: #ffffff;
font-size: 20rpx;
border-radius: 6rpx;
text-align: center;
margin-left: 30rpx;
background-color:rgb(49, 145, 253);
}
.red{
background-color:red
}
}
}
.bottom {
display: flex;
margin-top: 20rpx;
font-size: 28rpx;
justify-content: space-between;
color: #999999;
}
}
.addSite {
display: flex;
justify-content: space-around;
width: 600rpx;
line-height: 100rpx;
position: absolute;
bottom: 30rpx;
left: 80rpx;
background-color: red;
border-radius: 60rpx;
font-size: 30rpx;
.add{
display: flex;
align-items: center;
color: #ffffff;
.icon{
margin-right: 10rpx;
}
}
}
</style>

@ -15,8 +15,7 @@
{
"path": "pages/index",
"style": {
"navigationBarTitleText": "生管系统",
"navigationStyle": "custom"
"navigationBarTitleText": "生产计划"
}
},
{
@ -40,7 +39,7 @@
{
"path": "pages/mine",
"style": {
"navigationBarTitleText": "我的"
"navigationBarTitleText": "个人中心"
}
},
{
@ -54,9 +53,23 @@
"style": {
"navigationBarTitleText": "浏览文本"
}
},
{
"path": "pages/report",
"style": {
"navigationBarTitleText": "生产报工"
}
}
],
"subPackages": [
{
"root": "page_record",
"pages": [
{
"path": "reportForm"
}
]
},
{
"root": "pages_mine/pages",
"pages": [
@ -254,7 +267,7 @@
"text": "计划"
},
{
"pagePath": "pages/work",
"pagePath": "pages/report",
"iconPath": "static/images/tabbar/work.png",
"selectedIconPath": "static/images/tabbar/work_.png",
"text": "报工"
@ -281,7 +294,7 @@
},
"globalStyle": {
"navigationBarTextStyle": "black",
"navigationBarTitleText": "RuoYi",
"navigationBarTitleText": "BESURE",
"navigationBarBackgroundColor": "#FFFFFF"
}
}

@ -16,8 +16,8 @@
<el-col :span="8">
<el-text type="success">计划数:{{ item.planNumber }}</el-text>
</el-col>
<el-col :span="4">
<el-button type="success" plain @click="updatePlan(item.id, 'end')">完工</el-button>
<el-col v-if="auth.hasPermi('mes:plan:update')" :span="4">
<el-button type="success" plain @click="updatePlan(item.id, item.code,'end')">完工</el-button>
</el-col>
</el-row>
<el-row>
@ -27,8 +27,8 @@
<el-col :span="8">
<el-text type="warning">入库数:{{ item.finishNumber }}</el-text>
</el-col>
<el-col :span="4">
<el-button type="warning" plain @click="updatePlan(item.id, 'pause')">暂停</el-button>
<el-col v-if="auth.hasPermi('mes:plan:update')" :span="4">
<el-button type="warning" plain @click="updatePlan(item.id,item.code,'pause')"></el-button>
</el-col>
</el-row>
</el-collapse-item>
@ -50,8 +50,8 @@
<el-col :span="8">
<el-text type="success">计划数:{{ item.planNumber }}</el-text>
</el-col>
<el-col :span="4">
<el-button type="info" plain @click="updatePlan(item.id, 'start')">开工</el-button>
<el-col v-if="auth.hasPermi('mes:plan:update')" :span="4">
<el-button type="info" plain @click="updatePlan(item.id,item.code, 'start')">开工</el-button>
</el-col>
</el-row>
<el-row>
@ -77,7 +77,7 @@
<el-col :span="8">
<el-text type="success">计划数:{{ item.planNumber }}</el-text>
</el-col>
<el-col :span="4">
<el-col v-if="auth.hasPermi('mes:plan:update')" :span="4">
<el-button type="primary" plain>派工</el-button>
</el-col>
</el-row>
@ -104,8 +104,8 @@
<el-col :span="8">
<el-text type="success">计划数:{{ item.planNumber }}</el-text>
</el-col>
<el-col :span="4">
<el-button type="success" plain @click="updatePlan(item.id, 'end')">完工</el-button>
<el-col v-if="auth.hasPermi('mes:plan:update')" :span="4">
<el-button type="success" plain @click="updatePlan(item.id,item.code, 'end')">完工</el-button>
</el-col>
</el-row>
<el-row>
@ -115,8 +115,8 @@
<el-col :span="8">
<el-text type="warning">入库数:{{ item.finishNumber }}</el-text>
</el-col>
<el-col :span="4">
<el-button type="info" plain @click="updatePlan(item.id, 'start')">开工</el-button>
<el-col v-if="auth.hasPermi('mes:plan:update')" :span="4">
<el-button type="info" plain @click="updatePlan(item.id, item.code,'start')">开工</el-button>
</el-col>
</el-row>
</el-collapse-item>
@ -134,13 +134,14 @@ import useUserStore from '@/store/modules/user'
import {getPage, getById, paigong, updateStatus, getByStatus} from "@/api/mes/plan"
import {timestampToTime} from "@/utils/dateUtil";
import {Tickets} from "@element-plus/icons-vue";
import modal from "@/plugins/modal";
import {showConfirm} from "@/utils/common";
import auth from "@/plugins/auth";
const userStore = useUserStore()
const startList = ref([]);
const paigongList = ref([]);
const pauseList = ref([]);
const planList = ref([]);
const chartData = ref({});
onMounted(() => {
@ -180,16 +181,25 @@ function getPlanList() {
getByStatus(3).then(response => {
pauseList.value = response.data
})
}
/** 开工 */
function updatePlan(id, code){
const data = {id, code}
updateStatus(data).then(response => {
pauseList.value = response.data
function updatePlan(id, planCode, type){
let content = '确定['
if(type==='start')content= content+'开工]' + planCode +'?'
else if(type==='end')content= content+'完工]'+ planCode +'?'
else if(type==='pause')content= content+'暂停]'+ planCode +'?'
showConfirm(content).then(res => {
if (res.confirm) {
const data = {'id':id, 'code':type}
updateStatus(data).then(response => {
console.log(response)
getPlanList()
})
modal.msgSuccess("操作成功")
}
})
getPlanList()
}
</script>

@ -0,0 +1,121 @@
<template>
<view>
<uni-list :border="true">
<uni-list-item v-for="(item, index) in reportList">
<!-- 自定义 header -->
<template v-slot:header>
<div onclick="">
<text class="u-success"> {{timestampToTime(item.reportDate)}}</text>
<text class="u-primary">/</text>
{{item.userName}}
<text class="u-primary">/</text>
{{item.orgName}}
</div>
</template>
<!-- 自定义 body -->
<template v-slot:body>
</template>
<!-- 自定义 footer-->
<template v-slot:footer>
<el-button v-if="item.reportStatus === 0" type="primary" size="small" :icon="Edit" circle @click="editOrAddReport(item.id)"/>
<el-button v-if="item.reportStatus === 0" type="success" size="small" :icon="Check" circle @click="updateReport(item.id)"/>
<el-button v-if="item.reportStatus < 2" type="danger" size="small" :icon="Delete" circle @click="deleteReport(item.id)"/>
</template>
</uni-list-item>
</uni-list>
<uni-fab ref="fab" @fabClick="editOrAddReport" />
</view>
</template>
<script>
import {getMyList, getOtherList, getById, updateStatus,deleteByReportId } from "@/api/mes/report";
import {Check, Delete, Edit, Message, Search, Star} from '@element-plus/icons-vue'
import tab from "@/plugins/tab";
import modal from "@/plugins/modal";
import auth from "@/plugins/auth";
import {showConfirm} from "@/utils/common";
import {timestampToTime} from "@/utils/dateUtil";
export default {
computed: {
Delete() {
return Delete
},
Edit() {
return Edit
},
Check() {
return Check
}
},
data() {
return {
reportList: []
};
},
onLoad() {
this.getList();
},
methods: {
timestampToTime,
getList() {
getMyList().then(response => {
this.reportList = response.data
})
},
deleteReport(id) {
showConfirm("确认删除该报工信息吗?").then(res => {
if (res.confirm) {
deleteByReportId(id).then(response => {
modal.msgSuccess("操作成功")
})
}
})
},
updateReport(id) {
showConfirm("确认提交该报工信息吗?").then(res => {
if (res.confirm) {
updateStatus(id,1).then(response => {
modal.msgSuccess("操作成功")
})
}
})
},
editOrAddReport(id){
if(id===null || id===undefined){
uni.navigateTo({
url: '/pages_template/pages/address/addSite'
});
}
else{
tab.navigateTo("",id)
}
}
}
};
</script>
<style lang="scss" scoped>
.addSite {
display: flex;
justify-content: space-around;
width: 600rpx;
line-height: 100rpx;
position: absolute;
bottom: 30rpx;
left: 80rpx;
background-color: red;
border-radius: 60rpx;
font-size: 30rpx;
.add{
display: flex;
align-items: center;
color: #ffffff;
.icon{
margin-right: 10rpx;
}
}
}
</style>

@ -58,10 +58,10 @@ const useUserStore = defineStore("user", {
if (res.roles && res.roles.length > 0) {
// 验证返回的roles是否是一个非空数组
this.roles = res.data.roles;
this.permissions = res.data.permissions;
} else {
this.roles = ["ROLE_DEFAULT"];
}
this.permissions = res.data.permissions;
this.name = user.nickname;
this.userId = user.id;
this.avatar = avatar;

@ -43,14 +43,17 @@ const request = <T>(config: RequestConfig): Promise<ResponseData<T>> => {
// @ts-ignore
const msg: string = errorCode[code] || data.msg || errorCode['default']
if (code === 401) {
showConfirm('登录状态已过期,您可以继续留在该页面,或者重新登录?').then(res => {
if (res.confirm) {
useUserStore().logOut().then(res => {
uni.reLaunch({ url: '/pages/login' })
})
}
})
// showConfirm('登录状态已过期,您可以继续留在该页面,或者重新登录?').then(res => {
// if (res.confirm) {
// useUserStore().logOut().then(res => {
// uni.reLaunch({ url: '/pages/login' })
// })
// }
// })
reject('无效的会话,或者会话已过期,请重新登录。')
useUserStore().logOut().then(res => {
uni.reLaunch({ url: '/pages/login' })
})
} else if (code === 500) {
toast(msg)
reject('500')

Loading…
Cancel
Save