投料bug修复,页面样式调整

main
sunshine 2 years ago
parent a6c783b127
commit 1baaf3556b

@ -1,12 +1,24 @@
<template> <template>
<view class="container"> <view>
<u-sticky
<view class="example"> class="sticky"
<uni-forms ref="customForm" :rules="customRules" labelWidth="60px" :modelValue="formData"> :custom-nav-height="0"
<uni-forms-item label="制浆线" required name="feedingPipeline"> >
<u-navbar
title="新增投料记录"
bg-color="transparent"
:auto-back="true"
:title-style="{ fontWeight: 'bold' }"
safe-area-inset-top
placeholder
/>
</u-sticky>
<view class="container">
<uni-forms ref="customForm" :rules="customRules" labelWidth="80px" :modelValue="formData">
<uni-forms-item label="制浆线" required name="feedingPipeline" class="u-flex align-center">
<uni-data-checkbox v-model="formData.feedingPipeline" :localdata="pipelineTypes()" /> <uni-data-checkbox v-model="formData.feedingPipeline" :localdata="pipelineTypes()" />
</uni-forms-item> </uni-forms-item>
<uni-forms-item label="投料类型" required name="feedingType"> <uni-forms-item label="投料类型" required name="feedingType" class="u-flex align-center">
<uni-data-checkbox v-model="formData.feedingType" :localdata="feedingTypes()" @change="handleTypeChange"/> <uni-data-checkbox v-model="formData.feedingType" :localdata="feedingTypes()" @change="handleTypeChange"/>
</uni-forms-item> </uni-forms-item>
<uni-forms-item v-if="formData.feedingType==='wet' || formData.feedingType==='dry'" label="重量/kg" name="weight"> <uni-forms-item v-if="formData.feedingType==='wet' || formData.feedingType==='dry'" label="重量/kg" name="weight">
@ -20,12 +32,12 @@
<template v-slot:title> <template v-slot:title>
<view class="uni-group-title"> <view class="uni-group-title">
<uni-row> <uni-row>
<uni-col :span="18"> <uni-col :span="22">
<uni-forms-item label="原料" required name="itemId"> <uni-forms-item label="原料" required name="itemId">
<uni-data-select placement="top" v-model="formData.feedingRecordDetails[index].itemId" :localdata="itemList"></uni-data-select> <uni-data-select placement="top" v-model="formData.feedingRecordDetails[index].itemId" :localdata="itemList"></uni-data-select>
</uni-forms-item> </uni-forms-item>
</uni-col> </uni-col>
<uni-col :span="6" 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-icons type="trash" size="25" color="red" @click="del(item.id)"></uni-icons>
</uni-col> </uni-col>
</uni-row> </uni-row>
@ -37,15 +49,17 @@
<uni-forms-item label="数量" required name="weight"> <uni-forms-item label="数量" required name="weight">
<uni-easyinput type="number" v-model="formData.feedingRecordDetails[index].weight"/> <uni-easyinput type="number" v-model="formData.feedingRecordDetails[index].weight"/>
</uni-forms-item> </uni-forms-item>
</uni-group> </uni-group>
</uni-forms> </uni-forms>
<view class="button-group"> <view class="u-flex justify-end">
<button v-if="formData.feedingType==='org'" type="primary" size="mini" @click="add"> <view class="u-flex u-m-t-30">
<uni-icons type="plus" size="15"></uni-icons> <u-button v-if="formData.feedingType==='org'" type="primary" @click="add" class="u-m-r-30">
添加原料 <uni-icons type="plus" class="u-m-r-10"/> 添加原料
</button> </u-button>
<button type="primary" size="mini" @click="submit('customForm')"></button> <u-button type="success" @click="submit('customForm')">
<uni-icons type="checkbox" class="u-m-r-10"/>保存
</u-button>
</view>
</view> </view>
</view> </view>
</view> </view>
@ -162,8 +176,14 @@ export default {
} }
</script> </script>
<style lang="scss"> <style lang="scss" scoped>
.example { .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; padding: 15px;
background-color: #fff; background-color: #fff;
} }
@ -182,7 +202,21 @@ export default {
margin-left: 10px; margin-left: 10px;
} }
.uni-group-title{ .uni-group-title{
padding-top: 5px; height: 55px;
background-color: #f4c7c7; padding: 10px;
background: linear-gradient(180deg, #d4e9ff 0%, #f3f9ff 100%);
} }
.uni-group--card {
margin :0
}
.uniui-plus:before{
color: #ffffff
}
.uniui-checkbox:before{
color: #ffffff
}
.u-button {
height: 35px;
width: auto;
}
</style> </style>

@ -102,7 +102,7 @@
{ {
"path": "feedingRecordForm", "path": "feedingRecordForm",
"style": { "style": {
"navigationBarTitleText": "新增投料记录" "navigationStyle": "custom"
} }
} }
] ]

