漏洞问题修复

This commit is contained in:
BianLzhaoMin 2024-10-09 17:41:25 +08:00
parent ac39997809
commit cca0931500
13 changed files with 42351 additions and 42034 deletions

View File

@ -12,7 +12,7 @@
<checkbox :checked="fetch.checked" />
</checkbox-group>
</view>
<view class="info-cont" >
<view class="info-cont">
<view>
<span>类型名称</span>
<h4>{{ fetch.typeName }}</h4>
@ -25,7 +25,12 @@
<span>待退料数量</span>
<h4>{{ fetch.maxBackNum }}</h4>
</view>
<h5 @click="openPopup(fetch)" v-if="fetch.maxBackNum * 1 > 0">
<h5
@click="openPopup(fetch)"
v-if="
fetch.maxBackNum * 1 > 0 &&
store.includes('return:receive:view')
">
点击退料
</h5>
</view>
@ -37,7 +42,12 @@
</checkbox-group>
<text>全选</text>
</view> -->
<view class="exam" @click="totalBack"> 完成退料 </view>
<view
class="exam"
@click="totalBack"
v-if="store.includes('return:receive:view')">
完成退料
</view>
</view>
<uni-popup ref="popup1" type="center" :mask-click="false">
<view class="popup1">
@ -126,6 +136,7 @@
</template>
<script>
import store from "../../store/user";
import QS from "qs";
export default {
data() {
@ -166,6 +177,7 @@
rfidNum: "",
sendTypeId: "",
parentId: "",
store: store.state.permissions || [],
};
},
methods: {

View File

@ -58,21 +58,30 @@
</view>
<view
style="background-color: #fca30d"
v-show="fetch.taskStatus == 31 && roles.includes('jjfgs')"
v-show="
fetch.taskStatus == 31 &&
store.includes('receive:examine:fgs')
"
@click="toggleOpenModal(fetch)">
<uni-icons style="color: #fff" type="auth"></uni-icons>
机具分公司审核
</view>
<view
style="background-color: #fca30d"
v-show="fetch.taskStatus == 32 && roles.includes('sgb')"
v-show="
fetch.taskStatus == 32 &&
store.includes('receive:examine:nbs')
"
@click="toggleOpenModal(fetch)">
<uni-icons style="color: #fff" type="auth"></uni-icons>
施管部审核
</view>
<view
style="background-color: #fca30d"
v-show="fetch.taskStatus == 117 && roles.includes('jjfgs')"
v-show="
fetch.taskStatus == 117 &&
store.includes('receive:examine:fgs')
"
@click="toggleOpenModal(fetch)">
<uni-icons style="color: #fff" type="auth"></uni-icons>
机具分公司确认
@ -258,6 +267,7 @@
<script>
import { basePath } from "../../public";
import store from "../../store/user";
export default {
data() {
return {
@ -290,6 +300,7 @@
roles: uni.getStorageSync("roles"),
modalList: {},
rejectReason: "",
store: store.state.permissions || [],
};
},
methods: {

View File

@ -51,8 +51,7 @@
class="llsp"
@click="jumpUrl('fetchExam')"
v-if="
store.includes('receive:examine:fgs') ||
store.includes('receive:examine:nbs') ||
store.includes('picking:auditing:list') ||
store.includes('*:*:*')
">
<h4>{{ waitList.leaseNum }}</h4>

View File

@ -79,7 +79,13 @@
</view> -->
<!-- </view> -->
<view class="total">
<view
class="total"
v-if="
(store.includes('warehousing:newTools:auditing') ||
store.includes('*:*:*')) &&
isAuditing
">
<view class="bill" @click="finishCart">
<text>确认入库</text>
</view>
@ -131,6 +137,7 @@
</view>
</template>
<script>
import store from "../../store/user";
export default {
data() {
return {
@ -151,8 +158,16 @@
],
subObj: "",
codeList: [],
store: store.state.permissions || [],
};
},
computed: {
isAuditing() {
if (this.list.length > 0) {
return this.list.some((e) => e.status === "0");
}
},
},
methods: {
//
checkClick(item) {
@ -365,7 +380,7 @@
.finally(() => {
setTimeout(() => {
uni.navigateBack();
}, 500);
}, 1000);
});
},
fetchNewList() {

View File

@ -397,10 +397,11 @@
let that = this;
that.$refs.accountForm.validate().then((formData) => {
that.showLoading = true;
formData.password = encrypt(formData.password);
const params = JSON.parse(JSON.stringify(formData));
params.password = encrypt(params.password);
// console.log("", formData);
that.$api.login
.log(formData)
.log(params)
.then(async (res) => {
console.log(res);
if (res.data.code == 200) {

View File

@ -1,40 +1,44 @@
<template>
<view>
<view
class="single-fetch"
v-for="(fetch, index) in fetchList"
:key="index"
>
<checkbox-group
@change="checkClick(fetch)"
v-show="status == '入库进行中'"
>
<checkbox :checked="fetch.checked" />
</checkbox-group>
<view class="slots">
<view>
<span>类型名称</span>
<h4>{{ fetch.typeName2 }}</h4>
</view>
<view>
<span>规格型号</span>
<h4>{{ fetch.typeName }}</h4>
</view>
<view>
<span>申请数量</span>
<h4>{{ fetch.repairNum }}</h4>
</view>
<view>
<span>设备编号</span>
<h4>{{ fetch.maCode }}</h4>
</view>
<view>
<span>入库时间/状态</span>
<h4>{{ fetch.status == '已入库' ? fetch.updateTime : fetch.status }}</h4>
</view>
</view>
</view>
<!-- <view class="btm-exam">
<view>
<view
class="single-fetch"
v-for="(fetch, index) in fetchList"
:key="index">
<checkbox-group
@change="checkClick(fetch)"
v-show="fetch.status == '进行中'">
<checkbox :checked="fetch.checked" />
</checkbox-group>
<view class="slots">
<view>
<span>类型名称</span>
<h4>{{ fetch.typeName2 }}</h4>
</view>
<view>
<span>规格型号</span>
<h4>{{ fetch.typeName }}</h4>
</view>
<view>
<span>申请数量</span>
<h4>{{ fetch.repairNum }}</h4>
</view>
<view>
<span>设备编号</span>
<h4>{{ fetch.maCode }}</h4>
</view>
<view>
<span>入库时间/状态</span>
<h4>
{{
fetch.status == "已入库"
? fetch.updateTime
: fetch.status
}}
</h4>
</view>
</view>
</view>
<!-- <view class="btm-exam">
<view
class="exam"
@click="exam"
@ -42,42 +46,48 @@
审核
</view>
</view> -->
<view
class="buy"
v-show="status == '入库进行中'"
>
<view class="checked">
<checkbox-group @tap="checkAll">
<checkbox :checked="allChecked" />
</checkbox-group>
<text>全选</text>
</view>
<view class="total">
<view class="bill" @click="finishCart">
<text>审核</text>
</view>
</view>
</view>
<uni-popup
ref="popup"
type="center"
:mask-click="false"
>
<view class="popup">
<view class="pop-top">
<h4>审批</h4>
<uni-icons
style="color: #AAAAAA; font-weight: bold;"
type="closeempty"
@click="closePopup"
>
</uni-icons>
</view>
<h4 style="width: 85%; margin: 2vh auto; font-weight: normal; text-align: center;">是否通过审批</h4>
<view class="select-area">
<view @click="modalConfirm">通过</view>
<view @click="modalReject">驳回</view>
<!-- <uni-forms ref="examForm" :modelValue="examFormData" :rules="rules" label-position="top">
<view class="buy" v-show="status == '入库进行中'">
<view class="checked">
<checkbox-group @tap="checkAll">
<checkbox :checked="allChecked" />
</checkbox-group>
<text>全选</text>
</view>
<view class="total">
<view
class="bill"
@click="finishCart"
v-if="
store.includes('warehousing:repair:auditing') ||
store.includes('*:*:*')
">
<text>审核</text>
</view>
</view>
</view>
<uni-popup ref="popup" type="center" :mask-click="false">
<view class="popup">
<view class="pop-top">
<h4>审批</h4>
<uni-icons
style="color: #aaaaaa; font-weight: bold"
type="closeempty"
@click="closePopup">
</uni-icons>
</view>
<h4
style="
width: 85%;
margin: 2vh auto;
font-weight: normal;
text-align: center;
">
是否通过审批
</h4>
<view class="select-area">
<view @click="modalConfirm">通过</view>
<view @click="modalReject">驳回</view>
<!-- <uni-forms ref="examForm" :modelValue="examFormData" :rules="rules" label-position="top">
<uni-forms-item name="ifPass" required label="是否通过" label-width="150">
<uni-data-select
v-model="examFormData.ifPass"
@ -91,78 +101,80 @@
</uni-forms-item>
<button class="submit-btn" @click="formSubmit">确认</button>
</uni-forms> -->
</view>
</view>
</uni-popup>
</view>
</view>
</view>
</uni-popup>
</view>
</template>
<script>
export default {
data() {
return {
fetchList: [
],
allChecked: false,
inStoreList: [],
taskId: '',
status: ''
}
},
methods: {
checkClick(item) {
item.checked = !item.checked
if (!item.checked) {
this.allChecked = false
} else {
//
const goods = this.fetchList.every(item => {
return item.checked === true
})
if (goods) {
this.allChecked = true
} else {
this.allChecked = false
}
}
},
//
checkAll() {
this.allChecked = !this.allChecked
if (this.allChecked) {
this.fetchList.map(item => {
item.checked = true
})
} else {
this.fetchList.map(item => {
item.checked = false
})
}
},
finishCart () {
let that = this
that.inStoreList = that.fetchList.filter((item) => {
return item.checked == true
}).map((subItem) => {
return {
taskId: that.taskId,
id: subItem['id'],
type: subItem['manageType'],
maId: subItem['maId'],
typeId: subItem['typeId'],
remark: subItem['remark'],
repairNum: subItem['repairNum']
}
})
if (that.inStoreList.length == 0) {
uni.showToast({
icon: 'none',
title: '未选中审核项!'
})
} else {
that.openPopup()
/* uni.showModal({
import store from "../../store/user";
export default {
data() {
return {
fetchList: [],
allChecked: false,
inStoreList: [],
taskId: "",
status: "",
store: store.state.permissions || [],
};
},
methods: {
checkClick(item) {
item.checked = !item.checked;
if (!item.checked) {
this.allChecked = false;
} else {
//
const goods = this.fetchList.every((item) => {
return item.checked === true;
});
if (goods) {
this.allChecked = true;
} else {
this.allChecked = false;
}
}
},
//
checkAll() {
this.allChecked = !this.allChecked;
if (this.allChecked) {
this.fetchList.map((item) => {
item.checked = true;
});
} else {
this.fetchList.map((item) => {
item.checked = false;
});
}
},
finishCart() {
let that = this;
that.inStoreList = that.fetchList
.filter((item) => {
return item.checked == true;
})
.map((subItem) => {
return {
taskId: that.taskId,
id: subItem["id"],
type: subItem["manageType"],
maId: subItem["maId"],
typeId: subItem["typeId"],
remark: subItem["remark"],
repairNum: subItem["repairNum"],
};
});
if (that.inStoreList.length == 0) {
uni.showToast({
icon: "none",
title: "未选中审核项!",
});
} else {
that.openPopup();
/* uni.showModal({
title: '确认审核',
content: '是否通过审核?',
confirmText: '通过',
@ -183,224 +195,230 @@
}
}
}) */
}
},
subInStore (obj) {
let that = this
//
that.$api.repairTestInStore.processOrReject({
params: JSON.stringify(obj)
}).then(res => {
console.log(res);
if (res.data.code == 200) {
uni.showToast({
icon: 'none',
title: res.data.msg,
success: () => {
that.closePopup()
/* uni.redirectTo({
}
},
subInStore(obj) {
let that = this;
//
that.$api.repairTestInStore
.processOrReject({
params: JSON.stringify(obj),
})
.then((res) => {
console.log(res);
if (res.data.code == 200) {
uni.showToast({
icon: "none",
title: res.data.msg,
success: () => {
that.closePopup();
/* uni.redirectTo({
url: '/pages/repairTestInStore/repairTestInStore'
}) */
uni.navigateBack()
}
})
} else {
uni.showToast({
icon: 'none',
title: res.data.msg
})
}
})
},
openPopup () {
this.$refs.popup.open()
},
closePopup () {
this.$refs.popup.close()
},
modalConfirm () {
this.inStoreList.forEach(item => {
item.checkType = 1
})
console.log(this.inStoreList);
this.subInStore(this.inStoreList)
},
modalReject () {
this.inStoreList.forEach(item => {
item.checkType = 2
})
console.log(this.inStoreList);
this.subInStore(this.inStoreList)
}
},
onLoad(params) {
let that = this
console.log(params);
that.status = params.taskStatus
that.taskId = params.taskId
//
that.$api.repairTestInStore.repairTestInStoreDetail({
taskId: params.taskId
}, null).then(res => {
if (res.data.code == 200) {
for (let i = 0; i < res.data.data.length; i++) {
res.data.data[i].checked = false
if (res.data.data[i].maCode == null) {
res.data.data[i].maCode = '暂无'
}
}
that.fetchList = res.data.data
console.log(that.fetchList);
}
}).catch(err => {
console.log(err);
})
}
}
uni.navigateBack();
},
});
} else {
uni.showToast({
icon: "none",
title: res.data.msg,
});
}
});
},
openPopup() {
this.$refs.popup.open();
},
closePopup() {
this.$refs.popup.close();
},
modalConfirm() {
this.inStoreList.forEach((item) => {
item.checkType = 1;
});
console.log(this.inStoreList);
this.subInStore(this.inStoreList);
},
modalReject() {
this.inStoreList.forEach((item) => {
item.checkType = 2;
});
console.log(this.inStoreList);
this.subInStore(this.inStoreList);
},
},
onLoad(params) {
let that = this;
console.log(params);
that.status = params.taskStatus;
that.taskId = params.taskId;
//
that.$api.repairTestInStore
.repairTestInStoreDetail(
{
taskId: params.taskId,
},
null
)
.then((res) => {
if (res.data.code == 200) {
for (let i = 0; i < res.data.data.length; i++) {
res.data.data[i].checked = false;
if (res.data.data[i].maCode == null) {
res.data.data[i].maCode = "暂无";
}
}
that.fetchList = res.data.data;
console.log(that.fetchList);
}
})
.catch((err) => {
console.log(err);
});
},
};
</script>
<style lang="scss">
body{
box-sizing: border-box;
padding-bottom: 10vh;
}
.single-fetch{
width: 100%;
box-sizing: border-box;
padding: 20rpx 35rpx;
display: flex;
align-items: center;
border-bottom: 1px solid #DDDDDD;
.slots{
display: flex;
flex-direction: column;
margin-left: 30rpx;
view{
display: flex;
align-items: center;
margin-bottom: 25rpx;
span{
color: #A7A7A7;
padding-right: 20rpx;
}
h4{
font-size: 14px;
font-weight: normal;
}
}
view:last-child{
margin-bottom: 0;
}
}
}
.btm-exam{
position: fixed;
left: 0;
bottom: 0;
width: 100%;
box-sizing: border-box;
padding: 20rpx 40rpx;
display: flex;
justify-content: flex-end;
border-top: 2px solid #F6F8FF;
.exam{
box-sizing: border-box;
padding: 10rpx 50rpx;
border-radius: 30rpx;
background-color: #3788FF;
font-size: 14px;
color: #fff;
}
}
.buy {
display: flex;
align-items: center;
justify-content: space-between;
position: fixed;
left: 50%;
bottom: 0;
width: 95%;
transform: translate(-50%, 0);
}
.buy .checked {
display: flex;
align-items: center;
}
.buy .checked text {
font-size: 25rpx;
color: #000;
padding: 0 12rpx;
}
.buy .total {
display: flex;
align-items: center;
justify-content: space-between;
}
.buy .total .price {
padding-right: 20rpx;
}
.buy .total .price text {
font-size: 27rpx;
color: #C8C7CC;
display: inline-block;
}
.buy .total .price text:last-child {
color: red;
font-weight: bold;
}
.buy .total .bill text {
font-size: 25rpx;
color: #fff;
display: inline-block;
background-color: red;
line-height: 70rpx;
width: 150rpx;
text-align: center;
}
.popup{
width: 80vw;
height: 20vh;
background-color: #fff;
border-radius: 15rpx;
overflow: hidden;
background: linear-gradient(#D9E7FE, #fff, #fff, #fff);
}
.popup>.pop-top{
width: 100%;
height: 5vh;
box-sizing: border-box;
padding: 0 25rpx;
display: flex;
justify-content: space-between;
align-items: center;
}
.popup>.select-area{
width: 85%;
margin: 40rpx auto;
display: flex;
justify-content: space-around;
align-items: center;
}
.popup>.select-area>view{
box-sizing: border-box;
font-size: 30rpx;
padding: 12rpx 24rpx;
background-color: #3788FF;
color: #fff;
border-radius: 20rpx;
}
body {
box-sizing: border-box;
padding-bottom: 10vh;
}
.single-fetch {
width: 100%;
box-sizing: border-box;
padding: 20rpx 35rpx;
display: flex;
align-items: center;
border-bottom: 1px solid #dddddd;
.slots {
display: flex;
flex-direction: column;
margin-left: 30rpx;
view {
display: flex;
align-items: center;
margin-bottom: 25rpx;
span {
color: #a7a7a7;
padding-right: 20rpx;
}
h4 {
font-size: 14px;
font-weight: normal;
}
}
view:last-child {
margin-bottom: 0;
}
}
}
.btm-exam {
position: fixed;
left: 0;
bottom: 0;
width: 100%;
box-sizing: border-box;
padding: 20rpx 40rpx;
display: flex;
justify-content: flex-end;
border-top: 2px solid #f6f8ff;
.exam {
box-sizing: border-box;
padding: 10rpx 50rpx;
border-radius: 30rpx;
background-color: #3788ff;
font-size: 14px;
color: #fff;
}
}
.buy {
display: flex;
align-items: center;
justify-content: space-between;
position: fixed;
left: 50%;
bottom: 0;
width: 95%;
transform: translate(-50%, 0);
}
.buy .checked {
display: flex;
align-items: center;
}
.buy .checked text {
font-size: 25rpx;
color: #000;
padding: 0 12rpx;
}
.buy .total {
display: flex;
align-items: center;
justify-content: space-between;
}
.buy .total .price {
padding-right: 20rpx;
}
.buy .total .price text {
font-size: 27rpx;
color: #c8c7cc;
display: inline-block;
}
.buy .total .price text:last-child {
color: red;
font-weight: bold;
}
.buy .total .bill text {
font-size: 25rpx;
color: #fff;
display: inline-block;
background-color: red;
line-height: 70rpx;
width: 150rpx;
text-align: center;
}
.popup {
width: 80vw;
height: 20vh;
background-color: #fff;
border-radius: 15rpx;
overflow: hidden;
background: linear-gradient(#d9e7fe, #fff, #fff, #fff);
}
.popup > .pop-top {
width: 100%;
height: 5vh;
box-sizing: border-box;
padding: 0 25rpx;
display: flex;
justify-content: space-between;
align-items: center;
}
.popup > .select-area {
width: 85%;
margin: 40rpx auto;
display: flex;
justify-content: space-around;
align-items: center;
}
.popup > .select-area > view {
box-sizing: border-box;
font-size: 30rpx;
padding: 12rpx 24rpx;
background-color: #3788ff;
color: #fff;
border-radius: 20rpx;
}
</style>

View File

@ -1,101 +1,118 @@
<template>
<view>
<view
class="single-fetch"
v-for="(fetch, index) in fetchMaterialList"
:key="index"
>
<view class="fetch-upper">
<checkbox-group
v-show="fetch.taskStatus == 46"
style="margin-right: 15rpx;"
@change="checkClick(fetch)"
>
<checkbox :checked="fetch.checked" />
</checkbox-group>
<view class="upper-lef">
{{ fetch.createBy == null ? '' : fetch.createBy.slice(0, 1) }}
</view>
<view class="upper-rig">
<h4 style="font-size: 16px;">{{ fetch.createBy }}</h4>
<h4 style="color: #989898;">{{ fetch.unitName }}</h4>
</view>
</view>
<view class="fetch-lower">
<view>
<span>维修单号</span>
<h4>{{ fetch.repairNum }}</h4>
</view>
<view>
<span>工程名称</span>
<h4>{{ fetch.projectName }}</h4>
</view>
<view>
<span>工机具类型</span>
<h4>{{ fetch.itemType }}</h4>
</view>
<view>
<span>申请日期</span>
<h4>{{ fetch.createTime }}</h4>
</view>
</view>
<view class="fetch-btns">
<view
style="background-color: #3788FF;"
@click="seeDetail(fetch.taskId, fetch.taskStatus, 0)"
>
<uni-icons style="color: #fff;" type="eye"></uni-icons>
查看
</view>
<view
style="background-color: #FCA30D;"
v-show="fetch.taskStatus == 46"
@click="seeDetail(fetch.taskId, fetch.taskStatus, 1)"
>
<uni-icons style="color: #fff;" type="auth"></uni-icons>
审核
</view>
</view>
<view class="sticky-area">
<image src="/static/passed.png" v-show="fetch.taskStatus == 47" mode=""></image>
<image src="/static/noPass.png" v-show="fetch.taskStatus == 48" mode=""></image>
<image src="/static/noExam.png" v-show="fetch.taskStatus == 46" mode=""></image>
</view>
</view>
<view class="btm-sticky">
<view class="checked">
<checkbox-group @tap="checkAll" style="margin-right: 15rpx;">
<checkbox :checked="allChecked" />
</checkbox-group>
<text>全选</text>
</view>
<view
class="exam"
@click="toggleExam"
>
审核
</view>
</view>
<uni-popup
ref="popup"
type="center"
:mask-click="false"
>
<view class="popup">
<view class="pop-top">
<h4>审批</h4>
<uni-icons
style="color: #AAAAAA; font-weight: bold;"
type="closeempty"
@click="closePopup"
>
</uni-icons>
</view>
<h4 style="width: 85%; margin: 2vh auto; font-weight: normal; text-align: center;">是否通过审批</h4>
<view class="select-area">
<view @click="modalConfirm">通过</view>
<view @click="modalReject">驳回</view>
<!-- <uni-forms ref="examForm" :modelValue="examFormData" :rules="rules" label-position="top">
<view>
<view
class="single-fetch"
v-for="(fetch, index) in fetchMaterialList"
:key="index">
<view class="fetch-upper">
<checkbox-group
v-show="fetch.taskStatus == 46"
style="margin-right: 15rpx"
@change="checkClick(fetch)">
<checkbox :checked="fetch.checked" />
</checkbox-group>
<view class="upper-lef">
{{
fetch.createBy == null ? "" : fetch.createBy.slice(0, 1)
}}
</view>
<view class="upper-rig">
<h4 style="font-size: 16px">{{ fetch.createBy }}</h4>
<h4 style="color: #989898">{{ fetch.unitName }}</h4>
</view>
</view>
<view class="fetch-lower">
<view>
<span>维修单号</span>
<h4>{{ fetch.repairNum }}</h4>
</view>
<view>
<span>工程名称</span>
<h4>{{ fetch.projectName }}</h4>
</view>
<view>
<span>工机具类型</span>
<h4>{{ fetch.itemType }}</h4>
</view>
<view>
<span>申请日期</span>
<h4>{{ fetch.createTime }}</h4>
</view>
</view>
<view class="fetch-btns">
<view
style="background-color: #3788ff"
@click="seeDetail(fetch.taskId, fetch.taskStatus, 0)">
<uni-icons style="color: #fff" type="eye"></uni-icons>
查看
</view>
<view
style="background-color: #fca30d"
v-show="
fetch.taskStatus == 46 &&
(store.includes('service:auditing') ||
store.includes('*:*:*'))
"
@click="seeDetail(fetch.taskId, fetch.taskStatus, 1)">
<uni-icons style="color: #fff" type="auth"></uni-icons>
审核
</view>
</view>
<view class="sticky-area">
<image
src="/static/passed.png"
v-show="fetch.taskStatus == 47"
mode=""></image>
<image
src="/static/noPass.png"
v-show="fetch.taskStatus == 48"
mode=""></image>
<image
src="/static/noExam.png"
v-show="fetch.taskStatus == 46"
mode=""></image>
</view>
</view>
<view class="btm-sticky">
<view class="checked">
<checkbox-group @tap="checkAll" style="margin-right: 15rpx">
<checkbox :checked="allChecked" />
</checkbox-group>
<text>全选</text>
</view>
<view
class="exam"
@click="toggleExam"
v-if="
store.includes('service:auditing') ||
store.includes('*:*:*')
">
审核
</view>
</view>
<uni-popup ref="popup" type="center" :mask-click="false">
<view class="popup">
<view class="pop-top">
<h4>审批</h4>
<uni-icons
style="color: #aaaaaa; font-weight: bold"
type="closeempty"
@click="closePopup">
</uni-icons>
</view>
<h4
style="
width: 85%;
margin: 2vh auto;
font-weight: normal;
text-align: center;
">
是否通过审批
</h4>
<view class="select-area">
<view @click="modalConfirm">通过</view>
<view @click="modalReject">驳回</view>
<!-- <uni-forms ref="examForm" :modelValue="examFormData" :rules="rules" label-position="top">
<uni-forms-item name="ifPass" required label="是否通过" label-width="150">
<uni-data-select
v-model="examFormData.ifPass"
@ -109,105 +126,107 @@
</uni-forms-item>
<button class="submit-btn" @click="formSubmit">确认</button>
</uni-forms> -->
</view>
</view>
</uni-popup>
</view>
</view>
</view>
</uni-popup>
</view>
</template>
<script>
export default {
data() {
return {
allChecked: false,
examFormData: {
ifPass: '',
noPassReason: ''
},
ifPassRange: [
{ text: '是', value: '0' },
{ text: '否', value: '1' }
],
rules: {
ifPass: {
rules: [
{
required: true,
errorMessage: '请选择是否通过!'
}
]
}
},
fetchMaterialList: [
],
taskIdList: [],
subArr: [],
subObj: {},
auditList: []
}
},
methods: {
seeDetail (taskId, taskStatus, able) {
uni.navigateTo({
url: `/pages/testExam/testExamDetails?taskId=${taskId}&taskStatus=${taskStatus}&able=${able}`
})
},
checkAll() {
this.allChecked = !this.allChecked
if (this.allChecked) {
this.fetchMaterialList.map(item => {
if (item.checked == false) {
item.checked = true
}
})
} else {
this.fetchMaterialList.map(item => {
if (item.checked == true) {
item.checked = false
}
})
}
},
checkClick(item) {
item.checked = !item.checked
if (!item.checked) {
this.allChecked = false
} else {
const goods = this.fetchMaterialList.every(item => {
return item.checked === true
})
if (goods) {
this.allChecked = true
} else {
this.allChecked = false
}
}
},
toggleExam (info) {
let that = this
that.subArr = []
that.auditList = that.fetchMaterialList.filter((item) => {
return item.checked == true
})
that.taskIdList = that.fetchMaterialList.filter((item) => {
return item.checked == true
}).map((subItem) => {
return {
taskId: subItem['taskId']
}
})
if (that.taskIdList.length == 0) {
uni.showToast({
icon: 'none',
title: '未选中审核项!'
})
} else {
for (let i = 0; i < that.taskIdList.length; i++) {
that.subArr.push(that.taskIdList[i].taskId)
}
that.openPopup()
/* uni.showModal({
import store from "../../store/user";
export default {
data() {
return {
allChecked: false,
examFormData: {
ifPass: "",
noPassReason: "",
},
ifPassRange: [
{ text: "是", value: "0" },
{ text: "否", value: "1" },
],
rules: {
ifPass: {
rules: [
{
required: true,
errorMessage: "请选择是否通过!",
},
],
},
},
fetchMaterialList: [],
taskIdList: [],
subArr: [],
subObj: {},
auditList: [],
store: store.state.permissions || [],
};
},
methods: {
seeDetail(taskId, taskStatus, able) {
uni.navigateTo({
url: `/pages/testExam/testExamDetails?taskId=${taskId}&taskStatus=${taskStatus}&able=${able}`,
});
},
checkAll() {
this.allChecked = !this.allChecked;
if (this.allChecked) {
this.fetchMaterialList.map((item) => {
if (item.checked == false) {
item.checked = true;
}
});
} else {
this.fetchMaterialList.map((item) => {
if (item.checked == true) {
item.checked = false;
}
});
}
},
checkClick(item) {
item.checked = !item.checked;
if (!item.checked) {
this.allChecked = false;
} else {
const goods = this.fetchMaterialList.every((item) => {
return item.checked === true;
});
if (goods) {
this.allChecked = true;
} else {
this.allChecked = false;
}
}
},
toggleExam(info) {
let that = this;
that.subArr = [];
that.auditList = that.fetchMaterialList.filter((item) => {
return item.checked == true;
});
that.taskIdList = that.fetchMaterialList
.filter((item) => {
return item.checked == true;
})
.map((subItem) => {
return {
taskId: subItem["taskId"],
};
});
if (that.taskIdList.length == 0) {
uni.showToast({
icon: "none",
title: "未选中审核项!",
});
} else {
for (let i = 0; i < that.taskIdList.length; i++) {
that.subArr.push(that.taskIdList[i].taskId);
}
that.openPopup();
/* uni.showModal({
title: '审核通过',
content: '确认审核通过吗?',
confirmText: '通过',
@ -222,287 +241,290 @@
}
}
}) */
}
},
subInStore (obj) {
let that = this
//
that.$api.testExam.testExamAudit(obj).then(res => {
console.log(res);
if (res.data.code == 200) {
uni.showToast({
icon: 'none',
title: res.data.msg,
success: () => {
that.closePopup()
uni.redirectTo({
url: '/pages/testExam/testExam'
})
}
})
} else {
uni.showToast({
icon: 'none',
title: res.data.msg
})
}
})
},
openPopup () {
this.$refs.popup.open()
},
closePopup () {
this.$refs.popup.close()
},
modalConfirm () {
let that = this
that.subObj = {
checkResult: '通过',
taskIdList: that.subArr
}
console.log(that.subObj);
that.subInStore(that.subObj)
},
modalReject () {
let that = this
that.subObj = {
checkResult: '驳回',
taskIdList: that.taskIdList
}
console.log(that.subObj);
that.subInStore(that.subObj)
},
formSubmit () {
let that = this
that.$refs.examForm.validate().then(formData => {
console.log(formData);
that.$refs.popup.close()
})
},
ifPassChange (e) {
let that = this
console.log(e);
if (e == 1) {
that.rules = {
ifPass: {
rules: [
{
required: true,
errorMessage: '请选择是否通过!'
}
]
},
noPassReason: {
rules: [
{
required: true,
errorMessage: '请填写不通过原因!'
}
]
}
}
} else {
that.examFormData.noPassReason = ''
that.rules = {
ifPass: {
rules: [
{
required: true,
errorMessage: '请选择是否通过!'
}
]
}
}
}
}
},
onShow() {
let that = this
//
that.$api.testExam.testExamList().then(res => {
console.log(res);
if (res.data.code == 200) {
/* for (let i = 0; i < res.data.data.length; i++) {
}
},
subInStore(obj) {
let that = this;
//
that.$api.testExam.testExamAudit(obj).then((res) => {
console.log(res);
if (res.data.code == 200) {
uni.showToast({
icon: "none",
title: res.data.msg,
success: () => {
that.closePopup();
uni.redirectTo({
url: "/pages/testExam/testExam",
});
},
});
} else {
uni.showToast({
icon: "none",
title: res.data.msg,
});
}
});
},
openPopup() {
this.$refs.popup.open();
},
closePopup() {
this.$refs.popup.close();
},
modalConfirm() {
let that = this;
that.subObj = {
checkResult: "通过",
taskIdList: that.subArr,
};
console.log(that.subObj);
that.subInStore(that.subObj);
},
modalReject() {
let that = this;
that.subObj = {
checkResult: "驳回",
taskIdList: that.taskIdList,
};
console.log(that.subObj);
that.subInStore(that.subObj);
},
formSubmit() {
let that = this;
that.$refs.examForm.validate().then((formData) => {
console.log(formData);
that.$refs.popup.close();
});
},
ifPassChange(e) {
let that = this;
console.log(e);
if (e == 1) {
that.rules = {
ifPass: {
rules: [
{
required: true,
errorMessage: "请选择是否通过!",
},
],
},
noPassReason: {
rules: [
{
required: true,
errorMessage: "请填写不通过原因!",
},
],
},
};
} else {
that.examFormData.noPassReason = "";
that.rules = {
ifPass: {
rules: [
{
required: true,
errorMessage: "请选择是否通过!",
},
],
},
};
}
},
},
onShow() {
let that = this;
//
that.$api.testExam
.testExamList()
.then((res) => {
console.log(res);
if (res.data.code == 200) {
/* for (let i = 0; i < res.data.data.length; i++) {
if (res.data.data[i].taskStatus == 46) {
res.data.data[i].checked = false
}
} */
/* res.data.data.rows.forEach(item => {
/* res.data.data.rows.forEach(item => {
if (item.taskStatus == 46) item.checked = false
}) */
for (let item of res.data.rows) {
if (item.taskStatus == 46) item.checked = false
}
that.fetchMaterialList = res.data.rows
console.log(that.fetchMaterialList);
} else {
uni.showToast({
icon: 'none',
title: '未查询到相关数据!'
})
}
}).catch(err => {
console.log(err);
})
}
}
for (let item of res.data.rows) {
if (item.taskStatus == 46) item.checked = false;
}
that.fetchMaterialList = res.data.rows;
console.log(that.fetchMaterialList);
} else {
uni.showToast({
icon: "none",
title: "未查询到相关数据!",
});
}
})
.catch((err) => {
console.log(err);
});
},
};
</script>
<style lang="scss">
body{
background-color: #f8f8f8;
box-sizing: border-box;
padding-bottom: 10vh;
}
.single-fetch{
width: 95%;
margin: 20rpx auto;
background-color: #fff;
border-radius: 15rpx;
box-sizing: border-box;
padding: 15rpx;
position: relative;
.fetch-upper{
width: 100%;
box-sizing: border-box;
padding: 15rpx;
border-bottom: 1px solid #D7D7D7;
display: flex;
align-items: center;
.upper-lef{
width: 12%;
height: 5vh;
border-radius: 15rpx;
overflow: hidden;
display: flex;
justify-content: center;
align-items: center;
font-size: 24px;
background-color: #3788FF;
color: #fff;
}
.upper-rig{
flex: 1;
box-sizing: border-box;
padding: 10rpx 20rpx;
display: flex;
flex-direction: column;
justify-content: space-around;
h4{
font-weight: normal;
font-size: 14px;
}
}
}
.fetch-lower{
width: 100%;
box-sizing: border-box;
padding: 15rpx;
border-bottom: 1px solid #D7D7D7;
view{
width: 100%;
display: flex;
align-items: center;
margin-bottom: 15rpx;
font-size: 14px;
span{
color: #9D9D9D;
padding-right: 20rpx;
}
h4{
color: #000;
font-size: 14px;
font-weight: normal;
}
}
view:last-child{
margin-bottom: 0;
}
}
.fetch-btns{
width: 100%;
box-sizing: border-box;
padding: 15rpx;
display: flex;
justify-content: flex-end;
view{
box-sizing: border-box;
padding: 8rpx 25rpx;
border-radius: 15rpx;
color: #fff;
margin-right: 15rpx;
font-size: 14px;
}
view:last-child{
margin-right: 0;
}
}
.sticky-area{
position: absolute;
top: 0;
right: 0;
width: 11vh;
height: 10vh;
image{
width: 100%;
height: 100%;
}
}
}
.btm-sticky{
position: fixed;
bottom: 0;
left: 0;
width: 100%;
box-sizing: border-box;
padding: 15rpx 30rpx;
background-color: #fff;
display: flex;
justify-content: space-between;
align-items: center;
.checked{
display: flex;
align-items: center;
}
.exam{
box-sizing: border-box;
padding: 10rpx 50rpx;
border-radius: 30rpx;
background-color: #3788FF;
font-size: 14px;
color: #fff;
}
}
.popup{
width: 80vw;
height: 20vh;
background-color: #fff;
border-radius: 15rpx;
overflow: hidden;
background: linear-gradient(#D9E7FE, #fff, #fff, #fff);
.pop-top{
width: 100%;
height: 5vh;
box-sizing: border-box;
padding: 0 25rpx;
display: flex;
justify-content: space-between;
align-items: center;
}
.select-area{
width: 85%;
margin: 40rpx auto;
display: flex;
justify-content: space-around;
align-items: center;
view{
box-sizing: border-box;
font-size: 30rpx;
padding: 12rpx 24rpx;
background-color: #3788FF;
color: #fff;
border-radius: 20rpx;
}
}
}
body {
background-color: #f8f8f8;
box-sizing: border-box;
padding-bottom: 10vh;
}
.single-fetch {
width: 95%;
margin: 20rpx auto;
background-color: #fff;
border-radius: 15rpx;
box-sizing: border-box;
padding: 15rpx;
position: relative;
.fetch-upper {
width: 100%;
box-sizing: border-box;
padding: 15rpx;
border-bottom: 1px solid #d7d7d7;
display: flex;
align-items: center;
.upper-lef {
width: 12%;
height: 5vh;
border-radius: 15rpx;
overflow: hidden;
display: flex;
justify-content: center;
align-items: center;
font-size: 24px;
background-color: #3788ff;
color: #fff;
}
.upper-rig {
flex: 1;
box-sizing: border-box;
padding: 10rpx 20rpx;
display: flex;
flex-direction: column;
justify-content: space-around;
h4 {
font-weight: normal;
font-size: 14px;
}
}
}
.fetch-lower {
width: 100%;
box-sizing: border-box;
padding: 15rpx;
border-bottom: 1px solid #d7d7d7;
view {
width: 100%;
display: flex;
align-items: center;
margin-bottom: 15rpx;
font-size: 14px;
span {
color: #9d9d9d;
padding-right: 20rpx;
}
h4 {
color: #000;
font-size: 14px;
font-weight: normal;
}
}
view:last-child {
margin-bottom: 0;
}
}
.fetch-btns {
width: 100%;
box-sizing: border-box;
padding: 15rpx;
display: flex;
justify-content: flex-end;
view {
box-sizing: border-box;
padding: 8rpx 25rpx;
border-radius: 15rpx;
color: #fff;
margin-right: 15rpx;
font-size: 14px;
}
view:last-child {
margin-right: 0;
}
}
.sticky-area {
position: absolute;
top: 0;
right: 0;
width: 11vh;
height: 10vh;
image {
width: 100%;
height: 100%;
}
}
}
.btm-sticky {
position: fixed;
bottom: 0;
left: 0;
width: 100%;
box-sizing: border-box;
padding: 15rpx 30rpx;
background-color: #fff;
display: flex;
justify-content: space-between;
align-items: center;
.checked {
display: flex;
align-items: center;
}
.exam {
box-sizing: border-box;
padding: 10rpx 50rpx;
border-radius: 30rpx;
background-color: #3788ff;
font-size: 14px;
color: #fff;
}
}
.popup {
width: 80vw;
height: 20vh;
background-color: #fff;
border-radius: 15rpx;
overflow: hidden;
background: linear-gradient(#d9e7fe, #fff, #fff, #fff);
.pop-top {
width: 100%;
height: 5vh;
box-sizing: border-box;
padding: 0 25rpx;
display: flex;
justify-content: space-between;
align-items: center;
}
.select-area {
width: 85%;
margin: 40rpx auto;
display: flex;
justify-content: space-around;
align-items: center;
view {
box-sizing: border-box;
font-size: 30rpx;
padding: 12rpx 24rpx;
background-color: #3788ff;
color: #fff;
border-radius: 20rpx;
}
}
}
</style>

View File

@ -6,7 +6,7 @@
</view>
<h4 class="tit">业务办理</h4>
<view class="secs">
<!-- <view 重庆不需要领料申请
<!-- <view 重庆不需要领料申请
@click="jumpUrl('fetchMaterial')"
v-if="
store.includes('picking:apply:apply') ||
@ -18,7 +18,7 @@
<view
@click="jumpUrl('exitMaterial')"
v-if="
store.includes('return:apply:apply') ||
store.includes('return:apply:list') ||
store.includes('*:*:*')
">
<image src="/static/exitMaterial.png" mode=""></image>
@ -31,7 +31,7 @@
v-for="(part, index) in benchList"
:key="index"
@click="jumpUrl(part.url)"
v-show="store.includes(part.isShow) || store.includes('*:*:*')">
v-show="store.includes(part.isShow)">
<image :src="part.pic" mode=""></image>
<span>{{ part.name }}</span>
</view>
@ -68,7 +68,13 @@
name: "领料审批",
pic: "/static/fetchExam.png",
url: "fetchExam",
isShow: "receive:examine:nbs",
isShow: "picking:auditing:list",
},
{
name: "领料审批",
pic: "/static/fetchExam.png",
url: "fetchExam",
isShow: "*:*:*",
},
{
name: "退料审批",
@ -76,6 +82,12 @@
url: "exitExam",
isShow: "return:auditing:auditing",
},
{
name: "退料审批",
pic: "/static/exitExam.png",
url: "exitExam",
isShow: "*:*:*",
},
/* {
name: 'RFID绑定',
pic: '/static/rfidBinding.png',
@ -86,6 +98,11 @@
pic: "/static/qrcodeBinding.png",
url: "qrcodeBinding",
},
{
name: "二维码绑定",
pic: "/static/qrcodeBinding.png",
url: "*:*:*",
},
/* {
name: '新购验收',
pic: '/static/newCheck.png',
@ -95,7 +112,13 @@
name: "新购入库",
pic: "/static/newInStore.png",
url: "newInStore",
isShow: "warehousing:newTools:auditing",
isShow: "warehousing:newTools:list",
},
{
name: "新购入库",
pic: "/static/newInStore.png",
url: "newInStore",
isShow: "*:*:*",
},
/* {
name: '退料入库',
@ -106,7 +129,13 @@
name: "修试入库",
pic: "/static/repairTestInStore.png",
url: "repairTestInStore",
isShow: "warehousing:repair:auditing",
isShow: "warehousing:repair:list",
},
{
name: "修试入库",
pic: "/static/repairTestInStore.png",
url: "repairTestInStore",
isShow: "*:*:*",
},
{
name: "领料出库",
@ -114,17 +143,35 @@
url: "fetchMaterialOutStore",
isShow: "picking:outbound:out",
},
{
name: "领料出库",
pic: "/static/fetchMaterialOutStore.png",
url: "fetchMaterialOutStore",
isShow: "*:*:*",
},
{
name: "退料接收",
pic: "/static/backMaterialReceive.png",
url: "backMaterialReceive",
isShow: "return:receive:handler",
isShow: "return:receive:list",
},
{
name: "退料接收",
pic: "/static/backMaterialReceive.png",
url: "backMaterialReceive",
isShow: "*:*:*",
},
{
name: "维修",
pic: "/static/fix.png",
url: "fix",
isShow: "service:button",
isShow: "repair:manage:list",
},
{
name: "维修",
pic: "/static/fix.png",
url: "fix",
isShow: "*:*:*",
},
{
name: "报废审核",
@ -132,11 +179,23 @@
url: "crashExam",
isShow: "scrap:auditing",
},
{
name: "报废审核",
pic: "/static/crashExam.png",
url: "crashExam",
isShow: "*:*:*",
},
{
name: "维修审核",
pic: "/static/testExam.png",
url: "testExam",
isShow: "service:auditing",
isShow: "service:auditing:list",
},
{
name: "维修审核",
pic: "/static/testExam.png",
url: "testExam",
isShow: "*:*:*",
},
],
store: store.state.permissions || [],

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -2113,7 +2113,7 @@ module.exports = function (url, options) {
} // eslint-disable-next-line no-underscore-dangle, no-param-reassign
url = url && url.__esModule ? url.default : url
let isAbsoluteFile = false
var isAbsoluteFile = false
if (typeof url !== 'string') {
if (url.protocol && url.protocol === 'file:' && url.pathname) {
isAbsoluteFile = true
@ -13117,27 +13117,33 @@ var render = function () {
"uni-view",
{ staticClass: _vm._$g(17, "sc"), attrs: { _i: 17 } },
[
_c(
"uni-view",
{ staticClass: _vm._$g(18, "sc"), attrs: { _i: 18 } },
[
_c(
_vm._$g(18, "i")
? _c(
"uni-view",
{
staticClass: _vm._$g(19, "sc"),
attrs: { _i: 19 },
on: {
click: function ($event) {
return _vm.$handleViewEvent($event)
{ staticClass: _vm._$g(18, "sc"), attrs: { _i: 18 } },
[
_c(
"uni-view",
{
staticClass: _vm._$g(19, "sc"),
attrs: { _i: 19 },
on: {
click: function ($event) {
return _vm.$handleViewEvent($event)
},
},
},
},
},
[_c("v-uni-text", { attrs: { _i: 20 } }, [_vm._v("确认入库")])],
[
_c("v-uni-text", { attrs: { _i: 20 } }, [
_vm._v("确认入库"),
]),
],
1
),
],
1
),
],
1
),
)
: _vm._e(),
],
1
),
@ -22062,20 +22068,22 @@ var render = function () {
"uni-view",
{ staticClass: _vm._$g(25, "sc"), attrs: { _i: 25 } },
[
_c(
"uni-view",
{
staticClass: _vm._$g(26, "sc"),
attrs: { _i: 26 },
on: {
click: function ($event) {
return _vm.$handleViewEvent($event)
_vm._$g(26, "i")
? _c(
"uni-view",
{
staticClass: _vm._$g(26, "sc"),
attrs: { _i: 26 },
on: {
click: function ($event) {
return _vm.$handleViewEvent($event)
},
},
},
},
},
[_c("v-uni-text", { attrs: { _i: 27 } }, [_vm._v("审核")])],
1
),
[_c("v-uni-text", { attrs: { _i: 27 } }, [_vm._v("审核")])],
1
)
: _vm._e(),
],
1
),
@ -22096,7 +22104,7 @@ var render = function () {
[
_c("h4", { attrs: { _i: 31 } }, [_vm._v("审批")]),
_c("uni-icons", {
staticStyle: { color: "#AAAAAA", "font-weight": "bold" },
staticStyle: { color: "#aaaaaa", "font-weight": "bold" },
attrs: { _i: 32 },
on: {
click: function ($event) {
@ -22255,7 +22263,7 @@ if(false) {}
var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../../HBuilderX.3.98.2023112510/HBuilderX/plugins/uniapp-cli/node_modules/css-loader/dist/runtime/api.js */ 16);
exports = ___CSS_LOADER_API_IMPORT___(false);
// Module
exports.push([module.i, "@charset \"UTF-8\";\r\n/**\r\n * 这里是uni-app内置的常用样式变量\r\n *\r\n * uni-app 官方扩展插件及插件市场https://ext.dcloud.net.cn上很多三方插件均使用了这些样式变量\r\n * 如果你是插件开发者建议你使用scss预处理并在插件代码中直接使用这些变量无需 import 这个文件方便用户通过搭积木的方式开发整体风格一致的App\r\n *\r\n */\r\n/**\r\n * 如果你是App开发者插件使用者你可以通过修改这些变量来定制自己的插件主题实现自定义主题功能\r\n *\r\n * 如果你的项目同样使用了scss预处理你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件\r\n */\r\n/* 颜色变量 */\r\n/* 行为相关颜色 */\r\n/* 文字基本颜色 */\r\n/* 背景颜色 */\r\n/* 边框颜色 */\r\n/* 尺寸变量 */\r\n/* 文字尺寸 */\r\n/* 图片尺寸 */\r\n/* Border Radius */\r\n/* 水平间距 */\r\n/* 垂直间距 */\r\n/* 透明度 */\r\n/* 文章场景相关 */\nbody {\r\n box-sizing: border-box;\r\n padding-bottom: 10vh;\n}\n.single-fetch {\r\n width: 100%;\r\n box-sizing: border-box;\r\n padding: 20rpx 35rpx;\r\n display: flex;\r\n align-items: center;\r\n border-bottom: 1px solid #DDDDDD;\n}\n.single-fetch .slots {\r\n display: flex;\r\n flex-direction: column;\r\n margin-left: 30rpx;\n}\n.single-fetch .slots uni-view {\r\n display: flex;\r\n align-items: center;\r\n margin-bottom: 25rpx;\n}\n.single-fetch .slots uni-view span {\r\n color: #A7A7A7;\r\n padding-right: 20rpx;\n}\n.single-fetch .slots uni-view h4 {\r\n font-size: 14px;\r\n font-weight: normal;\n}\n.single-fetch .slots uni-view:last-child {\r\n margin-bottom: 0;\n}\n.btm-exam {\r\n position: fixed;\r\n left: 0;\r\n bottom: 0;\r\n width: 100%;\r\n box-sizing: border-box;\r\n padding: 20rpx 40rpx;\r\n display: flex;\r\n justify-content: flex-end;\r\n border-top: 2px solid #F6F8FF;\n}\n.btm-exam .exam {\r\n box-sizing: border-box;\r\n padding: 10rpx 50rpx;\r\n border-radius: 30rpx;\r\n background-color: #3788FF;\r\n font-size: 14px;\r\n color: #fff;\n}\n.buy {\r\n display: flex;\r\n align-items: center;\r\n justify-content: space-between;\r\n position: fixed;\r\n left: 50%;\r\n bottom: 0;\r\n width: 95%;\r\n -webkit-transform: translate(-50%, 0);\r\n transform: translate(-50%, 0);\n}\n.buy .checked {\r\n display: flex;\r\n align-items: center;\n}\n.buy .checked uni-text {\r\n font-size: 25rpx;\r\n color: #000;\r\n padding: 0 12rpx;\n}\n.buy .total {\r\n display: flex;\r\n align-items: center;\r\n justify-content: space-between;\n}\n.buy .total .price {\r\n padding-right: 20rpx;\n}\n.buy .total .price uni-text {\r\n font-size: 27rpx;\r\n color: #C8C7CC;\r\n display: inline-block;\n}\n.buy .total .price uni-text:last-child {\r\n color: red;\r\n font-weight: bold;\n}\n.buy .total .bill uni-text {\r\n font-size: 25rpx;\r\n color: #fff;\r\n display: inline-block;\r\n background-color: red;\r\n line-height: 70rpx;\r\n width: 150rpx;\r\n text-align: center;\n}\n.popup {\r\n width: 80vw;\r\n height: 20vh;\r\n background-color: #fff;\r\n border-radius: 15rpx;\r\n overflow: hidden;\r\n background: linear-gradient(#D9E7FE, #fff, #fff, #fff);\n}\n.popup > .pop-top {\r\n width: 100%;\r\n height: 5vh;\r\n box-sizing: border-box;\r\n padding: 0 25rpx;\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\n}\n.popup > .select-area {\r\n width: 85%;\r\n margin: 40rpx auto;\r\n display: flex;\r\n justify-content: space-around;\r\n align-items: center;\n}\n.popup > .select-area > uni-view {\r\n box-sizing: border-box;\r\n font-size: 30rpx;\r\n padding: 12rpx 24rpx;\r\n background-color: #3788FF;\r\n color: #fff;\r\n border-radius: 20rpx;\n}\r\n", ""]);
exports.push([module.i, "@charset \"UTF-8\";\r\n/**\r\n * 这里是uni-app内置的常用样式变量\r\n *\r\n * uni-app 官方扩展插件及插件市场https://ext.dcloud.net.cn上很多三方插件均使用了这些样式变量\r\n * 如果你是插件开发者建议你使用scss预处理并在插件代码中直接使用这些变量无需 import 这个文件方便用户通过搭积木的方式开发整体风格一致的App\r\n *\r\n */\r\n/**\r\n * 如果你是App开发者插件使用者你可以通过修改这些变量来定制自己的插件主题实现自定义主题功能\r\n *\r\n * 如果你的项目同样使用了scss预处理你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件\r\n */\r\n/* 颜色变量 */\r\n/* 行为相关颜色 */\r\n/* 文字基本颜色 */\r\n/* 背景颜色 */\r\n/* 边框颜色 */\r\n/* 尺寸变量 */\r\n/* 文字尺寸 */\r\n/* 图片尺寸 */\r\n/* Border Radius */\r\n/* 水平间距 */\r\n/* 垂直间距 */\r\n/* 透明度 */\r\n/* 文章场景相关 */\nbody {\r\n box-sizing: border-box;\r\n padding-bottom: 10vh;\n}\n.single-fetch {\r\n width: 100%;\r\n box-sizing: border-box;\r\n padding: 20rpx 35rpx;\r\n display: flex;\r\n align-items: center;\r\n border-bottom: 1px solid #dddddd;\n}\n.single-fetch .slots {\r\n display: flex;\r\n flex-direction: column;\r\n margin-left: 30rpx;\n}\n.single-fetch .slots uni-view {\r\n display: flex;\r\n align-items: center;\r\n margin-bottom: 25rpx;\n}\n.single-fetch .slots uni-view span {\r\n color: #a7a7a7;\r\n padding-right: 20rpx;\n}\n.single-fetch .slots uni-view h4 {\r\n font-size: 14px;\r\n font-weight: normal;\n}\n.single-fetch .slots uni-view:last-child {\r\n margin-bottom: 0;\n}\n.btm-exam {\r\n position: fixed;\r\n left: 0;\r\n bottom: 0;\r\n width: 100%;\r\n box-sizing: border-box;\r\n padding: 20rpx 40rpx;\r\n display: flex;\r\n justify-content: flex-end;\r\n border-top: 2px solid #f6f8ff;\n}\n.btm-exam .exam {\r\n box-sizing: border-box;\r\n padding: 10rpx 50rpx;\r\n border-radius: 30rpx;\r\n background-color: #3788ff;\r\n font-size: 14px;\r\n color: #fff;\n}\n.buy {\r\n display: flex;\r\n align-items: center;\r\n justify-content: space-between;\r\n position: fixed;\r\n left: 50%;\r\n bottom: 0;\r\n width: 95%;\r\n -webkit-transform: translate(-50%, 0);\r\n transform: translate(-50%, 0);\n}\n.buy .checked {\r\n display: flex;\r\n align-items: center;\n}\n.buy .checked uni-text {\r\n font-size: 25rpx;\r\n color: #000;\r\n padding: 0 12rpx;\n}\n.buy .total {\r\n display: flex;\r\n align-items: center;\r\n justify-content: space-between;\n}\n.buy .total .price {\r\n padding-right: 20rpx;\n}\n.buy .total .price uni-text {\r\n font-size: 27rpx;\r\n color: #c8c7cc;\r\n display: inline-block;\n}\n.buy .total .price uni-text:last-child {\r\n color: red;\r\n font-weight: bold;\n}\n.buy .total .bill uni-text {\r\n font-size: 25rpx;\r\n color: #fff;\r\n display: inline-block;\r\n background-color: red;\r\n line-height: 70rpx;\r\n width: 150rpx;\r\n text-align: center;\n}\n.popup {\r\n width: 80vw;\r\n height: 20vh;\r\n background-color: #fff;\r\n border-radius: 15rpx;\r\n overflow: hidden;\r\n background: linear-gradient(#d9e7fe, #fff, #fff, #fff);\n}\n.popup > .pop-top {\r\n width: 100%;\r\n height: 5vh;\r\n box-sizing: border-box;\r\n padding: 0 25rpx;\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\n}\n.popup > .select-area {\r\n width: 85%;\r\n margin: 40rpx auto;\r\n display: flex;\r\n justify-content: space-around;\r\n align-items: center;\n}\n.popup > .select-area > uni-view {\r\n box-sizing: border-box;\r\n font-size: 30rpx;\r\n padding: 12rpx 24rpx;\r\n background-color: #3788ff;\r\n color: #fff;\r\n border-radius: 20rpx;\n}\r\n", ""]);
// Exports
module.exports = exports;
@ -24862,7 +24870,7 @@ var render = function () {
_c(
"uni-view",
{
staticStyle: { "background-color": "#3788FF" },
staticStyle: { "background-color": "#3788ff" },
attrs: { _i: "23-" + $30 },
on: {
click: function ($event) {
@ -24890,7 +24898,7 @@ var render = function () {
expression: "_$g((\"25-\"+$30),'v-show')",
},
],
staticStyle: { "background-color": "#FCA30D" },
staticStyle: { "background-color": "#fca30d" },
attrs: { _i: "25-" + $30 },
on: {
click: function ($event) {
@ -24999,19 +25007,21 @@ var render = function () {
],
1
),
_c(
"uni-view",
{
staticClass: _vm._$g(36, "sc"),
attrs: { _i: 36 },
on: {
click: function ($event) {
return _vm.$handleViewEvent($event)
_vm._$g(36, "i")
? _c(
"uni-view",
{
staticClass: _vm._$g(36, "sc"),
attrs: { _i: 36 },
on: {
click: function ($event) {
return _vm.$handleViewEvent($event)
},
},
},
},
},
[_vm._v("审核")]
),
[_vm._v("审核")]
)
: _vm._e(),
],
1
),
@ -25029,7 +25039,7 @@ var render = function () {
[
_c("h4", { attrs: { _i: 40 } }, [_vm._v("审批")]),
_c("uni-icons", {
staticStyle: { color: "#AAAAAA", "font-weight": "bold" },
staticStyle: { color: "#aaaaaa", "font-weight": "bold" },
attrs: { _i: 41 },
on: {
click: function ($event) {
@ -25188,7 +25198,7 @@ if(false) {}
var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../../HBuilderX.3.98.2023112510/HBuilderX/plugins/uniapp-cli/node_modules/css-loader/dist/runtime/api.js */ 16);
exports = ___CSS_LOADER_API_IMPORT___(false);
// Module
exports.push([module.i, "@charset \"UTF-8\";\r\n/**\r\n * 这里是uni-app内置的常用样式变量\r\n *\r\n * uni-app 官方扩展插件及插件市场https://ext.dcloud.net.cn上很多三方插件均使用了这些样式变量\r\n * 如果你是插件开发者建议你使用scss预处理并在插件代码中直接使用这些变量无需 import 这个文件方便用户通过搭积木的方式开发整体风格一致的App\r\n *\r\n */\r\n/**\r\n * 如果你是App开发者插件使用者你可以通过修改这些变量来定制自己的插件主题实现自定义主题功能\r\n *\r\n * 如果你的项目同样使用了scss预处理你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件\r\n */\r\n/* 颜色变量 */\r\n/* 行为相关颜色 */\r\n/* 文字基本颜色 */\r\n/* 背景颜色 */\r\n/* 边框颜色 */\r\n/* 尺寸变量 */\r\n/* 文字尺寸 */\r\n/* 图片尺寸 */\r\n/* Border Radius */\r\n/* 水平间距 */\r\n/* 垂直间距 */\r\n/* 透明度 */\r\n/* 文章场景相关 */\nbody {\r\n background-color: #f8f8f8;\r\n box-sizing: border-box;\r\n padding-bottom: 10vh;\n}\n.single-fetch {\r\n width: 95%;\r\n margin: 20rpx auto;\r\n background-color: #fff;\r\n border-radius: 15rpx;\r\n box-sizing: border-box;\r\n padding: 15rpx;\r\n position: relative;\n}\n.single-fetch .fetch-upper {\r\n width: 100%;\r\n box-sizing: border-box;\r\n padding: 15rpx;\r\n border-bottom: 1px solid #D7D7D7;\r\n display: flex;\r\n align-items: center;\n}\n.single-fetch .fetch-upper .upper-lef {\r\n width: 12%;\r\n height: 5vh;\r\n border-radius: 15rpx;\r\n overflow: hidden;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n font-size: 24px;\r\n background-color: #3788FF;\r\n color: #fff;\n}\n.single-fetch .fetch-upper .upper-rig {\r\n flex: 1;\r\n box-sizing: border-box;\r\n padding: 10rpx 20rpx;\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: space-around;\n}\n.single-fetch .fetch-upper .upper-rig h4 {\r\n font-weight: normal;\r\n font-size: 14px;\n}\n.single-fetch .fetch-lower {\r\n width: 100%;\r\n box-sizing: border-box;\r\n padding: 15rpx;\r\n border-bottom: 1px solid #D7D7D7;\n}\n.single-fetch .fetch-lower uni-view {\r\n width: 100%;\r\n display: flex;\r\n align-items: center;\r\n margin-bottom: 15rpx;\r\n font-size: 14px;\n}\n.single-fetch .fetch-lower uni-view span {\r\n color: #9D9D9D;\r\n padding-right: 20rpx;\n}\n.single-fetch .fetch-lower uni-view h4 {\r\n color: #000;\r\n font-size: 14px;\r\n font-weight: normal;\n}\n.single-fetch .fetch-lower uni-view:last-child {\r\n margin-bottom: 0;\n}\n.single-fetch .fetch-btns {\r\n width: 100%;\r\n box-sizing: border-box;\r\n padding: 15rpx;\r\n display: flex;\r\n justify-content: flex-end;\n}\n.single-fetch .fetch-btns uni-view {\r\n box-sizing: border-box;\r\n padding: 8rpx 25rpx;\r\n border-radius: 15rpx;\r\n color: #fff;\r\n margin-right: 15rpx;\r\n font-size: 14px;\n}\n.single-fetch .fetch-btns uni-view:last-child {\r\n margin-right: 0;\n}\n.single-fetch .sticky-area {\r\n position: absolute;\r\n top: 0;\r\n right: 0;\r\n width: 11vh;\r\n height: 10vh;\n}\n.single-fetch .sticky-area uni-image {\r\n width: 100%;\r\n height: 100%;\n}\n.btm-sticky {\r\n position: fixed;\r\n bottom: 0;\r\n left: 0;\r\n width: 100%;\r\n box-sizing: border-box;\r\n padding: 15rpx 30rpx;\r\n background-color: #fff;\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\n}\n.btm-sticky .checked {\r\n display: flex;\r\n align-items: center;\n}\n.btm-sticky .exam {\r\n box-sizing: border-box;\r\n padding: 10rpx 50rpx;\r\n border-radius: 30rpx;\r\n background-color: #3788FF;\r\n font-size: 14px;\r\n color: #fff;\n}\n.popup {\r\n width: 80vw;\r\n height: 20vh;\r\n background-color: #fff;\r\n border-radius: 15rpx;\r\n overflow: hidden;\r\n background: linear-gradient(#D9E7FE, #fff, #fff, #fff);\n}\n.popup .pop-top {\r\n width: 100%;\r\n height: 5vh;\r\n box-sizing: border-box;\r\n padding: 0 25rpx;\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\n}\n.popup .select-area {\r\n width: 85%;\r\n margin: 40rpx auto;\r\n display: flex;\r\n justify-content: space-around;\r\n align-items: center;\n}\n.popup .select-area uni-view {\r\n box-sizing: border-box;\r\n font-size: 30rpx;\r\n padding: 12rpx 24rpx;\r\n background-color: #3788FF;\r\n color: #fff;\r\n border-radius: 20rpx;\n}\r\n", ""]);
exports.push([module.i, "@charset \"UTF-8\";\r\n/**\r\n * 这里是uni-app内置的常用样式变量\r\n *\r\n * uni-app 官方扩展插件及插件市场https://ext.dcloud.net.cn上很多三方插件均使用了这些样式变量\r\n * 如果你是插件开发者建议你使用scss预处理并在插件代码中直接使用这些变量无需 import 这个文件方便用户通过搭积木的方式开发整体风格一致的App\r\n *\r\n */\r\n/**\r\n * 如果你是App开发者插件使用者你可以通过修改这些变量来定制自己的插件主题实现自定义主题功能\r\n *\r\n * 如果你的项目同样使用了scss预处理你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件\r\n */\r\n/* 颜色变量 */\r\n/* 行为相关颜色 */\r\n/* 文字基本颜色 */\r\n/* 背景颜色 */\r\n/* 边框颜色 */\r\n/* 尺寸变量 */\r\n/* 文字尺寸 */\r\n/* 图片尺寸 */\r\n/* Border Radius */\r\n/* 水平间距 */\r\n/* 垂直间距 */\r\n/* 透明度 */\r\n/* 文章场景相关 */\nbody {\r\n background-color: #f8f8f8;\r\n box-sizing: border-box;\r\n padding-bottom: 10vh;\n}\n.single-fetch {\r\n width: 95%;\r\n margin: 20rpx auto;\r\n background-color: #fff;\r\n border-radius: 15rpx;\r\n box-sizing: border-box;\r\n padding: 15rpx;\r\n position: relative;\n}\n.single-fetch .fetch-upper {\r\n width: 100%;\r\n box-sizing: border-box;\r\n padding: 15rpx;\r\n border-bottom: 1px solid #d7d7d7;\r\n display: flex;\r\n align-items: center;\n}\n.single-fetch .fetch-upper .upper-lef {\r\n width: 12%;\r\n height: 5vh;\r\n border-radius: 15rpx;\r\n overflow: hidden;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n font-size: 24px;\r\n background-color: #3788ff;\r\n color: #fff;\n}\n.single-fetch .fetch-upper .upper-rig {\r\n flex: 1;\r\n box-sizing: border-box;\r\n padding: 10rpx 20rpx;\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: space-around;\n}\n.single-fetch .fetch-upper .upper-rig h4 {\r\n font-weight: normal;\r\n font-size: 14px;\n}\n.single-fetch .fetch-lower {\r\n width: 100%;\r\n box-sizing: border-box;\r\n padding: 15rpx;\r\n border-bottom: 1px solid #d7d7d7;\n}\n.single-fetch .fetch-lower uni-view {\r\n width: 100%;\r\n display: flex;\r\n align-items: center;\r\n margin-bottom: 15rpx;\r\n font-size: 14px;\n}\n.single-fetch .fetch-lower uni-view span {\r\n color: #9d9d9d;\r\n padding-right: 20rpx;\n}\n.single-fetch .fetch-lower uni-view h4 {\r\n color: #000;\r\n font-size: 14px;\r\n font-weight: normal;\n}\n.single-fetch .fetch-lower uni-view:last-child {\r\n margin-bottom: 0;\n}\n.single-fetch .fetch-btns {\r\n width: 100%;\r\n box-sizing: border-box;\r\n padding: 15rpx;\r\n display: flex;\r\n justify-content: flex-end;\n}\n.single-fetch .fetch-btns uni-view {\r\n box-sizing: border-box;\r\n padding: 8rpx 25rpx;\r\n border-radius: 15rpx;\r\n color: #fff;\r\n margin-right: 15rpx;\r\n font-size: 14px;\n}\n.single-fetch .fetch-btns uni-view:last-child {\r\n margin-right: 0;\n}\n.single-fetch .sticky-area {\r\n position: absolute;\r\n top: 0;\r\n right: 0;\r\n width: 11vh;\r\n height: 10vh;\n}\n.single-fetch .sticky-area uni-image {\r\n width: 100%;\r\n height: 100%;\n}\n.btm-sticky {\r\n position: fixed;\r\n bottom: 0;\r\n left: 0;\r\n width: 100%;\r\n box-sizing: border-box;\r\n padding: 15rpx 30rpx;\r\n background-color: #fff;\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\n}\n.btm-sticky .checked {\r\n display: flex;\r\n align-items: center;\n}\n.btm-sticky .exam {\r\n box-sizing: border-box;\r\n padding: 10rpx 50rpx;\r\n border-radius: 30rpx;\r\n background-color: #3788ff;\r\n font-size: 14px;\r\n color: #fff;\n}\n.popup {\r\n width: 80vw;\r\n height: 20vh;\r\n background-color: #fff;\r\n border-radius: 15rpx;\r\n overflow: hidden;\r\n background: linear-gradient(#d9e7fe, #fff, #fff, #fff);\n}\n.popup .pop-top {\r\n width: 100%;\r\n height: 5vh;\r\n box-sizing: border-box;\r\n padding: 0 25rpx;\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\n}\n.popup .select-area {\r\n width: 85%;\r\n margin: 40rpx auto;\r\n display: flex;\r\n justify-content: space-around;\r\n align-items: center;\n}\n.popup .select-area uni-view {\r\n box-sizing: border-box;\r\n font-size: 30rpx;\r\n padding: 12rpx 24rpx;\r\n background-color: #3788ff;\r\n color: #fff;\r\n border-radius: 20rpx;\n}\r\n", ""]);
// Exports
module.exports = exports;
@ -27571,19 +27581,21 @@ var render = function () {
"uni-view",
{ staticClass: _vm._$g(16, "sc"), attrs: { _i: 16 } },
[
_c(
"uni-view",
{
staticClass: _vm._$g(17, "sc"),
attrs: { _i: 17 },
on: {
click: function ($event) {
return _vm.$handleViewEvent($event)
_vm._$g(17, "i")
? _c(
"uni-view",
{
staticClass: _vm._$g(17, "sc"),
attrs: { _i: 17 },
on: {
click: function ($event) {
return _vm.$handleViewEvent($event)
},
},
},
},
},
[_vm._v("完成退料")]
),
[_vm._v("完成退料")]
)
: _vm._e(),
],
1
),

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long