新增报工页面样式调整

main
sunshine 2 years ago
parent 1549c39821
commit d75dcb015c

@ -1,28 +1,41 @@
<template>
<view class="container">
<view class="example">
<view>
<u-sticky
class="sticky"
:custom-nav-height="0"
>
<u-navbar
title="代报工"
bg-color="transparent"
:title-style="{ fontWeight: 'bold' }"
:auto-back="true"
safe-area-inset-top
placeholder
/>
</u-sticky>
<view class="container">
<!-- 自定义表单校验 -->
<uni-forms ref="customForm" :rules="customRules" labelWidth="60px" :modelValue="customFormData">
<uni-forms-item required label="工人" name="userId">
<uni-data-select v-model="customFormData.userId" :localdata="userList" @change="handleUserChange" :disabled="disableEnable">
</uni-data-select>
</uni-forms-item>
<uni-forms-item label="工序" required name="orgType">
<uni-forms-item label="工序" required name="orgType" label-width="75px">
<uni-data-checkbox v-model="customFormData.orgType" :localdata="processTypes()" :disabled="disableEnable" @change="handleOrgTypeChange"/>
</uni-forms-item>
<uni-forms-item label="班别" required name="groupType">
<uni-forms-item label="班别" required name="groupType" label-width="75px">
<uni-data-checkbox v-model="customFormData.groupType" :localdata="groupTypes()" :disabled="disableEnable"/>
</uni-forms-item>
<uni-forms-item label="日期" required name="reportDateString">
<uni-forms-item label="日期" required name="reportDateString" label-width="75px">
<uni-datetime-picker v-model="customFormData.reportDateString" type="date" :clear-icon="true" @change="maskClick" :disabled="disableEnable"/>
</uni-forms-item>
<uni-forms-item v-if="customFormData.userId && customFormData.reportDateString" label="工位" required name="orgId">
<uni-data-select v-model="customFormData.orgId" :localdata="orgIdList" :disabled="disableEnable" ></uni-data-select>
</uni-forms-item>
<uni-forms-item label="计时时段" name="reportTime">
<uni-forms-item label="计时时段" name="reportTime" label-width="75px">
<uni-easyinput type="text" v-model="customFormData.reportTime" placeholder="如:8:00-12:00" />
</uni-forms-item>
<uni-forms-item label="总计时/h" required name="totalTime">
<uni-forms-item label="总计时/h" required name="totalTime" label-width="75px">
<uni-easyinput type="number" v-model="customFormData.totalTime" placeholder="" />
</uni-forms-item>
<uni-group title="card 模式" mode="card" v-for="(item,index) in customFormData.produceReportDetails" :key="item.id"
@ -30,19 +43,19 @@
<template v-slot:title>
<view class="uni-group-title">
<uni-row>
<uni-col :span="20">
<uni-forms-item label="产品" required name="planId">
<uni-col :span="22">
<uni-forms-item label="产品" required name="planId" label-width="50px">
<uni-data-select v-model="customFormData.produceReportDetails[index].planId" :localdata="planProductList" @change="handleProductChange"></uni-data-select>
</uni-forms-item>
</uni-col>
<uni-col :span="4" align="center">
<uni-col :span="2" class="u-p-t-10">
<uni-icons type="trash" size="25" color="red" @click="del(item.id)"></uni-icons>
</uni-col>
</uni-row>
</view>
</template>
<uni-row>
<uni-col :span="12">
<uni-col :span="12" class="u-p-r-20">
<uni-forms-item label="成品数" required name="qualityNumber">
<uni-easyinput type="number" v-model="customFormData.produceReportDetails[index].qualityNumber" @change="changeNumber(item.id)"/>
</uni-forms-item>
@ -54,7 +67,7 @@
</uni-col>
</uni-row>
<uni-row>
<uni-col :span="12">
<uni-col :span="12" class="u-p-r-20">
<uni-forms-item label="总数" name="totalNumber">
<uni-easyinput disabled v-model="customFormData.produceReportDetails[index].totalNumber" placeholder="" />
</uni-forms-item>
@ -66,8 +79,8 @@
</uni-col>
</uni-row>
<uni-row>
<uni-col :span="12">
<uni-forms-item label="打包数" name="packageNumber">
<uni-col :span="12" class="u-p-r-20">
<uni-forms-item label="打包数" name="packageNumber" >
<uni-easyinput type="number" v-model="customFormData.produceReportDetails[index].packageNumber" />
</uni-forms-item>
</uni-col>
@ -79,12 +92,15 @@
</uni-row>
</uni-group>
</uni-forms>
<view class="button-group">
<button type="primary" size="mini" @click="add">
<uni-icons type="plus" size="15"></uni-icons>
新增产品
</button>
<button type="primary" size="mini" @click="submit('customForm')"></button>
<view class="u-flex justify-end">
<view class="u-flex u-m-t-30">
<u-button type="primary" @click="add" class="u-m-r-30">
<uni-icons type="plus" class="u-m-r-10"/>新增产品
</u-button>
<u-button type="success" @click="submit('customForm')">
<uni-icons type="checkbox" class="u-m-r-10"/>保存
</u-button>
</view>
</view>
</view>
</view>
@ -138,8 +154,6 @@ export default {
produceReportDetails: {rules: [
{format: 'array', errorMessage: '产品列表格式错误'},
{validateFunction: function(rule, value, data, callback) {
console.log('value:'+value)
console.log('data:'+data)
if (value.length < 2) {
callback('产品信息不能为空')
}
@ -160,7 +174,6 @@ export default {
onLoad() {
this.getUserList()
this.updateId = tab.getParams()
console.log(this.updateId)
if(this.updateId){
this.disableEnable = true
//
@ -225,7 +238,7 @@ export default {
})
}
}).catch(err => {
console.log('err', err);
})
},
maskClick(e){
@ -312,33 +325,42 @@ export default {
this.getPlanProductList()
},
handleProductChange(e){
console.log(e)
}
}
}
</script>
<style lang="scss">
.example {
padding: 15px;
background-color: #fff;
}
.button-group {
margin-top: 15px;
display: flex;
justify-content: space-around;
}
<style lang="scss" scoped>
.sticky {
background: linear-gradient(180deg, #d4e9ff 0%, #f3f9ff 100%);
backdrop-filter: blur(27.18px);
box-shadow: 0 1px 1px 0 rgba(0, 72, 145, 0.1),
0 0.5px 0 0 rgba(0, 0, 0, 0.1);
}
.container {
padding: 10px;
background-color: #fff;
}
.button {
display: flex;
align-items: center;
height: 35px;
line-height: 35px;
margin-left: 10px;
}
.uni-group-title{
padding-top: 5px;
background-color: #f4c7c7;
}
.uniui-plus:before{
color: #ffffff
}
.uniui-checkbox:before{
color: #ffffff
}
.u-button {
height: 35px;
width: auto;
}
.uni-group-title{
height: 55px;
padding: 10px;
background: linear-gradient(180deg, #d4e9ff 0%, #f3f9ff 100%);
}
.uni-group--card {
margin :0
}
.uni-group__content {
padding: 5px
}
</style>

@ -1,27 +1,40 @@
<template>
<view class="container">
<view>
<u-sticky
class="sticky"
:custom-nav-height="0"
>
<u-navbar
title="生产报工"
bg-color="transparent"
:title-style="{ fontWeight: 'bold' }"
:auto-back="true"
safe-area-inset-top
placeholder
/>
</u-sticky>
<uni-card :is-shadow="false" is-full>
<text class="uni-h6">如个人无法填报请寻找主管代为报工</text>
<el-text type="warning" class="uni-h6">如个人无法填报请寻找主管代为报工</el-text>
</uni-card>
<view class="example">
<view class="container">
<!-- 自定义表单校验 -->
<uni-forms ref="customForm" :rules="customRules" labelWidth="60px" :modelValue="customFormData">
<uni-forms ref="customForm" :rules="customRules" label-width="75px" :modelValue="customFormData">
<uni-forms-item label="工序" required name="orgType">
<uni-data-checkbox v-model="customFormData.orgType" :localdata="processTypes()" @change="handleOrgTypeChange" />
</uni-forms-item>
<uni-forms-item label="班别" required name="groupType">
<uni-forms-item label="班别" required name="groupType" label-width="75px">
<uni-data-checkbox v-model="customFormData.groupType" :localdata="groupTypes()" />
</uni-forms-item>
<uni-forms-item label="日期" required name="reportDateString">
<uni-forms-item label="日期" required name="reportDateString" label-width="75px">
<uni-datetime-picker v-model="customFormData.reportDateString" type="date" :clear-icon="true" @change="maskClick" />
</uni-forms-item>
<uni-forms-item label="工位" required name="orgId">
<uni-forms-item label="工位" required name="orgId" label-width="75px">
<uni-data-select v-model="customFormData.orgId" :localdata="orgIdList"></uni-data-select>
</uni-forms-item>
<uni-forms-item label="计时时段" name="reportTime">
<uni-forms-item label="计时时段" name="reportTime" label-width="75px">
<uni-easyinput type="text" v-model="customFormData.reportTime" placeholder="如:8:00-12:00" />
</uni-forms-item>
<uni-forms-item label="总计时/h" required name="totalTime">
<uni-forms-item label="总计时/h" required name="totalTime" label-width="75px">
<uni-easyinput type="number" v-model="customFormData.totalTime" placeholder="" />
</uni-forms-item>
<uni-group title="card 模式" mode="card" v-for="(item,index) in customFormData.produceReportDetails" :key="item.id"
@ -29,12 +42,12 @@
<template v-slot:title>
<view class="uni-group-title">
<uni-row>
<uni-col :span="20">
<uni-forms-item label="产品" required name="planId">
<uni-col :span="22">
<uni-forms-item label="产品" required name="planId" label-width="50px">
<uni-data-select v-model="customFormData.produceReportDetails[index].planId" :localdata="planProductList"></uni-data-select>
</uni-forms-item>
</uni-col>
<uni-col :span="4" align="center">
<uni-col :span="2" class="u-p-t-10">
<!-- <button class="button" size="mini" type="warn" @click="del(item.id)"></button>-->
<uni-icons type="trash" size="25" color="red" @click="del(item.id)"></uni-icons>
</uni-col>
@ -42,9 +55,9 @@
</view>
</template>
<uni-row>
<uni-col :span="12">
<uni-col :span="12" class="u-p-r-30">
<uni-forms-item label="成品数" required name="qualityNumber">
<uni-easyinput type="number" v-model="customFormData.produceReportDetails[index].qualityNumber" @change="changeNumber(item.id)"/>
<uni-easyinput type="number" v-model="customFormData.produceReportDetails[index].qualityNumber" @change="changeNumber(item.id)"/>
</uni-forms-item>
</uni-col>
<uni-col :span="12">
@ -54,7 +67,7 @@
</uni-col>
</uni-row>
<uni-row>
<uni-col :span="12">
<uni-col :span="12" class="u-p-r-30">
<uni-forms-item label="总数" name="totalNumber">
<uni-easyinput disabled v-model="customFormData.produceReportDetails[index].totalNumber" placeholder="" />
</uni-forms-item>
@ -66,7 +79,7 @@
</uni-col>
</uni-row>
<uni-row>
<uni-col :span="12">
<uni-col :span="12" class="u-p-r-30">
<uni-forms-item label="打包数" name="packageNumber">
<uni-easyinput type="number" v-model="customFormData.produceReportDetails[index].packageNumber" />
</uni-forms-item>
@ -79,12 +92,15 @@
</uni-row>
</uni-group>
</uni-forms>
<view class="button-group">
<button type="primary" size="mini" @click="add">
<uni-icons type="plus" size="15"></uni-icons>
新增产品
</button>
<button type="primary" size="mini" @click="submit('customForm')"></button>
<view class="u-flex justify-end">
<view class="u-flex u-m-t-30">
<u-button type="primary" @click="add" class="u-m-r-30">
<uni-icons type="plus" class="u-m-r-10"/>新增产品
</u-button>
<u-button type="success" @click="submit('customForm')">
<uni-icons type="checkbox" class="u-m-r-10"/>保存
</u-button>
</view>
</view>
</view>
</view>
@ -147,12 +163,10 @@ export default {
updateId: undefined
}
},
computed: {
},
onLoad() {
this.getOrgIdList()
// this.getPlanProductList()
this.updateId = tab.getParams()
this.updateId = tab.getParams();
if(this.updateId){
this.disableEnable = true
//
@ -184,7 +198,6 @@ export default {
submit(ref) {
if(this.customFormData.reportDateString.length<11)this.customFormData.reportDateString+=' 00:00:00';
this.customFormData.reportType = '个人';
console.log(this.customFormData);
this.$refs[ref].validate().then(res => {
var ok = 1;
if(this.customFormData.produceReportDetails && this.customFormData.produceReportDetails.length > 0) {
@ -220,7 +233,6 @@ export default {
})
}
}).catch(err => {
console.log('err', err);
})
},
maskClick(e){
@ -290,34 +302,40 @@ export default {
(Number(this.customFormData.produceReportDetails[index].qualityNumber)*100/Number(this.customFormData.produceReportDetails[index].totalNumber)).toFixed(2);
},
handleOrgTypeChange(e){
console.log(e)
this.getPlanProductList()
}
}
}
</script>
<style lang="scss">
.example {
padding: 15px;
background-color: #fff;
}
.button-group {
margin-top: 15px;
display: flex;
justify-content: space-around;
}
<style lang="scss" scoped>
.sticky {
background: linear-gradient(180deg, #d4e9ff 0%, #f3f9ff 100%);
backdrop-filter: blur(27.18px);
box-shadow: 0 1px 1px 0 rgba(0, 72, 145, 0.1),
0 0.5px 0 0 rgba(0, 0, 0, 0.1);
}
.container {
padding: 15px;
background-color: #fff;
}
.button {
display: flex;
align-items: center;
height: 35px;
line-height: 35px;
margin-left: 10px;
}
.uni-group-title{
padding-top: 5px;
background-color: #f4c7c7;
}
.uniui-plus:before{
color: #ffffff
}
.uniui-checkbox:before{
color: #ffffff
}
.u-button {
height: 35px;
width: auto;
}
.uni-group-title{
height: 55px;
padding: 10px;
background: linear-gradient(180deg, #d4e9ff 0%, #f3f9ff 100%);
}
.uni-group--card {
margin :0
}
</style>

@ -72,7 +72,7 @@
{
"path": "reportForm",
"style": {
"navigationBarTitleText": "生产报工"
"navigationStyle": "custom"
}
},
{
@ -84,7 +84,7 @@
{
"path": "replaceForm",
"style": {
"navigationBarTitleText": "代报工"
"navigationStyle": "custom"
}
}
,

@ -88,6 +88,10 @@ export default {
*
*/
getParams(): any {
return JSON.parse(_params)
if(_params) {
return JSON.parse(_params)
} else {
return undefined
}
}
}

Loading…
Cancel
Save