diff --git a/src/api/purchase/arrival.js b/src/api/purchase/arrival.js index 31cce0b..3a150a9 100644 --- a/src/api/purchase/arrival.js +++ b/src/api/purchase/arrival.js @@ -53,5 +53,23 @@ export const addArrivalApi = (data) => { return request.post('/task/purchase/arrival/add', data) } +/** 获取库管员列表 */ +export const queryNoticePersonList = (data) => { + return request.get(`/task/purchase/notice/getUserList`, { + params: data + }) +} + +/** 获取所有用户列表 */ +export const queryAllPersonList = (data) => { + return request.get(`/task/purchase/notice/getAllUser`, { + params: data + }) +} + +/** 发起验收 */ +export const startReceiveApi = (data) => { + return request.post(`/task/purchase/notice/startAccept`, data) +} diff --git a/src/api/purchase/receive.js b/src/api/purchase/receive.js index d3c1f8c..1a5dcfd 100644 --- a/src/api/purchase/receive.js +++ b/src/api/purchase/receive.js @@ -10,6 +10,18 @@ export const queryPurchaseReceiveListApi = (data) => { }) } +/** 新购验收二级页面查询 */ +export const queryPurchaseReceiveInnerListApi = (data) => { + return request.get('/task/purchase/acceptance/details', { + params: data + }) +} + +/** 新购验收二级页面验收通过 */ +export const qualifyReceiveInnerApi = (data) => { + return request.post('/task/purchase/acceptance/approve', data) +} + /** 查询状态下拉 */ export const queryStatusSelApi = (data) => { return request.get('/base/tree/getStatus', { diff --git a/src/components/TableModel/index.vue b/src/components/TableModel/index.vue index ba5ed8d..5552f89 100644 --- a/src/components/TableModel/index.vue +++ b/src/components/TableModel/index.vue @@ -45,7 +45,7 @@ :options="item.f_selList" :props="item.optionProps" :show-all-levels="false" - @change="handleCas($event, item.f_model, cascaderFunc, extraTableProp)" + @change="handleCasAdd($event, item.f_model, cascaderFunc, extraTableProp)" style="width: 240px" /> - +
@@ -126,6 +127,7 @@ width="45" align="center" v-if="showSel" + :selectable="selectable" /> { + return true + } } }, computed: { @@ -370,8 +382,12 @@ export default { this.queryParams.pageSize = 10 this.getTableList() }, + /** 级联选择 */ + handleCas(e, val) { + this.queryParams[val] = e[e.length - 1] + }, /** 级联选择只选最后一级 */ - handleCas( + handleCasAdd( e, val, func, @@ -435,7 +451,7 @@ export default { handleSelectionChange(e) { this.msgList = e this.$emit('transIdList', this.msgList) - } + }, }, } diff --git a/src/views/base/project/index.vue b/src/views/base/project/index.vue index e89db38..74ceb36 100644 --- a/src/views/base/project/index.vue +++ b/src/views/base/project/index.vue @@ -66,7 +66,10 @@ export default { queryProjectListApi, deleteProjectApi, getIdList(idList) { - this.exportList = idList + this.exportList = [] + idList.forEach(item => { + this.exportList.push(item.id) + }) } }, mixins: [commonMixin], // 混入公共方法和数据 @@ -78,7 +81,7 @@ export default { // 搜索区表单配置项 formLabel, // 表格导出id列表 - exportList: undefined, + exportList: [], // 列表区配置项 columnsList, // 弹框区配置项 diff --git a/src/views/material/type/components/form-type.vue b/src/views/material/type/components/form-type.vue index a22d151..4544a63 100644 --- a/src/views/material/type/components/form-type.vue +++ b/src/views/material/type/components/form-type.vue @@ -673,9 +673,8 @@ export default { { label: '否', value: '0' }, ], manageTypeRange: [ - { label: '编码追溯', value: '0' }, - { label: '数量 + 编码', value: '1' }, - { label: '数量', value: '2' }, + { label: '编码', value: '0' }, + { label: '数量', value: '1' }, ], meterRange: [], editLevel: undefined, diff --git a/src/views/purchase/arrival/components/see-detail.vue b/src/views/purchase/arrival/components/see-detail.vue index 49a5a7f..823dfea 100644 --- a/src/views/purchase/arrival/components/see-detail.vue +++ b/src/views/purchase/arrival/components/see-detail.vue @@ -8,6 +8,7 @@ :send-params="transObj" :request-api="queryPurchaseArrivalListInnerApi" :show-sel="false" + :show-operation="false" > + + @@ -57,7 +66,7 @@ export default { }, }, created() { - this.transObj = { ['id']: this.editParams['id'] } + this.transObj = { ['taskId']: this.editParams['id'] } console.log(this.transObj) }, mounted() { diff --git a/src/views/purchase/arrival/components/table-notice-add.vue b/src/views/purchase/arrival/components/table-notice-add.vue new file mode 100644 index 0000000..bab1ed5 --- /dev/null +++ b/src/views/purchase/arrival/components/table-notice-add.vue @@ -0,0 +1,67 @@ + + + + + diff --git a/src/views/purchase/arrival/components/table-notice.vue b/src/views/purchase/arrival/components/table-notice.vue new file mode 100644 index 0000000..6419d08 --- /dev/null +++ b/src/views/purchase/arrival/components/table-notice.vue @@ -0,0 +1,161 @@ + + + + + diff --git a/src/views/purchase/arrival/config-detail.js b/src/views/purchase/arrival/config-detail.js index bf1fc4a..22b8035 100644 --- a/src/views/purchase/arrival/config-detail.js +++ b/src/views/purchase/arrival/config-detail.js @@ -1,12 +1,12 @@ export const columnsListDetail = [ - { t_props: 'name', t_label: '物资名称', }, - { t_props: 'typeId', t_label: '规格型号', t_slot: 'typeId' }, + { t_props: 'materialName', t_label: '物资名称', }, + { t_props: 'materialModel', t_label: '规格型号', }, { t_props: 'unitName', t_label: '单位' }, { t_props: 'purchaseNum', t_label: '采购数量', t_slot: 'purchaseNum' }, { t_props: 'purchasePrice', t_label: '单价(含税)', t_slot: 'purchasePrice' }, { t_props: 'notaxPrice', t_label: '单价(不含税)', t_slot: 'notaxPrice' }, - { t_props: 'taxRate', t_label: '税率', t_slot: 'taxRate' }, + { t_props: 'taxRate', t_label: '税率', }, { t_props: 'supplierId', t_label: '物资厂家', t_slot: 'supplierId' }, - { t_props: 'productDate', t_label: '出厂日期', t_slot: 'productDate' }, + { t_props: 'productDate', t_label: '出厂日期', }, { t_props: 'files', t_label: '相关配套资料', t_slot: 'files' }, ] diff --git a/src/views/purchase/arrival/config-notice.js b/src/views/purchase/arrival/config-notice.js new file mode 100644 index 0000000..1fab787 --- /dev/null +++ b/src/views/purchase/arrival/config-notice.js @@ -0,0 +1,11 @@ +export const columnsListNotice = [ + { t_props: 'userName', t_label: '人员名称', }, + { t_props: 'deptName', t_label: '所属机构' }, + { t_props: 'userRole', t_label: '角色', }, + { t_props: 'phone', t_label: '联系电话', t_width: '150px' }, +] +export const dialogConfigNotice = { + outerWidth: '60%', + outerTitle: '', + outerVisible: false, +} diff --git a/src/views/purchase/arrival/config.js b/src/views/purchase/arrival/config.js index 411141c..b9a5a6d 100644 --- a/src/views/purchase/arrival/config.js +++ b/src/views/purchase/arrival/config.js @@ -1,9 +1,23 @@ +import { + queryStatusSelApi +} from '@/api/purchase/receive' + +export const queryStatusSelData = () => { + queryStatusSelApi().then(res => { + formLabel[3].f_selList = res.data.data.map(item => { + return { + label: item.dictLabel, + value: item.dictCode + } + }) + }) +} export const formLabel = [ { f_label: '开始时间', f_model: 'startTime', f_type: 'date' }, { f_label: '结束时间', f_model: 'endTime', f_type: 'date' }, { f_label: '关键字', f_model: 'keyWord', f_type: 'ipt' }, - { f_label: '状态', f_model: 'keyWord', f_type: 'ipt' }, + { f_label: '状态', f_model: 'status', f_type: 'sel', f_selList: [] }, ] export const columnsList = [ { t_props: 'arrivalTime', t_label: '到货时间', }, diff --git a/src/views/purchase/arrival/index.vue b/src/views/purchase/arrival/index.vue index 149357b..36589ac 100644 --- a/src/views/purchase/arrival/index.vue +++ b/src/views/purchase/arrival/index.vue @@ -37,6 +37,7 @@ v-if="data.status === 47" >提交 + 删除 + 通知 + + + + - - diff --git a/src/views/purchase/receive/components/receive-detail.vue b/src/views/purchase/receive/components/receive-detail.vue new file mode 100644 index 0000000..5a5ded5 --- /dev/null +++ b/src/views/purchase/receive/components/receive-detail.vue @@ -0,0 +1,159 @@ + + + + + diff --git a/src/views/purchase/receive/config-receive-detail.js b/src/views/purchase/receive/config-receive-detail.js new file mode 100644 index 0000000..f8b654e --- /dev/null +++ b/src/views/purchase/receive/config-receive-detail.js @@ -0,0 +1,25 @@ + +export const formLabel = [ + { f_label: '类型规格', f_model: 'keyWord', f_type: 'ipt' }, + { f_label: '机具厂家', f_model: 'keyWord', f_type: 'ipt' }, + { f_label: '出厂日期', f_model: 'keyWord', f_type: 'ipt' }, + +] +export const columnsList = [ + { t_props: 'materialName', t_label: '物资名称', }, + { t_props: 'specificationCode', t_label: '规格型号' }, + { t_props: 'unitName', t_label: '单位', }, + { t_props: 'purchasePrice', t_label: '购置单价(含税)', t_slot: 'purchasePrice' }, + { t_props: 'notaxPrice', t_label: '购置单价(不含税)', t_slot: 'notaxPrice' }, + { t_props: 'purchaseNum', t_label: '到货数量', t_slot: 'purchaseNum' }, + { t_props: 'taxRate', t_label: '税率' }, + { t_props: 'supplierName', t_label: '供应商' }, + { t_props: 'productDate', t_label: '出厂日期' }, + { t_props: 'files', t_label: '相关配套资料', t_slot: 'files' }, + { t_props: 'status', t_label: '验收结论', t_slot: 'status' }, +] +export const dialogConfig = { + outerWidth: '80%', + outerTitle: '', + outerVisible: false, +} diff --git a/src/views/purchase/receive/config.js b/src/views/purchase/receive/config.js index 5da6570..81b16bf 100644 --- a/src/views/purchase/receive/config.js +++ b/src/views/purchase/receive/config.js @@ -1,10 +1,25 @@ +import { + queryStatusSelApi +} from '@/api/purchase/receive' + +export const queryStatusSelData = () => { + queryStatusSelApi().then(res => { + formLabel[3].f_selList = res.data.data.map(item => { + return { + label: item.dictLabel, + value: item.dictCode + } + }) + }) +} export const formLabel = [ { f_label: '开始时间', f_model: 'startTime', f_type: 'date' }, { f_label: '结束时间', f_model: 'endTime', f_type: 'date' }, { f_label: '关键字', f_model: 'keyWord', f_type: 'ipt' }, - { f_label: '状态', f_model: 'status', f_type: 'ipt' }, + { f_label: '状态', f_model: 'status', f_type: 'sel', f_selList: [] }, ] + export const columnsList = [ { t_props: 'arrivalTime', t_label: '到货时间', }, { t_props: 'purchaseCode', t_label: '采购单号' }, diff --git a/src/views/purchase/receive/index.vue b/src/views/purchase/receive/index.vue index 75070a5..cc69af8 100644 --- a/src/views/purchase/receive/index.vue +++ b/src/views/purchase/receive/index.vue @@ -1,16 +1,26 @@