<template>
|
<view class="content">
|
<view class="header">
|
<view class="switch-button">
|
<uni-icons type="loop" @click="switchIconsModeHandler"></uni-icons>
|
</view>
|
</view>
|
<view class="mains">
|
<view v-if="!canEdit" :hidden="item.hidden||!item.id" class="box" v-for="(item,index) in itemData"
|
:key="index" @tap="toUrl(item)">
|
<template v-if="item.corner">
|
<uni-badge style="z-index: 997;" :text="item.cornerCount" type="error" :max-num="99" size="normal" absolute="rightTop"
|
:offset="[7, 7]">
|
<image :src="item.img" mode=""></image>
|
</uni-badge>
|
</template>
|
<template v-else>
|
<image :src="item.img" mode=""></image>
|
</template>
|
<view class="texts">
|
{{item.text}}
|
</view>
|
</view>
|
<view :enable-hidden="item.hidden" :hidden="!item.id" v-if="canEdit" class="box edit"
|
v-for="(item,index) in itemData" :key="index" @tap="switchHidden(index)">
|
<uni-icons class="edit-mark" color="red" type="closeempty"></uni-icons>
|
<image :src="item.img" mode=""></image>
|
<view class="texts">
|
{{item.text}}
|
</view>
|
</view>
|
</view>
|
</view>
|
</template>
|
|
<script>
|
import {
|
CommonUtils
|
} from '../../utils/common'
|
import {
|
getMenuList,
|
setMenuList
|
} from '../../utils/menuListApp'
|
import {
|
getUserInfo
|
} from '../../utils/auth'
|
export default {
|
data() {
|
return {
|
updateCount: 0,
|
menuListName: 'tab4',
|
initFinished: false,
|
canEdit: false,
|
serverUrl: uni.getStorageSync('serverUrl') || 'http://47.96.97.237/API',
|
itemData: [
|
|
{
|
"img": "../../static/icon/icon13.png",
|
"text": "首件检验单",
|
"url": "/pages/ZLGL/shoujianjianyan/firstCheckBill?operationType=1",
|
"id": 1,
|
"hidden": false
|
},
|
|
{
|
"img": "../../static/icon/icon8.png",
|
"text": "巡检检验单",
|
"url": "/pages/ZLGL/xunjianjianyan/PatrolProcCheckBill?operationType=1",
|
"id": 2,
|
"hidden": false
|
},
|
|
{
|
"img": "../../static/icon/icon8.png",
|
"text": "末件检验单",
|
"url": "/pages/ZLGL/mojianjianyan/ProcessCheckBill?operationType=1",
|
"id": 3,
|
"hidden": false
|
},
|
{
|
"img": "../../static/icon/icon8.png",
|
"text": "来料检验单",
|
"url": "/pages/ZLGL/lailiaojianyan/POStockInCheckBill",
|
"id": 4,
|
"hidden": false
|
},
|
|
{
|
"img": "../../static/icon/icon8.png",
|
"text": "生产入库检验单",
|
"url": "/pages/ZLGL/shengchanrukujiaoyan/QC_LastPieceCheckBill_v2",
|
"id": 5,
|
"hidden": false
|
},
|
{
|
"img": "../../static/icon/icon8.png",
|
"text": "出厂校验单",
|
"url": "/pages/ZLGL/chuchangjiaoyandan/QC_OutCompCheckBill",
|
"id": 6,
|
"hidden": false
|
},
|
{
|
"img": "../../static/icon/icon8.png",
|
"text": "来料检验(批量)",
|
"url": "/pages/ZLGL/lailiaojianyan_fast/Kf_QCStockInCheckBill_Fast",
|
"id": 7,
|
"hidden": true
|
},
|
{
|
"img": "../../static/icon/icon8.png",
|
"text": "全检检验单",
|
"url": "/pages/ZLGL/QualityReportStep/QualityReportStepBill",
|
"id": 8,
|
"hidden": false
|
},
|
|
{
|
"img": "../../static/icon/icon8.png",
|
"text": "车间自检单",
|
"url": "/pages/ZLGL/WorkSelfCheckBill/WorkSelfCheckBill",
|
"id": 9,
|
"hidden": false
|
},
|
{
|
"img": "../../static/icon/icon8.png",
|
"text": "在库检验单",
|
"url": "/pages/ZLGL/zaikujianyandan/InStockCheckBill",
|
"id": 10,
|
"hidden": false
|
},
|
{
|
"img": "../../static/icon/icon15.png",
|
"text": "异常反馈单",
|
"url": "/pages/ZLGL/AanDengHujiao/OA_ErrMsgBackBill/OA_ErrMsgBackBill",
|
"id": 11,
|
"hidden": false
|
},
|
{
|
"img": "../../static/icon/icon15.png",
|
"text": "异常反馈接收单",
|
"url": "/pages/ZLGL/AanDengHujiao/OA_ErrMsgBackReceiveBill/OA_ErrMsgBackReceiveBill",
|
"id": 12,
|
"hidden": false
|
},
|
{
|
"img": "../../static/icon/icon15.png",
|
"text": "异常反馈签到单",
|
"url": "/pages/ZLGL/AanDengHujiao/OA_ErrMsgBackSignBill/OA_ErrMsgBackSignBill",
|
"id": 13,
|
"hidden": false
|
},
|
{
|
"img": "../../static/icon/icon15.png",
|
"text": "异常反馈处理单",
|
"url": "/pages/ZLGL/AanDengHujiao/OA_ErrMsgBackHandleBill/OA_ErrMsgBackHandleBill",
|
"id": 14,
|
"hidden": false
|
},
|
{
|
"img": "../../static/icon/icon15.png",
|
"text": "异常反馈验收单",
|
"url": "/pages/ZLGL/AanDengHujiao/OA_ErrMsgBackCheckBill/OA_ErrMsgBackCheckBill",
|
"id": 15,
|
"hidden": false
|
},
|
{
|
"img": "../../static/icon/icon15.png",
|
"text": "工作联系单",
|
"url": "/pages/ZLGL/OA_WorkLink/OA_WorkLinkBill?OperationType=1",
|
"id": 16,
|
"hidden": false
|
},
|
// {
|
// "img": "../../static/icon/icon15.png",
|
// "text": "取样单",
|
// "url": "/pages/ZLGL/QuYangHuangYang/QC_TakeSampleCheckBill/QC_TakeSampleCheckBill?operationType=0",
|
// "id": 17,
|
// "hidden": false
|
// },
|
{
|
"img": "../../static/icon/icon15.png",
|
"text": "还样单",
|
"url": "/pages/ZLGL/QuYangHuangYang/QC_TakeSampleCheckBill/QC_TakeSampleCheckBill?operationType=0",
|
"id": 18,
|
"hidden": false
|
},
|
{
|
"img": "../../static/icon/icon15.png",
|
"text": "待检验列表",
|
"url": "/pages/ZLGL/awaitCheckBillList/awaitCheckBillList",
|
"id": 19,
|
"hidden": false
|
},
|
{
|
"img": "../../static/icon/icon8.png",
|
"text": "环境检测单",
|
"url": "/pages/ZLGL/QcenvironmentTestDotCheckBill/QcenvironmentTestDotCheckBill",
|
"id": 55,
|
"hidden": false
|
},
|
{
|
"img": "../../static/icon/icon15.png",
|
"text": "不良品评审处理单",
|
"url": "/pages/ZLGL/QCNoPassProdDisposeBillMainList/QCNoPassProdDisposeBillMain",
|
"id": 55,
|
"hidden": false
|
},
|
{
|
"img": "../../static/icon/icon15.png",
|
"text": "不良品评审结论单",
|
"url": "/pages/ZLGL/QCNoPassProdConclusionBillMain/QCNoPassProdConclusionBillMain",
|
"id": 55,
|
"hidden": false
|
},
|
{
|
"img": "../../static/icon/icon15.png",
|
"text": "不良品评审申请单",
|
"url": "/pages/ZLGL/QCNoPassProdRequestBillMain/QCNoPassProdRequestBillMain",
|
"id": 55,
|
"hidden": false
|
},
|
{
|
"img": "../../static/icon/icon15.png",
|
"text": "投料防错",
|
"url": "/pages/ZLGL/Gy_MaterialPrevention/Gy_MaterialPrevention",
|
"id": 20,
|
"hidden": false
|
},
|
{
|
"img": "../../static/icon/icon8.png",
|
"text": "来料检验(批量合格)",
|
"url": "/pages/ZLGL/lailiaojianyan_fast/Kf_QCStockInCheckBill_Fast2",
|
"id": 21,
|
"hidden": false
|
},
|
]
|
}
|
},
|
onLoad() {
|
this.getHiddenItem()
|
},
|
async onShow() {
|
if (this.initFinished) {
|
let MessageIdentifier = await this.getMessageIdentifierCount(this.menuListName)
|
if (MessageIdentifier.code == 0) {
|
CommonUtils.showTips({
|
title: "温馨提示",
|
message: MessageIdentifier.msg
|
})
|
|
return
|
}
|
|
this.itemData.forEach((e, index) => {
|
if (MessageIdentifier.data[e.text] != undefined) {
|
this.itemData[index]["corner"] = true
|
this.itemData[index]["cornerCount"] = MessageIdentifier.data[e.text]
|
}
|
})
|
|
this.$forceUpdate()
|
}
|
},
|
methods: {
|
// 根据模块获取未处理消息条数
|
async getMessageIdentifierCount(menuListName) {
|
try {
|
let res = await CommonUtils.doRequest2Async({
|
url: '/Web/getMessageIdentified',
|
data: {
|
user: getUserInfo()["HEmpName"],
|
moduleName: menuListName
|
}
|
})
|
let {
|
data,
|
count,
|
Message
|
} = res.data
|
if (count == 1) {
|
let retVal = Array.from(data).reduce((acc, item) => {
|
acc[item['moduleName']] = item.count
|
return acc
|
}, {})
|
|
return {
|
code: 1,
|
msg: Message,
|
data: retVal
|
}
|
} else {
|
return {
|
code: 0,
|
msg: Message,
|
data: []
|
}
|
}
|
} catch (err) {
|
|
}
|
},
|
judgeHidden() {
|
return process.env.NODE_ENV === 'development'
|
},
|
async getHiddenItem() {
|
let data = await getMenuList({
|
menuName: this.menuListName
|
})
|
Array.from(data).forEach((e, index) => {
|
if (index < this.itemData.length) {
|
this.itemData[e["HIndex"]]["hidden"] = !CommonUtils.stringToBoolean(e[
|
"HShowMode"] || false)
|
this.itemData[e["HIndex"]].id = e["HEntryID"]; //id为0强制隐藏
|
}
|
})
|
|
let MessageIdentifier = await this.getMessageIdentifierCount(this.menuListName)
|
if (MessageIdentifier.code == 0) {
|
CommonUtils.showTips({
|
title: "温馨提示",
|
message: MessageIdentifier.msg
|
})
|
|
return
|
}
|
|
Array.from(data).forEach((e, index) => {
|
if (index < this.itemData.length) {
|
if (MessageIdentifier.data[this.itemData[e["HIndex"]].text]) {
|
this.$set(this.itemData[e["HIndex"]], "corner", true)
|
this.$set(this.itemData[e["HIndex"]], "cornerCount", MessageIdentifier.data[this
|
.itemData[e["HIndex"]].text])
|
}
|
}
|
})
|
this.initFinished = true
|
this.$forceUpdate()
|
},
|
switchHidden(index) {
|
this.updateCount++;
|
this.itemData[index].hidden = !this.itemData[index].hidden
|
|
},
|
switchIconsModeHandler() {
|
this.canEdit = !this.canEdit
|
if (this.canEdit == false && this.updateCount > 0) {
|
this.$nextTick(() => {
|
// uni.setStorageSync("HIndexItemData", this.itemData)
|
setMenuList({
|
menuName: this.menuListName,
|
payload: this.itemData
|
})
|
|
this.updateCount = 0
|
})
|
}
|
this.$forceUpdate()
|
},
|
toUrl(item) {
|
if (item.url) {
|
uni.navigateTo({
|
url: item.url
|
})
|
} else {
|
uni.showToast({
|
title: '功能开发中。。。',
|
icon: 'none'
|
})
|
}
|
}
|
}
|
}
|
</script>
|
|
<style lang="scss" scoped>
|
// .mains{
|
// width: 720rpx;
|
// margin: 0 auto;
|
// display: flex;
|
// flex-wrap: wrap;
|
// margin-top: 10rpx;
|
// padding-bottom: 80rpx;
|
// .box{
|
// width: 100%;
|
// margin: 26rpx 26rpx 0 26rpx;
|
// padding: 0 0 16rpx 10rpx;
|
// display: flex;
|
// align-items: center;
|
// border-bottom: 1px solid #f0f0f0;
|
// image{
|
// width: 52rpx;
|
// height: 52rpx;
|
// }
|
// .texts{
|
// font-size: 30rpx;
|
// color: #333333;
|
// margin-left: 30rpx;
|
// }
|
// }
|
// }
|
|
.header {
|
width: 100%;
|
height: 2em;
|
position: relative;
|
|
.switch-button {
|
position: absolute;
|
right: 10rpx;
|
bottom: 0;
|
}
|
}
|
|
.mains {
|
width: 720rpx;
|
margin: 0 auto;
|
display: flex;
|
flex-wrap: wrap;
|
padding-bottom: 80rpx;
|
|
.box {
|
width: 25%;
|
margin-top: 2.5vh;
|
text-align: center;
|
|
image {
|
width: 18vw;
|
height: 18vw;
|
}
|
|
.texts {
|
width: 120rpx;
|
margin: 0 auto;
|
font-size: 29rpx;
|
font-weight: normal;
|
color: #333333;
|
margin-top: .2vh;
|
}
|
}
|
|
.edit {
|
position: relative;
|
}
|
|
.edit-mark {
|
position: absolute;
|
top: 0;
|
right: 0;
|
}
|
|
view[enable-hidden] {
|
opacity: .4 !important;
|
}
|
|
view[hidden] {
|
display: none;
|
}
|
}
|
</style>
|