| | |
| | | <el-input v-model="form.partspec" style="width: 200px" placeholder="请输入" /> |
| | | </el-form-item> |
| | | |
| | | <div v-show="isExpandForm" style="display:flex;justify-content: center;align-items: center;position: relative"> |
| | | |
| | | <el-popover |
| | | v-model="cycleTimePopoverIsShow" |
| | | placement="bottom" |
| | | width="500" |
| | | trigger="hover" |
| | | @show="cycleTimePopoverIsShow=true" |
| | | > |
| | | <div class="popoverList"> |
| | | <div class="popoverListItem"> |
| | | <div style="width: 40px">周</div> |
| | | <el-button |
| | | :class="cycleTime===1?'selectButton':''" |
| | | @click="cycleTimeClick(1)" |
| | | >本 周</el-button> |
| | | <el-button |
| | | :class="cycleTime===2?'selectButton':''" |
| | | @click="cycleTimeClick(2)" |
| | | >上 周</el-button> |
| | | </div> |
| | | <div class="popoverListItem"> |
| | | <div style="width: 40px">月</div> |
| | | <el-button |
| | | :class="cycleTime===3?'selectButton':''" |
| | | @click="cycleTimeClick(3)" |
| | | >本 月</el-button> |
| | | <el-button |
| | | :class="cycleTime===4?'selectButton':''" |
| | | @click="cycleTimeClick(4)" |
| | | >上 月</el-button> |
| | | </div> |
| | | <div class="popoverListItem"> |
| | | <div style="width: 40px">季</div> |
| | | <el-button |
| | | :class="cycleTime===5?'selectButton':''" |
| | | @click="cycleTimeClick(5)" |
| | | >本 季</el-button> |
| | | <el-button |
| | | :class="cycleTime===6?'selectButton':''" |
| | | @click="cycleTimeClick(6)" |
| | | >上 季</el-button> |
| | | </div> |
| | | <div class="popoverListItem"> |
| | | <div style="width: 40px">年</div> |
| | | <el-button |
| | | :class="cycleTime===7?'selectButton':''" |
| | | @click="cycleTimeClick(7)" |
| | | >本 年</el-button> |
| | | <el-button |
| | | :class="cycleTime===8?'selectButton':''" |
| | | @click="cycleTimeClick(8)" |
| | | >上 年</el-button> |
| | | </div> |
| | | <div class="popoverListItem"> |
| | | <div style="width: 40px">其他</div> |
| | | <el-button |
| | | :class="cycleTime===9?'selectButton':''" |
| | | @click="cycleTimeClick(9)" |
| | | >近3天</el-button> |
| | | <el-button |
| | | :class="cycleTime===10?'selectButton':''" |
| | | @click="cycleTimeClick(10)" |
| | | >近7天</el-button> |
| | | <el-button |
| | | :class="cycleTime===11?'selectButton':''" |
| | | @click="cycleTimeClick(11)" |
| | | >近14天</el-button> |
| | | <el-button |
| | | :class="cycleTime===12?'selectButton':''" |
| | | @click="cycleTimeClick(12)" |
| | | >今 天</el-button> |
| | | <el-button |
| | | :class="cycleTime===13?'selectButton':''" |
| | | @click="cycleTimeClick(13)" |
| | | >昨 天</el-button> |
| | | </div> |
| | | |
| | | </div> |
| | | |
| | | <div |
| | | slot="reference" |
| | | style="width:15px;height:15px;background:transparent; |
| | | cursor: pointer;position:absolute;z-index: 100;left: 110px;top:13px" |
| | | /> |
| | | |
| | | </el-popover> |
| | | |
| | | <el-popover |
| | | placement="bottom" |
| | | width="100" |
| | | trigger="hover" |
| | | :value="datatypePopoverIsShow" |
| | | @show="datatypePopoverIsShow=true" |
| | | > |
| | | <div class="popoverList"> |
| | | <div class="popoverListItem2"> |
| | | <el-button |
| | | :class="form.datatype==='PS'?'selectButton':''" |
| | | @click="form.datatype='PS';datatypePopoverIsShow=false" |
| | | >预计开工日期</el-button> |
| | | </div> |
| | | <div class="popoverListItem2"> |
| | | <el-button |
| | | :class="form.datatype==='PE'?'selectButton':''" |
| | | @click="form.datatype='PE';datatypePopoverIsShow=false" |
| | | >预计完工日期</el-button> |
| | | </div> |
| | | <div class="popoverListItem2"> |
| | | <el-button |
| | | :class="form.datatype==='ED'?'selectButton':''" |
| | | @click="form.datatype='ED';datatypePopoverIsShow=false" |
| | | >预计交付日期</el-button> |
| | | </div> |
| | | </div> |
| | | |
| | | <div |
| | | slot="reference" |
| | | style="color: #a7a7a7; |
| | | font-weight: 600; |
| | | font-family:'Helvetica Neue, Helvetica, PingFang SC, Hiragino Sans GB, Microsoft YaHei, Arial, sans-serif'; |
| | | font-size:14px;width: 100px;text-align: center" |
| | | > {{ form.datatype==='PS'? '预计开工日期':form.datatype==='PE'?'预计完工日期':'预计交付日期' }} |
| | | </div> |
| | | |
| | | </el-popover> |
| | | |
| | | <el-date-picker |
| | | v-model="form.timeValue" |
| | | type="daterange" |
| | | range-separator="~" |
| | | class="timeMini" |
| | | size="mini" |
| | | style="width: 200px;display: flex;line-height: 34px;height: 34px;margin-right: 10px" |
| | | :clearable="false" |
| | | start-placeholder="开始日期" |
| | | end-placeholder="结束日期" |
| | | value-format="yyyy-MM-dd" |
| | | @change="pickerChange" |
| | | /> |
| | | <!-- :picker-options="pickerOptions"--> |
| | | </div> |
| | | <DateType |
| | | ref="DateTypeRef" |
| | | :is-expand-form="isExpandForm" |
| | | style="display:flex;justify-content: center;align-items: center;position: relative" |
| | | @DateTypeChange="DateTypeChange" |
| | | @cycleTimeChange="cycleTimeChange" |
| | | /> |
| | | |
| | | <!-- <el-form-item--> |
| | | <!-- v-show="isExpandForm"--> |
| | |
| | | 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" |
| | |
| | | style="width: 200px" |
| | | /> |
| | | </el-form-item> |
| | | <!-- :picker-options="pickerOptions"--> |
| | | |
| | | <el-form-item label="预计交付日期" prop="saleOrderDeliveryDate"> |
| | | <el-date-picker |
| | | v-model="dialogForm.saleOrderDeliveryDate" |
| | |
| | | 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"> |
| | |
| | | } 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]+$/ |
| | | export default { |
| | | name: 'SCDD', |
| | | components: { |
| | | Pagination |
| | | Pagination, DateType |
| | | }, |
| | | directives: { elDragDialog, waves }, |
| | | data() { |
| | |
| | | page: 1, // 第几页 |
| | | rows: 20 // 每页多少条 |
| | | }, |
| | | datatypePopoverIsShow: false, |
| | | cycleTime: null, // 时间周期 |
| | | cycleTimePopoverIsShow: false, |
| | | |
| | | erporderstusArr: [ |
| | | { code: 'NEW', name: '新订单' }, |
| | | { code: 'CREATING', name: '部分下达' }, |
| | |
| | | |
| | | clerkuser: '', // 销售业务员 |
| | | |
| | | saleOrderDeliveryDate: '' // 预计交付日期 |
| | | saleOrderDeliveryDate: '', // 预计交付日期 |
| | | |
| | | paystartdate: '', // 预计开工日期 |
| | | payenddate: ''// 预计完工日期 |
| | | }, |
| | | operation: '', |
| | | dialogFormRules: { |
| | |
| | | |
| | | }, |
| | | 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: [] |
| | | |
| | |
| | | }, |
| | | methods: { |
| | | |
| | | cycleTimeClick(value) { |
| | | this.cycleTimePopoverIsShow = false |
| | | |
| | | const date = new Date() |
| | | const cWeek = moment(date).format('E') |
| | | let newDate = [] |
| | | switch (value) { |
| | | case 1:// 本周 |
| | | newDate = [ |
| | | moment(date).subtract(Number(cWeek) - 1, 'days').format('YYYY-MM-DD'), |
| | | moment(moment().week(moment().week()).endOf('week').valueOf()).format('YYYY-MM-DD') |
| | | ] |
| | | break |
| | | case 2:// 上周 |
| | | newDate = [ |
| | | moment(moment().add(-13, 'days').startOf('day').valueOf()).format('YYYY-MM-DD'), |
| | | moment(moment().add(-6, 'days').startOf('day').valueOf()).format('YYYY-MM-DD') |
| | | ] |
| | | break |
| | | |
| | | case 3:// 本月 |
| | | newDate = [ |
| | | moment(moment().month(moment().month()).startOf('month').valueOf()).format('YYYY-MM-DD'), |
| | | moment(moment().month(moment().month()).endOf('month').valueOf()).format('YYYY-MM-DD') |
| | | ] |
| | | break |
| | | |
| | | case 4:// 上月 |
| | | newDate = [ |
| | | moment(moment().month(moment().month() - 1).startOf('month').valueOf()).format('YYYY-MM-DD'), |
| | | moment(moment().month(moment().month()).startOf('month').valueOf()).add(-1, 'days').format('YYYY-MM-DD') |
| | | ] |
| | | break |
| | | |
| | | case 5:// 本季度 |
| | | newDate = [ |
| | | moment(moment().quarter(moment().quarter()).startOf('quarter').valueOf()).format('YYYY-MM-DD'), |
| | | moment(moment().quarter(moment().quarter()).endOf('quarter').valueOf()).format('YYYY-MM-DD') |
| | | ] |
| | | break |
| | | |
| | | case 6:// 上季度 |
| | | newDate = [ |
| | | moment(moment().quarter(moment().quarter() - 1).startOf('quarter').valueOf()).format('YYYY-MM-DD'), |
| | | moment(moment().quarter(moment().quarter() - 1).endOf('quarter').valueOf()).format('YYYY-MM-DD') |
| | | ] |
| | | break |
| | | |
| | | case 7:// 本年 |
| | | newDate = [ |
| | | moment(moment().year(moment().year()).startOf('year').valueOf()).format('YYYY-MM-DD'), |
| | | moment(moment().year(moment().year()).endOf('year').valueOf()).format('YYYY-MM-DD') |
| | | ] |
| | | break |
| | | |
| | | case 8:// 去年 |
| | | newDate = [ |
| | | moment(moment().year(moment().year() - 1).startOf('year').valueOf()).format('YYYY-MM-DD'), |
| | | moment(moment().year(moment().year() - 1).endOf('year').valueOf()).format('YYYY-MM-DD') |
| | | ] |
| | | break |
| | | |
| | | case 9:// 近3天 |
| | | newDate = [ |
| | | moment(moment().add(-2, 'days').startOf('day').valueOf()).format('YYYY-MM-DD'), |
| | | moment(moment().startOf('day').valueOf()).format('YYYY-MM-DD') |
| | | ] |
| | | break |
| | | case 10:// 近7天 |
| | | newDate = [ |
| | | moment(moment().add(-6, 'days').startOf('day').valueOf()).format('YYYY-MM-DD'), |
| | | moment(moment().startOf('day').valueOf()).format('YYYY-MM-DD') |
| | | ] |
| | | break |
| | | case 11:// 近14天 |
| | | newDate = [ |
| | | moment(moment().add(-13, 'days').startOf('day').valueOf()).format('YYYY-MM-DD'), |
| | | moment(moment().startOf('day').valueOf()).format('YYYY-MM-DD') |
| | | ] |
| | | break |
| | | case 12:// 今天 |
| | | newDate = [ |
| | | moment(moment().startOf('day').valueOf()).format('YYYY-MM-DD'), |
| | | moment(moment().startOf('day').valueOf()).format('YYYY-MM-DD') |
| | | ] |
| | | break |
| | | case 13:// 昨天 |
| | | newDate = [ |
| | | moment(moment().add(-1, 'days').startOf('day').valueOf()).format('YYYY-MM-DD'), |
| | | moment(moment().startOf('day').valueOf()).format('YYYY-MM-DD') |
| | | ] |
| | | break |
| | | } |
| | | |
| | | this.form.timeValue = newDate |
| | | this.cycleTime = value |
| | | DateTypeChange(value) { |
| | | this.form.datatype = value |
| | | }, |
| | | cycleTimeChange(val) { |
| | | this.form.timeValue = val |
| | | }, |
| | | |
| | | pickerChange(value) { |
| | |
| | | |
| | | this.form.timeValue = [] |
| | | this.cycleTime = null |
| | | |
| | | this.$refs.DateTypeRef.clearValue() |
| | | |
| | | this.getErpOrderSearch() |
| | | }, |
| | | // 单选框选中获取当前行信息 |
| | |
| | | '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))) |
| | |
| | | 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 |
| | | }) |
| | | }, |
| | | // 对话框关闭事件 |
| | |
| | | markqty: '', // 下单数量 |
| | | ordernum: '', // 下单单数 |
| | | relse_qty: '', // 已下单数量 |
| | | |
| | | payenddate: '', // 预计完工日期 |
| | | paystartdate: '', // 预计开工日期 |
| | | |
| | | saleOrderDeliveryDate: '' // 预计交付日期 |
| | | } |
| | |
| | | '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' |
| | | } |
| | |
| | | <!--公共页面样式--> |
| | | <style lang="scss" scoped> |
| | | $main_color: #42b983; |
| | | |
| | | .popoverList { |
| | | display: flex; |
| | | flex-direction: column; |
| | | } |
| | | |
| | | .popoverListItem { |
| | | height: 50px; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: flex-start; |
| | | } |
| | | |
| | | .popoverListItem2 { |
| | | height: 40px; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: flex-start; |
| | | } |
| | | |
| | | .selectButton { |
| | | color: #42B983; |
| | | } |
| | | |
| | | ::v-deep .el-range__icon { |
| | | line-height: 28px !important; |