zhang_li 12 months ago
parent
commit
a409960fe2
  1. 7
      src/api/wms/bomDismantle/index.ts
  2. 32
      src/api/wms/productrepairRequestMain/index.ts
  3. 2
      src/views/infra/apiAccessLog/index.vue
  4. 2
      src/views/infra/apiErrorLog/index.vue
  5. 2
      src/views/infra/config/index.vue
  6. 2
      src/views/infra/job/index.vue
  7. 2
      src/views/infra/job/logger/index.vue
  8. 2
      src/views/system/dict/data/index.vue
  9. 2
      src/views/system/dict/index.vue
  10. 2
      src/views/system/errorCode/index.vue
  11. 2
      src/views/system/loginlog/index.vue
  12. 2
      src/views/system/operatelog/index.vue
  13. 2
      src/views/system/post/index.vue
  14. 2
      src/views/system/role/index.vue
  15. 2
      src/views/system/sensitiveWord/index.vue
  16. 2
      src/views/system/serialNumber/index.vue
  17. 2
      src/views/system/sms/log/index.vue
  18. 2
      src/views/system/sms/template/index.vue
  19. 2
      src/views/system/tenant/index.vue
  20. 2
      src/views/system/user/UserImportForm.vue
  21. 2
      src/views/system/user/index.vue
  22. 4
      src/views/wms/basicDataManage/labelManage/barbasic/index.vue
  23. 111
      src/views/wms/productionManage/productrepair/productrepairRecordMain/index.vue
  24. 294
      src/views/wms/productionManage/productrepair/productrepairRecordMain/productrepairRecordMain.data.ts
  25. 105
      src/views/wms/productionManage/productrepair/productrepairRequestMain/index.vue
  26. 262
      src/views/wms/productionManage/productrepair/productrepairRequestMain/productrepairRequestMain.data.ts
  27. 2
      src/views/wms/purchasereceiptManage/inspect/inspectJobMain/index.vue
  28. 2
      src/views/wms/purchasereceiptManage/inspect/inspectRecordMain/index.vue
  29. 2
      src/views/wms/purchasereceiptManage/inspect/inspectRequestMain/index.vue
  30. 2
      src/views/wms/purchasereceiptManage/purchasereceipt/purchasereceiptRequestMain/index.vue
  31. 2
      src/views/wms/purchasereceiptManage/purchasereturn/purchasereturnJobMain/index.vue
  32. 2
      src/views/wms/purchasereceiptManage/purchasereturn/purchasereturnRecordMain/index.vue
  33. 2
      src/views/wms/purchasereceiptManage/putaway/putawayJobMain/index.vue
  34. 2
      src/views/wms/purchasereceiptManage/putaway/putawayRecordMain/index.vue
  35. 4
      src/views/wms/purchasereceiptManage/putaway/putawayRequestMain/index.vue
  36. 20
      src/views/wms/purchasereceiptManage/putaway/putawayRequestMain/putawayRequestMain.data.ts
  37. 4
      src/views/wms/purchasereceiptManage/supplierdeliver/demandforecastingMain/index.vue
  38. 2
      src/views/wms/purchasereceiptManage/supplierdeliver/purchaseMain/index.vue
  39. 4
      src/views/wms/purchasereceiptManage/supplierdeliver/purchasePlanMain/index.vue
  40. 2
      src/views/wms/purchasereceiptManage/supplierdeliver/supplierdeliverRecordMain/index.vue
  41. 191
      src/views/wms/purchasereceiptManage/supplierdeliver/supplierdeliverRecordMain/supplierdeliverRecordMain.data.ts
  42. 15
      src/views/wms/purchasereceiptManage/supplierdeliver/supplierdeliverRequestMain/index.vue
  43. 565
      src/views/wms/supplierManage/purchaseclaim/purchaseclaimRequestMain/index.vue

7
src/api/wms/bomDismantle/index.ts

@ -3,4 +3,9 @@ import request from '@/config/axios'
// 查询制品返修申请子列表
export const getBomDismantlePage = async (params) => {
return await request.get({ url: `/wms/productrepair-request-main/bomPage`, params })
}
}
// 查询制品返修记录子列表
export const getBomDismantleRecordPage = async (params) => {
return await request.get({ url: `/wms/productrepair-record-main/bomPage`, params })
}

32
src/api/wms/productrepairRequestMain/index.ts

@ -63,4 +63,34 @@ export const exportProductrepairRequestMain = async (params) => {
// 下载用户导入模板
export const importTemplate = () => {
return request.download({ url: '/wms/productrepair-request-main/get-import-template' })
}
}
// 关闭-制品返修申请
export const closeProductrepairRequestMain = async (id) => {
return await request.put({ url: `/wms/productrepair-request-main/close?id=` + id })
}
// 重新添加-制品返修申请
export const reAddProductrepairRequestMain = async (id) => {
return await request.put({ url: `/wms/productrepair-request-main/reAdd?id=` + id })
}
// 提交审批-制品返修申请
export const submitProductrepairRequestMain = async (id) => {
return await request.put({ url: `/wms/productrepair-request-main/submit?id=` + id })
}
// 审批驳回-制品返修申请
export const refusedProductrepairRequestMain = async (id) => {
return await request.put({ url: `/wms/productrepair-request-main/refused?id=` + id })
}
// 审批通过-制品返修申请
export const agreeProductrepairRequestMain = async (id) => {
return await request.put({ url: `/wms/productrepair-request-main/agree?id=` + id })
}
// 处理-制品返修申请
export const handleProductrepairRequestMain = async (id) => {
return await request.put({ url: `/wms/productrepair-request-main/handle?id=` + id })
}

2
src/views/infra/apiAccessLog/index.vue

