Browse Source

上传

master
前端-胡立永 3 months ago
parent
commit
7045f2288a
7 changed files with 414 additions and 89 deletions
  1. +7
    -0
      api/api.js
  2. +144
    -55
      pages_order/order/ModifyWorkOrder.vue
  3. +3
    -6
      pages_order/order/ProcessCardOne.vue
  4. +244
    -17
      pages_order/order/ProcessCardTo.vue
  5. +10
    -5
      pages_order/order/WorkOrders.vue
  6. +3
    -3
      uni_modules/uv-radio/components/uv-radio/props.js
  7. +3
    -3
      uni_modules/uv-radio/components/uv-radio/uv-radio.vue

+ 7
- 0
api/api.js View File

@ -59,6 +59,13 @@ const config = {
auth : true,
showLoading : true,
},
//工单信息-修改工单
updateTemplate: {
url: '/workorder/template/updateTemplate',
method: 'GET',
auth : true,
showLoading : true,
},
//工单信息-工序卡3详情
queryStepThree: {
url: '/workorder/template/queryStepThree',


+ 144
- 55
pages_order/order/ModifyWorkOrder.vue View File

@ -1,16 +1,21 @@
<template>
<!-- 工单详情 -->
<view class="page">
<navbar title="工单详情" leftClick @leftClick="$utils.navigateBack" />
<navbar
title="详情"
leftClick
@leftClick="$utils.navigateBack"
/>
<view class="Box">
<view class="work-box">
<view class="works">
任务号
</view>
<view class="index">
GY1269103AC0
{{detail.taskNo}}
</view>
</view>
<view class="work-box">
@ -18,15 +23,15 @@
担当信息
</view>
<view class="index">
李林珠-15197216688
{{detail.responsibler}}
</view>
</view>
<view class="work-box">
<view class="works">
机型信息
</view>
<view class="index">
BSZ24861768
<view class="inde">
{{detail.model}}
</view>
</view>
<view class="work-box">
@ -34,105 +39,189 @@
数量
</view>
<view class="index">
<uv-input placeholder="88" border="surround" v-model="value" @change="change"></uv-input>
<uv-number-box v-model="detail.number"></uv-number-box>
</view>
</view>
<view class="work-box">
<view class="works">
状态
</view>
<view class="index">
<uv-input placeholder="本体加工" border="surround" v-model="value" @change="change"></uv-input>
<view class="index"
@click="$refs.picker.open()">
<input type="text"
disabled
v-model="detail.statusDescribe"/>
</view>
</view>
<view class="work-boxx">
<view class="workss">
<view class="work-box">
<view class="works">
备注
</view>
<view class="indexx">
<uv-input placeholder="备料已完成,等待本体加工,进入下一步气密检测" border="surround"
v-model="value" @change="change"
color="#fff" ></uv-input>
<view class="index">
<input type="text" v-model="detail.remark"/>
</view>
</view>
<view class="work-box">
<view class="works">
是否加急
</view>
<view class="index">
<uv-radio-group v-model="detail.isEmergency">
<uv-radio
:customStyle="{margin: '8px'}"
v-for="(item, index) in radiolist"
:key="index"
:label="item.name"
:name="item.id">
</uv-radio>
</uv-radio-group>
</view>
</view>
</view>
<uv-picker ref="picker"
:columns="columns"
keyName="name"
@confirm="confirm"></uv-picker>
<view class="modify">
<view class="modi">
<view class="modi"
@click="submit">
保存
</view>
</view>
</view>
</template>
<script>
import { mapState } from 'vuex'
export default {
data() {
return {
value: ''
id : 0,
detail : {
},
radiolist : [
{
name : '不加急',
id : '0',
},
{
name : '加急',
id : '1',
},
],
}
},
methods: {
change(e) {
console.log('change', e);
onLoad(args) {
this.id = args.id
},
onShow() {
if(args.id){
this.querydetail()
}
},
computed : {
...mapState(['workDetail', 'statusList']),
columns(){
let list = JSON.parse(JSON.stringify(this.statusList))
list.splice(0, 1)
return [
list
]
},
},
methods: {
// id
querydetail(){
this.$api('queryTemplateById', {
templateId : this.id
}, res =>{
if(res.code == 200){
delete res.result.workorderStepList
this.detail = res.result
}
})
},
submit(){
let data = JSON.parse(JSON.stringify(this.detail))
delete data.updateBy
delete data.updateTime
delete data.createBy
delete data.createTime
this.$api('updateTemplate', data, res => {
if(res.code == 200){
uni.showToast({
title: '保存成功',
icon: 'none'
})
setTimeout(uni.navigateBack, 1000, -1)
}
})
},
confirm(e){
this.detail.statusId = e.value[0].id
this.detail.statusDescribe = e.value[0].name
},
}
}
</script>
<style scoped lang="scss">
.page {
.Box {
background-color: #fff;
height: 100vh;
font-size: 28rpx;
.Box{
margin-top: 40rpx;
.work-box {
padding: 0rpx 30rpx;
margin: 15rpx 0rpx;
margin: 30rpx 0rpx;
display: flex;
align-items: center;
font-size: 35rpx;
}
.work-boxx {
padding: 0rpx 30rpx;
margin: 15rpx 0rpx;
display: flex;
font-size: 35rpx;
.indexx {
.works {
width: 150rpx;
flex-shrink: 0;
}
.index {
margin-top: 3rpx;
}
.workss {
font-size: 35rpx;
input{
background-color: #eee;
padding: 10rpx 20rpx;
border-radius: 20rpx;
width: 430rpx;
}
}
}
.modify {
.working-procedure {
text-align: center;
margin-top: 790rpx;
margin-top: 150rpx;
.working {
margin: 25rpx 0rpx;
color: rgb(83, 125, 180);
}
}
.modify{
text-align: center;
margin-top: 150rpx;
display: flex;
align-items: center;
justify-content: center;
.modi {
.modi{
padding: 20rpx 60rpx;
background-color: rgb(2, 167, 240);
background-color:rgb(2 ,167, 240) ;
border-radius: 15rpx;
color: #fff;
}
}
}
</style>

+ 3
- 6
pages_order/order/ProcessCardOne.vue View File

@ -1,6 +1,6 @@
<template>
<view class="page">
<navbar title="工序卡1" leftClick @leftClick="$utils.navigateBack" />
<navbar :title="title" leftClick @leftClick="$utils.navigateBack" />
<view class="info">
<view class="Work-List">
@ -126,11 +126,13 @@
StepOne: {},
stepList : [],
index : 0,
title : '',
}
},
onLoad(arg) {
this.id = arg.id
this.index = arg.index || 0
this.title = arg.name
this.queryStepOne()
this.queryTemplateById()
},
@ -187,11 +189,6 @@
//
this.$api('updateGeneralStepOne', StepOne, res => {
if(res.code == 200){
success(res)
}else{
error(res)
}
})
uni.showToast({


+ 244
- 17
pages_order/order/ProcessCardTo.vue View File

@ -1,10 +1,120 @@
<template>
<view>
<navbar
title="工序卡2"
leftClick
<view class="page">
<navbar :title="title" leftClick @leftClick="$utils.navigateBack" />
<view class="info">
<view class="Work-List">
<view class="label">
中试作业员
</view>
<view class="text">
<input type="text" v-model="StepOne.operator"/>
</view>
</view>
<view class="Work-List">
<view class="label">
气缸料号1
</view>
<view class="text">
<input type="text" v-model="StepOne.cylinder1"/>
</view>
</view>
<view class="Work-List">
<view class="label">
气缸料号2
</view>
<view class="text">
<input type="text" v-model="StepOne.cylinder2"/>
</view>
</view>
<view class="Work-List">
<view class="label">
活塞料号1
</view>
<view class="text">
<input type="text" v-model="StepOne.piston1"/>
</view>
</view>
<view class="Work-List">
<view class="label">
活塞料号2
</view>
<view class="text">
<input type="text" v-model="StepOne.piston2"/>
</view>
</view>
<view class="Work-List">
<view class="label">
滑片料号1
</view>
<view class="text">
<input type="text" v-model="StepOne.scribing1"/>
</view>
</view>
<view class="Work-List">
<view class="label">
滑片料号2
</view>
<view class="text">
<input type="text" v-model="StepOne.scribing2"/>
</view>
</view>
</view>
@leftClick="$utils.navigateBack"/>
<view class="list">
<view class="item-box"
:key="stepIndex"
v-for="(step, stepIndex) in stepList">
<view class="title">
{{ step.name }}
</view>
<view class="list-box"
:key="cIndex"
v-for="(c, cIndex) in step.workorderItemCheckList">
<view class="title">
{{ c.name }}
</view>
<view class="item-input"
:key="wi"
v-for="(w, wi) in c.workorderParamSteponeList"
>
<view class="Work-List"
:key="xi"
v-for="(x, xi) in 20"
>
<view class="label">
规格{{ xi + 1 }}
</view>
<view class="text">
<input type="text"
v-model="w['param' + (xi + 1)]"/>
</view>
<view class="text"
v-if=""
style="margin-left: 20rpx;">
{{ w.specs }}
</view>
</view>
</view>
</view>
</view>
</view>
<view class="uni-color-btn"
@click="submit">
保存
</view>
</view>
</template>
@ -13,32 +123,149 @@
data() {
return {
id: 0,
StepTwo:{},
StepOne: {},
stepList : [],
index : 1,
title : '',
}
},
onLoad(arg) {
this.id = arg.id
console.log(arg);
this.queryStepTwo()
this.index = arg.index || 1
this.title = arg.name
this.queryStepOne()
this.queryTemplateById()
},
methods: {
queryStepTwo(){
this.$api('queryStepTwo',{
queryStepOne() {
this.$api('queryStepOne', {
templateId: this.id
},res =>{
}, res => {
if (res.code == 200) {
this.StepOne = res.result.workorderGeneralStepone
}
})
},
// id
queryTemplateById(){
this.$api('queryTemplateById', {
templateId : this.id
}, res =>{
if(res.code == 200){
let p = res.result.workorderStepList[this.index]
this.stepList = p.workorderProcessList
}
})
},
//--1()
updateParamStepOne(item){
return new Promise((success, error) => {
let data = JSON.parse(JSON.stringify(item))
delete data.updateBy
delete data.updateTime
delete data.createBy
delete data.createTime
this.$api('updateParamStepOne', data, res => {
if(res.code == 200){
success(res)
}else{
error(res)
}
})
})
},
async submit(){
console.log(this.stepList);
let StepOne = JSON.parse(JSON.stringify(this.StepOne))
delete StepOne.updateBy
delete StepOne.updateTime
delete StepOne.createBy
delete StepOne.createTime
//
this.$api('updateGeneralStepOne', StepOne, res => {
})
uni.showToast({
title: '保存中...',
icon: 'none'
})
//
let tasks = []
for(let i = 0;i < this.stepList.length;i++){
let step = this.stepList[i]
for(let j = 0;j < step.workorderItemCheckList.length;j++){
let check = step.workorderItemCheckList[j]
this.StepTwo = res.result
for(let k = 0;k < check.workorderParamSteponeList.length;k++){
let params = check.workorderParamSteponeList[k]
//
tasks.push(this.updateParamStepOne(params))
}
}
}
//
await Promise.all(tasks)
uni.showToast({
title: '保存成功',
icon: 'none'
})
setTimeout(uni.navigateBack, 1000, -1)
},
}
}
</script>
<style>
</style>
<style scoped lang="scss">
.page{
padding-bottom: 200rpx;
.Work-List{
display: flex;
padding: 16rpx 0rpx;
align-items: center;
.label{
width: 200rpx;
flex-shrink: 0;
}
.text{
input{
background-color: #eee;
padding: 10rpx 20rpx;
border-radius: 20rpx;
}
}
}
.info{
padding: 30rpx;
input{
width: 430rpx;
}
}
.list{
padding: 0 30rpx;
.list-box{
padding: 20rpx 0;
padding-left: 40rpx;
.item-input{
padding-left: 40rpx;
.label{
width: 130rpx;
}
}
}
input{
width: 320rpx;
}
}
}
</style>

+ 10
- 5
pages_order/order/WorkOrders.vue View File

@ -83,7 +83,7 @@
</view>
<view class="modify">
<view class="modi"
@click="$utils.navigateTo('/pages_order/order/ModifyWorkOrder')">
@click="$utils.navigateTo('/pages_order/order/ModifyWorkOrder?id=' + id)">
修改
</view>
</view>
@ -105,6 +105,11 @@
this.id = args.id
this.queryTemplateById()
},
onShow() {
if(args.id){
this.queryTemplateById()
}
},
computed : {
...mapState(['workDetail']),
},
@ -122,10 +127,10 @@
clickStep(item, index){
let urls = [
`/pages_order/order/ProcessCardOne?id=${this.id}&index=${index}`,
`/pages_order/order/ProcessCardOne?id=${this.id}&index=${index}`,
`/pages_order/order/ProcessCardOne?id=${this.id}&index=${index}`,
`/pages_order/order/ProcessCardOne?id=${this.id}&index=${index}`,
`/pages_order/order/ProcessCardOne?id=${this.id}&index=${index}&name=${item.name}`,
`/pages_order/order/ProcessCardOne?id=${this.id}&index=${index}&name=${item.name}`,
`/pages_order/order/ProcessCardOne?id=${this.id}&index=${index}&name=${item.name}`,
`/pages_order/order/ProcessCardOne?id=${this.id}&index=${index}&name=${item.name}`,
]
this.$utils.navigateTo(urls[index])


+ 3
- 3
uni_modules/uv-radio/components/uv-radio/props.js View File

@ -33,12 +33,12 @@ export default {
// 图标的大小,单位px
iconSize: {
type: [String, Number],
default: ''
default: '30rpx'
},
// label的字体大小,px单位
labelSize: {
type: [String, Number],
default: ''
default: '28rpx'
},
// label提示文字,因为nvue下,直接slot进来的文字,由于特殊的结构,无法修改样式
label: {
@ -48,7 +48,7 @@ export default {
// 整体的大小
size: {
type: [String, Number],
default: ''
default: '40rpx'
},
// 图标颜色
iconColor: {


+ 3
- 3
uni_modules/uv-radio/components/uv-radio/uv-radio.vue View File

@ -101,11 +101,11 @@
},
// size21px
elSize() {
return this.size ? this.size : (this.parentData.size ? this.parentData.size : 21);
return this.size ? this.size : (this.parentData.size ? this.parentData.size : 40);
},
// 12px
elIconSize() {
return this.iconSize ? this.iconSize : (this.parentData.iconSize ? this.parentData.iconSize : 12);
return this.iconSize ? this.iconSize : (this.parentData.iconSize ? this.parentData.iconSize : 30);
},
//
elActiveColor() {
@ -127,7 +127,7 @@
// label
elLabelSize() {
return this.$uv.addUnit(this.labelSize ? this.labelSize : (this.parentData.labelSize ? this.parentData.labelSize :
'15'))
'30'))
},
elIconColor() {
const iconColor = this.iconColor ? this.iconColor : (this.parentData.iconColor ? this.parentData.iconColor :


Loading…
Cancel
Save