Browse Source

qww

master_hella_20240701
zhousq 6 months ago
parent
commit
e103c0816f
  1. 6
      .env.hella15
  2. 6
      .env.hella16
  3. 2
      README.md
  4. 24
      nginx_prod.conf
  5. 5
      src/api/eam/basicDocumentType/index.ts
  6. 5
      src/api/eam/basicFaultCause/index.ts
  7. 5
      src/api/eam/basicFaultType/index.ts
  8. 5
      src/api/eam/equipmentMainPart/index.ts
  9. 5
      src/api/eam/equipmentManufacturer/index.ts
  10. 5
      src/api/eam/equipmentSupplier/index.ts
  11. 62
      src/api/eam/inspectionItem/index.ts
  12. 62
      src/api/eam/spotCheckItem/index.ts
  13. 6
      src/api/qms/inspectionJob/inspectionJobMain/index.ts
  14. 2
      src/components/Annex/src/Annex.vue
  15. 5
      src/components/Descriptions/src/Descriptions.vue
  16. 4
      src/components/Detail/src/Detail.vue
  17. 5
      src/components/DictTag/src/DictTag.vue
  18. 5
      src/components/Remarks/src/Remarks.vue
  19. 2
      src/components/TableForm/src/TableForm.vue
  20. 3
      src/components/Tabs/src/Tabs.vue
  21. 15
      src/components/UploadFile/src/UploadFile.vue
  22. 24
      src/locales/en-US.ts
  23. 24
      src/locales/zh-CN.ts
  24. 4
      src/utils/dict.ts
  25. 2
      src/utils/disposition/defaultButtons.ts
  26. 20
      src/views/eam/basicDocumentType/basicDocumentType.data.ts
  27. 15
      src/views/eam/basicFaultCause/basicFaultCause.data.ts
  28. 15
      src/views/eam/basicFaultType/basicFaultType.data.ts
  29. 2
      src/views/eam/basicInspectionOption/basicInspectionOption.data.ts
  30. 2
      src/views/eam/basicMaintenanceOption/basicMaintenanceOption.data.ts
  31. 25
      src/views/eam/equipmentMainPart/equipmentMainPart.data.ts
  32. 40
      src/views/eam/equipmentManufacturer/equipmentManufacturer.data.ts
  33. 33
      src/views/eam/equipmentManufacturer/index.vue
  34. 40
      src/views/eam/equipmentSupplier/equipmentSupplier.data.ts
  35. 32
      src/views/eam/equipmentSupplier/index.vue
  36. 271
      src/views/eam/inspectionItem/index.vue
  37. 110
      src/views/eam/inspectionItem/inspectionItem.data.ts
  38. 270
      src/views/eam/spotCheckItem/index.vue
  39. 104
      src/views/eam/spotCheckItem/spotCheckItem.data.ts
  40. 3
      src/views/home/components/supplierIndex.vue
  41. 33
      src/views/mes/orderDay/components/schedule.vue
  42. 36
      src/views/mes/orderDay/index.vue
  43. 3
      src/views/mes/orderDay/orderDay.data.ts
  44. 5
      src/views/mes/workScheduling/components/qualifiedCheck.vue
  45. 28
      src/views/qms/inspectionJob/addForm.vue
  46. 24
      src/views/qms/inspectionJob/index.vue
  47. 1
      src/views/wms/deliversettlementManage/deliver/deliverRequestMain/deliverRequestMain.data.ts
  48. 3
      src/views/wms/deliversettlementManage/deliver/deliverRequestMain/index.vue
  49. 17
      src/views/wms/deliversettlementManage/saleShipmentMainRecord/index.vue
  50. 3
      src/views/wms/deliversettlementManage/saleShipmentMainRecord/saleShipmentMainRecord.data.ts
  51. 2
      src/views/wms/deliversettlementManage/saleShipmentMainRequest/index.vue
  52. 6
      src/views/wms/deliversettlementManage/saleShipmentMainRequest/saleShipmentMain.data.ts
  53. 5
      src/views/wms/inventoryjobManage/containermanage/containerMainRequest/containerMainRequest.data.ts
  54. 3
      src/views/wms/productionManage/productscrap/productscrapRecordMain/index.vue
  55. 2
      src/views/wms/purchasereceiptManage/purchasereceipt/purchasereceiptRequestMain/index.vue

6
.env.hella15

@ -4,10 +4,10 @@ NODE_ENV=production
VITE_DEV=false
# 请求路径
VITE_BASE_URL='http://172.21.32.15/api'
VITE_BASE_URL='https://172.21.32.15:55563/api'
# 上传路径
VITE_UPLOAD_URL='http://172.21.32.15/api/admin-api/infra/file/upload'
VITE_UPLOAD_URL='https://172.21.32.15:55563/api/admin-api/infra/file/upload'
# 接口前缀
VITE_API_BASEPATH=
@ -37,4 +37,4 @@ VITE_INTERFACE_URL='http://172.21.32.15:90/magic/web/index.html'
VITE_JMREPORT_BASE_URL='http://172.21.32.15:90'
# 租户配置
VITE_TENANT='["长春"]'
VITE_TENANT='["长春","成都"]'

6
.env.hella16

@ -4,10 +4,10 @@ NODE_ENV=production
VITE_DEV=false
# 请求路径
VITE_BASE_URL='http://172.21.32.16/api'
VITE_BASE_URL='https://172.21.32.16:55563/api'
# 上传路径
VITE_UPLOAD_URL='http://172.21.32.16/api/admin-api/infra/file/upload'
VITE_UPLOAD_URL='https://172.21.32.16:55563/api/admin-api/infra/file/upload'
# 接口前缀
VITE_API_BASEPATH=
@ -37,4 +37,4 @@ VITE_INTERFACE_URL='http://172.21.32.16:90/magic/web/index.html'
VITE_JMREPORT_BASE_URL='http://172.21.32.16:90'
# 租户配置
VITE_TENANT='["长春"]'
VITE_TENANT='["长春","成都"]'

2
README.md

@ -1,4 +1,4 @@
## dev发布2024-05-15-004
## dev发布2024-05-16-002
**xxxx.data.ts 文件配置说明**
**form表单查询弹窗配置**
form: {

24
nginx_prod.conf

@ -49,5 +49,29 @@ http {
index index.html index.htm;
}
}
server {
listen 55563 ssl;
server_name_in_redirect off;
server_name _;
ssl_certificate /opt/faway-hella/faway-hella.com.pem;
ssl_certificate_key /opt/faway-hella/faway-hella.com.key;
location /api/ {
proxy_pass http://sfms3.0/;
proxy_next_upstream http_500 http_502 http_503 http_504 error timeout invalid_header;
proxy_set_header X-Forwared-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $http_x_forwarded_for;
}
location /profile/ {
alias /opt/profile/;
index index.html index.htm;
}
location / {
try_files $uri $uri/ /index.html;
root /opt/sfms3.0;
index index.html index.htm;
}
}
}

5
src/api/eam/basicDocumentType/index.ts

