|
@@ -1,95 +1,97 @@
|
|
|
<template>
|
|
|
<div style="height: calc(100vh - 245px)">
|
|
|
- <addOrder
|
|
|
- v-if="!isDisabled && tool.checkAuth($route.name, 'order')"
|
|
|
- ref="addOrder"
|
|
|
- :param="paramAdd"
|
|
|
- :tablecols="tablecolsAdd"
|
|
|
- :title="'添加订单'"
|
|
|
- class="inline-16"
|
|
|
- @add="addOrder"
|
|
|
- @adds="addOrders"
|
|
|
- @uploadData="uploadData"
|
|
|
- @onSuccess="onSuccess"
|
|
|
- :dataType="'订单'"
|
|
|
- ></addOrder>
|
|
|
- <el-button
|
|
|
- @click="delAll"
|
|
|
- :type="list.length === 0 ? '' : 'primary'"
|
|
|
- size="small"
|
|
|
- v-if="!isDisabled && tool.checkAuth($route.name, 'order')"
|
|
|
- :disabled="list.length === 0"
|
|
|
+ <div>
|
|
|
+ <addOrder
|
|
|
+ v-if="!isDisabled && tool.checkAuth($route.name, 'order')"
|
|
|
+ ref="addOrder"
|
|
|
+ :param="paramAdd"
|
|
|
+ :tablecols="tablecolsAdd"
|
|
|
+ :title="'添加订单'"
|
|
|
+ class="inline-16"
|
|
|
+ @add="addOrder"
|
|
|
+ @adds="addOrders"
|
|
|
+ @uploadData="uploadData"
|
|
|
+ @onSuccess="onSuccess"
|
|
|
+ :dataType="'订单'"
|
|
|
+ ></addOrder>
|
|
|
+ <el-button
|
|
|
+ @click="delAll"
|
|
|
+ :type="list.length === 0 ? '' : 'primary'"
|
|
|
+ size="small"
|
|
|
+ v-if="!isDisabled && tool.checkAuth($route.name, 'order')"
|
|
|
+ :disabled="list.length === 0"
|
|
|
>{{ $t(`一键删除`) }}</el-button
|
|
|
- >
|
|
|
- <el-button
|
|
|
- v-if="!isDisabled && tool.checkAuth($route.name, 'order')"
|
|
|
- :type="items.length > 0 ? 'primary' : ''"
|
|
|
- size="small"
|
|
|
- @click="delOrders"
|
|
|
- class="inline-16"
|
|
|
- :disabled="items.length === 0"
|
|
|
+ >
|
|
|
+ <el-button
|
|
|
+ v-if="!isDisabled && tool.checkAuth($route.name, 'order')"
|
|
|
+ :type="items.length > 0 ? 'primary' : ''"
|
|
|
+ size="small"
|
|
|
+ @click="delOrders"
|
|
|
+ class="inline-16"
|
|
|
+ :disabled="items.length === 0"
|
|
|
>{{ $t("删 除") }}</el-button
|
|
|
- >
|
|
|
- <el-input
|
|
|
- style="width: 200px"
|
|
|
- :placeholder="$t('搜索')"
|
|
|
- :suffix-icon="
|
|
|
+ >
|
|
|
+ <el-input
|
|
|
+ style="width: 200px"
|
|
|
+ :placeholder="$t('搜索')"
|
|
|
+ :suffix-icon="
|
|
|
param.content.where.condition
|
|
|
? param.content.where.condition.length > 0
|
|
|
? ''
|
|
|
: ''
|
|
|
: 'el-icon-search'
|
|
|
"
|
|
|
- v-model="param.content.where.condition"
|
|
|
- @keyup.native.enter="listData((param.content.pageNumber = 1))"
|
|
|
- @clear="listData((param.content.pageNumber = 1))"
|
|
|
- size="small"
|
|
|
- class="input-with-select inline-16 layout_search__panel"
|
|
|
- clearable
|
|
|
- >
|
|
|
- </el-input>
|
|
|
- <tableList
|
|
|
- height="calc(100vh - 335px)"
|
|
|
- ref="projectRef"
|
|
|
- style="margin-top: 10px"
|
|
|
- :checkbox="true"
|
|
|
- :layout="tablecols"
|
|
|
- :data="list"
|
|
|
- :opwidth="200"
|
|
|
- :custom="true"
|
|
|
- fixedName="operation"
|
|
|
- highlight-current-row
|
|
|
- @selectionChange="selectionChange"
|
|
|
- >
|
|
|
- <template v-slot:customcol="scope">
|
|
|
- <div v-if="scope.column.columnname === 'operation'">
|
|
|
- <span>{{ $t(scope.column.data[scope.column.columnname]) }}</span>
|
|
|
- </div>
|
|
|
- <div v-else-if="scope.column.columnname === 'defaultamount'">
|
|
|
+ v-model="param.content.where.condition"
|
|
|
+ @keyup.native.enter="listData((param.content.pageNumber = 1))"
|
|
|
+ @clear="listData((param.content.pageNumber = 1))"
|
|
|
+ size="small"
|
|
|
+ class="input-with-select inline-16 layout_search__panel"
|
|
|
+ clearable
|
|
|
+ >
|
|
|
+ </el-input>
|
|
|
+ <tableList
|
|
|
+ height="240px"
|
|
|
+ ref="projectRef"
|
|
|
+ style="margin-top: 10px"
|
|
|
+ :checkbox="true"
|
|
|
+ :layout="tablecols"
|
|
|
+ :data="list"
|
|
|
+ :opwidth="200"
|
|
|
+ :custom="true"
|
|
|
+ fixedName="operation"
|
|
|
+ highlight-current-row
|
|
|
+ @rowClick="rowClick"
|
|
|
+ @selectionChange="selectionChange"
|
|
|
+ >
|
|
|
+ <template v-slot:customcol="scope">
|
|
|
+ <div v-if="scope.column.columnname === 'operation'">
|
|
|
+ <span>{{ $t(scope.column.data[scope.column.columnname]) }}</span>
|
|
|
+ </div>
|
|
|
+ <div v-else-if="scope.column.columnname === 'defaultamount'">
|
|
|
<span
|
|
|
- >¥{{
|
|
|
+ >¥{{
|
|
|
tool.formatAmount(scope.column.data[scope.column.columnname], 2)
|
|
|
}}</span
|
|
|
>
|
|
|
- </div>
|
|
|
- <div v-else-if="scope.column.columnname === 'amount'">
|
|
|
+ </div>
|
|
|
+ <div v-else-if="scope.column.columnname === 'amount'">
|
|
|
<span
|
|
|
- >¥{{
|
|
|
+ >¥{{
|
|
|
tool.formatAmount(scope.column.data[scope.column.columnname], 2)
|
|
|
}}</span
|
|
|
>
|
|
|
- </div>
|
|
|
- <div v-else-if="scope.column.columnname === 'outamount'">
|
|
|
+ </div>
|
|
|
+ <div v-else-if="scope.column.columnname === 'outamount'">
|
|
|
<span v-if="isDisabled"
|
|
|
- >¥{{
|
|
|
+ >¥{{
|
|
|
tool.formatAmount(scope.column.data[scope.column.columnname], 2)
|
|
|
}}</span
|
|
|
>
|
|
|
- <span v-else>
|
|
|
+ <span v-else>
|
|
|
<el-input
|
|
|
- size="mini"
|
|
|
- v-model="scope.column.data.outamount"
|
|
|
- @change="
|
|
|
+ size="mini"
|
|
|
+ v-model="scope.column.data.outamount"
|
|
|
+ @change="
|
|
|
onChange(
|
|
|
scope.column.data.price,
|
|
|
scope.$index,
|
|
@@ -98,18 +100,18 @@
|
|
|
"
|
|
|
></el-input>
|
|
|
</span>
|
|
|
- </div>
|
|
|
- <div v-else-if="scope.column.columnname === 'invoiceamount'">
|
|
|
+ </div>
|
|
|
+ <div v-else-if="scope.column.columnname === 'invoiceamount'">
|
|
|
<span v-if="isDisabled"
|
|
|
- >¥{{
|
|
|
+ >¥{{
|
|
|
tool.formatAmount(scope.column.data[scope.column.columnname], 2)
|
|
|
}}</span
|
|
|
>
|
|
|
- <span v-else>
|
|
|
+ <span v-else>
|
|
|
<el-input
|
|
|
- size="mini"
|
|
|
- v-model="scope.column.data.invoiceamount"
|
|
|
- @change="
|
|
|
+ size="mini"
|
|
|
+ v-model="scope.column.data.invoiceamount"
|
|
|
+ @change="
|
|
|
onChange(
|
|
|
scope.column.data.price,
|
|
|
scope.$index,
|
|
@@ -118,72 +120,306 @@
|
|
|
"
|
|
|
></el-input>
|
|
|
</span>
|
|
|
- </div>
|
|
|
- <div v-else-if="scope.column.columnname === 'unoutamount'">
|
|
|
+ </div>
|
|
|
+ <div v-else-if="scope.column.columnname === 'unoutamount'">
|
|
|
<span
|
|
|
- >¥{{
|
|
|
+ >¥{{
|
|
|
tool.formatAmount(scope.column.data[scope.column.columnname], 2)
|
|
|
}}</span
|
|
|
>
|
|
|
- </div>
|
|
|
- <div v-else-if="scope.column.columnname === 'uninvoiceamount'">
|
|
|
+ </div>
|
|
|
+ <div v-else-if="scope.column.columnname === 'uninvoiceamount'">
|
|
|
<span
|
|
|
- >¥{{
|
|
|
+ >¥{{
|
|
|
tool.formatAmount(scope.column.data[scope.column.columnname], 2)
|
|
|
}}</span
|
|
|
>
|
|
|
- </div>
|
|
|
- <p v-else>
|
|
|
- {{
|
|
|
- scope.column.data[scope.column.columnname]
|
|
|
- ? $t(scope.column.data[scope.column.columnname])
|
|
|
- : "--"
|
|
|
- }}
|
|
|
- </p>
|
|
|
- </template>
|
|
|
- <template v-slot:opreation="scope">
|
|
|
- <el-button
|
|
|
- size="mini"
|
|
|
- type="text"
|
|
|
- @click="delOrder(scope.data)"
|
|
|
- :disabled="isDisabled"
|
|
|
- :loading="loading"
|
|
|
+ </div>
|
|
|
+ <p v-else>
|
|
|
+ {{
|
|
|
+ scope.column.data[scope.column.columnname]
|
|
|
+ ? $t(scope.column.data[scope.column.columnname])
|
|
|
+ : "--"
|
|
|
+ }}
|
|
|
+ </p>
|
|
|
+ </template>
|
|
|
+ <template v-slot:opreation="scope">
|
|
|
+ <el-button
|
|
|
+ size="mini"
|
|
|
+ type="text"
|
|
|
+ @click="delOrder(scope.data)"
|
|
|
+ :disabled="isDisabled"
|
|
|
+ :loading="loading"
|
|
|
>{{ $t("删 除") }}</el-button
|
|
|
- >
|
|
|
- </template>
|
|
|
- </tableList>
|
|
|
- <div class="container" style="text-align: left; float: left">
|
|
|
+ >
|
|
|
+ </template>
|
|
|
+ </tableList>
|
|
|
+ <div class="container" style="text-align: left; float: left">
|
|
|
<span style="font-size: 14px"
|
|
|
- >{{ $t(`出货预测金额`) }}: ¥{{
|
|
|
+ >{{ $t(`出货预测金额`) }}: ¥{{
|
|
|
alloutamount > 10000
|
|
|
- ? tool.formatAmount(tool.unitConversion(alloutamount, 10000), 2) +
|
|
|
+ ? tool.formatAmount(tool.unitConversion(alloutamount, 10000), 2) +
|
|
|
$t("万")
|
|
|
- : tool.formatAmount(alloutamount, 2)
|
|
|
+ : tool.formatAmount(alloutamount, 2)
|
|
|
}}</span
|
|
|
>
|
|
|
- <span style="font-size: 14px; margin-left: 10px"
|
|
|
+ <span style="font-size: 14px; margin-left: 10px"
|
|
|
>{{ $t(`开票预测金额`) }}: ¥{{
|
|
|
- allinvoiceamount > 10000
|
|
|
- ? tool.formatAmount(
|
|
|
+ allinvoiceamount > 10000
|
|
|
+ ? tool.formatAmount(
|
|
|
tool.unitConversion(allinvoiceamount, 10000),
|
|
|
2
|
|
|
- ) + $t("万")
|
|
|
- : tool.formatAmount(allinvoiceamount, 2)
|
|
|
- }}</span
|
|
|
- >
|
|
|
+ ) + $t("万")
|
|
|
+ : tool.formatAmount(allinvoiceamount, 2)
|
|
|
+ }}</span
|
|
|
+ >
|
|
|
+ </div>
|
|
|
+ <div class="container" style="text-align: right; float: right">
|
|
|
+ <el-pagination
|
|
|
+ background
|
|
|
+ @size-change="handleSizeChange"
|
|
|
+ @current-change="handleCurrentChange"
|
|
|
+ :current-page="param.content.pageNumber"
|
|
|
+ :page-sizes="[20, 50, 100, 200]"
|
|
|
+ :page-size="20"
|
|
|
+ layout="total,sizes, prev, pager, next, jumper"
|
|
|
+ :total="total"
|
|
|
+ >
|
|
|
+ </el-pagination>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
- <div class="container" style="text-align: right; float: right">
|
|
|
- <el-pagination
|
|
|
- background
|
|
|
- @size-change="handleSizeChange"
|
|
|
- @current-change="handleCurrentChange"
|
|
|
- :current-page="param.content.pageNumber"
|
|
|
- :page-sizes="[20, 50, 100, 200]"
|
|
|
- :page-size="20"
|
|
|
- layout="total,sizes, prev, pager, next, jumper"
|
|
|
- :total="total"
|
|
|
+ <div style="margin-top: 10px;clear: both">
|
|
|
+ <div>
|
|
|
+ <el-input
|
|
|
+ style="width: 200px"
|
|
|
+ :placeholder="$t('搜索')"
|
|
|
+ :suffix-icon="
|
|
|
+ productsParam.content.where.condition
|
|
|
+ ? productsParam.content.where.condition.length > 0
|
|
|
+ ? ''
|
|
|
+ : ''
|
|
|
+ : 'el-icon-search'
|
|
|
+ "
|
|
|
+ v-model="productsParam.content.where.condition"
|
|
|
+ @keyup.native.enter="
|
|
|
+ listProduct((productsParam.content.pageNumber = 1))
|
|
|
+ "
|
|
|
+ @clear="listProduct((productsParam.content.pageNumber = 1))"
|
|
|
+ size="small"
|
|
|
+ class="input-with-select inline-16 layout_search__panel"
|
|
|
+ clearable
|
|
|
+ >
|
|
|
+ </el-input>
|
|
|
+ </div>
|
|
|
+ <tableList
|
|
|
+ :height="multipleSize > 1512 ? 'calc(100vh - 720px)' : 'calc(100vh - 700px)'"
|
|
|
+ ref="productRef"
|
|
|
+ style="margin-top: 10px"
|
|
|
+ :checkbox="true"
|
|
|
+ :layout="tablecolsProduct"
|
|
|
+ :data="productList"
|
|
|
+ :opwidth="200"
|
|
|
+ :custom="true"
|
|
|
+ fixedName="operation"
|
|
|
+ :headerOptions="['plandeliverydate']"
|
|
|
>
|
|
|
- </el-pagination>
|
|
|
+ <template v-slot:header="scope">
|
|
|
+ <div v-if="scope.column.columnname == 'plandeliverydate'">
|
|
|
+ <span v-if="isDisabled || unoutamountOrder === 0">{{
|
|
|
+ $t(`计划出货日期`)
|
|
|
+ }}</span>
|
|
|
+ <span v-else>
|
|
|
+ <el-date-picker
|
|
|
+ style="width: 130px"
|
|
|
+ v-model="planDate"
|
|
|
+ :picker-options="pickerOptions"
|
|
|
+ format="yyyy-MM-dd"
|
|
|
+ value-format="yyyy-MM-dd"
|
|
|
+ type="date"
|
|
|
+ size="mini"
|
|
|
+ :placeholder="$t(`计划出货日期`)"
|
|
|
+ >
|
|
|
+ </el-date-picker>
|
|
|
+ </span>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ <template v-slot:customcol="scope">
|
|
|
+ <div v-if="scope.column.columnname === 'operation'">
|
|
|
+ <span>{{ $t(scope.column.data[scope.column.columnname]) }}</span>
|
|
|
+ </div>
|
|
|
+ <div v-else-if="scope.column.columnname === 'defaultamount'">
|
|
|
+ <span
|
|
|
+ >¥{{
|
|
|
+ tool.formatAmount(scope.column.data[scope.column.columnname], 2)
|
|
|
+ }}</span
|
|
|
+ >
|
|
|
+ </div>
|
|
|
+ <div v-else-if="scope.column.columnname === 'amount'">
|
|
|
+ <span
|
|
|
+ >¥{{
|
|
|
+ tool.formatAmount(scope.column.data[scope.column.columnname], 2)
|
|
|
+ }}</span
|
|
|
+ >
|
|
|
+ </div>
|
|
|
+ <div v-else-if="scope.column.columnname === 'price'">
|
|
|
+ <span
|
|
|
+ >¥{{
|
|
|
+ tool.formatAmount(scope.column.data[scope.column.columnname], 2)
|
|
|
+ }}</span
|
|
|
+ >
|
|
|
+ </div>
|
|
|
+ <div v-else-if="scope.column.columnname === 'outamount'">
|
|
|
+ <span v-if="isDisabled"
|
|
|
+ >¥{{
|
|
|
+ tool.formatAmount(scope.column.data[scope.column.columnname], 2)
|
|
|
+ }}</span
|
|
|
+ >
|
|
|
+ <span v-else>
|
|
|
+ <el-input
|
|
|
+ size="mini"
|
|
|
+ v-model="scope.column.data.outamount"
|
|
|
+ @change="
|
|
|
+ onChange(
|
|
|
+ scope.column.data.price,
|
|
|
+ scope.$index,
|
|
|
+ scope.column.data
|
|
|
+ )
|
|
|
+ "
|
|
|
+ ></el-input>
|
|
|
+ </span>
|
|
|
+ </div>
|
|
|
+ <div v-else-if="scope.column.columnname === 'invoiceamount'">
|
|
|
+ <span v-if="isDisabled"
|
|
|
+ >¥{{
|
|
|
+ tool.formatAmount(scope.column.data[scope.column.columnname], 2)
|
|
|
+ }}</span
|
|
|
+ >
|
|
|
+ <span v-else>
|
|
|
+ <el-input
|
|
|
+ size="mini"
|
|
|
+ v-model="scope.column.data.invoiceamount"
|
|
|
+ @change="
|
|
|
+ onChange(
|
|
|
+ scope.column.data.price,
|
|
|
+ scope.$index,
|
|
|
+ scope.column.data
|
|
|
+ )
|
|
|
+ "
|
|
|
+ ></el-input>
|
|
|
+ </span>
|
|
|
+ </div>
|
|
|
+ <div v-else-if="scope.column.columnname === 'unoutamount'">
|
|
|
+ <span
|
|
|
+ >¥{{
|
|
|
+ tool.formatAmount(scope.column.data[scope.column.columnname], 2)
|
|
|
+ }}</span
|
|
|
+ >
|
|
|
+ </div>
|
|
|
+ <div v-else-if="scope.column.columnname === 'uninvoiceamount'">
|
|
|
+ <span
|
|
|
+ >¥{{
|
|
|
+ tool.formatAmount(scope.column.data[scope.column.columnname], 2)
|
|
|
+ }}</span
|
|
|
+ >
|
|
|
+ </div>
|
|
|
+ <div v-else-if="scope.column.columnname === 'defaultprice'">
|
|
|
+ <span
|
|
|
+ >¥{{
|
|
|
+ tool.formatAmount(scope.column.data[scope.column.columnname], 2)
|
|
|
+ }}</span
|
|
|
+ >
|
|
|
+ </div>
|
|
|
+ <div v-else-if="scope.column.columnname === 'marketprice'">
|
|
|
+ <span
|
|
|
+ >¥{{
|
|
|
+ tool.formatAmount(scope.column.data[scope.column.columnname], 2)
|
|
|
+ }}</span
|
|
|
+ >
|
|
|
+ </div>
|
|
|
+ <div v-else-if="scope.column.columnname === 'plandeliverydate'">
|
|
|
+ <span v-if="isDisabled || unoutamountOrder === 0">
|
|
|
+ {{ $t(scope.column.data[scope.column.columnname]) || '--' }}
|
|
|
+ </span>
|
|
|
+ <span v-else>
|
|
|
+ <el-date-picker
|
|
|
+ style="width: 130px"
|
|
|
+ v-model="scope.column.data[scope.column.columnname]"
|
|
|
+ :picker-options="pickerOptions"
|
|
|
+ format="yyyy-MM-dd"
|
|
|
+ value-format="yyyy-MM-dd"
|
|
|
+ @change="
|
|
|
+ dataChange(
|
|
|
+ scope.column.data.plandeliverydate,
|
|
|
+ scope.$index,
|
|
|
+ scope.column.data
|
|
|
+ )
|
|
|
+ "
|
|
|
+ type="date"
|
|
|
+ size="mini"
|
|
|
+ :placeholder="$t('选择日期')"
|
|
|
+ >
|
|
|
+ </el-date-picker>
|
|
|
+ </span>
|
|
|
+ </div>
|
|
|
+ <p v-else>
|
|
|
+ {{
|
|
|
+ scope.column.data[scope.column.columnname]
|
|
|
+ ? $t(scope.column.data[scope.column.columnname])
|
|
|
+ : "--"
|
|
|
+ }}
|
|
|
+ </p>
|
|
|
+ </template>
|
|
|
+ <template v-slot:opreation="scope">
|
|
|
+ <el-button
|
|
|
+ v-if="tool.checkAuth($route.name, 'order')"
|
|
|
+ size="mini"
|
|
|
+ type="text"
|
|
|
+ :disabled="isDisabled"
|
|
|
+ :loading="loading"
|
|
|
+ >{{ $t("删 除") }}</el-button
|
|
|
+ >
|
|
|
+ </template>
|
|
|
+ </tableList>
|
|
|
+ <div style="display: flex; justify-content: space-between; padding: 10px">
|
|
|
+ <div style="line-height: 30px; vertical-align: middle">
|
|
|
+ <span style="font-size: 14px"
|
|
|
+ >{{ $t(`总数量`) }}:{{ totalqty }}</span
|
|
|
+ >
|
|
|
+ <span style="font-size: 14px; margin-left: 10px"
|
|
|
+ >{{ $t(`总金额`) }}: ¥{{
|
|
|
+ totalamount > 10000
|
|
|
+ ? tool.formatAmount(
|
|
|
+ tool.unitConversion(totalamount, 10000),
|
|
|
+ 2
|
|
|
+ ) + $t("万")
|
|
|
+ : tool.formatAmount(totalamount, 2)
|
|
|
+ }}</span
|
|
|
+ >
|
|
|
+ <span style="font-size: 14px; margin-left: 10px"
|
|
|
+ >{{ $t(`折后金额`) }}: ¥{{
|
|
|
+ totaldefaultamount > 10000
|
|
|
+ ? tool.formatAmount(
|
|
|
+ tool.unitConversion(totaldefaultamount, 10000),
|
|
|
+ 2
|
|
|
+ ) + $t("万")
|
|
|
+ : tool.formatAmount(totaldefaultamount, 2)
|
|
|
+ }}</span
|
|
|
+ >
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ <el-pagination
|
|
|
+ background
|
|
|
+ @size-change="handleSizeChangeProduct"
|
|
|
+ @current-change="handleCurrentChangeProduct"
|
|
|
+ :current-page="productsParam.content.pageNumber"
|
|
|
+ :page-sizes="[20, 50, 100, 200]"
|
|
|
+ :page-size="20"
|
|
|
+ layout="total,sizes, prev, pager, next, jumper"
|
|
|
+ :total="productTotal"
|
|
|
+ >
|
|
|
+ </el-pagination>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</template>
|
|
@@ -196,12 +432,30 @@ export default {
|
|
|
props: ["id", "isDisabled"],
|
|
|
components: { addOrder, tableList },
|
|
|
data() {
|
|
|
+ let that = this;
|
|
|
return {
|
|
|
+ pickerOptions: {
|
|
|
+ disabledDate(time) {
|
|
|
+ let date = new Date(that.data.periodstart);
|
|
|
+ let timestamp = date.getTime();
|
|
|
+ let days = 1;
|
|
|
+ let dayMilliseconds = days * 24 * 60 * 60 * 1000;
|
|
|
+ let newTimestamp = timestamp - dayMilliseconds;
|
|
|
+ let newDate = new Date(newTimestamp);
|
|
|
+ let newDateStr = newDate.toISOString().slice(0, 10);
|
|
|
+ return (
|
|
|
+ time.getTime() < new Date(newDateStr) ||
|
|
|
+ time.getTime() > new Date(that.data.periodend)
|
|
|
+ );
|
|
|
+ },
|
|
|
+ },
|
|
|
loading: false,
|
|
|
+ planDate: "",
|
|
|
items: [],
|
|
|
list: [],
|
|
|
tablecolsAdd: [],
|
|
|
tablecols: [],
|
|
|
+ tablecolsProduct:[],
|
|
|
alloutamount: 0,
|
|
|
allinvoiceamount: 0,
|
|
|
total: 0,
|
|
@@ -230,6 +484,24 @@ export default {
|
|
|
},
|
|
|
},
|
|
|
},
|
|
|
+ /*产品列表*/
|
|
|
+ productsParam: {
|
|
|
+ id: 20230705145004,
|
|
|
+ content: {
|
|
|
+ sa_salesforecastprojectid: "",
|
|
|
+ sa_salesforecastbillid: "",
|
|
|
+ where: {
|
|
|
+ condition: "",
|
|
|
+ },
|
|
|
+ },
|
|
|
+ },
|
|
|
+ totalqty:0,
|
|
|
+ totalamount:0,
|
|
|
+ totaldefaultamount:0,
|
|
|
+ productList:[],
|
|
|
+ productTotal:0,
|
|
|
+ screenWidth: 0,
|
|
|
+ multipleSize:0
|
|
|
};
|
|
|
},
|
|
|
methods: {
|
|
@@ -244,10 +516,12 @@ export default {
|
|
|
item.invoiceamount = this.tool.formatAmount(item.invoiceamount,2)
|
|
|
})
|
|
|
}*/
|
|
|
+ this.productsParam.content.sa_salesforecastprojectid = res.data[0].sa_salesforecastprojectid
|
|
|
if (this.list.length > 0) {
|
|
|
this.alloutamount = res.data[0].alloutamount;
|
|
|
this.allinvoiceamount = res.data[0].allinvoiceamount;
|
|
|
this.total = res.total;
|
|
|
+ this.listProduct();
|
|
|
}
|
|
|
},
|
|
|
async addOrder(val) {
|
|
@@ -431,15 +705,62 @@ export default {
|
|
|
this.listData();
|
|
|
this.$emit("onSuccess");
|
|
|
},
|
|
|
+ /*产品列表*/
|
|
|
+ async listProduct() {
|
|
|
+ this.totalqty = 0;
|
|
|
+ this.totalamount = 0;
|
|
|
+ this.totaldefaultamount = 0;
|
|
|
+ this.productsParam.content.sa_salesforecastbillid = this.$route.query.id;
|
|
|
+ const res = await this.$api.requested(this.productsParam);
|
|
|
+ this.productList = res.data;
|
|
|
+ this.productTotal = res.total;
|
|
|
+ if (this.productList.length > 0) {
|
|
|
+ this.totalqty = res.data[0].totalqty;
|
|
|
+ this.totalamount = res.data[0].totalamount;
|
|
|
+ this.totaldefaultamount = res.data[0].totaldefaultamount;
|
|
|
+ }
|
|
|
+ },
|
|
|
+ handleSizeChangeProduct(val) {
|
|
|
+ // console.log(`每页 ${val} 条`);
|
|
|
+ this.productsParam.content.pageSize = val;
|
|
|
+ this.listProduct();
|
|
|
+ },
|
|
|
+ handleCurrentChangeProduct(val) {
|
|
|
+ // console.log(`当前页: ${val}`);
|
|
|
+ this.productsParam.content.pageNumber = val;
|
|
|
+ this.listProduct();
|
|
|
+ },
|
|
|
+ handleResize() {
|
|
|
+ // 更新屏幕宽度
|
|
|
+ this.screenWidth = window.innerWidth;
|
|
|
+ },
|
|
|
+ rowClick(val){
|
|
|
+ this.productsParam.content.sa_salesforecastprojectid = val.sa_salesforecastprojectid
|
|
|
+ this.listProduct()
|
|
|
+ }
|
|
|
},
|
|
|
mounted() {
|
|
|
this.listData();
|
|
|
+ // 监听窗口大小变化
|
|
|
+ window.addEventListener("resize", this.handleResize);
|
|
|
+ // 初始化屏幕宽度
|
|
|
+ this.screenWidth = window.innerWidth;
|
|
|
+ },
|
|
|
+ watch: {
|
|
|
+ screenWidth(newWidth) {
|
|
|
+ // 根据新的屏幕宽度计算 multipleSize 属性的值
|
|
|
+ this.multipleSize = newWidth;
|
|
|
+ console.log(this.multipleSize, "当前屏幕宽度订单");
|
|
|
+ },
|
|
|
},
|
|
|
created() {
|
|
|
this.tablecolsAdd = this.tool.tabelCol(
|
|
|
this.$route.name
|
|
|
).orderAddTable.tablecols;
|
|
|
this.tablecols = this.tool.tabelCol(this.$route.name).orderTable.tablecols;
|
|
|
+ this.tablecolsProduct = this.tool.tabelCol(
|
|
|
+ this.$route.name
|
|
|
+ ).productTable.tablecols;
|
|
|
},
|
|
|
};
|
|
|
</script>
|