| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382 |
- <!-- 搜索表单 -->
- <template>
- <el-form
- label-width="80px"
- class="ele-form-search"
- @keyup.enter.native="search"
- @submit.native.prevent
- >
- <!-- <el-row :gutter="15">
- <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
- <el-form-item label="单号:">
- <el-input clearable v-model="where.code" placeholder="请输入" />
- </el-form-item>
- </el-col>
- <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
- <el-form-item label="申请人:">
- <el-input clearable v-model="where.name" placeholder="请输入" />
- </el-form-item>
- </el-col>
- <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
- <el-form-item label="调拨类型:" label-width="100px">
- <el-input clearable v-model="where.dep" placeholder="请输入" />
- </el-form-item>
- </el-col>
- <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
- <el-form-item label="状态:">
- <el-input clearable v-model="where.texture" placeholder="请输入" />
- </el-form-item>
- <div class="ele-form-actions">
- <el-button
- type="primary"
- icon="el-icon-search"
- class="ele-btn-icon"
- @click="search"
- size="small"
- >
- 查询
- </el-button>
- <el-button @click="reset"
- icon="el-icon-refresh-left"
- size="small"
- type="primary"
- >重置</el-button>
- </div>
- </el-col>
- </el-row> -->
- <el-row :gutter="15">
- <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
- <el-form-item label="所属工厂" prop="factoryId">
- <el-select
- filterable
- placeholder="请选择"
- @change="getWarehouseListHandle"
- v-model="where.factoryId"
- clearable
- class="w100"
- >
- <el-option
- v-for="item in factoryList"
- :key="item.id"
- :label="item.name"
- :value="item.id"
- ></el-option>
- </el-select>
- </el-form-item>
- </el-col>
- <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
- <el-form-item label="调拨时间" prop="time">
- <el-date-picker
- class="w100"
- size="small"
- v-model="where.time"
- type="daterange"
- range-separator="至"
- start-placeholder="开始日期"
- end-placeholder="结束日期"
- value-format="yyyy-MM-dd"
- ></el-date-picker>
- </el-form-item>
- </el-col>
- <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
- <el-form-item label="调出仓库" prop="sourceWarehouse">
- <el-select
- filterable
- placeholder="请选择"
- v-model="where.sourceWarehouse"
- clearable
- class="w100"
- >
- <el-option
- v-for="item in warehouseList"
- :key="item.id"
- :label="item.name"
- :value="item.id"
- ></el-option>
- </el-select>
- </el-form-item>
- </el-col>
- <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
- <el-form-item label="调入仓库" prop="targetWarehouse">
- <el-select
- filterable
- placeholder="请选择"
- v-model="where.targetWarehouse"
- clearable
- class="w100"
- >
- <el-option
- v-for="item in warehouseList"
- :key="item.id"
- :label="item.name"
- :value="item.id"
- ></el-option>
- </el-select>
- </el-form-item>
- </el-col>
- <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
- <el-form-item label="调拨单号:">
- <el-input
- clearable
- v-model="where.allotCode"
- placeholder="请输入物品名称"
- />
- </el-form-item>
- </el-col>
- <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
- <el-form-item label="调拨名称:">
- <el-input
- clearable
- v-model="where.name"
- placeholder="请输入物品名称"
- />
- </el-form-item>
- </el-col>
- <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
- <el-form-item label="物品名称:">
- <el-input
- clearable
- v-model="where.categoryName"
- placeholder="请输入物品名称"
- />
- </el-form-item>
- </el-col>
- <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
- <el-form-item label="物品编码:">
- <el-input
- clearable
- v-model="where.categoryCode"
- placeholder="请输入物品编码"
- />
- </el-form-item>
- </el-col>
- <!-- <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
- <el-form-item label="组织机构:" prop="deptIds">
- <auth-selection
- data-type="Array"
- v-model="where.deptIds"
- style="width: 100%"
- ></auth-selection>
- </el-form-item>
- </el-col> -->
- <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
- <el-form-item label="调拨类型" prop="type">
- <el-select
- filterable
- placeholder="请选择"
- v-model="where.type"
- clearable
- class="w100"
- >
- <el-option
- v-for="item in allocationType"
- :key="item.code"
- :label="item.label"
- :value="item.code"
- ></el-option>
- </el-select>
- </el-form-item>
- </el-col>
- <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
- <el-form-item label="调拨状态" prop="status">
- <el-select
- filterable
- placeholder="请选择"
- v-model="where.status"
- clearable
- class="w100"
- >
- <el-option
- v-for="item in stutusOptions"
- :key="item.value"
- :label="item.label"
- :value="item.value"
- ></el-option>
- </el-select>
- </el-form-item>
- </el-col>
- <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
- <el-form-item label="销售订单:" prop="saleOrderNo">
- <el-input
- clearable
- v-model="where.saleOrderNo"
- placeholder="请输入"
- ></el-input>
- </el-form-item>
- </el-col>
- <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
- <el-form-item label="客户名称:" prop="customerName">
- <el-input
- clearable
- v-model="where.customerName"
- placeholder="请输入"
- ></el-input>
- </el-form-item>
- </el-col>
- <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
- <el-form-item label="对账状态:" prop="isReconciliation">
- <el-select
- filterable
- placeholder="请选择"
- v-model="where.isReconciliation"
- clearable
- class="w100"
- >
- <el-option
- v-for="item in isReconciliationOp"
- :key="item.value"
- :label="item.label"
- :value="item.value"
- ></el-option>
- </el-select>
- </el-form-item>
- </el-col>
- <el-col v-bind="styleResponsive ? { lg: 18, md: 12 } : { span: 18 }">
- <div class="ele-form-actions">
- <el-button
- type="primary"
- icon="el-icon-search"
- class="ele-btn-icon"
- @click="search"
- size="small"
- >
- 查询
- </el-button>
- <el-button
- @click="reset"
- icon="el-icon-refresh-left"
- size="small"
- type="primary"
- >重置</el-button
- >
- </div>
- </el-col>
- </el-row>
- </el-form>
- </template>
- <script>
- import { login } from '@/api/login';
- import { getWarehouseList } from '@/api/classifyManage/itemInformation';
- import storageApi from '@/api/warehouseManagement/index.js';
- import { allocationType } from '@/utils/dict/warehouse';
- import warehouseDefinition from '@/api/warehouseManagement/warehouseDefinition';
- export default {
- data() {
- // 默认表单数据
- const defaultWhere = {
- name: '',
- allotCode: '',
- type: '',
- status: '',
- factoryId: '',
- categoryName: '',
- categoryCode: '',
- targetWarehouse: '',
- sourceWarehouse: '',
- isReconciliation: '',
- time: []
- };
- return {
- // 表单数据
- defaultWhere,
- where: { ...defaultWhere },
- treeLoading: false,
- allocationType,
- treeData: [],
- factoryList: [],
- warehouseList: [],
- allWarehouseList: [],
- stutusOptions: [
- {
- value: 0,
- label: '未提交'
- },
- {
- value: 1,
- label: '审核中'
- },
- {
- value: 2,
- label: '已完成'
- }
- ],
- isReconciliationOp: [
- { value: 0, label: '未对账' },
- { value: 1, label: '已对账' }
- ]
- };
- },
- computed: {
- // 是否开启响应式布局
- styleResponsive() {
- return this.$store.state.theme.styleResponsive;
- }
- },
- created() {
- this.getArguInfo();
- this.getFactoryList();
- },
- methods: {
- async getTreeData(val) {
- this.where.targetWarehouse = '';
- this.where.sourceWarehouse = '';
- try {
- this.treeLoading = true;
- let res = await storageApi.getWarehouseTrees({
- factoriesId: val
- });
- this.treeLoading = false;
- if (res?.code === '0') {
- this.warehouseList = res.data;
- }
- } catch (error) {
- console.log(error);
- }
- this.treeLoading = false;
- },
- async getArguInfo() {
- const { data } = await getWarehouseList();
- this.allWarehouseList = data;
- },
- //获取工厂列表
- async getFactoryList() {
- const res = await warehouseDefinition.getFactoryarea({
- pageNum: 1,
- size: 9999,
- type: 1
- });
- this.factoryList = res.list;
- },
- getWarehouseListHandle(val) {
- this.where.targetWarehouse = '';
- this.where.sourceWarehouse = '';
- this.warehouseList = this.allWarehouseList.filter(
- (item) => item.factoryId === val
- );
- },
- /* 搜索 */
- search() {
- console.log(this.where);
- this.$emit('search', this.where);
- },
- /* 重置 */
- reset() {
- this.where = { ...this.defaultWhere };
- this.search();
- }
- }
- };
- </script>
- <style lang="scss" scoped>
- .ele-form-actions {
- display: flex;
- align-items: center;
- justify-content: flex-end;
- }
- .el-form-item {
- margin-bottom: 5px !important;
- }
- </style>
|