diff --git a/src/api/qms/inspectionQ1/index.ts b/src/api/qms/inspectionQ1/index.ts
index dab41fa63..aba6db8e8 100644
--- a/src/api/qms/inspectionQ1/index.ts
+++ b/src/api/qms/inspectionQ1/index.ts
@@ -64,4 +64,9 @@ export const exportQ1 = async (params) => {
// 下载用户导入模板
export const importTemplate = () => {
return request.download({ url: '/qms/inspectionQ1/get-import-template' })
+}
+
+// 完成
+export const finishQ1 = async (id: number) => {
+ return await request.get({ url: `/qms/inspectionQ1/finish?id=` + id })
}
\ No newline at end of file
diff --git a/src/api/qms/inspectionQ2/index.ts b/src/api/qms/inspectionQ2/index.ts
index 19d1f6f40..36c186445 100644
--- a/src/api/qms/inspectionQ2/index.ts
+++ b/src/api/qms/inspectionQ2/index.ts
@@ -65,4 +65,9 @@ export const exportQ2 = async (params) => {
// 下载用户导入模板
export const importTemplate = () => {
return request.download({ url: '/qms/inspectionQ2/get-import-template' })
-}
\ No newline at end of file
+}
+
+// 完成
+export const finishQ2 = async (id: number) => {
+ return await request.get({ url: `/qms/inspectionQ2/finish?id=` + id })
+}
diff --git a/src/api/qms/inspectionQ3/index.ts b/src/api/qms/inspectionQ3/index.ts
index 616376561..a8e1d81b2 100644
--- a/src/api/qms/inspectionQ3/index.ts
+++ b/src/api/qms/inspectionQ3/index.ts
@@ -65,4 +65,9 @@ export const exportQ3 = async (params) => {
// 下载用户导入模板
export const importTemplate = () => {
return request.download({ url: '/qms/inspectionQ3/get-import-template' })
-}
\ No newline at end of file
+}
+
+// 完成
+export const finishQ3 = async (id: number) => {
+ return await request.get({ url: `/qms/inspectionQ3/finish?id=` + id })
+}
diff --git a/src/utils/dict.ts b/src/utils/dict.ts
index 3a0483446..b552afd4f 100644
--- a/src/utils/dict.ts
+++ b/src/utils/dict.ts
@@ -318,6 +318,13 @@ export enum DICT_TYPE {
QUALITY_NOTIFICATION_TYPE = 'quality_notification_type', // 质量通知类型
QUALITY_NOTICE_STATUS = 'quality_notice_status', // 质量通知状态
QUALITY_TASK_STATUS = 'quality_task_status', // 质量通知任务状态
+ QUALITY_NOTIFICATION_PRIORITY = 'quality_notification_priority', // 质量通知优先级
+ CLAIM_REASON = 'claim_Reason', // 质量通知索赔原因
+ QMS_CODE = 'qms_code', // 质量通知代码
+ DEFECT_LOCATION = 'defect_location', // 质量通知缺陷位置
+DEFECT_TYPE = 'defect_type', // 质量通知缺陷类型
+
+ PROBLEM_REASON = 'problem_reason', // 质量通知问题原因
// ========== 业务 - mes -gaojs ==========
QUALIFY_STATUS = 'qualify_status', //质检状态
diff --git a/src/views/qms/inspectionQ1/index.vue b/src/views/qms/inspectionQ1/index.vue
index d693ad893..bdccd8ee7 100644
--- a/src/views/qms/inspectionQ1/index.vue
+++ b/src/views/qms/inspectionQ1/index.vue
@@ -33,7 +33,7 @@
-
+
@@ -66,6 +66,9 @@ import TableHead from '@/components/TableHead/src/TableHead.vue'
import ImportForm from '@/components/ImportForm/src/ImportForm.vue'
import Detail from '@/components/Detail/src/Detail.vue'
+import { useUserStore } from '@/store/modules/user'
+const userStore = useUserStore()
+
defineOptions({ name: 'InspectionQ1' })
const message = useMessage() // 消息弹窗
@@ -105,9 +108,9 @@ const { getList, setSearchParams } = tableMethods
// 列表头部按钮
const HeadButttondata = [
- defaultButtons.defaultAddBtn(null), // 新增
- defaultButtons.defaultImportBtn({hasPermi:'wms:q1:import'}), // 导入
- defaultButtons.defaultExportBtn(null), // 导出
+ defaultButtons.defaultAddBtn({hasPermi:'qms:Q1:create'}), // 新增
+ defaultButtons.defaultImportBtn({hasPermi:'qms:Q1:import'}), // 导入
+ defaultButtons.defaultExportBtn({hasPermi:'qms:Q1:export'}), // 导出
defaultButtons.defaultFreshBtn(null), // 刷新
defaultButtons.defaultFilterBtn(null), // 筛选
defaultButtons.defaultSetBtn(null), // 设置
@@ -137,11 +140,22 @@ const buttonBaseClick = (val, item) => {
}
}
+const isShowMainButton = (row,val) => {
+ if (val.indexOf(row.status) > -1) {
+ return false
+ } else {
+ return true
+ }
+}
+
// 列表-操作按钮
-const butttondata = [
- defaultButtons.mainListEditBtn({hasPermi:'wms:q1:update'}), // 编辑
- defaultButtons.mainListDeleteBtn({hasPermi:'wms:q1:delete'}), // 删除
-]
+const butttondata = (row) => {
+ return [
+ defaultButtons.mainListEditBtn({hide:isShowMainButton(row,['0']),hasPermi:'qms:Q1:update'}), // 编辑
+ defaultButtons.mainListDeleteBtn({hide:isShowMainButton(row,['0']),hasPermi:'qms:Q1:delete'}), // 删除
+ defaultButtons.mainListFinishBtn({hide:isShowMainButton(row,['0']),hasPermi:'qms:Q1:finish'}), // 完成
+ ]
+}
// 列表-操作按钮事件
const buttonTableClick = async (val, row) => {
@@ -149,9 +163,20 @@ const buttonTableClick = async (val, row) => {
openForm('update', row)
} else if (val == 'delete') { // 删除
handleDelete(row.id)
+ }else if (val == 'finish') { // 删除
+ handleFinish(row.id)
}
}
+const handleFinish = async (id: number) => {
+ try {
+ await Q1Api.finishQ1(id)
+ message.success(t('common.updateSuccess'))
+ // 刷新列表
+ await getList()
+ } catch {}
+}
+
/** 添加/修改操作 */
const basicFormRef = ref()
const openForm = (type: string, row?: any) => {
@@ -159,7 +184,8 @@ const openForm = (type: string, row?: any) => {
}
// form表单提交
-const formsSuccess = async (formType,data) => {
+const formsSuccess = async (formType, data) => {
+ data.responUser = userStore.getUser.id
var isHave =Q1.allSchemas.formSchema.some(function (item) {
return item.field === 'activeTime' || item.field === 'expireTime';
});
diff --git a/src/views/qms/inspectionQ1/inspectionQ1.data.ts b/src/views/qms/inspectionQ1/inspectionQ1.data.ts
index 0acc3299c..9e884dfba 100644
--- a/src/views/qms/inspectionQ1/inspectionQ1.data.ts
+++ b/src/views/qms/inspectionQ1/inspectionQ1.data.ts
@@ -10,6 +10,9 @@ import { Customeritem } from '@/views/wms/basicDataManage/customerManage/custome
import * as QadCostcentreApi from '@/api/wms/qadCostcentre'
import { QadCostcentre } from '@/views/wms/basicDataManage/subject/qadCostcentre/qadCostcentre.data'
+import { useUserStore } from '@/store/modules/user'
+const userStore = useUserStore()
+
// 表单校验
export const Q1Rules = reactive({
customerCode: [required],
@@ -32,10 +35,10 @@ export const Q1 = useCrudSchemas(
sort: 'custom',
isForm: false,
isSearch: true,
- table: {
+ table: {
width: 150,
fixed: 'left'
- },
+ }
},
{
label: '状态',
@@ -164,7 +167,7 @@ export const Q1 = useCrudSchemas(
label: '编码',
field: 'code',
sort: 'custom',
- dictType: DICT_TYPE.UOM,
+ dictType: DICT_TYPE.QMS_CODE,
dictClass: 'string',
isSearch: false,
isTable: true,
@@ -176,7 +179,7 @@ export const Q1 = useCrudSchemas(
label: '优先级',
field: 'priority',
sort: 'custom',
- dictType: DICT_TYPE.UOM,
+ dictType: DICT_TYPE.QUALITY_NOTIFICATION_PRIORITY,
dictClass: 'string',
isSearch: false,
isTable: true,
@@ -188,7 +191,14 @@ export const Q1 = useCrudSchemas(
label: '负责用户',
field: 'responUser',
sort: 'custom',
- isSearch: false
+ isSearch: false,
+ isForm: true,
+ form: {
+ componentProps: {
+ value: userStore.getUser.nickname,
+ disabled: true
+ }
+ }
},
{
label: '索赔金额',
@@ -232,7 +242,7 @@ export const Q1 = useCrudSchemas(
label: '索赔原因',
field: 'claimReason',
sort: 'custom',
- dictType: DICT_TYPE.UOM,
+ dictType: DICT_TYPE.CLAIM_REASON,
dictClass: 'string',
isSearch: false,
isTable: true,
@@ -281,7 +291,7 @@ export const Q1 = useCrudSchemas(
component: 'DatePicker',
componentProps: {
type: 'datetime',
- valueFormat: 'x'
+ valueFormat: 'x',
}
}
},
diff --git a/src/views/qms/inspectionQ2/index.vue b/src/views/qms/inspectionQ2/index.vue
index 5731edb26..2cd99ee16 100644
--- a/src/views/qms/inspectionQ2/index.vue
+++ b/src/views/qms/inspectionQ2/index.vue
@@ -33,7 +33,7 @@
-
+
@@ -66,6 +66,9 @@ import TableHead from '@/components/TableHead/src/TableHead.vue'
import ImportForm from '@/components/ImportForm/src/ImportForm.vue'
import Detail from '@/components/Detail/src/Detail.vue'
+import { useUserStore } from '@/store/modules/user'
+const userStore = useUserStore()
+
defineOptions({ name: 'InspectionQ2' })
const message = useMessage() // 消息弹窗
@@ -113,9 +116,9 @@ const { getList, setSearchParams } = tableMethods
// 列表头部按钮
const HeadButttondata = [
- defaultButtons.defaultAddBtn(null), // 新增
- defaultButtons.defaultImportBtn({hasPermi:'wms:q2:import'}), // 导入
- defaultButtons.defaultExportBtn(null), // 导出
+ defaultButtons.defaultAddBtn({hasPermi:'qms:Q2:create'}), // 新增
+ defaultButtons.defaultImportBtn({hasPermi:'qms:Q2:import'}), // 导入
+ defaultButtons.defaultExportBtn({hasPermi:'qms:Q2:export'}), // 导出
defaultButtons.defaultFreshBtn(null), // 刷新
defaultButtons.defaultFilterBtn(null), // 筛选
defaultButtons.defaultSetBtn(null), // 设置
@@ -145,11 +148,22 @@ const buttonBaseClick = (val, item) => {
}
}
+const isShowMainButton = (row,val) => {
+ if (val.indexOf(row.status) > -1) {
+ return false
+ } else {
+ return true
+ }
+}
+
// 列表-操作按钮
-const butttondata = [
- defaultButtons.mainListEditBtn({hasPermi:'wms:q2:update'}), // 编辑
- defaultButtons.mainListDeleteBtn({hasPermi:'wms:q2:delete'}), // 删除
-]
+const butttondata = (row) => {
+ return [
+ defaultButtons.mainListEditBtn({hide:isShowMainButton(row,['0']),hasPermi:'qms:Q2:update'}), // 编辑
+ defaultButtons.mainListDeleteBtn({hide:isShowMainButton(row,['0']),hasPermi:'qms:Q2:delete'}), // 删除
+ defaultButtons.mainListFinishBtn({hide:isShowMainButton(row,['0']),hasPermi:'qms:Q2:finish'}), // 完成
+ ]
+}
// 列表-操作按钮事件
const buttonTableClick = async (val, row) => {
@@ -157,9 +171,20 @@ const buttonTableClick = async (val, row) => {
openForm('update', row)
} else if (val == 'delete') { // 删除
handleDelete(row.id)
+ }else if (val == 'finish') { // 删除
+ handleFinish(row.id)
}
}
+const handleFinish = async (id: number) => {
+ try {
+ await Q2Api.finishQ2(id)
+ message.success(t('common.updateSuccess'))
+ // 刷新列表
+ await getList()
+ } catch {}
+}
+
/** 添加/修改操作 */
const basicFormRef = ref()
const openForm = (type: string, row?: any) => {
@@ -167,7 +192,8 @@ const openForm = (type: string, row?: any) => {
}
// form表单提交
-const formsSuccess = async (formType,data) => {
+const formsSuccess = async (formType, data) => {
+ data.responUser = userStore.getUser.id
var isHave =Q2.allSchemas.formSchema.some(function (item) {
return item.field === 'activeTime' || item.field === 'expireTime';
});
diff --git a/src/views/qms/inspectionQ2/inspectionQ2.data.ts b/src/views/qms/inspectionQ2/inspectionQ2.data.ts
index 2ec6ee0e1..9085a2ffd 100644
--- a/src/views/qms/inspectionQ2/inspectionQ2.data.ts
+++ b/src/views/qms/inspectionQ2/inspectionQ2.data.ts
@@ -16,6 +16,9 @@ import { Supplier } from '@/views/wms/basicDataManage/supplierManage/supplier/su
import * as PurchasereceiptRecordDetailApi from '@/api/wms/purchasereceiptRecordDetail'
import { PurchasereceiptRecordMain1 } from '@/views/wms/purchasereceiptManage/purchasereturn/purchasereturnRequestMain/purchasereturnRequestMain.data'
+import { useUserStore } from '@/store/modules/user'
+const userStore = useUserStore()
+
// 表单校验
export const Q2Rules = reactive({
number: [required],
@@ -232,7 +235,7 @@ export const Q2 = useCrudSchemas(
label: '编码',
field: 'code',
sort: 'custom',
- dictType: DICT_TYPE.UOM,
+ dictType: DICT_TYPE.QMS_CODE,
dictClass: 'string',
isSearch: false,
isTable: true,
@@ -245,7 +248,7 @@ export const Q2 = useCrudSchemas(
label: '优先级',
field: 'priority',
sort: 'custom',
- dictType: DICT_TYPE.UOM,
+ dictType: DICT_TYPE.QUALITY_NOTIFICATION_PRIORITY,
dictClass: 'string',
isSearch: false,
isTable: true,
@@ -257,7 +260,14 @@ export const Q2 = useCrudSchemas(
label: '负责用户',
field: 'responUser',
sort: 'custom',
- isSearch: false
+ isSearch: false,
+ isForm: true,
+ form: {
+ componentProps: {
+ value: userStore.getUser.nickname,
+ disabled: true
+ }
+ }
},
{
label: '索赔金额',
diff --git a/src/views/qms/inspectionQ3/index.vue b/src/views/qms/inspectionQ3/index.vue
index 18b256c52..5475b9717 100644
--- a/src/views/qms/inspectionQ3/index.vue
+++ b/src/views/qms/inspectionQ3/index.vue
@@ -33,7 +33,7 @@
-
+
@@ -66,6 +66,9 @@ import TableHead from '@/components/TableHead/src/TableHead.vue'
import ImportForm from '@/components/ImportForm/src/ImportForm.vue'
import Detail from '@/components/Detail/src/Detail.vue'
+import { useUserStore } from '@/store/modules/user'
+const userStore = useUserStore()
+
defineOptions({ name: 'InspectionQ3' })
const message = useMessage() // 消息弹窗
@@ -82,7 +85,7 @@ const searchTableSuccess = (formField, searchField, val, formRef) => {
const setV = {}
if(formField == 'itemCode'){
console.log(val);
- setV['uom'] = val[0]['customerUom']
+ setV['uom'] = val[0]['uom']
}
if (formField == 'q1Number') {
console.log(123)
@@ -107,9 +110,9 @@ const { getList, setSearchParams } = tableMethods
// 列表头部按钮
const HeadButttondata = [
- defaultButtons.defaultAddBtn(null), // 新增
- defaultButtons.defaultImportBtn({hasPermi:'wms:q3:import'}), // 导入
- defaultButtons.defaultExportBtn(null), // 导出
+ defaultButtons.defaultAddBtn({hasPermi:'qms:Q3:create'}), // 新增
+ defaultButtons.defaultImportBtn({hasPermi:'qms:Q3:import'}), // 导入
+ defaultButtons.defaultExportBtn({hasPermi:'qms:Q3:export'}), // 导出
defaultButtons.defaultFreshBtn(null), // 刷新
defaultButtons.defaultFilterBtn(null), // 筛选
defaultButtons.defaultSetBtn(null), // 设置
@@ -139,11 +142,22 @@ const buttonBaseClick = (val, item) => {
}
}
+const isShowMainButton = (row,val) => {
+ if (val.indexOf(row.status) > -1) {
+ return false
+ } else {
+ return true
+ }
+}
+
// 列表-操作按钮
-const butttondata = [
- defaultButtons.mainListEditBtn({hasPermi:'wms:q3:update'}), // 编辑
- defaultButtons.mainListDeleteBtn({hasPermi:'wms:q3:delete'}), // 删除
-]
+const butttondata = (row) => {
+ return [
+ defaultButtons.mainListEditBtn({hide:isShowMainButton(row,['0']),hasPermi:'qms:Q3:update'}), // 编辑
+ defaultButtons.mainListDeleteBtn({hide:isShowMainButton(row,['0']),hasPermi:'qms:Q3:delete'}), // 删除
+ defaultButtons.mainListFinishBtn({hide:isShowMainButton(row,['0']),hasPermi:'qms:Q3:finish'}), // 完成
+ ]
+}
// 列表-操作按钮事件
const buttonTableClick = async (val, row) => {
@@ -151,9 +165,20 @@ const buttonTableClick = async (val, row) => {
openForm('update', row)
} else if (val == 'delete') { // 删除
handleDelete(row.id)
+ }else if (val == 'finish') { // 删除
+ handleFinish(row.id)
}
}
+const handleFinish = async (id: number) => {
+ try {
+ await Q3Api.finishQ3(id)
+ message.success(t('common.updateSuccess'))
+ // 刷新列表
+ await getList()
+ } catch {}
+}
+
/** 添加/修改操作 */
const basicFormRef = ref()
const openForm = (type: string, row?: any) => {
@@ -161,7 +186,8 @@ const openForm = (type: string, row?: any) => {
}
// form表单提交
-const formsSuccess = async (formType,data) => {
+const formsSuccess = async (formType, data) => {
+ data.responUser = userStore.getUser.id
var isHave =Q3.allSchemas.formSchema.some(function (item) {
return item.field === 'activeTime' || item.field === 'expireTime';
});
diff --git a/src/views/qms/inspectionQ3/inspectionQ3.data.ts b/src/views/qms/inspectionQ3/inspectionQ3.data.ts
index 2e002b789..62606af62 100644
--- a/src/views/qms/inspectionQ3/inspectionQ3.data.ts
+++ b/src/views/qms/inspectionQ3/inspectionQ3.data.ts
@@ -7,8 +7,11 @@ import { Q1 } from '@/views/qms/inspectionQ1/inspectionQ1.data'
import * as QadCostcentreApi from '@/api/wms/qadCostcentre'
import { QadCostcentre } from '@/views/wms/basicDataManage/subject/qadCostcentre/qadCostcentre.data'
-import * as CustomeritemApi from '@/api/wms/customeritem'
-import { Customeritem } from '@/views/wms/basicDataManage/customerManage/customeritem/customeritem.data'
+import * as ItembasicApi from '@/api/wms/itembasic'
+import { Itembasic } from '@/views/wms/basicDataManage/itemManage/itembasic/itembasic.data'
+
+import { useUserStore } from '@/store/modules/user'
+const userStore = useUserStore()
// 表单校验
export const Q3Rules = reactive({
@@ -93,40 +96,37 @@ export const Q3 = useCrudSchemas(
table: {
width: 150
},
- isSearch: true,
+ tableForm: {
+ isInpuFocusShow: true,
+ searchListPlaceholder: '请选择物料代码', // 输入框占位文本
+ searchField: 'code', // 查询弹窗赋值字段
+ searchTitle: '物料基础信息', // 查询弹窗标题
+ searchAllSchemas: Itembasic.allSchemas, // 查询弹窗所需类
+ searchPage: ItembasicApi.getItembasicPage, // 查询弹窗所需分页方法
+ searchCondition: [
+ {
+ key: 'available',
+ value: 'TRUE',
+ isMainValue: false
+ }
+ ]
+ },
form: {
// labelMessage: '信息提示说明!!!',
componentProps: {
- enterSearch: true,
isSearchList: true, // 开启查询弹窗
searchListPlaceholder: '请选择物料代码', // 输入框占位文本
- searchField: 'itemCode', // 查询弹窗赋值字段
- searchTitle: '客户物料信息', // 查询弹窗标题
- searchAllSchemas: Customeritem.allSchemas, // 查询弹窗所需类
- searchPage: CustomeritemApi.getCustomeritemPage, // 查询弹窗所需分页方法
+ searchField: 'code', // 查询弹窗赋值字段
+ searchTitle: '物料基础信息', // 查询弹窗标题
+ searchAllSchemas: Itembasic.allSchemas, // 查询弹窗所需类
+ searchPage: ItembasicApi.getItembasicPage, // 查询弹窗所需分页方法
searchCondition: [
{
key: 'available',
value: 'TRUE',
isMainValue: false
- },
- {
- key: 'customerCode',
- value: 'customerCode',
- message: '请填写客户代码!',
- isMainValue: true
- }
- ],
- verificationParams: [
- {
- key: 'itemCode',
- action: '==',
- value: '',
- isMainValue: false,
- isSearch: true,
- isFormModel: true
}
- ] // 失去焦点校验参数
+ ]
}
}
},
@@ -165,7 +165,7 @@ export const Q3 = useCrudSchemas(
label: '编码',
field: 'code',
sort: 'custom',
- dictType: DICT_TYPE.UOM,
+ dictType: DICT_TYPE.QMS_CODE,
dictClass: 'string',
isSearch: false,
isTable: true,
@@ -173,36 +173,47 @@ export const Q3 = useCrudSchemas(
type: 'Select'
}
},
-
{
label: '缺陷位置',
field: 'defectLocation',
sort: 'custom',
+ dictType: DICT_TYPE.DEFECT_LOCATION,
+ dictClass: 'string',
isSearch: false,
- isTable: false
+ isTable: true,
+ tableForm: {
+ type: 'Select'
+ }
},
{
label: '缺陷类型',
field: 'defectType',
sort: 'custom',
+ dictType: DICT_TYPE.DEFECT_TYPE,
+ dictClass: 'string',
isSearch: false,
- isTable: false,
- form: {
- component: 'SelectV2'
+ isTable: true,
+ tableForm: {
+ type: 'Select'
}
},
{
label: '问题原因',
field: 'problemReason',
sort: 'custom',
+ dictType: DICT_TYPE.PROBLEM_REASON,
+ dictClass: 'string',
isSearch: false,
- isTable: false
+ isTable: true,
+ tableForm: {
+ type: 'Select'
+ }
},
{
label: '优先级',
field: 'priority',
sort: 'custom',
- dictType: DICT_TYPE.UOM,
+ dictType: DICT_TYPE.QUALITY_NOTIFICATION_PRIORITY,
dictClass: 'string',
isSearch: false,
isTable: true,
@@ -214,7 +225,14 @@ export const Q3 = useCrudSchemas(
label: '负责用户',
field: 'responUser',
sort: 'custom',
- isSearch: false
+ isSearch: false,
+ isForm: true,
+ form: {
+ componentProps: {
+ value: userStore.getUser.nickname,
+ disabled: true
+ }
+ }
},
{
label: '金额',
@@ -235,12 +253,12 @@ export const Q3 = useCrudSchemas(
sort: 'custom',
isSearch: false,
isTable: false,
- isForm: false,
+ isForm: true,
form: {
// labelMessage: '信息提示说明!!!',
componentProps: {
isSearchList: true, // 开启查询弹窗
- searchListPlaceholder: '请选择物料代码', // 输入框占位文本
+ searchListPlaceholder: '请选择成本中心', // 输入框占位文本
searchField: 'costcentreCode', // 查询弹窗赋值字段
searchTitle: '成本中心信息', // 查询弹窗标题
searchAllSchemas: QadCostcentre.allSchemas, // 查询弹窗所需类
@@ -297,7 +315,8 @@ export const Q3 = useCrudSchemas(
label: '是否可用',
field: 'available',
sort: 'custom',
- isSearch: false
+ isSearch: false,
+ isForm: false
},
{
label: '创建时间',