228 lines
7.0 KiB
Vue
228 lines
7.0 KiB
Vue
<template>
|
|
<!-- 往来单位管理页面 -->
|
|
<div class="app-container">
|
|
<PageHeader
|
|
v-if="isShowComponent !== 'Index'"
|
|
:pageContent="pageContent"
|
|
@goBack="goBack"
|
|
/>
|
|
<!-- 列表 -->
|
|
<TableModel
|
|
:formLabel="formLabel"
|
|
:columnsList="columnsList"
|
|
:request-api="queryPurchaseConfirmListApi"
|
|
ref="tableRef"
|
|
v-if="isShowComponent === 'Index'"
|
|
@transIdList="getIdList"
|
|
:selectable="(row) => {
|
|
return row.status === 48
|
|
}"
|
|
>
|
|
<template slot="btn" slot-scope="{ queryParams }">
|
|
<el-button type="success" @click="multiConfirm"
|
|
>批量到货确认</el-button
|
|
>
|
|
<el-button @click="handleExportData(queryParams, 'base/customer/export', '往来单位清单')"
|
|
>导出</el-button
|
|
>
|
|
</template>
|
|
|
|
<template slot="handle" slot-scope="{ data }">
|
|
<el-button
|
|
type="primary"
|
|
size="mini"
|
|
@click="toggleDetail(data)"
|
|
>查看</el-button
|
|
>
|
|
<el-button
|
|
type="success"
|
|
size="mini"
|
|
@click="confirmArrival(data.id)"
|
|
v-if="data.status === 48"
|
|
>到货确认</el-button
|
|
>
|
|
<!-- <el-button
|
|
type="warning"
|
|
size="mini"
|
|
>解绑</el-button
|
|
>-->
|
|
<!-- <el-button
|
|
type="primary"
|
|
size="mini"
|
|
@click="handleEditData(data)"
|
|
>编辑</el-button
|
|
>
|
|
<el-button
|
|
type="danger"
|
|
size="mini"
|
|
@click="handleDeleteData(data.id, delStorageConfigListApi)"
|
|
>删除</el-button
|
|
>-->
|
|
</template>
|
|
<!-- <template slot="isActive" slot-scope="{ data }">
|
|
{{ data.isActive == '1' ? '启用' : '不启用' }}
|
|
</template>
|
|
<template slot="phone" slot-scope="{ data }">
|
|
{{ phoneCrypto(data.phone) }}
|
|
</template>-->
|
|
<template slot="purchaseNum" slot-scope="{ data }">
|
|
{{ data.purchaseNum / storageDex }}
|
|
</template>
|
|
<template slot="purchasePrice" slot-scope="{ data }">
|
|
{{ data.purchasePrice / priceDex }}
|
|
</template>
|
|
<template slot="notaxPrice" slot-scope="{ data }">
|
|
{{ data.notaxPrice / priceDex }}
|
|
</template>
|
|
<template slot="status" slot-scope="{ data }">
|
|
<span style="color: #D9001B">
|
|
{{ data.statusName }}
|
|
</span>
|
|
</template>
|
|
</TableModel>
|
|
|
|
<!-- 新增以及修改时的弹框 -->
|
|
<!-- <DialogModel
|
|
:dialogConfig="dialogConfig"
|
|
@closeDialogOuter="closeDialogOuter"
|
|
>
|
|
<template slot="outerContent">
|
|
<!– 新增以及修改数据的表单组件 –>
|
|
<FormConfirm
|
|
@closeDialog="closeDialog"
|
|
:editParams="editParams"
|
|
/>
|
|
</template>
|
|
</DialogModel>-->
|
|
|
|
<table-confirm
|
|
v-if="isShowComponent === 'table-confirm'"
|
|
:send-params="transParams"
|
|
:send-range="factoryRange"
|
|
:send-cascader="cascaderRange"
|
|
>
|
|
|
|
</table-confirm>
|
|
|
|
</div>
|
|
</template>
|
|
|
|
<script>
|
|
import { columnsList, dialogConfig, formLabel, queryStatusSelData } from './config'
|
|
import { commonMixin } from '../mixins/common'
|
|
import TableConfirm from './components/table-confirm.vue'
|
|
import {
|
|
queryPurchaseConfirmListApi,
|
|
confirmArrivalApi
|
|
} from '@/api/purchase/confirm'
|
|
import {
|
|
querySupplierListApi
|
|
} from '@/api/material/masupplier'
|
|
import {
|
|
queryTypeListApi
|
|
} from '@/api/purchase/arrival'
|
|
import PageHeader from '@/components/pageHeader/index.vue'
|
|
import AddArrival from '@/views/purchase/arrival/components/add-arrival.vue'
|
|
|
|
export default {
|
|
name: 'arrivalConfirmManage',
|
|
mixins: [commonMixin], // 混入公共方法和数据
|
|
components: { AddArrival, PageHeader, TableConfirm },
|
|
created() {
|
|
queryStatusSelData()
|
|
// 查询厂家
|
|
querySupplierListApi().then(res => {
|
|
this.factoryRange = res.rows.map(item => {
|
|
return {
|
|
label: item.name,
|
|
value: item.id
|
|
}
|
|
})
|
|
}).catch(err => {})
|
|
// 查询物资规格
|
|
queryTypeListApi().then(res => {
|
|
res.data.forEach(lv1 => {
|
|
if(!lv1.children) {
|
|
lv1.disabled = true
|
|
} else {
|
|
lv1.children.forEach(lv2 => {
|
|
if(!lv2.children) {
|
|
lv2.disabled = true
|
|
} else {
|
|
lv2.children.forEach(lv3 => {
|
|
if(!lv3.children) {
|
|
lv3.disabled = true
|
|
}
|
|
})
|
|
}
|
|
})
|
|
}
|
|
})
|
|
this.cascaderRange = res.data
|
|
}).catch(err => {})
|
|
},
|
|
methods: {
|
|
queryPurchaseConfirmListApi,
|
|
querySupplierListApi,
|
|
queryTypeListApi,
|
|
goBack() {
|
|
this.isShowComponent = 'Index'
|
|
},
|
|
getIdList(list) {
|
|
this.multiConfirmList = list
|
|
},
|
|
// 到货确认
|
|
confirmArrival(id) {
|
|
this.$modal.confirm('是否确认到货').then(() => {
|
|
let idList = []
|
|
idList.push(id)
|
|
// 请求
|
|
confirmArrivalApi(idList).then(res => {
|
|
this.$modal.msgSuccess('提交成功')
|
|
this.$refs.tableRef.getTableList()
|
|
}).catch(err => {})
|
|
})
|
|
},
|
|
// 批量确认
|
|
multiConfirm() {
|
|
if(this.multiConfirmList.length === 0) {
|
|
this.$modal.msgError('请选择需要批量确认的物资')
|
|
} else {
|
|
this.$modal.confirm('是否批量确认到货').then(() => {
|
|
let idList = []
|
|
this.multiConfirmList.forEach(item => {
|
|
idList.push(item.id)
|
|
})
|
|
// 请求
|
|
confirmArrivalApi(idList).then(res => {
|
|
this.$modal.msgSuccess('提交成功')
|
|
this.$refs.tableRef.getTableList()
|
|
}).catch(err => {})
|
|
})
|
|
}
|
|
},
|
|
toggleDetail(data) {
|
|
this.transParams = data
|
|
this.isShowComponent = 'table-confirm'
|
|
}
|
|
},
|
|
data() {
|
|
return {
|
|
isShowComponent: 'Index',
|
|
pageContent: '新购确认列表',
|
|
formLabel,
|
|
columnsList,
|
|
dialogConfig,
|
|
addDialogTitle: '新建仓库', // 新建时弹框标题
|
|
editDialogTitle: '修改仓库', // 修改时弹框标题
|
|
storageDex: 1000,
|
|
priceDex: 100,
|
|
transParams: undefined,
|
|
factoryRange: [],
|
|
cascaderRange: [],
|
|
multiConfirmList: []
|
|
}
|
|
},
|
|
}
|
|
</script>
|