@ -153,7 +153,7 @@ const handleExport = async () => {
//
exportLoading.value = true
const data = await ApiAccessLogApi.exportApiAccessLog(queryParams)
download.excel(data, 'API 访问日志.xls')
download.excel(data, 'API 访问日志.xlsx')
} catch {
} finally {
exportLoading.value = false

2
src/views/infra/apiErrorLog/index.vue

@ -235,7 +235,7 @@ const handleExport = async () => {
//
exportLoading.value = true
const data = await ApiErrorLogApi.exportApiErrorLog(queryParams)
download.excel(data, '异常日志.xls')
download.excel(data, '异常日志.xlsx')
} catch {
} finally {
exportLoading.value = false

2
src/views/infra/config/index.vue

@ -155,7 +155,7 @@ const handleExport = async () => {
//
exportLoading.value = true
const data = await ConfigApi.exportConfig(queryParams)
download.excel(data, '参数配置.xls')
download.excel(data, '参数配置.xlsx')
} catch {
} finally {
exportLoading.value = false

2
src/views/infra/job/index.vue

@ -155,7 +155,7 @@ const handleExport = async () => {
//
exportLoading.value = true
const data = await JobApi.exportJob(queryParams)
download.excel(data, '定时任务.xls')
download.excel(data, '定时任务.xlsx')
} catch {
} finally {
exportLoading.value = false

2
src/views/infra/job/logger/index.vue

@ -182,7 +182,7 @@ const handleExport = async () => {
//
exportLoading.value = true
const data = await JobLogApi.exportJobLog(queryParams)
download.excel(data, '定时任务执行日志.xls')
download.excel(data, '定时任务执行日志.xlsx')
} catch {
} finally {
exportLoading.value = false

2
src/views/system/dict/data/index.vue

@ -194,7 +194,7 @@ const handleExport = async () => {
//
exportLoading.value = true
const data = await DictDataApi.exportDictData(queryParams)
download.excel(data, '字典数据.xls')
download.excel(data, '字典数据.xlsx')
} catch {
} finally {
exportLoading.value = false

2
src/views/system/dict/index.vue

@ -161,7 +161,7 @@ const handleExport = async () => {
//
exportLoading.value = true
const data = await DictTypeApi.exportDictType(queryParams)
download.excel(data, '字典类型.xls')
download.excel(data, '字典类型.xlsx')
} catch {
} finally {
exportLoading.value = false

2
src/views/system/errorCode/index.vue

@ -157,7 +157,7 @@ const handleExport = async () => {
//
exportLoading.value = true
const data = await ErrorCodeApi.excelErrorCode(queryParams)
download.excel(data, '错误码.xls')
download.excel(data, '错误码.xlsx')
} catch {
} finally {
exportLoading.value = false

2
src/views/system/loginlog/index.vue

@ -126,7 +126,7 @@ const handleExport = async () => {
//
exportLoading.value = true
const data = await LoginLogApi.exportLoginLog(queryParams)
download.excel(data, '登录日志.xls')
download.excel(data, '登录日志.xlsx')
} catch {
} finally {
exportLoading.value = false

2
src/views/system/operatelog/index.vue

@ -145,7 +145,7 @@ const handleExport = async () => {
//
exportLoading.value = true
const data = await OperateLogApi.exportOperateLog(queryParams)
download.excel(data, '操作日志.xls')
download.excel(data, '操作日志.xlsx')
} catch {
} finally {
exportLoading.value = false

2
src/views/system/post/index.vue

@ -143,7 +143,7 @@ const handleExport = async () => {
//
exportLoading.value = true
const data = await PostApi.exportPost(queryParams)
download.excel(data, '岗位列表.xls')
download.excel(data, '岗位列表.xlsx')
} catch {
} finally {
exportLoading.value = false

2
src/views/system/role/index.vue

@ -250,7 +250,7 @@ const handleExport = async () => {
//
exportLoading.value = true
const data = await RoleApi.exportRole(queryParams)
download.excel(data, '角色列表.xls')
download.excel(data, '角色列表.xlsx')
} catch {
} finally {
exportLoading.value = false

2
src/views/system/sensitiveWord/index.vue

@ -175,7 +175,7 @@ const handleExport = async () => {
//
exportLoading.value = true
const data = await SensitiveWordApi.exportSensitiveWord(queryParams)
download.excel(data, '敏感词.xls')
download.excel(data, '敏感词.xlsx')
} catch {
} finally {
exportLoading.value = false

2
src/views/system/serialNumber/index.vue

@ -168,7 +168,7 @@ const handleExport = async () => {
//
exportLoading.value = true
const data = await SerialNumberApi.exportSerialNumber(queryParams)
download.excel(data, '流水号规则.xls')
download.excel(data, '流水号规则.xlsx')
} catch {
} finally {
exportLoading.value = false

2
src/views/system/sms/log/index.vue

@ -171,7 +171,7 @@ const handleExport = async () => {
//
exportLoading.value = true
const data = await SmsLogApi.exportSmsLog(queryParams)
download.excel(data, '短信日志.xls')
download.excel(data, '短信日志.xlsx')
} catch {
} finally {
exportLoading.value = false

2
src/views/system/sms/template/index.vue

@ -197,7 +197,7 @@ const handleExport = async () => {
//
exportLoading.value = true
const data = await SmsTemplateApi.exportSmsTemplate(queryParams)
download.excel(data, '短信模板.xls')
download.excel(data, '短信模板.xlsx')
} catch {
} finally {
exportLoading.value = false

2
src/views/system/tenant/index.vue

@ -177,7 +177,7 @@ const handleExport = async () => {
//
exportLoading.value = true
const data = await TenantApi.exportTenant(queryParams)
download.excel(data, '租户列表.xls')
download.excel(data, '租户列表.xlsx')
} catch {
} finally {
exportLoading.value = false

2
src/views/system/user/UserImportForm.vue

@ -130,6 +130,6 @@ const importTemplate = async () => {
console.log(await UserApi.importUserTemplate());
const res = await UserApi.importUserTemplate()
download.excel(res, '用户导入模版.xls')
download.excel(res, '用户导入模版.xlsx')
}
</script>

2
src/views/system/user/index.vue

@ -195,7 +195,7 @@ const handleExport = async () => {
//
exportLoading.value = true
const data = await UserApi.exportUser(queryParams)
download.excel(data, '用户数据.xls')
download.excel(data, '用户数据.xlsx')
} catch {
} finally {
exportLoading.value = false

4
src/views/wms/basicDataManage/labelManage/barbasic/index.vue

@ -191,7 +191,7 @@ const handleExport = async () => {
//
exportLoading.value = true
const data = await BarbasicApi.exportBarbasic(setSearchParams)
download.excel(data, '条码实体基类.xls')
download.excel(data, '条码实体基类.xlsx')
} catch {
} finally {
exportLoading.value = false
@ -206,7 +206,7 @@ const handleImport = () => {
//
const importTemplateData = reactive({
templateUrl: '',
templateTitle: '条码实体基类导入模版.xls'
templateTitle: '条码实体基类导入模版.xlsx'
})
//
const importSuccess = () => {

111
src/views/wms/productionManage/productrepair/productrepairRecordMain/index.vue

@ -47,6 +47,7 @@
:tableAllSchemas="ProductrepairRecordDetail.allSchemas"
:tableFormRules="ProductrepairRecordDetailRules"
:isBusiness="true"
@buttonOperationClick="buttonOperationClick"
/>
<!-- 详情 -->
@ -57,15 +58,42 @@
:detailAllSchemas="ProductrepairRecordDetail.allSchemas"
:detailAllSchemasRules="ProductrepairRecordDetailRules"
:apiPage="ProductrepairRecordDetailApi.getProductrepairRecordDetailPage"
:buttondataTable="buttondataTable"
@tableFormButton="tableFormButton"
/>
<!-- bom列表 -->
<Dialog
:title="DialogTitle"
v-model="bomModelVisible"
width="80%"
:scroll="true"
max-height="450px"
>
<TableForm
ref="tableFormRef"
class="w-[100%]"
:tableFields="BomDismantle.allSchemas.tableColumns"
:tableData="detatableDataBom.tableList"
:isShowButton="false"
:isShowReduceButton="false"
/>
<template #footer>
<ButtonBase :Butttondata="ButttondataBom" @button-base-click="buttonBaseClickBom" />
</template>
</Dialog>
</template>
<script setup lang="ts">
import download from '@/utils/download'
import { ProductrepairRecordMain,ProductrepairRecordMainRules,ProductrepairRecordDetail,ProductrepairRecordDetailRules } from './productrepairRecordMain.data'
import { ProductrepairRecordMain,ProductrepairRecordMainRules,ProductrepairRecordDetail,ProductrepairRecordDetailRules, BomDismantle } from './productrepairRecordMain.data'
import * as ProductrepairRecordMainApi from '@/api/wms/productrepairRecordMain'
import * as ProductrepairRecordDetailApi from '@/api/wms/productrepairRecordDetail'
import * as defaultButtons from '@/utils/disposition/defaultButtons'
import * as BomDismantleApi from "@/api/wms/bomDismantle";
import {getBomDismantleRecordPage} from "@/api/wms/bomDismantle";
//
defineOptions({ name: 'ProductrepairRecordMain' })
@ -78,6 +106,87 @@ const routeName = ref()
routeName.value = route.name
const tableColumns = ref(ProductrepairRecordMain.allSchemas.tableColumns)
// table
const buttondataTable = ref([{
label: 'Bom',
name: 'bom',
hide: false,
type: 'primary',
icon: '',
color: '',
hasPermi: '',
link: true, //
}])
// Bom
const DialogTitle = ref('Bom信息')
const bomModelVisible = ref(false)
const tableListBom = ref()
const { tableObject: detatableDataBom, tableMethods: detatableMethodsBom } =useTable({
getListApi: BomDismantleApi.getBomDismantleRecordPage
})
const { getList:getDetailListBom } = detatableMethodsBom
// tableform
const buttonOperationClick = async (row, label, index)=> {
if (row.itemCode == '') {
message.warning('请选择物品代码!')
return
}
detatableDataBom.params.itemCode = row.itemCode
DialogTitle.value = '物品代码:【' + row.itemCode + '】 Bom 信息'
bomModelVisible.value = true
await getDetailListBom()
detatableDataBom.tableList.map(item => {
item.rowId = index
if(tableData.value[index].childList) {
tableData.value[index].childList.forEach(itemChild => {
if (itemChild.itemCode == item.itemCode) {
item.qty = itemChild.qty
}
})
}
})
}
/** bom 列表 表单 按钮 */
const ButttondataBom = [
defaultButtons.formSaveBtn(null), //
defaultButtons.formCloseBtn(null) //
]
// bom
const buttonBaseClickBom = (val) => {
//
if (val == 'save') {
//
tableListBom.value = detatableDataBom.tableList.filter(item => (item.qty!=0))
tableData.value.forEach((item, index) => {
if(tableListBom.value[0].rowId == index) {
item.childList = tableListBom.value
}
})
console.log(157, tableData.value)
bomModelVisible.value = false
}
//
else if (val == 'close') {
bomModelVisible.value = false
}
}
// Bom
const tableFormButton = async (val , row) => {
if (val == 'bom') { // bom
bomModelVisible.value = true
DialogTitle.value = '物品代码【' + row.itemCode + '】——Bom信息'
detatableDataBom.params = {
masterId: row.id
}
await getDetailListBom()
}
}
//
const updataTableColumns = (val) => {
tableColumns.value = val

294
src/views/wms/productionManage/productrepair/productrepairRecordMain/productrepairRecordMain.data.ts

@ -1,5 +1,7 @@
import type { CrudSchema } from '@/hooks/web/useCrudSchemas'
import { dateFormatter } from '@/utils/formatTime'
import {Bom} from "@/views/wms/basicDataManage/itemManage/bom/bom.data";
import * as BomApi from "@/api/wms/bom";
/**
* @returns {Array}
@ -581,6 +583,69 @@ export const ProductrepairRecordDetail = useCrudSchemas(reactive<CrudSchema[]>([
width: 150
},
},
{
label: 'Bom版本',
field: 'bomVersion',
sort: 'custom',
table: {
width: 150
},
tableForm: {
disabled: true,
isInpuFocusShow: true,
searchListPlaceholder: '请选择Bom版本', // 输入框占位文本
searchField: 'version', // 查询弹窗赋值字段
searchTitle: '物料清单信息', // 查询弹窗标题
searchAllSchemas: Bom.allSchemas, // 查询弹窗所需类
searchPage: BomApi.getBomPage, // 查询弹窗所需分页方法
searchCondition: [{
key:'productItemCode',
value:'itemCode',
isMainValue: true
},{
key: 'available',
value: 'TRUE',
isMainValue: false
}]
},
form: {
// labelMessage: '信息提示说明!!!',
componentProps: {
disabled: true,
isSearchList: true, // 开启查询弹窗
searchListPlaceholder: '请选择Bom版本', // 输入框占位文本
searchField: 'version', // 查询弹窗赋值字段
searchTitle: '物料清单信息', // 查询弹窗标题
searchAllSchemas: Bom.allSchemas, // 查询弹窗所需类
searchPage: BomApi.getBomPage, // 查询弹窗所需分页方法
searchCondition: [{
key:'productItemCode',
value:'itemCode',
isMainValue: true
},{
key: 'available',
value: 'TRUE',
isMainValue: false
}]
}
},
},
{
label: '操作',
field: 'action',
isDetail: false,
isForm: false,
table: {
width: 150,
fixed: 'right'
},
isTableForm: true,
tableForm: {
type: 'action',
buttonText: 'Bom',
buttonName: 'Bom'
}
},
]))
//表单校验
@ -624,4 +689,231 @@ export const ProductrepairRecordDetailRules = reactive({
creator: [
{ required: true, message: '请输入创建者', trigger: 'blur' }
],
})
})
/**
* @returns {Array} bom
*/
export const BomDismantle = useCrudSchemas(reactive<CrudSchema[]>([
{
label: '行标记',
field: 'rowId',
isTableForm: false,
isForm: false,
tableForm:{
disabled: true
},
table: {
show: false
}
},
{
label: '物品代码',
field: 'itemCode',
tableForm:{
disabled: true
}
},
{
label: '数量',
field: 'qty',
tableForm: {
disabled: true,
type: 'InputNumber',
min: 0,
precision: 6
}
},
{
label: '计量单位',
field: 'uom',
dictType: DICT_TYPE.UOM,
dictClass: 'string',
tableForm:{
type: 'Select',
disabled: true
}
},
{
label: '库存状态',
field: 'inventoryStatus',
dictType: DICT_TYPE.INVENTORY_STATUS,
dictClass: 'string',
isTable: true,
sort: 'custom',
table: {
width: 150
},
tableForm:{
disabled: true
}
},
{
label: '包装号',
field: 'packingNumber',
sort: 'custom',
table: {
width: 150
},
tableForm:{
disabled: true
}
},
{
label: '批次',
field: 'batch',
sort: 'custom',
table: {
width: 150
},
tableForm:{
disabled: true
}
},
{
label: '从库位代码',
field: 'fromLocationCode',
sort: 'custom',
table: {
width: 150
},
tableForm:{
disabled: true
}
},
{
label: '单据号',
field: 'number',
sort: 'custom',
table: {
width: 150
},
tableForm:{
disabled: true
}
},
{
label: '物品名称',
field: 'itemName',
sort: 'custom',
table: {
width: 150
},
tableForm:{
disabled: true
}
},
{
label: '物品描述1',
field: 'itemDesc1',
sort: 'custom',
table: {
width: 150
},
tableForm:{
disabled: true
}
},
{
label: '物品描述2',
field: 'itemDesc2',
sort: 'custom',
table: {
width: 150
},
tableForm:{
disabled: true
}
},
{
label: '项目代码',
field: 'projectCode',
sort: 'custom',
table: {
width: 150
},
tableForm:{
disabled: true
}
},
{
label: '备注',
field: 'remark',
sort: 'custom',
table: {
width: 150
},
tableForm:{
disabled: true
}
},
{
label: '创建时间',
field: 'createTime',
formatter: dateFormatter,
detail: {
dateFormat: 'YYYY-MM-DD HH:mm:ss'
},
sort: 'custom',
table: {
width: 180
},
form: {
component: 'DatePicker',
componentProps: {
type: 'datetime',
dateFormat: 'YYYY-MM-DD HH:mm:ss',
valueFormat: 'x',
}
},
tableForm:{
disabled: true
}
},
{
label: '创建者',
field: 'creator',
sort: 'custom',
table: {
width: 150
},
tableForm:{
disabled: true
}
},
{
label: '最后更新时间',
field: 'updateTime',
formatter: dateFormatter,
detail: {
dateFormat: 'YYYY-MM-DD HH:mm:ss'
},
sort: 'custom',
table: {
width: 180
},
form: {
component: 'DatePicker',
componentProps: {
type: 'datetime',
dateFormat: 'YYYY-MM-DD HH:mm:ss',
valueFormat: 'x',
}
},
tableForm:{
disabled: true
}
},
{
label: '最后更新者',
field: 'updater',
sort: 'custom',
table: {
width: 150
},
tableForm:{
disabled: true
}
}
]))

105
src/views/wms/productionManage/productrepair/productrepairRequestMain/index.vue

@ -69,6 +69,8 @@
:apiPage="ProductrepairRequestDetailApi.getProductrepairRequestDetailaPage"
:apiDelete="ProductrepairRequestDetailApi.deleteProductrepairRequestDetaila"
@searchTableSuccessDetail="searchTableSuccessDetail"
:buttondataTable="buttondataTable"
@tableFormButton="tableFormButton"
/>
<!-- bom列表 -->
@ -117,6 +119,18 @@ const routeName = ref()
routeName.value = route.name
const tableColumns = ref(ProductrepairRequestMain.allSchemas.tableColumns)
// table
const buttondataTable = ref([{
label: 'Bom',
name: 'bom',
hide: false,
type: 'primary',
icon: '',
color: '',
hasPermi: '',
link: true, //
}])
// Bom
const DialogTitle = ref('Bom信息')
const bomModelVisible = ref(false)
@ -171,7 +185,6 @@ const buttonOperationClick = async (row, label, index)=> {
})
}
//
const updataTableColumns = (val) => {
tableColumns.value = val
@ -190,6 +203,12 @@ const searchTableSuccess = (formField, searchField, val, formRef, type, row ) =>
row['uom'] = val[0]['uom']
row['inventoryStatus'] = val[0]['inventoryStatus']
row['fromLocationCode'] = val[0]['locationCode']
} else if(formField == 'productionLineCode'){
row['productionLineCode'] = val[0]['code']
} else if(formField == 'workStationCode'){
row['workStationCode'] = val[0]['code']
} else if(formField == 'formField'){
row['workStationCode'] = val[0]['code']
} else {
row[formField] = val[0][searchField]
}
@ -226,7 +245,7 @@ const { getList, setSearchParams } = tableMethods
//
const HeadButttondata = [
defaultButtons.defaultAddBtn({hasPermi:'wms:productrepair-request-main:create'}), //
defaultButtons.defaultImportBtn({hasPermi:'wms:productrepair-request-main:import'}), //
// defaultButtons.defaultImportBtn({hasPermi:'wms:productrepair-request-main:import'}), //
defaultButtons.defaultExportBtn({hasPermi:'wms:productrepair-request-main:export'}), //
defaultButtons.defaultFreshBtn(null), //
defaultButtons.defaultFilterBtn(null), //
@ -284,14 +303,22 @@ const butttondata = (row) => {
const buttonTableClick = async (val, row) => {
if (val == 'mainClose') { //
console.log('列表-操作按钮事件-关闭')
handleClose(row.id)
} else if (val == 'mainReAdd') { //
console.log('列表-操作按钮事件-重新添加')
handleReAdd(row.id)
} else if (val == 'mainSubmit') { //
console.log('列表-操作按钮事件-提交审批')
handleSubmit(row.id)
} else if (val == 'mainTurnDown') { //
console.log('列表-操作按钮事件-驳回')
handleRefused(row.id)
} else if (val == 'mainApprove') { //
console.log('列表-操作按钮事件-审批通过')
handleAgree(row.id)
} else if (val == 'mainHandle') { //
console.log('列表-操作按钮事件-处理')
handleHandle(row.id)
} else if (val == 'edit') { //
openForm('update', row)
} else if (val == 'delete') { //
@ -299,6 +326,66 @@ const buttonTableClick = async (val, row) => {
}
}
/** 关闭按钮操作 */
const handleClose = async (id: number) => {
try {
await message.confirm(t('common.confirmColse'))
await ProductrepairRequestMainApi.closeProductrepairRequestMain(id)
message.success(t('common.closeSuccess'))
await getList()
} catch {}
}
/** 重新添加按钮操作 */
const handleReAdd = async (id: number) => {
try {
await message.confirm(t('common.confirmReAdd'))
await ProductrepairRequestMainApi.reAddProductrepairRequestMain(id)
message.success(t('common.reAddSuccess'))
await getList()
} catch {}
}
/** 提交按钮操作 */
const handleSubmit = async (id: number) => {
try {
await message.confirm(t('common.confirmSubmit'))
await ProductrepairRequestMainApi.submitProductrepairRequestMain(id)
message.success(t('common.submitSuccess'))
await getList()
} catch {}
}
/** 审批驳回按钮操作 */
const handleRefused = async (id: number) => {
try {
await message.confirm(t('common.confirmRefused'))
await ProductrepairRequestMainApi.refusedProductrepairRequestMain(id)
message.success(t('common.refusedSuccess'))
await getList()
} catch {}
}
/** 审批通过按钮操作 */
const handleAgree = async (id: number) => {
try {
await message.confirm(t('common.confirmAgree'))
await ProductrepairRequestMainApi.agreeProductrepairRequestMain(id)
message.success(t('common.agreeSuccess'))
await getList()
} catch {}
}
/** 处理按钮操作 */
const handleHandle = async (id: number) => {
try {
await message.confirm(t('common.confirmHandle'))
await ProductrepairRequestMainApi.handleProductrepairRequestMain(id)
message.success(t('common.handleSuccess'))
await getList()
} catch {}
}
/** 添加/修改操作 */
const formRef = ref()
const openForm =async (type: string, row?: number) => {
@ -404,7 +491,19 @@ const searchFormClick = (searchData) => {
getList() //
}
// Bom
const tableFormButton = async (val , row) => {
if (val == 'bom') { // bom
bomModelVisible.value = true
DialogTitle.value = '物品代码【' + row.itemCode + '】——Bom信息'
detatableDataBom.params = {
itemCode: row.itemCode,
bomVersion: row.bomVersion,
masterId: row.id
}
await getDetailListBom()
}
}
/** 初始化 **/
onMounted(async () => {

262
src/views/wms/productionManage/productrepair/productrepairRequestMain/productrepairRequestMain.data.ts

@ -36,6 +36,8 @@ const queryParams = {
// 获取当前操作人的部门
import { useUserStore } from '@/store/modules/user'
import {Bom} from "@/views/wms/basicDataManage/itemManage/bom/bom.data";
import * as BomApi from "@/api/wms/bom";
const userStore = useUserStore()
const userDept = userStore.userSelfInfo.dept
@ -830,6 +832,51 @@ export const ProductrepairRequestDetaila = useCrudSchemas(reactive<CrudSchema[]>
isTableForm: false,
isForm: false
},
{
label: 'Bom版本',
field: 'bomVersion',
sort: 'custom',
table: {
width: 150
},
tableForm: {
isInpuFocusShow: true,
searchListPlaceholder: '请选择Bom版本', // 输入框占位文本
searchField: 'version', // 查询弹窗赋值字段
searchTitle: '物料清单信息', // 查询弹窗标题
searchAllSchemas: Bom.allSchemas, // 查询弹窗所需类
searchPage: BomApi.getBomPage, // 查询弹窗所需分页方法
searchCondition: [{
key:'productItemCode',
value:'itemCode',
isMainValue: true
},{
key: 'available',
value: 'TRUE',
isMainValue: false
}]
},
form: {
// labelMessage: '信息提示说明!!!',
componentProps: {
isSearchList: true, // 开启查询弹窗
searchListPlaceholder: '请选择Bom版本', // 输入框占位文本
searchField: 'version', // 查询弹窗赋值字段
searchTitle: '物料清单信息', // 查询弹窗标题
searchAllSchemas: Bom.allSchemas, // 查询弹窗所需类
searchPage: BomApi.getBomPage, // 查询弹窗所需分页方法
searchCondition: [{
key:'productItemCode',
value:'itemCode',
isMainValue: true
},{
key: 'available',
value: 'TRUE',
isMainValue: false
}]
}
},
},
{
label: '操作',
field: 'action',
@ -1056,34 +1103,6 @@ export const ConsumereRequestDetailb = useCrudSchemas(reactive<CrudSchema[]>([
}
]))
//表单校验
export const ConsumereRequestDetailbRules = reactive({
inventoryStatus: [
{ required: true, message: '请选择库存状态', trigger: 'change' }
],
packingNumber: [
{ required: true, message: '请选择包装号', trigger: 'change' }
],
batch: [
{ required: true, message: '请输入批次', trigger: 'blur' }
],
fromLocationCode: [
{ required: true, message: '请选择从库位代码', trigger: 'change' }
],
number: [
{ required: true, message: '请输入单据号', trigger: 'blur' }
],
itemCode: [
{ required: true, message: '请选择物品代码', trigger: 'change' }
],
createTime: [
{ required: true, message: '请输入创建时间', trigger: 'blur' }
],
creator: [
{ required: true, message: '请输入创建者', trigger: 'blur' }
],
})
/**
* @returns {Array} bom
@ -1096,6 +1115,9 @@ export const BomDismantle = useCrudSchemas(reactive<CrudSchema[]>([
isForm: false,
tableForm:{
disabled: true
},
table: {
show: false
}
},
{
@ -1124,4 +1146,186 @@ export const BomDismantle = useCrudSchemas(reactive<CrudSchema[]>([
disabled: true
}
},
]))
{
label: '库存状态',
field: 'inventoryStatus',
dictType: DICT_TYPE.INVENTORY_STATUS,
dictClass: 'string',
isTable: true,
sort: 'custom',
table: {
width: 150
},
tableForm:{
disabled: true
}
},
{
label: '包装号',
field: 'packingNumber',
sort: 'custom',
table: {
width: 150
},
tableForm:{
disabled: true
}
},
{
label: '批次',
field: 'batch',
sort: 'custom',
table: {
width: 150
},
tableForm:{
disabled: true
}
},
{
label: '从库位代码',
field: 'fromLocationCode',
sort: 'custom',
table: {
width: 150
},
tableForm:{
disabled: true
}
},
{
label: '单据号',
field: 'number',
sort: 'custom',
table: {
width: 150
},
tableForm:{
disabled: true
}
},
{
label: '物品名称',
field: 'itemName',
sort: 'custom',
table: {
width: 150
},
tableForm:{
disabled: true
}
},
{
label: '物品描述1',
field: 'itemDesc1',
sort: 'custom',
table: {
width: 150
},
tableForm:{
disabled: true
}
},
{
label: '物品描述2',
field: 'itemDesc2',
sort: 'custom',
table: {
width: 150
},
tableForm:{
disabled: true
}
},
{
label: '项目代码',
field: 'projectCode',
sort: 'custom',
table: {
width: 150
},
tableForm:{
disabled: true
}
},
{
label: '备注',
field: 'remark',
sort: 'custom',
table: {
width: 150
},
tableForm:{
disabled: true
}
},
{
label: '创建时间',
field: 'createTime',
formatter: dateFormatter,
detail: {
dateFormat: 'YYYY-MM-DD HH:mm:ss'
},
sort: 'custom',
table: {
width: 180
},
form: {
component: 'DatePicker',
componentProps: {
type: 'datetime',
dateFormat: 'YYYY-MM-DD HH:mm:ss',
valueFormat: 'x',
}
},
tableForm:{
disabled: true
}
},
{
label: '创建者',
field: 'creator',
sort: 'custom',
table: {
width: 150
},
tableForm:{
disabled: true
}
},
{
label: '最后更新时间',
field: 'updateTime',
formatter: dateFormatter,
detail: {
dateFormat: 'YYYY-MM-DD HH:mm:ss'
},
sort: 'custom',
table: {
width: 180
},
form: {
component: 'DatePicker',
componentProps: {
type: 'datetime',
dateFormat: 'YYYY-MM-DD HH:mm:ss',
valueFormat: 'x',
}
},
tableForm:{
disabled: true
}
},
{
label: '最后更新者',
field: 'updater',
sort: 'custom',
table: {
width: 150
},
tableForm:{
disabled: true
}
}
]))

2
src/views/wms/purchasereceiptManage/inspect/inspectJobMain/index.vue

@ -219,7 +219,7 @@ const handleExport = async () => {
//
exportLoading.value = true
const data = await InspectJobMainApi.exportInspectJobMain(setSearchParams)
download.excel(data, '检验任务主.xls')
download.excel(data, '检验任务主.xlsx')
} catch {
} finally {
exportLoading.value = false

2
src/views/wms/purchasereceiptManage/inspect/inspectRecordMain/index.vue

@ -144,7 +144,7 @@ const handleExport = async () => {
//
exportLoading.value = true
const data = await InspectRecordMainApi.exportInspectRecordMain(setSearchParams)
download.excel(data, '检验记录主.xls')
download.excel(data, '检验记录主.xlsx')
} catch {
} finally {
exportLoading.value = false

2
src/views/wms/purchasereceiptManage/inspect/inspectRequestMain/index.vue

@ -307,7 +307,7 @@ const handleExport = async () => {
//
exportLoading.value = true
const data = await InspectRequestMainApi.exportInspectRequestMain(setSearchParams)
download.excel(data, '检验申请主.xls')
download.excel(data, '检验申请主.xlsx')
} catch {
} finally {
exportLoading.value = false

2
src/views/wms/purchasereceiptManage/purchasereceipt/purchasereceiptRequestMain/index.vue

@ -350,7 +350,7 @@ const handleImport = () => {
//
const importTemplateData = reactive({
templateUrl: '',
templateTitle: '采购收货申请主导入模版.xls'
templateTitle: '采购收货申请主导入模版.xlsx'
})
//

2
src/views/wms/purchasereceiptManage/purchasereturn/purchasereturnJobMain/index.vue

@ -219,7 +219,7 @@ const handleExport = async () => {
//
exportLoading.value = true
const data = await PurchasereturnJobMainApi.exportPurchasereturnJobMain(setSearchParams)
download.excel(data, '采购退货任务主.xls')
download.excel(data, '采购退货任务主.xlsx')
} catch {
} finally {
exportLoading.value = false

2
src/views/wms/purchasereceiptManage/purchasereturn/purchasereturnRecordMain/index.vue

@ -142,7 +142,7 @@ const handleExport = async () => {
//
exportLoading.value = true
const data = await PurchasereturnRecordMainApi.exportPurchasereturnRecordMain(setSearchParams)
download.excel(data, '采购退货记录主.xls')
download.excel(data, '采购退货记录主.xlsx')
} catch {
} finally {
exportLoading.value = false

2
src/views/wms/purchasereceiptManage/putaway/putawayJobMain/index.vue

@ -219,7 +219,7 @@ const handleExport = async () => {
//
exportLoading.value = true
const data = await PutawayJobMainApi.exportPutawayJobMain(setSearchParams)
download.excel(data, '上架任务主.xls')
download.excel(data, '上架任务主.xlsx')
} catch {
} finally {
exportLoading.value = false

2
src/views/wms/purchasereceiptManage/putaway/putawayRecordMain/index.vue

@ -142,7 +142,7 @@ const handleExport = async () => {
//
exportLoading.value = true
const data = await PutawayRecordMainApi.exportPutawayRecordMain(setSearchParams)
download.excel(data, '上架记录主.xls')
download.excel(data, '上架记录主.xlsx')
} catch {
} finally {
exportLoading.value = false

4
src/views/wms/purchasereceiptManage/putaway/putawayRequestMain/index.vue

@ -312,7 +312,7 @@ const handleExport = async () => {
//
exportLoading.value = true
const data = await PutawayRequestMainApi.exportPutawayRequestMain(setSearchParams)
download.excel(data, '上架申请主.xls')
download.excel(data, '上架申请主.xlsx')
} catch {
} finally {
exportLoading.value = false
@ -365,7 +365,7 @@ const handleImport = () => {
//
const importTemplateData = reactive({
templateUrl: '',
templateTitle: '上架申请主导入模版.xls'
templateTitle: '上架申请主导入模版.xlsx'
})
//

20
src/views/wms/purchasereceiptManage/putaway/putawayRequestMain/putawayRequestMain.data.ts

@ -37,26 +37,6 @@ const userDept = userStore.userSelfInfo.dept
* @returns {Array}
*/
export const PutawayRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
{
label: '到货检验记录单号',
field: 'inspectRecordNumber',
sort: 'custom',
table: {
width: 150
},
isSearch: true,
form: {
// labelMessage: '信息提示说明!!!',
componentProps: {
isSearchList: true, // 开启查询弹窗
searchListPlaceholder: '请选择到货检验记录单号', // 输入框占位文本
searchField: 'code', // 查询弹窗赋值字段
searchTitle: '到货检验信息', // 查询弹窗标题
searchAllSchemas: InspectRequestMain.allSchemas, // 查询弹窗所需类
searchPage: InspectRequestMainApi.getInspectRequestMainPage // 查询弹窗所需分页方法
}
}
},
{
label: '从仓库代码',
field: 'fromWarehouseCode',

4
src/views/wms/purchasereceiptManage/supplierdeliver/demandforecastingMain/index.vue

@ -245,7 +245,7 @@ const handleExport = async () => {
//
exportLoading.value = true
const data = await DemandforecastingMainApi.exportDemandforecastingMain(setSearchParams)
download.excel(data, '要货预测主.xls')
download.excel(data, '要货预测主.xlsx')
} catch {
} finally {
exportLoading.value = false
@ -298,7 +298,7 @@ const handleImport = () => {
//
const importTemplateData = reactive({
templateUrl: '',
templateTitle: '要货预测主导入模版.xls'
templateTitle: '要货预测主导入模版.xlsx'
})
//

2
src/views/wms/purchasereceiptManage/supplierdeliver/purchaseMain/index.vue

@ -273,7 +273,7 @@
//
exportLoading.value = true
const data = await PurchaseMainApi.exportPurchaseMain(setSearchParams)
download.excel(data, '采购订单主.xls')
download.excel(data, '采购订单主.xlsx')
} catch {
} finally {
exportLoading.value = false

4
src/views/wms/purchasereceiptManage/supplierdeliver/purchasePlanMain/index.vue

@ -323,7 +323,7 @@
//
exportLoading.value = true
const data = await PurchasePlanMainApi.exportPurchasePlanMain(setSearchParams)
download.excel(data, '要货计划主.xls')
download.excel(data, '要货计划主.xlsx')
} catch {
} finally {
exportLoading.value = false
@ -409,7 +409,7 @@
//
const importTemplateData = reactive({
templateUrl: '',
templateTitle: '要货计划主导入模版.xls'
templateTitle: '要货计划主导入模版.xlsx'
})
//

2
src/views/wms/purchasereceiptManage/supplierdeliver/supplierdeliverRecordMain/index.vue

@ -144,7 +144,7 @@ const handleExport = async () => {
//
exportLoading.value = true
const data = await SupplierdeliverRecordMainApi.exportSupplierdeliverRecordMain(setSearchParams)
download.excel(data, '供应商发货记录主.xls')
download.excel(data, '供应商发货记录主.xlsx')
} catch {
} finally {
exportLoading.value = false

191
src/views/wms/purchasereceiptManage/supplierdeliver/supplierdeliverRecordMain/supplierdeliverRecordMain.data.ts

@ -391,57 +391,136 @@ export const SupplierdeliverRecordMainRules = reactive({
* @returns {Array}
*/
export const SupplierdeliverRecordDetail = useCrudSchemas(reactive<CrudSchema[]>([
// {
// label: '从包装号',
// field: 'fromPackingNumber',
// sort: 'custom',
// table: {
// width: 150
// },
// },
// {
// label: '到包装号',
// field: 'toPackingNumber',
// sort: 'custom',
// table: {
// width: 150
// },
// },
// {
// label: '从批次',
// field: 'fromBatch',
// sort: 'custom',
// table: {
// width: 150
// },
// },
// {
// label: '到批次',
// field: 'toBatch',
// sort: 'custom',
// table: {
// width: 150
// },
// },
// {
// label: '替代批次',
// field: 'altBatch',
// sort: 'custom',
// table: {
// width: 150
// },
// },
// {
// label: '从器具号',
// field: 'fromContainerNumber',
// sort: 'custom',
// table: {
// width: 150
// },
// },
// {
// label: '到器具号',
// field: 'toContainerNumber',
// sort: 'custom',
// table: {
// width: 150
// },
// },
{
label: '订单号',
field: 'poNumber',
sort: 'custom',
table: {
width: 150
},
},
{
label: '从包装号',
field: 'fromPackingNumber',
label: '订单行',
field: 'poLine',
sort: 'custom',
table: {
width: 150
},
},
{
label: '到包装号',
field: 'toPackingNumber',
label: '物品代码',
field: 'itemCode',
sort: 'custom',
table: {
width: 150
},
},
{
label: '从批次',
field: 'fromBatch',
label: '数量',
field: 'qty',
sort: 'custom',
table: {
width: 150
},
form: {
component: 'InputNumber',
}
},
{
label: '到批次',
field: 'toBatch',
label: '标包数量',
field: 'stdPackQty',
sort: 'custom',
table: {
width: 150
},
form: {
component: 'InputNumber',
}
},
{
label: '替代批次',
field: 'altBatch',
label: '标包单位',
field: 'stdPackUnit',
dictType: DICT_TYPE.PACK_UNIT,
dictClass: 'string',
isTable: true,
sort: 'custom',
table: {
width: 150
},
},
{
label: '从器具号',
field: 'fromContainerNumber',
label: '供应商计量数量',
field: 'supplierQty',
sort: 'custom',
table: {
width: 150
},
form: {
component: 'InputNumber',
}
},
{
label: '到器具号',
field: 'toContainerNumber',
label: '供应商计量单位',
field: 'supplierUom',
dictType: DICT_TYPE.UOM,
dictClass: 'string',
isTable: true,
sort: 'custom',
table: {
width: 150
@ -507,66 +586,7 @@ export const SupplierdeliverRecordDetail = useCrudSchemas(reactive<CrudSchema[]>
}
},
},
{
label: '订单号',
field: 'poNumber',
sort: 'custom',
table: {
width: 150
},
},
{
label: '订单行',
field: 'poLine',
sort: 'custom',
table: {
width: 150
},
},
{
label: '标包数量',
field: 'stdPackQty',
sort: 'custom',
table: {
width: 150
},
form: {
component: 'InputNumber',
}
},
{
label: '标包单位',
field: 'stdPackUnit',
dictType: DICT_TYPE.PACK_UNIT,
dictClass: 'string',
isTable: true,
sort: 'custom',
table: {
width: 150
},
},
{
label: '供应商计量数量',
field: 'supplierQty',
sort: 'custom',
table: {
width: 150
},
form: {
component: 'InputNumber',
}
},
{
label: '供应商计量单位',
field: 'supplierUom',
dictType: DICT_TYPE.UOM,
dictClass: 'string',
isTable: true,
sort: 'custom',
table: {
width: 150
},
},
{
label: '从库位代码',
field: 'fromLocationCode',
@ -631,14 +651,7 @@ export const SupplierdeliverRecordDetail = useCrudSchemas(reactive<CrudSchema[]>
width: 150
},
},
{
label: '物品代码',
field: 'itemCode',
sort: 'custom',
table: {
width: 150
},
},
{
label: '物品名称',
field: 'itemName',
@ -671,17 +684,7 @@ export const SupplierdeliverRecordDetail = useCrudSchemas(reactive<CrudSchema[]>
width: 150
},
},
{
label: '数量',
field: 'qty',
sort: 'custom',
table: {
width: 150
},
form: {
component: 'InputNumber',
}
},
{
label: '计量单位',
field: 'uom',
@ -803,4 +806,4 @@ export const SupplierdeliverRecordDetailRules = reactive({
creator: [
{ required: true, message: '请输入创建者', trigger: 'blur' }
],
})
})

15
src/views/wms/purchasereceiptManage/supplierdeliver/supplierdeliverRequestMain/index.vue

@ -109,9 +109,14 @@
if(formField=='ppNumber'){
// getBomDisassemble
PurchasePlanDetailApi.getPurchasePlanDetailList({ number: val[0]['number']}).then(res => { if (res) tableData.value = res; tableData.value.forEach(item=>{ item.batch = item.toBatch
item.qty = 1
}) }).catch(err => { console.log(err) })
PurchasePlanDetailApi.getPurchasePlanDetailList({
number: val[0]['number']}).then(res => {
if (res) tableData.value = res;
tableData.value.forEach(item=>{
item.batch = item.toBatch
item.qty = 1
})
}).catch(err => { console.log(err) })
}
formRef.setValues(setV)
}
@ -341,7 +346,7 @@
//
exportLoading.value = true
const data = await SupplierdeliverRequestMainApi.exportSupplierdeliverRequestMain(setSearchParams)
download.excel(data, '供应商发货申请主.xls')
download.excel(data, '供应商发货申请主.xlsx')
} catch {
} finally {
exportLoading.value = false
@ -520,7 +525,7 @@
//
const importTemplateData = reactive({
templateUrl: '',
templateTitle: '供应商发货申请主导入模版.xls'
templateTitle: '供应商发货申请主导入模版.xlsx'
})
//

565
src/views/wms/supplierManage/purchaseclaim/purchaseclaimRequestMain/index.vue

@ -7,19 +7,13 @@
</ContentWrap>
<!-- 列表头部 -->
<TableHead
:HeadButttondata="HeadButttondata"
@button-base-click="buttonBaseClick"
:routeName="routeName"
@updataTableColumns="updataTableColumns"
@searchFormClick="searchFormClick"
:allSchemas="PurchaseclaimRequestMain.allSchemas"
/>
<TableHead :HeadButttondata="HeadButttondata" @button-base-click="buttonBaseClick" :routeName="routeName"
@updataTableColumns="updataTableColumns" @searchFormClick="searchFormClick"
:allSchemas="PurchaseclaimRequestMain.allSchemas" />
<!-- 列表 -->
<ContentWrap>
<Table :columns="tableColumns" :data="tableObject.tableList"
:loading="tableObject.loading" :pagination="{
<Table :columns="tableColumns" :data="tableObject.tableList" :loading="tableObject.loading" :pagination="{
total: tableObject.total
}" v-model:pageSize="tableObject.pageSize" v-model:currentPage="tableObject.currentPage"
v-model:sort="tableObject.sort">
@ -34,317 +28,324 @@
</Table>
</ContentWrap>
<!-- 表单弹窗添加/修改 -->
<BasicForm
ref="formRef"
@success="getList"
:rules="PurchaseclaimRequestMainRules"
:formAllSchemas="PurchaseclaimRequestMain.allSchemas"
:tableAllSchemas="PurchaseclaimRequestDetail.allSchemas"
:tableFormRules="PurchaseclaimRequestDetailRules"
:tableData="tableData"
:apiUpdate="PurchaseclaimRequestMainApi.updatePurchaseclaimRequestMain"
:apiCreate="PurchaseclaimRequestMainApi.createPurchaseclaimRequestMain"
:isBusiness="true"
@handleAddTable="handleAddTable"
@handleDeleteTable="handleDeleteTable"
@searchTableSuccess="searchTableSuccess"
@submitForm="submitForm"
/>
<!-- 表单弹窗添加/修改 -->
<BasicForm ref="formRef" @success="getList" :rules="PurchaseclaimRequestMainRules"
:formAllSchemas="PurchaseclaimRequestMain.allSchemas" :tableAllSchemas="PurchaseclaimRequestDetail.allSchemas"
:tableFormRules="PurchaseclaimRequestDetailRules" :tableData="tableData"
:apiUpdate="PurchaseclaimRequestMainApi.updatePurchaseclaimRequestMain"
:apiCreate="PurchaseclaimRequestMainApi.createPurchaseclaimRequestMain" :isBusiness="true"
@handleAddTable="handleAddTable" @handleDeleteTable="handleDeleteTable" @searchTableSuccess="searchTableSuccess"
@submitForm="submitForm" />
<!-- 详情 -->
<Detail
ref="detailRef"
:isBasic="false"
:allSchemas="PurchaseclaimRequestMain.allSchemas"
:detailAllSchemas="PurchaseclaimRequestDetail.allSchemas"
:detailAllSchemasRules="PurchaseclaimRequestDetailRules"
<Detail ref="detailRef" :isBasic="false" :allSchemas="PurchaseclaimRequestMain.allSchemas"
:detailAllSchemas="PurchaseclaimRequestDetail.allSchemas" :detailAllSchemasRules="PurchaseclaimRequestDetailRules"
:apiCreate="PurchaseclaimRequestDetailApi.createPurchaseclaimRequestDetail"
:apiUpdate="PurchaseclaimRequestDetailApi.updatePurchaseclaimRequestDetail"
:apiPage="PurchaseclaimRequestDetailApi.getPurchaseclaimRequestDetailPage"
:apiDelete="PurchaseclaimRequestDetailApi.deletePurchaseclaimRequestDetail"
@searchTableSuccessDetail="searchTableSuccessDetail"
/>
@searchTableSuccessDetail="searchTableSuccessDetail" />
<!-- 导入 -->
<ImportForm ref="importFormRef" url="/wms/purchaseclaim-request-main/import" :importTemplateData="importTemplateData"
@success="importSuccess" :updateIsDisable="true" :coverIsDisable="true" :mode="2" />
<ImportForm ref="importFormRef" url="/wms/purchaseclaim-request-main/import" :importTemplateData="importTemplateData"
@success="importSuccess" :updateIsDisable="true" :coverIsDisable="true" :mode="2" />
</template>
<script setup lang="ts">
import { getAccessToken } from '@/utils/auth'
import download from '@/utils/download'
import * as PurchaseclaimRequestMainApi from '@/api/wms/purchaseclaimRequestMain'
import * as PurchaseclaimRequestDetailApi from '@/api/wms/purchaseclaimRequestDetail'
import { PurchaseclaimRequestMain, PurchaseclaimRequestMainRules, PurchaseclaimRequestDetail, PurchaseclaimRequestDetailRules } from './purchaseclaimRequestMain.data'
import * as defaultButtons from '@/utils/disposition/defaultButtons'
import BasicForm from '@/components/BasicForm/src/BasicForm.vue'
import TableHead from '@/components/TableHead/src/TableHead.vue'
import { getAccessToken } from '@/utils/auth'
import download from '@/utils/download'
import * as PurchaseclaimRequestMainApi from '@/api/wms/purchaseclaimRequestMain'
import * as PurchaseclaimRequestDetailApi from '@/api/wms/purchaseclaimRequestDetail'
import { PurchaseclaimRequestMain, PurchaseclaimRequestMainRules, PurchaseclaimRequestDetail, PurchaseclaimRequestDetailRules } from './purchaseclaimRequestMain.data'
import * as defaultButtons from '@/utils/disposition/defaultButtons'
import BasicForm from '@/components/BasicForm/src/BasicForm.vue'
import TableHead from '@/components/TableHead/src/TableHead.vue'
//
defineOptions({ name: 'PurchaseclaimRequestMain' })
//
defineOptions({ name: 'PurchaseclaimRequestMain' })
const message = useMessage() //
const { t } = useI18n() //
const message = useMessage() //
const { t } = useI18n() //
const route = useRoute() //
const routeName = ref()
routeName.value = route.name
const tableColumns = ref(PurchaseclaimRequestMain.allSchemas.tableColumns)
const route = useRoute() //
const routeName = ref()
routeName.value = route.name
const tableColumns = ref(PurchaseclaimRequestMain.allSchemas.tableColumns)
//
const updataTableColumns = (val) => {
tableColumns.value = val
}
//
const updataTableColumns = (val) => {
tableColumns.value = val
}
//
const searchTableSuccess = (formField, searchField, val, formRef, type, row ) => {
nextTick(() => {
if (type == 'tableForm') {
//
row[formField] = val[0][searchField]
row['poLine'] = val[0]['poLine']
row['batch'] = val[0]['toBatch']
row['altBatch'] = val[0]['altBatch']
row['itemCode'] = val[0]['itemCode']
row['itemName'] = val[0]['itemName']
row['itemDesc1'] = val[0]['itemDesc1']
row['itemDesc2'] = val[0]['itemDesc2']
row['projectCode'] = val[0]['projectCode']
row['qty'] = val[0]['qty']
row['uom'] = val[0]['uom']
} else {
//
//
const searchTableSuccess = (formField, searchField, val, formRef, type, row) => {
nextTick(() => {
if (type == 'tableForm') {
//
row[formField] = val[0][searchField]
row['poLine'] = val[0]['poLine']
row['batch'] = val[0]['toBatch']
row['altBatch'] = val[0]['altBatch']
row['itemCode'] = val[0]['itemCode']
row['itemName'] = val[0]['itemName']
row['itemDesc1'] = val[0]['itemDesc1']
row['itemDesc2'] = val[0]['itemDesc2']
row['projectCode'] = val[0]['projectCode']
row['qty'] = val[0]['qty']
row['uom'] = val[0]['uom']
} else {
//
const setV = {}
setV[formField] = val[0][searchField]
if(formField=='asnNumber'){
// getBomDisassemble
PurchasePlanDetailApi.getPurchasePlanDetailList({
number: val[0]['asnNumber']}).then(res => {
if (res) tableData.value = res;
tableData.value.forEach(item=>{
item.batch = item.toBatch
item.qty = 1
})
}).catch(err => {
console.log(err)
})
}
setV['ppNumber'] = val[0]['ppNumber']
setV['supplierCode'] = val[0]['supplierCode']
formRef.setValues(setV)
}
})
}
//
const searchTableSuccessDetail = (formField, searchField, val, formRef) => {
console.log(456)
nextTick(() => {
const setV = {}
setV[formField] = val[0][searchField]
setV['ppNumber'] = val[0]['ppNumber']
setV['supplierCode'] = val[0]['supplierCode']
setV['poLine'] = val[0]['poLine']
setV['batch'] = val[0]['toBatch']
setV['altBatch'] = val[0]['altBatch']
setV['itemCode'] = val[0]['itemCode']
setV['itemName'] = val[0]['itemName']
setV['itemDesc1'] = val[0]['itemDesc1']
setV['itemDesc2'] = val[0]['itemDesc2']
setV['projectCode'] = val[0]['projectCode']
setV['qty'] = val[0]['qty']
setV['uom'] = val[0]['uom']
formRef.setValues(setV)
}
})
}
//
const searchTableSuccessDetail = (formField, searchField, val, formRef ) => {
nextTick(() => {
const setV = {}
setV[formField] = val[0][searchField]
setV['poLine'] = val[0]['poLine']
setV['batch'] = val[0]['toBatch']
setV['altBatch'] = val[0]['altBatch']
setV['itemCode'] = val[0]['itemCode']
setV['itemName'] = val[0]['itemName']
setV['itemDesc1'] = val[0]['itemDesc1']
setV['itemDesc2'] = val[0]['itemDesc2']
setV['projectCode'] = val[0]['projectCode']
setV['qty'] = val[0]['qty']
setV['uom'] = val[0]['uom']
formRef.setValues(setV)
})
}
})
}
const exportLoading = ref(false) //
const { tableObject, tableMethods } = useTable({
getListApi: PurchaseclaimRequestMainApi.getPurchaseclaimRequestMainPage //
})
const exportLoading = ref(false) //
const { tableObject, tableMethods } = useTable({
getListApi: PurchaseclaimRequestMainApi.getPurchaseclaimRequestMainPage //
})
//
const { getList, setSearchParams } = tableMethods
//
const HeadButttondata = [
defaultButtons.defaultAddBtn({ hasPermi: 'wms:purchaseclaim-request-main:create' }), //
defaultButtons.defaultImportBtn({ hasPermi: 'wms:purchaseclaim-request-main:import' }), //
defaultButtons.defaultExportBtn({ hasPermi: 'wms:purchaseclaim-request-main:export' }), //
defaultButtons.defaultFreshBtn(null), //
defaultButtons.defaultFilterBtn(null), //
defaultButtons.defaultSetBtn(null), //
// {
// label: '',
// name: 'zdy',
// hide: false,
// type: 'primary',
// icon: 'Select',
// color: ''
// },
]
//
const { getList, setSearchParams } = tableMethods
//
const HeadButttondata = [
defaultButtons.defaultAddBtn({ hasPermi: 'wms:purchaseclaim-request-main:create' }), //
defaultButtons.defaultImportBtn({ hasPermi: 'wms:purchaseclaim-request-main:import' }), //
defaultButtons.defaultExportBtn({ hasPermi: 'wms:purchaseclaim-request-main:export' }), //
defaultButtons.defaultFreshBtn(null), //
defaultButtons.defaultFilterBtn(null), //
defaultButtons.defaultSetBtn(null), //
// {
// label: '',
// name: 'zdy',
// hide: false,
// type: 'primary',
// icon: 'Select',
// color: ''
// },
]
//
const buttonBaseClick = (val, item) => {
if (val == 'add') { //
openForm('create')
} else if (val == 'import') { //
handleImport()
} else if (val == 'export') { //
handleExport()
} else if (val == 'refresh') { //
getList()
} else if (val == 'filtrate') { //
} else { //
console.log('其他按钮', item)
//
const buttonBaseClick = (val, item) => {
if (val == 'add') { //
openForm('create')
} else if (val == 'import') { //
handleImport()
} else if (val == 'export') { //
handleExport()
} else if (val == 'refresh') { //
getList()
} else if (val == 'filtrate') { //
} else { //
console.log('其他按钮', item)
}
}
}
// -
const buttondata = (row) => {
return [
defaultButtons.mainListCloseBtn({hide:isShowMainButton(row,['1','2','3','4','6'])}), //
defaultButtons.mainListReAddBtn({hide:isShowMainButton(row,['4','5'])}), //
defaultButtons.mainListSubmitBtn({hide:isShowMainButton(row,['1'])}), //
defaultButtons.mainListTurnDownBtn({hide:isShowMainButton(row,['2'])}), //
defaultButtons.mainListApproveBtn({hide:isShowMainButton(row,['2'])}), //
defaultButtons.mainListEditBtn({ hide:isShowMainButton(row,['1']),hasPermi: 'wms:purchaseclaim-request-main:update' }), //
defaultButtons.mainListDeleteBtn({ hide:isShowMainButton(row,['1']),hasPermi: 'wms:purchaseclaim-request-main:delete' }), //
defaultButtons.mainListPointBtn(null), //
]
}
// -
const buttondata = (row) => {
return [
defaultButtons.mainListCloseBtn({ hide: isShowMainButton(row, ['1', '2', '3', '4', '6']) }), //
defaultButtons.mainListReAddBtn({ hide: isShowMainButton(row, ['4', '5']) }), //
defaultButtons.mainListSubmitBtn({ hide: isShowMainButton(row, ['1']) }), //
defaultButtons.mainListTurnDownBtn({ hide: isShowMainButton(row, ['2']) }), //
defaultButtons.mainListApproveBtn({ hide: isShowMainButton(row, ['2']) }), //
defaultButtons.mainListEditBtn({ hide: isShowMainButton(row, ['1']), hasPermi: 'wms:purchaseclaim-request-main:update' }), //
defaultButtons.mainListDeleteBtn({ hide: isShowMainButton(row, ['1']), hasPermi: 'wms:purchaseclaim-request-main:delete' }), //
defaultButtons.mainListPointBtn(null), //
]
}
//
const isShowMainButton = (row,val) => {
if (val.indexOf(row.status) > -1) {
return false
} else {
return true
//
const isShowMainButton = (row, val) => {
if (val.indexOf(row.status) > -1) {
return false
} else {
return true
}
}
}
// -
const buttonTableClick = async (val, row) => {
if (val == 'mainClose') { //
console.log('列表-操作按钮事件-关闭')
} else if (val == 'mainReAdd') { //
console.log('列表-操作按钮事件-重新添加')
} else if (val == 'mainSubmit') { //
console.log('列表-操作按钮事件-提交审批')
} else if (val == 'mainTurnDown') { //
console.log('列表-操作按钮事件-驳回')
} else if (val == 'mainApprove') { //
console.log('列表-操作按钮事件-审批通过')
} else if (val == 'edit') { //
// const res = await ItempackagingApi.getItempackaging(row.id)
openForm('update', row)
} else if (val == 'delete') { //
handleDelete(row.id)
} else if (val == 'point') { //
handlePoint(row.id)
// -
const buttonTableClick = async (val, row) => {
if (val == 'mainClose') { //
console.log('列表-操作按钮事件-关闭')
} else if (val == 'mainReAdd') { //
console.log('列表-操作按钮事件-重新添加')
} else if (val == 'mainSubmit') { //
console.log('列表-操作按钮事件-提交审批')
} else if (val == 'mainTurnDown') { //
console.log('列表-操作按钮事件-驳回')
} else if (val == 'mainApprove') { //
console.log('列表-操作按钮事件-审批通过')
} else if (val == 'edit') { //
// const res = await ItempackagingApi.getItempackaging(row.id)
openForm('update', row)
} else if (val == 'delete') { //
handleDelete(row.id)
} else if (val == 'point') { //
handlePoint(row.id)
}
}
}
/** 添加/修改操作 */
const formRef = ref()
const openForm =async (type: string, row?: number) => {
tableData.value = [] //
//  if (row?.id) {
// const data= await PurchaseclaimRequestMainApi.getPurchaseclaimRequestMain(row.id)
// tableData.value = data.subList
// }
formRef.value.open(type, row)
}
/** 添加/修改操作 */
const formRef = ref()
const openForm = async (type : string, row ?: number) => {
tableData.value = [] //
//  if (row?.id) {
// const data= await PurchaseclaimRequestMainApi.getPurchaseclaimRequestMain(row.id)
// tableData.value = data.subList
// }
formRef.value.open(type, row)
}
/** 详情操作 */
const detailRef = ref()
const openDetail = (row: any, titleName: any, titleValue: any) => {
detailRef.value.openDetail(row, titleName, titleValue)
}
/** 详情操作 */
const detailRef = ref()
const openDetail = (row : any, titleName : any, titleValue : any) => {
detailRef.value.openDetail(row, titleName, titleValue)
}
/** 删除按钮操作 */
const handleDelete = async (id: number) => {
try {
//
await message.delConfirm()
//
await PurchaseclaimRequestMainApi.deletePurchaseclaimRequestMain(id)
message.success(t('common.delSuccess'))
//
await getList()
} catch { }
}
/** 删除按钮操作 */
const handleDelete = async (id : number) => {
try {
//
await message.delConfirm()
//
await PurchaseclaimRequestMainApi.deletePurchaseclaimRequestMain(id)
message.success(t('common.delSuccess'))
//
await getList()
} catch { }
}
/** 导出按钮操作 */
const handleExport = async () => {
try {
//
await message.exportConfirm()
//
exportLoading.value = true
const data = await PurchaseclaimRequestMainApi.exportPurchaseclaimRequestMain(setSearchParams)
download.excel(data, '采购索赔申请主.xlsx')
} catch {
} finally {
exportLoading.value = false
/** 导出按钮操作 */
const handleExport = async () => {
try {
//
await message.exportConfirm()
//
exportLoading.value = true
const data = await PurchaseclaimRequestMainApi.exportPurchaseclaimRequestMain(setSearchParams)
download.excel(data, '采购索赔申请主.xlsx')
} catch {
} finally {
exportLoading.value = false
}
}
}
const BASE_URL = import.meta.env.VITE_JMREPORT_BASE_URL
const src = ref(BASE_URL + '/jmreport/view/882550592342003712?token=' + getAccessToken())
console.log(src)
//
const handlePoint = async (id) => {
window.open(src.value+'&id='+id)
}
/**
* tableForm方法
*/
const tableFormKeys = {}
PurchaseclaimRequestDetail.allSchemas.tableFormColumns.forEach(item => {
tableFormKeys[item.field] = item.default ? item.default : ''
})
const tableData = ref([])
const BASE_URL = import.meta.env.VITE_JMREPORT_BASE_URL
const src = ref(BASE_URL + '/jmreport/view/882550592342003712?token=' + getAccessToken())
console.log(src)
//
const handlePoint = async (id) => {
window.open(src.value + '&id=' + id)
}
/**
* tableForm方法
*/
const tableFormKeys = {}
PurchaseclaimRequestDetail.allSchemas.tableFormColumns.forEach(item => {
tableFormKeys[item.field] = item.default ? item.default : ''
})
const tableData = ref([])
//
const handleAddTable = () => {
tableData.value.push(JSON.parse(JSON.stringify(tableFormKeys)))
}
//
const handleDeleteTable = (item, index) => {
tableData.value.splice(index, 1)
}
//
const handleAddTable = () => {
tableData.value.push(JSON.parse(JSON.stringify(tableFormKeys)))
}
//
const handleDeleteTable = (item, index) => {
tableData.value.splice(index, 1)
}
//
const submitForm = async (formType, data) => {
data.subList = tableData.value //
try {
if (formType === 'create') {
await PurchaseclaimRequestMainApi.createPurchaseclaimRequestMain(data)
message.success(t('common.createSuccess'))
} else {
await PurchaseclaimRequestMainApi.updatePurchaseclaimRequestMain(data)
message.success(t('common.updateSuccess'))
//
const submitForm = async (formType, data) => {
data.subList = tableData.value //
try {
if (formType === 'create') {
await PurchaseclaimRequestMainApi.createPurchaseclaimRequestMain(data)
message.success(t('common.createSuccess'))
} else {
await PurchaseclaimRequestMainApi.updatePurchaseclaimRequestMain(data)
message.success(t('common.updateSuccess'))
}
formRef.value.dialogVisible = false
//
getList()
} finally {
formRef.value.formLoading = false
}
formRef.value.dialogVisible = false
//
getList()
} finally {
formRef.value.formLoading = false
}
}
/** 导入 */
const importFormRef = ref()
const handleImport = () => {
importFormRef.value.open()
}
//
const importTemplateData = reactive({
templateUrl: '',
templateTitle: '采购索赔申请信息导入模版.xlsx'
})
//
const importSuccess = () => {
getList()
}
//
const searchFormClick = (searchData) => {
tableObject.params = {
isSearch: true,
filters: searchData.filters
/** 导入 */
const importFormRef = ref()
const handleImport = () => {
importFormRef.value.open()
}
//
const importTemplateData = reactive({
templateUrl: '',
templateTitle: '采购索赔申请信息导入模版.xlsx'
})
//
const importSuccess = () => {
getList()
}
//
const searchFormClick = (searchData) => {
tableObject.params = {
isSearch: true,
filters: searchData.filters
}
getList() //
}
getList() //
}
/** 初始化 **/
onMounted(async () => {
getList()
importTemplateData.templateUrl = await PurchaseclaimRequestMainApi.importTemplate()
})
/** 初始化 **/
onMounted(async () => {
getList()
importTemplateData.templateUrl = await PurchaseclaimRequestMainApi.importTemplate()
})
</script>

Loading…
Cancel
Save