|
@@ -0,0 +1,668 @@
|
|
|
+<template>
|
|
|
+ <div>
|
|
|
+ <Table
|
|
|
+ height="calc(100vh - 500px)"
|
|
|
+ ref="multipleTable"
|
|
|
+ :layout="tablecols"
|
|
|
+ :data="tableData"
|
|
|
+ :custom="true" :checkbox="false" fixedName="rowno itemname itemno erpitemno model" redirect="left" :headerOptions="['needdate','deliverydate','deliverydays']">
|
|
|
+ <template v-slot:header="scope">
|
|
|
+ <div v-if="scope.column.columnname == 'needdate'">
|
|
|
+ <el-date-picker
|
|
|
+ style="width:150px"
|
|
|
+ v-if="data.status === '新建'"
|
|
|
+ v-model="value1"
|
|
|
+ value-format="yyyy-MM-dd"
|
|
|
+ slot="reference"
|
|
|
+ align="right"
|
|
|
+ type="date"
|
|
|
+ size="mini"
|
|
|
+ :placeholder="$t(`一键填写需求日期`)"
|
|
|
+ :picker-options="pickerOptions1"
|
|
|
+ @change="dateChangeNeed">
|
|
|
+ </el-date-picker>
|
|
|
+ <span v-else>{{$t(`需求日期`)}}</span>
|
|
|
+ </div>
|
|
|
+ <div v-if="scope.column.columnname == 'deliverydays'">
|
|
|
+ <el-input v-model="value3" type="number" size="mini" :placeholder="$t(`一键填写回复交期天数`)" @change="setDeliveryDay(value3)"></el-input>
|
|
|
+ </div>
|
|
|
+ <div v-if="scope.column.columnname == 'deliverydate'">
|
|
|
+ <div v-if="data.status === '审核' || data.status === '关闭' || siteid == 'HY' || siteid == 'YOSTEST1'">
|
|
|
+ <span>{{$t(`回复交期`)}}</span>
|
|
|
+ </div>
|
|
|
+ <div v-else>
|
|
|
+ <div v-if="siteid === 'NB'">
|
|
|
+ <el-date-picker
|
|
|
+ style="width:180px"
|
|
|
+ v-model="value2"
|
|
|
+ value-format="yyyy-MM-dd"
|
|
|
+ slot="reference"
|
|
|
+ align="right"
|
|
|
+ type="date"
|
|
|
+ size="mini"
|
|
|
+ :placeholder="$t(`一键回复交期`)"
|
|
|
+ :picker-options="pickerOptions"
|
|
|
+ @change="dateChange">
|
|
|
+ </el-date-picker>
|
|
|
+ </div>
|
|
|
+ <div v-else>
|
|
|
+ <el-date-picker
|
|
|
+ style="width:180px"
|
|
|
+ v-if="type === 'confirmdate'"
|
|
|
+ v-model="value2"
|
|
|
+ value-format="yyyy-MM-dd"
|
|
|
+ slot="reference"
|
|
|
+ align="right"
|
|
|
+ type="date"
|
|
|
+ size="mini"
|
|
|
+ :placeholder="$t(`一键回复交期`)"
|
|
|
+ :picker-options="pickerOptions"
|
|
|
+ @change="dateChange">
|
|
|
+ </el-date-picker>
|
|
|
+ <span v-else>{{$t(`回复交期`)}}</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ <template v-slot:customcol="scope">
|
|
|
+ <div v-if="scope.column.columnname === 'qty'">
|
|
|
+ <el-input-number :controls="true" controls-position='right' v-if="data.status === '新建' && data.type !=='特殊订单'" size="mini" v-model="scope.column.data.qty" :min="scope.column.data.orderminqty" :step="scope.column.data.orderaddqty" :label="$t(`输入数量`)" @change="rowChange(scope.column.data,scope.$index)"></el-input-number>
|
|
|
+ <el-input-number controls-position='right' v-else-if="data.status === '新建' && data.type ==='特殊订单'" size="mini" :min="1" v-model="scope.column.data.qty" :label="$t(`输入数量`)" @change="rowChange(scope.column.data,scope.$index)"></el-input-number>
|
|
|
+ <span v-else>{{scope.column.data.qty}}</span>
|
|
|
+ </div>
|
|
|
+ <div v-else-if="scope.column.columnname === 'needdate'">
|
|
|
+ <el-date-picker
|
|
|
+ v-if="scope.column.data.delivery > 0 && data.status === '新建'"
|
|
|
+ v-model="scope.column.data.needdate"
|
|
|
+ type="date"
|
|
|
+ :placeholder="$t('选择日期')"
|
|
|
+ value-format="yyyy-MM-dd"
|
|
|
+ size="mini"
|
|
|
+ style="width:150px"
|
|
|
+ :picker-options="pickerOptions1"
|
|
|
+ @change="rowChange(scope.column.data)"
|
|
|
+ @focus="setPickerOptions1(scope.column.data)">
|
|
|
+ </el-date-picker>
|
|
|
+ <div v-else>
|
|
|
+ <p v-if="scope.column.data.delivery === 0 ">{{$t(`不管控交期`)}}</p>
|
|
|
+ <p v-else>{{scope.column.data.needdate}}</p>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div v-else-if="scope.column.columnname === 'deliverydays'">
|
|
|
+ {{scope.column.data.deliverydays}}
|
|
|
+ </div>
|
|
|
+ <div v-else-if="scope.column.columnname === 'deliverydate'">
|
|
|
+ <div v-if="siteid == 'HY' || siteid == 'YOSTEST1'">
|
|
|
+ <p>{{scope.column.data.deliverydate}}</p>
|
|
|
+ </div>
|
|
|
+ <div v-else>
|
|
|
+ <div v-if="data.status === '审核' || data.status === '关闭'">
|
|
|
+ <div v-if="siteid === 'NB'">
|
|
|
+ <p >{{scope.column.data.deliverydate}}</p>
|
|
|
+ </div>
|
|
|
+ <div v-else>
|
|
|
+ <p v-if="scope.column.data.delivery == 0 ">{{$t(`不管控交期`)}}</p>
|
|
|
+ <p v-else>{{scope.column.data.deliverydate}}</p>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div v-else>
|
|
|
+ <div v-if="siteid === 'NB'">
|
|
|
+ <el-date-picker
|
|
|
+ v-if="scope.column.data.delivery > 0 && type === 'confirmdate'"
|
|
|
+ v-model="scope.column.data.deliverydate"
|
|
|
+ type="date"
|
|
|
+ :placeholder="$t('选择日期')"
|
|
|
+ value-format="yyyy-MM-dd"
|
|
|
+ size="mini"
|
|
|
+ style="width:150px"
|
|
|
+ :picker-options="pickerOptions"
|
|
|
+ @change="onDateChange(scope.column.data)"
|
|
|
+ @focus="setPickerOptions(scope.column.data)">
|
|
|
+ </el-date-picker>
|
|
|
+ <div v-else>
|
|
|
+ <el-date-picker
|
|
|
+ v-if="scope.column.data.delivery == 0"
|
|
|
+ v-model="scope.column.data.deliverydate"
|
|
|
+ type="date"
|
|
|
+ :placeholder="$t('选择日期')"
|
|
|
+ value-format="yyyy-MM-dd"
|
|
|
+ size="mini"
|
|
|
+ style="width:150px"
|
|
|
+ :picker-options="pickerOptions"
|
|
|
+ @change="onDateChange(scope.column.data)"
|
|
|
+ @focus="setPickerOptions(scope.column.data)">
|
|
|
+ </el-date-picker>
|
|
|
+ <p v-else>{{scope.column.data.deliverydate}}</p>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div v-else>
|
|
|
+ <el-date-picker
|
|
|
+ v-if="scope.column.data.delivery > 0 && type === 'confirmdate'"
|
|
|
+ v-model="scope.column.data.deliverydate"
|
|
|
+ type="date"
|
|
|
+ :placeholder="$t('选择日期')"
|
|
|
+ value-format="yyyy-MM-dd"
|
|
|
+ size="mini"
|
|
|
+ style="width:150px"
|
|
|
+ :picker-options="pickerOptions"
|
|
|
+ @change="onDateChange(scope.column.data)"
|
|
|
+ @focus="setPickerOptions(scope.column.data)">
|
|
|
+ </el-date-picker>
|
|
|
+ <div v-else>
|
|
|
+ <p v-if="scope.column.data.delivery == 0 ">{{$t(`不管控交期`)}}</p>
|
|
|
+ <p v-else>{{scope.column.data.deliverydate}}</p>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div v-else-if="scope.column.columnname === 'unit'">
|
|
|
+ <el-tag size="mini" type="info" effect="plain">{{scope.column.data.unit}}</el-tag>
|
|
|
+ </div>
|
|
|
+ <div v-else-if="scope.column.columnname === 'marketprice'">
|
|
|
+ <p>¥ {{tool.formatAmount(scope.column.data.marketprice,2)}}</p>
|
|
|
+ </div>
|
|
|
+ <div v-else-if="scope.column.columnname === 'defaultprice'">
|
|
|
+ <el-input v-if="data.status === '新建' && data.type === '特殊订单'" v-model="scope.column.data.defaultprice" :placeholder="$t(`输入订单备注`)" size="mini" @change="rowChange(scope.column.data,scope.$index)"></el-input>
|
|
|
+ <p v-else>¥ {{tool.formatAmount(scope.column.data.defaultprice,2)}}</p>
|
|
|
+ </div>
|
|
|
+ <div v-else-if="scope.column.columnname === 'defaultamount'">
|
|
|
+ <p>¥ {{tool.formatAmount(scope.column.data.defaultprice * scope.column.data.qty,2)}}</p>
|
|
|
+ </div>
|
|
|
+ <div v-else-if="scope.column.columnname === 'price'">
|
|
|
+ <p>¥ {{tool.formatAmount(scope.column.data.price,2)}}</p>
|
|
|
+ </div>
|
|
|
+ <div v-else-if="scope.column.columnname === 'invoiceamount'">
|
|
|
+ <p>¥ {{tool.formatAmount(scope.column.data.invoiceamount,2)}}</p>
|
|
|
+ </div>
|
|
|
+ <div v-else-if="scope.column.columnname === 'writeoffamount'">
|
|
|
+ <p>¥ {{tool.formatAmount(scope.column.data.writeoffamount,2)}}</p>
|
|
|
+ </div>
|
|
|
+ <div v-else-if="scope.column.columnname === 'aftersalesmagamount'">
|
|
|
+ <p>¥ {{tool.formatAmount(scope.column.data.aftersalesmagamount,2)}}</p>
|
|
|
+ </div>
|
|
|
+ <div v-else-if="scope.column.columnname === 'amount'">
|
|
|
+ <p style="color:red;font-weight:500">¥ {{tool.formatAmount(scope.column.data.amount,2)}}</p>
|
|
|
+ </div>
|
|
|
+ <div v-else-if="scope.column.columnname === 'afterrebateprice'">
|
|
|
+ <p>¥ {{scope.column.data.afterrebateprice?tool.formatAmount(scope.column.data.afterrebateprice,2):'0.00'}}</p>
|
|
|
+ </div>
|
|
|
+ <div v-else-if="scope.column.columnname === 'afterrebateamount'">
|
|
|
+ <p>¥ {{scope.column.data.afterrebateamount?tool.formatAmount(scope.column.data.afterrebateamount,2):'0.00'}}</p>
|
|
|
+ </div>
|
|
|
+ <div v-else-if="scope.column.columnname === 'stockname'">
|
|
|
+ <el-select v-model="scope.column.data.stockno" size="mini" @visible-change="queryStock(scope.column.data)" :placeholder="$t('请选择')">
|
|
|
+ <el-option
|
|
|
+ v-for="item in stockOptions"
|
|
|
+ :key="item.WAREHOUSE"
|
|
|
+ :label="item.WAREHOUSE"
|
|
|
+ :value="item.WAREHOUSE"
|
|
|
+ @click.native="stockChange(item,scope.column.data,scope.$index)">
|
|
|
+ <span>{{ item.WAREHOUSE }}</span>
|
|
|
+ <div style="float: right; color: #8492a6; font-size: 13px">{{$t(`数量`)}}:{{item.QTY}}{{$t(`仓位`)}}:{{ item.LOCATION }}/{{$t(`批号`)}}:{{ item.LOT }}</div>
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </div>
|
|
|
+ <div v-else-if="scope.column.columnname === 'position'">
|
|
|
+ <el-input size="mini" readonly :value="$t(scope.column.data.position)" @input="rowChange(scope.column.data,scope.$index)" :placeholder="$t(`输入仓位`)"></el-input>
|
|
|
+ </div>
|
|
|
+ <div v-else-if="scope.column.columnname === 'batchno'">
|
|
|
+ <el-input size="mini" readonly :value="scope.column.data.batchno" @input="rowChange(scope.column.data,scope.$index)" :placeholder="$t(`输入批号`)"></el-input>
|
|
|
+ </div>
|
|
|
+ <div v-else-if="scope.column.columnname === 'remarks'">
|
|
|
+ <el-input v-model="scope.column.data.remarks" :placeholder="$t(`输入订单备注`)" size="mini" @change="rowChange(scope.column.data,scope.$index)"></el-input>
|
|
|
+ </div>
|
|
|
+ <div v-else-if="scope.column.columnname === 'nominalpressure'">
|
|
|
+ {{tool.nominalPressureSet(scope.column.data.nominalpressure)}}
|
|
|
+ </div>
|
|
|
+ <div v-else-if="scope.column.columnname === 'bookedqty'">
|
|
|
+ {{scope.column.data[scope.column.columnname]?scope.column.data[scope.column.columnname]:scope.column.data[scope.column.columnname] == 0?'0':'--'}}
|
|
|
+ </div>
|
|
|
+ <div v-else-if="scope.column.columnname === 'logisticsqty'">
|
|
|
+ {{scope.column.data[scope.column.columnname]?scope.column.data[scope.column.columnname]:scope.column.data[scope.column.columnname] == 0?'0':'--'}}
|
|
|
+ </div>
|
|
|
+ <div v-else-if="scope.column.columnname === 'undeliqty'">
|
|
|
+ {{scope.column.data[scope.column.columnname]?scope.column.data[scope.column.columnname]:scope.column.data[scope.column.columnname] == 0?'0':'--'}}
|
|
|
+ </div>
|
|
|
+ <div v-else-if="scope.column.columnname === 'aftersalesmagqty'">
|
|
|
+ {{scope.column.data[scope.column.columnname]?scope.column.data[scope.column.columnname]:scope.column.data[scope.column.columnname] == 0?'0':'--'}}
|
|
|
+ </div>
|
|
|
+ <div v-else-if="scope.column.columnname === 'unlogisticsqty'">
|
|
|
+ {{scope.column.data[scope.column.columnname]?scope.column.data[scope.column.columnname]:scope.column.data[scope.column.columnname] == 0?'0':'--'}}
|
|
|
+ </div>
|
|
|
+ <div v-else>{{scope.column.columnname === 'operation' || scope.column.data[scope.column.columnname]?scope.column.data[scope.column.columnname] : '--'}}</div>
|
|
|
+ </template>
|
|
|
+ <template v-slot:opreation="scope">
|
|
|
+<!-- <el-button v-if="data.status == '新建'" type="text" size="mini" @click="deleteOrderProduct(scope.data)">{{$t('删 除')}}</el-button>-->
|
|
|
+ </template>
|
|
|
+ </Table>
|
|
|
+ <div style="margin-top:16px;text-align:right">
|
|
|
+ <el-pagination
|
|
|
+ background
|
|
|
+ small
|
|
|
+ @size-change="handleSizeChange"
|
|
|
+ @current-change="handleCurrentChange"
|
|
|
+ :current-page="currentPage"
|
|
|
+ :page-size="param.content.pageSize"
|
|
|
+ layout="total, prev, pager, next, jumper"
|
|
|
+ :total="total">
|
|
|
+ </el-pagination>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+import Table from './table'
|
|
|
+export default {
|
|
|
+ name: "confirmList",
|
|
|
+ props:['data','type'],
|
|
|
+ components:{
|
|
|
+ Table
|
|
|
+ },
|
|
|
+ data () {
|
|
|
+ return {
|
|
|
+ tableData:[],
|
|
|
+ tablecols:[],
|
|
|
+ param:{
|
|
|
+ "id": 20221109093902,
|
|
|
+ "content": {
|
|
|
+ "sa_orderid": this.$route.query.id, //订单ID
|
|
|
+ "pageNumber": 1,
|
|
|
+ "pageSize": 10000,
|
|
|
+ "where": {
|
|
|
+ "condition": ""
|
|
|
+ }
|
|
|
+ },
|
|
|
+ },
|
|
|
+ pickerOptions1: {
|
|
|
+ disabledDate(time) {
|
|
|
+ return time.getTime() < new Date().getTime();
|
|
|
+ },
|
|
|
+ },
|
|
|
+ pickerOptions: {
|
|
|
+ disabledDate(time) {
|
|
|
+ return time.getTime() < (new Date().getTime() - 24 * 60 * 60 * 1000);
|
|
|
+ },
|
|
|
+ },
|
|
|
+ total:0,
|
|
|
+ currentPage:0,
|
|
|
+ time: null,
|
|
|
+ value1:'',
|
|
|
+ value2:'',
|
|
|
+ value3:'',
|
|
|
+ stockOptions:[],
|
|
|
+ totalPage:0,
|
|
|
+ progress:0,
|
|
|
+ progressVisible:false,
|
|
|
+ siteid:JSON.parse(sessionStorage.getItem('active_account')).siteid,
|
|
|
+ jsDay:'',
|
|
|
+ jsYcDay:''
|
|
|
+ }
|
|
|
+ },
|
|
|
+ methods:{
|
|
|
+ async listData () {
|
|
|
+ this.value3 = ''
|
|
|
+ this.jsYcDay = ''
|
|
|
+ this.jsDay = ''
|
|
|
+ this.param.content.sa_orderid = this.$route.query.id
|
|
|
+ const res = await this.$api.requested(this.param)
|
|
|
+ this.tableData = res.data.map(e=>{
|
|
|
+ e.newvalue = this.siteid === 'HY'?'':0
|
|
|
+ return e
|
|
|
+ })
|
|
|
+ // this.tableData = res.data.map(item=>{
|
|
|
+ // item.deliveryday = this.tool.confirmSet(item.deliverydate)
|
|
|
+ // return item
|
|
|
+ // })
|
|
|
+ this.total = res.total
|
|
|
+ this.currentPage = res.pageNumber
|
|
|
+ },
|
|
|
+ handleSizeChange(val) {
|
|
|
+ // console.log(`每页 ${val} 条`);
|
|
|
+ this.params.content.pageSize = val
|
|
|
+ this.listData()
|
|
|
+ },
|
|
|
+ handleCurrentChange(val) {
|
|
|
+ // console.log(`当前页: ${val}`);
|
|
|
+ this.param.content.pageNumber = val
|
|
|
+ this.listData()
|
|
|
+ },
|
|
|
+ stockChange (item,row,index) {
|
|
|
+ row.stockno = item.WAREHOUSE
|
|
|
+ row.position = item.LOCATION
|
|
|
+ row.batchno = item.LOT
|
|
|
+ this.$set(this.tableData,index,row)
|
|
|
+ this.updateOrder({
|
|
|
+ "sa_orderid": this.data.sa_orderid, //订单ID
|
|
|
+ "sys_enterpriseid": this.data.sys_enterpriseid, //企业ID
|
|
|
+ "sa_contractid": this.data.contacts.contactsid, //合同ID
|
|
|
+ "type": this.data.type, //订单类型
|
|
|
+ "items": this.tableData
|
|
|
+ })
|
|
|
+ },
|
|
|
+ rowChange (val,index) {
|
|
|
+ if (this.data.type != '特殊订单') {
|
|
|
+ if (val.qty > val.orderminqty){
|
|
|
+ if ((val.qty-val.orderminqty)/val.orderaddqty > 0){
|
|
|
+ let k = ((val.qty-val.orderminqty)/val.orderaddqty).toFixed(0)
|
|
|
+ val.qty = k * val.orderaddqty + val.orderminqty
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ let that = this
|
|
|
+ if(this.time !== null){
|
|
|
+ clearTimeout(this.time);
|
|
|
+ }
|
|
|
+ this.newData = val
|
|
|
+ this.time = setTimeout(() => {
|
|
|
+ val.amount = val.qty * val.price
|
|
|
+ this.$set(this.tableData,index,val)
|
|
|
+ that.updateOrder({
|
|
|
+ "sa_orderid": this.data.sa_orderid, //订单ID
|
|
|
+ "sys_enterpriseid": this.data.sys_enterpriseid, //企业ID
|
|
|
+ "sa_contractid": this.data.contacts.contactsid, //合同ID
|
|
|
+ "type": this.data.type, //订单类型
|
|
|
+ "items": this.tableData
|
|
|
+ })
|
|
|
+ },1000)
|
|
|
+ },
|
|
|
+ onDateChange (val){
|
|
|
+ let that = this
|
|
|
+ that.updateOrder({
|
|
|
+ "sa_orderid": this.data.sa_orderid, //订单ID
|
|
|
+ "sys_enterpriseid": this.data.sys_enterpriseid, //企业ID
|
|
|
+ "sa_contractid": this.data.contacts.contactsid, //合同ID
|
|
|
+ "type": this.data.type, //订单类型
|
|
|
+ "items": this.tableData
|
|
|
+ })
|
|
|
+ },
|
|
|
+ async updateOrder (val,fn) {
|
|
|
+ console.log(this.typeNew,'shuchu1111***')
|
|
|
+ const res = await this.$api.requested({
|
|
|
+ "id": 20221109093602,
|
|
|
+ "content": val
|
|
|
+ })
|
|
|
+ this.time = null
|
|
|
+ if (res.code == 1) {
|
|
|
+ this.$emit('onSuccess')
|
|
|
+ // this.listData()
|
|
|
+ } else {
|
|
|
+ this.$message({
|
|
|
+ message:res.data + ':' + res.msg,
|
|
|
+ type:'error'
|
|
|
+ })
|
|
|
+ }
|
|
|
+
|
|
|
+ },
|
|
|
+ async dateChangeNeed(val){
|
|
|
+ const res = await this.$api.requested({
|
|
|
+ "id": 20230104143802,
|
|
|
+ "content": {
|
|
|
+ "sa_orderid": this.data.sa_orderid,
|
|
|
+ "needdate": this.value1
|
|
|
+ },
|
|
|
+ })
|
|
|
+ this.listData(this.param.content.pageNumber = 1)
|
|
|
+ },
|
|
|
+ setPickerOptions (val) {
|
|
|
+ this.pickerOptions = {
|
|
|
+ disabledDate(time) {
|
|
|
+ return time.getTime() < new Date().getTime();
|
|
|
+ },
|
|
|
+ }
|
|
|
+ },
|
|
|
+ async setPickerOptions1 (val) {
|
|
|
+ let newData = new Date()
|
|
|
+ newData = newData.setDate(newData.getDate() + (val.delivery) + this.flag )
|
|
|
+ let year = new Date(newData).getFullYear()
|
|
|
+ let month = new Date(newData).getMonth() + 1
|
|
|
+ let day = new Date(newData).getDate()
|
|
|
+ let param = {
|
|
|
+ "id":20231008134404,
|
|
|
+ "content":{
|
|
|
+ "isExport":0,
|
|
|
+ "isnext":'0',
|
|
|
+ "pageNumber":1,
|
|
|
+ "pageSize":100,
|
|
|
+ "where":{
|
|
|
+ "begindate":year + '-' + month + '-' + day,
|
|
|
+ "enddate":year + '-' + month + '-' + day
|
|
|
+ }
|
|
|
+ },
|
|
|
+ }
|
|
|
+ const res = await this.$api.requested(param)
|
|
|
+ if (res.data.length === 0){
|
|
|
+ this.flag = 0
|
|
|
+ newData = new Date(newData)
|
|
|
+ newData = newData.setDate(newData.getDate() - 1)
|
|
|
+ this.pickerOptions1 = {
|
|
|
+ disabledDate(time) {
|
|
|
+ return time.getTime() < newData;
|
|
|
+ },
|
|
|
+ }
|
|
|
+ }else {
|
|
|
+ this.flag = this.flag + 1
|
|
|
+ this.setPickerOptions1(val)
|
|
|
+ }
|
|
|
+
|
|
|
+ },
|
|
|
+ async dateChange (row) {
|
|
|
+ this.tableData = this.tableData.filter(e=>{
|
|
|
+ if (e.delivery > 0) {
|
|
|
+ e.deliverydate = this.value2
|
|
|
+ }
|
|
|
+ return e
|
|
|
+ })
|
|
|
+ const res = await this.$api.requested({
|
|
|
+ "id": 20230104143102,
|
|
|
+ "content": {
|
|
|
+ "sa_orderid": this.$route.query.id,
|
|
|
+ "deliverydate": this.value2
|
|
|
+ },
|
|
|
+ })
|
|
|
+ this.listData(this.param.content.pageNumber = 1)
|
|
|
+ },
|
|
|
+ selectionChange (selection) {
|
|
|
+ this.$emit('select',selection)
|
|
|
+ },
|
|
|
+ // 订单添加商品
|
|
|
+ async onConfirm (data,isupload) {
|
|
|
+ if (isupload) {
|
|
|
+ const res = await this.$api.requested({
|
|
|
+ "id": 20221109093602,
|
|
|
+ "content": {
|
|
|
+ "sa_orderid": this.$route.query.id, //订单ID
|
|
|
+ "sys_enterpriseid": this.data.sys_enterpriseid, //企业ID
|
|
|
+ "type": this.data.type, //订单类型
|
|
|
+ "items": data.map(e=>{
|
|
|
+ return {
|
|
|
+ sa_orderitemsid:0,
|
|
|
+ itemid:e.itemid,
|
|
|
+ qty:e.orderminqty,
|
|
|
+ needdate:e.deliverydate
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ })
|
|
|
+ }
|
|
|
+ this.listData(this.param.content.pageNumber = 1)
|
|
|
+ this.$emit('onSuccess')
|
|
|
+ },
|
|
|
+ async queryStock (val) {
|
|
|
+ const res = await this.$api.requested({
|
|
|
+ "id": 20230228193201,
|
|
|
+ "content": {
|
|
|
+ "itemid": val.itemid,
|
|
|
+ "qty": val.qty
|
|
|
+ }
|
|
|
+
|
|
|
+ })
|
|
|
+ this.stockOptions = res.data
|
|
|
+ },
|
|
|
+ async queryBasicInfo () {
|
|
|
+ const res = await this.$api.requested({
|
|
|
+ "id":20220920084001,
|
|
|
+ "content":{
|
|
|
+ sys_enterpriseid:this.data.sys_enterpriseid
|
|
|
+ },
|
|
|
+ })
|
|
|
+ this.freefreightamount = res.data.freefreightamount?res.data.freefreightamount:0
|
|
|
+ },
|
|
|
+ /*批量添加商品*/
|
|
|
+ async addProducts(data){
|
|
|
+ let items = data.map(item => {
|
|
|
+ return {
|
|
|
+ sa_orderitemsid:0,
|
|
|
+ itemid:item.itemid,
|
|
|
+ qty:item.orderminqty,
|
|
|
+ needdate:item.deliverydate
|
|
|
+ }
|
|
|
+ })
|
|
|
+ const res = await this.$api.requested({
|
|
|
+ "id": 20221109093602,
|
|
|
+ "content": {
|
|
|
+ "sa_orderid": this.$route.query.id, //订单ID
|
|
|
+ "sys_enterpriseid": this.data.sys_enterpriseid, //企业ID
|
|
|
+ "type": this.data.type, //订单类型
|
|
|
+ "items": items
|
|
|
+ },
|
|
|
+ })
|
|
|
+ this.tool.showMessage(res,()=>{
|
|
|
+ this.listData(this.param.content.pageNumber = 1)
|
|
|
+ this.$refs.addProduct.listData()
|
|
|
+ this.$emit('onSuccess')
|
|
|
+ })
|
|
|
+ },
|
|
|
+ /*获取节假日数据*/
|
|
|
+ async holiday(now,date,days){
|
|
|
+ let dateNow = new Date(now)
|
|
|
+ let dateNow1 = new Date(date)
|
|
|
+ let monthB = (dateNow.getMonth() + 1) > 10 ? dateNow.getMonth() + 1 : '0' + (dateNow.getMonth() + 1)
|
|
|
+ let dateB = dateNow.getDate() > 10 ? dateNow.getDate() : '0' + dateNow.getDate()
|
|
|
+ let monthE = (dateNow1.getMonth() + 1) > 10 ? dateNow1.getMonth() + 1 : '0' + (dateNow1.getMonth() + 1)
|
|
|
+ let dateE = dateNow1.getDate() > 10 ? dateNow1.getDate() : '0' + dateNow1.getDate()
|
|
|
+ const res = await this.$api.requested({
|
|
|
+ id:20221215165504,
|
|
|
+ content:{
|
|
|
+ isExport: 0,
|
|
|
+ isnext: "0",
|
|
|
+ pageNumber: 1,
|
|
|
+ pageSize: 100,
|
|
|
+ where:{
|
|
|
+ begindate: monthB + '-' + dateB,
|
|
|
+ condition: "",
|
|
|
+ enddate: monthE + '-' + dateE
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
+ this.jsDay = res.total
|
|
|
+ if (this.jsDay >0){
|
|
|
+ const dateAdd = this.addDaysToDate(date, this.jsDay)
|
|
|
+ this.holidayE(now,dateAdd.toISOString().split('T')[0],Number(this.jsDay))
|
|
|
+ }else {
|
|
|
+ this.daysChange(date,days)
|
|
|
+ }
|
|
|
+ },
|
|
|
+ async holidayE(now,date,days){
|
|
|
+ let dateNow = new Date(now)
|
|
|
+ let dateNow1 = new Date(date)
|
|
|
+ let monthB = (dateNow.getMonth() + 1) > 10 ? dateNow.getMonth() + 1 : '0' + (dateNow.getMonth() + 1)
|
|
|
+ let dateB = dateNow.getDate() > 10 ? dateNow.getDate() : '0' + dateNow.getDate()
|
|
|
+ let monthE = (dateNow1.getMonth() + 1) > 10 ? dateNow1.getMonth() + 1 : '0' + (dateNow1.getMonth() + 1)
|
|
|
+ let dateE = dateNow1.getDate() > 10 ? dateNow1.getDate() : '0' + dateNow1.getDate()
|
|
|
+ const res = await this.$api.requested({
|
|
|
+ id:20221215165504,
|
|
|
+ content:{
|
|
|
+ isExport: 0,
|
|
|
+ isnext: "0",
|
|
|
+ pageNumber: 1,
|
|
|
+ pageSize: 100,
|
|
|
+ where:{
|
|
|
+ begindate: monthB + '-' + dateB,
|
|
|
+ condition: "",
|
|
|
+ enddate: monthE + '-' + dateE
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
+ this.jsYcDay = res.total - this.jsDay
|
|
|
+ if (this.jsYcDay >0){
|
|
|
+ const dateAdd = this.addDaysToDate(date, this.jsYcDay)
|
|
|
+ this.daysChange(dateAdd.toISOString().split('T')[0],this.value3)
|
|
|
+ }else {
|
|
|
+ this.daysChange(date,this.value3)
|
|
|
+ }
|
|
|
+ },
|
|
|
+ async daysChange(date,days){
|
|
|
+ this.tableData = this.tableData.filter(e=>{
|
|
|
+ e.deliverydays = this.value3
|
|
|
+ return e
|
|
|
+ })
|
|
|
+ const res = await this.$api.requested({
|
|
|
+ "id": 20230104143102,
|
|
|
+ "content": {
|
|
|
+ "sa_orderid": this.$route.query.id,
|
|
|
+ "deliverydate": date,
|
|
|
+ "deliverydays":this.value3
|
|
|
+ },
|
|
|
+ })
|
|
|
+ this.listData(this.param.content.pageNumber = 1)
|
|
|
+ },
|
|
|
+ setDeliveryDay(val){
|
|
|
+ let nowDate = new Date()
|
|
|
+ let year = nowDate.getFullYear()
|
|
|
+ let month = (nowDate.getMonth() + 1) > 10 ? nowDate.getMonth() + 1 : '0' + (nowDate.getMonth() + 1)
|
|
|
+ let date = nowDate.getDate() > 10 ? nowDate.getDate() : '0' + nowDate.getDate()
|
|
|
+ let dateNew = year + '-' + month + '-' + date
|
|
|
+ const originalDate = new Date(dateNew);
|
|
|
+ const newDate = this.addDaysToDate(originalDate, Number(val));
|
|
|
+ this.holiday(dateNew,newDate.toISOString().split('T')[0])
|
|
|
+ },
|
|
|
+ addDaysToDate(date, days) {
|
|
|
+ const result = new Date(date); // 创建原始日期的副本
|
|
|
+ result.setDate(result.getDate() + days); // 添加 N 天
|
|
|
+ return result; // 返回新的日期对象
|
|
|
+ }
|
|
|
+ },
|
|
|
+ mounted () {
|
|
|
+ this.flag = 0
|
|
|
+ this.siteid = JSON.parse(sessionStorage.getItem('active_account')).siteid
|
|
|
+ this.listData(this.param.content.pageNumber = 1)
|
|
|
+ // this.queryStock()
|
|
|
+ // this.columnTitle = []
|
|
|
+ setTimeout(() => {
|
|
|
+ /* 处理宁波站点 */
|
|
|
+ let siteid = JSON.parse(sessionStorage.getItem('active_account')).siteid
|
|
|
+ if ((siteid === 'NB' || siteid === 'HY') && this.data.type === '特殊订单' && this.data.typemx === '样品') {
|
|
|
+ this.tablecols = this.tool.tabelCol(this.$route.name).productTable.tablecols
|
|
|
+ } else {
|
|
|
+ this.tablecols = this.tool.tabelCol(this.$route.name).productTable.tablecols.filter(item => {
|
|
|
+ if (item.columnname != 'stockname' && item.columnname != 'position' && item.columnname != 'batchno') return item
|
|
|
+ })
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ // this.$refs.multipleTable.$refs.table.$children.forEach(obj => {
|
|
|
+ // let columnChild = {'columnname':obj.prop,'filter':0,'rowindex':'','sequence':'','title':obj.label,'width':obj.width}
|
|
|
+ // // 存到columnTitle数组中
|
|
|
+ // this.columnTitle.push(columnChild)
|
|
|
+ // })
|
|
|
+ },1000)
|
|
|
+ },
|
|
|
+ created() {
|
|
|
+ // this.tablecolsAdd = this.tool.tabelCol(this.$route.name).productTable.tablecols
|
|
|
+ }
|
|
|
+}
|
|
|
+</script>
|
|
|
+
|
|
|
+<style scoped>
|
|
|
+body .el-table th.gutter{
|
|
|
+ display: table-cell!important;
|
|
|
+}
|
|
|
+/deep/ .el-input.is-disabled .el-input__inner{
|
|
|
+ color: #666666;
|
|
|
+}
|
|
|
+/deep/.el-textarea.is-disabled .el-textarea__inner {
|
|
|
+ color: #666666;
|
|
|
+}
|
|
|
+</style>
|