| | |
| | | <template> |
| | | <div class="rightContent"> |
| | | <el-dialog |
| | | title="配置初期时间" |
| | | :visible.sync="timeModal" |
| | | width="30%" |
| | | :before-close="handlerClose"> |
| | | <el-form style="width: 80%;margin: 20px auto;" ref="sysFormRef"> |
| | | <el-form-item label="日期配置:"> |
| | | <el-select v-model="startDate.day" style="margin-left: 20px"> |
| | | <el-option v-for="day in 28" :value="day.toString().padStart(2,'0')":label="day.toString().padStart(2,'0')"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="时间配置:"> |
| | | <el-time-select |
| | | :picker-options="startPickerOptions" |
| | | v-model="startDate.time" |
| | | type="time" |
| | | format="HH:mm" |
| | | value-format="HH:mm" |
| | | :clearable='true' |
| | | class='margin_left_20px'> |
| | | </el-time-select> |
| | | </el-form-item> |
| | | </el-form> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="timeModal = false" size="mini">取 消</el-button> |
| | | <el-button type="primary" @click="saveStartDate" size="mini">保存</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | <div class="top"> |
| | | <SearchCommonView :add-title="'新建'" :showAdd="false" :placeholder="'请输入产品编码/产品名称搜索'" :amount-view="false" |
| | | <SearchCommonView :add-title="'新建'" :showAdd="false" :placeholder="'请输入产品编码/产品名称搜索'" :amount-view="false" :showDownload="true" @downloadClick="downHttpClick" |
| | | @searchClick="getList" > |
| | | <template slot="leftButton"> |
| | | <el-date-picker |
| | | v-model="monthBoundObject.date" |
| | | value-format="yyyy-MM" |
| | | format="yyyy-MM" |
| | | type="month" |
| | | :clearable='false' |
| | | class='margin_left_20px' |
| | | @change='getData' |
| | | placeholder="选择日期" |
| | | :picker-options="pickerOptions" |
| | | > |
| | | :picker-options="pickerOptions"> |
| | | </el-date-picker> |
| | | <el-button size="mini" @click="timeModal=true" class="el-icon-setting" type="text" style="margin-left: 10px">配置</el-button> |
| | | </template> |
| | | </SearchCommonView> |
| | | </div> |
| | |
| | | <TableCommonView ref="tableListRef" :loading="isTableOneLoading" :table-list="tableList" :showCheckcol='false' @selTableCol="selTableCol"> |
| | | <template slot="tableButton"> |
| | | <el-table-column label="期初库存" prop='inventoryStart'> |
| | | <el-table-column label="件" prop='inventoryStart' min="90"> |
| | | <el-table-column v-for="unit in unitList" :label="unit.name" prop='inventoryStart' min="90"> |
| | | <template slot-scope="scope"> |
| | | {{getUnitValue(scope.row.beginMoreUnitsArr,unit.name,scope.row.beginAmount,scope.row.unit)}} |
| | | </template> |
| | | </el-table-column> |
| | | <!--<el-table-column label="件" prop='inventoryStart' min="90"> |
| | | <template slot-scope="scope"> |
| | | {{getUnitValue(scope.row.beginMoreUnitsArr,'件',scope.row.beginAmount,scope.row.unit)}} |
| | | </template> |
| | |
| | | <template slot-scope="scope"> |
| | | {{getUnitValue(scope.row.beginMoreUnitsArr,'重量',scope.row.beginAmount,scope.row.unit)}} |
| | | </template> |
| | | </el-table-column> |
| | | </el-table-column>--> |
| | | </el-table-column> |
| | | <el-table-column label="本月入库" prop='inInventoryCurrentMonth'> |
| | | <el-table-column label="件" prop='inventoryStart' min="90"> |
| | | <el-table-column v-for="unit in unitList" :label="unit.name" prop='inInventoryCurrentMonth' min="90"> |
| | | <template slot-scope="scope"> |
| | | {{getUnitValue(scope.row.inputMoreUnitsArr,unit.name,scope.row.inputAmount,scope.row.unit)}} |
| | | </template> |
| | | </el-table-column> |
| | | <!--<el-table-column label="件" prop='inventoryStart' min="90"> |
| | | <template slot-scope="scope"> |
| | | {{getUnitValue(scope.row.inputMoreUnitsArr,'件',scope.row.inputAmount,scope.row.unit)}} |
| | | </template> |
| | |
| | | <template slot-scope="scope"> |
| | | {{getUnitValue(scope.row.inputMoreUnitsArr,'重量',scope.row.inputAmount,scope.row.unit)}} |
| | | </template> |
| | | </el-table-column> |
| | | </el-table-column>--> |
| | | </el-table-column> |
| | | <el-table-column label="本月出库" prop='outInventoryCurrentMonth'> |
| | | <el-table-column label="件" prop='inventoryStart' min="90"> |
| | | <el-table-column v-for="unit in unitList" :label="unit.name" prop='outInventoryCurrentMonth' min="90"> |
| | | <template slot-scope="scope"> |
| | | {{getUnitValue(scope.row.outputMoreUnitsArr,unit.name,scope.row.outputAmount,scope.row.unit)}} |
| | | </template> |
| | | </el-table-column> |
| | | <!--<el-table-column label="件" prop='inventoryStart' min="90"> |
| | | <template slot-scope="scope"> |
| | | {{getUnitValue(scope.row.outputMoreUnitsArr,'件',scope.row.outputAmount,scope.row.unit)}} |
| | | </template> |
| | |
| | | <template slot-scope="scope"> |
| | | {{getUnitValue(scope.row.outputMoreUnitsArr,'重量',scope.row.outputAmount,scope.row.unit)}} |
| | | </template> |
| | | </el-table-column> |
| | | </el-table-column>--> |
| | | </el-table-column> |
| | | <el-table-column label="期末库存" prop='inventoryEnd'> |
| | | <el-table-column label="件" prop='inventoryStart' min="90"> |
| | | <el-table-column v-for="unit in unitList" :label="unit.name" prop='inventoryEnd' min="90"> |
| | | <template slot-scope="scope"> |
| | | {{getUnitValue(scope.row.MoreUnitsArr,unit.name,scope.row.amount,scope.row.unit)}} |
| | | </template> |
| | | </el-table-column> |
| | | <!--<el-table-column label="件" prop='inventoryStart' min="90"> |
| | | <template slot-scope="scope"> |
| | | {{getUnitValue(scope.row.MoreUnitsArr,'件',scope.row.amount,scope.row.unit)}} |
| | | </template> |
| | |
| | | <template slot-scope="scope"> |
| | | {{getUnitValue(scope.row.MoreUnitsArr,'重量',scope.row.amount,scope.row.unit)}} |
| | | </template> |
| | | </el-table-column> |
| | | </el-table-column>--> |
| | | </el-table-column> |
| | | </template> |
| | | </TableCommonView> |
| | |
| | | <script> |
| | | |
| | | import pageMixin from "@/components/makepager/pager/mixin/pageMixin" |
| | | import { getmonthStats } from "@/api/reportForm/inventoryRwport" |
| | | import { getmonthStats ,getSystemConfigApi,saveSystemConfigApi} from "@/api/reportForm/inventoryRwport" |
| | | import newDate from "@/api/date"; |
| | | const { getPreviousMonth,formatTime} = newDate; |
| | | import { downloadMonthStats } from "@/api/downFile" |
| | | import FileSaver from 'file-saver' |
| | | import _ from 'lodash' |
| | | const { getPreviousMonth,formatTime,getCurrentMonth} = newDate; |
| | | import {getUnitInfo} from "@/api/basic/standard"; |
| | | |
| | | export default { |
| | | name: "outboundDetail", |
| | | props: {}, |
| | |
| | | computed: {}, |
| | | data() { |
| | | return { |
| | | unitList:[], |
| | | systemParams:{ |
| | | ID:0, |
| | | configType:1, |
| | | name:'', |
| | | }, |
| | | startDate:{ |
| | | day:'01', |
| | | time:'00:00' |
| | | }, |
| | | timeModal:false, |
| | | monthBoundObject:{ |
| | | keyWord:'', |
| | | date:getPreviousMonth(), |
| | | date:getCurrentMonth(), |
| | | }, |
| | | startPickerOptions:{ |
| | | start:'00:00', |
| | | step:'00:30', |
| | | end:'23:59' |
| | | }, |
| | | tableList: {}, |
| | | showcol: [], |
| | | pickerOptions: { |
| | | disabledDate(time) { |
| | | return time.getTime() > formatTime(getPreviousMonth()); |
| | | return time.getTime() > formatTime(getCurrentMonth()); |
| | | }, |
| | | }, |
| | | isTableOneLoading: false, |
| | | } |
| | | }, |
| | | created() { |
| | | this.setTable() |
| | | this.getData() |
| | | this.setTable(); |
| | | this.getData(); |
| | | this.querySystemConfig(); |
| | | this.getUnitInfo(); |
| | | }, |
| | | methods: { |
| | | async getUnitInfo(){ |
| | | const { code,data }=await getUnitInfo(); |
| | | if(code===200){ |
| | | this.unitList=data; |
| | | } |
| | | }, |
| | | async querySystemConfig(){ |
| | | const params={configType:1}; |
| | | const {code,data}=await getSystemConfigApi(params); |
| | | if(code===200){ |
| | | if(data.val){ |
| | | this.systemParams.ID=data.id; |
| | | this.systemParams.name=data.name; |
| | | this.startDate.day=data.val.split("-")[0]; |
| | | this.startDate.time=data.val.split("-")[1]; |
| | | //this.monthBoundObject.date=this.$moment(this.monthBoundObject.date).format('yyyy-MM')+'-'+this.startDate.day |
| | | } |
| | | } |
| | | }, |
| | | handlerClose(){ |
| | | this.timeModal=false; |
| | | this.$refs.sysFormRef.resetFields(); |
| | | }, |
| | | async saveStartDate(){ |
| | | const params={...this.systemParams,val:this.startDate.day+'-'+this.startDate.time}; |
| | | const {code} =await saveSystemConfigApi(params); |
| | | if(code===200){ |
| | | this.$message.success('配置成功'); |
| | | this.querySystemConfig(); |
| | | this.timeModal=false; |
| | | }else{ |
| | | this.$message.error('配置失败'); |
| | | } |
| | | }, |
| | | // 下载 |
| | | downHttpClick: _.debounce(function(){ |
| | | downloadMonthStats({ |
| | | date:this.monthBoundObject.date, |
| | | keyword: this.monthBoundObject.keyWord, |
| | | page: this.pagerOptions.currPage, |
| | | pageSize: this.pagerOptions.pageSize |
| | | }).then(res => { |
| | | if (res) { |
| | | FileSaver.saveAs(res, '月度统计报表.xlsx'); |
| | | this.$message.success("下载成功!"); |
| | | } |
| | | }) |
| | | }, 1000), |
| | | getUnitValue(list,val,num,unit){ |
| | | let string='--' |
| | | if(list){ |
| | |
| | | showcol: this.showcol, |
| | | allcol: [], |
| | | tableColumn: this.setTableColumn(this.showcol) |
| | | } |
| | | let allcol = [] |
| | | }; |
| | | let allcol = []; |
| | | for (let i = 0; i < this.tableList.tableColumn.length; i++) { |
| | | if (!this.tableList.tableColumn[i].default) { |
| | | const label = this.tableList.tableColumn[i].label |
| | |
| | | isShowColumn: true, |
| | | default: true |
| | | }, |
| | | ] |
| | | ]; |
| | | return tableColumn |
| | | }, |
| | | selTableCol(val) { |
| | | this.showcol = val |
| | | this.showcol = val; |
| | | this.tableList.tableColumn = this.setTableColumn(val) |
| | | }, |
| | | // 库存报表跳转请求数据 |
| | | async getData() { |
| | | this.isTableOneLoading = true; |
| | | //this.monthBoundObject.date=this.$moment(this.monthBoundObject.date).format('yyyy-MM')+'-'+this.startDate.day; |
| | | await getmonthStats({ |
| | | date:this.monthBoundObject.date, |
| | | keyword: this.monthBoundObject.keyWord, |