lanan-system-vue/src/views/repair/stockOperate/Components/SoIndex.vue

207 lines
7.5 KiB
Vue
Raw Normal View History

2024-09-11 18:49:43 +08:00
<template>
<div>
<!-- 搜索 -->
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="90px">
<el-form-item :label="soByType ? '采购时间' : '领料时间'" prop="searchTimeArray">
<el-date-picker
v-model="queryParams.searchTimeArray"
type="daterange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期">
</el-date-picker>
</el-form-item>
<el-form-item v-if="soByType && !goodsYes" label="供应商" prop="supplierId">
2024-09-14 18:27:01 +08:00
<SupplierChoose/>
2024-09-11 18:49:43 +08:00
</el-form-item>
<el-form-item v-if="goodsYes" label="关键字" prop="soNo">
<el-input v-model="queryParams.soNo" style="width: 18rem" placeholder="请输入单号、商品名称或编码"/>
</el-form-item>
<el-form-item v-else label="单据号" prop="soNo">
<el-input v-model="queryParams.soNo" style="width: 18rem" placeholder="请输入单号、备注"/>
</el-form-item>
<el-form-item v-if="soByType" label="状态" prop="soStatus">
2024-09-13 18:31:13 +08:00
<el-select v-model="queryParams.soStatus" clearable>
<el-option v-for="item in getStatus"
:key="item.value"
:label="item.label"
2024-09-14 18:27:01 +08:00
:value="item.value"/>
2024-09-11 18:49:43 +08:00
</el-select>
</el-form-item>
<el-form-item v-if="!soByType" label="领料人" prop="userId">
<StaffChoose @selected="getStaff"/>
</el-form-item>
<el-form-item :label="soByType ? '采购门店' : '领料门店'" prop="corpId">
2024-09-13 18:31:13 +08:00
<CorpChoose @selected="getCompany"/>
2024-09-11 18:49:43 +08:00
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<!-- 操作 -->
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-download" size="mini"
>导出
</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch"></right-toolbar>
</el-row>
<!-- 急件 -->
<el-table v-if="goodsYes" v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true">
<el-table-column label="序号" align="center">
<template scope="scope">
<span>{{ scope.$index + 1 }}</span>
</template>
</el-table-column>
2024-09-14 18:27:01 +08:00
<el-table-column label="单号" align="center" prop="soNo" width="180"/>
<el-table-column label="商品名称" align="center" width="180" prop="name"/>
<el-table-column label="规格" align="center" width="180" prop="name"/>
<el-table-column label="商品编码" align="center" width="180" prop="name"/>
<el-table-column label="所属分类" align="center" width="150" prop="name"/>
<el-table-column label="数量" align="center" width="150" prop="name"/>
<el-table-column label="单位" align="center" width="150" prop="name"/>
<el-table-column label="成本" align="center" width="150" prop="name"/>
<el-table-column label="供应商" align="center" width="180" prop="name"/>
<el-table-column label="仓库" align="center" width="150" prop="name"/>
<el-table-column label="状态" align="center" width="150" prop="name"/>
<el-table-column label="时间" align="center" width="150" prop="name"/>
<el-table-column label="门店" align="center" width="180" prop="name"/>
2024-09-11 18:49:43 +08:00
<el-table-column label="操作" align="center" width="180" fixed="right">
<template v-slot="scope">
<el-button size="mini" type="text" icon="el-icon-edit"
>审核
</el-button>
</template>
</el-table-column>
</el-table>
<!-- 采购/领料 -->
<el-table v-else v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true">
<el-table-column label="序号" align="center">
<template scope="scope">
<span>{{ scope.$index + 1 }}</span>
</template>
</el-table-column>
2024-09-14 18:27:01 +08:00
<el-table-column label="单号" align="center" prop="soNo" width="180"/>
<el-table-column label="数量" align="center" prop="itemCount" width="150"/>
<el-table-column label="金额" align="center" prop="totalPrice" width="150"/>
<el-table-column :label="soByType ? '采购员' : '领料人'" align="center" prop="userName" width="150"/>
<el-table-column v-if="soByType" label="供应商" align="center" prop="supplierName" width="150"/>
<el-table-column :label="soByType ? '入库时间' : '领料时间'" align="center" prop="soTime" width="150"/>
<el-table-column label="登记时间" align="center" prop="createTime" width="150"/>
<el-table-column label="门店" align="center" prop="corpName" width="180"/>
<el-table-column v-if="soByType" label="状态" align="center" prop="soStatus" width="150"/>
<el-table-column label="备注" align="center" prop="remark" width="180"/>
2024-09-11 18:49:43 +08:00
<el-table-column label="操作" fixed="right" width="180" align="center">
<template v-slot="scope">
<el-button size="mini" type="text" icon="el-icon-edit"
>修改
</el-button>
<el-button size="mini" type="text" icon="el-icon-close"
>作废
</el-button>
</template>
</el-table-column>
</el-table>
<!-- 分页 -->
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNo" :limit.sync="queryParams.pageSize"
/>
</div>
</template>
<script>
2024-09-12 18:29:04 +08:00
import SupplierChoose from "@/views/repair/Components/SupplierChoose.vue";
2024-09-11 18:49:43 +08:00
import CorpChoose from "@/views/repair/Components/CorpChoose.vue";
import StaffChoose from "@/views/repair/Components/StaffChoose.vue";
2024-09-13 18:31:13 +08:00
import {DICT_TYPE} from "@/utils/dict";
2024-09-14 18:27:01 +08:00
import {getRepairSoPage} from "@/api/repair/stockOperate/stockOperate";
2024-09-11 18:49:43 +08:00
export default {
name: "SoIndex",
2024-09-13 18:31:13 +08:00
computed: {
2024-09-14 18:27:01 +08:00
getStatus() {
2024-09-13 18:31:13 +08:00
const data = this.getDictDatas(DICT_TYPE.REPAIR_SO_STATUS)
return data.filter(item => item.label.toString().indexOf("领料") === -1)
}
},
2024-09-14 18:27:01 +08:00
components: {
2024-09-11 18:49:43 +08:00
StaffChoose,
SupplierChoose,
CorpChoose
},
2024-09-14 18:27:01 +08:00
props: {
2024-09-11 18:49:43 +08:00
soByType: {
type: Boolean,
defaultValue: true,
required: true
},
goodsYes: {
type: Boolean,
defaultValue: false,
required: false
}
},
data() {
return {
2024-09-14 18:27:01 +08:00
queryParams: {
2024-09-11 18:49:43 +08:00
pageNo: 1,
pageSize: 10,
2024-09-14 18:27:01 +08:00
searchTimeArray: [],
2024-09-11 18:49:43 +08:00
soNo: null,
supplierId: null,
supplierName: null,
soStatus: null,
corpId: null,
userId: null,
2024-09-14 18:27:01 +08:00
userName: null,
soType: this.soByType ? "01" : "02"
2024-09-11 18:49:43 +08:00
},
showSearch: true,
list: [],
loading: false,
total: 0
}
},
2024-09-14 18:27:01 +08:00
mounted() {
this.pageSo();
},
2024-09-11 18:49:43 +08:00
methods: {
2024-09-14 18:27:01 +08:00
// 分页
async pageSo() {
try {
this.loading = true
const res = await getRepairSoPage(this.queryParams)
this.list = res.data.records
this.total = res.data.total
}finally {
this.loading = false
}
},
2024-09-11 18:49:43 +08:00
// 搜索按钮
2024-09-14 18:27:01 +08:00
handleQuery() {
},
2024-09-11 18:49:43 +08:00
// 搜索重置
2024-09-14 18:27:01 +08:00
resetQuery() {
2024-09-11 18:49:43 +08:00
this.resetForm('queryForm')
this.handleQuery()
},
// 员工选择组件的回调
2024-09-14 18:27:01 +08:00
getStaff(data) {
2024-09-11 18:49:43 +08:00
this.queryParams.userId = data.id
this.queryParams.userName = data.name
2024-09-13 18:31:13 +08:00
},
// 门店选择
2024-09-14 18:27:01 +08:00
getCompany(data) {
2024-09-13 18:31:13 +08:00
console.log(data)
2024-09-11 18:49:43 +08:00
}
}
}
</script>
<style scoped lang="scss">
</style>