123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403 |
- <template>
- <div>
- <a-card :bordered="false" class="top" style="margin-bottom:1%;margin-top:1%">
-
- <!-- 查询区域 -->
- <div class="table-page-search-wrapper">
- <a-form layout="inline" @keyup.enter.native="searchQuery">
- <a-row :gutter="24">
- <a-col :md="4" :sm="24">
- <a-form-item label="料品编码">
- <a-input placeholder="请输入" v-model="queryParam.inventoryCode" ></a-input>
- </a-form-item>
- </a-col>
- <a-col :md="4" :sm="24">
- <a-form-item label="料品名称">
- <a-input placeholder="请输入" v-model="queryParam.inventoryName"></a-input>
- </a-form-item>
- </a-col>
- <a-col :md="4" :sm="24">
- <a-form-item label="料品属性">
- <a-input placeholder="请输入" v-model="queryParam.attribute" ></a-input>
- </a-form-item>
- </a-col>
- <a-col :md="4" :sm="24">
- <a-form-item label="规格">
- <a-input placeholder="请输入" v-model="queryParam.specs"></a-input>
- </a-form-item>
- </a-col>
- <template v-if="toggleSearchStatus">
- <a-col :md="4" :sm="24">
- <a-form-item label="型号">
- <a-input placeholder="请输入" v-model="queryParam.model" ></a-input>
- </a-form-item>
- </a-col>
- <a-col :md="4" :sm="24">
- <a-form-item label="安全库存">
- <a-input placeholder="请输入" v-model="queryParam.safetyStock"></a-input>
- </a-form-item>
- </a-col>
- </template>
- <a-col :md="4" :sm="24">
- <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
- <a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
- <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
- <a @click="handleToggleSearch" style="margin-left: 8px">
- {{ toggleSearchStatus ? '收起' : '展开' }}
- <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>
- </a>
- </span>
- </a-col>
-
- </a-row>
- </a-form>
- </div>
- </a-card>
-
- <a-card class="middle" style="margin-bottom:1%">
- <!-- 操作按钮区域 -->
- <div class="table-operator">
- <a-button type="danger" size="small" @click='addList'>新增</a-button>
- <a-button size="small" @click='editList'>修改</a-button>
- <a-button size="small" @click="delectList">删除</a-button>
- <a-button size="small" @click="detailList">详情</a-button>
- <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl">
- <a-button size="small">导入</a-button>
- </a-upload>
- <a-button size="small" @click="exportList('安全库存列表')">导出</a-button>
- </div>
-
- <!-- table区域-begin -->
- <div>
- <a-table
- ref="table"
- size="middle"
- bordered
- rowKey="id"
- :columns="columns"
- :dataSource="dataSource"
- :pagination="ipagination"
- :scroll="{ x: 1500, y: 300 }"
- :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
- @change="handleTableChange"
- :customRow ="clickRow"
- >
-
- </a-table>
- </div>
- <!-- table区域-end -->
-
- </a-card>
- <safetyStockListAdd ref="safetyStockListAdd" @ok='getTableList'></safetyStockListAdd>
- <safetyStockListDetail ref="safetyStockListDetail"></safetyStockListDetail>
- </div>
- </template>
-
- <script>
- import alertModal from '../../../plugins/modal'
- import { JeecgListMixin } from '@/mixins/JeecgListMixin'
- import moment from 'dayjs'
- import { httpAction ,getAction,postAction,putAction,deleteAction,downFile} from '@/api/manage'
- import {queryDepartTreeList} from '@/api/api'
- import safetyStockListAdd from './modules/safetyStockListAdd'
- import safetyStockListDetail from './modules/safetyStockListDetail'
- //---------workflow by fhf end -------------
- export default {
- name: "SafetyStockList",
- mixins: [JeecgListMixin],
- components: {
- safetyStockListAdd,
- safetyStockListDetail,
- },
- data () {
- return {
- description: '安全库存列表页面',
- queryParam:{},
- selectedRowKeys:[],
- selectedRow:[],
- documentData:[],
- toggleSearchStatus:false,
- dataSource:[{}],
- ipagination:{
- current: 1,
- pageSize: 10,
- pageSizeOptions: ['10', '20', '30'],
- showTotal: (total, range) => {
- return range[0] + '-' + range[1] + ' 共' + total + '条'
- },
- showQuickJumper: true,
- showSizeChanger: true,
- total: 0
- },
- // 表头
- columns: [
- {
- title: '#',
- dataIndex: '',
- key: 'rowIndex',
- width: 60,
- align: "center",
- customRender:function (t, r, index) {
- return parseInt(index)+1;
- }
- },
- {
- title: '料品编码',
- align:"center",
- dataIndex: 'inventoryCode',
- ellipsis: true,
-
- },
- {
- title: '料品名称',
- align:"center",
- dataIndex: 'inventoryName',
- ellipsis: true,
-
- },
- {
- title: '料品属性',
- align:"center",
- dataIndex: 'attribute',
- ellipsis: true,
-
- },
- {
- title: '规格',
- align:"center",
- dataIndex: 'specs',
- ellipsis: true,
-
- },
- {
- title: '型号',
- align:"center",
- dataIndex: 'model',
- ellipsis: true,
-
- },
- {
- title: '安全库存',
- align:"center",
- dataIndex: 'safetyStock',
- ellipsis: true,
-
- },
- ],
- url: {
- list: "/production/safetyStock/list",
- },
- importExcelUrl:'/production/safetyStock/importExcel',
- // ---------workflow by fhf start -------------
- serviceName: 'assetAllocationService',
- // ---------workflow by fhf end -------------
- }
- },
- created () {
- this.getTableList()
- },
- computed: {
- importExcelUrl: function(){
- return `${window._CONFIG['domianURL']}/${this.importExcelUrl}`;
- },
- },
- methods: {
- //获取数据
- getTableList(){
- alertModal.loading("执行中,请稍后!")
- getAction('/production/safetyStock/list',this.queryParam).then(res=>{
- alertModal.closeLoading();
- if(res.success){
- this.dataSource =res.result.records
- this.ipagination = {
- total: res.result.total,
- current: res.result.current,
- pageSize: res.result.size
- }
- }else{
- this.$message.error(res.message);
- }
- })
- },
- onSearch(){
- // this.$refs.materialProcurementSearch.visible = true
- },
- //导出
- exportList(fileName){
- this.$confirm({
- title: '确认导出',
- content: '是否导出数据?',
- onOk: ()=> {
- alertModal.loading("执行中,请稍后!")
- downFile('/production/safetyStock/exportXls', this.queryParam).then(data => {
- alertModal.closeLoading();
- if (!data) {
- this.$message.warning('文件下载失败')
- return
- }
- if (typeof window.navigator.msSaveBlob !== 'undefined') {
- window.navigator.msSaveBlob(new Blob([data], { type: 'application/vnd.ms-excel' }), fileName + '.xlsx')
- } else {
- let url = window.URL.createObjectURL(new Blob([data], { type: 'application/vnd.ms-excel' }))
- let link = document.createElement('a')
- link.style.display = 'none'
- link.href = url
- link.setAttribute('download', fileName + '.xlsx')
- document.body.appendChild(link)
- link.click()
- document.body.removeChild(link) // 下载完成移除元素
- window.URL.revokeObjectURL(url) // 释放掉blob对象
- }
- })
- }
- })
- },
- //重置
- searchReset(){
- this.queryParam={}
- this.getTableList()
- },
- //查询
- searchQuery(){
- this.queryParam.pageNo = '1'
- this.getTableList()
- },
- //新增
- addList(){
- this.$refs.safetyStockListAdd.visible=true
- this.$refs.safetyStockListAdd.defaultMethod='add'
- },
- //编辑
- editList(){
- if(this.selectedRowKeys.length==0){
- this.$message.warning('请勾选数据!')
- }else if(this.selectedRowKeys.length>1){
- this.$message.warning('只可勾选一条数据')
- }else{
- this.$refs.safetyStockListAdd.visible=true
- this.$refs.safetyStockListAdd.defaultMethod='edit'
- this.$refs.safetyStockListAdd.getEditData(this.selectedRowKeys[0])
- }
- },
- //删除
- delectList(){
- if(this.selectedRowKeys.length==0){
- this.$message.warning('请勾选数据!')
- }else if(this.selectedRowKeys.length>1){
- this.$confirm({
- title: '确认删除',
- content: '是否删除选中数据?',
- onOk: ()=> {
- var ids = this.selectedRowKeys.toString()
- var that = this
- alertModal.loading("执行中,请稍后!")
- deleteAction('/production/safetyStock/deleteBatch', {ids: ids}).then((res) => {
- alertModal.closeLoading();
- if (res.success) {
- this.$message.success('删除成功!');
- this.getTableList()
- } else {
- this.$message.error(res.message);
- }
- });
- }
- })
- }else{
- this.$confirm({
- title: '确认删除',
- content: '是否删除选中数据?',
- onOk: ()=> {
- alertModal.loading("执行中,请稍后!")
- deleteAction('/production/safetyStock/delete', {id: this.selectedRowKeys[0]}).then((res) => {
- alertModal.closeLoading();
- if (res.success) {
- this.$message.success('删除成功!');
- this.getTableList()
- } else {
- this.$message.error(res.message);
- }
- });
- }
- })
- }
- },
- //勾选
- onSelectChange(selectedRowKeys, selectionRows) {
- this.selectedRowKeys = selectedRowKeys;
- this.selectedRow = selectionRows;
- },
- handleTableChange(pagination, filters, sorter) {
- // console.log('当前页信息>>>>',pagination)
- this.queryParam.pageNo = pagination.current
- this.queryParam.pageSize = pagination.pageSize
- this.getTableList()
- },
- detailList(){
- if(this.selectedRowKeys.length==0){
- this.$message.warning('请选择数据!')
- }else if(this.selectedRowKeys.length>1){
- this.$message.warning('请选择一条数据!')
- }else{
- this.$refs.safetyStockListDetail.visible=true
- this.$refs.safetyStockListDetail.getEditData(this.selectedRowKeys[0])
- }
- },
- //双击
- clickRow(record, index){
- return {
- on: {
- dblclick: () => {
- this.$refs.safetyStockListDetail.visible=true
- this.$refs.safetyStockListDetail.getEditData(record.id)
- },
- }
- }
- }
- }
- }
- </script>
- <style scoped lang="less">
- /* @import '~@assets/less/common.less' */
- /deep/.ant-input{
- height:29px;
- }
- /deep/.ant-select-selection--single {
- height: 29px;
-
- }
- /deep/.ant-select{
- font-size: 12px;
- }
- /deep/.ant-form label{
- font-size: 12px;
- }
- /deep/.table-page-search-wrapper .ant-form-inline .ant-form-item{
- margin-bottom:9px
- }
- /deep/.top>.ant-card-body{
- padding-bottom:0px;
- padding-top: 12px;
- }
- /deep/.ant-btn{
- height:28px
- }
- /deep/.ant-table-thead > tr > th{
- padding: 6px 8px !important;
- }
- /deep/ .ant-table-tbody > tr > td{
- padding: 6px 8px !important;
- }
- /deep/ .ant-table{
- font-size:12px
- }
- /deep/.ant-table-fixed-header .ant-table-scroll .ant-table-header{
- width: calc(100% + 9px);//减去滚动条的宽度
- }
- /deep/.middle>.ant-card-body{
- padding-bottom:14px;
- padding-top:14px;
- }
- /deep/.ant-select-sm .ant-select-selection__rendered{
- line-height: 27px;
- }
- </style>
|