From f7e6a328b025d2eac4114955efa2c5ba9325f21e Mon Sep 17 00:00:00 2001 From: FrancisHu <2756004617@qq.com> Date: Tue, 20 Aug 2024 18:07:30 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E8=B4=AD=E5=88=B0=E8=B4=A7=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E6=A8=A1=E5=9D=97=E8=81=94=E8=B0=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/purchase/arrival.js | 24 ++- src/components/TableModel/index.vue | 121 ++++++++++-- .../arrival/components/add-arrival.vue | 177 +++++++++++++++--- .../arrival/components/form-arrival.vue | 170 ++++------------- src/views/purchase/arrival/config-add.js | 27 ++- src/views/purchase/arrival/config-arrival.js | 14 ++ src/views/purchase/arrival/index.vue | 42 ++++- src/views/purchase/mixins/common.js | 5 + 8 files changed, 375 insertions(+), 205 deletions(-) create mode 100644 src/views/purchase/arrival/config-arrival.js diff --git a/src/api/purchase/arrival.js b/src/api/purchase/arrival.js index 8647f2d..ef8653d 100644 --- a/src/api/purchase/arrival.js +++ b/src/api/purchase/arrival.js @@ -17,18 +17,24 @@ export const queryFactoryListApi = (data) => { }) } -/** 物资厂家新增 */ -export const addSupplierListApi = (data) => { - return request.post('/base/masupplier/add', data) +/** 类型规格查询 */ +export const queryTypeListApi = (data) => { + return request.get('/purchase/bpm_purchase_info/cascader', { + params: data + }) } -/** 物资厂家修改 */ -export const updateSupplierListApi = (data) => { - return request.post('/base/masupplier/update', data) +/** 根据value查询单位 */ +export const queryMeterByVal = (data) => { + return request.get(`/purchase/bpm_purchase_info/cascaderById`, { + params: data + }) } -/** 物资厂家删除 */ -export const delSupplierListApi = (id) => { - return request.delete(`/base/masupplier/${id}`) +/** 新购到货新增 */ +export const addArrivalApi = (data) => { + return request.post('/purchase/bpm_purchase_info/add', data) } + + diff --git a/src/components/TableModel/index.vue b/src/components/TableModel/index.vue index a5b49b1..3222de2 100644 --- a/src/components/TableModel/index.vue +++ b/src/components/TableModel/index.vue @@ -9,6 +9,7 @@ :inline="true" label-width="100px" v-show="showSearch" + :rules="formRules" > - + 查询 + 填充 null + }, + extraTableProp: { + type: Object, + default: () => null + } }, computed: { /* 根据操作栏控制表头是否显示 */ @@ -208,6 +234,10 @@ export default { }, data() { return { + // 表单校验 + formRules: { + + }, loading: false, // 列表接口查询参数 queryParams: { @@ -217,7 +247,7 @@ export default { // 列表数据源 tableList: [], // 导出传递数据 - idList: undefined, + msgList: undefined, // 列表数据条数 total: 0, // 搜索区域是否隐藏 @@ -232,6 +262,7 @@ export default { columCheckList: [], // 操作列最小宽度 dynamicWidth: 0, + idCount: 1 } }, @@ -243,6 +274,14 @@ export default { /* 生成查询参数 */ this.formLabel.map(e => { this.$set(this.queryParams, e.f_model, '') + // 设置表单必填 + this.$set(this.formRules, e.f_rule, [ + { + required: true, + message: `请填写${e.f_label}`, + trigger: 'blur' + } + ]) }) // Object.assign(this.queryParams, this.sendParams) this.getTableList() @@ -254,25 +293,35 @@ export default { methods: { /** 获取列表数据 */ async getTableList() { - this.loading = true - console.log(this.queryParams) - const res = await this.requestApi(this.queryParams) - this.loading = false - console.log(res, '列表数据') - if(res.code === 200) { - if(res.data) { - this.tableList = res.data.rows - this.total = res.data.total - } else { - this.tableList = res.rows - this.total = res.total + this.$refs.queryFormRef.validate(async valid => { + if (valid) { + this.loading = true + console.log(this.queryParams) + const res = await this.requestApi(this.queryParams) + this.loading = false + console.log(res, '列表数据') + if (res.code === 200) { + if (res.data) { + this.tableList = res.data.rows + this.total = res.data.total + } else { + this.tableList = res.rows + this.total = res.total + } + } } - } + }) }, /** 查询按钮 */ handleQuery() { this.getTableList() }, + /** 填充按钮 */ + handleFill() { + /* this.tableList.forEach(obj => { + Object.assign(obj, this.formLabel) + }) */ + }, /** 重置按钮 */ resetQuery() { this.$refs.queryFormRef.resetFields() @@ -280,6 +329,39 @@ export default { this.queryParams.pageSize = 10 this.getTableList() }, + /** 级联选择只选最后一级 */ + handleCas( + e, + val, + func, + prop + ) { + console.log(prop) + this.queryParams[val] = e[e.length - 1] + let setObj = {} + // 合并 + if(prop) { + Object.assign(setObj, prop) + } + // 设置id自增 + this.$set(setObj, 'id', this.idCount) + this.idCount++ + // 获取单位 + func({ + id: e[e.length - 1] + }).then(res => { + console.log(res) + this.$set(setObj, 'name', res.data.parentName) + this.$set(setObj, 'unitName', res.data.unitName) + this.$set(setObj, 'typeName', res.data.name) + }).catch(err => {}) + for(let key in this.queryParams) { + this.$set(setObj, key, this.queryParams[key]) + } + this.tableList.unshift(setObj) + console.log(this.tableList) + + }, /** 动态设置操作列的列宽 */ getOperatorWidth() { const operatorColumn = @@ -313,9 +395,8 @@ export default { }, handleSelectionChange(e) { - this.idList = e.map(item => item.id) - console.log(this.idList) - this.$emit('transIdList', this.idList) + this.msgList = e + this.$emit('transIdList', this.msgList) } }, diff --git a/src/views/purchase/arrival/components/add-arrival.vue b/src/views/purchase/arrival/components/add-arrival.vue index 6fdddb7..0d90392 100644 --- a/src/views/purchase/arrival/components/add-arrival.vue +++ b/src/views/purchase/arrival/components/add-arrival.vue @@ -1,21 +1,25 @@ diff --git a/src/views/purchase/arrival/components/form-arrival.vue b/src/views/purchase/arrival/components/form-arrival.vue index 9a20c47..66452d8 100644 --- a/src/views/purchase/arrival/components/form-arrival.vue +++ b/src/views/purchase/arrival/components/form-arrival.vue @@ -1,93 +1,46 @@