|
@@ -1,146 +1,148 @@
|
|
<!-- 产品管理 -->
|
|
<!-- 产品管理 -->
|
|
<template>
|
|
<template>
|
|
<div class="purchase">
|
|
<div class="purchase">
|
|
- <el-form :inline="true" :model="dataForm" @keyup.enter.native="search()">
|
|
|
|
- <el-form-item label="采购编码">
|
|
|
|
- <el-input v-model="dataForm.purchaseCode" placeholder="采购编码" clearable/>
|
|
|
|
- </el-form-item>
|
|
|
|
- <el-form-item label="说明">
|
|
|
|
- <el-input v-model="dataForm.notes" placeholder="说明" clearable/>
|
|
|
|
- </el-form-item>
|
|
|
|
- <el-form-item label="类别">
|
|
|
|
- <el-select
|
|
|
|
- v-model="dataForm.purchaseType"
|
|
|
|
- remote
|
|
|
|
- placeholder="请选择">
|
|
|
|
- <el-option
|
|
|
|
- v-for="item in optionsType"
|
|
|
|
- :key="item.code"
|
|
|
|
- :label="item.value"
|
|
|
|
- :value="item.code">
|
|
|
|
- </el-option>
|
|
|
|
- </el-select>
|
|
|
|
- </el-form-item>
|
|
|
|
- <el-form-item label="申请日期">
|
|
|
|
- <el-date-picker
|
|
|
|
- v-model="dataForm.applyDate"
|
|
|
|
- value-format="yyyy-MM-dd"
|
|
|
|
- type="date">
|
|
|
|
- </el-date-picker>
|
|
|
|
- </el-form-item>
|
|
|
|
- <el-form-item label="状态">
|
|
|
|
- <el-select
|
|
|
|
- v-model="dataForm.purchaseState"
|
|
|
|
- remote
|
|
|
|
- placeholder="请选择">
|
|
|
|
- <el-option
|
|
|
|
- v-for="item in optionsState"
|
|
|
|
- :key="item.code"
|
|
|
|
- :label="item.value"
|
|
|
|
- :value="item.code">
|
|
|
|
- </el-option>
|
|
|
|
- </el-select>
|
|
|
|
- </el-form-item>
|
|
|
|
- <el-form-item>
|
|
|
|
- <el-button @click="search()">查询</el-button>
|
|
|
|
- <el-button v-if="isAuth('sale:purchase:save')" type="primary" @click="addOrUpdateHandle(0, false)">新建采购申请</el-button>
|
|
|
|
- </el-form-item>
|
|
|
|
- </el-form>
|
|
|
|
- <el-table
|
|
|
|
- :data="dataList"
|
|
|
|
- border
|
|
|
|
- v-loading="dataListLoading"
|
|
|
|
- style="width: 100%;">
|
|
|
|
- <el-table-column
|
|
|
|
- label="序号"
|
|
|
|
- type="index"
|
|
|
|
- width="50"
|
|
|
|
- align="center">
|
|
|
|
- </el-table-column>
|
|
|
|
- <el-table-column
|
|
|
|
- prop="purchaseCode"
|
|
|
|
- header-align="center"
|
|
|
|
- align="center"
|
|
|
|
- min-width="180"
|
|
|
|
- :show-tooltip-when-overflow="true"
|
|
|
|
- label="采购编码">
|
|
|
|
- </el-table-column>
|
|
|
|
- <el-table-column
|
|
|
|
- prop="materialName"
|
|
|
|
- header-align="center"
|
|
|
|
- align="center"
|
|
|
|
- width="160"
|
|
|
|
- :show-tooltip-when-overflow="true"
|
|
|
|
- label="物品名称">
|
|
|
|
- </el-table-column>
|
|
|
|
- <el-table-column
|
|
|
|
- prop="purchaseType"
|
|
|
|
- header-align="center"
|
|
|
|
- align="center"
|
|
|
|
- :formatter="formatType"
|
|
|
|
- label="采购类别">
|
|
|
|
- </el-table-column>
|
|
|
|
- <el-table-column
|
|
|
|
- prop="createTime"
|
|
|
|
- header-align="center"
|
|
|
|
- align="center"
|
|
|
|
- min-width="160"
|
|
|
|
- label="申请时间">
|
|
|
|
- </el-table-column>
|
|
|
|
- <el-table-column
|
|
|
|
- prop="applierName"
|
|
|
|
- header-align="center"
|
|
|
|
- align="center"
|
|
|
|
- min-width="100"
|
|
|
|
- label="申请人">
|
|
|
|
- </el-table-column>
|
|
|
|
- <el-table-column
|
|
|
|
- prop="deptName"
|
|
|
|
- header-align="center"
|
|
|
|
- align="center"
|
|
|
|
- min-width="100"
|
|
|
|
- label="申请部门">
|
|
|
|
- </el-table-column>
|
|
|
|
- <el-table-column
|
|
|
|
- prop="purchaseState"
|
|
|
|
- header-align="center"
|
|
|
|
- align="center"
|
|
|
|
- :formatter="formatState"
|
|
|
|
- label="当前状态">
|
|
|
|
- </el-table-column>
|
|
|
|
- <el-table-column
|
|
|
|
- prop="notes"
|
|
|
|
- header-align="center"
|
|
|
|
- align="center"
|
|
|
|
- min-width="180"
|
|
|
|
- :show-overflow-tooltip="true"
|
|
|
|
- label="备注说明">
|
|
|
|
- </el-table-column>
|
|
|
|
- <el-table-column
|
|
|
|
- fixed="right"
|
|
|
|
- header-align="center"
|
|
|
|
- align="center"
|
|
|
|
- width="150"
|
|
|
|
- label="操作">
|
|
|
|
- <template slot-scope="scope">
|
|
|
|
- <el-button v-if="isAuth('sale:purchase:info')" type="text" size="small" @click="detailHandle(scope.row.purchaseId)">查看</el-button>
|
|
|
|
- <el-button v-if="isAuth('sale:purchase:update') && Number(scope.row.purchaseState) < 2" type="text" size="small" @click="addOrUpdateHandle(scope.row.purchaseId, false)">编辑</el-button>
|
|
|
|
- <el-button v-if="isAuth('sale:purchase:revoke') && Number(scope.row.purchaseState) < 2" style="color: red" type="text" size="small" @click="revokeHandle(scope.row.purchaseId)">撤回</el-button>
|
|
|
|
- </template>
|
|
|
|
- </el-table-column>
|
|
|
|
- </el-table>
|
|
|
|
- <el-pagination
|
|
|
|
- @size-change="sizeChangeHandle"
|
|
|
|
- @current-change="currentChangeHandle"
|
|
|
|
- :current-page="pageIndex"
|
|
|
|
- :page-sizes="[10, 20, 50, 100]"
|
|
|
|
- :page-size="pageSize"
|
|
|
|
- :total="totalPage"
|
|
|
|
- layout="total, sizes, prev, pager, next, jumper">
|
|
|
|
- </el-pagination>
|
|
|
|
|
|
+ <template v-if="!addOrUpdateVisible && !detailVisible">
|
|
|
|
+ <el-form :inline="true" :model="dataForm" @keyup.enter.native="search()">
|
|
|
|
+ <el-form-item label="采购编码">
|
|
|
|
+ <el-input v-model="dataForm.purchaseCode" placeholder="采购编码" clearable/>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="说明">
|
|
|
|
+ <el-input v-model="dataForm.notes" placeholder="说明" clearable/>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="类别">
|
|
|
|
+ <el-select
|
|
|
|
+ v-model="dataForm.purchaseType"
|
|
|
|
+ remote
|
|
|
|
+ placeholder="请选择">
|
|
|
|
+ <el-option
|
|
|
|
+ v-for="item in optionsType"
|
|
|
|
+ :key="item.code"
|
|
|
|
+ :label="item.value"
|
|
|
|
+ :value="item.code">
|
|
|
|
+ </el-option>
|
|
|
|
+ </el-select>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="申请日期">
|
|
|
|
+ <el-date-picker
|
|
|
|
+ v-model="dataForm.applyDate"
|
|
|
|
+ value-format="yyyy-MM-dd"
|
|
|
|
+ type="date">
|
|
|
|
+ </el-date-picker>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="状态">
|
|
|
|
+ <el-select
|
|
|
|
+ v-model="dataForm.purchaseState"
|
|
|
|
+ remote
|
|
|
|
+ placeholder="请选择">
|
|
|
|
+ <el-option
|
|
|
|
+ v-for="item in optionsState"
|
|
|
|
+ :key="item.code"
|
|
|
|
+ :label="item.value"
|
|
|
|
+ :value="item.code">
|
|
|
|
+ </el-option>
|
|
|
|
+ </el-select>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item>
|
|
|
|
+ <el-button @click="search()">查询</el-button>
|
|
|
|
+ <el-button v-if="isAuth('sale:purchase:save')" type="primary" @click="addOrUpdateHandle(0, false)">新建采购申请</el-button>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-form>
|
|
|
|
+ <el-table
|
|
|
|
+ :data="dataList"
|
|
|
|
+ border
|
|
|
|
+ v-loading="dataListLoading"
|
|
|
|
+ style="width: 100%;">
|
|
|
|
+ <el-table-column
|
|
|
|
+ label="序号"
|
|
|
|
+ type="index"
|
|
|
|
+ width="50"
|
|
|
|
+ align="center">
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column
|
|
|
|
+ prop="purchaseCode"
|
|
|
|
+ header-align="center"
|
|
|
|
+ align="center"
|
|
|
|
+ min-width="180"
|
|
|
|
+ :show-tooltip-when-overflow="true"
|
|
|
|
+ label="采购编码">
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column
|
|
|
|
+ prop="materialName"
|
|
|
|
+ header-align="center"
|
|
|
|
+ align="center"
|
|
|
|
+ width="160"
|
|
|
|
+ :show-tooltip-when-overflow="true"
|
|
|
|
+ label="物品名称">
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column
|
|
|
|
+ prop="purchaseType"
|
|
|
|
+ header-align="center"
|
|
|
|
+ align="center"
|
|
|
|
+ :formatter="formatType"
|
|
|
|
+ label="采购类别">
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column
|
|
|
|
+ prop="createTime"
|
|
|
|
+ header-align="center"
|
|
|
|
+ align="center"
|
|
|
|
+ min-width="160"
|
|
|
|
+ label="申请时间">
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column
|
|
|
|
+ prop="applierName"
|
|
|
|
+ header-align="center"
|
|
|
|
+ align="center"
|
|
|
|
+ min-width="100"
|
|
|
|
+ label="申请人">
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column
|
|
|
|
+ prop="deptName"
|
|
|
|
+ header-align="center"
|
|
|
|
+ align="center"
|
|
|
|
+ min-width="100"
|
|
|
|
+ label="申请部门">
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column
|
|
|
|
+ prop="purchaseState"
|
|
|
|
+ header-align="center"
|
|
|
|
+ align="center"
|
|
|
|
+ :formatter="formatState"
|
|
|
|
+ label="当前状态">
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column
|
|
|
|
+ prop="notes"
|
|
|
|
+ header-align="center"
|
|
|
|
+ align="center"
|
|
|
|
+ min-width="180"
|
|
|
|
+ :show-overflow-tooltip="true"
|
|
|
|
+ label="备注说明">
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column
|
|
|
|
+ fixed="right"
|
|
|
|
+ header-align="center"
|
|
|
|
+ align="center"
|
|
|
|
+ width="150"
|
|
|
|
+ label="操作">
|
|
|
|
+ <template slot-scope="scope">
|
|
|
|
+ <el-button v-if="isAuth('sale:purchase:info')" type="text" size="small" @click="detailHandle(scope.row.purchaseId)">查看</el-button>
|
|
|
|
+ <el-button v-if="isAuth('sale:purchase:update') && Number(scope.row.purchaseState) < 2" type="text" size="small" @click="addOrUpdateHandle(scope.row.purchaseId, false)">编辑</el-button>
|
|
|
|
+ <el-button v-if="isAuth('sale:purchase:revoke') && Number(scope.row.purchaseState) < 2" style="color: red" type="text" size="small" @click="revokeHandle(scope.row.purchaseId)">撤回</el-button>
|
|
|
|
+ </template>
|
|
|
|
+ </el-table-column>
|
|
|
|
+ </el-table>
|
|
|
|
+ <el-pagination
|
|
|
|
+ @size-change="sizeChangeHandle"
|
|
|
|
+ @current-change="currentChangeHandle"
|
|
|
|
+ :current-page="pageIndex"
|
|
|
|
+ :page-sizes="[10, 20, 50, 100]"
|
|
|
|
+ :page-size="pageSize"
|
|
|
|
+ :total="totalPage"
|
|
|
|
+ layout="total, sizes, prev, pager, next, jumper">
|
|
|
|
+ </el-pagination>
|
|
|
|
+ </template>
|
|
<!-- 弹窗, 新增 / 修改 -->
|
|
<!-- 弹窗, 新增 / 修改 -->
|
|
- <add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList"></add-or-update>
|
|
|
|
- <detail v-if="detailVisible" ref="detail"/>
|
|
|
|
|
|
+ <add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList" @onChose="onChose"></add-or-update>
|
|
|
|
+ <detail v-if="detailVisible" ref="detail" @onChose="onChose"/>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
|
|
|
|
@@ -176,6 +178,10 @@
|
|
this.getDataList()
|
|
this.getDataList()
|
|
},
|
|
},
|
|
methods: {
|
|
methods: {
|
|
|
|
+ onChose () {
|
|
|
|
+ this.addOrUpdateVisible = false
|
|
|
|
+ this.detailVisible = false
|
|
|
|
+ },
|
|
// 获取采购类别字典
|
|
// 获取采购类别字典
|
|
getTypeList () {
|
|
getTypeList () {
|
|
getDictList({type: 'purchase_type'}).then(({data}) => {
|
|
getDictList({type: 'purchase_type'}).then(({data}) => {
|