|
@@ -1,179 +0,0 @@
|
|
|
-<template>
|
|
|
- <a-modal
|
|
|
- centered
|
|
|
- :footer="null"
|
|
|
- :maskClosable="false"
|
|
|
- title="选择产品"
|
|
|
- v-model="isShow"
|
|
|
- @cancle="cansel"
|
|
|
- width="80%">
|
|
|
- <a-card size="small" :bordered="false" class="productInfoList-wrap">
|
|
|
- <!-- 搜索条件 -->
|
|
|
- <div class="table-page-search-wrapper">
|
|
|
- <a-form layout="inline" @keyup.enter.native="$refs.table.refresh(true)">
|
|
|
- <a-row :gutter="15">
|
|
|
- <a-col :md="6" :sm="24">
|
|
|
- <a-form-item label="产品名称">
|
|
|
- <a-input id="productInfoList-name" v-model.trim="queryParam.name" allowClear placeholder="请输入产品名称"/>
|
|
|
- </a-form-item>
|
|
|
- </a-col>
|
|
|
- <a-col :md="6" :sm="24">
|
|
|
- <a-form-item label="产品编码/原厂编码">
|
|
|
- <a-input id="productInfoList-queryWord" v-model.trim="queryParam.queryWord" allowClear placeholder="请输入产品编码/原厂编码"/>
|
|
|
- </a-form-item>
|
|
|
- </a-col>
|
|
|
- <a-col :md="6" :sm="24">
|
|
|
- <a-form-item label="品牌">
|
|
|
- <ProductBrand id="productInfoList-productBrandSn" v-model="queryParam.productBrandSn"></ProductBrand>
|
|
|
- </a-form-item>
|
|
|
- </a-col>
|
|
|
- <template v-if="advanced">
|
|
|
- <a-col :md="6" :sm="24">
|
|
|
- <a-form-item label="产品分类">
|
|
|
- <ProductType id="productInfoList-productType" v-model="productType" @change="changeProductType"></ProductType>
|
|
|
- </a-form-item>
|
|
|
- </a-col>
|
|
|
- </template>
|
|
|
- <a-col :md="6" :sm="24">
|
|
|
- <a-button style="margin-bottom: 18px;" type="primary" @click="$refs.table.refresh(true)" :disabled="disabled" id="productInfoList-refresh">查询</a-button>
|
|
|
- <a-button style="margin: 0 0 18px 8px" @click="resetSearchForm" id="productInfoList-reset">重置</a-button>
|
|
|
- <a @click="advanced=!advanced" style="margin-left: 8px">
|
|
|
- {{ advanced ? '收起' : '展开' }}
|
|
|
- <a-icon :type="advanced ? 'up' : 'down'"/>
|
|
|
- </a>
|
|
|
- </a-col>
|
|
|
- </a-row>
|
|
|
- </a-form>
|
|
|
- </div>
|
|
|
- <!-- 列表 -->
|
|
|
- <s-table
|
|
|
- class="sTable"
|
|
|
- ref="table"
|
|
|
- size="small"
|
|
|
- :row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
|
|
|
- :rowKey="(record) => record.id"
|
|
|
- :columns="columns"
|
|
|
- :data="loadData"
|
|
|
- :scroll="{ y: tableHeight }"
|
|
|
- bordered>
|
|
|
- </s-table>
|
|
|
- <div style="display: flex;justify-content: center;padding: 10px 0;">
|
|
|
- <a-button size="large" type="primary" class="button-primary" @click="handleSubmit" style="padding: 0 60px;">
|
|
|
- 确定
|
|
|
- </a-button>
|
|
|
- <a-button size="large" style="padding: 0 60px;margin-left: 15px;font-size: 12px;" @click="cansel">
|
|
|
- 取消
|
|
|
- </a-button>
|
|
|
- </div>
|
|
|
- </a-card>
|
|
|
- </a-modal>
|
|
|
-</template>
|
|
|
-
|
|
|
-<script>
|
|
|
-import { STable, VSelect } from '@/components'
|
|
|
-import { productList } from '@/api/product'
|
|
|
-import ProductType from '@/views/common/productType.js'
|
|
|
-import ProductBrand from '@/views/common/productBrand.js'
|
|
|
-export default {
|
|
|
- name: 'ChooseProduct',
|
|
|
- components: { STable, VSelect, ProductType, ProductBrand },
|
|
|
- props: {
|
|
|
- openModal: { // 弹框显示状态
|
|
|
- type: Boolean,
|
|
|
- default: false
|
|
|
- }
|
|
|
- },
|
|
|
- data () {
|
|
|
- return {
|
|
|
- isShow: this.openModal,
|
|
|
- advanced: false, // 高级搜索 展开/关闭
|
|
|
- tableHeight: 0,
|
|
|
- queryParam: { // 查询条件
|
|
|
- name: '', // 产品名称
|
|
|
- queryWord: '', // 产品编码/原厂编码
|
|
|
- productBrandSn: undefined, // 产品品牌
|
|
|
- productTypeSn1: '', // 产品一级分类
|
|
|
- productTypeSn2: '', // 产品二级分类
|
|
|
- productTypeSn3: '' // 产品三级分类
|
|
|
- },
|
|
|
- productType: [],
|
|
|
- disabled: false, // 查询、重置按钮是否可操作
|
|
|
- columns: [
|
|
|
- { title: '序号', dataIndex: 'no', width: 80, align: 'center' },
|
|
|
- { title: '产品名称', dataIndex: 'name', align: 'center', ellipsis: true, customRender: function (text) { return text || '--' } },
|
|
|
- { title: '产品编码', dataIndex: 'code', width: 220, align: 'center', customRender: function (text) { return text || '--' } }
|
|
|
- ],
|
|
|
- selectedRowKeys: [], // Check here to configure the default column
|
|
|
- selectedRows: [],
|
|
|
- loading: false,
|
|
|
- // 加载数据方法 必须为 Promise 对象
|
|
|
- loadData: parameter => {
|
|
|
- this.disabled = true
|
|
|
- if (this.tableHeight == 0) {
|
|
|
- this.tableHeight = window.innerHeight - 380
|
|
|
- }
|
|
|
- return productList(Object.assign(parameter, this.queryParam)).then(res => {
|
|
|
- const data = res.data
|
|
|
- const no = (data.pageNo - 1) * data.pageSize
|
|
|
- for (var i = 0; i < data.list.length; i++) {
|
|
|
- data.list[i].no = no + i + 1
|
|
|
- }
|
|
|
- this.disabled = false
|
|
|
- return data
|
|
|
- })
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
- methods: {
|
|
|
- onSelectChange (selectedRowKeys, selectedRows) {
|
|
|
- this.selectedRowKeys = selectedRowKeys
|
|
|
- this.selectedRows = selectedRows
|
|
|
- },
|
|
|
- // 选择产品
|
|
|
- handleSubmit () {
|
|
|
- const _this = this
|
|
|
- if (_this.selectedRowKeys.length < 1) {
|
|
|
- _this.$message.warning('请在选择产品!')
|
|
|
- return
|
|
|
- }
|
|
|
- const obj = []
|
|
|
- _this.selectedRows.map(item => {
|
|
|
- obj.push(item.productSn)
|
|
|
- })
|
|
|
- _this.$emit('ok', obj)
|
|
|
- },
|
|
|
- // 重置
|
|
|
- resetSearchForm () {
|
|
|
- this.queryParam.name = ''
|
|
|
- this.queryParam.queryWord = ''
|
|
|
- this.queryParam.productBrandSn = undefined
|
|
|
- this.queryParam.productTypeSn1 = ''
|
|
|
- this.queryParam.productTypeSn2 = ''
|
|
|
- this.queryParam.productTypeSn3 = ''
|
|
|
- this.productType = []
|
|
|
- this.$refs.table.refresh(true)
|
|
|
- },
|
|
|
- // 产品分类 change
|
|
|
- changeProductType (val, opt) {
|
|
|
- this.queryParam.productTypeSn1 = val[0] ? val[0] : ''
|
|
|
- this.queryParam.productTypeSn2 = val[1] ? val[1] : ''
|
|
|
- this.queryParam.productTypeSn3 = val[2] ? val[2] : ''
|
|
|
- },
|
|
|
- cansel () {
|
|
|
- this.$emit('close')
|
|
|
- }
|
|
|
- },
|
|
|
- watch: {
|
|
|
- // 父页面传过来的弹框状态
|
|
|
- openModal (newValue, oldValue) {
|
|
|
- this.isShow = newValue
|
|
|
- },
|
|
|
- // 重定义的弹框状态
|
|
|
- isShow (newValue, oldValue) {
|
|
|
- if (!newValue) {
|
|
|
- this.$emit('close')
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-}
|
|
|
-</script>
|