|
@@ -3,262 +3,103 @@
|
|
|
<!-- 左侧区域 -->
|
|
|
<section class="list-part-container" style="flex: 3">
|
|
|
<!-- 搜索区 -->
|
|
|
- <el-form
|
|
|
- class="list-search-container"
|
|
|
- :model="queryParams"
|
|
|
- ref="queryRef"
|
|
|
- :inline="true"
|
|
|
- style="margin-right: 0px"
|
|
|
- >
|
|
|
+ <el-form class="list-search-container" :model="queryParams" ref="queryRef" :inline="true"
|
|
|
+ style="margin-right: 0px">
|
|
|
<el-form-item class="section-title" label="盘点" />
|
|
|
<el-form-item label="创建时间:">
|
|
|
- <el-date-picker
|
|
|
- v-model="queryParams.createStartTime"
|
|
|
- type="date"
|
|
|
- value-format="YYYY-MM-DD"
|
|
|
- :editable="false"
|
|
|
- clearable
|
|
|
- placeholder="请选择"
|
|
|
- style="width: 130px"
|
|
|
- />
|
|
|
+ <el-date-picker v-model="queryParams.createStartTime" type="date" value-format="YYYY-MM-DD" :editable="false"
|
|
|
+ clearable placeholder="请选择" style="width: 130px" />
|
|
|
<span>到</span>
|
|
|
- <el-date-picker
|
|
|
- v-model="queryParams.createEndTime"
|
|
|
- type="date"
|
|
|
- value-format="YYYY-MM-DD"
|
|
|
- :editable="false"
|
|
|
- clearable
|
|
|
- placeholder="请选择"
|
|
|
- style="width: 130px"
|
|
|
- />
|
|
|
+ <el-date-picker v-model="queryParams.createEndTime" type="date" value-format="YYYY-MM-DD" :editable="false"
|
|
|
+ clearable placeholder="请选择" style="width: 130px" />
|
|
|
</el-form-item>
|
|
|
<el-form-item label="开始时间:">
|
|
|
- <el-date-picker
|
|
|
- v-model="queryParams.startTimeStr"
|
|
|
- type="date"
|
|
|
- value-format="YYYY-MM-DD"
|
|
|
- :editable="false"
|
|
|
- clearable
|
|
|
- placeholder="请选择"
|
|
|
- style="width: 130px"
|
|
|
- />
|
|
|
+ <el-date-picker v-model="queryParams.startTimeStr" type="date" value-format="YYYY-MM-DD" :editable="false"
|
|
|
+ clearable placeholder="请选择" style="width: 130px" />
|
|
|
<span>到</span>
|
|
|
- <el-date-picker
|
|
|
- v-model="queryParams.startTimeEnd"
|
|
|
- type="date"
|
|
|
- value-format="YYYY-MM-DD"
|
|
|
- :editable="false"
|
|
|
- clearable
|
|
|
- placeholder="请选择"
|
|
|
- style="width: 130px"
|
|
|
- />
|
|
|
+ <el-date-picker v-model="queryParams.startTimeEnd" type="date" value-format="YYYY-MM-DD" :editable="false"
|
|
|
+ clearable placeholder="请选择" style="width: 130px" />
|
|
|
</el-form-item>
|
|
|
<el-form-item label="结束时间:">
|
|
|
- <el-date-picker
|
|
|
- v-model="queryParams.endTimeStr"
|
|
|
- type="date"
|
|
|
- value-format="YYYY-MM-DD"
|
|
|
- :editable="false"
|
|
|
- clearable
|
|
|
- placeholder="请选择"
|
|
|
- style="width: 130px"
|
|
|
- />
|
|
|
+ <el-date-picker v-model="queryParams.endTimeStr" type="date" value-format="YYYY-MM-DD" :editable="false"
|
|
|
+ clearable placeholder="请选择" style="width: 130px" />
|
|
|
<span>到</span>
|
|
|
- <el-date-picker
|
|
|
- v-model="queryParams.endTimeEnd"
|
|
|
- type="date"
|
|
|
- value-format="YYYY-MM-DD"
|
|
|
- :editable="false"
|
|
|
- clearable
|
|
|
- placeholder="请选择"
|
|
|
- style="width: 130px"
|
|
|
- />
|
|
|
+ <el-date-picker v-model="queryParams.endTimeEnd" type="date" value-format="YYYY-MM-DD" :editable="false"
|
|
|
+ clearable placeholder="请选择" style="width: 130px" />
|
|
|
</el-form-item>
|
|
|
<el-form-item label="状态:">
|
|
|
- <el-select
|
|
|
- v-model="queryParams.status"
|
|
|
- clearable
|
|
|
- placeholder="请选择盘点状态"
|
|
|
- style="width: 145px"
|
|
|
- >
|
|
|
- <el-option
|
|
|
- v-for="dict in take_stock_status"
|
|
|
- :key="dict.value"
|
|
|
- :label="dict.label"
|
|
|
- :value="dict.value"
|
|
|
- ></el-option>
|
|
|
+ <el-select v-model="queryParams.status" clearable placeholder="请选择盘点状态" style="width: 145px">
|
|
|
+ <el-option v-for="dict in take_stock_status" :key="dict.value" :label="dict.label"
|
|
|
+ :value="dict.value"></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="备注:">
|
|
|
- <el-input
|
|
|
- placeholder="请输入备注"
|
|
|
- v-model.trim="queryParams.remark"
|
|
|
- @keydown.enter.prevent
|
|
|
- clearable
|
|
|
- style="width: 120px"
|
|
|
- />
|
|
|
+ <el-input placeholder="请输入备注" v-model.trim="queryParams.remark" @keydown.enter.prevent clearable
|
|
|
+ style="width: 120px" />
|
|
|
</el-form-item>
|
|
|
<el-form-item style="margin-left: 0">
|
|
|
- <el-button type="info" icon="Search" @click="handleQuery"
|
|
|
- >搜索
|
|
|
+ <el-button type="info" icon="Search" @click="handleQuery">搜索
|
|
|
</el-button>
|
|
|
- <el-button
|
|
|
- v-show="!hasAlreadyAddTakeStock && !hasAlreadyTakeStock"
|
|
|
- v-hasPermi="['business:inventoryCheck:add']"
|
|
|
- type="primary"
|
|
|
- icon="Plus"
|
|
|
- @click="handleAdd"
|
|
|
- >新增</el-button
|
|
|
- >
|
|
|
+ <el-button v-show="!hasAlreadyAddTakeStock && !hasAlreadyTakeStock"
|
|
|
+ v-hasPermi="['business:inventoryCheck:add']" type="primary" icon="Plus" @click="handleAdd">新增</el-button>
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
<div class="el-table-container">
|
|
|
<div class="el-table-inner-container">
|
|
|
- <el-table
|
|
|
- ref="takeStockPeriodTable"
|
|
|
- :data="takeStockPeriodList"
|
|
|
- v-loading="loading"
|
|
|
- highlight-current-row
|
|
|
- height="100%"
|
|
|
- >
|
|
|
- <el-table-column
|
|
|
- type="index"
|
|
|
- label="行号"
|
|
|
- width="50"
|
|
|
- align="center"
|
|
|
- />
|
|
|
- <el-table-column
|
|
|
- label="创建时间"
|
|
|
- prop="createTime"
|
|
|
- width="200"
|
|
|
- align="center"
|
|
|
- />
|
|
|
- <el-table-column
|
|
|
- label="开始时间"
|
|
|
- prop="startTime"
|
|
|
- width="200"
|
|
|
- align="center"
|
|
|
- />
|
|
|
- <el-table-column
|
|
|
- label="结束时间"
|
|
|
- prop="endTime"
|
|
|
- width="200"
|
|
|
- align="center"
|
|
|
- />
|
|
|
- <el-table-column
|
|
|
- label="盘点年月"
|
|
|
- prop="stockTime"
|
|
|
- width="150"
|
|
|
- align="center"
|
|
|
- >
|
|
|
+ <el-table ref="takeStockPeriodTable" :data="takeStockPeriodList" v-loading="loading" highlight-current-row
|
|
|
+ height="100%">
|
|
|
+ <el-table-column type="index" label="行号" width="50" align="center" />
|
|
|
+ <el-table-column label="创建时间" prop="createTime" width="200" align="center" />
|
|
|
+ <el-table-column label="开始时间" prop="startTime" width="200" align="center" />
|
|
|
+ <el-table-column label="结束时间" prop="endTime" width="200" align="center" />
|
|
|
+ <el-table-column label="盘点年月" prop="stockTime" width="150" align="center">
|
|
|
<template #default="scope">
|
|
|
- <el-date-picker
|
|
|
- v-if="scope.row.selectDateStatus"
|
|
|
- v-model="scope.row.stockTime"
|
|
|
- type="month"
|
|
|
- value-format="YYYY-M"
|
|
|
- :editable="false"
|
|
|
- clearable
|
|
|
- placeholder="请选择"
|
|
|
- style="width: 130px"
|
|
|
- />
|
|
|
+ <el-date-picker v-if="scope.row.selectDateStatus" v-model="scope.row.stockTime" type="month"
|
|
|
+ value-format="YYYY-M" :editable="false" clearable placeholder="请选择" style="width: 130px" />
|
|
|
<div v-else>{{ scope.row.stockTime }}</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column
|
|
|
- label="盘点状态"
|
|
|
- prop="status"
|
|
|
- width="80"
|
|
|
- align="center"
|
|
|
- >
|
|
|
+ <el-table-column label="盘点状态" prop="status" width="80" align="center">
|
|
|
<template #default="scope">
|
|
|
- <dict-tag
|
|
|
- :options="take_stock_status"
|
|
|
- :value="scope.row.status"
|
|
|
- />
|
|
|
+ <dict-tag :options="take_stock_status" :value="scope.row.status" />
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column label="备注" prop="remark" align="center">
|
|
|
<template #default="scope">
|
|
|
<div v-if="scope.row.editStatus">
|
|
|
- <el-input
|
|
|
- v-model.trim="scope.row.remark"
|
|
|
- placeholder="请输入备注"
|
|
|
- />
|
|
|
+ <el-input v-model.trim="scope.row.remark" placeholder="请输入备注" />
|
|
|
</div>
|
|
|
<div v-else>{{ scope.row.remark }}</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column label="操作" align="center" width="300">
|
|
|
<template #default="scope">
|
|
|
- <el-button
|
|
|
- v-show="!scope.row.editStatus"
|
|
|
- v-hasPermi="['business:inventoryCheck:edit']"
|
|
|
- link
|
|
|
- type="warning"
|
|
|
- icon="Edit"
|
|
|
- @click="handleUpdate(scope.row)"
|
|
|
- >
|
|
|
+ <el-button v-show="!scope.row.editStatus" v-hasPermi="['business:inventoryCheck:edit']" link
|
|
|
+ type="warning" icon="Edit" @click="handleUpdate(scope.row)">
|
|
|
编辑
|
|
|
</el-button>
|
|
|
- <el-button
|
|
|
- v-show="
|
|
|
- !scope.row.editStatus &&
|
|
|
- (scope.row.status == 1 || scope.row.status == 2)
|
|
|
- "
|
|
|
- v-hasPermi="['business:inventoryCheck:view']"
|
|
|
- link
|
|
|
- type="primary"
|
|
|
- icon="View"
|
|
|
- @click="handleView(scope.row)"
|
|
|
- >
|
|
|
+ <el-button v-show="!scope.row.editStatus &&
|
|
|
+ (scope.row.status == 1 || scope.row.status == 2)
|
|
|
+ " v-hasPermi="['business:inventoryCheck:view']" link type="primary" icon="View"
|
|
|
+ @click="handleView(scope.row)">
|
|
|
查看
|
|
|
</el-button>
|
|
|
- <el-button
|
|
|
- v-show="!scope.row.editStatus && scope.row.status == 0"
|
|
|
- v-hasPermi="['business:inventoryCheck:start']"
|
|
|
- link
|
|
|
- type="success"
|
|
|
- icon="Open"
|
|
|
- @click="handleStartTakeStock(scope.row)"
|
|
|
- >
|
|
|
+ <el-button v-show="!scope.row.editStatus && scope.row.status == 0"
|
|
|
+ v-hasPermi="['business:inventoryCheck:start']" link type="success" icon="Open"
|
|
|
+ @click="handleStartTakeStock(scope.row)">
|
|
|
开始盘点
|
|
|
</el-button>
|
|
|
- <el-button
|
|
|
- v-show="!scope.row.editStatus && scope.row.status == 1"
|
|
|
- link
|
|
|
- v-hasPermi="['business:inventoryCheck:end']"
|
|
|
- type="danger"
|
|
|
- icon="TurnOff"
|
|
|
- @click="handleEndTakeStock(scope.row)"
|
|
|
- >
|
|
|
+ <el-button v-show="!scope.row.editStatus && scope.row.status == 1" link
|
|
|
+ v-hasPermi="['business:inventoryCheck:end']" type="danger" icon="TurnOff"
|
|
|
+ @click="handleEndTakeStock(scope.row)">
|
|
|
结束盘点
|
|
|
</el-button>
|
|
|
- <el-button
|
|
|
- link
|
|
|
- v-if="scope.row.editStatus"
|
|
|
- icon="Close"
|
|
|
- type="danger"
|
|
|
- @click="handleCancel(scope.row, scope.$index)"
|
|
|
- >取消</el-button
|
|
|
- >
|
|
|
- <el-button
|
|
|
- link
|
|
|
- icon="Check"
|
|
|
- v-if="scope.row.editStatus"
|
|
|
- :loading = !canSave
|
|
|
- type="success"
|
|
|
- @click="handleSave(scope.row)"
|
|
|
- >保存</el-button
|
|
|
- >
|
|
|
- <el-button
|
|
|
- v-if="scope.row.status == 2"
|
|
|
- v-hasPermi="['business:inventoryCheck:downLoad']"
|
|
|
- link
|
|
|
- type="primary"
|
|
|
- icon="Download"
|
|
|
- @click="handleExport(scope.row)"
|
|
|
- >导出
|
|
|
+ <el-button link v-if="scope.row.editStatus" icon="Close" type="danger"
|
|
|
+ @click="handleCancel(scope.row, scope.$index)">取消</el-button>
|
|
|
+ <el-button link icon="Check" v-if="scope.row.editStatus" :loading=!canSave type="success"
|
|
|
+ @click="handleSave(scope.row)">保存</el-button>
|
|
|
+ <el-button v-if="scope.row.status == 2" v-hasPermi="['business:inventoryCheck:downLoad']" link
|
|
|
+ type="primary" icon="Download" @click="handleExport(scope.row)">导出
|
|
|
</el-button>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
@@ -266,13 +107,8 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
<!-- 分页 -->
|
|
|
- <pagination
|
|
|
- v-show="total > 0"
|
|
|
- :total="total"
|
|
|
- v-model:page="queryParams.pageNum"
|
|
|
- v-model:limit="queryParams.pageSize"
|
|
|
- @pagination="getTakeStockPeriodList"
|
|
|
- />
|
|
|
+ <pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum"
|
|
|
+ v-model:limit="queryParams.pageSize" @pagination="getTakeStockPeriodList" />
|
|
|
</section>
|
|
|
<!-- 盘点详情 -->
|
|
|
<inventory-check-form ref="inventoryCheckFormRef" />
|
|
@@ -326,8 +162,8 @@ function getTakeStockPeriodList() {
|
|
|
hasAlreadyAddTakeStock.value = res.others.hasTakeStockStatus;
|
|
|
total.value = res.total;
|
|
|
canSave.value = true
|
|
|
+ loading.value = false;
|
|
|
});
|
|
|
- loading.value = false;
|
|
|
}
|
|
|
//新增
|
|
|
function handleAdd() {
|
|
@@ -353,16 +189,16 @@ function handleSave(row) {
|
|
|
row.stockYear = row.stockTime.substring(0, 4);
|
|
|
row.stockMonth = row.stockTime.substring(5, 7);
|
|
|
console.log(row);
|
|
|
- if(canSave.value){
|
|
|
+ if (canSave.value) {
|
|
|
canSave.value = false
|
|
|
- addTakeStockPeriod(row).then((res) => {
|
|
|
- canSave.value = false;
|
|
|
- if (res.code === 200) {
|
|
|
- getTakeStockPeriodList();
|
|
|
- }
|
|
|
-
|
|
|
- });
|
|
|
-}
|
|
|
+ addTakeStockPeriod(row).then((res) => {
|
|
|
+ canSave.value = false;
|
|
|
+ if (res.code === 200) {
|
|
|
+ getTakeStockPeriodList();
|
|
|
+ }
|
|
|
+
|
|
|
+ });
|
|
|
+ }
|
|
|
}
|
|
|
function handleExport(data) {
|
|
|
console.log(data);
|