zhang_li 12 months ago
parent
commit
a409960fe2
  1. 5
      src/api/wms/bomDismantle/index.ts
  2. 30
      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. 292
      src/views/wms/productionManage/productrepair/productrepairRecordMain/productrepairRecordMain.data.ts
  25. 105
      src/views/wms/productionManage/productrepair/productrepairRequestMain/index.vue
  26. 260
      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. 189
      src/views/wms/purchasereceiptManage/supplierdeliver/supplierdeliverRecordMain/supplierdeliverRecordMain.data.ts
  42. 13
      src/views/wms/purchasereceiptManage/supplierdeliver/supplierdeliverRequestMain/index.vue
  43. 71
      src/views/wms/supplierManage/purchaseclaim/purchaseclaimRequestMain/index.vue

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

@ -4,3 +4,8 @@ import request from '@/config/axios'
export const getBomDismantlePage = async (params) => { export const getBomDismantlePage = async (params) => {
return await request.get({ url: `/wms/productrepair-request-main/bomPage`, 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 })
}

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

@ -64,3 +64,33 @@ export const exportProductrepairRequestMain = async (params) => {
export const importTemplate = () => { export const importTemplate = () => {
return request.download({ url: '/wms/productrepair-request-main/get-import-template' }) 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 exportLoading.value = true
const data = await ApiAccessLogApi.exportApiAccessLog(queryParams) const data = await ApiAccessLogApi.exportApiAccessLog(queryParams)
download.excel(data, 'API 访问日志.xls') download.excel(data, 'API 访问日志.xlsx')
} catch { } catch {
} finally { } finally {
exportLoading.value = false exportLoading.value = false

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@ -47,6 +47,7 @@
:tableAllSchemas="ProductrepairRecordDetail.allSchemas" :tableAllSchemas="ProductrepairRecordDetail.allSchemas"
:tableFormRules="ProductrepairRecordDetailRules" :tableFormRules="ProductrepairRecordDetailRules"
:isBusiness="true" :isBusiness="true"
@buttonOperationClick="buttonOperationClick"
/> />
<!-- 详情 --> <!-- 详情 -->
@ -57,15 +58,42 @@
:detailAllSchemas="ProductrepairRecordDetail.allSchemas" :detailAllSchemas="ProductrepairRecordDetail.allSchemas"
:detailAllSchemasRules="ProductrepairRecordDetailRules" :detailAllSchemasRules="ProductrepairRecordDetailRules"
:apiPage="ProductrepairRecordDetailApi.getProductrepairRecordDetailPage" :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> </template>
<script setup lang="ts"> <script setup lang="ts">
import download from '@/utils/download' 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 ProductrepairRecordMainApi from '@/api/wms/productrepairRecordMain'
import * as ProductrepairRecordDetailApi from '@/api/wms/productrepairRecordDetail' import * as ProductrepairRecordDetailApi from '@/api/wms/productrepairRecordDetail'
import * as defaultButtons from '@/utils/disposition/defaultButtons' import * as defaultButtons from '@/utils/disposition/defaultButtons'
import * as BomDismantleApi from "@/api/wms/bomDismantle";
import {getBomDismantleRecordPage} from "@/api/wms/bomDismantle";
// //
defineOptions({ name: 'ProductrepairRecordMain' }) defineOptions({ name: 'ProductrepairRecordMain' })
@ -78,6 +106,87 @@ const routeName = ref()
routeName.value = route.name routeName.value = route.name
const tableColumns = ref(ProductrepairRecordMain.allSchemas.tableColumns) 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) => { const updataTableColumns = (val) => {
tableColumns.value = val tableColumns.value = val

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

@ -1,5 +1,7 @@
import type { CrudSchema } from '@/hooks/web/useCrudSchemas' import type { CrudSchema } from '@/hooks/web/useCrudSchemas'
import { dateFormatter } from '@/utils/formatTime' import { dateFormatter } from '@/utils/formatTime'
import {Bom} from "@/views/wms/basicDataManage/itemManage/bom/bom.data";
import * as BomApi from "@/api/wms/bom";
/** /**
* @returns {Array} * @returns {Array}
@ -581,6 +583,69 @@ export const ProductrepairRecordDetail = useCrudSchemas(reactive<CrudSchema[]>([
width: 150 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'
}
},
])) ]))
//表单校验 //表单校验
@ -625,3 +690,230 @@ export const ProductrepairRecordDetailRules = reactive({
{ required: true, message: '请输入创建者', trigger: 'blur' } { 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" :apiPage="ProductrepairRequestDetailApi.getProductrepairRequestDetailaPage"
:apiDelete="ProductrepairRequestDetailApi.deleteProductrepairRequestDetaila" :apiDelete="ProductrepairRequestDetailApi.deleteProductrepairRequestDetaila"
@searchTableSuccessDetail="searchTableSuccessDetail" @searchTableSuccessDetail="searchTableSuccessDetail"
:buttondataTable="buttondataTable"
@tableFormButton="tableFormButton"
/> />
<!-- bom列表 --> <!-- bom列表 -->
@ -117,6 +119,18 @@ const routeName = ref()
routeName.value = route.name routeName.value = route.name
const tableColumns = ref(ProductrepairRequestMain.allSchemas.tableColumns) const tableColumns = ref(ProductrepairRequestMain.allSchemas.tableColumns)
// table
const buttondataTable = ref([{
label: 'Bom',
name: 'bom',
hide: false,
type: 'primary',
icon: '',
color: '',
hasPermi: '',
link: true, //
}])
// Bom // Bom
const DialogTitle = ref('Bom信息') const DialogTitle = ref('Bom信息')
const bomModelVisible = ref(false) const bomModelVisible = ref(false)
@ -171,7 +185,6 @@ const buttonOperationClick = async (row, label, index)=> {
}) })
} }
// //
const updataTableColumns = (val) => { const updataTableColumns = (val) => {
tableColumns.value = val tableColumns.value = val
@ -190,6 +203,12 @@ const searchTableSuccess = (formField, searchField, val, formRef, type, row ) =>
row['uom'] = val[0]['uom'] row['uom'] = val[0]['uom']
row['inventoryStatus'] = val[0]['inventoryStatus'] row['inventoryStatus'] = val[0]['inventoryStatus']
row['fromLocationCode'] = val[0]['locationCode'] 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 { } else {
row[formField] = val[0][searchField] row[formField] = val[0][searchField]
} }
@ -226,7 +245,7 @@ const { getList, setSearchParams } = tableMethods
// //
const HeadButttondata = [ const HeadButttondata = [
defaultButtons.defaultAddBtn({hasPermi:'wms:productrepair-request-main:create'}), // 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.defaultExportBtn({hasPermi:'wms:productrepair-request-main:export'}), //
defaultButtons.defaultFreshBtn(null), // defaultButtons.defaultFreshBtn(null), //
defaultButtons.defaultFilterBtn(null), // defaultButtons.defaultFilterBtn(null), //
@ -284,14 +303,22 @@ const butttondata = (row) => {
const buttonTableClick = async (val, row) => { const buttonTableClick = async (val, row) => {
if (val == 'mainClose') { // if (val == 'mainClose') { //
console.log('列表-操作按钮事件-关闭') console.log('列表-操作按钮事件-关闭')
handleClose(row.id)
} else if (val == 'mainReAdd') { // } else if (val == 'mainReAdd') { //
console.log('列表-操作按钮事件-重新添加') console.log('列表-操作按钮事件-重新添加')
handleReAdd(row.id)
} else if (val == 'mainSubmit') { // } else if (val == 'mainSubmit') { //
console.log('列表-操作按钮事件-提交审批') console.log('列表-操作按钮事件-提交审批')
handleSubmit(row.id)
} else if (val == 'mainTurnDown') { // } else if (val == 'mainTurnDown') { //
console.log('列表-操作按钮事件-驳回') console.log('列表-操作按钮事件-驳回')
handleRefused(row.id)
} else if (val == 'mainApprove') { // } else if (val == 'mainApprove') { //
console.log('列表-操作按钮事件-审批通过') console.log('列表-操作按钮事件-审批通过')
handleAgree(row.id)
} else if (val == 'mainHandle') { //
console.log('列表-操作按钮事件-处理')
handleHandle(row.id)
} else if (val == 'edit') { // } else if (val == 'edit') { //
openForm('update', row) openForm('update', row)
} else if (val == 'delete') { // } 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 formRef = ref()
const openForm =async (type: string, row?: number) => { const openForm =async (type: string, row?: number) => {
@ -404,7 +491,19 @@ const searchFormClick = (searchData) => {
getList() // 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 () => { onMounted(async () => {

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

@ -36,6 +36,8 @@ const queryParams = {
// 获取当前操作人的部门 // 获取当前操作人的部门
import { useUserStore } from '@/store/modules/user' 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 userStore = useUserStore()
const userDept = userStore.userSelfInfo.dept const userDept = userStore.userSelfInfo.dept
@ -830,6 +832,51 @@ export const ProductrepairRequestDetaila = useCrudSchemas(reactive<CrudSchema[]>
isTableForm: false, isTableForm: false,
isForm: 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: '操作', label: '操作',
field: 'action', 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 * @returns {Array} bom
@ -1096,6 +1115,9 @@ export const BomDismantle = useCrudSchemas(reactive<CrudSchema[]>([
isForm: false, isForm: false,
tableForm:{ tableForm:{
disabled: true disabled: true
},
table: {
show: false
} }
}, },
{ {
@ -1124,4 +1146,186 @@ export const BomDismantle = useCrudSchemas(reactive<CrudSchema[]>([
disabled: true 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 exportLoading.value = true
const data = await InspectJobMainApi.exportInspectJobMain(setSearchParams) const data = await InspectJobMainApi.exportInspectJobMain(setSearchParams)
download.excel(data, '检验任务主.xls') download.excel(data, '检验任务主.xlsx')
} catch { } catch {
} finally { } finally {
exportLoading.value = false exportLoading.value = false

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@ -312,7 +312,7 @@ const handleExport = async () => {
// //
exportLoading.value = true exportLoading.value = true
const data = await PutawayRequestMainApi.exportPutawayRequestMain(setSearchParams) const data = await PutawayRequestMainApi.exportPutawayRequestMain(setSearchParams)
download.excel(data, '上架申请主.xls') download.excel(data, '上架申请主.xlsx')
} catch { } catch {
} finally { } finally {
exportLoading.value = false exportLoading.value = false
@ -365,7 +365,7 @@ const handleImport = () => {
// //
const importTemplateData = reactive({ const importTemplateData = reactive({
templateUrl: '', 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} * @returns {Array}
*/ */
export const PutawayRequestMain = useCrudSchemas(reactive<CrudSchema[]>([ 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: '从仓库代码', label: '从仓库代码',
field: 'fromWarehouseCode', field: 'fromWarehouseCode',

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

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

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

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

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

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

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

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

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

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

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

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

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

@ -7,19 +7,13 @@
</ContentWrap> </ContentWrap>
<!-- 列表头部 --> <!-- 列表头部 -->
<TableHead <TableHead :HeadButttondata="HeadButttondata" @button-base-click="buttonBaseClick" :routeName="routeName"
:HeadButttondata="HeadButttondata" @updataTableColumns="updataTableColumns" @searchFormClick="searchFormClick"
@button-base-click="buttonBaseClick" :allSchemas="PurchaseclaimRequestMain.allSchemas" />
:routeName="routeName"
@updataTableColumns="updataTableColumns"
@searchFormClick="searchFormClick"
:allSchemas="PurchaseclaimRequestMain.allSchemas"
/>
<!-- 列表 --> <!-- 列表 -->
<ContentWrap> <ContentWrap>
<Table :columns="tableColumns" :data="tableObject.tableList" <Table :columns="tableColumns" :data="tableObject.tableList" :loading="tableObject.loading" :pagination="{
:loading="tableObject.loading" :pagination="{
total: tableObject.total total: tableObject.total
}" v-model:pageSize="tableObject.pageSize" v-model:currentPage="tableObject.currentPage" }" v-model:pageSize="tableObject.pageSize" v-model:currentPage="tableObject.currentPage"
v-model:sort="tableObject.sort"> v-model:sort="tableObject.sort">
@ -35,36 +29,22 @@
</ContentWrap> </ContentWrap>
<!-- 表单弹窗添加/修改 --> <!-- 表单弹窗添加/修改 -->
<BasicForm <BasicForm ref="formRef" @success="getList" :rules="PurchaseclaimRequestMainRules"
ref="formRef" :formAllSchemas="PurchaseclaimRequestMain.allSchemas" :tableAllSchemas="PurchaseclaimRequestDetail.allSchemas"
@success="getList" :tableFormRules="PurchaseclaimRequestDetailRules" :tableData="tableData"
:rules="PurchaseclaimRequestMainRules"
:formAllSchemas="PurchaseclaimRequestMain.allSchemas"
:tableAllSchemas="PurchaseclaimRequestDetail.allSchemas"
:tableFormRules="PurchaseclaimRequestDetailRules"
:tableData="tableData"
:apiUpdate="PurchaseclaimRequestMainApi.updatePurchaseclaimRequestMain" :apiUpdate="PurchaseclaimRequestMainApi.updatePurchaseclaimRequestMain"
:apiCreate="PurchaseclaimRequestMainApi.createPurchaseclaimRequestMain" :apiCreate="PurchaseclaimRequestMainApi.createPurchaseclaimRequestMain" :isBusiness="true"
:isBusiness="true" @handleAddTable="handleAddTable" @handleDeleteTable="handleDeleteTable" @searchTableSuccess="searchTableSuccess"
@handleAddTable="handleAddTable" @submitForm="submitForm" />
@handleDeleteTable="handleDeleteTable"
@searchTableSuccess="searchTableSuccess"
@submitForm="submitForm"
/>
<!-- 详情 --> <!-- 详情 -->
<Detail <Detail ref="detailRef" :isBasic="false" :allSchemas="PurchaseclaimRequestMain.allSchemas"
ref="detailRef" :detailAllSchemas="PurchaseclaimRequestDetail.allSchemas" :detailAllSchemasRules="PurchaseclaimRequestDetailRules"
:isBasic="false"
:allSchemas="PurchaseclaimRequestMain.allSchemas"
:detailAllSchemas="PurchaseclaimRequestDetail.allSchemas"
:detailAllSchemasRules="PurchaseclaimRequestDetailRules"
:apiCreate="PurchaseclaimRequestDetailApi.createPurchaseclaimRequestDetail" :apiCreate="PurchaseclaimRequestDetailApi.createPurchaseclaimRequestDetail"
:apiUpdate="PurchaseclaimRequestDetailApi.updatePurchaseclaimRequestDetail" :apiUpdate="PurchaseclaimRequestDetailApi.updatePurchaseclaimRequestDetail"
:apiPage="PurchaseclaimRequestDetailApi.getPurchaseclaimRequestDetailPage" :apiPage="PurchaseclaimRequestDetailApi.getPurchaseclaimRequestDetailPage"
:apiDelete="PurchaseclaimRequestDetailApi.deletePurchaseclaimRequestDetail" :apiDelete="PurchaseclaimRequestDetailApi.deletePurchaseclaimRequestDetail"
@searchTableSuccessDetail="searchTableSuccessDetail" @searchTableSuccessDetail="searchTableSuccessDetail" />
/>
<!-- 导入 --> <!-- 导入 -->
<ImportForm ref="importFormRef" url="/wms/purchaseclaim-request-main/import" :importTemplateData="importTemplateData" <ImportForm ref="importFormRef" url="/wms/purchaseclaim-request-main/import" :importTemplateData="importTemplateData"
@ -99,8 +79,10 @@ const updataTableColumns = (val) => {
// //
const searchTableSuccess = (formField, searchField, val, formRef, type, row) => { const searchTableSuccess = (formField, searchField, val, formRef, type, row) => {
nextTick(() => { nextTick(() => {
if (type == 'tableForm') { if (type == 'tableForm') {
// //
row[formField] = val[0][searchField] row[formField] = val[0][searchField]
row['poLine'] = val[0]['poLine'] row['poLine'] = val[0]['poLine']
@ -117,6 +99,25 @@ const searchTableSuccess = (formField, searchField, val, formRef, type, row ) =>
// //
const setV = {} const setV = {}
setV[formField] = val[0][searchField] 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['ppNumber'] = val[0]['ppNumber']
setV['supplierCode'] = val[0]['supplierCode'] setV['supplierCode'] = val[0]['supplierCode']
formRef.setValues(setV) formRef.setValues(setV)
@ -125,7 +126,9 @@ const searchTableSuccess = (formField, searchField, val, formRef, type, row ) =>
} }
// //
const searchTableSuccessDetail = (formField, searchField, val, formRef) => { const searchTableSuccessDetail = (formField, searchField, val, formRef) => {
console.log(456)
nextTick(() => { nextTick(() => {
const setV = {} const setV = {}
setV[formField] = val[0][searchField] setV[formField] = val[0][searchField]
setV['poLine'] = val[0]['poLine'] setV['poLine'] = val[0]['poLine']
@ -314,9 +317,7 @@ const submitForm = async (formType, data) => {
getList() getList()
} finally { } finally {
formRef.value.formLoading = false formRef.value.formLoading = false
} }
} }
/** 导入 */ /** 导入 */

Loading…
Cancel
Save