@ -13,94 +13,149 @@
safe-area-inset-top safe-area-inset-top
placeholder placeholder
/> />
<u-tabs
:list="menuList"
:current="current"
key-name="name"
:scrollable="false"
:active-style="{
color: '#0E85FF',
}"
@change="change"
/>
</u-sticky> </u-sticky>
<uni-notice-bar show-icon scrollable <uni-notice-bar show-icon scrollable
text="安全生产!有序生产!高效生产!" /> text="安全生产!有序生产!高效生产!" />
<!-- 已提交--> <!-- 已提交-->
<uni-section title="已提交" type="line" title-color="#18bc37"></uni-section> <view v-if="current === 0" class="container" >
<el-collapse accordion> <u-list>
<el-collapse-item v-for="(item, index) in finishList" :name="item.id" @click="handleFinishClick(item.id,index)"> <u-list-item
<template #title> v-for="(item, index) in finishList"
<el-icon><Tickets /></el-icon> :key="item"
<el-text type="success">{{timestampToTime(item.feedingTime)}}</el-text>&nbsp;/&nbsp; @click="handleFinishClick(item.id,index)"
<el-text type="warning">{{ findTextByValue(pipelineTypes, item.feedingPipeline)}}</el-text>&nbsp;/&nbsp; >
<el-text type="info">{{findTextByValue(feedingTypes, item.feedingType) }}</el-text> <view class="content">
</template> <view class="header">
<el-text size="large">{{item.feedingRecordCode}}</el-text> <view class="title">
<el-row> <u-image
<el-col :span="8">记录人: src="@/static/images/icon/product.png"
<el-text type="success">{{ item.userName }}</el-text> width="40rpx"
</el-col> height="40rpx"
<el-col :span="8" v-if="item.feedingType !=='org'">/kg: />
<el-text>{{ item.weight }} </el-text> <el-text type="success" class="u-m-l-10">
</el-col> {{ timestampToTime(item.feedingTime) }}
</el-row> </el-text>
<el-row v-for="(item2, index2) in finishList[index].detailList"> </view>
<el-col :span="8">原料: <el-text type="warning">{{ findTextByValue(pipelineTypes, item.feedingPipeline)}}</el-text>
<el-text type="warning">{{item2.itemName}}</el-text> <el-text type="info">{{findTextByValue(feedingTypes, item.feedingType) }}</el-text>
</el-col> </view>
<el-col :span="8">数量: <view class="u-m-t-30"><el-text size="large">{{item.feedingRecordCode}}</el-text></view>
<el-text type="success">{{ item2.weight }}</el-text> <el-row class="u-m-t-30 u-m-b-30">
</el-col> <el-col :span="8">记录人:
<el-col :span="8">单位: <el-text type="success">{{ item.userName }}</el-text>
<el-text>{{item2.unitName }} </el-text> </el-col>
</el-col> <el-col :span="8" v-if="item.feedingType !=='org'">/kg:
</el-row> <el-text>{{ item.weight }} </el-text>
</el-collapse-item> </el-col>
</el-collapse> </el-row>
<el-row v-for="(item2, index2) in handleFinishClick(item.id,index)" :key="index2" class="u-m-b-30">
<el-col :span="8">原料:
<el-text type="warning">{{item2.itemName}}</el-text>
</el-col>
<el-col :span="8">数量:
<el-text type="success">{{ item2.weight }}</el-text>
</el-col>
<el-col :span="8">单位:
<el-text>{{item2.unitName }} </el-text>
</el-col>
</el-row>
</view>
</u-list-item>
</u-list>
</view>
<!-- 草稿状态--> <!-- 草稿状态-->
<uni-section title="草稿" type="line" title-color="#f3a73f"></uni-section> <view v-if="current === 1" class="container" >
<el-collapse accordion> <u-list>
<el-collapse-item v-for="(item, index) in draftList" :name="item.id" @click="handleDraftClick(item.id,index)"> <u-list-item
<template #title> v-for="(item, index) in draftList"
<el-icon><Tickets /></el-icon> :key="item"
<el-text type="success">{{timestampToTime(item.feedingTime)}}</el-text>&nbsp;/&nbsp; >
<el-text type="warning">{{ findTextByValue(pipelineTypes, item.feedingPipeline)}}</el-text>&nbsp;/&nbsp; <view class="content">
<el-text type="info">{{findTextByValue(feedingTypes, item.feedingType) }}</el-text> <view class="header">
</template> <view class="title">
<el-text size="large">{{item.feedingRecordCode}}</el-text> <u-image
<el-row> src="@/static/images/icon/product.png"
<el-col :span="8">记录人: width="40rpx"
<el-text type="success">{{ item.userName }}</el-text> height="40rpx"
</el-col> />
<el-col :span="4" v-if="item.feedingType !=='org'">/kg: <el-text type="success" class="u-m-l-10">
<el-text>{{ item.weight }} </el-text> {{ timestampToTime(item.feedingTime) }}
</el-col> </el-text>
<el-col :span="3"> </view>
<el-button type="info" @click="handleUpdate(item.id)"></el-button> <el-text type="warning">{{ findTextByValue(pipelineTypes, item.feedingPipeline)}}</el-text>
</el-col> <el-text type="info">{{findTextByValue(feedingTypes, item.feedingType) }}</el-text>
<el-col :span="3"> </view>
<el-button type="danger" @click="handleDelete(item.id)"></el-button> <view class="u-m-t-30"><el-text size="large">{{item.feedingRecordCode}}</el-text></view>
</el-col> <el-row class="u-m-t-30 u-m-b-30">
</el-row> <el-col :span="8">记录人:
<el-row v-for="(item2, index2) in draftList[index].detailList"> <el-text type="success">{{ item.userName }}</el-text>
<el-col :span="8">原料: </el-col>
<el-text type="warning">{{item2.itemName}}</el-text> <el-col :span="8" v-if="item.feedingType !=='org'">/kg:
</el-col> <el-text>{{ item.weight }} </el-text>
<el-col :span="8">数量: </el-col>
<el-text type="success">{{ item2.weight }}</el-text> </el-row>
</el-col> <el-row v-for="(item2, index2) in handleDraftClick(item.id,index)" :key="index2" class="u-m-b-30">
<el-col :span="8">单位: <el-col :span="8">原料:
<el-text>{{item2.unitName }} </el-text> <el-text type="warning">{{item2.itemName}}</el-text>
</el-col> </el-col>
</el-row> <el-col :span="8">数量:
</el-collapse-item> <el-text type="success">{{ item2.weight }}</el-text>
</el-collapse> </el-col>
<el-col :span="8">单位:
<el-text>{{item2.unitName }} </el-text>
</el-col>
</el-row>
</view>
</u-list-item>
</u-list>
<view class="u-m-t-30 u-m-b-30"><u-line/></view>
<view class="u-flex justify-end">
<el-col :span="4" class="u-m-r-30">
<u-button type="info" @click="handleUpdate(item.id)"></u-button>
</el-col>
<el-col :span="4">
<u-button type="error" @click="handleDelete(item.id)"></u-button>
</el-col>
</view>
</view>
<uni-fab v-if="auth.hasPermi('mes:feeding-record:create')" ref="fab" :pattern="pattern" @fabClick="handleAdd" /> <uni-fab v-if="auth.hasPermi('mes:feeding-record:create')" ref="fab" :pattern="pattern" @fabClick="handleAdd" />
</view> </view>
</template> </template>
<script setup> <script setup>
import {ref, onMounted} from 'vue'; import { ref, onMounted } from 'vue';
import {getRecordList, updateStatus, deleteById, getDetailByRecordId} from "@/api/mes/record" import { getRecordList, updateStatus, deleteById, getDetailByRecordId } from "@/api/mes/record"
import {timestampToTime,timestampToDateTime} from "@/utils/dateUtil"; import { timestampToTime } from "@/utils/dateUtil";
import { pipelineTypes,feedingTypes, findTextByValue} from "@/api/system/dict/data"; import { pipelineTypes,feedingTypes, findTextByValue} from "@/api/system/dict/data";
import {Tickets} from "@element-plus/icons-vue";
import modal from "@/plugins/modal"; import modal from "@/plugins/modal";
import tab from "@/plugins/tab"; import tab from "@/plugins/tab";
import {showConfirm} from "@/utils/common"; import {showConfirm} from "@/utils/common";
import auth from "@/plugins/auth"; import auth from "@/plugins/auth";
const menuList = ref([
{
name: '已提交'
},
{
name: '草稿'
}
])
const current = ref(0)
const change = (index)=>{
current.value = index.index
}
// //
const finishList = ref([]); const finishList = ref([]);
//稿 //稿
@ -129,11 +184,13 @@ function handleFinishClick(id, index){
getDetailByRecordId(id).then(response => { getDetailByRecordId(id).then(response => {
finishList.value[index].detailList = response.data finishList.value[index].detailList = response.data
}) })
return finishList.value[index].detailList
} }
function handleDraftClick(id, index){ function handleDraftClick(id, index){
getDetailByRecordId(id).then(response => { getDetailByRecordId(id).then(response => {
draftList.value[index].detailList = response.data draftList.value[index].detailList = response.data
}) })
return draftList.value[index].detailList
} }
/** 提交 */ /** 提交 */
function handleUpdate(id){ function handleUpdate(id){
@ -164,11 +221,30 @@ function handleAdd(){
} }
</script> </script>
<style scoped> <style scoped lang="scss">
.sticky { .sticky {
background: linear-gradient(180deg, #d4e9ff 0%, #f3f9ff 100%); background: linear-gradient(180deg, #d4e9ff 0%, #f3f9ff 100%);
backdrop-filter: blur(27.18px); backdrop-filter: blur(27.18px);
box-shadow: 0 1px 1px 0 rgba(0, 72, 145, 0.1), box-shadow: 0 1px 1px 0 rgba(0, 72, 145, 0.1),
0 0.5px 0 0 rgba(0, 0, 0, 0.1); 0 0.5px 0 0 rgba(0, 0, 0, 0.1);
} }
.container {
background-color: #f1f1f1;
padding: 0 20rpx 20rpx 20rpx;
.content {
margin: 20rpx 0;
padding: 20rpx;
background-color: #ffffff;
border-radius: 10rpx;
.header {
display: flex;
align-items: center;
justify-content: space-between;
.title {
display: flex;
align-items: center;
}
}
}
}
</style> </style>

Loading…
Cancel
Save