From fc06215c58fef8431e9574235680bffd840b507a Mon Sep 17 00:00:00 2001
From: loulijun2021 <1694218219@qq.com>
Date: 星期六, 11 五月 2024 16:55:44 +0800
Subject: [PATCH] 1.生产工单新增预计开工日期、预计完工日期
---
src/components/DateType/index.vue | 62 ++++++++----
src/views/workOrder/produceOrderList.vue | 106 +++++++++++----------
src/views/workOrder/workOrderList.vue | 84 +++++++++++-----
3 files changed, 156 insertions(+), 96 deletions(-)
diff --git a/src/components/DateType/index.vue b/src/components/DateType/index.vue
index fae4de8..f3c5c3e 100644
--- a/src/components/DateType/index.vue
+++ b/src/components/DateType/index.vue
@@ -112,34 +112,44 @@
@show="datatypePopoverIsShow=true"
>
<div class="popoverList">
- <div class="popoverListItem2">
+ <div v-for="item in datatypeList" :key="item.code" class="popoverListItem2">
<el-button
- :class="datatype==='PS'?'selectButton':''"
- @click="datatypeClick('PS')"
- >棰勮寮�宸ユ棩鏈�
+ :class="datatype===item.code?'selectButton':''"
+ @click="datatypeClick(item.code)"
+ >{{ item.name }}
</el-button>
</div>
- <div class="popoverListItem2">
- <el-button
- :class="datatype==='PE'?'selectButton':''"
- @click="datatypeClick('PE')"
- >棰勮瀹屽伐鏃ユ湡
- </el-button>
- </div>
- <div class="popoverListItem2">
- <el-button
- :class="datatype==='ED'?'selectButton':''"
- @click="datatypeClick('ED')"
- >棰勮浜や粯鏃ユ湡
- </el-button>
- </div>
+
+ <!-- <div class="popoverListItem2">-->
+ <!-- <el-button-->
+ <!-- :class="datatype==='PS'?'selectButton':''"-->
+ <!-- @click="datatypeClick('PS')"-->
+ <!-- >棰勮寮�宸ユ棩鏈�-->
+ <!-- </el-button>-->
+ <!-- </div>-->
+ <!-- <div class="popoverListItem2">-->
+ <!-- <el-button-->
+ <!-- :class="datatype==='PE'?'selectButton':''"-->
+ <!-- @click="datatypeClick('PE')"-->
+ <!-- >棰勮瀹屽伐鏃ユ湡-->
+ <!-- </el-button>-->
+ <!-- </div>-->
+ <!-- <div class="popoverListItem2">-->
+ <!-- <el-button-->
+ <!-- :class="datatype==='ED'?'selectButton':''"-->
+ <!-- @click="datatypeClick('ED')"-->
+ <!-- >棰勮浜や粯鏃ユ湡-->
+ <!-- </el-button>-->
+ <!-- </div>-->
</div>
<div
slot="reference"
style="color: #a7a7a7;font-weight: 600; font-size:14px;width: 100px;text-align: center;
font-family:'Helvetica Neue, Helvetica, PingFang SC, Hiragino Sans GB, Microsoft YaHei, Arial, sans-serif';"
- > {{ datatype === 'PS' ? '棰勮寮�宸ユ棩鏈�' : datatype === 'PE' ? '棰勮瀹屽伐鏃ユ湡' : '棰勮浜や粯鏃ユ湡' }}
+ >
+ {{ datatypeList.find(i=>i.code===datatype).name }}
+ <!-- {{ datatype === 'PS' ? '棰勮寮�宸ユ棩鏈�' : datatype === 'PE' ? '棰勮瀹屽伐鏃ユ湡' : '棰勮浜や粯鏃ユ湡' }}-->
</div>
</el-popover>
@@ -174,7 +184,7 @@
default() {
return false
}
- }
+ },
// cycleTimePopoverIsShow: {
// type: Boolean,
// default() {
@@ -199,6 +209,18 @@
// return 'ED'
// }
// }
+ datatypeList: {
+ type: Array,
+ default() {
+ return [
+ { code: 'PS', name: '棰勮寮�宸ユ棩鏈�' },
+ { code: 'PE', name: '棰勮瀹屽伐鏃ユ湡' },
+ { code: 'ED', name: '棰勮浜や粯鏃ユ湡' }
+ // { code: 'CT', name: '鍒涘缓鏃ユ湡' }
+ ]
+ }
+ }
+
},
data() {
return {
diff --git a/src/views/workOrder/produceOrderList.vue b/src/views/workOrder/produceOrderList.vue
index e8e656e..84e649b 100644
--- a/src/views/workOrder/produceOrderList.vue
+++ b/src/views/workOrder/produceOrderList.vue
@@ -438,8 +438,8 @@
v-el-drag-dialog
:title="operation==='add'?'鏂板':'涓嬭揪'"
:visible.sync="dialogVisible"
- width="860px"
- top="15vh"
+ width="900px"
+ top="12vh"
:close-on-click-modal="false"
@closed="handleClose"
@close="handleClose"
@@ -497,6 +497,8 @@
style="width: 200px"
/>
</el-form-item>
+ <!-- :picker-options="pickerOptions"-->
+
<el-form-item label="棰勮浜や粯鏃ユ湡" prop="saleOrderDeliveryDate">
<el-date-picker
v-model="dialogForm.saleOrderDeliveryDate"
@@ -504,12 +506,44 @@
size="mini"
:clearable="false"
class="dateMini"
- :picker-options="pickerOptions"
format="yyyy-MM-dd"
+ style="width: 200px"
placeholder="閫夋嫨鏃ユ湡"
:disabled="dialogForm.saleOrderDeliveryDateIsDisabled"
/>
</el-form-item>
+
+ <div style="display: flex">
+ <el-form-item label="棰勮寮�宸ユ棩鏈�" prop="" style="display: flex">
+ <el-date-picker
+ v-model="dialogForm.paystartdate"
+ type="date"
+ size="mini"
+ style="width: 200px"
+ :clearable="false"
+ class="dateMini"
+ format="yyyy-MM-dd"
+ value-format="yyyy-MM-dd"
+ placeholder="閫夋嫨鏃ユ湡"
+ />
+ </el-form-item>
+
+ <el-form-item label="棰勮瀹屽伐鏃ユ湡" prop="" style="display: flex">
+ <el-date-picker
+ v-model="dialogForm.payenddate"
+ type="date"
+ size="mini"
+ style="width: 200px"
+ :clearable="false"
+ class="dateMini"
+ format="yyyy-MM-dd"
+ value-format="yyyy-MM-dd"
+ placeholder="閫夋嫨鏃ユ湡"
+ />
+ </el-form-item>
+
+ </div>
+
</el-form>
<span slot="footer" class="dialog-footer">
<div class="footerButton">
@@ -541,7 +575,6 @@
} from '@/api/WorkOrder'
import { SeaveSearchErpOrder } from '@/api/ErpSyncMes'
import { PrentOrganizationNoCompany } from '@/api/GeneralBasicData'
-import moment from 'moment'
import DateType from '@/components/DateType'
const SER_HZ = /^[\u4e00-\u9fa5]+$/
@@ -625,7 +658,10 @@
clerkuser: '', // 閿�鍞笟鍔″憳
- saleOrderDeliveryDate: '' // 棰勮浜や粯鏃ユ湡
+ saleOrderDeliveryDate: '', // 棰勮浜や粯鏃ユ湡
+
+ paystartdate: '', // 棰勮寮�宸ユ棩鏈�
+ payenddate: ''// 棰勮瀹屽伐鏃ユ湡
},
operation: '',
dialogFormRules: {
@@ -647,49 +683,9 @@
},
pickerOptions: {
- shortcuts: [
- {
- text: '褰撳ぉ',
- onClick(picker) {
- const end = new Date()
- const start = new Date()
- start.setTime(start.getTime())
- picker.$emit('pick', [start, end])
- }
- }, {
- text: '杩戜笁澶�',
- onClick(picker) {
- const end = new Date()
- const start = new Date()
- start.setTime(start.getTime() - 3600 * 1000 * 24 * 3)
- console.log([start, end], '[start, end]')
- picker.$emit('pick', [start, end])
- }
- }, {
- text: '杩戜竴鍛�',
- onClick(picker) {
- const end = new Date()
- const start = new Date()
- start.setTime(start.getTime() - 3600 * 1000 * 24 * 7)
- picker.$emit('pick', [start, end])
- }
- }, {
- text: '杩戜竴涓湀',
- onClick(picker) {
- const end = new Date()
- const start = new Date()
- start.setTime(start.getTime() - 3600 * 1000 * 24 * 30)
- picker.$emit('pick', [start, end])
- }
- }, {
- text: '杩戜笁涓湀',
- onClick(picker) {
- const end = new Date()
- const start = new Date()
- start.setTime(start.getTime() - 3600 * 1000 * 24 * 90)
- picker.$emit('pick', [start, end])
- }
- }]
+ disabledDate(time) {
+ return time.getTime() < Date.now() - 8.64e7
+ }
},
multipleSelection: []
@@ -714,7 +710,6 @@
methods: {
DateTypeChange(value) {
- console.log('asd', value)
this.form.datatype = value
},
cycleTimeChange(val) {
@@ -922,7 +917,10 @@
'relse_qty': i.qty,
'saleordercode': i.saleOrderCode,
// 'saleOrderDeliveryDate': i.saleOrderDeliveryDate
- 'saleOrderDeliveryDate': handleDatetime(new Date()) + ' 00:00:00'
+ 'saleOrderDeliveryDate': handleDatetime(new Date()) + ' 00:00:00',
+
+ 'paystartdate': i.planstartdate,
+ 'payenddate': i.planenddate
})
})
// console.log(JSON.parse(JSON.stringify(data)))
@@ -982,6 +980,9 @@
this.dialogForm.ordernum = 1
this.dialogForm.relse_qty = row.relse_qty
this.dialogForm.clerkuser = row.clerkuser
+
+ this.dialogForm.paystartdate = row.planstartdate
+ this.dialogForm.payenddate = row.planenddate
})
},
// 瀵硅瘽妗嗗叧闂簨浠�
@@ -1006,6 +1007,9 @@
markqty: '', // 涓嬪崟鏁伴噺
ordernum: '', // 涓嬪崟鍗曟暟
relse_qty: '', // 宸蹭笅鍗曟暟閲�
+
+ payenddate: '', // 棰勮瀹屽伐鏃ユ湡
+ paystartdate: '', // 棰勮寮�宸ユ棩鏈�
saleOrderDeliveryDate: '' // 棰勮浜や粯鏃ユ湡
}
@@ -1044,6 +1048,8 @@
'erpqty': this.dialogForm.erpqty,
'markqty': this.dialogForm.markqty,
'ordernum': this.dialogForm.ordernum,
+ 'payenddate': this.dialogForm.payenddate,
+ 'paystartdate': this.dialogForm.paystartdate,
'relse_qty': this.dialogForm.relse_qty,
'saleOrderDeliveryDate': handleDatetime(this.dialogForm.saleOrderDeliveryDate) + ' 00:00:00'
}
diff --git a/src/views/workOrder/workOrderList.vue b/src/views/workOrder/workOrderList.vue
index af688a1..f09761b 100644
--- a/src/views/workOrder/workOrderList.vue
+++ b/src/views/workOrder/workOrderList.vue
@@ -90,26 +90,14 @@
<el-form-item v-show="isExpandForm" label="鍒涘缓浜哄憳" style=" display: flex;">
<el-input v-model="form.creatuser" style="width: 200px" placeholder="璇疯緭鍏�" />
</el-form-item>
- <el-form-item v-show="isExpandForm" label="鍒涘缓鏃堕棿" style=" display: flex;">
- <!-- <el-date-picker-->
- <!-- v-model="form.createdate"-->
- <!-- type="daterange"-->
- <!-- :clearable="false"-->
- <!-- range-separator="~"-->
- <!-- start-placeholder="寮�濮嬫棩鏈�"-->
- <!-- end-placeholder="缁撴潫鏃ユ湡"-->
- <!-- size="mini"-->
- <!-- />-->
- <el-date-picker
- v-model="form.createdate"
- type="date"
- size="mini"
- :clearable="false"
- class="dateMini"
- format="yyyy-MM-dd"
- placeholder="閫夋嫨鏃ユ湡"
- />
- </el-form-item>
+ <DateType
+ ref="DateTypeRef"
+ :is-expand-form="isExpandForm"
+ style="display:flex;justify-content: center;align-items: center;position: relative"
+ :datatype-list="datatypeList"
+ @DateTypeChange="DateTypeChange"
+ @cycleTimeChange="cycleTimeChange"
+ />
</div>
<div
@@ -283,6 +271,28 @@
>
<template slot-scope="{row}">
<div v-if="row.wkshp_name">{{ row.wkshp_name }}</div>
+ <div v-else>/</div>
+ </template>
+ </el-table-column>
+ <el-table-column
+ prop="plan_startdate"
+ label="棰勮寮�宸ユ棩鏈�"
+ sortable="custom"
+ width="130"
+ >
+ <template slot-scope="{row}">
+ <div v-if="row.plan_startdate">{{ row.plan_startdate.substring(0, 11) }}</div>
+ <div v-else>/</div>
+ </template>
+ </el-table-column>
+ <el-table-column
+ prop="plan_enddate"
+ label="棰勮瀹屽伐鏃ユ湡"
+ sortable="custom"
+ width="130"
+ >
+ <template slot-scope="{row}">
+ <div v-if="row.plan_enddate">{{ row.plan_enddate.substring(0, 11) }}</div>
<div v-else>/</div>
</template>
</el-table-column>
@@ -1990,11 +2000,11 @@
import Sortable from 'sortablejs'
import ElDragSelect from '@/components/DragSelect'
import { MesOrderPrintSearch } from '@/api/GridReport' // base on element-ui
-
+import DateType from '@/components/DateType'
export default {
name: 'WorkOrderList',
components: {
- Pagination, ElDragSelect
+ Pagination, ElDragSelect, DateType
},
directives: { elDragDialog, waves },
data() {
@@ -2017,7 +2027,9 @@
partname: '', // 浜у搧鍚嶇О
partspec: '', // 浜у搧瑙勬牸
creatuser: '', // 鍒涘缓浜哄憳
- createdate: '', // 鍒涘缓鏃堕棿
+ // createdate: '', // 鍒涘缓鏃堕棿
+ datatype: 'ED', // 鏃ユ湡绫诲瀷(璁″垝寮�宸�(PS)銆佽鍒掑畬宸�(PE)銆侀璁′氦浠�(ED)銆佸垱寤烘棩鏈�(CT))
+ timeValue: [], // 鏌ヨ鏃ユ湡
prop: 'lm_date', // 鎺掑簭瀛楁
order: 'desc', // 鎺掑簭瀛楁
page: 1, // 绗嚑椤�
@@ -2240,7 +2252,14 @@
stepSelectArr: [], // 宸ュ簭涓嬫媺鏁版嵁
stepSelectedValue: [], // 涓嬫媺閫変腑鍊�
- multipleSelection: []
+ multipleSelection: [],
+
+ datatypeList: [
+ { code: 'PS', name: '棰勮寮�宸ユ棩鏈�' },
+ { code: 'PE', name: '棰勮瀹屽伐鏃ユ湡' },
+ { code: 'ED', name: '棰勮浜や粯鏃ユ湡' },
+ { code: 'CT', name: '宸ュ崟鍒涘缓鏃ユ湡' }
+ ]
}
},
watch: {
@@ -2276,6 +2295,12 @@
// })
},
methods: {
+ DateTypeChange(value) {
+ this.form.datatype = value
+ },
+ cycleTimeChange(val) {
+ this.form.timeValue = val
+ },
setSort() {
const el = this.$refs.stepTableDataRef.$el.querySelectorAll('.el-table__body-wrapper > table > tbody')[0]
this.sortable = Sortable.create(el, {
@@ -2328,7 +2353,9 @@
sourceorder: this.form.sourceorder, // 婧愬崟鍗曞彿
saleordercode: this.form.saleordercode, // 閿�鍞鍗�
ordertype: this.form.ordertype, // 鍗曟嵁绫诲瀷
- createdate: this.form.createdate.toString().length > 0 ? handleDatetime(this.form.createdate) : '', // 鍒涘缓鏃堕棿
+ datatype: this.form.datatype,
+ searchdate: this.form.timeValue.join('~'),
+ // createdate: this.form.createdate.toString().length > 0 ? handleDatetime(this.form.createdate) : '', // 鍒涘缓鏃堕棿
prop: this.form.prop, // 鎺掑簭瀛楁
order: this.form.order, // 鎺掑簭瀛楁
page: this.form.page, // 绗嚑椤�
@@ -2400,7 +2427,12 @@
this.form.creatuser = ''
this.form.sourceorder = ''
this.form.ordertype = ''
- this.form.createdate = ''
+ // this.form.createdate = ''
+
+ this.form.timeValue = []
+ this.cycleTime = null
+ this.$refs.DateTypeRef.clearValue()
+
this.getMesOrderSearch()
},
// 鏂板鎸夐挳
--
Gitblit v1.9.3