From ca2200ba53b236e8902b706c444375408c782f07 Mon Sep 17 00:00:00 2001
From: Mr.Zhang <710666463@qq.com>
Date: 星期一, 18 九月 2023 15:58:45 +0800
Subject: [PATCH] 09-18 小程序
---
minipro_standard/pages_adjust/pages/workOrder/workOrder.vue | 29
minipro_standard/pages/selectWorkOrder/selectWorkOrder.vue | 7
minipro_standard/pages_adjust/pages/newTransfer/newTransfer.vue | 14
minipro_standard/pages_adjust/pages/workOrderReporting/workOrderReporting.vue | 94 +
minipro_standard/pages/index/index.vue | 36
minipro_standard/components/InOutInfo.vue | 4
minipro_standard/pages/login/login.vue | 3
minipro_standard/pages_adjust/pages/reportingForWork/reportingForWork.vue | 404 ++++----
minipro_standard/pages_inspect/pages/InOperation/InOperation.vue | 17
platform_web/src/components/system/role/OperaRoleWindow.vue | 2
minipro_standard/common/css/lib.css | 7
minipro_standard/pages_adjust/pages/spotCheck/spotCheck.vue | 175 +--
minipro_standard/components/workOrderInfo.vue | 167 ++-
minipro_standard/pages_adjust/pages/manualFeed/manualFeed.vue | 17
minipro_standard/components/myTabber.vue | 2
minipro_standard/pages_adjust/pages/OrderDetail/OrderDetail.vue | 206 ++-
platform_web/src/views/system/role.vue | 8
minipro_standard/uni.scss | 1
minipro_standard/components/Search.vue | 10
minipro_standard/pages_inspect/pages/OutOperation/OutOperation.vue | 1570 ++++++++++++++++----------------
minipro_standard/pages/allocation/allocation.vue | 40
minipro_standard/uni_modules/l-calendar/components/l-calendar/l-calendar.vue | 4
22 files changed, 1,463 insertions(+), 1,354 deletions(-)
diff --git a/minipro_standard/common/css/lib.css b/minipro_standard/common/css/lib.css
index 10ccfdc..bd9f91d 100644
--- a/minipro_standard/common/css/lib.css
+++ b/minipro_standard/common/css/lib.css
@@ -118,8 +118,9 @@
.rp { position: relative; }
.ap { position: absolute; }
-.orange{ color: #EA531B !important;}
-.green{ color: #65C35D !important;}
+.orange{ color: #EA531B !important;}
+.yellow{ color: #F5A400 !important;}.bg_yellow{background-color: #F5A400}
+.green{ color: #00BF97 !important;}.bg_green{background-color: #00BF97}
.blue{ color: #3C77DA !important;}
.red{ color: #f00 !important;}
.white{ color: #fff !important;}
@@ -128,7 +129,7 @@
.wc{color:#F98107 !important;}
.cm {color: #305ED5}
-.c1{color: #111}.c2{color: #222}.c3{ color: #333;}.c6{ color: #666;}.cc{ color: #ccc;}.cf{ color: #fff;}
+.c1{color: #111!important;}.c2{color: #222!important;}.c3{ color: #333!important;}.c6{ color: #666!important;}.cc{ color: #ccc!important;}.cf{ color: #fff!important;}
/* /deep/ .uicon-close .u-icon--right{ position: absolute; right: 30rpx; top: 30rpx; z-index: 999;} */
.popCloseBtn{ position: absolute; width:50rpx; height:50rpx; right: 20rpx; top: 20rpx;}
.fixedTL{ position: absolute; left: 0; top: 0;}
diff --git a/minipro_standard/components/InOutInfo.vue b/minipro_standard/components/InOutInfo.vue
index acd78bc..fdf5f9d 100644
--- a/minipro_standard/components/InOutInfo.vue
+++ b/minipro_standard/components/InOutInfo.vue
@@ -1,7 +1,7 @@
<template>
<view class="p30 bg_w f26 info-style">
- <view v-if="isOut" class="cm b f32">璁″垝鍑哄簱鏃ユ湡锛歿{ info.outPlandate }}</view>
- <view v-else class="cm b f32">璁″垝鍏ュ簱鏃ユ湡锛歿{ info.inPlandate || info.planDate }}</view>
+ <view v-if="isOut" class="cm b f32">璁″垝鍑哄簱鏃ユ湡锛歿{ info.outPlandate||'' }}</view>
+ <view v-else class="cm b f32">璁″垝鍏ュ簱鏃ユ湡锛歿{ info.inPlandate || info.planDate || '' }}</view>
<view class="c2 mt25">
<text class="c6">鏉ユ簮绫诲瀷锛�</text>
{{ typeTstr(info.originType) }}
diff --git a/minipro_standard/components/Search.vue b/minipro_standard/components/Search.vue
index efac752..3f0eff7 100644
--- a/minipro_standard/components/Search.vue
+++ b/minipro_standard/components/Search.vue
@@ -1,4 +1,5 @@
<template>
+
<view class="search">
<view class="search_box">
<view class="search_input">
@@ -10,7 +11,7 @@
<image @click="openCate()" src="@/static/filter@2x.png" mode="widthFix">
</view>
</view>
- <u-popup closeOnClickOverlay :show="open" @close="open=false" :round="10" mode="bottom">
+ <u-popup closeOnClickOverlay :show="open" @close="close" :round="10" mode="bottom">
<scroll-view scroll-y class="content">
<slot name="content"></slot>
</scroll-view>
@@ -42,7 +43,12 @@
},
// 鎵撳紑寮圭獥
openCate() {
+ this.$emit('scrollerBan', true)
this.open = true
+ },
+ close() {
+ this.open = false
+ this.$emit('scrollerBan', false)
},
// 閲嶇疆
closes() {
@@ -83,7 +89,7 @@
justify-content: space-between;
padding-left: 40rpx;
padding-right: 40rpx;
- padding-bottom: env(safe-area-inset-bottom);
+ padding-bottom: calc(env(safe-area-inset-bottom) + 20rpx);
box-sizing: border-box;
position: fixed;
bottom: 0;
diff --git a/minipro_standard/components/myTabber.vue b/minipro_standard/components/myTabber.vue
index b29f6ec..fb67430 100644
--- a/minipro_standard/components/myTabber.vue
+++ b/minipro_standard/components/myTabber.vue
@@ -2,6 +2,7 @@
<view>
<u-tabbar
:value="index"
+ :customStyle="{paddingTop: '5px',paddingBottom: '5px',}"
@change="change"
fixed
activeColor="#222"
@@ -31,6 +32,7 @@
<image src="@/static/nav_wode@2x.png" class="icon-style" mode=""></image>
</view>
</u-tabbar-item>
+
</u-tabbar>
</view>
</template>
diff --git a/minipro_standard/components/workOrderInfo.vue b/minipro_standard/components/workOrderInfo.vue
index 4777f6b..f6da684 100644
--- a/minipro_standard/components/workOrderInfo.vue
+++ b/minipro_standard/components/workOrderInfo.vue
@@ -2,84 +2,123 @@
<view class="p30 bg_w order-info">
<view class="bX">
<view class="cY">
- <view class="mr10 b">{{ `${orederMessage.mmodel.name} |${orederMessage.procedureName}`}}</view>
- <u-tag size="mini" bgColor="#03AF76" text="姝e父"></u-tag>
+ <view class="mr10 b">{{ `${orederMessage.mmodel.name || ''} | ${orederMessage.procedureName || ''}`}}
+ </view>
+ <!-- <u-tag size="mini" bgColor="#03AF76" text="姝e父"></u-tag> -->
+ <div class="type bg_green" v-if="orederMessage.type === 0">姝e父</div>
+ <div class="type bg_yellow" v-if="orederMessage.type === 2">杩斿伐杩斾慨</div>
</view>
- <view class="status" :class="orederMessage.status==0?'wc':orederMessage.status==1?'green':orederMessage.status==3?'blue':orederMessage.status==7?'green':'c6'">{{ stausToStr(orederMessage.status) }}</view>
- </view>
- <view class="f24 c6 mt20">宸ュ崟缂栧彿锛歿{ orederMessage.code || '-' }}</view>
- <view class="f24 mt20 bg_f7 ptb20 plr30 n">
- <view class="c2 mb20">
- <span class="c6">鐗╂枡缂栫爜锛�</span>
- {{ orederMessage.mmodel ? orederMessage.mmodel.code : '-' }}
- </view>
- <view class="c2 mb20">
- <span class="c6">璁″垝寮�宸ワ細</span>
- {{ orederMessage.planDate || '-' }}
- </view>
- <view class="c2 mb20">
- <span class="c6">鐢熶骇鎵规锛�</span>
- {{ orederMessage.batch || '-' }}
- </view>
- <view class="c2 mb20">
- <span class="c6">璁″垝鏁伴噺锛�</span>
- {{ orederMessage.planNum || '-' }}{{ orederMessage.umodel ? orederMessage.umodel.name : '-' }}
- </view>
- <view class="c2 mb20">
- <span class="c6">鐢熶骇璁惧锛�</span>
- {{ orederMessage.pgmodel ? `${orederMessage.pgmodel.code} - ${orederMessage.pgmodel.name}` : '-' }}
- </view>
- <view class="c2 flex">
- <view class="c6" style="flex-shrink: 0;">鐢熶骇浜哄憳锛�</view>
- <view class="flex1">
- {{ orederMessage.proUserList ? orederMessage.proUserList.map(item => item.proUserDepartName).join(' / ') : '-' }}
- </view>
- </view>
+ <view class="status"
+ :class="orederMessage.status==0?'wc':orederMessage.status==1?'green':orederMessage.status==3?'blue':orederMessage.status==7?'green':'c6'">
+ {{ stausToStr(orederMessage.status) }}</view>
+ </view>
+ <view class="f24 c6 mt20">宸ュ崟缂栧彿锛歿{ orederMessage.code || '-' }}</view>
+ <view class="f24 mt20 bg_f7 ptb20 plr30 n">
+ <view class="c2 mb20">
+ <span class="c6">鐗╂枡缂栫爜锛�</span>
+ {{ orederMessage.mmodel ? orederMessage.mmodel.code : '-' }}
+ </view>
+ <view class="c2 mb20">
+ <span class="c6">璁″垝寮�宸ワ細</span>
+ {{ orederMessage.planDate || '-' }}
+ </view>
+ <view class="c2 mb20">
+ <span class="c6">鐢熶骇鎵规锛�</span>
+ {{ orederMessage.batch || '-' }}
+ </view>
+ <view class="c2 mb20">
+ <span class="c6">璁″垝鏁伴噺锛�</span>
+ {{ orederMessage.planNum || '-' }}{{ orederMessage.umodel ? orederMessage.umodel.name : '-' }}
+ </view>
+ <view class="c2 mb20">
+ <span class="c6">鐢熶骇璁惧锛�</span>
+ {{ orederMessage.pgmodel ? `${orederMessage.pgmodel.code} - ${orederMessage.pgmodel.name}` : '-' }}
+ </view>
+ <view class="c2 flex">
+ <view class="c6" style="flex-shrink: 0;">鐢熶骇浜哄憳锛�</view>
+ <view class="flex1">
+ {{ orederMessage.proUserList ? orederMessage.proUserList.map(item => item.proUserDepartName).join(' / ') : '-' }}
+ </view>
+ </view>
</view>
</view>
</template>
<script>
export default {
- name: "workOrderInfo",
- props: {
- orederMessage: {
- type: Object,
- default: () => {}
- }
+ name: "workOrderInfo",
+ props: {
+ orederMessage: {
+ type: Object,
+ default: () => {}
+ }
},
data() {
return {
- status: [
- { status: 0, label: '宸插垱寤�' },
- { status: 1, label: '宸插鏂�' },
- { status: 2, label: '宸插畬宸ユ' },
- { status: 3, label: '宸叉楠�' },
- { status: 4, label: '宸叉姤宸�' },
- { status: 5, label: '宸插叆搴�' },
- { status: 6, label: '宸插彇娑�' },
- { status: 7, label: '杩涜涓�' }
+ status: [{
+ status: 0,
+ label: '宸插垱寤�'
+ },
+ {
+ status: 1,
+ label: '宸插鏂�'
+ },
+ {
+ status: 2,
+ label: '宸插畬宸ユ'
+ },
+ {
+ status: 3,
+ label: '宸叉楠�'
+ },
+ {
+ status: 4,
+ label: '宸叉姤宸�'
+ },
+ {
+ status: 5,
+ label: '宸插叆搴�'
+ },
+ {
+ status: 6,
+ label: '宸插彇娑�'
+ },
+ {
+ status: 7,
+ label: '鐢熶骇涓�'
+ }
]
};
- },
- methods: {
- stausToStr(status) {
- let temp = this.status.find(item => item.status == status)
- return temp ? temp.label : '-'
- }
+ },
+ methods: {
+ stausToStr(status) {
+ let temp = this.status.find(item => item.status == status)
+ return temp ? temp.label : '-'
+ }
}
}
</script>
-<style lang="scss">
-.status {
- height: 26rpx;
- font-size: 26rpx;
- font-weight: 400;
- color: #666666;
- line-height: 26rpx;
-}
-// .order-info {
-// border-bottom: 20rpx #f7f7f7 solid;
-// }
+<style lang="scss" scoped>
+ .status {
+ height: 26rpx;
+ font-size: 26rpx;
+ font-weight: 400;
+ color: #666666;
+ line-height: 26rpx;
+ }
+
+ .type {
+ padding: 0 8rpx;
+ color: white;
+ margin-left: 10rpx;
+ height: 38rpx;
+ line-height: 38rpx;
+ font-size: 22rpx;
+ border: 8rpx;
+ }
+
+ // .order-info {
+ // border-bottom: 20rpx #f7f7f7 solid;
+ // }
</style>
diff --git a/minipro_standard/pages/allocation/allocation.vue b/minipro_standard/pages/allocation/allocation.vue
index 43ad353..86e5f83 100644
--- a/minipro_standard/pages/allocation/allocation.vue
+++ b/minipro_standard/pages/allocation/allocation.vue
@@ -60,7 +60,9 @@
<button class="fp_footer_submit" @click="submit">纭</button>
</view>
<!-- 閫夋嫨鏃ユ湡 -->
- <u-calendar :show="timeShow" @close="timeShow = false" @confirm="timeConfirm"></u-calendar>
+ <!-- <u-calendar :show="timeShow" @close="timeShow = false" @confirm="timeConfirm"></u-calendar> -->
+ <l-calendar :lunar="false" v-model="timeShow" @change="timeConfirm" :isRange="true" activeBgColor="#305ED5"
+ rangeColor="#305ED5" rangeBgColor="rgba(48, 80, 213, 0.1)"></l-calendar>
<!-- 閫夋嫨璁惧 -->
<u-picker :show="show1" :columns="equipment" @confirm="confirm" @cancel="show1 = false" keyName="text"></u-picker>
</view>
@@ -105,22 +107,12 @@
this.form.equipmentId = val.value[0].id
this.form.equipmentName = val.value[0].text
this.personnelData = []
- getFindAll({
- deviceId: this.form.equipmentId
- }).then(res => {
- if (res.code === 200 && res.data && res.data.length !== 0) {
- this.form.personnelId = []
- let arr = []
- res.data.forEach((item) => {
- arr.push({ text: item.dmodel.name + '-' + item.umodel.name, id: item.userId })
- })
- this.personnelData = arr
- }
- this.show1 = false
- })
+ this.getUser()
},
timeConfirm(val) {
- this.form.startTime = val[0]
+ // this.form.startTime = val[0]
+ this.listData.startDate = val.startDate
+ this.listData.endDate = val.endDate
this.timeShow = false
},
// 鎻愪氦鍒嗛厤
@@ -153,9 +145,27 @@
res.data.forEach((element) => {
arr.push({ text: element.code + '-' + element.name, id: element.id, checked: false })
})
+ this.form.equipmentId = arr[0].id
+ this.form.equipmentName = arr[0].text
+ this.getUser()
this.equipment.push(arr)
}
})
+ },
+ getUser() {
+ getFindAll({
+ deviceId: this.form.equipmentId
+ }).then(res => {
+ if (res.code === 200 && res.data && res.data.length !== 0) {
+ this.form.personnelId = []
+ let arr = []
+ res.data.forEach((item) => {
+ arr.push({ text: item.dmodel.name + '-' + item.umodel.name, id: item.userId })
+ })
+ this.personnelData = arr
+ }
+ this.show1 = false
+ })
}
}
}
diff --git a/minipro_standard/pages/index/index.vue b/minipro_standard/pages/index/index.vue
index 6d2fd6e..88883e6 100644
--- a/minipro_standard/pages/index/index.vue
+++ b/minipro_standard/pages/index/index.vue
@@ -1,5 +1,8 @@
-<template>
- <view class="index">
+<template>
+ <page-meta :page-style="ban ?'overflow: hidden;': ''"/>
+ <view class="index" >
+ <!-- :class="ban?'scroll-ban': ''" -->
+ <!-- <view class="mask" @tap="tapMask" @touchmove="moveHandle"></view> -->
<!-- <web-view v-if="show" @onPostMessage="onMessage" :src="'https://dmtest.ahapp.net/doumeeplant_h5/#/appletLogin?code=' + code"></web-view> -->
<!-- {{$store.state.statusbarHeight}} -->
@@ -10,7 +13,7 @@
寰呭姙</view>
<div class="content_search">
<v-Search @searchInput="searchInput" @submit="confirm" @reset="resetType" :isShow="true"
- placeholder="鎼滅储鍏抽敭瀛�">
+ placeholder="鎼滅储鍏抽敭瀛�" @scrollerBan="$event => ban=$event">
<template v-slot:content>
<view class="rp contanir">
<view class="c2 b">绫诲瀷</view>
@@ -35,7 +38,7 @@
</view>
</u-sticky>
- <scroll-view :style="{height: height}" v-if="projectList.length" scroll-y refresher-enabled="true" :refresher-triggered="triggered" @scrolltolower="loadMore"
+ <scroll-view :style="{height: height}" v-if="projectList.length" scroll-y refresher-enabled="true" :refresher-triggered="triggered" @scrolltolower="loadMore"
@refresherrefresh="refresh"
>
<view v-for="(item, index) in projectList" :key="index">
@@ -58,7 +61,7 @@
</view>
</scroll-view>
<view v-else class="tc c6">鏆傛棤鏁版嵁...</view>
- <u-popup :show="show" @close="close" :round="8" zIndex="20000">
+ <!-- <u-popup :show="show" @close="close" :round="8" zIndex="20000">
<view class="rp p40 contanir">
<view class="c2 b">绫诲瀷</view>
<view class="content">
@@ -73,7 +76,7 @@
<view class="fx1 ptb20 sbtn_gray c9" @click="resetType">閲嶇疆</view>
<view class="fx1 ml20 ptb20 sbtn_green" @click="confirm">纭畾</view>
</view>
- </view>
+ </view> -->
</u-popup>
<myTabbar :index="0" />
</view>
@@ -98,6 +101,7 @@
},
data() {
return {
+ ban: false,
height: '',
top: '',
code: '',
@@ -183,7 +187,7 @@
.in(this)
.select('.content_search')
.boundingClientRect((rect) => {
- that.height = `calc(100vh - ${rect.height + 80}px)`
+ that.height = `calc(100vh - ${rect.height + 150}px)`
that.top = `${rect.height}px`
})
.exec()
@@ -211,6 +215,10 @@
.then(res => {
this.tagList[0].num = res.data.startNum
this.tagList[1].num = res.data.endNum
+ this.$store.commit('SETNUM', {
+ d: res.data.startNum,
+ y: res.data.endNum
+ })
})
.catch(err => {})
},
@@ -409,13 +417,15 @@
},
resetType() {
this.type = ''
- this.searchForm.type = ''
+ this.searchForm.type = ''
+ this.ban =false
this.confirm()
},
confirm() {
this.searchForm.type = this.type
this.show = false
+ this.ban =false
this.search()
},
search() {
@@ -557,5 +567,15 @@
}
.content_search_x {
height: 24rpx;
+ }
+ .mask {
+ z-index: 8000;
+ position: fixed;
+ left: 0;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ height: 100vh;
+ background-color: rgba(0, 0, 0, 0.5);
}
</style>
diff --git a/minipro_standard/pages/login/login.vue b/minipro_standard/pages/login/login.vue
index 15474f3..472429d 100644
--- a/minipro_standard/pages/login/login.vue
+++ b/minipro_standard/pages/login/login.vue
@@ -7,7 +7,8 @@
</view>
<view class="bg_w rd8 ptb30 pl40 bbox com-input flex input-height">
<image src="@/static/login_ic_code@2x.png" mode="" class="img40 mr25"></image>
- <input placeholder="浼佷笟浠g爜" border="none" v-model="form.companyId"/>
+ <!-- <input placeholder="浼佷笟浠g爜" border="none" v-model="form.companyId"/> -->
+ <u--input placeholder="浼佷笟浠g爜" border="none" v-model="form.companyId"></u--input>
</view>
<view class="bg_w rd8 ptb30 pl40 bbox mt40 flex input-height">
<image src="@/static/login_ic_phone@2x.png" mode="" class="img40 mr25"></image>
diff --git a/minipro_standard/pages/selectWorkOrder/selectWorkOrder.vue b/minipro_standard/pages/selectWorkOrder/selectWorkOrder.vue
index 74ba8b9..2d033c0 100644
--- a/minipro_standard/pages/selectWorkOrder/selectWorkOrder.vue
+++ b/minipro_standard/pages/selectWorkOrder/selectWorkOrder.vue
@@ -39,10 +39,11 @@
<span class="purple" v-if="item.status === 3">宸叉楠�</span>
<span v-if="item.status === 4">宸叉姤宸�</span>
<span v-if="item.status === 5">宸插叆搴�</span>
- <span v-if="item.status === 6">宸插彇娑�</span>
+ <span v-if="item.status === 6">宸插彇娑�</span>
+ <span v-if="item.status === 7">鐢熶骇涓�</span>
</div>
</div>
- <span>宸ュ崟缂栫爜: {{item.code}}</span>
+ <span class="f24">宸ュ崟缂栫爜: {{item.code}}</span>
<div class="content_list_item_content">
<div class="content_list_item_content_item">
<div class="content_list_item_content_item_label">鐗╂枡缂栫爜锛�</div>
@@ -379,7 +380,7 @@
width: 80%;
span {
- font-size: 32rpx;
+ font-size: 24rpx;
font-weight: 500;
color: #333333;
overflow: hidden;
diff --git a/minipro_standard/pages_adjust/pages/OrderDetail/OrderDetail.vue b/minipro_standard/pages_adjust/pages/OrderDetail/OrderDetail.vue
index 31082f7..b30721a 100644
--- a/minipro_standard/pages_adjust/pages/OrderDetail/OrderDetail.vue
+++ b/minipro_standard/pages_adjust/pages/OrderDetail/OrderDetail.vue
@@ -1,7 +1,11 @@
<template>
- <view>
- <workOrderInfo :orederMessage="info" />
- <div class="bg_list">
+ <view class="content">
+ <workOrderInfo :orederMessage="info" />
+ <view class="bg_cate">
+ <view @click="clickIten(index)" :class="typeView == index ? 'bg_cate_item active' : 'bg_cate_item'"
+ v-for="(item, index) in cate" :key="index">{{ item.name }}</view>
+ </view>
+ <div v-if="typeView==0" class="bg_list">
<div class="bg_list_item">
<div class="bg_list_item_top">
<div class="bg_list_item_top_left">
@@ -11,9 +15,9 @@
</div>
<template v-if="feedingData && feedingData.length > 0">
- <view>
- <view v-for="(item, index) in feedingData" :key="index">
- <div class="bg_list_item_h">
+ <view class="plr30">
+ <view >
+ <div v-for="(item, index) in feedingData" :key="index" class="bg_list_item_h">
<div class="bg_list_item_num">
<div class="bg_list_item_num_item">
<div class="bg_list_item_num_item_wl">
@@ -30,7 +34,7 @@
<div class="bg_list_item_num_item_sr">
<view class="cY">
<view class="mr10">{{ item.num }}</view>
- <span v-if="info.umodel">{{ info.umodel.name }}</span>
+ <span>{{ item.unitName }}</span>
</view>
</div>
@@ -59,7 +63,7 @@
</div>
</div>
<div class="bg_list_item_h">
- <div class="bg_list_item_num">
+ <div class="bg_list_item_num plr30">
<div class="bg_list_item_num_item">
<span>鑹搧鏁皗{ info.umodel ? `(${info.umodel.name})` : '' }}</span>
<div class="bg_list_item_num_item_sr">
@@ -70,7 +74,7 @@
</div>
</div>
<div class="bg_list_item_h">
- <div class="bg_list_item_num">
+ <div class="bg_list_item_num plr30">
<div class="bg_list_item_num_item">
<span>涓嶈壇鏁皗{ info.umodel ? `(${info.umodel.name})` : '' }}</span>
<div class="bg_list_item_num_item_sr">
@@ -85,21 +89,72 @@
<div class="bg_list_item_top">
<div class="bg_list_item_top_left">
<div class="bg_list_item_top_left_x bg_m"></div>
- <span>鐢熶骇鐐规</span>
+ <span>宸ヨ祫缁╂晥</span>
</div>
</div>
+ <div class="bg_list_item_h mb40 ">
+ <div class="bg_list_item_num plr30" style="display: block;">
+ <div class="bX ptb15">
+ <div class="f30 c2">棰勮宸ヨ祫</div>
+ <div class="f28" style="color:#4275FC">{{ (performance.salary / 10 / 10).toFixed(2) }}鍏�</div>
+ </div>
+ <div class="f24 c6">
+ {{ performance.salaryType == 0 ? '璁′欢' : '璁℃椂' }} |
+ {{ (performance.salaryPrice / 10 / 10).toFixed(2) }}鍏�/{{ performance.salaryType ==
+ 0 ? '浠�' : '鏃�' }} |
+ {{ complianceRate }}%
+ </div>
+ </div>
+
+ <!-- <div class="bg_list_item_num">
+ <div class="bg_list_item_num_item">
+ <span>璁′欢鏂瑰紡</span>
+ <div class="bg_list_item_num_item_list">
+ {{ performance.salaryType == 0 ? '璁′欢' : '璁℃椂' }}
+ </div>
+ </div>
+ </div> -->
+ <!-- <div class="bg_list_item_num">
+ <div class="bg_list_item_num_item">
+ <span>宸ヨ祫鍗曚环</span>
+ <div class="bg_list_item_num_item_sr">
+ <span class="color1">{{ (performance.salaryPrice / 10 / 10).toFixed(2) }}鍏�/{{ performance.salaryType ==
+ 0 ? '浠�' : '鏃�' }}</span>
+ </div>
+ </div>
+ </div>
+
+ <div class="bg_list_item_num">
+ <div class="bg_list_item_num_item">
+ <span>杈炬爣鐜�</span>
+ <div class="bg_list_item_num_item_sr">
+ <span class="color1">{{ complianceRate }}%</span>
+ </div>
+ </div>
+ </div> -->
+ </div>
+ </div>
+ </div>
+ <div v-else class="bg_list">
+ <!-- <div class="bg_list_item">
+ <div class="bg_list_item_top">
+ <div class="bg_list_item_top_left">
+ <div class="bg_list_item_top_left_x bg_m"></div>
+ <span>鐢熶骇鐐规</span>
+ </div>
+ </div> -->
<template v-if="djData && djData.length > 0">
<div class="details_dj">
-
<div class="details_dj_list">
- <scroll-view scroll-y="true" refresher-enabled="true" @scrolltolower="getLists">
- <view v-for="(item, index) in djData" :key="index">
- <div class="details_dj_list_item">
- <span>{{ item.attrName }}锛歿{ item.val }}</span>
- <span>{{ item.userName }} {{ item.createTime }}</span>
- </div>
- </view>
- </scroll-view>
+ <view v-for="(item, index) in djData" :key="index">
+ <div class="details_dj_list_item">
+ <span>{{ item.attrName }}锛歿{ item.val }}</span>
+ <span>{{ item.userName }} {{ item.createTime }}</span>
+ </div>
+ </view>
+ <!-- <scroll-view scroll-y="true" refresher-enabled="true" @scrolltolower="getLists">
+
+ </scroll-view> -->
</div>
</div>
</template>
@@ -109,50 +164,7 @@
</div>
</template>
</div>
- <div class="bg_list_item">
- <div class="bg_list_item_top">
- <div class="bg_list_item_top_left">
- <div class="bg_list_item_top_left_x bg_m"></div>
- <span>宸ヨ祫缁╂晥</span>
- </div>
- </div>
- <div class="bg_list_item_h">
- <div class="bg_list_item_num">
- <div class="bg_list_item_num_item">
- <span>璁′欢鏂瑰紡</span>
- <div class="bg_list_item_num_item_list">
- {{ performance.salaryType == 0 ? '璁′欢' : '璁℃椂' }}
- </div>
- </div>
- </div>
- <div class="bg_list_item_num">
- <div class="bg_list_item_num_item">
- <span>宸ヨ祫鍗曚环</span>
- <div class="bg_list_item_num_item_sr">
- <span class="color1">{{ (performance.salaryPrice / 10 / 10).toFixed(2) }}鍏�/{{ performance.salaryType ==
- 0 ? '浠�' : '鏃�' }}</span>
- </div>
- </div>
- </div>
- <div class="bg_list_item_num">
- <div class="bg_list_item_num_item">
- <span>棰勮宸ヨ祫</span>
- <div class="bg_list_item_num_item_sr">
- <span class="color1">{{ (performance.salary / 10 / 10).toFixed(2) }}鍏�</span>
- </div>
- </div>
- </div>
- <div class="bg_list_item_num">
- <div class="bg_list_item_num_item">
- <span>杈炬爣鐜�</span>
- <div class="bg_list_item_num_item_sr">
- <span class="color1">{{ complianceRate }}%</span>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
+ </div>
</view>
</template>
@@ -189,7 +201,14 @@
workOrderInfo
},
data() {
- return {
+ return {
+ cate: [{
+ name: '鐢熶骇'
+ },
+ {
+ name: '鐐规'
+ }
+ ],
workorderId: '',
form: {
time: '',
@@ -248,19 +267,22 @@
complianceRate() {
if (!this.performance) return 0;
if (!this.performance.duration) return 0;
+ if (!this.performance.salaryNum || this.performance.salaryTimes) return 0
if (!this.performance.qualifiedNum && !this.performance.unqualifiedNum) return 0;
if (this.performance.salaryUnqualified == 1) { // 鏄惁璁″叆涓嶈壇鍝�
let a = ((Number(this.performance.qualifiedNum) + Number(this.performance.unqualifiedNum)) / (this.performance
.duration / 3600)).toFixed(2)
- let b = (this.performance.salaryNum / (this.performance.salaryTimes / 3600)).toFixed(2)
+ let b = (this.performance.salaryNum / (this.performance.salaryTimes / 3600)).toFixed(2)
+ debugger
return ((Number(a) / Number(b)) * 100).toFixed(2)
// let total = (Number(from.qualified) + Number(from.undesirable)) / ((from.duration * 60 * 60) * infoBox.value.num / )
// return total * infoBox.value.salary;
} else {
let a = (this.performance.qualifiedNum / (this.performance.duration / 3600)).toFixed(2)
// let b = (this.arrType[this.form.index].num / (this.arrType[this.form.index].times / 3600)).toFixed(2)
- let b = (this.performance.salaryNum / (this.performance.salaryTimes / 3600)).toFixed(2)
+ let b = (this.performance.salaryNum / (this.performance.salaryTimes / 3600)).toFixed(2)
+ debugger
return ((Number(a) / Number(b)) * 100).toFixed(2)
}
}
@@ -484,8 +506,7 @@
getWorkorderRecordListStandard({
workorderId: this.workorderId
}).then(res => {
- console.log(res.data[0]);
- debugger
+ // console.log(res.data[0]);
if (res.data.length > 0) {
this.produceFrom.qualified = res.data[0].qualifiedNum
this.produceFrom.undesirable = res.data[0].unqualifiedNum
@@ -503,14 +524,18 @@
}
</script>
-<style lang="scss" scoped>
+<style lang="scss" scoped>
+ .content {
+ height: 100vh;
+ background-color: #f7f7f7;
+ }
.bg_cate {
width: 100%;
height: 88rpx;
background: #FFFFFF;
display: flex;
align-items: center;
-
+ border-top: 20rpx solid #f7f7f7;
.active {
box-sizing: border-box;
color: #305ED5 !important;
@@ -542,16 +567,7 @@
// margin-bottom: 40rpx;
// border-bottom: 40rpx #f7f7f7 solid;
- .kong {
- text-align: center;
- padding: 30rpx 0;
- background: #ffffff;
- font-size: 25rpx;
-
- span {
- color: #474747;
- }
- }
+
.bg_list_item_top {
display: flex;
@@ -621,23 +637,21 @@
.bg_list_item_h {
width: 100%;
- padding: 0 30rpx;
box-sizing: border-box;
background: white;
-
+ border-bottom: 1rpx solid #E5E5E5;
+ padding: 15rpx 0;
+ &:last-child {
+ border: none !important;
+ }
.bg_list_item_num {
width: 100%;
min-height: 98rpx;
- background: white;
+ background: white;
+ box-sizing: border-box;
display: flex;
justify-content: center;
align-items: center;
- border-bottom: 1rpx solid #E5E5E5;
-
- &:last-child {
- border: none !important;
- }
-
.kong {
text-align: center;
font-size: 25rpx;
@@ -651,10 +665,10 @@
display: flex;
align-items: center;
// height: 118rpx;
- padding: 15rpx 0;
+ // padding: 15rpx 0;
box-sizing: border-box;
justify-content: space-between;
- border-bottom: 1rpx solid #E5E5E5;
+ // border-bottom: 3rpx solid #111;
&:last-child {
border: none;
@@ -1054,5 +1068,15 @@
}
}
}
+ }
+ .kong {
+ text-align: center;
+ padding: 30rpx 0;
+ // background: #ffffff;
+ font-size: 25rpx;
+
+ span {
+ color: #474747;
+ }
}
</style>
diff --git a/minipro_standard/pages_adjust/pages/manualFeed/manualFeed.vue b/minipro_standard/pages_adjust/pages/manualFeed/manualFeed.vue
index 58b85c2..1e7d32f 100644
--- a/minipro_standard/pages_adjust/pages/manualFeed/manualFeed.vue
+++ b/minipro_standard/pages_adjust/pages/manualFeed/manualFeed.vue
@@ -41,7 +41,7 @@
<div class="tl_list_item">
<div class="tl_list_item_label">鎶曟枡鏁伴噺{{ item.unitAttribute }}</div>
<div class="tl_list_item_go">
- <input type="text" @blur="changeNumber(item.num, index, item.unitAttribute)"
+ <input type="text" @blur="changeNumber(item.num, index, item.unitAttribute)"
v-model="item.num" />
</div>
</div>
@@ -153,26 +153,21 @@
unitAttribute: ''
})
},
- changeNumber(num, index, unitAttribute) {
+ changeNumber(num, index, unitAttribute) {
+
if (unitAttribute === 0 && num !== '') {
if (!positiveInteger.test(num)) {
- uni.$u.toast({
- message: '鍙兘杈撳叆姝f暣鏁�'
- })
+ uni.$u.toast('鍙兘杈撳叆姝f暣鏁�')
this.materialList[index].num = ''
}
} else if (unitAttribute === 1 && num !== '') {
if (!number.test(num)) {
- uni.$u.toast({
- message: '鍙兘杈撳叆姝f暣鏁版垨灏忔暟锛堟渶澶氬洓浣嶏級'
- })
+ uni.$u.toast('鍙兘杈撳叆姝f暣鏁版垨灏忔暟锛堟渶澶氬洓浣嶏級')
this.materialList[index].num = ''
}
}
if (num <= 0) {
- uni.$u.toast({
- message: '鎶曟枡鏁伴噺涓嶈兘灏忎簬绛変簬0'
- })
+ uni.$u.toast('鎶曟枡鏁伴噺涓嶈兘灏忎簬绛変簬0')
this.materialList[index].num = ''
}
},
diff --git a/minipro_standard/pages_adjust/pages/newTransfer/newTransfer.vue b/minipro_standard/pages_adjust/pages/newTransfer/newTransfer.vue
index b7d0818..be3abde 100644
--- a/minipro_standard/pages_adjust/pages/newTransfer/newTransfer.vue
+++ b/minipro_standard/pages_adjust/pages/newTransfer/newTransfer.vue
@@ -33,10 +33,10 @@
<image class="shanchu" src="@/static/chuku_ic_delete@2x.png" mode="widthFix" @click="dele(i)"></image>
<text>{{item.materialName}}锝渰{item.materialCode}}</text>
<text>
- <text class="green" v-if="item.qualityType === '0'">鍚堟牸 |</text>
- <text class="yellow" v-if="item.qualityType === '1'">涓嶈壇 |</text>
- <text class="red" v-if="item.qualityType === '2'">鎶ュ簾 |</text>
- <text>{{item.procedureName ? item.procedureName : '-'}} | </text>
+ <text class="green" v-if="item.qualityType === '0'" decode>鍚堟牸<text class="c6" decode>{{ division }}</text></text>
+ <text class="yellow" v-if="item.qualityType === '1'" decode>涓嶈壇<text class="c6" decode>{{ division }}</text></text>
+ <text class="red" v-if="item.qualityType === '2'" decode>鎶ュ簾<text class="c6" decode>{{ division }}</text></text>
+ <text decode>{{item.procedureName ? item.procedureName : '-'}}{{division}}</text>
<text>{{item.batch ? item.batch : '-'}}</text>
</text>
<view class="zk_wl_item_num">
@@ -87,6 +87,7 @@
},
data() {
return {
+ division: ' / ',
data: {
type: '',
outUserId: '',
@@ -211,6 +212,7 @@
}).then(res => {
if (res.code === 200) {
uni.showToast({ title: '鍒涘缓鎴愬姛锛�', icon: 'success', duration: 2000 });
+ this.$store.dispatch('getUpcomingNum')
setTimeout(() => {
uni.navigateBack({ delta: 1 });
}, 2000)
@@ -272,7 +274,7 @@
}
text {
- font-size: 30rpx;
+ font-size: 24rpx;
font-weight: 400;
color: #222222;
}
@@ -384,7 +386,7 @@
text {
&:nth-child(1) {
- font-size: 30rpx;
+ font-size: 24rpx;
font-weight: 500;
color: #222222;
margin-bottom: 24rpx;
diff --git a/minipro_standard/pages_adjust/pages/reportingForWork/reportingForWork.vue b/minipro_standard/pages_adjust/pages/reportingForWork/reportingForWork.vue
index d7020d8..72eafcb 100644
--- a/minipro_standard/pages_adjust/pages/reportingForWork/reportingForWork.vue
+++ b/minipro_standard/pages_adjust/pages/reportingForWork/reportingForWork.vue
@@ -15,202 +15,205 @@
<image src="@/static/ic_ar@2x.png" alt="" />
</view>
</view>
- <view class="bg_list">
- <view class="bg_list_item">
- <view class="bg_list_item_top">
- <view class="bg_list_item_top_left">
- <view class="bg_list_item_top_left_x"></view>
- <text>鐢熶骇淇℃伅</text>
- </view>
- </view>
- <view class="bg_list_item_h">
- <view class="bg_list_item_num" @click="openDev">
- <view class="bg_list_item_num_item">
- <text>鐢熶骇璁惧</text>
- <view class="bg_list_item_num_item_sr">
- <text :style="{color: from.deviceName ? '#333' : ''}">{{from.deviceName ? from.deviceName : '璇烽�夋嫨'}}</text>
- <image src="@/static/ic_ar@2x.png" alt="" />
- </view>
+ <template v-if="plansId">
+ <view class="bg_list">
+ <view class="bg_list_item">
+ <view class="bg_list_item_top">
+ <view class="bg_list_item_top_left">
+ <view class="bg_list_item_top_left_x"></view>
+ <text>鐢熶骇淇℃伅</text>
</view>
</view>
- <view class="bg_list_item_num" @click="userShow = true">
- <view class="bg_list_item_num_item">
- <text>鐢熶骇浜哄憳</text>
- <view class="bg_list_item_num_item_sr">
- <text :style="{color: from.userName ? '#333' : ''}">{{from.userName ? from.userName : '璇烽�夋嫨'}}</text>
- <image src="@/static/ic_ar@2x.png" alt="" />
- </view>
- </view>
- </view>
- </view>
- </view>
- <view class="bg_list_item">
- <view class="bg_list_item_top">
- <view class="bg_list_item_top_left">
- <view class="bg_list_item_top_left_x"></view>
- <text>鐢熶骇鎶曟枡</text>
- </view>
- <view class="bg_list_item_top_right" @click="openMaterial" v-if="(hasBom == 1 && bomType != 1) || hasBom == 0">
- <image src="@/static/gongdan_ic_shoudong@2x.png" alt="" />
- <text>鏂板鎶曟枡</text>
- </view>
- </view>
- <template v-if="wuList.length > 0 && !(hasBom == 1 && bomType == 1)">
- <van-swipe-cell v-for="(item, index) in wuList" :key="index">
- <view class="bg_list_item_h">
- <view class="bg_list_item_num">
- <view class="bg_list_item_num_item">
- <view class="bg_list_item_num_item_wl">
- <text>{{ item.materialName }}{{ item.procedureName ? ` | ${item.procedureName}` : '' }}</text>
- <view class="bg_list_item_num_item_wl_lx">
- <text class="green" v-if="item.qualityType == 0">鍚堟牸 / </text>
- <text class="yellow" v-if="item.qualityType == 1">涓嶈壇 / </text>
- <text class="red" v-if="item.qualityType == 2">鎶ュ簾 / </text>
- <text>{{ item.locationName || '-' }} / </text>
- <text>{{ item.batch || '-' }}</text>
- </view>
- </view>
- <view class="bg_list_item_num_item_sr">
- <u--input
- placeholder="璇疯緭鍏�"
- border="surround"
- type="number"
- :customStyle="{width: '100%'}"
- v-model="item.num"
- @input="inputwl(index)"
- ></u--input>
- <!-- <input type="number" v-model="item.num" @input="inputwl(index)" /> -->
- <text>{{ item.unitName }}</text>
- </view>
+ <view class="bg_list_item_h">
+ <view class="bg_list_item_num" @click="openDev">
+ <view class="bg_list_item_num_item">
+ <text>鐢熶骇璁惧</text>
+ <view class="bg_list_item_num_item_sr">
+ <text :style="{color: from.deviceName ? '#333' : ''}">{{from.deviceName ? from.deviceName : '璇烽�夋嫨'}}</text>
+ <image src="@/static/ic_ar@2x.png" alt="" />
</view>
</view>
</view>
- <template #right>
- <van-button style="height: 100%;" @click="deleItem(index)" square text="鍒犻櫎" type="danger" />
- </template>
- </van-swipe-cell>
- </template>
- <template v-else-if="wuList.length == 0 && !(hasBom == 1 && bomType == 1)">
- <view class="kong">
- <text>鏆傛棤鏁版嵁</text>
- </view>
- </template>
- <view class="kong" v-if="hasBom == 1 && bomType == 1">
- <text>褰撳墠宸ュ簭鏃犻渶鎶曟枡</text>
- </view>
- </view>
- <view class="bg_list_item bottomval">
- <view class="bg_list_item_top">
- <view class="bg_list_item_top_left">
- <view class="bg_list_item_top_left_x"></view>
- <text>浜у嚭鏄庣粏</text>
- </view>
- </view>
- <view class="bg_list_item_h">
- <view class="bg_list_item_num">
- <view class="bg_list_item_num_item">
- <text><text>*</text>鑹搧鏁�</text>
- <view class="bg_list_item_num_item_sr">
- <u--input
- placeholder="璇疯緭鍏�"
- border="surround"
- type="number"
- :customStyle="{width: '180rpx'}"
- v-model="from.qualified"
- @input="changeNum(1)"
- ></u--input>
- <!-- <input type="number" v-model="from.qualified" @input="changeNum(1)" placeholder="璇疯緭鍏�" /> -->
- <text v-if="from.processPlan">{{from.processPlan.unitName}}</text>
+ <view class="bg_list_item_num" @click="userShow = true">
+ <view class="bg_list_item_num_item">
+ <text>鐢熶骇浜哄憳</text>
+ <view class="bg_list_item_num_item_sr">
+ <text :style="{color: from.userName ? '#333' : ''}">{{from.userName ? from.userName : '璇烽�夋嫨'}}</text>
+ <image src="@/static/ic_ar@2x.png" alt="" />
+ </view>
</view>
</view>
</view>
- <view class="bg_list_item_num">
- <view class="bg_list_item_num_item">
- <text>涓嶈壇鏁�</text>
- <view class="bg_list_item_num_item_sr">
- <u--input
- placeholder="璇疯緭鍏�"
- border="surround"
- type="number"
- :customStyle="{width: '180rpx'}"
- v-model="from.undesirable"
- @input="changeNum(2)"
- ></u--input>
- <!-- <input type="number" v-model="from.undesirable" @input="changeNum(2)" placeholder="璇疯緭鍏�" /> -->
- <text v-if="from.processPlan">{{from.processPlan.unitName}}</text>
+ </view>
+ <view class="bg_list_item">
+ <view class="bg_list_item_top">
+ <view class="bg_list_item_top_left">
+ <view class="bg_list_item_top_left_x"></view>
+ <text>鐢熶骇鎶曟枡</text>
+ </view>
+ <view class="bg_list_item_top_right" @click="openMaterial" v-if="(hasBom == 1 && bomType != 1) || hasBom == 0">
+ <image src="@/static/gongdan_ic_shoudong@2x.png" alt="" />
+ <text>鏂板鎶曟枡</text>
+ </view>
+ </view>
+ <template v-if="wuList.length > 0 && !(hasBom == 1 && bomType == 1)">
+ <van-swipe-cell v-for="(item, index) in wuList" :key="index">
+ <view class="bg_list_item_h">
+ <view class="bg_list_item_num">
+ <view class="bg_list_item_num_item">
+ <view class="bg_list_item_num_item_wl">
+ <text>{{ item.materialName }}{{ item.procedureName ? ` | ${item.procedureName}` : '' }}</text>
+ <view class="bg_list_item_num_item_wl_lx">
+ <text class="green" v-if="item.qualityType == 0">鍚堟牸 / </text>
+ <text class="yellow" v-if="item.qualityType == 1">涓嶈壇 / </text>
+ <text class="red" v-if="item.qualityType == 2">鎶ュ簾 / </text>
+ <text>{{ item.locationName || '-' }} / </text>
+ <text>{{ item.batch || '-' }}</text>
+ </view>
+ </view>
+ <view class="bg_list_item_num_item_sr">
+ <u--input
+ placeholder="璇疯緭鍏�"
+ border="surround"
+ type="number"
+ :customStyle="{width: '100%'}"
+ v-model="item.num"
+ @input="inputwl(index)"
+ ></u--input>
+ <!-- <input type="number" v-model="item.num" @input="inputwl(index)" /> -->
+ <text>{{ item.unitName }}</text>
+ </view>
+ </view>
+ </view>
+ </view>
+ <template #right>
+ <van-button style="height: 100%;" @click="deleItem(index)" square text="鍒犻櫎" type="danger" />
+ </template>
+ </van-swipe-cell>
+ </template>
+ <template v-else-if="wuList.length == 0 && !(hasBom == 1 && bomType == 1)">
+ <view class="kong">
+ <text>鏆傛棤鏁版嵁</text>
+ </view>
+ </template>
+ <view class="kong" v-if="hasBom == 1 && bomType == 1">
+ <text>褰撳墠宸ュ簭鏃犻渶鎶曟枡</text>
+ </view>
+ </view>
+ <view class="bg_list_item bottomval">
+ <view class="bg_list_item_top">
+ <view class="bg_list_item_top_left">
+ <view class="bg_list_item_top_left_x"></view>
+ <text>浜у嚭鏄庣粏</text>
+ </view>
+ </view>
+ <view class="bg_list_item_h">
+ <view class="bg_list_item_num">
+ <view class="bg_list_item_num_item">
+ <text><text>*</text>鑹搧鏁�</text>
+ <view class="bg_list_item_num_item_sr">
+ <u--input
+ placeholder="璇疯緭鍏�"
+ border="surround"
+ type="number"
+ :customStyle="{width: '180rpx'}"
+ v-model="from.qualified"
+ @input="changeNum(1)"
+ ></u--input>
+ <!-- <input type="number" v-model="from.qualified" @input="changeNum(1)" placeholder="璇疯緭鍏�" /> -->
+ <text v-if="from.processPlan">{{from.processPlan.unitName}}</text>
+ </view>
+ </view>
+ </view>
+ <view class="bg_list_item_num">
+ <view class="bg_list_item_num_item">
+ <text>涓嶈壇鏁�</text>
+ <view class="bg_list_item_num_item_sr">
+ <u--input
+ placeholder="璇疯緭鍏�"
+ border="surround"
+ type="number"
+ :customStyle="{width: '180rpx'}"
+ v-model="from.undesirable"
+ @input="changeNum(2)"
+ ></u--input>
+ <!-- <input type="number" v-model="from.undesirable" @input="changeNum(2)" placeholder="璇疯緭鍏�" /> -->
+ <text v-if="from.processPlan">{{from.processPlan.unitName}}</text>
+ </view>
+ </view>
+ </view>
+ <view class="bg_list_item_num" v-if="from.undesirable > 0">
+ <view class="bg_list_item_num_item" @click="openBL">
+ <!-- <text>*</text> -->
+ <text>涓嶈壇椤�</text>
+ <view class="bg_list_item_num_item_sr">
+ <text class="wulll" :style="{color: from.defectiveName ? '#305ED5' : ''}">{{from.defectiveName ? from.defectiveName : '璁剧疆'}}</text>
+ <image src="@/static/ic_ar@2x.png" alt="" />
+ </view>
</view>
</view>
</view>
- <view class="bg_list_item_num" v-if="from.undesirable > 0">
- <view class="bg_list_item_num_item" @click="openBL">
- <!-- <text>*</text> -->
- <text>涓嶈壇椤�</text>
- <view class="bg_list_item_num_item_sr">
- <text class="wulll" :style="{color: from.defectiveName ? '#305ED5' : ''}">{{from.defectiveName ? from.defectiveName : '璁剧疆'}}</text>
- <image src="@/static/ic_ar@2x.png" alt="" />
+ </view>
+ <view class="bg_plan" @click="TimeShow = true">
+ <view class="bg_plan_label">
+ <text>鎶ュ伐鏃堕暱</text>
+ </view>
+ <view class="bg_plan_label_val">
+ <text :style="{color: from.durationName ? '#333' : ''}">{{from.durationName ? from.durationName : '璇烽�夋嫨'}}</text>
+ <image src="@/static/ic_ar@2x.png" alt="" />
+ </view>
+ </view>
+ <view class="bg_list_item" v-if="arrType && arrType.length > 0 && from.duration > 0">
+ <view class="bg_list_item_top">
+ <view class="bg_list_item_top_left">
+ <view class="bg_list_item_top_left_x"></view>
+ <text>宸ヨ祫缁╂晥</text>
+ </view>
+ </view>
+ <view class="bg_list_item_h">
+ <view class="bg_list_item_num">
+ <view class="bg_list_item_num_item">
+ <text>璁′欢鏂瑰紡</text>
+ <view class="bg_list_item_num_item_list">
+ <view :class="item.active ? 'bg_list_item_num_item_list_item active' : 'bg_list_item_num_item_list_item'" v-for="(item, index) in arrType" :key="index" @click="clickPerformanceType(index)">{{ item.name }}</view>
+ </view>
+ </view>
+ </view>
+ <view class="bg_list_item_num">
+ <view class="bg_list_item_num_item">
+ <text>宸ヨ祫鍗曚环</text>
+ <view class="bg_list_item_num_item_sr">
+ <text class="color1">{{(arrType[from.index].salary / 10 / 10).toFixed(2)}}鍏�/{{arrType[from.index].type == 0 ? '浠�' : '鏃�'}}</text>
+ </view>
+ </view>
+ </view>
+ <view class="bg_list_item_num">
+ <view class="bg_list_item_num_item">
+ <text>棰勮宸ヨ祫</text>
+ <view class="bg_list_item_num_item_sr">
+ <text class="color1">{{expectedSalary}}鍏�</text>
+ </view>
+ </view>
+ </view>
+ <view class="bg_list_item_num">
+ <view class="bg_list_item_num_item">
+ <text>杈炬爣鐜�</text>
+ <view class="bg_list_item_num_item_sr">
+ <text class="color1">{{complianceRate}}%</text>
+ </view>
</view>
</view>
</view>
</view>
</view>
- <view class="bg_plan" @click="TimeShow = true">
- <view class="bg_plan_label">
- <text>鎶ュ伐鏃堕暱</text>
- </view>
- <view class="bg_plan_label_val">
- <text :style="{color: from.durationName ? '#333' : ''}">{{from.durationName ? from.durationName : '璇烽�夋嫨'}}</text>
- <image src="@/static/ic_ar@2x.png" alt="" />
- </view>
+ <!-- 鎶ュ伐鎸夐挳 -->
+ <view class="bh_zw"></view>
+ <view class="bg_footer">
+ <view class="bg_footer_submit1" @click="continueSubmit">缁х画鎶ュ伐</view>
+ <view class="bg_footer_submit" @click="submit">鎻愪氦</view>
</view>
- <view class="bg_list_item" v-if="arrType && arrType.length > 0 && from.duration > 0">
- <view class="bg_list_item_top">
- <view class="bg_list_item_top_left">
- <view class="bg_list_item_top_left_x"></view>
- <text>宸ヨ祫缁╂晥</text>
- </view>
- </view>
- <view class="bg_list_item_h">
- <view class="bg_list_item_num">
- <view class="bg_list_item_num_item">
- <text>璁′欢鏂瑰紡</text>
- <view class="bg_list_item_num_item_list">
- <view :class="item.active ? 'bg_list_item_num_item_list_item active' : 'bg_list_item_num_item_list_item'" v-for="(item, index) in arrType" :key="index" @click="clickPerformanceType(index)">{{ item.name }}</view>
- </view>
- </view>
- </view>
- <view class="bg_list_item_num">
- <view class="bg_list_item_num_item">
- <text>宸ヨ祫鍗曚环</text>
- <view class="bg_list_item_num_item_sr">
- <text class="color1">{{(arrType[from.index].salary / 10 / 10).toFixed(2)}}鍏�/{{arrType[from.index].type == 0 ? '浠�' : '鏃�'}}</text>
- </view>
- </view>
- </view>
- <view class="bg_list_item_num">
- <view class="bg_list_item_num_item">
- <text>棰勮宸ヨ祫</text>
- <view class="bg_list_item_num_item_sr">
- <text class="color1">{{expectedSalary}}鍏�</text>
- </view>
- </view>
- </view>
- <view class="bg_list_item_num">
- <view class="bg_list_item_num_item">
- <text>杈炬爣鐜�</text>
- <view class="bg_list_item_num_item_sr">
- <text class="color1">{{complianceRate}}%</text>
- </view>
- </view>
- </view>
- </view>
- </view>
- </view>
- <!-- 鎶ュ伐鎸夐挳 -->
- <view class="bh_zw"></view>
- <view class="bg_footer">
- <view class="bg_footer_submit1" @click="continueSubmit">缁х画鎶ュ伐</view>
- <view class="bg_footer_submit" @click="submit">鎻愪氦</view>
- </view>
+ </template>
+
<!-- 鐢熶骇浜哄憳 -->
<user :show="userShow" @close="userShow = false" @value="onConfirm1" />
<!-- 鐢熶骇璁惧 -->
@@ -301,34 +304,39 @@
...mapState(['userInfo']),
// 棰勮宸ヨ祫
expectedSalary() {
+
if (this.arrType.length === 0) return 0;
- if (this.arrType[this.from.index].type == 0) {
- if (!this.from.qualified) return 0
- if (this.arrType[this.from.index].unqualified == 1) { // 鏄惁璁″叆涓嶈壇鍝�
- let total = Number(this.from.qualified) + Number(this.from.undesirable)
- return (total * (this.arrType[from.index].salary / 10 / 10)).toFixed(2)
+ let { index, qualified, undesirable, duration } = this.from
+ let temp = this.arrType[index]
+ if (temp.type == 0) {
+ if (!qualified) return 0
+ if (temp.unqualified == 1) { // 鏄惁璁″叆涓嶈壇鍝�
+ let total = Number(qualified) + Number(undesirable)
+ return (total * (temp.salary / 10 / 10)).toFixed(2)
} else {
- return (Number(this.from.qualified) * (this.arrType[this.from.index].salary / 10 / 10)).toFixed(2)
+ return (Number(qualified) * (temp.salary / 10 / 10)).toFixed(2)
}
} else {
- if (!this.from.duration) return 0;
- let h = (this.from.duration / 60 / 60).toFixed(2)
- return (Number(h) * (this.arrType[this.from.index].salary / 10 / 10)).toFixed(2)
+ if (!duration) return 0;
+ let h = (duration / 60 / 60).toFixed(2)
+ return (Number(h) * (temp.salary / 10 / 10)).toFixed(2)
}
},
// 杈炬爣鐜�
complianceRate() {
if (this.arrType.length === 0) return 0;
- if (!this.from.qualified && !this.from.undesirable) return 0;
- if (!this.from.duration) return 0;
- if (!this.arrType[this.from.index].num) return 0;
- if (this.arrType[this.from.index].unqualified == 1) { // 鏄惁璁″叆涓嶈壇鍝�
- let a = ((Number(this.from.qualified) + Number(this.from.undesirable)) / (this.from.duration / 3600)).toFixed(2)
- let b = (this.arrType[this.from.index].num / (this.arrType[this.from.index].times / 3600)).toFixed(2)
+ let { index, qualified, undesirable, duration } = this.from
+ let temp = this.arrType[index]
+ if (!qualified && !undesirable) return 0;
+ if (!duration) return 0;
+ if (!temp.num) return 0;
+ if (temp.unqualified == 1) { // 鏄惁璁″叆涓嶈壇鍝�
+ let a = ((Number(qualified) + Number(undesirable)) / (duration / 3600)).toFixed(2)
+ let b = (temp.num / (temp.times / 3600)).toFixed(2)
return ((Number(a) / Number(b)) * 100).toFixed(2)
} else {
- let a = (this.from.qualified / (this.from.duration / 3600)).toFixed(2)
- let b = (this.arrType[this.from.index].num / (this.arrType[this.from.index].times / 3600)).toFixed(2)
+ let a = (qualified / (duration / 3600)).toFixed(2)
+ let b = (temp.num / (temp.times / 3600)).toFixed(2)
return ((Number(a) / Number(b)) * 100).toFixed(2)
}
}
@@ -360,8 +368,8 @@
this.wuList = []
this.from.defective = []
this.from.defectiveName = ''
- this.from.userName = ''
- this.from.userId = ''
+ // this.from.userName = ''
+ // this.from.userId = ''
// 鑾峰彇璁惧
getDeviceByCondition({ procedureId: data.obj.procedureId })
.then(res1 => {
diff --git a/minipro_standard/pages_adjust/pages/spotCheck/spotCheck.vue b/minipro_standard/pages_adjust/pages/spotCheck/spotCheck.vue
index 1720d0b..9646e39 100644
--- a/minipro_standard/pages_adjust/pages/spotCheck/spotCheck.vue
+++ b/minipro_standard/pages_adjust/pages/spotCheck/spotCheck.vue
@@ -25,7 +25,7 @@
</div>
</div>
<div class="tl_list_item" v-if="item.type === ''">
- <div class="tl_list_item_label">灞炴�у��</div>
+ <div class="tl_list_item_label">灞炴�у��1</div>
<div class="tl_list_item_go">
<input type="text" v-model="item.num" placeholder="璇疯緭鍏�" />
</div>
@@ -34,7 +34,8 @@
<div class="tl_list_item_label">灞炴�у��</div>
<div class="tl_list_item_go">
<u-radio-group v-model="item.num" placement="row" @change="radioSelect">
- <u-radio v-for="(item1, i) in item.data" :key="i" activeColor="#4275FC" :name="item1" :label="item1">
+ <u-radio v-for="(item1, i) in item.data" :key="i" activeColor="#4275FC" :name="item1"
+ :label="item1">
</u-radio>
</u-radio-group>
</div>
@@ -42,7 +43,7 @@
<div class="tl_list_item" v-else-if="item.type === 1">
<div class="tl_list_item_label">灞炴�у��</div>
<div class="tl_list_item_go">
- <u-checkbox-group v-model="item.num" placement="row" >
+ <u-checkbox-group v-model="item.num" placement="row">
<u-checkbox v-for="(item1, i) in item.data" :key="i" :label="item1" :name="item1">
</u-checkbox>
</u-checkbox-group>
@@ -53,15 +54,13 @@
<div class="tl_list_item_go">
<input type="text" v-model="item.num" :placeholder="item.tips" />
</div>
- </div><div class="tl_list_item" v-else-if="item.type === 3">
+ </div>
+ <div class="tl_list_item" v-else-if="item.type === 3">
<div class="tl_list_item_label">灞炴�у��</div>
- <div class="tl_list_item_go">
- <u--input v-model="item.num" :placeholder="item.tips"
- placeholder="璇疯緭鍏ュ唴瀹�"
- type="digit"
- border="surround"
- ></u--input>
- <input />
+ <div class="tl_list_item_go">
+ <input v-model="item.num" type="digit" :placeholder="item.tips" />
+ <!-- <u--input v-model="item.num" :placeholder="item.tips" type="digit"
+ border="surround"></u--input> -->
</div>
</div>
<div class="tl_list_item" @click="openTimer(index)" v-else-if="item.type === 4">
@@ -74,64 +73,6 @@
</div>
</u-swipe-action-item>
</u-swipe-action>
- <!-- <van-swipe-cell v-for="(item, index) in formList" :key="index">
- <div class="tl_list">
- <div class="tl_list_item" @click="open(index)">
- <div class="tl_list_item_label">鐢熶骇灞炴��</div>
- <div class="tl_list_item_go">
- <span
- :style="item.attributeName ? 'color: #000;' : ''">{{ item.attributeName ? item.attributeName : '璇烽�夋嫨'}}</span>
- <van-icon name="arrow" color="#999999" />
- </div>
- </div>
- <div class="tl_list_item" v-if="item.type === ''">
- <div class="tl_list_item_label">灞炴�у��</div>
- <div class="tl_list_item_go">
- <input type="text" v-model="item.num" placeholder="璇疯緭鍏�" />
- </div>
- </div>
- <div class="tl_list_item" v-else-if="item.type === 0">
- <div class="tl_list_item_label">灞炴�у��</div>
- <div class="tl_list_item_go">
- <u-radio-group v-model="item.num" placement="row">
- <u-radio v-for="(item1, i) in item.data" :key="i" activeColor="#4275FC" :label="item1">
- </u-radio>
- </u-radio-group>
- </div>
- </div>
- <div class="tl_list_item" v-else-if="item.type === 1">
- <div class="tl_list_item_label">灞炴�у��</div>
- <div class="tl_list_item_go">
- <u-checkbox-group v-model="item.num" placement="row">
- <u-checkbox v-for="(item1, i) in item.data" :key="i" :label="item1" :name="item1">
- </u-checkbox>
- </u-checkbox-group>
- </div>
- </div>
- <div class="tl_list_item" v-else-if="item.type === 2">
- <div class="tl_list_item_label">灞炴�у��</div>
- <div class="tl_list_item_go">
- <input type="text" v-model="item.num" :placeholder="item.tips" />
- </div>
- </div>
- <div class="tl_list_item" v-else-if="item.type === 3">
- <div class="tl_list_item_label">灞炴�у��</div>
- <div class="tl_list_item_go">
- <input type="text" v-model="item.num" :placeholder="item.tips" />
- </div>
- </div>
- <div class="tl_list_item" @click="openTimer(index)" v-else-if="item.type === 4">
- <div class="tl_list_item_label">灞炴�у��</div>
- <div class="tl_list_item_go">
- <span :style="item.num ? 'color: #000;' : ''">{{item.num ? item.num : item.tips}}</span>
- <u-icon name="arrow" color="#999999" />
- </div>
- </div>
- </div>
- <template #right>
- <van-button square style="height: 100%;" type="danger" text="鍒犻櫎" @click="dele(index)" />
- </template>
- </van-swipe-cell> -->
<div class="tl_zw"></div>
<div class="tl_footer">
@@ -139,6 +80,8 @@
</div>
<u-picker :show="show" :columns="[gzqjData]" title="閫夋嫨鐢熶骇灞炴��" @confirm="gzqjConfirm" @cancel="show=false">
</u-picker>
+ <u-datetime-picker :show="timer" v-model="value1" @cancel="timer=false" @confirm="onConfirm" mode="datetime">
+ </u-datetime-picker>
</view>
</template>
@@ -159,9 +102,14 @@
data() {
return {
options1: [{
- text: '鍒犻櫎'
+ text: '鍒犻櫎',
+ style: {
+ backgroundColor: '#f00',
+ }
}],
+ value1: Number(new Date()),
show: false,
+ timer: false,
index: '',
workOrderId: '',
info: {},
@@ -223,6 +171,11 @@
this.index = index
this.show = true
},
+ // 鎵撳紑鏃ユ湡鎻掍欢
+ openTimer(index) {
+ this.index = index
+ this.timer = true
+ },
gzqjConfirm({
value
}) {
@@ -270,35 +223,44 @@
return
}
this.formList.splice(index, 1)
- },
- radioSelect(v) {
- console.log(v);
+ },
+ onConfirm(value) {
+ console.log(value);
+ this.formList.forEach((item, index) => {
+ if (this.index === index) {
+ item.num = setTimeO(new Date(value.value), '-')
+ }
+ })
+ this.timer = false;
+ },
+ radioSelect(v) {
+ console.log(v);
},
submit() {
- let isOpen = true
- let attrList = []
-
- this.formList.forEach(item => {
+ let isOpen = true
+ let attrList = []
+
+ this.formList.forEach(item => {
console.log('-------', item);
- if (item.type === 1) {
+ if (item.type === 1) {
if (item.attribute === '' || item.num.length === 0) {
- isOpen = false
+ isOpen = false
return
- } else {
- attrList.push({
- val: item.num.join(' '),
- attrId: item.attribute
- })
+ } else {
+ attrList.push({
+ val: item.num.join(' '),
+ attrId: item.attribute
+ })
}
- } else {
+ } else {
if (item.attribute === '' || item.num === '') {
- isOpen = false
+ isOpen = false
return
- } else {
- attrList.push({
- val: item.num,
- attrId: item.attribute
- })
+ } else {
+ attrList.push({
+ val: item.num,
+ attrId: item.attribute
+ })
}
}
})
@@ -306,13 +268,13 @@
uni.$u.toast('璇峰皢淇℃伅濉啓瀹屾暣')
return
}
-
+
createDJ({
attrList: attrList,
id: this.workOrderId
}).then(res => {
- if (res.code === 200) {
- uni.$emit('spotAdd')
+ if (res.code === 200) {
+ uni.$emit('spotAdd')
uni.$u.toast('鍒涘缓鎴愬姛')
setTimeout(() => {
uni.navigateBack()
@@ -379,7 +341,7 @@
flex-direction: column;
background: white;
padding: 0 30rpx;
- margin-bottom: 20rpx;
+ // margin-bottom: 20rpx;
.tl_list_item {
min-height: 98rpx;
@@ -394,7 +356,7 @@
.tl_list_item_label {
font-size: 30rpx;
- font-weight: 400;
+ font-weight: 400;
flex-shrink: 1;
color: #222222;
}
@@ -402,8 +364,9 @@
.tl_list_item_go {
display: flex;
align-items: center;
- flex: 1;
+ flex: 1;
justify-content: flex-end;
+
input {
text-align: right;
width: 450rpx;
@@ -454,13 +417,15 @@
justify-content: center;
}
}
- }
- /deep/ .u-checkbox-group {
- flex-wrap: wrap;
- max-width: 100%;
- }
- /deep/ .u-radio-group {
- flex-wrap: wrap;
- max-width: 100%;
+ }
+
+ /deep/ .u-checkbox-group {
+ flex-wrap: wrap;
+ max-width: 100%;
+ }
+
+ /deep/ .u-radio-group {
+ flex-wrap: wrap;
+ max-width: 100%;
}
</style>
diff --git a/minipro_standard/pages_adjust/pages/workOrder/workOrder.vue b/minipro_standard/pages_adjust/pages/workOrder/workOrder.vue
index 789a2cb..d4c2b19 100644
--- a/minipro_standard/pages_adjust/pages/workOrder/workOrder.vue
+++ b/minipro_standard/pages_adjust/pages/workOrder/workOrder.vue
@@ -42,7 +42,7 @@
<span v-if="item.status === 4">宸叉姤宸�</span>
<span v-if="item.status === 5">宸插叆搴�</span>
<span v-if="item.status === 6">宸插彇娑�</span>
- <span class="green" v-if="item.status === 7">杩涜涓�</span>
+ <span class="green" v-if="item.status === 7">鐢熶骇涓�</span>
</div>
</div>
<span class="f24">宸ュ崟缂栧彿: {{item.code}}</span>
@@ -162,18 +162,15 @@
this.searchForm = {
mixParam: '',
startDate: '',
- endDate: gsdate(new Date()),
+ // endDate: gsdate(new Date()),
+ endDate: '',
statusList: []
}
- this.page.page = 1
- this.pageCounts()
- this.loadData()
+ this.search()
},
searchInput(data) {
this.searchForm.mixParam = data
- this.page.page = 1
- this.pageCounts()
- this.loadData()
+ this.search()
},
loadData() {
getList({
@@ -202,11 +199,10 @@
pageCounts() {
pageCount({
...this.searchForm,
- endDate: this.searchForm.endDate || '',
+ endDate: this.searchForm.endDate || null,
statusList: this.searchForm.statusList.length === 0 ? this.tagList[0].id : this.searchForm
.statusList
}).then(res => {
- console.log(res);
if (res.code === 200) {
this.tagList[0].num = String(res.data.startNum)
this.tagList[1].num = String(res.data.ingNum)
@@ -219,10 +215,11 @@
this.page.page = 1
this.loadData()
},
- dateConfirm(v) {
+ dateConfirm(v) {
+ console.log(v);
this.isOpenDate = false
- this.searchForm.startDate = v[0]
- this.searchForm.endDate = v[v.length - 1]
+ this.searchForm.startDate = v.startDate
+ this.searchForm.endDate = v.endDate
},
getLists() {
this.page.page += 1
@@ -231,12 +228,12 @@
onRefresh() {
if (this.triggered) return
this.triggered = true;
- this.page.page = 1
- this.loadData()
+ this.search()
},
search() {
this.page.page = 1
this.loadData()
+ this.pageCounts()
},
jump(item) {
// uni.navigateTo({
@@ -375,7 +372,7 @@
width: 80%;
span {
- font-size: 32rpx;
+ font-size: 24rpx;
font-weight: 500;
color: #333333;
overflow: hidden;
diff --git a/minipro_standard/pages_adjust/pages/workOrderReporting/workOrderReporting.vue b/minipro_standard/pages_adjust/pages/workOrderReporting/workOrderReporting.vue
index 39de708..972c805 100644
--- a/minipro_standard/pages_adjust/pages/workOrderReporting/workOrderReporting.vue
+++ b/minipro_standard/pages_adjust/pages/workOrderReporting/workOrderReporting.vue
@@ -1,4 +1,5 @@
-<template>
+<template>
+ <page-meta :page-style="(badShow||statistics) ?'overflow: hidden;': ''"/>
<view>
<view class="tips-label">褰撳墠浠诲姟闇�瑕佽川妫�锛涗骇鍑哄悗锛岃鑰愬績绛夊緟璐ㄦ鍛樻楠岋紝骞舵牴鎹楠岀粨鏋滆皟鏁翠骇鍑烘暟鎹悗鍐嶆姤宸ャ��</view>
<workOrderInfo :orederMessage="info" />
@@ -124,8 +125,9 @@
:style="{ color: form.durationName ? '#333' : '' }">{{ form.durationName ? form.durationName : '璇烽�夋嫨' }}</span>
<image src="../../../static/ic_ar@2x.png" class="img_ar" mode=""></image>
</div>
- </div>
- <div class="bg_list_item" v-if="form.duration && arrType && arrType.length > 0">
+ </div>
+ <!-- form.duration && -->
+ <div class="bg_list_item" v-if="arrType && arrType.length > 0">
<div class="bg_list_item_top">
<div class="bg_list_item_top_left">
<div class="bg_list_item_top_left_x bg_m"></div>
@@ -175,31 +177,38 @@
</div>
<div class="details_dj" v-if="typeView === 1">
- <div class="details_dj_list">
- <scroll-view scroll-y="true" refresher-enabled="true" @scrolltolower="getLists">
- <u-swipe-action v-for="(item, index) in djData" :key="index">
- <u-swipe-action-item :options="options" @click="dele(item.id)">
- <div class="details_dj_list_item">
- <span>{{ item.attrName }}锛歿{ item.val }}</span>
- <span>{{ item.userName }} {{ item.createTime }}</span>
- </div>
- </u-swipe-action-item>
- </u-swipe-action>
- </scroll-view>
+ <div class="details_dj_list">
+ <u-swipe-action v-for="(item, index) in djData" :key="index">
+ <u-swipe-action-item :options="options" @click="dele(item.id)">
+ <div class="details_dj_list_item">
+ <span>{{ item.attrName }}锛歿{ item.val }}</span>
+ <span>{{ item.userName }} {{ item.createTime }}</span>
+ </div>
+ </u-swipe-action-item>
+ </u-swipe-action>
</div>
</div>
- <!-- v-if="info.status === 2 || info.procedureNeedcheck === 1" -->
- <template v-if="info.status === 2 || info.procedureNeedcheck === 1">
+ <!-- v-if="info.status === 2 || info.procedureNeedcheck === 1" -->
+ <!-- status 0宸插垱寤恒��1宸插鏂欍��2宸插畬宸ャ��3宸叉楠屻��4宸叉姤宸ャ��5宸插叆搴撱��6宸插彇娑堛��7鐢熶骇涓� -->
+ <!-- procedureNeedcheck 宸ュ簭鏄惁闇�瑕佹楠屾墠鑳芥姤宸� 0鏄� 1鍚� -->
+ <template v-if="typeView == 0 &&( info.status === 2 || info.procedureNeedcheck === 1 )">
<div class="bh_zw"></div>
<div class="bg_footer bg_f7">
<div class="bg_footer_submit bg_m" v-if="typeView == 0" @click="submit">纭鎶ュ伐</div>
<!-- proxy.$auth('h5:workorder:processRecord') && -->
+
+ </div>
+ </template>
+ <template v-if="typeView == 1 && info.status !== 4 && info.procedureNeedcheck !== 5 && info.procedureNeedcheck !== 6">
+ <div class="bh_zw"></div>
+ <div class="bg_footer bg_f7">
<div class="bg_footer_submit1" @click="jumpdj" v-if="typeView == 1">
<image src="../../../static/gongdan_ic_shoudong@2x.png" class="fornt-img" mode=""></image>
<span>鏂板鐐规</span>
</div>
</div>
- </template>
+ </template>
+ <u-safe-bottom></u-safe-bottom>
<u-datetime-picker :show="TimeShow" @cancel="TimeShow=false" @confirm="timeConfirm" v-model="form.time"
mode="time"></u-datetime-picker>
<u-popup :show="badShow" @close="badShow=false" :round="8" closeable zIndex="20000">
@@ -375,23 +384,24 @@
return (Number(h) * (this.arrType[this.form.index].salary / 10 / 10)).toFixed(2) || 0
}
},
- complianceRate() {
+ complianceRate() {
+ let { index, duration } = this.form
+ let { qualified, undesirable } = this.produceFrom
if (this.arrType.length === 0) return 0;
- if (!this.produceFrom.qualified && !this.produceFrom.undesirable) return 0;
- if (!this.form.duration) return 0;
- if (!this.arrType[this.form.index].num) return 0;
+ if (!qualified && !undesirable) return 0;
+ if (!duration) return 0;
+ if (!this.arrType[index].num) return 0;
// 鎸変欢璁$畻
// if (infoBox.value.type == 0) {
- if (this.arrType[this.form.index].unqualified == 1) { // 鏄惁璁″叆涓嶈壇鍝�
- let a = ((Number(this.produceFrom.qualified) + Number(this.produceFrom.undesirable)) / (this.form
- .duration / 3600)).toFixed(2)
- let b = (this.arrType[this.form.index].num / (this.arrType[form.index].times / 3600)).toFixed(2)
+ if (this.arrType[index].unqualified == 1) { // 鏄惁璁″叆涓嶈壇鍝�
+ let a = ((Number(qualified) + Number(undesirable)) / (duration / 3600)).toFixed(2)
+ let b = (this.arrType[index].num / (this.arrType[index].times / 3600)).toFixed(2)
return ((Number(a) / Number(b)) * 100).toFixed(2)
// let total = (Number(from.qualified) + Number(from.undesirable)) / ((from.duration * 60 * 60) * infoBox.value.num / )
// return total * infoBox.value.salary;
} else {
- let a = (this.produceFrom.qualified / (this.form.duration / 3600)).toFixed(2)
- let b = (this.arrType[this.form.index].num / (this.arrType[this.form.index].times / 3600)).toFixed(2)
+ let a = (qualified / (duration / 3600)).toFixed(2)
+ let b = (this.arrType[index].num / (this.arrType[index].times / 3600)).toFixed(2)
return ((Number(a) / Number(b)) * 100).toFixed(2)
// return Number(from.qualified) * infoBox.value.salary;
}
@@ -461,7 +471,6 @@
timeConfirm({
value
}) {
- console.log(value)
let h = Number(value.substring(0, 2))
let m = Number(value.substring(3, 5))
let s = 0
@@ -876,11 +885,11 @@
})
return
}
- total = total += item.num
+ total += Number(item.num)
arr.push(item)
name += item.name + item.num + '锛�'
}
- })
+ })
if (total != Number(this.produceFrom.undesirable)) {
uni.showToast({
title: '涓嶈壇鏁板繀椤荤瓑浜庝骇鍑轰笉鑹暟',
@@ -1048,7 +1057,11 @@
padding: 0 30rpx;
box-sizing: border-box;
background: white;
-
+ &:last-child {
+ .bg_list_item_num{
+ border: none !important;
+ }
+ }
.bg_list_item_num {
width: 100%;
min-height: 98rpx;
@@ -1057,11 +1070,6 @@
justify-content: center;
align-items: center;
border-bottom: 1rpx solid #E5E5E5;
-
- &:last-child {
- border: none !important;
- }
-
.kong {
text-align: center;
font-size: 25rpx;
@@ -1142,9 +1150,9 @@
span {
flex-shrink: 0;
- overflow: hidden;
- text-overflow: ellipsis;
- white-space: nowrap;
+ // overflow: hidden;
+ // text-overflow: ellipsis;
+ // white-space: nowrap;
b {
font-size: 30rpx;
@@ -1209,9 +1217,9 @@
.wulll {
width: 400rpx;
text-align: right;
- overflow: hidden;
- white-space: nowrap;
- text-overflow: ellipsis;
+ // overflow: hidden;
+ // white-space: nowrap;
+ // text-overflow: ellipsis;
}
span {
@@ -1233,7 +1241,7 @@
padding: 30rpx;
box-sizing: border-box;
background: #FFFFFF;
- margin-bottom: 40rpx;
+ // margin-bottom: 40rpx;
display: flex;
align-items: center;
justify-content: space-between;
diff --git a/minipro_standard/pages_inspect/pages/InOperation/InOperation.vue b/minipro_standard/pages_inspect/pages/InOperation/InOperation.vue
index e6c7247..fa41316 100644
--- a/minipro_standard/pages_inspect/pages/InOperation/InOperation.vue
+++ b/minipro_standard/pages_inspect/pages/InOperation/InOperation.vue
@@ -86,7 +86,7 @@
<span>{{item.locationName ? item.locationName : '-'}}</span>
</div>
</div>
- <div class="items">
+ <div class="items f24">
<div class="label">鏁伴噺锛�</div>
<div class="nr">
<input type="text" v-model="item.scanNum" placeholder="璇疯緭鍏�" />
@@ -97,8 +97,8 @@
<div class="itemy" v-for="(item1, idx) in item.woutboundRedisCodeBeanList" :key="idx">
<div class="label">宸ヨ{{item1.scanCode}}锛�</div>
<div class="nr">{{item1.num}}{{item1.unitName}}</div>
- <div class="dele" @click="dele(item1)">
- <image src="../../../static/chuku_ic_delete@2x.png" class="img36" mode=""></image>
+ <div class="dele" @click="woScanMaterialBeanList.splice(index, 1)">
+ <image src="../../../static/chuku_ic_delete@2x.png" class="img48" mode=""></image>
</div>
</div>
</div>
@@ -129,7 +129,7 @@
<span>{{item1.locationName}}</span>
</div>
</div>
- <div class="itemy_item">
+ <div class="itemy_item f24">
<div class="label">鏁伴噺锛�</div>
<div class="nr">
<!-- @input="inputNum(item1)" -->
@@ -137,9 +137,11 @@
<span>{{item1.unitName}}</span>
</div>
</div>
- <!-- @click="dele()" -->
- <div class="dele" @click="dele(idx)">
- <image src="../../../static/chuku_ic_delete@2x.png" class="img36" mode=""></image>
+ <!-- @click="dele()" dele(index) {
+ this.outboundList.splice(index, 1)
+ }, -->
+ <div class="dele" @click="seleMateriaList.splice(index, 1)">
+ <image src="../../../static/chuku_ic_delete@2x.png" class="img48" mode=""></image>
</div>
</div>
</div>
@@ -737,6 +739,7 @@
display: flex;
align-items: center;
margin-top: 15rpx;
+ font-size: 24rpx;
}
.page_yxwl_list_item_num {
diff --git a/minipro_standard/pages_inspect/pages/OutOperation/OutOperation.vue b/minipro_standard/pages_inspect/pages/OutOperation/OutOperation.vue
index cbe0238..2487457 100644
--- a/minipro_standard/pages_inspect/pages/OutOperation/OutOperation.vue
+++ b/minipro_standard/pages_inspect/pages/OutOperation/OutOperation.vue
@@ -1,785 +1,811 @@
-<template>
- <view>
- <InOutInfo :info="info" />
- <uni-collapse @change="change" @close="close" @open="open">
- <uni-collapse-item :open="item1.wtransferDetailList.length" v-if="type==7" v-for="(item1, index) in warehouseList" :key="index">
- <view class="p30 cY" style="border-bottom: 4rpx solid #f7f7f7;" slot="title">
- <image src="../../../static/chuku_ic_cangku@2x.png" class="img36 mr10" mode=""></image>
- <view>{{ item1.warehouseName }}</view>
- </view>
- <view class="p30">
- <div class="page_dck">
- <div class="page_dck_title">
- <div class="page_dck_title_x"></div>
- <span>寰呭嚭搴撶墿鏂�</span>
- </div>
- </div>
- <div class="page_content" v-for="(item, index) in item1.wtransferDetailList" :key="index"
- :name="index">
- <div class="page_content_title">
- <div class="page_content_title_top">
- <span>{{ item.materialName + ' | ' + item.materialCode }}</span>
- <span>寰呭嚭<span>{{ item.outPlannum }}</span> {{ item.unitName }}</span>
- </div>
- <div class="page_content_title_bottom">
- <span class="green" v-if="item.qualityType === 0">鍚堟牸 <span
- class="black">/</span> </span>
- <span class="warning" v-else-if="item.qualityType === 1">涓嶈壇 <span
- class="black">/</span> </span>
- <span class="error" v-else-if="item.qualityType === 2">鎶ュ簾 <span
- class="black">/</span> </span>
- <span v-else>- / </span>
- <span>{{item.procedureName ? item.procedureName : '-'}} / </span>
- <span>{{item.batch ? item.batch : '-'}}</span>
- </div>
- </div>
- <div class="page_content_list" v-for="(childer, idxs) in item.wstockExtListVOList" v-if="childer.batch == item.batch" :key="idxs">
- <div class="page_content_list_item">
- <div class="page_content_list_item_label">鍑哄簱璐т綅锛�</div>
- <div class="page_content_list_item_nr">{{ childer.locationName }}</div>
- </div>
- <div class="page_content_list_items">
- <div class="page_content_list_item_label">鏁伴噺锛�</div>
- <div class="page_content_list_item_nr">{{ childer.num }}{{ childer.unitName }}</div>
- </div>
- <div class="page_content_list_item">
- <div class="page_content_list_item_label">鎵规鍙凤細</div>
- <div class="page_content_list_item_nr">{{ childer.batch ? childer.batch : '-' }}</div>
- </div>
- </div>
- </div>
- </view>
- </uni-collapse-item>
- <uni-collapse-item v-if="type==8">
- <view class="p30 cY" style="border-bottom: 4rpx solid #f7f7f7;" slot="title">
- <image src="../../../static/chuku_ic_cangku@2x.png" class="img36 mr10" mode=""></image>
- <view>{{ info.warehouseName }}</view>
- </view>
- <view class="p30">
- <div class="page_dck">
- <div class="page_dck_title">
- <div class="page_dck_title_x"></div>
- <span>寰呭嚭搴撶墿鏂�</span>
- </div>
- </div>
- <div class="page_content" v-for="(item, index) in woutboundDetailsWait" :key="index" :name="index">
- <div class="page_content_title">
- <div class="page_content_title_top">
- <span>{{ item.materialName + ' | ' + item.materialCode }}</span>
- <span>寰呭嚭 <span>{{ item.num }}</span> {{ item.unitName }}</span>
- </div>
- <div class="page_content_title_bottom">
- <span class="green" v-if="item.qualityType === 0">鍚堟牸 <span
- class="black">/</span> </span>
- <span class="warning" v-else-if="item.qualityType === 1">涓嶈壇 <span
- class="black">/</span> </span>
- <span class="error" v-else-if="item.qualityType === 2">鎶ュ簾 <span
- class="black">/</span> </span>
- <span v-else>- / </span>
- <span>{{item.procedureName ? item.procedureName : '-'}} / </span>
- <span>{{item.batch ? item.batch : '-'}}</span>
- </div>
- </div>
- <div class="page_content_list" v-for="(items, ind) in item.wstockExtListVOList" v-if="items.batch == item.batch" :key="ind">
- <div class="page_content_list_item">
- <div class="page_content_list_item_label">鎵规鍙�1锛�</div>
- <div class="page_content_list_item_nr">{{ items.batch ? items.batch : '-' }}</div>
- </div>
- <div class="page_content_list_items">
- <div class="page_content_list_item_label">鏁伴噺锛�</div>
- <div class="page_content_list_item_nr">{{ items.num }}{{ items.umodel.name }}</div>
- </div>
- <div class="page_content_list_item" v-if="items.lmodel">
- <div class="page_content_list_item_label">鍑哄簱璐т綅锛�</div>
- <div class="page_content_list_item_nr">{{ items.lmodel.unionName }}</div>
- </div>
- </div>
- </div>
- </view>
- </uni-collapse-item>
- </uni-collapse>
-
- <div class="page_h"></div>
- <div class="page_yxwl">
- <div class="page_yxwl_title">
- <div class="left">
- <div class="page_yxwl_title_x"></div>
- <span>宸查�夋嫨鐗╂枡</span>
- </div>
-
- <div class="right" v-if="isZKD" @click="openxz">
- <image src="../../../static/gongdan_ic_shoudong@2x.png" class="img36" mode=""></image><span>鎵嬪姩鍑哄簱</span>
- </div>
- </div>
- <div class="page_yxwl_list" v-if="outboundList.length > 0">
- <div class="page_yxwl_list_item" v-for="(item, index) in outboundList" :key="index">
- <div class="page_yxwl_list_item_top">
- <div class="page_yxwl_list_item_top_left">{{ item.materialName }} | {{ item.materialCode }}
- </div>
-
- </div>
- <div class="page_yxwl_list_item_sx">
- <span class="green" v-if="item.qualityType == 0">鍚堟牸 <span>/</span></span>
- <span class="yellow" v-else-if="item.qualityType == 1">涓嶈壇 <span>/</span></span>
- <span class="red" v-else-if="item.qualityType == 2">鎶ュ簾 <span>/</span></span>
- <span v-else>- / </span>
- <span> {{ item.procedureName ? item.procedureName : '-' }} / </span>
- <span> {{ item.batch ? item.batch : '-' }}</span>
- </div>
- <div class="page_yxwl_list_item_num">
- <div class="item">
- <div class="label">鍑哄簱璐т綅锛�</div>
- <div class="nr">
- <span>{{ item.locationName }}</span>
- </div>
- </div>
- <div class="item">
- <div class="label">鏁伴噺锛�</div>
- <div class="nr">
- <!-- @input="changeNum(item)" -->
- <input type="number" v-model="item.num" placeholder="璇疯緭鍏�">
- <span>{{ item.unitName }}</span>
- </div>
- </div>
- <div class="dele" @click="dele(index)">
- <!-- <img src="@/assets/icon/chuku_ic_delete@2x.png" alt="" /> -->
- <image src="../../../static/chuku_ic_delete@2x.png" class="img24" mode=""></image>
- </div>
- </div>
- </div>
- </div>
- <div class="page_yxwl_kong" v-else>鏆傛棤鏁版嵁</div>
- </div>
- <div class="page_zw"></div>
- <!-- 鎻愪氦鎸夐挳 -->
- <div class="page_footer">
- <div class="page_footer_ck" @click="submit">
- <span>纭鍑哄簱</span>
- </div>
- </div>
- <SelectTraMultipleMaterial ref="selectTraMultipleMaterial" @selectes="selectMaterail" />
- </view>
-</template>
-
-<script>
- import InOutInfo from '@/components/InOutInfo.vue'
- import SelectTraMultipleMaterial from '@/components/SelectTraMultipleMaterial.vue'
- import {
- QRCodeType
- } from '@/common/config.js'
- import {
- outScanAppliances,
- wTransferForInOut,
- wTransferForInOutUpload,
- wOutBoundForInOut,
- wOutBoundForUpload,
- transferToOutNew
- } from '@/util/api/ExWarehouse'
- import {
- getDB
- } from '@/util/api/agencyAPI'
- export default {
- components: {
- InOutInfo,
- SelectTraMultipleMaterial
- },
- data() {
- return {
- type: '',
- id: '',
- dbid: '',
- isZKD: false,
- show: false,
- info: {
-
+<template>
+ <view>
+ <InOutInfo :info="info" />
+ <uni-collapse @change="change" @close="close" @open="open">
+ <uni-collapse-item :open="item1.wtransferDetailList.length" v-if="type==7"
+ v-for="(item1, index) in warehouseList" :key="index">
+ <view class="p30 cY" style="border-bottom: 4rpx solid #f7f7f7;" slot="title">
+ <image src="../../../static/chuku_ic_cangku@2x.png" class="img36 mr10" mode=""></image>
+ <view>{{ item1.warehouseName }}</view>
+ </view>
+ <view class="p30">
+ <div class="page_dck">
+ <div class="page_dck_title">
+ <div class="page_dck_title_x"></div>
+ <span>寰呭嚭搴撶墿鏂�</span>
+ </div>
+ </div>
+ <div class="page_content" v-for="(item, index) in item1.wtransferDetailList" :key="index"
+ :name="index">
+ <div class="page_content_title">
+ <div class="page_content_title_top">
+ <span>{{ item.materialName + ' | ' + item.materialCode }}</span>
+ <span>寰呭嚭<span>{{ item.outPlannum }}</span> {{ item.unitName }}</span>
+ </div>
+ <div class="page_content_title_bottom">
+ <span class="green" v-if="item.qualityType === 0">鍚堟牸 <span
+ class="black">/</span> </span>
+ <span class="warning" v-else-if="item.qualityType === 1">涓嶈壇 <span
+ class="black">/</span> </span>
+ <span class="error" v-else-if="item.qualityType === 2">鎶ュ簾 <span
+ class="black">/</span> </span>
+ <span v-else>- / </span>
+ <span>{{item.procedureName ? item.procedureName : '-'}} / </span>
+ <span>{{item.batch ? item.batch : '-'}}</span>
+ </div>
+ </div>
+ <div class="page_content_list" v-for="(childer, idxs) in item.wstockExtListVOList" :key="idxs">
+ <div class="page_content_list_item">
+ <div class="page_content_list_item_label">鍑哄簱璐т綅锛�</div>
+ <div class="page_content_list_item_nr">{{ childer.locationName }}</div>
+ </div>
+ <div class="page_content_list_items">
+ <div class="page_content_list_item_label">鏁伴噺锛�</div>
+ <div class="page_content_list_item_nr">{{ childer.num }}{{ childer.unitName }}</div>
+ </div>
+ <div class="page_content_list_item">
+ <div class="page_content_list_item_label">鎵规鍙凤細</div>
+ <div class="page_content_list_item_nr">{{ childer.batch ? childer.batch : '-' }}</div>
+ </div>
+ </div>
+ </div>
+ </view>
+ </uni-collapse-item>
+ <uni-collapse-item v-if="type==8">
+ <view class="p30 cY" style="border-bottom: 4rpx solid #f7f7f7;" slot="title">
+ <image src="../../../static/chuku_ic_cangku@2x.png" class="img36 mr10" mode=""></image>
+ <view>{{ info.warehouseName }}</view>
+ </view>
+ <view class="p30">
+ <div class="page_dck">
+ <div class="page_dck_title">
+ <div class="page_dck_title_x"></div>
+ <span>寰呭嚭搴撶墿鏂�</span>
+ </div>
+ </div>
+ <div class="page_content" v-for="(item, index) in woutboundDetailsWait" :key="index" :name="index">
+ <div class="page_content_title">
+ <div class="page_content_title_top">
+ <span>{{ item.materialName + ' | ' + item.materialCode }}</span>
+ <span>寰呭嚭 <span>{{ item.num }}</span> {{ item.unitName }}</span>
+ </div>
+ <div class="page_content_title_bottom">
+ <span class="green" v-if="item.qualityType === 0">鍚堟牸<text class="c6" decode>{{ split}}</text></span>
+ <span class="warning" v-else-if="item.qualityType === 1">涓嶈壇<text class="c6" decode>{{ split}}</text></span>
+ <span class="error" v-else-if="item.qualityType === 2">鎶ュ簾<text class="c6" decode>{{ split}}</text></span>
+ <span v-else>-<text class="c6" decode>{{ split}}</text></span>
+ <span>{{item.procedureName ? item.procedureName : '-'}}<text class="c6" decode>{{ split}}</text></span>
+ <span>{{item.batch ? item.batch : '-'}}</span>
+ </div>
+ </div>
+ <div class="page_content_list" v-for="(items, ind) in item.wstockExtListVOList" :key="ind">
+ <div class="page_content_list_item">
+ <div class="page_content_list_item_label">鎵规鍙�1锛�</div>
+ <div class="page_content_list_item_nr">{{ items.batch ? items.batch : '-' }}</div>
+ </div>
+ <div class="page_content_list_items">
+ <div class="page_content_list_item_label">鏁伴噺锛�</div>
+ <div class="page_content_list_item_nr">{{ items.num }}{{ items.umodel.name }}</div>
+ </div>
+ <div class="page_content_list_item" v-if="items.lmodel">
+ <div class="page_content_list_item_label">鍑哄簱璐т綅锛�</div>
+ <div class="page_content_list_item_nr">{{ items.lmodel.unionName }}</div>
+ </div>
+ </div>
+ </div>
+ </view>
+ </uni-collapse-item>
+ </uni-collapse>
+
+ <div class="page_h"></div>
+ <div class="page_yxwl">
+ <div class="page_yxwl_title">
+ <div class="left">
+ <div class="page_yxwl_title_x"></div>
+ <span>宸查�夋嫨鐗╂枡</span>
+ </div>
+
+ <div class="right" v-if="isZKD" @click="openxz">
+ <image src="../../../static/gongdan_ic_shoudong@2x.png" class="img36" mode=""></image>
+ <span>鎵嬪姩鍑哄簱</span>
+ </div>
+ </div>
+ <div class="page_yxwl_list" v-if="outboundList.length > 0">
+ <div class="page_yxwl_list_item" v-for="(item, index) in outboundList" :key="index">
+ <div class="page_yxwl_list_item_top">
+ <div class="page_yxwl_list_item_top_left">{{ item.materialName }} | {{ item.materialCode }}
+ </div>
+
+ </div>
+ <div class="page_yxwl_list_item_sx">
+ <span class="green" v-if="item.qualityType == 0">鍚堟牸t<text class="c6" decode>{{ split}}</text></span>
+ <span class="yellow" v-else-if="item.qualityType == 1">涓嶈壇<text class="c6" decode>{{ split}}</text></span>
+ <span class="red" v-else-if="item.qualityType == 2">鎶ュ簾<text class="c6" decode>{{ split}}</text></span>
+ <span v-else>-<text class="c6" decode>{{ split}}</text></span>
+ <span>{{ item.procedureName ? item.procedureName : '-' }}<text class="c6" decode>{{ split}}</text></span>
+ <span>{{ item.batch ? item.batch : '-' }}</span>
+ </div>
+ <div class="page_yxwl_list_item_num">
+ <div class="item">
+ <div class="label">鍑哄簱璐т綅锛�</div>
+ <div class="nr">
+ <span>{{ item.locationName }}</span>
+ </div>
+ </div>
+ <div class="item f24">
+ <div class="label">鏁伴噺锛�</div>
+ <div class="nr">
+ <!-- @input="changeNum(item)" -->
+ <input type="number" v-model="item.num" placeholder="璇疯緭鍏�">
+ <span>{{ item.unitName }}</span>
+ </div>
+ </div>
+ <div class="dele" @click="dele(index)">
+ <!-- <img src="@/assets/icon/chuku_ic_delete@2x.png" alt="" /> -->
+ <image src="../../../static/chuku_ic_delete@2x.png" class="img48" mode=""></image>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="page_yxwl_kong" v-else>鏆傛棤鏁版嵁</div>
+ </div>
+ <div class="page_zw"></div>
+ <!-- 鎻愪氦鎸夐挳 -->
+ <div class="page_footer">
+ <div class="page_footer_ck" @click="submit">
+ <span>纭鍑哄簱</span>
+ </div>
+ </div>
+ <SelectTraMultipleMaterial ref="selectTraMultipleMaterial" @selectes="selectMaterail" />
+ </view>
+</template>
+
+<script>
+ import InOutInfo from '@/components/InOutInfo.vue'
+ import SelectTraMultipleMaterial from '@/components/SelectTraMultipleMaterial.vue'
+ import {
+ QRCodeType
+ } from '@/common/config.js'
+ import {
+ outScanAppliances,
+ wTransferForInOut,
+ wTransferForInOutUpload,
+ wOutBoundForInOut,
+ wOutBoundForUpload,
+ transferToOutNew
+ } from '@/util/api/ExWarehouse'
+ import {
+ getDB
+ } from '@/util/api/agencyAPI'
+ export default {
+ components: {
+ InOutInfo,
+ SelectTraMultipleMaterial
+ },
+ data() {
+ return {
+ type: '',
+ id: '',
+ dbid: '',
+ isZKD: false,
+ show: false,
+ info: {
+
},
- mainOrder: '',
- warehouseId: '',
- ids: [],
- warehouseList: [{
-
- }],
- woutboundDetailsWait: [],
- outboundList: []
- };
- },
- onLoad(option) {
- this.type = option.type
- this.id = option.id
- this.isZKD = this.type == QRCodeType.ZKD
- this.dbid = option.dbid
- if (option.dbid) {
- this.getDBs(option.dbid)
- } else {
- this.getInfo()
- }
- },
- methods: {
- // 鍒ゆ柇鏄惁瀹屾垚
- getDBs(dbid) {
- getDB(dbid)
- .then(res => {
- let {
- data
- } = res
- if (data.status == 1) {
- // 宸插畬鎴�
- } else {
- this.getInfo()
+ split: ' / ',
+ mainOrder: '',
+ warehouseId: '',
+ ids: [],
+ warehouseList: [{
+
+ }],
+ woutboundDetailsWait: [],
+ outboundList: []
+ };
+ },
+ onLoad(option) {
+ this.type = option.type
+ this.id = option.id
+ this.isZKD = this.type == QRCodeType.ZKD
+ this.dbid = option.dbid
+ if (option.dbid) {
+ this.getDBs(option.dbid)
+ } else {
+ this.getInfo()
+ }
+ },
+ methods: {
+ // 鍒ゆ柇鏄惁瀹屾垚
+ getDBs(dbid) {
+ getDB(dbid)
+ .then(res => {
+ let {
+ data
+ } = res
+ if (data.status == 1) {
+ // 宸插畬鎴�
+ } else {
+ this.getInfo()
+ }
+ })
+ .catch(err => {})
+ },
+ getInfo() {
+ let infoAction
+ let data = {
+ id: this.id
+ }
+ if (this.type == QRCodeType.CKD) {
+ infoAction = wOutBoundForInOut
+ data.wOutboundType = '0'
+ } else if (this.type == QRCodeType.ZKD) {
+ infoAction = wTransferForInOut
+ data.wTransferType = '0'
+ }
+ infoAction(data).then(res => {
+ this.mainOrder = res.data.id
+ if (this.isZKD) {
+ this.info = res.data.wtransfer
+ this.warehouseList = res.data.wtransferWarehouseList
+ this.warehouseId = this.warehouseList[0].warehouseId
+ } else {
+ this.info = res.data.woutbound
+ this.woutboundDetailsWait = res.data.woutboundDetailsWait
+ this.warehouseId = this.woutboundDetailsWait[0].warehouseId
+ }
+ }).catch(err => {
+ uni.$u.toast(err)
+ uni.navigateBack()
+ })
+ },
+ change() {},
+ close() {},
+ open() {},
+ openxz() {
+ this.$refs.selectTraMultipleMaterial.open({
+ transferId: this.id,
+ warehouseId: this.warehouseId
+ })
+ },
+ selectMaterail(v) {
+ let tempList = this.warehouseList[0].wtransferDetailList
+ let materials = JSON.parse(JSON.stringify(v.materials))
+ tempList.forEach(item => {
+ let isOutList = false
+ this.outboundList.forEach(selected => {
+ if (selected.newId == item.id) {
+ isOutList = true
+ return
}
})
- .catch(err => {})
- },
- getInfo() {
- let infoAction
- let data = {
- id: this.id
- }
- if (this.type == QRCodeType.CKD) {
- infoAction = wOutBoundForInOut
- data.wOutboundType = '0'
- } else if (this.type == QRCodeType.ZKD) {
- infoAction = wTransferForInOut
- data.wTransferType = '0'
- }
- infoAction(data).then(res => {
- this.mainOrder = res.data.id
- if (this.isZKD) {
- this.info = res.data.wtransfer
- this.warehouseList = res.data.wtransferWarehouseList
- this.warehouseId = this.warehouseList[0].warehouseId
- } else {
- this.info = res.data.woutbound
- this.woutboundDetailsWait = res.data.woutboundDetailsWait
- this.warehouseId = this.woutboundDetailsWait[0].warehouseId
- }
- }).catch(err => {
- uni.$u.toast(err)
- uni.navigateBack()
- })
- },
- change() {},
- close() {},
- open() {},
- openxz() {
- this.$refs.selectTraMultipleMaterial.open({
- transferId: this.id,
- warehouseId: this.warehouseId
- })
- },
- selectMaterail(v) {
- let tempList = this.warehouseList[0].wtransferDetailList
- let materials = v.materials
-
- materials.forEach(materail => {
-
- tempList.forEach(item => {
- item.wstockExtListVOList.forEach(hw => {
- if (materail.materialId == hw.materialId && materail.procedureId == hw
- .procedureId && materail.qualityType == hw.qualityType && materail.batch ==
- hw.batch) {
- let isExist = false
- this.outboundList.forEach(selected => {
- if (selected.newId == item.id) {
- isExist = true
+ if (!isOutList) {
+ materials.forEach((materail, index) => {
+ if (item.batch) {
+ // 绮剧‘鍖归厤
+ if (materail.materialId == item.materialId &&
+ materail.procedureId == item.procedureId &&
+ materail.qualityType == item.qualityType &&
+ materail.batch == item.batch
+ ) {
+ this.addToOutList(materail, item)
+ materials.splice(index, 1)
return
- }
- })
- if (isExist) {
- uni.$u.toast('璇ョ墿鏂欏凡瀛樺湪')
+ }
+ } else {
+ if (materail.materialId == item.materialId &&
+ materail.procedureId == item.procedureId &&
+ materail.qualityType == item.qualityType
+ ) {
+ this.addToOutList(materail, item)
+ materials.splice(index, 1)
return
}
- let obj = JSON.parse(JSON.stringify(materail))
- obj.newId = item.id
- this.outboundList.push(obj)
}
})
-
- })
+ }
})
},
- dele(index) {
- this.outboundList.splice(index, 1)
- },
- submit() {
- if (this.type == QRCodeType.ZKD) {
- if (this.outboundList.length > 0) {
- let result = this.outboundList.reduce((a, b) => {
- if (a[b.newId]) {
- a[b.newId].push(b);
- } else {
- a[b.newId] = [b];
- }
- return a;
- }, {});
- let tempList = this.warehouseList[0].wtransferDetailList
- for (let i = 0; i < tempList.length; i++) {
- let item = tempList[i]
- for (let a in result) {
- if (item.id == a) {
- let total = 0
- for (let b = 0; b < result[a].length; b++) {
- total = Number(total) + Number(result[a][b].num)
- }
- if (!total || total <= 0) {
- uni.$u.toast('鍑哄簱鐗╂枡鏁伴噺蹇呴』澶т簬0')
- return
- }
- console.log(total, item.outPlannum);
- if (total > item.outPlannum) {
- uni.$u.toast('鍑哄簱鏁伴噺涓嶈兘澶т簬寰呭嚭搴撴暟閲�')
- return
- }
- }
- }
- }
- let submitTransferOutDetailDTOList = []
- this.outboundList.forEach(item => {
- tempList.forEach(child => {
- if (item.newId == child.id) {
- submitTransferOutDetailDTOList.push({
- outNum: item.num,
- wstockId: item.id,
- wtransferDetailId: child.id
- })
- }
- })
- })
- transferToOutNew({
- submitTransferOutDetailDTOList,
- wtransferId: this.id
- }).then(res => {
- if (res.code === 200) {
- this.$store.dispatch('getUpcomingNum')
- uni.$u.toast('鎿嶄綔鎴愬姛')
- uni.$emit('success')
- uni.redirectTo({
- url: `/pages_adjust/pages/warehousingDetails/warehousingDetails?id=${this.id}&dbid=${this.dbid}`
- })
- // setTimeout(() => {
- // router.replace({ name: 'wTransferDetail', query: { id: info.value.wtransfer.id, dbid: route.query.dbid } })
- // }, 2000)
- }
- })
- } else {
- uni.$u.toast('璇烽�夋嫨鍑哄簱鐗╂枡')
+ addToOutList(materail, item) {
+ let isExist = false
+ this.outboundList.forEach(selected => {
+ if (selected.newId == materail.id) {
+ isExist = true
+ return
}
- } else if (this.type === QRCodeType.CKD) {
- wOutBoundForUpload({
- id: this.id,
- wOutboundType: 0
- }).then(res => {
- if (res.code === 200) {
- this.$store.dispatch('getUpcomingNum')
- uni.$u.toast('鎿嶄綔鎴愬姛')
- uni.$emit('success')
- uni.redirectTo({
- url: `/pages_adjust/pages/outboundDetails/outboundDetails?id=${this.id}`
- })
- // setTimeout(() => {
- // // router.go(-1)
- // router.replace({ name: 'wOutboundDetail', query: { id: info.value.wtransfer.id } })
- // }, 2000)
- }
- })
+ })
+ if (isExist) {
+ uni.$u.toast('璇ョ墿鏂欏凡瀛樺湪')
+ } else {
+ let obj = JSON.parse(JSON.stringify(materail))
+ obj.newId = item.id
+ this.outboundList.push(obj)
+ console.log(this.outboundList);
}
- }
- }
- }
-</script>
-
-<style lang="scss">
- .page_dck {
- .page_dck_title {
- display: flex;
- align-items: center;
-
- .page_dck_title_x {
- width: 8rpx;
- height: 30rpx;
- background: #4275FC;
- border-radius: 2rpx;
- margin-right: 16rpx;
- }
-
- span {
- font-size: 32rpx;
- font-weight: 500;
- color: #222222;
- }
- }
- }
-
- .page_content {
- margin-top: 36rpx;
-
- .page_content_title {
- display: flex;
- flex-direction: column;
- margin-bottom: 10rpx;
-
- .page_content_title_top {
- display: flex;
- align-items: center;
- justify-content: space-between;
-
- span {
- &:nth-child(1) {
- font-size: 30rpx;
- font-weight: 500;
- color: #222222;
- }
-
- &:nth-child(2) {
- flex-shrink: 0;
- font-size: 24rpx;
- font-weight: 400;
- color: #333333;
-
- span {
- font-size: 24rpx;
- color: $nav-color;
- }
- }
- }
- }
-
- .page_content_title_bottom {
- .green {
- color: $nav-stateColor7 !important;
-
- .black {
- color: black !important;
- }
- }
-
- .warning {
- color: $nav-stateColor5 !important;
-
- .black {
- color: black !important;
- }
- }
-
- .error {
- color: $nav-stateColor4 !important;
-
- .black {
- color: black !important;
- }
- }
-
- span {
- font-size: 24rpx;
- font-weight: 400;
- color: #666666;
- }
- }
- }
-
- .lineBorder {
- border: none !important;
- padding-bottom: 0 !important;
- margin-bottom: 24rpx;
- }
-
- .page_content_list {
- width: 100%;
- display: flex;
- align-items: center;
- flex-wrap: wrap;
-
- &:first-child {
- margin: 0;
- }
-
- &:last-child {
- border: none;
- }
-
- .page_content_list_nums {
- width: 30%;
- display: flex;
-
- .page_content_list_num_label {
- font-size: 26rpx;
- font-weight: 400;
- color: #666666;
- }
-
- .page_content_list_num_nr {
- font-size: 26rpx;
- font-weight: 400;
- color: #222222;
- }
- }
-
- .page_content_list_num {
- width: 70%;
- display: flex;
-
- .page_content_list_num_label {
- font-size: 26rpx;
- font-weight: 400;
- color: #666666;
- }
-
- .page_content_list_num_nr {
- font-size: 26rpx;
- font-weight: 400;
- color: #222222;
- }
- }
-
- .page_content_list_items {
- width: 30%;
- display: flex;
- margin-top: 24rpx;
-
- .page_content_list_item_label {
- font-size: 26rpx;
- font-weight: 400;
- color: #666666;
- flex-shrink: 0;
- }
-
- .page_content_list_item_nr {
- font-size: 26rpx;
- font-weight: 400;
- color: #222222;
- }
- }
-
- .page_content_list_item {
- width: 70%;
- display: flex;
-
- .page_content_list_item_label {
- font-size: 26rpx;
- font-weight: 400;
- color: #666666;
- flex-shrink: 0;
- }
-
- .page_content_list_item_nr {
- font-size: 26rpx;
- font-weight: 400;
- color: #222222;
- }
- }
- }
- }
-
- .page_h {
- height: 20rpx;
- }
-
- .page_yxwl {
- padding: 30rpx;
- background: #ffffff;
-
- .page_yxwl_title {
- display: flex;
- align-items: center;
- justify-content: space-between;
-
- .page_yxwl_title_x {
- width: 8rpx;
- height: 30rpx;
- background: #4275FC;
- border-radius: 2rpx;
- margin-right: 16rpx;
- }
-
- span {
- font-size: 32rpx;
- font-weight: 500;
- color: #222222;
- }
-
- .left {
- display: flex;
- align-items: center;
-
- .page_yxwl_title_x {
- width: 8rpx;
- height: 30rpx;
- background: #4275FC;
- border-radius: 2rpx;
- margin-right: 16rpx;
- }
-
- span {
- font-size: 32rpx;
- font-weight: 500;
- color: #222222;
- }
- }
-
- .right {
- display: flex;
- align-items: center;
-
- img {
- width: 28rpx;
- height: 28rpx;
- margin-right: 14rpx;
- }
-
- span {
- font-size: 26rpx;
- font-weight: 400;
- color: #222222;
- }
- }
- }
-
- .page_yxwl_list {
- display: flex;
- flex-direction: column;
- padding-bottom: 30rpx;
- border-bottom: 1rpx solid #ececec;
-
- &:last-child {
- margin-bottom: 0;
- border: none;
- }
-
- .page_yxwl_list_item {
- margin-top: 28rpx;
-
- .page_yxwl_list_item_top {
- display: flex;
- align-items: center;
- justify-content: space-between;
-
- .page_yxwl_list_item_top_left {
- font-size: 30rpx;
- font-weight: 500;
- color: #222222;
- }
- }
-
- .page_yxwl_list_item_sx {
- display: flex;
- align-items: center;
- margin-top: 15rpx;
- }
-
- .page_yxwl_list_item_num {
- display: flex;
- position: relative;
- margin-top: 36rpx;
-
- &:first-child {
- margin-top: 0;
- }
-
- .dele {
- position: absolute;
- right: -30rpx;
- width: 48rpx;
- height: 48rpx;
-
- img {
- width: 100%;
- height: 100%;
- }
- }
-
- .item {
- width: 50%;
- display: flex;
- align-items: center;
-
- .label {
- flex-shrink: 0;
- font-size: 26rpx;
- font-weight: 400;
- color: #666666;
- flex-shrink: 0;
- }
-
- .nr {
- flex: 1;
- display: flex;
- align-items: center;
-
- input {
- width: 130rpx;
- height: 40rpx;
- border-radius: 8rpx;
- border: 1rpx solid #E5E5E5;
- margin-right: 10rpx;
- }
-
- span {
- font-size: 26rpx;
- font-weight: 400;
- color: #222222;
- }
- }
- }
- }
- }
- }
-
- .page_yxwl_kong {
- padding: 50rpx 0;
- font-size: 25rpx;
- display: flex;
- align-items: center;
- justify-content: center;
- }
- }
-
- .page_zw {
- height: 160rpx;
- }
-
- .page_footer {
- width: calc(100% - 60rpx);
- background: #F7F7F7;
- display: flex;
- align-items: center;
- justify-content: space-between;
- position: fixed;
- bottom: 0;
- left: 30rpx;
- padding-bottom: 68rpx;
- z-index: 9999;
- .page_footer_qr {
- flex: 1;
- height: 88rpx;
- background: #fff;
- box-shadow: 0 0 12rpx 0 rgba(0, 0, 0, 0.08);
- border-radius: 8rpx;
- font-size: 32rpx;
- font-weight: 500;
- color: $nav-color;
- display: flex;
- align-items: center;
- justify-content: center;
-
- img {
- width: 30rpx;
- height: 30rpx;
- margin-right: 12rpx;
- }
- }
-
- .page_footer_ck {
- flex: 1;
- height: 88rpx;
- background: $nav-color;
- box-shadow: 0 0 12rpx 0 rgba(0, 0, 0, 0.08);
- border-radius: 8rpx;
- font-size: 32rpx;
- font-weight: 500;
- color: #FFFFFF;
- display: flex;
- align-items: center;
- justify-content: center;
- }
- }
+ },
+ dele(index) {
+ this.outboundList.splice(index, 1)
+ },
+ submit() {
+ if (this.type == QRCodeType.ZKD) {
+ if (this.outboundList.length > 0) {
+ let result = this.outboundList.reduce((a, b) => {
+ if (a[b.newId]) {
+ a[b.newId].push(b);
+ } else {
+ a[b.newId] = [b];
+ }
+ return a;
+ }, {});
+ let tempList = this.warehouseList[0].wtransferDetailList
+ for (let i = 0; i < tempList.length; i++) {
+ let item = tempList[i]
+ for (let a in result) {
+ if (item.id == a) {
+ let total = 0
+ for (let b = 0; b < result[a].length; b++) {
+ total = Number(total) + Number(result[a][b].num)
+ }
+ if (!total || total <= 0) {
+ uni.$u.toast('鍑哄簱鐗╂枡鏁伴噺蹇呴』澶т簬0')
+ return
+ }
+ console.log(total, item.outPlannum);
+ if (total > item.outPlannum) {
+ uni.$u.toast('鍑哄簱鏁伴噺涓嶈兘澶т簬寰呭嚭搴撴暟閲�')
+ return
+ }
+ }
+ }
+ }
+ let submitTransferOutDetailDTOList = []
+ this.outboundList.forEach(item => {
+ tempList.forEach(child => {
+ if (item.newId == child.id) {
+ submitTransferOutDetailDTOList.push({
+ outNum: item.num,
+ wstockId: item.id,
+ wtransferDetailId: child.id
+ })
+ }
+ })
+ })
+ transferToOutNew({
+ submitTransferOutDetailDTOList,
+ wtransferId: this.id
+ }).then(res => {
+ if (res.code === 200) {
+ this.$store.dispatch('getUpcomingNum')
+ uni.$u.toast('鎿嶄綔鎴愬姛')
+ uni.$emit('success')
+ uni.redirectTo({
+ url: `/pages_adjust/pages/warehousingDetails/warehousingDetails?id=${this.id}&dbid=${this.dbid}`
+ })
+ // setTimeout(() => {
+ // router.replace({ name: 'wTransferDetail', query: { id: info.value.wtransfer.id, dbid: route.query.dbid } })
+ // }, 2000)
+ }
+ })
+ } else {
+ uni.$u.toast('璇烽�夋嫨鍑哄簱鐗╂枡')
+ }
+ } else if (this.type === QRCodeType.CKD) {
+ wOutBoundForUpload({
+ id: this.id,
+ wOutboundType: 0
+ }).then(res => {
+ if (res.code === 200) {
+ this.$store.dispatch('getUpcomingNum')
+ uni.$u.toast('鎿嶄綔鎴愬姛')
+ uni.$emit('success')
+ uni.redirectTo({
+ url: `/pages_adjust/pages/outboundDetails/outboundDetails?id=${this.id}`
+ })
+ // setTimeout(() => {
+ // // router.go(-1)
+ // router.replace({ name: 'wOutboundDetail', query: { id: info.value.wtransfer.id } })
+ // }, 2000)
+ }
+ })
+ }
+ }
+ }
+ }
+</script>
+
+<style lang="scss">
+ .page_dck {
+ .page_dck_title {
+ display: flex;
+ align-items: center;
+
+ .page_dck_title_x {
+ width: 8rpx;
+ height: 30rpx;
+ background: #4275FC;
+ border-radius: 2rpx;
+ margin-right: 16rpx;
+ }
+
+ span {
+ font-size: 32rpx;
+ font-weight: 500;
+ color: #222222;
+ }
+ }
+ }
+
+ .page_content {
+ margin-top: 36rpx;
+
+ .page_content_title {
+ display: flex;
+ flex-direction: column;
+ margin-bottom: 10rpx;
+
+ .page_content_title_top {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+
+ span {
+ &:nth-child(1) {
+ font-size: 30rpx;
+ font-weight: 500;
+ color: #222222;
+ }
+
+ &:nth-child(2) {
+ flex-shrink: 0;
+ font-size: 24rpx;
+ font-weight: 400;
+ color: #333333;
+
+ span {
+ font-size: 24rpx;
+ color: $nav-color;
+ }
+ }
+ }
+ }
+
+ .page_content_title_bottom {
+ .green {
+ color: $nav-stateColor7 !important;
+
+ .black {
+ color: black !important;
+ }
+ }
+
+ .warning {
+ color: $nav-stateColor5 !important;
+
+ .black {
+ color: black !important;
+ }
+ }
+
+ .error {
+ color: $nav-stateColor4 !important;
+
+ .black {
+ color: black !important;
+ }
+ }
+
+ span {
+ font-size: 24rpx;
+ font-weight: 400;
+ color: #666666;
+ }
+ }
+ }
+
+ .lineBorder {
+ border: none !important;
+ padding-bottom: 0 !important;
+ margin-bottom: 24rpx;
+ }
+
+ .page_content_list {
+ width: 100%;
+ display: flex;
+ align-items: center;
+ flex-wrap: wrap;
+
+ &:first-child {
+ margin: 0;
+ }
+
+ &:last-child {
+ border: none;
+ }
+
+ .page_content_list_nums {
+ width: 30%;
+ display: flex;
+
+ .page_content_list_num_label {
+ font-size: 26rpx;
+ font-weight: 400;
+ color: #666666;
+ }
+
+ .page_content_list_num_nr {
+ font-size: 26rpx;
+ font-weight: 400;
+ color: #222222;
+ }
+ }
+
+ .page_content_list_num {
+ width: 70%;
+ display: flex;
+
+ .page_content_list_num_label {
+ font-size: 26rpx;
+ font-weight: 400;
+ color: #666666;
+ }
+
+ .page_content_list_num_nr {
+ font-size: 26rpx;
+ font-weight: 400;
+ color: #222222;
+ }
+ }
+
+ .page_content_list_items {
+ width: 30%;
+ display: flex;
+ margin-top: 24rpx;
+
+ .page_content_list_item_label {
+ font-size: 26rpx;
+ font-weight: 400;
+ color: #666666;
+ flex-shrink: 0;
+ }
+
+ .page_content_list_item_nr {
+ font-size: 26rpx;
+ font-weight: 400;
+ color: #222222;
+ }
+ }
+
+ .page_content_list_item {
+ width: 70%;
+ display: flex;
+
+ .page_content_list_item_label {
+ font-size: 26rpx;
+ font-weight: 400;
+ color: #666666;
+ flex-shrink: 0;
+ }
+
+ .page_content_list_item_nr {
+ font-size: 26rpx;
+ font-weight: 400;
+ color: #222222;
+ }
+ }
+ }
+ }
+
+ .page_h {
+ height: 20rpx;
+ }
+
+ .page_yxwl {
+ padding: 30rpx;
+ background: #ffffff;
+
+ .page_yxwl_title {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+
+ .page_yxwl_title_x {
+ width: 8rpx;
+ height: 30rpx;
+ background: #4275FC;
+ border-radius: 2rpx;
+ margin-right: 16rpx;
+ }
+
+ span {
+ font-size: 32rpx;
+ font-weight: 500;
+ color: #222222;
+ }
+
+ .left {
+ display: flex;
+ align-items: center;
+
+ .page_yxwl_title_x {
+ width: 8rpx;
+ height: 30rpx;
+ background: #4275FC;
+ border-radius: 2rpx;
+ margin-right: 16rpx;
+ }
+
+ span {
+ font-size: 32rpx;
+ font-weight: 500;
+ color: #222222;
+ }
+ }
+
+ .right {
+ display: flex;
+ align-items: center;
+
+ img {
+ width: 28rpx;
+ height: 28rpx;
+ margin-right: 14rpx;
+ }
+
+ span {
+ font-size: 26rpx;
+ font-weight: 400;
+ color: #222222;
+ }
+ }
+ }
+
+ .page_yxwl_list {
+ display: flex;
+ flex-direction: column;
+ padding-bottom: 30rpx;
+ border-bottom: 1rpx solid #ececec;
+
+ &:last-child {
+ margin-bottom: 0;
+ border: none;
+ }
+
+ .page_yxwl_list_item {
+ margin-top: 28rpx;
+
+ .page_yxwl_list_item_top {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+
+ .page_yxwl_list_item_top_left {
+ font-size: 30rpx;
+ font-weight: 500;
+ color: #222222;
+ }
+ }
+
+ .page_yxwl_list_item_sx {
+ display: flex;
+ align-items: center;
+ margin-top: 15rpx;
+ font-size: 24rpx;
+ }
+
+ .page_yxwl_list_item_num {
+ display: flex;
+ position: relative;
+ margin-top: 36rpx;
+
+ &:first-child {
+ margin-top: 0;
+ }
+
+ .dele {
+ position: absolute;
+ right: -30rpx;
+ width: 48rpx;
+ height: 48rpx;
+
+ img {
+ width: 100%;
+ height: 100%;
+ }
+ }
+
+ .item {
+ width: 50%;
+ display: flex;
+ align-items: center;
+
+ .label {
+ flex-shrink: 0;
+ font-size: 26rpx;
+ font-weight: 400;
+ color: #666666;
+ flex-shrink: 0;
+ }
+
+ .nr {
+ flex: 1;
+ display: flex;
+ align-items: center;
+
+ input {
+ width: 130rpx;
+ height: 40rpx;
+ border-radius: 8rpx;
+ border: 1rpx solid #E5E5E5;
+ margin-right: 10rpx;
+ }
+
+ span {
+ font-size: 26rpx;
+ font-weight: 400;
+ color: #222222;
+ }
+ }
+ }
+ }
+ }
+ }
+
+ .page_yxwl_kong {
+ padding: 50rpx 0;
+ font-size: 25rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ }
+ }
+
+ .page_zw {
+ height: 160rpx;
+ }
+
+ .page_footer {
+ width: calc(100% - 60rpx);
+ background: #F7F7F7;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ position: fixed;
+ bottom: 0;
+ left: 30rpx;
+ padding-bottom: 68rpx;
+ z-index: 9999;
+
+ .page_footer_qr {
+ flex: 1;
+ height: 88rpx;
+ background: #fff;
+ box-shadow: 0 0 12rpx 0 rgba(0, 0, 0, 0.08);
+ border-radius: 8rpx;
+ font-size: 32rpx;
+ font-weight: 500;
+ color: $nav-color;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+
+ img {
+ width: 30rpx;
+ height: 30rpx;
+ margin-right: 12rpx;
+ }
+ }
+
+ .page_footer_ck {
+ flex: 1;
+ height: 88rpx;
+ background: $nav-color;
+ box-shadow: 0 0 12rpx 0 rgba(0, 0, 0, 0.08);
+ border-radius: 8rpx;
+ font-size: 32rpx;
+ font-weight: 500;
+ color: #FFFFFF;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ }
+ }
</style>
diff --git a/minipro_standard/uni.scss b/minipro_standard/uni.scss
index 3898ed6..5117f21 100644
--- a/minipro_standard/uni.scss
+++ b/minipro_standard/uni.scss
@@ -111,6 +111,7 @@
image {
display: block;
+
}
/* #endif */
diff --git a/minipro_standard/uni_modules/l-calendar/components/l-calendar/l-calendar.vue b/minipro_standard/uni_modules/l-calendar/components/l-calendar/l-calendar.vue
index 544c2bc..f5006a6 100644
--- a/minipro_standard/uni_modules/l-calendar/components/l-calendar/l-calendar.vue
+++ b/minipro_standard/uni_modules/l-calendar/components/l-calendar/l-calendar.vue
@@ -691,7 +691,7 @@
justify-content: center;
flex-direction: column;
background-color: #fff;
- padding: 0 42rpx env(safe-area-inset-bottom);
+ padding: 0 42rpx calc(env(safe-area-inset-bottom) + 20rpx);
box-sizing: border-box;
font-size: 24rpx;
color: #666;
@@ -703,7 +703,7 @@
.calendar-btn {
width: 100%;
-
+
button {
background-color: #305ED5;
color: #fff;
diff --git a/platform_web/src/components/system/role/OperaRoleWindow.vue b/platform_web/src/components/system/role/OperaRoleWindow.vue
index 38bdf40..f9ae236 100644
--- a/platform_web/src/components/system/role/OperaRoleWindow.vue
+++ b/platform_web/src/components/system/role/OperaRoleWindow.vue
@@ -68,7 +68,7 @@
for (const key in this.form) {
this.form[key] = target[key]
}
- this.type = type
+ this.form.type = type
})
},
confirm () {
diff --git a/platform_web/src/views/system/role.vue b/platform_web/src/views/system/role.vue
index 91d014e..1a1c305 100644
--- a/platform_web/src/views/system/role.vue
+++ b/platform_web/src/views/system/role.vue
@@ -16,7 +16,7 @@
<!-- 琛ㄦ牸鍜屽垎椤� -->
<template v-slot:table-wrap>
<ul class="toolbar" v-permissions="['system:role:create', 'system:role:delete']">
- <li v-permissions="['system:role:create']"><el-button type="primary" @click="$refs.operaRoleWindow.open('鏂板缓瑙掕壊', null, 1)" icon="el-icon-plus">鏂板缓</el-button></li>
+ <li v-permissions="['system:role:create']"><el-button type="primary" @click="$refs.operaRoleWindow.open('鏂板缓瑙掕壊', null, 0)" icon="el-icon-plus">鏂板缓</el-button></li>
<li v-permissions="['system:role:delete']"><el-button @click="deleteByIdInBatch" icon="el-icon-delete">鍒犻櫎</el-button></li>
</ul>
<el-table
@@ -48,9 +48,9 @@
fixed="right"
>
<template v-if="isAdmin || (row.code !== adminCode && userInfo.roles.findIndex(code => code === row.code) === -1)" slot-scope="{row}">
- <el-button type="text" @click="$refs.operaRoleWindow.open('缂栬緫瑙掕壊', row, 1)" v-permissions="['system:role:update']">缂栬緫</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 type="text" @click="$refs.operaRoleWindow.open('缂栬緫瑙掕壊', row, 0)" v-permissions="['system:role:update']">缂栬緫</el-button>
+ <el-button type="text" @click="$refs.permissionConfigWindow.open(row, 0)" v-permissions="['system:role:createRolePermission']">閰嶇疆鏉冮檺</el-button>
+ <el-button type="text" @click="$refs.menuConfigWindow.open('鎺堟潈鑿滃崟', row, 0)" icon="el-icon-menu" v-permissions="['system:role:createRoleMenu']">鎺堟潈鑿滃崟</el-button>
<el-button v-if="!row.fixed" type="text" style="color: red" @click="deleteById(row)" v-permissions="['system:role:delete']">鍒犻櫎</el-button>
</template>
--
Gitblit v1.9.3