@ -48,7 +48,12 @@ export const deleteDocumentType = async (id: number) => {
// 导出文档类型 Excel
export const exportDocumentType = async (params) => {
if (params.isSearch) {
const data = {...params}
return await request.downloadPost({ url: `/eam/document-type/export-excel-senior`, data })
}else{
return await request.download({ url: `/eam/document-type/export-excel`, params })
}
}
// 下载用户导入模板

5
src/api/eam/basicFaultCause/index.ts

@ -49,7 +49,12 @@ export const deleteBasicFaultCause = async (id: number) => {
// 导出故障原因 Excel
export const exportBasicFaultCause = async (params) => {
if (params.isSearch) {
const data = {...params}
return await request.downloadPost({ url: `/eam/basic-fault-cause/export-excel-senior`, data })
}else{
return await request.download({ url: `/eam/basic-fault-cause/export-excel`, params })
}
}
// 下载用户导入模板

5
src/api/eam/basicFaultType/index.ts

@ -48,7 +48,12 @@ export const deleteBasicFaultType = async (id: number) => {
// 导出故障类型 Excel
export const exportBasicFaultType = async (params) => {
if (params.isSearch) {
const data = {...params}
return await request.downloadPost({ url: `/eam/basic-fault-type/export-excel-senior`, data })
}else{
return await request.download({ url: `/eam/basic-fault-type/export-excel`, params })
}
}
// 下载用户导入模板

5
src/api/eam/equipmentMainPart/index.ts

@ -48,7 +48,12 @@ export const deleteEquipmentMainPart = async (id: number) => {
// 导出主要部件 Excel
export const exportEquipmentMainPart = async (params) => {
if (params.isSearch) {
const data = {...params}
return await request.downloadPost({ url: `/eam/equipment-main-part/export-excel-senior`, data })
}else{
return await request.download({ url: `/eam/equipment-main-part/export-excel`, params })
}
}
// 下载用户导入模板

5
src/api/eam/equipmentManufacturer/index.ts

@ -54,7 +54,12 @@ export const deleteEquipmentManufacturer = async (id: number) => {
// 导出设备制造商 Excel
export const exportEquipmentManufacturer = async (params) => {
if (params.isSearch) {
const data = { ...params }
return await request.downloadPost({ url: `/eam/basic/equipment-manufacturer/export-excel-senior`, data })
} else {
return await request.download({ url: `/eam/basic/equipment-manufacturer/export-excel`, params })
}
}
// 下载用户导入模板

5
src/api/eam/equipmentSupplier/index.ts

@ -54,7 +54,12 @@ export const deleteEquipmentSupplier = async (id: number) => {
// 导出供应商 Excel
export const exportEquipmentSupplier = async (params) => {
if (params.isSearch) {
const data = { ...params }
return await request.downloadPost({ url: `/eam/basic/equipment-supplier/export-excel-senior`, data })
} else {
return await request.download({ url: `/eam/basic/equipment-supplier/export-excel`, params })
}
}
// 下载用户导入模板

62
src/api/eam/inspectionItem/index.ts

@ -0,0 +1,62 @@
import request from '@/config/axios'
export interface InspectionItemVO {
id: number
content: string
equipmentParts: string
serialNumber: number
category: string
departmentCode: string
remark: string
siteId: string
available: string
deletionTime: Date
deleterId: byte[]
concurrencyStamp: number
}
// 查询巡检项列表
export const getInspectionItemPage = async (params) => {
if (params.isSearch) {
delete params.isSearch
const data = {...params}
return await request.post({ url: '/eam/basic/inspection-item/senior', data })
} else {
return await request.get({ url: `/eam/basic/inspection-item/page`, params })
}
}
// 查询巡检项详情
export const getInspectionItem = async (id: number) => {
return await request.get({ url: `/eam/basic/inspection-item/get?id=` + id })
}
// 新增巡检项
export const createInspectionItem = async (data: InspectionItemVO) => {
return await request.post({ url: `/eam/basic/inspection-item/create`, data })
}
// 修改巡检项
export const updateInspectionItem = async (data: InspectionItemVO) => {
return await request.put({ url: `/eam/basic/inspection-item/update`, data })
}
// 删除巡检项
export const deleteInspectionItem = async (id: number) => {
return await request.delete({ url: `/eam/basic/inspection-item/delete?id=` + id })
}
// 导出巡检项 Excel
export const exportInspectionItem = async (params) => {
if (params.isSearch) {
const data = { ...params }
return await request.downloadPost({ url: `/eam/basic/inspection-item/export-excel-senior`, data })
} else {
return await request.download({ url: `/eam/basic/inspection-item/export-excel`, params })
}
}
// 下载用户导入模板
export const importTemplate = () => {
return request.download({ url: '/eam/basic/inspection-item/get-import-template' })
}

62
src/api/eam/spotCheckItem/index.ts

@ -0,0 +1,62 @@
import request from '@/config/axios'
export interface SpotCheckItemVO {
id: number
content: string
equipmentParts: string
serialNumber: number
departmentCode: string
remark: string
siteId: string
available: string
deletionTime: Date
deleterId: byte[]
concurrencyStamp: number
}
// 查询点检项列表
export const getSpotCheckItemPage = async (params) => {
if (params.isSearch) {
delete params.isSearch
const data = {...params}
return await request.post({ url: '/eam/basic/spot-check-item/senior', data })
} else {
return await request.get({ url: `/eam/basic/spot-check-item/page`, params })
}
}
// 查询点检项详情
export const getSpotCheckItem = async (id: number) => {
return await request.get({ url: `/eam/basic/spot-check-item/get?id=` + id })
}
// 新增点检项
export const createSpotCheckItem = async (data: SpotCheckItemVO) => {
return await request.post({ url: `/eam/basic/spot-check-item/create`, data })
}
// 修改点检项
export const updateSpotCheckItem = async (data: SpotCheckItemVO) => {
return await request.put({ url: `/eam/basic/spot-check-item/update`, data })
}
// 删除点检项
export const deleteSpotCheckItem = async (id: number) => {
return await request.delete({ url: `/eam/basic/spot-check-item/delete?id=` + id })
}
// 导出点检项 Excel
export const exportSpotCheckItem = async (params) => {
if (params.isSearch) {
delete params.isSearch
const data = { ...params }
return await request.downloadPost({ url: `/eam/basic/spot-check-item/export-excel-senior`, data })
} else {
return await request.download({ url: `/eam/basic/spot-check-item/export-excel`, params })
}
}
// 下载用户导入模板
export const importTemplate = () => {
return request.download({ url: '/eam/basic/spot-check-item/get-import-template' })
}

6
src/api/qms/inspectionJob/inspectionJobMain/index.ts

@ -51,12 +51,14 @@ export const abandonInspectionJobMain = async (id) => {
export const closeInspectionJobMain = async (id) => {
return await request.put({ url: `/qms/inspection-job-main/close?id=` + id })
}
// 发布检验任务
export const releaseInspectionJobMain = async (id) => {
return await request.put({ url: `/qms/inspection-job-main/release?id=` + id })
}
// 导出检验申请 Excel
export const exportInspectionJobMain = async (params) => {
return await request.download({ url: `/qms/inspection-job-main/export-excel`, params })
}
// 下载用户导入模板
export const importTemplate = () => {
return request.download({ url: '/qms/inspection-job-main/get-import-template' })

2
src/components/Annex/src/Annex.vue

@ -3,7 +3,7 @@
<div class="annex">
<div class="title flex items-center">
<!-- <div class="title-txt">附件</div> -->
<UploadFile :isShowFile="false" :isShowTip="false" :fileType="fileType" title="添加附件" :upData="upData" :limit="10"
<UploadFile :isShowFile="false" :isShowTip="false" :fileType="fileType" :title="t('ts.添加附件')" :upData="upData" :limit="10"
@update:modelValue="handleAnnexSuccess" v-if="annexData.annexList.length<5"/>
</div>
<div class="list">

5
src/components/Descriptions/src/Descriptions.vue

@ -5,6 +5,7 @@ import { useDesign } from '@/hooks/web/useDesign'
import { propTypes } from '@/utils/propTypes'
import { useAppStore } from '@/store/modules/app'
import { DescriptionsSchema } from '@/types/descriptions'
const { t } = useI18n() //
defineOptions({ name: 'Descriptions' })
@ -99,7 +100,7 @@ const showAll = () =>{
>
<div :class="[`${prefixCls}-header__title`, 'relative font-18px font-bold ml-10px']">
<div class="flex items-center">
{{ title }}
{{ t(`ts.${title}`).replace('ts.', '') }}
<ElTooltip v-if="message" :content="message" placement="right">
<Icon class="ml-5px" icon="ep:warning" />
</ElTooltip>
@ -133,7 +134,7 @@ const showAll = () =>{
:row="{
label: item.label
}"
>{{ item.label }}
>{{ t(`ts.${item.label}`).replace('ts.', '') }}
</slot>
</template>

4
src/components/Detail/src/Detail.vue

@ -2,14 +2,14 @@
<div>
<el-drawer
v-model="isShowDrawer"
title="详情"
:title="t(`ts.详情`).replace('ts.','')"
direction="rtl"
size="80%"
v-loading="detailLoading"
>
<template #header>
<div class="font-size-18px">
{{ titleValueRef }} <span class="ml-20px font-size-16px">{{ titleNameRef }}</span>
{{ titleValueRef }} <span class="ml-20px font-size-16px">{{ t(`ts.${titleNameRef}`).replace('ts.','') }}</span>
</div>
</template>
<Tabs ref="tabRef" :tabsList="tabsList" :current="current" @change="change" />

5
src/components/DictTag/src/DictTag.vue

@ -3,6 +3,7 @@ import { defineComponent, PropType, ref } from 'vue'
import { isHexColor } from '@/utils/color'
import { ElTag } from 'element-plus'
import { DictDataType, getDictOptions } from '@/utils/dict'
const { t } = useI18n() //
export default defineComponent({
name: 'DictTag',
@ -55,7 +56,7 @@ export default defineComponent({
}
disableTransitions={true}
>
{dictData.value?.label}
{t(`ts.${dictData.value?.label}`).replace('ts.', '')}
</ElTag>
)
} else {
@ -71,7 +72,7 @@ export default defineComponent({
}
disableTransitions={true}
>
{item?.label}
{t(`ts.${item?.label}`).replace('ts.', '')}
</ElTag>
})
)

5
src/components/Remarks/src/Remarks.vue

@ -20,9 +20,9 @@
</div>
</div>
<div class="add-remarks flex items-center mt-20px">
<el-input v-model="data.remark" placeholder="请输入备注" />
<el-input v-model="data.remark" :placeholder="t('ts.请输入备注')" />
<el-button class="ml-16px" type="primary" @click="handleSubmitrRemarks" >
确定
{{t('ts.确定')}}
</el-button>
</div>
</div>
@ -32,6 +32,7 @@
const message = useMessage() //
import * as RemarkApi from '@/api/wms/remark'
import { formatDate } from '@/utils/formatTime'
const { t } = useI18n() //
defineComponent({
name: 'Annex'

2
src/components/TableForm/src/TableForm.vue

@ -303,7 +303,7 @@
<div class="button flex" v-if="isShowButton">
<div class="p-12px" @click="handleAddTable">
<Icon icon="ep:circle-plus" color="#409eff" size="26" style="cursor: pointer;" />
<div>添加明细</div>
<div>{{t('ts.添加明细')}}</div>
</div>
</div>
</div>

3
src/components/Tabs/src/Tabs.vue

@ -1,7 +1,7 @@
<!-- tabs组件 -->
<template>
<div class="tabs flex items-center">
<div :class="current == index ? 'active' : ''" v-for="(item, index) in tabsList" :key="index" @click="change(item, index)">{{ item.label }}</div>
<div :class="current == index ? 'active' : ''" v-for="(item, index) in tabsList" :key="index" @click="change(item, index)">{{ t(`ts.${item.label}`).replace('ts.','') }}</div>
</div>
</template>
@ -9,6 +9,7 @@
// const message = useMessage() //
import { emit } from "process";
const { t } = useI18n() //
// const { t } = useI18n() //
defineComponent({

15
src/components/UploadFile/src/UploadFile.vue

@ -42,6 +42,7 @@ import { PropType } from 'vue'
import { propTypes } from '@/utils/propTypes'
import { getAccessToken, getTenantId } from '@/utils/auth'
import type { UploadInstance, UploadUserFile, UploadProps, UploadRawFile } from 'element-plus'
const { t } = useI18n() //
defineOptions({ name: 'UploadFile' })
@ -78,7 +79,7 @@ const uploadHeaders = ref({
//
const beforeUpload: UploadProps['beforeUpload'] = (file: UploadRawFile) => {
if (fileList.value.length >= props.limit) {
message.error(`上传文件数量不能超过${props.limit}!`)
message.error(`${t('ts.上传文件数量不能超过')}${props.limit}!`)
return false
}
let fileExtension = ''
@ -91,14 +92,14 @@ const beforeUpload: UploadProps['beforeUpload'] = (file: UploadRawFile) => {
})
const isLimit = file.size < props.fileSize * 1024 * 1024
if (!isImg) {
message.error(`文件格式不正确, 请上传${props.fileType.join('/')}格式!`)
message.error(`${t(`ts.${'文件格式不正确, 请上传'}`)}${props.fileType.join('/')}${t('ts.格式')}!`)
return false
}
if (!isLimit) {
message.error(`上传文件大小不能超过${props.fileSize}MB!`)
message.error(`${t('ts.上传文件大小不能超过')}${props.fileSize}MB!`)
return false
}
message.success('正在上传文件,请稍候...')
message.success(t(`ts.${'正在上传文件,请稍候'}`))
uploadNumber.value++
}
//
@ -107,7 +108,7 @@ const beforeUpload: UploadProps['beforeUpload'] = (file: UploadRawFile) => {
// }
//
const handleFileSuccess: UploadProps['onSuccess'] = (res: any,uploadFile: any): void => {
message.success('上传成功')
message.success(t('ts.上传成功'))
const fileListNew = fileList.value
fileListNew.pop()
fileList.value = fileListNew
@ -121,11 +122,11 @@ const handleFileSuccess: UploadProps['onSuccess'] = (res: any,uploadFile: any):
}
//
const handleExceed: UploadProps['onExceed'] = (): void => {
message.error(`上传文件数量不能超过${props.limit}!`)
message.error(`${t('ts.上传文件数量不能过')}${props.limit}!`)
}
//
const excelUploadError: UploadProps['onError'] = (): void => {
message.error('导入数据失败,请您重新上传!')
message.error(t(`ts.导入数据失败,请您重新上传`))
}
//
const handleRemove = (file) => {

24
src/locales/en-US.ts

@ -1063,6 +1063,30 @@ export default {
:'Purchasing price approver',
:'Supplier\'s invoice number',
:'loading',
:'Please enter remarks',
'正在上传文件,请稍候':'Please wait while uploading files',
:'upload successful',
:'The number of uploaded files cannot exceed',
'导入数据失败,请您重新上传':'Failed to import data, please upload again!',
:'The size of the uploaded file cannot exceed',
'文件格式不正确, 请上传':'The file format is incorrect. Please upload it in',
:'format',
:'consignee',
:'phone',
:'delivery date',
:'Platform code',
:'Deadline',
:'Warehouse code',
'ERP单据号(无用)':'ERP document number (useless)',
:'Supplier approver',
:'Supplier approval time',
:'courier number',
:'Invoicing calendar management',
:'description'
},

24
src/locales/zh-CN.ts

@ -1063,6 +1063,30 @@ export default {
:'采购价格审批人',
:'供应商发货单号',
:'加载中',
:'请输入备注',
'正在上传文件,请稍候':'正在上传文件,请稍候...',
:'上传成功',
:'上传文件数量不能超过',
'导入数据失败,请您重新上传':'导入数据失败,请您重新上传!',
:'上传文件大小不能超过',
'文件格式不正确, 请上传':'文件格式不正确, 请上传',
:'格式',
:'收货人',
:'联系电话',
:'送达日期',
:'月台代码',
:'截止日期',
:'仓库代码',
'ERP单据号(无用)':'ERP单据号(无用)',
:'供应商审批人',
:'供应商审批时间',
:'快递单号',
:'开票日历管理',
:'描述'
},

4
src/utils/dict.ts

@ -337,4 +337,8 @@ export enum DICT_TYPE {
INTERFACE_STATUS = 'interfaceStatus', // 接口调用信息 接口状态
SYSTEM_DAY = 'system_day', // 系统天数
PURCHASE_INVOICE_ORDER_TYPE = 'purchase_invoice_order_type', // 发票采购订单类型
// ========== eam - 业务 - ==========
DEVICE_TYPE = 'device_type', // 设备类型
}

2
src/utils/disposition/defaultButtons.ts

@ -269,7 +269,7 @@ export function mainListEnableBtn(option:any) {
label: t(`ts.启用`).replace('ts.', ''),
name: 'enable',
hide: false,
type: 'danger',
type: 'success',
color: '',
link: true, // 文本展现按钮
hasPermi: ''

20
src/views/eam/basicDocumentType/basicDocumentType.data.ts

@ -35,7 +35,12 @@ export const DocumentType = useCrudSchemas(reactive<CrudSchema[]>([
label: '类型设备',
field: 'type',
sort: 'custom',
dictType: DICT_TYPE.DEVICE_TYPE,
dictClass: 'string', // 默认都是字符串类型其他暂不考虑
isSearch: true,
form: {
component: 'Select'
}
},
{
label: '创建时间',
@ -81,14 +86,13 @@ export const DocumentType = useCrudSchemas(reactive<CrudSchema[]>([
label: '是否可用',
field: 'available',
sort: 'custom',
form: {
component: 'Switch',
value: 'TRUE',
componentProps: {
inactiveValue: 'FALSE',
activeValue: 'TRUE'
}
},
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string', // 默认都是字符串类型其他暂不考虑
isTable: true,
isDetail: false,
isSearch: false,
isTableForm: false,
isForm: false,
},
{
label: '删除时间',

15
src/views/eam/basicFaultCause/basicFaultCause.data.ts

@ -92,14 +92,13 @@ export const BasicFaultCause = useCrudSchemas(reactive<CrudSchema[]>([
label: '是否可用',
field: 'available',
sort: 'custom',
form: {
component: 'Switch',
value: 'TRUE',
componentProps: {
inactiveValue: 'FALSE',
activeValue: 'TRUE'
}
},
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string', // 默认都是字符串类型其他暂不考虑
isTable: true,
isDetail: false,
isSearch: false,
isTableForm: false,
isForm: false,
},
{
label: '删除时间',

15
src/views/eam/basicFaultType/basicFaultType.data.ts

@ -79,14 +79,13 @@ export const BasicFaultType = useCrudSchemas(reactive<CrudSchema[]>([
label: '是否可用',
field: 'available',
sort: 'custom',
form: {
component: 'Switch',
value: 'TRUE',
componentProps: {
inactiveValue: 'FALSE',
activeValue: 'TRUE'
}
},
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string', // 默认都是字符串类型其他暂不考虑
isTable: true,
isDetail: false,
isSearch: false,
isTableForm: false,
isForm: false,
},
{
label: '删除时间',

2
src/views/eam/basicInspectionOption/basicInspectionOption.data.ts

@ -51,7 +51,7 @@ export const BasicInspectionOption = useCrudSchemas(reactive<CrudSchema[]>([
},
},
{
label: '来源于类型配置',
label: '巡检项',
field: 'type',
sort: 'custom',
isSearch: true,

2
src/views/eam/basicMaintenanceOption/basicMaintenanceOption.data.ts

@ -51,7 +51,7 @@ export const BasicMaintenanceOption = useCrudSchemas(reactive<CrudSchema[]>([
},
},
{
label: '来源于类型配置',
label: '保养项',
field: 'type',
sort: 'custom',
isSearch: true,

25
src/views/eam/equipmentMainPart/equipmentMainPart.data.ts

@ -31,10 +31,15 @@ export const EquipmentMainPart = useCrudSchemas(reactive<CrudSchema[]>([
isSearch: true,
},
{
label: '设备工装枚举',
label: '类型',
field: 'type',
sort: 'custom',
dictType: DICT_TYPE.DEVICE_TYPE,
dictClass: 'string', // 默认都是字符串类型其他暂不考虑
isSearch: true,
form: {
component: 'Select'
}
},
{
label: '创建时间',
@ -77,18 +82,16 @@ export const EquipmentMainPart = useCrudSchemas(reactive<CrudSchema[]>([
isDetail:false,
},
{
label: '是否用',
label: '是否用',
field: 'available',
sort: 'custom',
isSearch: true,
form: {
component: 'Switch',
value: 'TRUE',
componentProps: {
inactiveValue: 'FALSE',
activeValue: 'TRUE'
}
},
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string', // 默认都是字符串类型其他暂不考虑
isTable: true,
isDetail: false,
isSearch: false,
isTableForm: false,
isForm: false,
},
{
label: '删除时间',

40
src/views/eam/equipmentManufacturer/equipmentManufacturer.data.ts

@ -82,7 +82,10 @@ export const EquipmentManufacturer = useCrudSchemas(reactive<CrudSchema[]>([
label: '部门',
field: 'departmentCode',
sort: 'custom',
isSearch: true,
isTable: false,
isDetail: false,
isSearch: false,
isTableForm: false,
form: {
component: 'TreeSelect',
componentProps: { // 假设deptList是部门数据列表
@ -93,6 +96,18 @@ export const EquipmentManufacturer = useCrudSchemas(reactive<CrudSchema[]>([
}
}
},
{
label: '是否启用',
field: 'available',
sort: 'custom',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string', // 默认都是字符串类型其他暂不考虑
isTable: true,
isDetail: false,
isSearch: false,
isTableForm: false,
isForm: false,
},
{
label: '备注',
field: 'remark',
@ -105,28 +120,7 @@ export const EquipmentManufacturer = useCrudSchemas(reactive<CrudSchema[]>([
}
}
},
{
label: '是否可用',
field: 'available',
sort: 'custom',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string', // 默认都是字符串类型其他暂不考虑
isSearch: true,
form: {
component: 'Switch',
value: 'TRUE',
componentProps: {
inactiveValue: 'FALSE',
activeValue: 'TRUE'
}
},
search: {
component: 'Select',
},
table: {
width: 110
}
},
{
label: '操作',
field: 'action',

33
src/views/eam/equipmentManufacturer/index.vue

@ -33,7 +33,7 @@
</el-button>
</template>
<template #action="{ row }">
<ButtonBase :Butttondata="butttondata" @button-base-click="buttonTableClick($event,row)" />
<ButtonBase :Butttondata="butttondata(row)" @button-base-click="buttonTableClick($event,row)" />
</template>
</Table>
</ContentWrap>
@ -90,6 +90,15 @@ const updataTableColumns = (val) => {
tableColumns.value = val
}
const judgeStatus = (row) =>{
if(row.available === 'TRUE'){
return true
}else{
return false
}
}
const { tableObject, tableMethods } = useTable({
getListApi: EquipmentManufacturerApi.getEquipmentManufacturerPage //
})
@ -132,10 +141,13 @@ const buttonBaseClick = (val, item) => {
}
// -
const butttondata = [
const butttondata = (row) => {
return [
defaultButtons.mainListEditBtn({hasPermi:'eam:equipment-manufacturer:update'}), //
defaultButtons.mainListEnableBtn({hasPermi:'eam:inspection-item:enable',hide: judgeStatus(row)}), //
defaultButtons.mainListDisableBtn({hasPermi:'eam:inspection-item:disable',hide: !judgeStatus(row)}), //
// defaultButtons.mainListDeleteBtn({hasPermi:'eam:equipment-manufacturer:delete'}), //
]
]}
// -
const buttonTableClick = async (val, row) => {
@ -143,6 +155,10 @@ const buttonTableClick = async (val, row) => {
openForm('update', row)
} else if (val == 'delete') { //
handleDelete(row.id)
} else if (val == 'enable') { //
handleEnable(row,'TRUE')
}else if (val == 'disable') {//
handleEnable(row,'FALSE')
}
}
@ -235,6 +251,17 @@ const searchFormClick = (searchData) => {
getList() //
}
const handleEnable = (row,enable) =>{
message.confirm(t('您确定'+(enable=='TRUE'?'启用':'禁用')+'该项吗, 是否继续?')).then(() => {
row.available = enable
EquipmentManufacturerApi.updateEquipmentManufacturer(row).then(res => {
message.success(t('common.updateSuccess'))
getList()
})
})
}
/** 初始化 **/
onMounted(async () => {
getList()

40
src/views/eam/equipmentSupplier/equipmentSupplier.data.ts

@ -88,7 +88,10 @@ export const EquipmentSupplier = useCrudSchemas(reactive<CrudSchema[]>([
label: '部门',
field: 'departmentCode',
sort: 'custom',
isSearch: true,
isTable: false,
isDetail: false,
isSearch: false,
isTableForm: false,
form: {
component: 'TreeSelect',
componentProps: { // 假设deptList是部门数据列表
@ -99,6 +102,18 @@ export const EquipmentSupplier = useCrudSchemas(reactive<CrudSchema[]>([
}
}
},
{
label: '是否启用',
field: 'available',
sort: 'custom',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string', // 默认都是字符串类型其他暂不考虑
isTable: true,
isDetail: false,
isSearch: false,
isTableForm: false,
isForm: false,
},
{
label: '备注',
field: 'remark',
@ -111,28 +126,7 @@ export const EquipmentSupplier = useCrudSchemas(reactive<CrudSchema[]>([
}
}
},
{
label: '是否可用',
field: 'available',
sort: 'custom',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string', // 默认都是字符串类型其他暂不考虑
isSearch: true,
form: {
component: 'Switch',
value: 'TRUE',
componentProps: {
inactiveValue: 'FALSE',
activeValue: 'TRUE'
}
},
search: {
component: 'Select',
},
table: {
width: 110
}
},
{
label: '操作',
field: 'action',

32
src/views/eam/equipmentSupplier/index.vue

@ -33,7 +33,7 @@
</el-button>
</template>
<template #action="{ row }">
<ButtonBase :Butttondata="butttondata" @button-base-click="buttonTableClick($event,row)" />
<ButtonBase :Butttondata="butttondata(row)" @button-base-click="buttonTableClick($event,row)" />
</template>
</Table>
</ContentWrap>
@ -90,6 +90,15 @@ const updataTableColumns = (val) => {
tableColumns.value = val
}
const judgeStatus = (row) =>{
if(row.available === 'TRUE'){
return true
}else{
return false
}
}
const { tableObject, tableMethods } = useTable({
getListApi: EquipmentSupplierApi.getEquipmentSupplierPage //
})
@ -132,10 +141,13 @@ const buttonBaseClick = (val, item) => {
}
// -
const butttondata = [
const butttondata = (row) => {
return [
defaultButtons.mainListEditBtn({hasPermi:'eam:equipment-supplier:update'}), //
defaultButtons.mainListEnableBtn({hasPermi:'eam:inspection-item:enable',hide: judgeStatus(row)}), //
defaultButtons.mainListDisableBtn({hasPermi:'eam:inspection-item:disable',hide: !judgeStatus(row)}), //
// defaultButtons.mainListDeleteBtn({hasPermi:'eam:equipment-supplier:delete'}), //
]
]}
// -
const buttonTableClick = async (val, row) => {
@ -143,6 +155,10 @@ const buttonTableClick = async (val, row) => {
openForm('update', row)
} else if (val == 'delete') { //
handleDelete(row.id)
} else if (val == 'enable') { //
handleEnable(row,'TRUE')
}else if (val == 'disable') {//
handleEnable(row,'FALSE')
}
}
@ -235,6 +251,16 @@ const searchFormClick = (searchData) => {
getList() //
}
const handleEnable = (row,enable) =>{
message.confirm(t('您确定'+(enable=='TRUE'?'启用':'禁用')+'该项吗, 是否继续?')).then(() => {
row.available = enable
EquipmentSupplierApi.updateEquipmentSupplier(row).then(res => {
message.success(t('common.updateSuccess'))
getList()
})
})
}
/** 初始化 **/
onMounted(async () => {
getList()

271
src/views/eam/inspectionItem/index.vue

@ -0,0 +1,271 @@
<template>
<ContentWrap>
<!-- 搜索工作栏 -->
<Search :schema="InspectionItem.allSchemas.searchSchema" @search="setSearchParams" @reset="setSearchParams" />
</ContentWrap>
<!-- 列表头部 -->
<TableHead
:HeadButttondata="HeadButttondata"
@button-base-click="buttonBaseClick"
:routeName="routeName"
@updataTableColumns="updataTableColumns"
@searchFormClick="searchFormClick"
:allSchemas="InspectionItem.allSchemas"
/>
<!-- 列表 -->
<ContentWrap>
<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"
>
<template #code="{row}">
<el-button type="primary" link @click="openDetail(row, '代码', row.code)">
<span>{{ row.code }}</span>
</el-button>
</template>
<template #action="{ row }">
<ButtonBase :Butttondata="butttondata(row)" @button-base-click="buttonTableClick($event,row)" />
</template>
</Table>
</ContentWrap>
<!-- 表单弹窗添加/修改 -->
<BasicForm
ref="basicFormRef"
@success="formsSuccess"
:rules="InspectionItemRules"
:formAllSchemas="InspectionItem.allSchemas"
:apiUpdate="InspectionItemApi.updateInspectionItem"
:apiCreate="InspectionItemApi.createInspectionItem"
@searchTableSuccess="searchTableSuccess"
:isBusiness="false"
/>
<!-- 详情 -->
<Detail ref="detailRef" :isBasic="true" :allSchemas="InspectionItem.allSchemas" />
<!-- 导入 -->
<ImportForm ref="importFormRef" url="/eam/basic/inspection-item/import" :importTemplateData="importTemplateData" @success="importSuccess" />
</template>
<script setup lang="ts">
import download from '@/utils/download'
import { InspectionItem,InspectionItemRules } from './inspectionItem.data'
import * as InspectionItemApi from '@/api/eam/inspectionItem'
import * as defaultButtons from '@/utils/disposition/defaultButtons'
import TableHead from '@/components/TableHead/src/TableHead.vue'
import ImportForm from '@/components/ImportForm/src/ImportForm.vue'
import Detail from '@/components/Detail/src/Detail.vue'
defineOptions({ name: 'InspectionItem' })
const message = useMessage() //
const { t } = useI18n() //
const route = useRoute() //
const routeName = ref()
routeName.value = route.name
const tableColumns = ref(InspectionItem.allSchemas.tableColumns)
//
const searchTableSuccess = (formField, searchField, val, formRef) => {
nextTick(() => {
const setV = {}
setV[formField] = val[0][searchField]
formRef.setValues(setV)
})
}
//
const updataTableColumns = (val) => {
tableColumns.value = val
}
const judgeStatus = (row) =>{
if(row.available === 'TRUE'){
return true
}else{
return false
}
}
const { tableObject, tableMethods } = useTable({
getListApi: InspectionItemApi.getInspectionItemPage //
})
//
const { getList, setSearchParams } = tableMethods
//
const HeadButttondata = [
defaultButtons.defaultAddBtn({hasPermi:'eam:inspection-item:create'}), //
defaultButtons.defaultImportBtn({hasPermi:'eam:inspection-item:import'}), //
defaultButtons.defaultExportBtn({hasPermi:'eam:inspection-item: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 butttondata = (row) => {
return [
defaultButtons.mainListEditBtn({hasPermi:'eam:inspection-item:update'}), //
defaultButtons.mainListEnableBtn({hasPermi:'eam:inspection-item:enable',hide: judgeStatus(row)}), //
defaultButtons.mainListDisableBtn({hasPermi:'eam:inspection-item:disable',hide: !judgeStatus(row)}), //
// defaultButtons.mainListDeleteBtn({hasPermi:'eam:inspection-item:delete'}), //
]
}
// -
const buttonTableClick = async (val, row) => {
if (val == 'edit') { //
openForm('update', row)
} else if (val == 'delete') { //
handleDelete(row.id)
} else if (val == 'enable') { //
handleEnable(row,'TRUE')
}else if (val == 'disable') {//
handleEnable(row,'FALSE')
}
}
/** 添加/修改操作 */
const basicFormRef = ref()
const openForm = (type: string, row?: any) => {
basicFormRef.value.open(type, row)
}
// form
const formsSuccess = async (formType,data) => {
var isHave =InspectionItem.allSchemas.formSchema.some(function (item) {
return item.field === 'activeTime' || item.field === 'expireTime';
});
if(isHave){
if(data.activeTime && data.expireTime && data.activeTime >=data.expireTime){
message.error('失效时间要大于生效时间')
return;
}
}
if(data.activeTime==0)data.activeTime = null;
if(data.expireTime==0)data.expireTime = null;
if (formType === 'create') {
await InspectionItemApi.createInspectionItem(data)
message.success(t('common.createSuccess'))
} else {
await InspectionItemApi.updateInspectionItem(data)
message.success(t('common.updateSuccess'))
}
basicFormRef.value.dialogVisible = false
getList()
}
/** 详情操作 */
const detailRef = ref()
const openDetail = (row: any, titleName: any, titleValue: any) => {
detailRef.value.openDetail(row, titleName, titleValue, 'basicInspectionItem')
}
/** 删除按钮操作 */
const handleDelete = async (id: number) => {
try {
//
await message.delConfirm()
//
await InspectionItemApi.deleteInspectionItem(id)
message.success(t('common.delSuccess'))
//
await getList()
} catch {}
}
/** 导出按钮操作 */
const exportLoading = ref(false) //
const handleExport = async () => {
try {
//
await message.exportConfirm()
//
exportLoading.value = true
const data = await InspectionItemApi.exportInspectionItem(tableObject.params)
download.excel(data, '巡检项.xlsx')
} catch {
} finally {
exportLoading.value = 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
}
getList() //
}
const handleEnable = (row,enable) =>{
message.confirm(t('您确定'+(enable=='TRUE'?'启用':'禁用')+'该项吗, 是否继续?')).then(() => {
row.available = enable
InspectionItemApi.updateInspectionItem(row).then(res => {
message.success(t('common.updateSuccess'))
getList()
})
})
}
/** 初始化 **/
onMounted(async () => {
getList()
importTemplateData.templateUrl = await InspectionItemApi.importTemplate()
})
</script>

110
src/views/eam/inspectionItem/inspectionItem.data.ts

@ -0,0 +1,110 @@
import type { CrudSchema } from '@/hooks/web/useCrudSchemas'
import { dateFormatter } from '@/utils/formatTime'
import { handleTreeToComponentOptions } from '@/utils/tree'
import * as DeptApi from '@/api/system/dept'
const deptList = ref<Tree[]>([]) // 树形结构
// 加载部门树(默认格式)
deptList.value = handleTreeToComponentOptions(await DeptApi.getSimpleDeptList())
// 表单校验
export const InspectionItemRules = reactive({
content: [required],
serialNumber: [required],
concurrencyStamp: [required],
type: [required],
})
export const InspectionItem = useCrudSchemas(reactive<CrudSchema[]>([
{
label: '巡检内容',
field: 'content',
sort: 'custom',
isSearch: true,
form: {
component: 'Input',
componentProps: {
type: 'textarea'
}
}
},
{
label: '保养部位',
field: 'equipmentParts',
sort: 'custom',
isSearch: true
},
{
label: '类别',
field: 'category',
sort: 'custom',
isSearch: true
},
{
label: '序号',
field: 'serialNumber',
sort: 'custom',
isSearch: true,
fixed: 'left',
form: {
component:'InputNumber'
},
},
{
label: '来源于类型配置',
field: 'type',
sort: 'custom',
dictType: DICT_TYPE.DEVICE_TYPE,
dictClass: 'string', // 默认都是字符串类型其他暂不考虑
isSearch: true,
form: {
component: 'Select'
}
},
{
label: '部门',
field: 'departmentCode',
sort: 'custom',
isTable: false,
isDetail: false,
isSearch: false,
isTableForm: false,
form: {
component: 'TreeSelect',
componentProps: { // 假设deptList是部门数据列表
data: deptList,
placeholder: "请选择部门",
filterable: true,
// multiple: true,
}
}
},
{
label: '是否启用',
field: 'available',
sort: 'custom',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string', // 默认都是字符串类型其他暂不考虑
isTable: true,
isDetail: false,
isSearch: false,
isTableForm: false,
isForm: false,
},
{
label: '备注',
field: 'remark',
sort: 'custom',
isSearch: true
},
{
label: '操作',
field: 'action',
isForm: false,
table: {
width: 150,
fixed: 'right'
}
}
]))

270
src/views/eam/spotCheckItem/index.vue

@ -0,0 +1,270 @@
<template>
<ContentWrap>
<!-- 搜索工作栏 -->
<Search :schema="SpotCheckItem.allSchemas.searchSchema" @search="setSearchParams" @reset="setSearchParams" />
</ContentWrap>
<!-- 列表头部 -->
<TableHead
:HeadButttondata="HeadButttondata"
@button-base-click="buttonBaseClick"
:routeName="routeName"
@updataTableColumns="updataTableColumns"
@searchFormClick="searchFormClick"
:allSchemas="SpotCheckItem.allSchemas"
/>
<!-- 列表 -->
<ContentWrap>
<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"
>
<template #code="{row}">
<el-button type="primary" link @click="openDetail(row, '代码', row.code)">
<span>{{ row.code }}</span>
</el-button>
</template>
<template #action="{ row }">
<ButtonBase :Butttondata="butttondata(row)" @button-base-click="buttonTableClick($event,row)" />
</template>
</Table>
</ContentWrap>
<!-- 表单弹窗添加/修改 -->
<BasicForm
ref="basicFormRef"
@success="formsSuccess"
:rules="SpotCheckItemRules"
:formAllSchemas="SpotCheckItem.allSchemas"
:apiUpdate="SpotCheckItemApi.updateSpotCheckItem"
:apiCreate="SpotCheckItemApi.createSpotCheckItem"
@searchTableSuccess="searchTableSuccess"
:isBusiness="false"
/>
<!-- 详情 -->
<Detail ref="detailRef" :isBasic="true" :allSchemas="SpotCheckItem.allSchemas" />
<!-- 导入 -->
<ImportForm ref="importFormRef" url="/eam/basic/spot-check-item/import" :importTemplateData="importTemplateData" @success="importSuccess" />
</template>
<script setup lang="ts">
import download from '@/utils/download'
import { SpotCheckItem,SpotCheckItemRules } from './spotCheckItem.data'
import * as SpotCheckItemApi from '@/api/eam/spotCheckItem'
import * as defaultButtons from '@/utils/disposition/defaultButtons'
import TableHead from '@/components/TableHead/src/TableHead.vue'
import ImportForm from '@/components/ImportForm/src/ImportForm.vue'
import Detail from '@/components/Detail/src/Detail.vue'
defineOptions({ name: 'SpotCheckItem' })
const message = useMessage() //
const { t } = useI18n() //
const route = useRoute() //
const routeName = ref()
routeName.value = route.name
const tableColumns = ref(SpotCheckItem.allSchemas.tableColumns)
//
const searchTableSuccess = (formField, searchField, val, formRef) => {
nextTick(() => {
const setV = {}
setV[formField] = val[0][searchField]
formRef.setValues(setV)
})
}
//
const updataTableColumns = (val) => {
tableColumns.value = val
}
const judgeStatus = (row) =>{
if(row.available === 'TRUE'){
return true
}else{
return false
}
}
const { tableObject, tableMethods } = useTable({
getListApi: SpotCheckItemApi.getSpotCheckItemPage //
})
//
const { getList, setSearchParams } = tableMethods
//
const HeadButttondata = [
defaultButtons.defaultAddBtn({hasPermi:'eam:spot-check-item:create'}), //
defaultButtons.defaultImportBtn({hasPermi:'eam:spot-check-item:import'}), //
defaultButtons.defaultExportBtn({hasPermi:'eam:spot-check-item: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 butttondata = (row) => {
return [
defaultButtons.mainListEditBtn({hasPermi:'eam:spot-check-item:update'}), //
defaultButtons.mainListEnableBtn({hasPermi:'eam:spot-check-item:enable',hide: judgeStatus(row)}), //
defaultButtons.mainListDisableBtn({hasPermi:'eam:spot-check-item:disable',hide: !judgeStatus(row)}), //
// defaultButtons.mainListDeleteBtn({hasPermi:'eam:spot-check-item:delete'}), //
]}
// -
const buttonTableClick = async (val, row) => {
if (val == 'edit') { //
openForm('update', row)
} else if (val == 'delete') { //
handleDelete(row.id)
} else if (val == 'enable') { //
handleEnable(row,'TRUE')
}else if (val == 'disable') {//
handleEnable(row,'FALSE')
}
}
/** 添加/修改操作 */
const basicFormRef = ref()
const openForm = (type: string, row?: any) => {
basicFormRef.value.open(type, row)
}
// form
const formsSuccess = async (formType,data) => {
var isHave =SpotCheckItem.allSchemas.formSchema.some(function (item) {
return item.field === 'activeTime' || item.field === 'expireTime';
});
if(isHave){
if(data.activeTime && data.expireTime && data.activeTime >=data.expireTime){
message.error('失效时间要大于生效时间')
return;
}
}
if(data.activeTime==0)data.activeTime = null;
if(data.expireTime==0)data.expireTime = null;
if (formType === 'create') {
await SpotCheckItemApi.createSpotCheckItem(data)
message.success(t('common.createSuccess'))
} else {
await SpotCheckItemApi.updateSpotCheckItem(data)
message.success(t('common.updateSuccess'))
}
basicFormRef.value.dialogVisible = false
getList()
}
/** 详情操作 */
const detailRef = ref()
const openDetail = (row: any, titleName: any, titleValue: any) => {
detailRef.value.openDetail(row, titleName, titleValue, 'basicSpotCheckItem')
}
/** 删除按钮操作 */
const handleDelete = async (id: number) => {
try {
//
await message.delConfirm()
//
await SpotCheckItemApi.deleteSpotCheckItem(id)
message.success(t('common.delSuccess'))
//
await getList()
} catch {}
}
/** 导出按钮操作 */
const exportLoading = ref(false) //
const handleExport = async () => {
try {
//
await message.exportConfirm()
//
exportLoading.value = true
const data = await SpotCheckItemApi.exportSpotCheckItem(tableObject.params)
download.excel(data, '点检项.xlsx')
} catch {
} finally {
exportLoading.value = 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
}
getList() //
}
const handleEnable = (row,enable) =>{
message.confirm(t('您确定'+(enable=='TRUE'?'启用':'禁用')+'该项吗, 是否继续?')).then(() => {
row.available = enable
SpotCheckItemApi.updateSpotCheckItem(row).then(res => {
message.success(t('common.updateSuccess'))
getList()
})
})
}
/** 初始化 **/
onMounted(async () => {
getList()
importTemplateData.templateUrl = await SpotCheckItemApi.importTemplate()
})
</script>

104
src/views/eam/spotCheckItem/spotCheckItem.data.ts

@ -0,0 +1,104 @@
import type { CrudSchema } from '@/hooks/web/useCrudSchemas'
import { dateFormatter } from '@/utils/formatTime'
import { handleTreeToComponentOptions } from '@/utils/tree'
import * as DeptApi from '@/api/system/dept'
const deptList = ref<Tree[]>([]) // 树形结构
// 加载部门树(默认格式)
deptList.value = handleTreeToComponentOptions(await DeptApi.getSimpleDeptList())
// 表单校验
export const SpotCheckItemRules = reactive({
content: [required],
serialNumber: [required],
concurrencyStamp: [required],
type: [required],
})
export const SpotCheckItem = useCrudSchemas(reactive<CrudSchema[]>([
{
label: '点检内容',
field: 'content',
sort: 'custom',
isSearch: true,
form: {
component: 'Input',
componentProps: {
type: 'textarea'
}
}
},
{
label: '点检部位',
field: 'equipmentParts',
sort: 'custom',
isSearch: true
},
{
label: '序号',
field: 'serialNumber',
sort: 'custom',
isSearch: true,
fixed: 'left',
form: {
component:'InputNumber'
},
},
{
label: '来源于类型配置',
field: 'type',
sort: 'custom',
dictType: DICT_TYPE.DEVICE_TYPE,
dictClass: 'string', // 默认都是字符串类型其他暂不考虑
isSearch: true,
form: {
component: 'Select'
}
},
{
label: '部门',
field: 'departmentCode',
sort: 'custom',
isTable: false,
isDetail: false,
isSearch: false,
isTableForm: false,
form: {
component: 'TreeSelect',
componentProps: { // 假设deptList是部门数据列表
data: deptList,
placeholder: "请选择部门",
filterable: true,
// multiple: true,
}
}
},
{
label: '是否启用',
field: 'available',
sort: 'custom',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string', // 默认都是字符串类型其他暂不考虑
isTable: true,
isDetail: false,
isSearch: false,
isTableForm: false,
isForm: false,
},
{
label: '备注',
field: 'remark',
sort: 'custom',
isSearch: true
},
{
label: '操作',
field: 'action',
isForm: false,
table: {
width: 150,
fixed: 'right'
}
}
]))

3
src/views/home/components/supplierIndex.vue

@ -231,7 +231,8 @@
import { set } from 'lodash-es'
import { EChartsOption } from 'echarts'
import { lineOptions, pieOptions } from '../echarts-data'
import { formatDate } from '@/utils/formatTime'
import { formatDate,dateFormatter } from '@/utils/formatTime'
import * as NotifyMessageApi from '@/api/system/notify/message'
import * as IndexApi from '@/api/home'
import { DICT_TYPE, getStrDictOptions } from '@/utils/dict'

33
src/views/mes/orderDay/components/schedule.vue

@ -201,7 +201,7 @@
</el-dialog>
</ContentWrap>
<template #footer>
<el-button @click="handleClose" >关闭</el-button>
<el-button @click="handleClose('dddddd')" >关闭</el-button>
<el-button type="primary" @click="publishPlan" >发布计划</el-button>
</template>
<SearchTable ref="searchTableRef" @search-table-success="searchTableSuccess" />
@ -471,18 +471,21 @@ const opensearchTable = (
)
}
const handleClose=()=>{
dialogVisible.value = false,
emit('close')
const handleClose=(val)=>{
dialogVisible.value = false
emit('close',val)
}
const publishPlan=()=>{
message.confirm("确认发布当前计划?","question").then(async () => {
message.confirm("确认发布当前计划?","提示").then( () => {
//isPublish.value=true
//loading.value = true,
try{formLoading.value=true
doPublishPlan() }finally{
try{
formLoading.value=true
let promise = doPublishPlan();
handleClose(promise)
}finally{
formLoading.value=false;
handleClose()
}
}).catch(() => {
@ -517,12 +520,14 @@ const doPublishPlan= ()=>{
let res = OrderDayApi.publishPlan(data)
res.then(()=>{
message.success("计划发布成功")
}).catch(()=>{
//console.log("---doPublishPlan-- 458--",res.msg)
message.error("计划发布失败!")
})
return res
// res.then(()=>{
// message.success("")
// }).catch(()=>{
// //console.log("---doPublishPlan-- 458--",res.msg)
// message.error("")
// })
}

36
src/views/mes/orderDay/index.vue

@ -199,9 +199,11 @@ const buttonBaseClick = (val, item) => {
console.log('其他按钮', item)
}
}
const publishClosed=()=>{
//console.log('orderday-publishClosed-200')
const publishClosed=(val)=>{
console.log('orderday-publishClosed-200',val)
nextTick?.(()=>{
getList()
})
}
//
@ -270,23 +272,22 @@ const openForm = (type: string, row?: any) => {
const formsSuccess = async (formType,data) => {
if (formType === 'create') {
let ret= OrderDayApi.createOrderDay(data)
if(ret===undefined || ret===null){
message.error(t('common.networkError'))
}else{
message.success(t('common.createSuccess'))
}
await OrderDayApi.createOrderDay(data)
// if(ret===undefined || ret===null){
// message.error(t('common.networkError'))
// }else{
// message.success(t('common.createSuccess'))
// }
} else {
let ret= OrderDayApi.updateOrderDay(data)
if(ret.code==0){
message.success(t('common.updateSuccess'))
}else{
message.error(t('common.networkError'))
}
await OrderDayApi.updateOrderDay(data)
// if(ret.code==0){
// message.success(t('common.updateSuccess'))
// }else{
// message.error(t('common.networkError'))
// }
}
basicFormRef.value.dialogVisible = false
await getList()
}
@ -336,8 +337,9 @@ const handleExport = async () => {
exportLoading.value = false
}
}
const stopPlan = (id) => {
OrderDayApi.stopPlan(id)
const stopPlan = async (id) => {
await OrderDayApi.stopPlan(id)
getList()
}
/** 导入 */

3
src/views/mes/orderDay/orderDay.data.ts

@ -49,6 +49,7 @@ export const OrderDay = useCrudSchemas(reactive<CrudSchema[]>([
field: 'id',
sort: 'custom',
isForm: false,
isTable: false,
width: '60px',
},
{
@ -365,7 +366,7 @@ export const OrderDay = useCrudSchemas(reactive<CrudSchema[]>([
field: 'remark',
sort: 'custom',
isSearch: false,
isTable:false,
// isTable:false,
},
{
label: '操作',

5
src/views/mes/workScheduling/components/qualifiedCheck.vue

@ -32,13 +32,10 @@
<el-input v-model="baseform.remark"></el-input>
</el-form-item>
</el-form>
<template #footer>
<el-button @click="dialogVisible = false">关闭</el-button>
<el-button type="primary" :disabled="saveFlag" @click="saveReport">保存</el-button>
</template> </Dialog
>
</template>
</template> </Dialog>
<script lang="ts" setup>
import { Dialog } from '@/components/Dialog'
import * as workschedulingApi from '@/api/mes/workScheduling'

28
src/views/qms/inspectionJob/addForm.vue

@ -357,7 +357,6 @@
allSamplePieceSize.value = 0//0
if (row) {
data.value = JSON.parse(JSON.stringify(row))
// console.log(data.value)//
// await InspectionJobMainApi.acceptInspectionJobMain(row.id)
let list = []
list = await InspectionJobDetailPageApi.getInspectionJobDetailList(row.id)
@ -370,7 +369,7 @@
//
allSamplePieceSize.value += parseFloat((parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.sampleQty) * parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.samplePieceSize)).toFixed(2))
// rules.value['inspectionJobCharacteristicsUpdateReqVO.quantifyCapping'][0].required = true
if(!item.inspectionJobCharacteristicsUpdateReqVO.recordInspectionQuantifyList){
if (!item.inspectionJobCharacteristicsUpdateReqVO.recordInspectionQuantifyList) {
//
if (item.inspectionJobCharacteristicsUpdateReqVO.resultEntryMethod == 0) {
// rules.value['inspectionJobCharacteristicsUpdateReqVO.quantifyCapping'][0].required = true
@ -421,7 +420,6 @@
rules.value['inspectionJobCharacteristicsUpdateReqVO.estimateCode'][0].required = false
}
})
console.log(22, allSamplePieceSize.value)
data.value.subList = list
/**
设置采样数量默认第一个包装采样数量<总数量显示数量字段第二个包装和剩下的总数量对比以此类推
@ -429,7 +427,7 @@
*/
for (let i = 0; i < data.value.packageList.length; i++) {
if(data.value.packageList[i].sampleAmount==null){
if (data.value.packageList[i].sampleAmount == null) {
if (allSamplePieceSize.value > data.value.packageList[i].amount) {
data.value.packageList[i].sampleAmount = data.value.packageList[i].amount
allSamplePieceSize.value = parseFloat((allSamplePieceSize.value - data.value.packageList[i].amount).toFixed(2))
@ -526,12 +524,10 @@
quantifyQuantifyCode: ''
}
})
console.log(data.value.subList)
editableTabsValue.value = newTabName
dialogVisibleName.value = false
} else {
console.log('error submit!')
return false
}
})
@ -559,7 +555,6 @@
//
const emit = defineEmits(['submitForm', 'searchTableSuccess'])
const validateForm = (formRef) => {
// console.log(TableBaseForm_Ref.value)
let _lists = formRef?.map((v) => v.validate())
return Promise.all(_lists)
.then(() => {
@ -572,7 +567,6 @@
const tableFormRef = ref()
const submitForm = async () => {
try {
console.log(data.value.subList)
const elForm = unref(formMainRef)?.getElFormRef()
//
if (!elForm) return
@ -580,7 +574,6 @@
if (!valid) return
//
console.log(11, data.value.packageList)
if (data.value.packageList?.length > 0) {
const validateForm1 = await tableFormRef.value.validateForm()
if (!validateForm1) return
@ -615,7 +608,7 @@
arrBol.push(
item.inspectionJobCharacteristicsUpdateReqVO.recordInspectionQuantifyList.some(
(cur, key) => {
return !cur.qualifiedQuantity || !cur.unqualifiedQuantity
return cur.qualifiedQuantity === '' || cur.unqualifiedQuantity === ''
}
)
)
@ -655,9 +648,6 @@
numberList.push(
item.inspectionJobCharacteristicsUpdateReqVO.recordInspectionQuantifyList.some(
(cur, key) => {
console.log(12, cur.qualifiedQuantity)
console.log(13, cur.unqualifiedQuantity)
console.log(14, item.inspectionJobCharacteristicsUpdateReqVO.sampleQty)
return parseFloat(cur.qualifiedQuantity) + parseFloat(cur.unqualifiedQuantity) != parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.sampleQty)
}
)
@ -691,13 +681,11 @@
emit('submitForm', formType.value, data.value)
}
} catch {
console.log(111)
}
}
const staging = async () => {
try {
console.log(data.value.subList)
const elForm = unref(formMainRef)?.getElFormRef()
//
if (!elForm) return
@ -705,7 +693,6 @@
if (!valid) return
//
console.log(11, data.value.packageList)
if (data.value.packageList?.length > 0) {
const validateForm1 = await tableFormRef.value.validateForm()
if (!validateForm1) return
@ -740,7 +727,7 @@
arrBol.push(
item.inspectionJobCharacteristicsUpdateReqVO.recordInspectionQuantifyList.some(
(cur, key) => {
return !cur.qualifiedQuantity || !cur.unqualifiedQuantity
return cur.qualifiedQuantity === '' || cur.unqualifiedQuantity === ''
}
)
)
@ -780,9 +767,6 @@
numberList.push(
item.inspectionJobCharacteristicsUpdateReqVO.recordInspectionQuantifyList.some(
(cur, key) => {
console.log(12, cur.qualifiedQuantity)
console.log(13, cur.unqualifiedQuantity)
console.log(14, item.inspectionJobCharacteristicsUpdateReqVO.sampleQty)
return parseFloat(cur.qualifiedQuantity) + parseFloat(cur.unqualifiedQuantity) != parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.sampleQty)
}
)
@ -811,7 +795,6 @@
await InspectionJobMainApi.stagingInspectionJobMain(data.value);
message.success("暂存成功")
} catch {
console.log(111)
}
}
@ -828,7 +811,6 @@
}
//
const changeFeatureType = (e) => {
console.log(e)
// if (e) {
// rules.value['inspectionJobCharacteristicsUpdateReqVO.quantifyQuantifyCode'][0].required = true
// } else {
@ -986,12 +968,10 @@
}
]
}
console.log(222, item.inspectionJobCharacteristicsUpdateReqVO.recordInspectionQuantifyList)
}
//
const changeQualitativeCode = (e, item, cur) => {
let obj = item.selectedProjectRespVOList.find((cur) => cur.dictionaryValue == e)
console.log(obj)
cur.defectLevel = obj.defectLevel
cur.estimateCode = obj.estimateCode
}

24
src/views/qms/inspectionJob/index.vue

@ -160,6 +160,15 @@
}
}
//
const isShowMainButton2 = (row, val) => {
if (val.indexOf(row.isStaging) > -1) {
return false
} else {
return true
}
}
// -
const butttondata = (row) => {
return [
@ -167,6 +176,7 @@
defaultButtons.mainListJobCloBtn({hide:isShowMainButton(row,['1']),hasPermi:'qms:inspection-job-main:close'}), //
defaultButtons.mainListJobAbaBtn({hide:isShowMainButton(row,['2']),hasPermi:'qms:inspection-job-main:abandon'}), //
defaultButtons.mainListJobExeBtn({hide:isShowMainButton(row,['2']),hasPermi:'qms:inspection-job-main:execute'}), //
defaultButtons.mainListOrderPubBtn({hide:isShowMainButton2(row,['TRUE']),hasPermi:'qms:inspection-job-main:execute'}), //
defaultButtons.mainListPackageBtn(null), //
]
}
@ -185,6 +195,8 @@ const list = ref([])
handleAbandon(row.id)
} else if (val == 'mainJobClo') { //
handleClose(row.id)
} else if (val == 'mainOrderPub') { //
handleRelease(row.id)
} else if (val == 'mainJobAcc') { //
handleAccept(row.id)
}
@ -220,6 +232,18 @@ const list = ref([])
await getList()
} catch { }
}
/** 发布按钮操作 */
const handleRelease = async (id : number) => {
try {
//
await message.confirm('确认发布吗?')
//
await InspectionJobMainApi.releaseInspectionJobMain(id)
message.success('发布成功!')
//
await getList()
} catch { }
}
//
const handleAccept = async (id : number) => {
try {

1
src/views/wms/deliversettlementManage/deliver/deliverRequestMain/deliverRequestMain.data.ts

@ -786,7 +786,6 @@ export const DeliverRequestDetail = useCrudSchemas(reactive<CrudSchema[]>([
field: 'uom',
dictType: DICT_TYPE.UOM,
dictClass: 'string',
isTable: true,
sort: 'custom',
table: {
width: 150

3
src/views/wms/deliversettlementManage/deliver/deliverRequestMain/index.vue

@ -567,9 +567,6 @@ const resetShow = async () => {
item.tableForm.isInpuFocusShow = true
item.tableForm.disabled = false
}
if(item.field == 'uom') {
item.tableForm.disabled = false
}
if(item.field == 'available') {
item.tableForm.disabled = false
}

17
src/views/wms/deliversettlementManage/saleShipmentMainRecord/index.vue

@ -27,9 +27,9 @@
v-model:currentPage="tableObject.currentPage"
v-model:sort="tableObject.sort"
>
<template #code="{row}">
<el-button type="primary" link @click="openDetail(row, '代码', row.code)">
<span>{{ row.code }}</span>
<template #number="{row}">
<el-button type="primary" link @click="openDetail(row, '单据号', row.number)">
<span>{{ row.number }}</span>
</el-button>
</template>
<template #action="{ row }">
@ -62,7 +62,6 @@ import { SaleShipmentMainRecord,SaleShipmentMainRecordRules } from './saleShipme
import * as SaleShipmentMainRecordApi from '@/api/wms/saleShipmentMainRecord'
import * as defaultButtons from '@/utils/disposition/defaultButtons'
import TableHead from '@/components/TableHead/src/TableHead.vue'
import ImportForm from '@/components/ImportForm/src/ImportForm.vue'
import Detail from '@/components/Detail/src/Detail.vue'
defineOptions({ name: 'SaleShipmentMainRecord' })
@ -98,8 +97,8 @@ const { getList, setSearchParams } = tableMethods
//
const HeadButttondata = [
defaultButtons.defaultAddBtn({hasPermi:'wms:saleShipmentMainRecord:create'}), //
defaultButtons.defaultExportBtn({hasPermi:'wms:saleShipmentMainRecord:export'}), //
// defaultButtons.defaultAddBtn({hasPermi:'wms:sale-shipment-main-record:create'}), //
defaultButtons.defaultExportBtn({hasPermi:'wms:sale-shipment-main-record:export'}), //
defaultButtons.defaultFreshBtn(null), //
defaultButtons.defaultFilterBtn(null), //
defaultButtons.defaultSetBtn(null), //
@ -129,8 +128,8 @@ const buttonBaseClick = (val, item) => {
// -
const butttondata = [
defaultButtons.mainListEditBtn({hasPermi:'wms:saleShipmentMainRecord:update'}), //
defaultButtons.mainListDeleteBtn({hasPermi:'wms:saleShipmentMainRecord:delete'}), //
// defaultButtons.mainListEditBtn({hasPermi:'wms:sale-shipment-main-record:update'}), //
// defaultButtons.mainListDeleteBtn({hasPermi:'wms:sale-shipment-main-record:delete'}), //
]
// -
@ -189,7 +188,7 @@ const handleExport = async () => {
//
exportLoading.value = true
const data = await SaleShipmentMainRecordApi.exportSaleShipmentMainRecord(tableObject.params)
download.excel(data, '销售发运记录.xlsx')
download.excel(data, '销售发运记录.xlsx')
} catch {
} finally {
exportLoading.value = false

3
src/views/wms/deliversettlementManage/saleShipmentMainRecord/saleShipmentMainRecord.data.ts

@ -73,6 +73,7 @@ export const SaleShipmentMainRecord = useCrudSchemas(reactive<CrudSchema[]>([
field: 'available',
sort: 'custom',
isSearch: true,
isTable:false
},
{
label: '部门',
@ -102,12 +103,14 @@ export const SaleShipmentMainRecord = useCrudSchemas(reactive<CrudSchema[]>([
}
},
isForm: false,
isTable:false
},
{
label: '地点ID',
field: 'siteId',
sort: 'custom',
isSearch: true,
isTable:false
},
{
label: '操作',

2
src/views/wms/deliversettlementManage/saleShipmentMainRequest/index.vue

@ -214,7 +214,7 @@ const butttondata = (row,$index) => {
}
return [
defaultButtons.mainListEditBtn({hide:isShowMainButton(row,['1']),hasPermi:'wms:sale-shipment-main-request:update'}), //
defaultButtons.mainListCloseBtn({hide:isShowMainButton(row,['1','2','3','4']),hasPermi:'wms:sale-shipment-main-request:close'}), //
defaultButtons.mainListCloseBtn({hide:isShowMainButton(row,['2','3','4']),hasPermi:'wms:sale-shipment-main-request:close'}), //
defaultButtons.mainListReAddBtn({hide:isShowMainButton(row,['4','5']),hasPermi:'wms:sale-shipment-main-request:reAdd'}), //
defaultButtons.mainListSubmitBtn({hide:isShowMainButton(row,['1']),hasPermi:'wms:sale-shipment-main-request:submit'}), //
defaultButtons.mainListTurnDownBtn({hide:isShowMainButton(row,['2']),hasPermi:'wms:sale-shipment-main-request:refused'}), //

6
src/views/wms/deliversettlementManage/saleShipmentMainRequest/saleShipmentMain.data.ts

@ -499,9 +499,7 @@ export const SaleShipmentDetail = useCrudSchemas(reactive<CrudSchema[]>([
field: 'action',
isDetail: false,
isForm: false,
table: {
width: 150,
fixed: 'right'
}
hiddenInMain:true,
isTableForm:false,
}
]))

5
src/views/wms/inventoryjobManage/containermanage/containerMainRequest/containerMainRequest.data.ts

@ -493,10 +493,7 @@ export const ContainerDetailRequest = useCrudSchemas(reactive<CrudSchema[]>([
isForm: false,
hiddenInMain:true,
isTableForm: false,
table: {
width: 150,
fixed: 'right'
}
isTable: false
}
]))

3
src/views/wms/productionManage/productscrap/productscrapRecordMain/index.vue

@ -135,6 +135,7 @@ const buttonOperationClick = async (row, label, index)=> {
return
}
detatableDataBom.params.itemCode = row.itemCode
detatableDataBom.params.masterId = row.id
DialogTitle.value = '物料代码:【' + row.itemCode + '】 Bom 信息'
bomModelVisible.value = true
await getDetailListBom()
@ -181,7 +182,7 @@ const tableFormButton = async (val , row) => {
bomModelVisible.value = true
DialogTitle.value = '物料代码【' + row.itemCode + '】——Bom信息'
detatableDataBom.params = {
masterId: row.masterId
masterId: row.id
}
await getDetailListBom()
}

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

@ -420,7 +420,7 @@ const src = ref(BASE_URL + '/jmreport/view/922729953438072832?token=' + getAcces
const searchTableRef = ref()
const labelPrint = async (row) => {
tableObject.loading = true
const defaultParams = {'moduleName':'supplier','recordNumber':row.number}
const defaultParams = {'moduleName':'purchasereceipt_request','recordNumber':row.asnNumber}
const {tableObject:tableObjectPrint ,tableMethods} = useTable({
defaultParams,
getListApi: PackageApi.getLabelDetailPage //

Loading…
Cancel
Save