Browse Source

qms加loading

hella_online_20240829
zhang_li 3 months ago
parent
commit
c720bdb095
  1. 190
      src/views/qms/aql/index.vue
  2. 124
      src/views/qms/counter/index.vue
  3. 211
      src/views/qms/dynamicRule/index.vue
  4. 2
      src/views/qms/inspectionJob/index.vue
  5. 163
      src/views/qms/inspectionMethod/index.vue
  6. 2
      src/views/qms/inspectionRecordFirst/index.vue
  7. 775
      src/views/qms/inspectionRequest/index.vue
  8. 148
      src/views/qms/inspectionScheme/index.vue
  9. 117
      src/views/qms/inspectionStage/index.vue
  10. 132
      src/views/qms/inspectionTemplate/index.vue
  11. 2
      src/views/qms/qualityNotice/index.vue
  12. 155
      src/views/qms/sampleCode/index.vue
  13. 239
      src/views/qms/samplingProcess/index.vue
  14. 134
      src/views/qms/samplingScheme/index.vue
  15. 114
      src/views/qms/selectedProject/index.vue
  16. 231
      src/views/qms/selectedSet/index.vue

190
src/views/qms/aql/index.vue

@ -1,22 +1,27 @@
<template> <template>
<ContentWrap> <ContentWrap>
<!-- 搜索工作栏 --> <!-- 搜索工作栏 -->
<Search :schema="Aql.allSchemas.searchSchema" @search="setSearchParams" @reset="setSearchParams" /> <Search
:schema="Aql.allSchemas.searchSchema"
@search="setSearchParams"
@reset="setSearchParams"
/>
</ContentWrap> </ContentWrap>
<!-- 列表头部 --> <!-- 列表头部 -->
<TableHead <TableHead
:HeadButttondata="HeadButttondata" :HeadButttondata="HeadButttondata"
@button-base-click="buttonBaseClick" @button-base-click="buttonBaseClick"
:routeName="routeName" :routeName="routeName"
@updataTableColumns="updataTableColumns" @updataTableColumns="updataTableColumns"
@searchFormClick="searchFormClick" @searchFormClick="searchFormClick"
:allSchemas="Aql.allSchemas" :allSchemas="Aql.allSchemas"
/> />
<!-- 列表 --> <!-- 列表 -->
<ContentWrap> <ContentWrap>
<Table v-clientTable <Table
v-clientTable
:columns="tableColumns" :columns="tableColumns"
:data="tableObject.tableList" :data="tableObject.tableList"
:loading="tableObject.loading" :loading="tableObject.loading"
@ -27,13 +32,16 @@
v-model:currentPage="tableObject.currentPage" v-model:currentPage="tableObject.currentPage"
v-model:sort="tableObject.sort" v-model:sort="tableObject.sort"
> >
<template #code="{row}"> <template #code="{ row }">
<el-button type="primary" link @click="openDetail(row, '代码', row.code)"> <el-button type="primary" link @click="openDetail(row, '代码', row.code)">
<span>{{ row.code }}</span> <span>{{ row.code }}</span>
</el-button> </el-button>
</template> </template>
<template #action="{ row }"> <template #action="{ row }">
<ButtonBase :Butttondata="butttondata(row)" @button-base-click="buttonTableClick($event,row)" /> <ButtonBase
:Butttondata="butttondata(row)"
@button-base-click="buttonTableClick($event, row)"
/>
</template> </template>
</Table> </Table>
</ContentWrap> </ContentWrap>
@ -55,12 +63,17 @@
<Detail ref="detailRef" :isBasic="true" :allSchemas="Aql.allSchemas" /> <Detail ref="detailRef" :isBasic="true" :allSchemas="Aql.allSchemas" />
<!-- 导入 --> <!-- 导入 -->
<ImportForm ref="importFormRef" url="/qms/aql/import" :importTemplateData="importTemplateData" @success="importSuccess" /> <ImportForm
ref="importFormRef"
url="/qms/aql/import"
:importTemplateData="importTemplateData"
@success="importSuccess"
/>
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import download from '@/utils/download' import download from '@/utils/download'
import { Aql,AqlRules } from './aql.data' import { Aql, AqlRules } from './aql.data'
import * as AqlApi from '@/api/qms/aql' import * as AqlApi from '@/api/qms/aql'
import * as defaultButtons from '@/utils/disposition/defaultButtons' import * as defaultButtons from '@/utils/disposition/defaultButtons'
import TableHead from '@/components/TableHead/src/TableHead.vue' import TableHead from '@/components/TableHead/src/TableHead.vue'
@ -100,12 +113,12 @@ const { getList, setSearchParams } = tableMethods
// //
const HeadButttondata = [ const HeadButttondata = [
defaultButtons.defaultAddBtn({hasPermi:'qms:aql:create'}), // defaultButtons.defaultAddBtn({ hasPermi: 'qms:aql:create' }), //
defaultButtons.defaultImportBtn({hasPermi:'qms:aql:import'}), // defaultButtons.defaultImportBtn({ hasPermi: 'qms:aql:import' }), //
defaultButtons.defaultExportBtn({hasPermi:'qms:aql:export'}), // defaultButtons.defaultExportBtn({ hasPermi: 'qms:aql:export' }), //
defaultButtons.defaultFreshBtn(null), // defaultButtons.defaultFreshBtn(null), //
defaultButtons.defaultFilterBtn(null), // defaultButtons.defaultFilterBtn(null), //
defaultButtons.defaultSetBtn(null), // defaultButtons.defaultSetBtn(null) //
// { // {
// label: '', // label: '',
// name: 'zdy', // name: 'zdy',
@ -118,21 +131,27 @@ const HeadButttondata = [
// //
const buttonBaseClick = (val, item) => { const buttonBaseClick = (val, item) => {
if (val == 'add') { // if (val == 'add') {
//
openForm('create') openForm('create')
} else if (val == 'import') { // } else if (val == 'import') {
//
handleImport() handleImport()
} else if (val == 'export') { // } else if (val == 'export') {
//
handleExport() handleExport()
} else if (val == 'refresh') { // } else if (val == 'refresh') {
//
getList() getList()
} else if (val == 'filtrate') { // } else if (val == 'filtrate') {
} else { // //
} else {
//
console.log('其他按钮', item) console.log('其他按钮', item)
} }
} }
const isShowMainButton = (row,val) => { const isShowMainButton = (row, val) => {
if (val.indexOf(row.available) > -1) { if (val.indexOf(row.available) > -1) {
return false return false
} else { } else {
@ -142,23 +161,31 @@ const isShowMainButton = (row,val) => {
const butttondata = (row) => { const butttondata = (row) => {
return [ return [
defaultButtons.mainListEditBtn({hasPermi: 'qms:aql:update'}), defaultButtons.mainListEditBtn({ hasPermi: 'qms:aql:update' }),
defaultButtons.mainListEnableBtn({hide:isShowMainButton(row,['FALSE']),hasPermi:'qms:aql:enable'}), defaultButtons.mainListEnableBtn({
defaultButtons.mainListDisableBtn({ hide: isShowMainButton(row, ['TRUE']), hasPermi: 'qms:aql:disable' }), hide: isShowMainButton(row, ['FALSE']),
defaultButtons.mainListDeleteBtn({hasPermi:'qms:aql:delete'}), // hasPermi: 'qms:aql:enable'
}),
defaultButtons.mainListDisableBtn({
hide: isShowMainButton(row, ['TRUE']),
hasPermi: 'qms:aql:disable'
}),
defaultButtons.mainListDeleteBtn({ hasPermi: 'qms:aql:delete' }) //
] ]
} }
// - // -
const buttonTableClick = async (val, row) => { const buttonTableClick = async (val, row) => {
if (val == 'edit') { // if (val == 'edit') {
//
openForm('update', row) openForm('update', row)
} else if (val == 'enable') { } else if (val == 'enable') {
handleEnable(row.id) handleEnable(row.id)
}else if (val == 'disable') { } else if (val == 'disable') {
handleDisable(row.id) handleDisable(row.id)
}else if (val == 'delete') { // } else if (val == 'delete') {
    handleDelete(row.id) //
  } handleDelete(row.id)
}
} }
/** 添加/修改操作 */ /** 添加/修改操作 */
@ -168,27 +195,33 @@ const openForm = (type: string, row?: any) => {
} }
// form // form
const formsSuccess = async (formType,data) => { const formsSuccess = async (formType, data) => {
var isHave =Aql.allSchemas.formSchema.some(function (item) { try {
return item.field === 'activeTime' || item.field === 'expireTime'; var isHave = Aql.allSchemas.formSchema.some(function (item) {
}); return item.field === 'activeTime' || item.field === 'expireTime'
if(isHave){ })
if(data.activeTime && data.expireTime && data.activeTime >=data.expireTime){ if (isHave) {
message.error('失效时间要大于生效时间') if (data.activeTime && data.expireTime && data.activeTime >= data.expireTime) {
return; message.error('失效时间要大于生效时间')
return
}
} }
if (data.activeTime == 0) data.activeTime = null
if (data.expireTime == 0) data.expireTime = null
basicFormRef.value.formLoading = true
if (formType === 'create') {
await AqlApi.createAql(data)
message.success(t('common.createSuccess'))
} else {
await AqlApi.updateAql(data)
message.success(t('common.updateSuccess'))
}
basicFormRef.value.dialogVisible = false
basicFormRef.value.formLoading = false
getList()
} finally {
basicFormRef.value.formLoading = false
} }
if(data.activeTime==0)data.activeTime = null;
if(data.expireTime==0)data.expireTime = null;
if (formType === 'create') {
await AqlApi.createAql(data)
message.success(t('common.createSuccess'))
} else {
await AqlApi.updateAql(data)
message.success(t('common.updateSuccess'))
}
basicFormRef.value.dialogVisible = false
getList()
} }
/** 详情操作 */ /** 详情操作 */
@ -268,51 +301,50 @@ const searchFormClick = (searchData) => {
const onChange = async (field, value, formRef) => { const onChange = async (field, value, formRef) => {
// "a" // "a"
if (field.startsWith("a") || field.startsWith("r")) { if (field.startsWith('a') || field.startsWith('r')) {
// "a" // "a"
const suffix = field.slice(1); const suffix = field.slice(1)
// "r" // "r"
const correspondingField = field.startsWith("a") ? "r" + suffix : "a" + suffix ; const correspondingField = field.startsWith('a') ? 'r' + suffix : 'a' + suffix
// "r" // "r"
if (value) { if (value) {
// "r" // "r"
Aql.allSchemas.formSchema.forEach(item => { Aql.allSchemas.formSchema.forEach((item) => {
if (item.field === correspondingField) { if (item.field === correspondingField) {
const setV = {}; const setV = {}
if(correspondingField.startsWith("r")){ if (correspondingField.startsWith('r')) {
setV[correspondingField] = parseInt(value) + 1; setV[correspondingField] = parseInt(value) + 1
}else { } else {
setV[correspondingField] = parseInt(value) - 1; setV[correspondingField] = parseInt(value) - 1
} }
item.componentProps.disabled = true; item.componentProps.disabled = true
// 使 Vue nextTick DOM // 使 Vue nextTick DOM
nextTick(() => { nextTick(() => {
formRef.value.setValues(setV); formRef.value.setValues(setV)
}); })
} }
}); })
}else{ } else {
Aql.allSchemas.formSchema.forEach(item => { Aql.allSchemas.formSchema.forEach((item) => {
if (item.field === correspondingField || item.field === field) { if (item.field === correspondingField || item.field === field) {
item.componentProps.disabled = false; item.componentProps.disabled = false
const setV = {}; const setV = {}
setV[correspondingField] = '' setV[correspondingField] = ''
nextTick(() => { nextTick(() => {
formRef.value.setValues(setV); formRef.value.setValues(setV)
}); })
} }
}); })
} }
} }
}; }
/** 初始化 **/ /** 初始化 **/
onMounted(async () => { onMounted(async () => {
  tableObject.params = { tableObject.params = {
    available: true available: true
  } }
getList() getList()
importTemplateData.templateUrl = await AqlApi.importTemplate() importTemplateData.templateUrl = await AqlApi.importTemplate()
}) })
</script> </script>

124
src/views/qms/counter/index.vue

@ -1,22 +1,27 @@
<template> <template>
<ContentWrap> <ContentWrap>
<!-- 搜索工作栏 --> <!-- 搜索工作栏 -->
<Search :schema="Counter.allSchemas.searchSchema" @search="setSearchParams" @reset="setSearchParams" /> <Search
:schema="Counter.allSchemas.searchSchema"
@search="setSearchParams"
@reset="setSearchParams"
/>
</ContentWrap> </ContentWrap>
<!-- 列表头部 --> <!-- 列表头部 -->
<TableHead <TableHead
:HeadButttondata="HeadButttondata" :HeadButttondata="HeadButttondata"
@button-base-click="buttonBaseClick" @button-base-click="buttonBaseClick"
:routeName="routeName" :routeName="routeName"
@updataTableColumns="updataTableColumns" @updataTableColumns="updataTableColumns"
@searchFormClick="searchFormClick" @searchFormClick="searchFormClick"
:allSchemas="Counter.allSchemas" :allSchemas="Counter.allSchemas"
/> />
<!-- 列表 --> <!-- 列表 -->
<ContentWrap> <ContentWrap>
<Table v-clientTable <Table
v-clientTable
:columns="tableColumns" :columns="tableColumns"
:data="tableObject.tableList" :data="tableObject.tableList"
:loading="tableObject.loading" :loading="tableObject.loading"
@ -27,13 +32,13 @@
v-model:currentPage="tableObject.currentPage" v-model:currentPage="tableObject.currentPage"
v-model:sort="tableObject.sort" v-model:sort="tableObject.sort"
> >
<template #code="{row}"> <template #code="{ row }">
<el-button type="primary" link @click="openDetail(row, '代码', row.code)"> <el-button type="primary" link @click="openDetail(row, '代码', row.code)">
<span>{{ row.code }}</span> <span>{{ row.code }}</span>
</el-button> </el-button>
</template> </template>
<template #action="{ row }"> <template #action="{ row }">
<ButtonBase :Butttondata="butttondata" @button-base-click="buttonTableClick($event,row)" /> <ButtonBase :Butttondata="butttondata" @button-base-click="buttonTableClick($event, row)" />
</template> </template>
</Table> </Table>
</ContentWrap> </ContentWrap>
@ -54,12 +59,17 @@
<Detail ref="detailRef" :isBasic="true" :allSchemas="Counter.allSchemas" /> <Detail ref="detailRef" :isBasic="true" :allSchemas="Counter.allSchemas" />
<!-- 导入 --> <!-- 导入 -->
<ImportForm ref="importFormRef" url="/qms/counter/import" :importTemplateData="importTemplateData" @success="importSuccess" /> <ImportForm
ref="importFormRef"
url="/qms/counter/import"
:importTemplateData="importTemplateData"
@success="importSuccess"
/>
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import download from '@/utils/download' import download from '@/utils/download'
import { Counter,CounterRules } from './counter.data' import { Counter, CounterRules } from './counter.data'
import * as CounterApi from '@/api/qms/counter' import * as CounterApi from '@/api/qms/counter'
import * as defaultButtons from '@/utils/disposition/defaultButtons' import * as defaultButtons from '@/utils/disposition/defaultButtons'
// import TableHead from '@/components/TableHead/src/TableHead.vue' // import TableHead from '@/components/TableHead/src/TableHead.vue'
@ -100,11 +110,11 @@ const { getList, setSearchParams } = tableMethods
// //
const HeadButttondata = [ const HeadButttondata = [
// defaultButtons.defaultAddBtn({hasPermi:'qms:counter:create'}), // // defaultButtons.defaultAddBtn({hasPermi:'qms:counter:create'}), //
// defaultButtons.defaultImportBtn({hasPermi:'qms:counter:import'}), // // defaultButtons.defaultImportBtn({hasPermi:'qms:counter:import'}), //
defaultButtons.defaultExportBtn({hasPermi:'qms:counter:export'}), // defaultButtons.defaultExportBtn({ hasPermi: 'qms:counter:export' }), //
defaultButtons.defaultFreshBtn(null), // defaultButtons.defaultFreshBtn(null), //
defaultButtons.defaultFilterBtn(null), // defaultButtons.defaultFilterBtn(null), //
defaultButtons.defaultSetBtn(null), // defaultButtons.defaultSetBtn(null) //
// { // {
// label: '', // label: '',
// name: 'zdy', // name: 'zdy',
@ -114,35 +124,42 @@ const HeadButttondata = [
// color: '' // color: ''
// }, // },
] ]
// //
const buttonBaseClick = (val, item) => { const buttonBaseClick = (val, item) => {
if (val == 'add') { // if (val == 'add') {
//
openForm('create') openForm('create')
} else if (val == 'import') { // } else if (val == 'import') {
//
handleImport() handleImport()
} else if (val == 'export') { // } else if (val == 'export') {
//
handleExport() handleExport()
} else if (val == 'refresh') { // } else if (val == 'refresh') {
//
getList() getList()
} else if (val == 'filtrate') { // } else if (val == 'filtrate') {
} else { // //
} else {
//
console.log('其他按钮', item) console.log('其他按钮', item)
} }
} }
// - // -
const butttondata = [ const butttondata = [
defaultButtons.mainListEditBtn({hasPermi:'qms:counter:update'}), // defaultButtons.mainListEditBtn({ hasPermi: 'qms:counter:update' }) //
// defaultButtons.mainListDeleteBtn({hasPermi:'qms:counter:delete'}), // // defaultButtons.mainListDeleteBtn({hasPermi:'qms:counter:delete'}), //
] ]
// - // -
const buttonTableClick = async (val, row) => { const buttonTableClick = async (val, row) => {
if (val == 'edit') { // if (val == 'edit') {
//
openForm('update', row) openForm('update', row)
} else if (val == 'delete') { // } else if (val == 'delete') {
//
handleDelete(row.id) handleDelete(row.id)
} }
} }
@ -162,27 +179,33 @@ const openForm = async (type: string, row?: any) => {
} }
// form // form
const formsSuccess = async (formType,data) => { const formsSuccess = async (formType, data) => {
var isHave =Counter.allSchemas.formSchema.some(function (item) { try {
return item.field === 'activeTime' || item.field === 'expireTime'; var isHave = Counter.allSchemas.formSchema.some(function (item) {
}); return item.field === 'activeTime' || item.field === 'expireTime'
if(isHave){ })
if(data.activeTime && data.expireTime && data.activeTime >=data.expireTime){ if (isHave) {
message.error('失效时间要大于生效时间') if (data.activeTime && data.expireTime && data.activeTime >= data.expireTime) {
return; message.error('失效时间要大于生效时间')
return
}
} }
if (data.activeTime == 0) data.activeTime = null
if (data.expireTime == 0) data.expireTime = null
basicFormRef.value.formLoading = true
if (formType === 'create') {
await CounterApi.createCounter(data)
message.success(t('common.createSuccess'))
} else {
await CounterApi.updateCounter(data)
message.success(t('common.updateSuccess'))
}
basicFormRef.value.dialogVisible = false
basicFormRef.value.formLoading = false
getList()
} finally {
basicFormRef.value.formLoading = false
} }
if(data.activeTime==0)data.activeTime = null;
if(data.expireTime==0)data.expireTime = null;
if (formType === 'create') {
await CounterApi.createCounter(data)
message.success(t('common.createSuccess'))
} else {
await CounterApi.updateCounter(data)
message.success(t('common.updateSuccess'))
}
basicFormRef.value.dialogVisible = false
getList()
} }
/** 详情操作 */ /** 详情操作 */
@ -246,11 +269,10 @@ const searchFormClick = (searchData) => {
/** 初始化 **/ /** 初始化 **/
onMounted(async () => { onMounted(async () => {
  tableObject.params = { tableObject.params = {
    available: true available: true
  } }
getList() getList()
importTemplateData.templateUrl = await CounterApi.importTemplate() importTemplateData.templateUrl = await CounterApi.importTemplate()
}) })
</script> </script>

211
src/views/qms/dynamicRule/index.vue

@ -1,22 +1,27 @@
<template> <template>
<ContentWrap> <ContentWrap>
<!-- 搜索工作栏 --> <!-- 搜索工作栏 -->
<Search :schema="DynamicRule.allSchemas.searchSchema" @search="setSearchParams" @reset="setSearchParams" /> <Search
:schema="DynamicRule.allSchemas.searchSchema"
@search="setSearchParams"
@reset="setSearchParams"
/>
</ContentWrap> </ContentWrap>
<!-- 列表头部 --> <!-- 列表头部 -->
<TableHead <TableHead
:HeadButttondata="HeadButttondata" :HeadButttondata="HeadButttondata"
@button-base-click="buttonBaseClick" @button-base-click="buttonBaseClick"
:routeName="routeName" :routeName="routeName"
@updataTableColumns="updataTableColumns" @updataTableColumns="updataTableColumns"
@searchFormClick="searchFormClick" @searchFormClick="searchFormClick"
:allSchemas="DynamicRule.allSchemas" :allSchemas="DynamicRule.allSchemas"
/> />
<!-- 列表 --> <!-- 列表 -->
<ContentWrap> <ContentWrap>
<Table v-clientTable <Table
v-clientTable
:columns="tableColumns" :columns="tableColumns"
:data="tableObject.tableList" :data="tableObject.tableList"
:loading="tableObject.loading" :loading="tableObject.loading"
@ -27,13 +32,16 @@
v-model:currentPage="tableObject.currentPage" v-model:currentPage="tableObject.currentPage"
v-model:sort="tableObject.sort" v-model:sort="tableObject.sort"
> >
<template #code="{row}"> <template #code="{ row }">
<el-button type="primary" link @click="openDetail(row, '代码', row.code)"> <el-button type="primary" link @click="openDetail(row, '代码', row.code)">
<span>{{ row.code }}</span> <span>{{ row.code }}</span>
</el-button> </el-button>
</template> </template>
<template #action="{ row }"> <template #action="{ row }">
<ButtonBase :Butttondata="butttondata(row)" @button-base-click="buttonTableClick($event,row)" /> <ButtonBase
:Butttondata="butttondata(row)"
@button-base-click="buttonTableClick($event, row)"
/>
</template> </template>
</Table> </Table>
</ContentWrap> </ContentWrap>
@ -60,15 +68,15 @@
<!-- 详情 --> <!-- 详情 -->
<DetailQmsCode <DetailQmsCode
ref="detailRef" ref="detailRef"
:isBasic="false" :isBasic="false"
:allSchemas="DynamicRule.allSchemas" :allSchemas="DynamicRule.allSchemas"
:detailAllSchemas="InspectionStage.allSchemas" :detailAllSchemas="InspectionStage.allSchemas"
:detailAllSchemasRules="InspectionStageRules" :detailAllSchemasRules="InspectionStageRules"
:apiCreate="InspectionStageApi.createInspectionStage" :apiCreate="InspectionStageApi.createInspectionStage"
:apiUpdate="InspectionStageApi.updateInspectionStage" :apiUpdate="InspectionStageApi.updateInspectionStage"
:apiPage="InspectionStageApi.getInspectionStagePage" :apiPage="InspectionStageApi.getInspectionStagePage"
:apiDelete="InspectionStageApi.deleteInspectionStage" :apiDelete="InspectionStageApi.deleteInspectionStage"
:detailValidate="detailValidate" :detailValidate="detailValidate"
@searchTableSuccessDetail="searchTableSuccessDetail" @searchTableSuccessDetail="searchTableSuccessDetail"
:detailButtonIsShowEdit="checkPermi(['qms:inspection-stage:update'])" :detailButtonIsShowEdit="checkPermi(['qms:inspection-stage:update'])"
@ -92,15 +100,15 @@
<script setup lang="ts"> <script setup lang="ts">
import download from '@/utils/download' import download from '@/utils/download'
import { DynamicRule,DynamicRuleRules } from './dynamicRule.data' import { DynamicRule, DynamicRuleRules } from './dynamicRule.data'
import { InspectionStage,InspectionStageRules } from '../inspectionStage/inspectionStage.data' import { InspectionStage, InspectionStageRules } from '../inspectionStage/inspectionStage.data'
import * as DynamicRuleApi from '@/api/qms/dynamicRule' import * as DynamicRuleApi from '@/api/qms/dynamicRule'
import * as InspectionStageApi from '@/api/qms/inspectionStage' import * as InspectionStageApi from '@/api/qms/inspectionStage'
import * as defaultButtons from '@/utils/disposition/defaultButtons' import * as defaultButtons from '@/utils/disposition/defaultButtons'
import UploadFile from '@/components/UploadFile/src/UploadFile.vue' import UploadFile from '@/components/UploadFile/src/UploadFile.vue'
import { checkPermi } from '@/utils/permission' import { checkPermi } from '@/utils/permission'
import ImportForm from "../../../components/ImportForm/src/ImportForm.vue"; import ImportForm from '../../../components/ImportForm/src/ImportForm.vue'
// import TableHead from '@/components/TableHead/src/TableHead.vue' // import TableHead from '@/components/TableHead/src/TableHead.vue'
// import ImportForm from '@/components/ImportForm/src/ImportForm.vue' // import ImportForm from '@/components/ImportForm/src/ImportForm.vue'
// import Detail from '@/components/Detail/src/Detail.vue' // import Detail from '@/components/Detail/src/Detail.vue'
@ -141,12 +149,12 @@ const { getList, setSearchParams } = tableMethods
// //
const HeadButttondata = [ const HeadButttondata = [
defaultButtons.defaultAddBtn({hasPermi:'qms:dynamic-rule:create'}), // defaultButtons.defaultAddBtn({ hasPermi: 'qms:dynamic-rule:create' }), //
defaultButtons.defaultImportBtn({hasPermi:'qms:dynamic-rule:import'}), // defaultButtons.defaultImportBtn({ hasPermi: 'qms:dynamic-rule:import' }), //
defaultButtons.defaultExportBtn({hasPermi:'qms:dynamic-rule:export'}), // defaultButtons.defaultExportBtn({ hasPermi: 'qms:dynamic-rule:export' }), //
defaultButtons.defaultFreshBtn(null), // defaultButtons.defaultFreshBtn(null), //
defaultButtons.defaultFilterBtn(null), // defaultButtons.defaultFilterBtn(null), //
defaultButtons.defaultSetBtn(null), // defaultButtons.defaultSetBtn(null) //
// { // {
// label: '', // label: '',
// name: 'zdy', // name: 'zdy',
@ -159,21 +167,27 @@ const HeadButttondata = [
// //
const buttonBaseClick = (val, item) => { const buttonBaseClick = (val, item) => {
if (val == 'add') { // if (val == 'add') {
//
openForm('create') openForm('create')
} else if (val == 'import') { // } else if (val == 'import') {
//
handleImport() handleImport()
} else if (val == 'export') { // } else if (val == 'export') {
//
handleExport() handleExport()
} else if (val == 'refresh') { // } else if (val == 'refresh') {
//
getList() getList()
} else if (val == 'filtrate') { // } else if (val == 'filtrate') {
} else { // //
} else {
//
console.log('其他按钮', item) console.log('其他按钮', item)
} }
} }
const isShowMainButton = (row,val) => { const isShowMainButton = (row, val) => {
if (val.indexOf(row.available) > -1) { if (val.indexOf(row.available) > -1) {
return false return false
} else { } else {
@ -183,22 +197,30 @@ const isShowMainButton = (row,val) => {
const butttondata = (row) => { const butttondata = (row) => {
return [ return [
defaultButtons.mainListEditBtn({hasPermi: 'qms:dynamic-rule:update'}), defaultButtons.mainListEditBtn({ hasPermi: 'qms:dynamic-rule:update' }),
defaultButtons.mainListEnableBtn({hide:isShowMainButton(row,['FALSE']),hasPermi:'qms:dynamic-rule:enable'}), defaultButtons.mainListEnableBtn({
defaultButtons.mainListDisableBtn({ hide: isShowMainButton(row, ['TRUE']), hasPermi: 'qms:dynamic-rule:disable' }), hide: isShowMainButton(row, ['FALSE']),
defaultButtons.mainListDeleteBtn({hasPermi:'qms:dynamic-rule:delete'}), // hasPermi: 'qms:dynamic-rule:enable'
}),
defaultButtons.mainListDisableBtn({
hide: isShowMainButton(row, ['TRUE']),
hasPermi: 'qms:dynamic-rule:disable'
}),
defaultButtons.mainListDeleteBtn({ hasPermi: 'qms:dynamic-rule:delete' }) //
] ]
} }
// - // -
const buttonTableClick = async (val, row) => { const buttonTableClick = async (val, row) => {
if (val == 'edit') { // if (val == 'edit') {
//
editForm('update', row) editForm('update', row)
} else if (val == 'delete') { // } else if (val == 'delete') {
//
handleDelete(row.id) handleDelete(row.id)
}else if (val == 'enable') { } else if (val == 'enable') {
handleEnable(row.id) handleEnable(row.id)
}else if (val == 'disable') { } else if (val == 'disable') {
handleDisable(row.id) handleDisable(row.id)
} }
} }
@ -212,33 +234,39 @@ const openForm = async (type: string, row?: any) => {
const editForm = async (type: string, row?: any) => { const editForm = async (type: string, row?: any) => {
tableData.value = [] tableData.value = []
detailMasterId.value = row.id detailMasterId.value = row.id
InspectionStageApi.getInspectionStageNoPage({masterId:row.id}).then(res=>{ InspectionStageApi.getInspectionStageNoPage({ masterId: row.id }).then((res) => {
tableData.value = res tableData.value = res
}) })
basicFormRef.value.open(type, row) basicFormRef.value.open(type, row)
} }
// form // form
const formsSuccess = async (formType,data) => { const formsSuccess = async (formType, data) => {
var isHave =DynamicRule.allSchemas.formSchema.some(function (item) { try {
return item.field === 'activeTime' || item.field === 'expireTime'; var isHave = DynamicRule.allSchemas.formSchema.some(function (item) {
}); return item.field === 'activeTime' || item.field === 'expireTime'
if(isHave){ })
if(data.activeTime && data.expireTime && data.activeTime >=data.expireTime){ if (isHave) {
message.error('失效时间要大于生效时间') if (data.activeTime && data.expireTime && data.activeTime >= data.expireTime) {
return; message.error('失效时间要大于生效时间')
return
}
} }
if (data.activeTime == 0) data.activeTime = null
if (data.expireTime == 0) data.expireTime = null
basicFormRef.value.formLoading = true
if (formType === 'create') {
await DynamicRuleApi.createDynamicRule(data)
message.success(t('common.createSuccess'))
} else {
await DynamicRuleApi.updateDynamicRule(data)
message.success(t('common.updateSuccess'))
}
basicFormRef.value.dialogVisible = false
basicFormRef.value.formLoading = false
getList()
} catch {
basicFormRef.value.formLoading = false
} }
if(data.activeTime==0)data.activeTime = null;
if(data.expireTime==0)data.expireTime = null;
if (formType === 'create') {
await DynamicRuleApi.createDynamicRule(data)
message.success(t('common.createSuccess'))
} else {
await DynamicRuleApi.updateDynamicRule(data)
message.success(t('common.updateSuccess'))
}
basicFormRef.value.dialogVisible = false
getList()
} }
/** 详情操作 */ /** 详情操作 */
@ -331,23 +359,23 @@ const handleDeleteTable = (item, index) => {
tableData.value.splice(index, 1) tableData.value.splice(index, 1)
} }
// //
const submitForm = async (formType, data) => { const submitForm = async (formType, data) => {
const flag = validateNotRepetition(tableData.value); const flag = validateNotRepetition(tableData.value)
const emptyFlag = validateDetailEmpty(tableData.value); const emptyFlag = validateDetailEmpty(tableData.value)
if(!emptyFlag){ if (!emptyFlag) {
message.alertWarning('明细不能为空') message.alertWarning('明细不能为空')
basicFormRef.value.formLoading = false basicFormRef.value.formLoading = false
return return
} }
if(!flag){ if (!flag) {
message.alertWarning('动态规则阶段不能重复') message.alertWarning('动态规则阶段不能重复')
basicFormRef.value.formLoading = false basicFormRef.value.formLoading = false
return return
} }
data.inspectionStageDOList = tableData.value// data.inspectionStageDOList = tableData.value //
try { try {
basicFormRef.value.formLoading = true
if (formType === 'create') { if (formType === 'create') {
await DynamicRuleApi.createDynamicRule(data) await DynamicRuleApi.createDynamicRule(data)
message.success(t('common.createSuccess')) message.success(t('common.createSuccess'))
@ -356,6 +384,7 @@ const submitForm = async (formType, data) => {
message.success(t('common.updateSuccess')) message.success(t('common.updateSuccess'))
} }
basicFormRef.value.dialogVisible = false basicFormRef.value.dialogVisible = false
basicFormRef.value.formLoading = false
// //
getList() getList()
} finally { } finally {
@ -363,9 +392,9 @@ const submitForm = async (formType, data) => {
} }
} }
const detailValidate = (type,data) => { const detailValidate = (type, data) => {
let tag = true; let tag = true
if(!validateIfRepeat(type,data)){ if (!validateIfRepeat(type, data)) {
tag = false tag = false
message.alertWarning('动态规则阶段不能重复') message.alertWarning('动态规则阶段不能重复')
} }
@ -374,49 +403,49 @@ const detailValidate = (type,data) => {
const detailOpenForm = (type, row, masterParmas) => { const detailOpenForm = (type, row, masterParmas) => {
detailMasterId.value = masterParmas.masterId detailMasterId.value = masterParmas.masterId
InspectionStageApi.getInspectionStageNoPage({masterId:masterParmas.masterId}).then(res=>{ InspectionStageApi.getInspectionStageNoPage({ masterId: masterParmas.masterId }).then((res) => {
detailList.value = res detailList.value = res
}) })
} }
const validateIfRepeat = (type,data) => { const validateIfRepeat = (type, data) => {
let mergedArray: any[] = []; let mergedArray: any[] = []
if(type == 'create'){ if (type == 'create') {
mergedArray = [data, ...detailList.value]; mergedArray = [data, ...detailList.value]
}if(type == 'update'){ }
detailList.value = detailList.value.filter(item => item.id !== data.id); if (type == 'update') {
mergedArray = [data, ...detailList.value]; detailList.value = detailList.value.filter((item) => item.id !== data.id)
mergedArray = [data, ...detailList.value]
} }
const stageSet = new Set(mergedArray.map(item => item.stage)); const stageSet = new Set(mergedArray.map((item) => item.stage))
return stageSet.size === mergedArray.length; return stageSet.size === mergedArray.length
} }
const validateDetailEmpty = (data) => { const validateDetailEmpty = (data) => {
const codes = data.map(item => item.stage); const codes = data.map((item) => item.stage)
if(codes.length == 0){ if (codes.length == 0) {
return false; return false
} }
return true; return true
} }
const validateNotRepetition = (data) => { const validateNotRepetition = (data) => {
// dictionaryTypeAndCode // dictionaryTypeAndCode
const codes = data.map(item => item.stage); const codes = data.map((item) => item.stage)
// Set dictionaryTypeAndCode // Set dictionaryTypeAndCode
const uniqueCodes = new Set(codes); const uniqueCodes = new Set(codes)
// Set // Set
if (codes.length > uniqueCodes.size) { if (codes.length > uniqueCodes.size) {
return false; // false return false // false
} }
return true; // true return true // true
}; }
/** 初始化 **/ /** 初始化 **/
onMounted(async () => { onMounted(async () => {
  tableObject.params = { tableObject.params = {
    available: true available: true
  } }
getList() getList()
importTemplateData.templateUrl = await DynamicRuleApi.importTemplate() importTemplateData.templateUrl = await DynamicRuleApi.importTemplate()
}) })
</script> </script>

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

@ -389,6 +389,7 @@ const tableData = ref([])
const submitForm = async (formType, data) => { const submitForm = async (formType, data) => {
// return // return
try { try {
formRef.value.formLoading = true
if (formType === 'create') { if (formType === 'create') {
await InspectionJobMainApi.createInspectionJobMain(data) await InspectionJobMainApi.createInspectionJobMain(data)
message.success(t('common.createSuccess')) message.success(t('common.createSuccess'))
@ -397,6 +398,7 @@ const submitForm = async (formType, data) => {
message.success(t('common.updateSuccess')) message.success(t('common.updateSuccess'))
} }
formRef.value.dialogVisible = false formRef.value.dialogVisible = false
formRef.value.formLoading = false
// //
getList() getList()
} finally { } finally {

163
src/views/qms/inspectionMethod/index.vue

@ -1,22 +1,27 @@
<template> <template>
<ContentWrap> <ContentWrap>
<!-- 搜索工作栏 --> <!-- 搜索工作栏 -->
<Search :schema="InspectionMethod.allSchemas.searchSchema" @search="setSearchParams" @reset="setSearchParams" /> <Search
:schema="InspectionMethod.allSchemas.searchSchema"
@search="setSearchParams"
@reset="setSearchParams"
/>
</ContentWrap> </ContentWrap>
<!-- 列表头部 --> <!-- 列表头部 -->
<TableHead <TableHead
:HeadButttondata="HeadButttondata" :HeadButttondata="HeadButttondata"
@button-base-click="buttonBaseClick" @button-base-click="buttonBaseClick"
:routeName="routeName" :routeName="routeName"
@updataTableColumns="updataTableColumns" @updataTableColumns="updataTableColumns"
@searchFormClick="searchFormClick" @searchFormClick="searchFormClick"
:allSchemas="InspectionMethod.allSchemas" :allSchemas="InspectionMethod.allSchemas"
/> />
<!-- 列表 --> <!-- 列表 -->
<ContentWrap> <ContentWrap>
<Table v-clientTable <Table
v-clientTable
:columns="tableColumns" :columns="tableColumns"
:data="tableObject.tableList" :data="tableObject.tableList"
:loading="tableObject.loading" :loading="tableObject.loading"
@ -27,13 +32,16 @@
v-model:currentPage="tableObject.currentPage" v-model:currentPage="tableObject.currentPage"
v-model:sort="tableObject.sort" v-model:sort="tableObject.sort"
> >
<template #code="{row}"> <template #code="{ row }">
<el-button type="primary" link @click="openDetail(row, '代码', row.code)"> <el-button type="primary" link @click="openDetail(row, '代码', row.code)">
<span>{{ row.code }}</span> <span>{{ row.code }}</span>
</el-button> </el-button>
</template> </template>
<template #action="{ row }"> <template #action="{ row }">
<ButtonBase :Butttondata="butttondata(row)" @button-base-click="buttonTableClick($event,row)" /> <ButtonBase
:Butttondata="butttondata(row)"
@button-base-click="buttonTableClick($event, row)"
/>
</template> </template>
</Table> </Table>
</ContentWrap> </ContentWrap>
@ -42,12 +50,14 @@
<BasicForm <BasicForm
ref="basicFormRef" ref="basicFormRef"
@success="formsSuccess" @success="formsSuccess"
:sumFormDataByForm ="(formRef,formModel)=>{ :sumFormDataByForm="
const {videoAddress} = formModel (formRef, formModel) => {
formRef.value.setValues({ const { videoAddress } = formModel
installPackageUrl:videoAddress formRef.value.setValues({
}) installPackageUrl: videoAddress
}" })
}
"
:rules="InspectionMethodRules" :rules="InspectionMethodRules"
:formAllSchemas="InspectionMethod.allSchemas" :formAllSchemas="InspectionMethod.allSchemas"
:apiUpdate="InspectionMethodApi.updateInspectionMethod" :apiUpdate="InspectionMethodApi.updateInspectionMethod"
@ -73,7 +83,7 @@
<script setup lang="ts"> <script setup lang="ts">
import download from '@/utils/download' import download from '@/utils/download'
import { InspectionMethod,InspectionMethodRules } from './inspectionMethod.data' import { InspectionMethod, InspectionMethodRules } from './inspectionMethod.data'
import * as InspectionMethodApi from '@/api/qms/inspectionMethod' import * as InspectionMethodApi from '@/api/qms/inspectionMethod'
import * as defaultButtons from '@/utils/disposition/defaultButtons' import * as defaultButtons from '@/utils/disposition/defaultButtons'
import TableHead from '@/components/TableHead/src/TableHead.vue' import TableHead from '@/components/TableHead/src/TableHead.vue'
@ -113,12 +123,12 @@ const { getList, setSearchParams } = tableMethods
// //
const HeadButttondata = [ const HeadButttondata = [
defaultButtons.defaultAddBtn({hasPermi:'qms:inspection-method:create'}), // defaultButtons.defaultAddBtn({ hasPermi: 'qms:inspection-method:create' }), //
defaultButtons.defaultImportBtn({hasPermi:'qms:inspection-method:import'}), // defaultButtons.defaultImportBtn({ hasPermi: 'qms:inspection-method:import' }), //
defaultButtons.defaultExportBtn({hasPermi:'qms:inspection-method:export'}), // defaultButtons.defaultExportBtn({ hasPermi: 'qms:inspection-method:export' }), //
defaultButtons.defaultFreshBtn(null), // defaultButtons.defaultFreshBtn(null), //
defaultButtons.defaultFilterBtn(null), // defaultButtons.defaultFilterBtn(null), //
defaultButtons.defaultSetBtn(null), // defaultButtons.defaultSetBtn(null) //
// { // {
// label: '', // label: '',
// name: 'zdy', // name: 'zdy',
@ -131,21 +141,27 @@ const HeadButttondata = [
// //
const buttonBaseClick = (val, item) => { const buttonBaseClick = (val, item) => {
if (val == 'add') { // if (val == 'add') {
//
openForm('create') openForm('create')
} else if (val == 'import') { // } else if (val == 'import') {
//
handleImport() handleImport()
} else if (val == 'export') { // } else if (val == 'export') {
//
handleExport() handleExport()
} else if (val == 'refresh') { // } else if (val == 'refresh') {
//
getList() getList()
} else if (val == 'filtrate') { // } else if (val == 'filtrate') {
} else { // //
} else {
//
console.log('其他按钮', item) console.log('其他按钮', item)
} }
} }
const isShowMainButton = (row,val) => { const isShowMainButton = (row, val) => {
if (val.indexOf(row.available) > -1) { if (val.indexOf(row.available) > -1) {
return false return false
} else { } else {
@ -155,22 +171,30 @@ const isShowMainButton = (row,val) => {
const butttondata = (row) => { const butttondata = (row) => {
return [ return [
defaultButtons.mainListEditBtn({hasPermi: 'qms:inspection-method:update'}), defaultButtons.mainListEditBtn({ hasPermi: 'qms:inspection-method:update' }),
defaultButtons.mainListEnableBtn({hide:isShowMainButton(row,['FALSE']),hasPermi:'qms:inspection-method:enable'}), defaultButtons.mainListEnableBtn({
defaultButtons.mainListDisableBtn({ hide: isShowMainButton(row, ['TRUE']), hasPermi: 'qms:inspection-method:disable' }), hide: isShowMainButton(row, ['FALSE']),
defaultButtons.mainListDeleteBtn({hasPermi:'qms:inspection-method:delete'}), // hasPermi: 'qms:inspection-method:enable'
}),
defaultButtons.mainListDisableBtn({
hide: isShowMainButton(row, ['TRUE']),
hasPermi: 'qms:inspection-method:disable'
}),
defaultButtons.mainListDeleteBtn({ hasPermi: 'qms:inspection-method:delete' }) //
] ]
} }
// - // -
const buttonTableClick = async (val, row) => { const buttonTableClick = async (val, row) => {
if (val == 'edit') { // if (val == 'edit') {
//
openForm('update', row) openForm('update', row)
} else if (val == 'delete') { // } else if (val == 'delete') {
//
handleDelete(row.id) handleDelete(row.id)
}else if (val == 'enable') { } else if (val == 'enable') {
handleEnable(row.id) handleEnable(row.id)
}else if (val == 'disable') { } else if (val == 'disable') {
handleDisable(row.id) handleDisable(row.id)
} }
} }
@ -178,7 +202,7 @@ const buttonTableClick = async (val, row) => {
/** 添加/修改操作 */ /** 添加/修改操作 */
const basicFormRef = ref() const basicFormRef = ref()
const openForm = (type: string, row?: any) => { const openForm = (type: string, row?: any) => {
if(row && row.videoAddress?.trim()){ if (row && row.videoAddress?.trim()) {
row.filePathList = row.videoAddress.split(',') row.filePathList = row.videoAddress.split(',')
} }
@ -190,39 +214,47 @@ const openForm = (type: string, row?: any) => {
} }
}) })
} }
if(type=='create'){ if (type == 'create') {
const currentTime = new Date().getTime() const currentTime = new Date().getTime()
const fileId = InspectionMethod.allSchemas.formSchema.find(item=>item.field=='fileId') const fileId = InspectionMethod.allSchemas.formSchema.find((item) => item.field == 'fileId')
const uploadFile = InspectionMethod.allSchemas.formSchema.find(item=>item.field=='videoAddress') const uploadFile = InspectionMethod.allSchemas.formSchema.find(
if(fileId){ (item) => item.field == 'videoAddress'
)
if (fileId) {
fileId['value'] = currentTime fileId['value'] = currentTime
} }
if(uploadFile){ if (uploadFile) {
uploadFile['componentProps']['upData']['tableId'] = currentTime uploadFile['componentProps']['upData']['tableId'] = currentTime
uploadFile['componentProps']['modelValue']= [] uploadFile['componentProps']['modelValue'] = []
} }
}else if(type=='update'){ } else if (type == 'update') {
const uploadFile = InspectionMethod.allSchemas.formSchema.find(item=>item.field=='videoAddress') const uploadFile = InspectionMethod.allSchemas.formSchema.find(
uploadFile['componentProps']['modelValue']= row.filePathListView (item) => item.field == 'videoAddress'
)
uploadFile['componentProps']['modelValue'] = row.filePathListView
} }
basicFormRef.value.open(type, row) basicFormRef.value.open(type, row)
} }
// form // form
const formsSuccess = async (formType,data) => { const formsSuccess = async (formType, data) => {
if (formType === 'create') { try {
basicFormRef.value.formLoading = true
delete data['uploadFile'] if (formType === 'create') {
await InspectionMethodApi.createInspectionMethod(data) delete data['uploadFile']
message.success(t('common.createSuccess')) await InspectionMethodApi.createInspectionMethod(data)
} else { message.success(t('common.createSuccess'))
// debugger } else {
await InspectionMethodApi.updateInspectionMethod(data) // debugger
message.success(t('common.updateSuccess')) await InspectionMethodApi.updateInspectionMethod(data)
message.success(t('common.updateSuccess'))
}
basicFormRef.value.dialogVisible = false
basicFormRef.value.formLoading = false
getList()
} finally {
basicFormRef.value.formLoading = false
} }
basicFormRef.value.dialogVisible = false
getList()
} }
/** 详情操作 */ /** 详情操作 */
@ -302,11 +334,10 @@ const searchFormClick = (searchData) => {
/** 初始化 **/ /** 初始化 **/
onMounted(async () => { onMounted(async () => {
  tableObject.params = { tableObject.params = {
    available: true available: true
  } }
getList() getList()
importTemplateData.templateUrl = await InspectionMethodApi.importTemplate() importTemplateData.templateUrl = await InspectionMethodApi.importTemplate()
}) })
</script> </script>

2
src/views/qms/inspectionRecordFirst/index.vue

@ -244,6 +244,7 @@ const handleMainExport = async (row: any) => {
const submitForm = async (formType, data) => { const submitForm = async (formType, data) => {
// data.subList = tableData.value // // data.subList = tableData.value //
try { try {
basicFormRef.value.formLoading = true
if (formType === 'create') { if (formType === 'create') {
await InspectionRecordMainApi.createInspectionRecordMain(data) await InspectionRecordMainApi.createInspectionRecordMain(data)
message.success(t('common.createSuccess')) message.success(t('common.createSuccess'))
@ -252,6 +253,7 @@ const handleMainExport = async (row: any) => {
message.success(t('common.updateSuccess')) message.success(t('common.updateSuccess'))
} }
basicFormRef.value.dialogVisible = false basicFormRef.value.dialogVisible = false
basicFormRef.value.formLoading = false
// //
getList() getList()
} finally { } finally {

775
src/views/qms/inspectionRequest/index.vue

@ -1,375 +1,456 @@
<template> <template>
<div> <div>
<ContentWrap> <ContentWrap>
<!-- 搜索工作栏 --> <!-- 搜索工作栏 -->
<Search :schema="InspectionMain.allSchemas.searchSchema" @search="setSearchParams" @reset="setSearchParams" /> <Search
</ContentWrap> :schema="InspectionMain.allSchemas.searchSchema"
@search="setSearchParams"
<!-- 列表头部 --> @reset="setSearchParams"
<TableHead :HeadButttondata="HeadButttondata" @button-base-click="buttonBaseClick" :routeName="routeName" />
@updataTableColumns="updataTableColumns" @searchFormClick="searchFormClick" </ContentWrap>
:allSchemas="InspectionMain.allSchemas" />
<!-- 列表头部 -->
<!-- 列表 --> <TableHead
<ContentWrap> :HeadButttondata="HeadButttondata"
<Table v-clientTable :columns="tableColumns" :data="tableObject.tableList" :loading="tableObject.loading" :pagination="{ @button-base-click="buttonBaseClick"
total: tableObject.total :routeName="routeName"
}" v-model:pageSize="tableObject.pageSize" v-model:currentPage="tableObject.currentPage" @updataTableColumns="updataTableColumns"
v-model:sort="tableObject.sort"> @searchFormClick="searchFormClick"
<template #number="{row}"> :allSchemas="InspectionMain.allSchemas"
<el-button type="primary" link @click="openDetail(row, '代码', row.number)"> />
<span>{{ row.number }}</span>
</el-button> <!-- 列表 -->
</template> <ContentWrap>
<template #action="{ row }"> <Table
<ButtonBase :Butttondata="butttondata(row)" @button-base-click="buttonTableClick($event,row)" /> v-clientTable
</template> :columns="tableColumns"
</Table> :data="tableObject.tableList"
</ContentWrap> :loading="tableObject.loading"
:pagination="{
<!-- 表单弹窗添加/修改 --> total: tableObject.total
<BasicForm }"
ref="formRef" v-model:pageSize="tableObject.pageSize"
@submitForm="submitForm" v-model:currentPage="tableObject.currentPage"
basicFormWidth="60" v-model:sort="tableObject.sort"
:rules="InspectionMainRules" >
:formAllSchemas="InspectionMain.allSchemas" <template #number="{ row }">
:tableAllSchemas="InspectionRequestPackage.allSchemas" <el-button type="primary" link @click="openDetail(row, '代码', row.number)">
:tableFormRules="InspectionRequestPackageRules" <span>{{ row.number }}</span>
:apiUpdate="InspectionMainApi.updateInspectionMain" </el-button>
:apiCreate="InspectionMainApi.createInspectionMain" </template>
:isBusiness="true" <template #action="{ row }">
:tableData="tableData" <ButtonBase
@handleAddTable="handleAddTable" :Butttondata="butttondata(row)"
@handleDeleteTable="handleDeleteTable" @button-base-click="buttonTableClick($event, row)"
@searchTableSuccess="searchTableSuccess" />
/> </template>
</Table>
<!-- 详情 --> </ContentWrap>
<Detail ref="detailRef" :isBasic="true" :allSchemas="InspectionMain.allSchemas" />
<!-- 表单弹窗添加/修改 -->
<BasicForm
<!-- 导入 --> ref="formRef"
<ImportForm ref="importFormRef" url="/request/inspection-main/import" :importTemplateData="importTemplateData" @submitForm="submitForm"
@success="importSuccess" /> basicFormWidth="60"
<!-- 包装信息 --> :rules="InspectionMainRules"
<ListTable ref="listTableRef" titleName="包装信息" :allSchemas="InspectionMain.allSchemas" :formAllSchemas="InspectionMain.allSchemas"
:detailAllSchemas="InspectionRequestPackage.allSchemas" :detailAllSchemasRules="InspectionRequestPackageRules" :tableAllSchemas="InspectionRequestPackage.allSchemas"
:list="list" @ListTableSubmit='ListTableSubmit'/> :tableFormRules="InspectionRequestPackageRules"
:apiUpdate="InspectionMainApi.updateInspectionMain"
:apiCreate="InspectionMainApi.createInspectionMain"
:isBusiness="true"
:tableData="tableData"
@handleAddTable="handleAddTable"
@handleDeleteTable="handleDeleteTable"
@searchTableSuccess="searchTableSuccess"
/>
<!-- 详情 -->
<Detail ref="detailRef" :isBasic="true" :allSchemas="InspectionMain.allSchemas" />
<!-- 导入 -->
<ImportForm
ref="importFormRef"
url="/request/inspection-main/import"
:importTemplateData="importTemplateData"
@success="importSuccess"
/>
<!-- 包装信息 -->
<ListTable
ref="listTableRef"
titleName="包装信息"
:allSchemas="InspectionMain.allSchemas"
:detailAllSchemas="InspectionRequestPackage.allSchemas"
:detailAllSchemasRules="InspectionRequestPackageRules"
:list="list"
@ListTableSubmit="ListTableSubmit"
/>
</div> </div>
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import download from '@/utils/download' import download from '@/utils/download'
import { InspectionMain, InspectionMainRules,InspectionRequestPackage,InspectionRequestPackageRules } from './inspectionRequestMain.data' import {
import * as InspectionMainApi from '@/api/qms/inspectionRequest' InspectionMain,
import * as InspectionRequestPackageApi from '@/api/qms/inspectionRequest/InspectionRequestPackage' InspectionMainRules,
import * as defaultButtons from '@/utils/disposition/defaultButtons' InspectionRequestPackage,
import ListTable from '@/components/ListTable/src/ListTable.vue' InspectionRequestPackageRules
import TableHead from '@/components/TableHead/src/TableHead.vue' } from './inspectionRequestMain.data'
import ImportForm from '@/components/ImportForm/src/ImportForm.vue' import * as InspectionMainApi from '@/api/qms/inspectionRequest'
// import { InspectionJobPackage} from '../inspectionJob/inspectionJobMain.data' import * as InspectionRequestPackageApi from '@/api/qms/inspectionRequest/InspectionRequestPackage'
import * as defaultButtons from '@/utils/disposition/defaultButtons'
defineOptions({ name: 'InspectionMain' }) import ListTable from '@/components/ListTable/src/ListTable.vue'
import TableHead from '@/components/TableHead/src/TableHead.vue'
const message = useMessage() // import ImportForm from '@/components/ImportForm/src/ImportForm.vue'
const { t } = useI18n() // // import { InspectionJobPackage} from '../inspectionJob/inspectionJobMain.data'
const route = useRoute() // defineOptions({ name: 'InspectionMain' })
const routeName = ref()
routeName.value = route.name const message = useMessage() //
const tableColumns = ref(InspectionMain.allSchemas.tableColumns) const { t } = useI18n() //
// const route = useRoute() //
const searchTableSuccess = (formField, searchField, val, formRef) => { const routeName = ref()
console.log(formField) routeName.value = route.name
console.log(searchField) const tableColumns = ref(InspectionMain.allSchemas.tableColumns)
console.log(val)
nextTick(() => { //
const setV = {} const searchTableSuccess = (formField, searchField, val, formRef) => {
setV[formField] = val[0][searchField] console.log(formField)
if(formField == 'itemCode'){ console.log(searchField)
setV['itemName'] = val[0].name console.log(val)
}else if(formField == 'supplierCode'){ nextTick(() => {
setV['supplierName'] = val[0].name const setV = {}
} setV[formField] = val[0][searchField]
if (formField == 'itemCode') {
formRef.setValues(setV) setV['itemName'] = val[0].name
}) } else if (formField == 'supplierCode') {
} setV['supplierName'] = val[0].name
}
//
const updataTableColumns = (val) => {
tableColumns.value = val
}
const { tableObject, tableMethods } = useTable({ formRef.setValues(setV)
getListApi: InspectionMainApi.getInspectionMainPage //
}) })
}
// //
const { getList, setSearchParams } = tableMethods const updataTableColumns = (val) => {
tableColumns.value = val
}
// const { tableObject, tableMethods } = useTable({
const HeadButttondata = [ getListApi: InspectionMainApi.getInspectionMainPage //
defaultButtons.defaultAddBtn({hasPermi: 'qms:inspection-request-main:create' }), // })
// defaultButtons.defaultImportBtn({ hasPermi: 'wms:inspectionMain:import' }), //
// defaultButtons.defaultExportBtn({ hasPermi: 'wms:inspectionMain:export' }), //
defaultButtons.defaultFreshBtn(null), //
defaultButtons.defaultFilterBtn(null), //
defaultButtons.defaultSetBtn(null), //
// {
// label: '',
// name: 'zdy',
// hide: false,
// type: 'primary',
// icon: 'Select',
// color: ''
// },
]
// //
const buttonBaseClick = (val, item) => { const { getList, setSearchParams } = tableMethods
if (val == 'add') { //
openForm('create') //
} else if (val == 'import') { // const HeadButttondata = [
handleImport() defaultButtons.defaultAddBtn({ hasPermi: 'qms:inspection-request-main:create' }), //
} else if (val == 'export') { // // defaultButtons.defaultImportBtn({ hasPermi: 'wms:inspectionMain:import' }), //
handleExport() // defaultButtons.defaultExportBtn({ hasPermi: 'wms:inspectionMain:export' }), //
} else if (val == 'refresh') { // defaultButtons.defaultFreshBtn(null), //
tableObject.params.isSearch = false defaultButtons.defaultFilterBtn(null), //
tableObject.params.filters = '' defaultButtons.defaultSetBtn(null) //
getList() // {
} else if (val == 'filtrate') { // // label: '',
} else { // // name: 'zdy',
console.log('其他按钮', item) // 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') {
//
tableObject.params.isSearch = false
tableObject.params.filters = ''
getList()
} else if (val == 'filtrate') {
//
} else {
//
console.log('其他按钮', item)
} }
}
// //
const isShowMainButton = (row, val) => { const isShowMainButton = (row, val) => {
if (val.indexOf(row.status) > -1) { if (val.indexOf(row.status) > -1) {
return false return false
} else { } else {
return true return true
}
}
// -
const butttondata = (row) => {
return [
defaultButtons.mainListCloseBtn({ hide: isShowMainButton(row, ['1', '2', '3', '4', '6']), hasPermi: 'qms:inspection-request-main:close' }), //
// defaultButtons.mainListReAddBtn({ hide: isShowMainButton(row, ['5']), hasPermi: 'qms:inspection-request-main:reAdd' }), //
defaultButtons.mainListSubmitBtn({ hide: isShowMainButton(row, ['1']), hasPermi: 'qms:inspection-request-main:submit' }), //
defaultButtons.mainListTurnDownBtn({ hide: isShowMainButton(row, ['2']), hasPermi: 'qms:inspection-request-main:refused' }), //
defaultButtons.mainListApproveBtn({ hide: isShowMainButton(row, ['2']), hasPermi: 'qms:inspection-request-main:agree' }), //
defaultButtons.mainListHandleBtn({ hide: isShowMainButton(row, ['3']), hasPermi: 'qms:inspection-request-main:handle' }), //
defaultButtons.mainListPackageBtn(null), //
defaultButtons.mainListEditBtn({hide:isShowMainButton(row,['1']),hasPermi:'qms:inspection-request-main:edit'}), //
]
} }
}
// -
const butttondata = (row) => {
return [
defaultButtons.mainListCloseBtn({
hide: isShowMainButton(row, ['1', '2', '3', '4', '6']),
hasPermi: 'qms:inspection-request-main:close'
}), //
// defaultButtons.mainListReAddBtn({ hide: isShowMainButton(row, ['5']), hasPermi: 'qms:inspection-request-main:reAdd' }), //
defaultButtons.mainListSubmitBtn({
hide: isShowMainButton(row, ['1']),
hasPermi: 'qms:inspection-request-main:submit'
}), //
defaultButtons.mainListTurnDownBtn({
hide: isShowMainButton(row, ['2']),
hasPermi: 'qms:inspection-request-main:refused'
}), //
defaultButtons.mainListApproveBtn({
hide: isShowMainButton(row, ['2']),
hasPermi: 'qms:inspection-request-main:agree'
}), //
defaultButtons.mainListHandleBtn({
hide: isShowMainButton(row, ['3']),
hasPermi: 'qms:inspection-request-main:handle'
}), //
defaultButtons.mainListPackageBtn(null), //
defaultButtons.mainListEditBtn({
hide: isShowMainButton(row, ['1']),
hasPermi: 'qms:inspection-request-main:edit'
}) //
]
}
const listTableRef = ref() const listTableRef = ref()
const list = ref([]) const list = ref([])
// - // -
const buttonTableClick = async (val, row) => { const buttonTableClick = async (val, row) => {
if (val == 'mainClose') { // if (val == 'mainClose') {
handleClose(row.id) //
} else if (val == 'mainReAdd') { // handleClose(row.id)
handleReAdd(row.id) } else if (val == 'mainReAdd') {
} else if (val == 'mainSubmit') { // //
handleSubmit(row.id) handleReAdd(row.id)
} else if (val == 'mainTurnDown') { // } else if (val == 'mainSubmit') {
handleRefused(row.id) //
} else if (val == 'mainApprove') { // handleSubmit(row.id)
handleAgree(row.id) } else if (val == 'mainTurnDown') {
} else if (val == 'mainHandle') { // //
handleHandle(row.id) handleRefused(row.id)
} else if (val == 'edit') { // } else if (val == 'mainApprove') {
openForm('update', row) //
}else if (val == 'mainPackage') { // handleAgree(row.id)
list.value = await InspectionRequestPackageApi.getInspectionRequestPackageList(row.id) } else if (val == 'mainHandle') {
// row.status = '1' //
listTableRef.value.openPackage(row,'包装信息',InspectionRequestPackage.allSchemas.tableColumns) handleHandle(row.id)
} } else if (val == 'edit') {
//
openForm('update', row)
} else if (val == 'mainPackage') {
//
list.value = await InspectionRequestPackageApi.getInspectionRequestPackageList(row.id)
// row.status = '1'
listTableRef.value.openPackage(
row,
'包装信息',
InspectionRequestPackage.allSchemas.tableColumns
)
} }
}
/** 关闭按钮操作 */ /** 关闭按钮操作 */
const handleClose = async (id : number) => { const handleClose = async (id: number) => {
try{ try {
await message.confirm(t('common.confirmColse')) await message.confirm(t('common.confirmColse'))
tableObject.loading = true tableObject.loading = true
await InspectionMainApi.closeInspectRequestMain(id) await InspectionMainApi.closeInspectRequestMain(id)
message.success(t('common.closeSuccess')) message.success(t('common.closeSuccess'))
await getList() await getList()
}catch{}finally{ } catch {
tableObject.loading = false } finally {
} tableObject.loading = false
} }
}
/** 重新添加按钮操作 */ /** 重新添加按钮操作 */
const handleReAdd = async (id : number) => { const handleReAdd = async (id: number) => {
try{ try {
await message.confirm(t('common.confirmReAdd')) await message.confirm(t('common.confirmReAdd'))
tableObject.loading = true tableObject.loading = true
await InspectionMainApi.reAddInspectRequestMain(id) await InspectionMainApi.reAddInspectRequestMain(id)
message.success(t('common.reAddSuccess')) message.success(t('common.reAddSuccess'))
await getList() await getList()
}catch{}finally{ } catch {
tableObject.loading = false } finally {
} tableObject.loading = false
} }
}
/** 审批通过按钮操作 */ /** 审批通过按钮操作 */
const handleAgree = async (id : number) => { const handleAgree = async (id: number) => {
try{ try {
await message.confirm(t('common.confirmAgree')) await message.confirm(t('common.confirmAgree'))
tableObject.loading = true tableObject.loading = true
await InspectionMainApi.agreeInspectRequestMain(id) await InspectionMainApi.agreeInspectRequestMain(id)
message.success(t('common.agreeSuccess')) message.success(t('common.agreeSuccess'))
await getList() await getList()
}catch{}finally{ } catch {
tableObject.loading = false } finally {
} tableObject.loading = false
} }
}
/** 审批驳回按钮操作 */ /** 审批驳回按钮操作 */
const handleRefused = async (id : number) => { const handleRefused = async (id: number) => {
try{ try {
await message.confirm(t('common.confirmRefused')) await message.confirm(t('common.confirmRefused'))
tableObject.loading = true tableObject.loading = true
await InspectionMainApi.refusedInspectRequestMain(id) await InspectionMainApi.refusedInspectRequestMain(id)
message.success(t('common.refusedSuccess')) message.success(t('common.refusedSuccess'))
await getList() await getList()
}catch{}finally{ } catch {
tableObject.loading = false } finally {
} tableObject.loading = false
} }
}
/** 处理按钮操作 */ /** 处理按钮操作 */
const handleHandle = async (id : number) => { const handleHandle = async (id: number) => {
try{ try {
await message.confirm(t('common.confirmHandle')) await message.confirm(t('common.confirmHandle'))
tableObject.loading = true tableObject.loading = true
await InspectionMainApi.handleInspectRequestMain(id) await InspectionMainApi.handleInspectRequestMain(id)
message.success(t('common.dealwithSuccess')) message.success(t('common.dealwithSuccess'))
await getList() await getList()
}catch{}finally{ } catch {
tableObject.loading = false } finally {
} tableObject.loading = false
} }
}
/** 提交按钮操作 */ /** 提交按钮操作 */
const handleSubmit = async (id : number) => { const handleSubmit = async (id: number) => {
try{ try {
await message.confirm(t('common.confirmSubmit')) await message.confirm(t('common.confirmSubmit'))
tableObject.loading = true tableObject.loading = true
await InspectionMainApi.submitInspectRequestMain(id) await InspectionMainApi.submitInspectRequestMain(id)
message.success(t('common.submitSuccess')) message.success(t('common.submitSuccess'))
await getList() await getList()
}catch{}finally{ } catch {
tableObject.loading = false } finally {
} tableObject.loading = false
} }
}
/** 添加/修改操作 */ /** 添加/修改操作 */
const formRef = ref() const formRef = ref()
const openForm = async (type : string, row ?: number) => { const openForm = async (type: string, row?: number) => {
tableData.value = [] // tableData.value = [] //
formRef.value.open(type, row) formRef.value.open(type, row)
} }
// form // form
const submitForm = async (formType, data) => { const submitForm = async (formType, data) => {
var isHave = InspectionMain.allSchemas.formSchema.some(function (item) { var isHave = InspectionMain.allSchemas.formSchema.some(function (item) {
return item.field === 'requestStartTime' || item.field === 'requestEndTime'; return item.field === 'requestStartTime' || item.field === 'requestEndTime'
}); })
if (isHave){ if (isHave) {
if (data.requestStartTime && data.requestEndTime && data.requestStartTime >= data.requestEndTime) { if (
message.error('要求结束时间要大于要求开始时间') data.requestStartTime &&
return; data.requestEndTime &&
} data.requestStartTime >= data.requestEndTime
) {
message.error('要求结束时间要大于要求开始时间')
return
} }
if (data.requestStartTime == 0) data.requestStartTime = null; }
if (data.requestEndTime == 0) data.requestEndTime = null; if (data.requestStartTime == 0) data.requestStartTime = null
data.inspectionRequestPackageCreateReqVO = tableData.value // if (data.requestEndTime == 0) data.requestEndTime = null
try{ data.inspectionRequestPackageCreateReqVO = tableData.value //
if (formType === 'create') { try {
formRef.value.formLoading = true
if (formType === 'create') {
await InspectionMainApi.createInspectionMain(data) await InspectionMainApi.createInspectionMain(data)
message.success(t('common.createSuccess')) message.success(t('common.createSuccess'))
} else { } else {
await InspectionMainApi.updateInspectionMain(data) await InspectionMainApi.updateInspectionMain(data)
message.success(t('common.updateSuccess')) message.success(t('common.updateSuccess'))
}
formRef.value.dialogVisible = false
getList()
}finally{
formRef.value.formLoading = false
} }
formRef.value.dialogVisible = false
formRef.value.formLoading = false
getList()
} finally {
formRef.value.formLoading = false
} }
}
/** 详情操作 */ /** 详情操作 */
const detailRef = ref() const detailRef = ref()
const openDetail = (row : any, titleName : any, titleValue : any) => { const openDetail = (row: any, titleName: any, titleValue: any) => {
detailRef.value.openDetail(row, titleName, titleValue, 'basicInspectionMain') detailRef.value.openDetail(row, titleName, titleValue, 'basicInspectionMain')
} }
/** 删除按钮操作 */ /** 删除按钮操作 */
const handleDelete = async (id : number) => { const handleDelete = async (id: number) => {
try { try {
// //
await message.delConfirm() await message.delConfirm()
// //
await InspectionMainApi.deleteInspectionMain(id) await InspectionMainApi.deleteInspectionMain(id)
message.success(t('common.delSuccess')) message.success(t('common.delSuccess'))
// //
await getList() await getList()
} catch { } } catch {}
} }
/** 导出按钮操作 */ /** 导出按钮操作 */
const exportLoading = ref(false) // const exportLoading = ref(false) //
const handleExport = async () => { const handleExport = async () => {
try { try {
// //
await message.exportConfirm() await message.exportConfirm()
// //
exportLoading.value = true exportLoading.value = true
const data = await InspectionMainApi.exportInspectionMain(tableObject.params) const data = await InspectionMainApi.exportInspectionMain(tableObject.params)
download.excel(data, '检验申请.xlsx') download.excel(data, '检验申请.xlsx')
} catch { } catch {
} finally { } finally {
exportLoading.value = false exportLoading.value = false
}
} }
}
/** 导入 */ /** 导入 */
const importFormRef = ref() const importFormRef = ref()
const handleImport = () => { const handleImport = () => {
importFormRef.value.open() importFormRef.value.open()
} }
// //
const importTemplateData = reactive({ const importTemplateData = reactive({
templateUrl: '', templateUrl: '',
templateTitle: '检验申请导入模版.xlsx' templateTitle: '检验申请导入模版.xlsx'
}) })
// //
const importSuccess = () => { const importSuccess = () => {
getList() getList()
} }
// //
const searchFormClick = (searchData) => { const searchFormClick = (searchData) => {
tableObject.params = { tableObject.params = {
isSearch: true, isSearch: true,
filters: searchData.filters filters: searchData.filters
}
getList() //
} }
getList() //
}
/** /**
* tableForm方法 * tableForm方法
*/ */
const tableFormKeys = {} const tableFormKeys = {}
InspectionRequestPackage.allSchemas.tableFormColumns.forEach(item => { InspectionRequestPackage.allSchemas.tableFormColumns.forEach((item) => {
tableFormKeys[item.field] = item.default ? item.default : '' tableFormKeys[item.field] = item.default ? item.default : ''
}) })
const tableData = ref([]) const tableData = ref([])
@ -382,26 +463,26 @@ const handleAddTable = () => {
const handleDeleteTable = (item, index) => { const handleDeleteTable = (item, index) => {
tableData.value.splice(index, 1) tableData.value.splice(index, 1)
} }
const ListTableSubmit =async (formType,data)=>{ const ListTableSubmit = async (formType, data) => {
console.log(formType,data) console.log(formType, data)
if (formType === 'create') { if (formType === 'create') {
await InspectionRequestPackageApi.createInspectionRequestPackage(data) await InspectionRequestPackageApi.createInspectionRequestPackage(data)
message.success(t('common.createSuccess')) message.success(t('common.createSuccess'))
} else if(formType === 'updete') { } else if (formType === 'updete') {
await InspectionRequestPackageApi.updateInspectionRequestPackage(data) await InspectionRequestPackageApi.updateInspectionRequestPackage(data)
message.success(t('common.updateSuccess')) message.success(t('common.updateSuccess'))
}else { } else {
await InspectionRequestPackageApi.deleteInspectionRequestPackage(data.id) await InspectionRequestPackageApi.deleteInspectionRequestPackage(data.id)
message.success(t('common.updateSuccess')) message.success(t('common.updateSuccess'))
} }
list.value = await InspectionRequestPackageApi.getInspectionRequestPackageList(data.masterId) list.value = await InspectionRequestPackageApi.getInspectionRequestPackageList(data.masterId)
} }
/** 初始化 **/ /** 初始化 **/
onMounted(async () => { onMounted(async () => {
  tableObject.params = { tableObject.params = {
    available: true available: true
  } }
getList() getList()
importTemplateData.templateUrl = await InspectionMainApi.importTemplate() importTemplateData.templateUrl = await InspectionMainApi.importTemplate()
}) })
</script> </script>

148
src/views/qms/inspectionScheme/index.vue

@ -1,22 +1,27 @@
<template> <template>
<ContentWrap> <ContentWrap>
<!-- 搜索工作栏 --> <!-- 搜索工作栏 -->
<Search :schema="InspectionSchemeMain.allSchemas.searchSchema" @search="setSearchParams" @reset="setSearchParams" /> <Search
:schema="InspectionSchemeMain.allSchemas.searchSchema"
@search="setSearchParams"
@reset="setSearchParams"
/>
</ContentWrap> </ContentWrap>
<!-- 列表头部 --> <!-- 列表头部 -->
<TableHead <TableHead
:HeadButttondata="HeadButttondata" :HeadButttondata="HeadButttondata"
@button-base-click="buttonBaseClick" @button-base-click="buttonBaseClick"
:routeName="routeName" :routeName="routeName"
@updataTableColumns="updataTableColumns" @updataTableColumns="updataTableColumns"
@searchFormClick="searchFormClick" @searchFormClick="searchFormClick"
:allSchemas="InspectionSchemeMain.allSchemas" :allSchemas="InspectionSchemeMain.allSchemas"
/> />
<!-- 列表 --> <!-- 列表 -->
<ContentWrap> <ContentWrap>
<Table v-clientTable <Table
v-clientTable
:columns="tableColumns" :columns="tableColumns"
:data="tableObject.tableList" :data="tableObject.tableList"
:loading="tableObject.loading" :loading="tableObject.loading"
@ -27,13 +32,16 @@
v-model:currentPage="tableObject.currentPage" v-model:currentPage="tableObject.currentPage"
v-model:sort="tableObject.sort" v-model:sort="tableObject.sort"
> >
<template #reqCode="{row}"> <template #reqCode="{ row }">
<el-button type="primary" link @click="openDetail(row, '代码', row.reqCode)"> <el-button type="primary" link @click="openDetail(row, '代码', row.reqCode)">
<span>{{ row.reqCode }}</span> <span>{{ row.reqCode }}</span>
</el-button> </el-button>
</template> </template>
<template #action="{ row }"> <template #action="{ row }">
<ButtonBase :Butttondata="butttondata(row)" @button-base-click="buttonTableClick($event,row)" /> <ButtonBase
:Butttondata="butttondata(row)"
@button-base-click="buttonTableClick($event, row)"
/>
</template> </template>
</Table> </Table>
</ContentWrap> </ContentWrap>
@ -60,16 +68,21 @@
<script setup lang="ts"> <script setup lang="ts">
import download from '@/utils/download' import download from '@/utils/download'
import {InspectionSchemeMain } from './inspectionScheme.data' import { InspectionSchemeMain } from './inspectionScheme.data'
import { InspectionTemplateMain,InspectionTemplateProcess,InspectionTemplateFeatures,InspectionTemplateRules } from '../inspectionTemplate/inspectionTemplate.data' import {
InspectionTemplateMain,
InspectionTemplateProcess,
InspectionTemplateFeatures,
InspectionTemplateRules
} from '../inspectionTemplate/inspectionTemplate.data'
import * as defaultButtons from '@/utils/disposition/defaultButtons' import * as defaultButtons from '@/utils/disposition/defaultButtons'
import TableHead from '@/components/TableHead/src/TableHead.vue' import TableHead from '@/components/TableHead/src/TableHead.vue'
import Detail from '@/components/Detail/src/Detail.vue' import Detail from '@/components/Detail/src/Detail.vue'
import AddForm from './addForm.vue' import AddForm from './addForm.vue'
import * as InspectionSchemeApi from '@/api/qms/inspectionScheme' import * as InspectionSchemeApi from '@/api/qms/inspectionScheme'
import ImportForm from "../../../components/ImportForm/src/ImportForm.vue"; import ImportForm from '../../../components/ImportForm/src/ImportForm.vue'
import * as SampleCodeApi from "@/api/qms/sampleCode"; import * as SampleCodeApi from '@/api/qms/sampleCode'
defineOptions({ name: 'InspectionScheme' }) defineOptions({ name: 'InspectionScheme' })
@ -95,12 +108,12 @@ const { getList, setSearchParams } = tableMethods
// //
const HeadButttondata = [ const HeadButttondata = [
defaultButtons.defaultAddBtn({hasPermi:'qms:inspection-scheme:create'}), // defaultButtons.defaultAddBtn({ hasPermi: 'qms:inspection-scheme:create' }), //
defaultButtons.defaultImportBtn({hasPermi:'qms:inspection-scheme:import'}), // defaultButtons.defaultImportBtn({ hasPermi: 'qms:inspection-scheme:import' }), //
defaultButtons.defaultExportBtn({hasPermi:'qms:inspection-scheme:export'}), // defaultButtons.defaultExportBtn({ hasPermi: 'qms:inspection-scheme:export' }), //
defaultButtons.defaultFreshBtn(null), // defaultButtons.defaultFreshBtn(null), //
defaultButtons.defaultFilterBtn(null), // defaultButtons.defaultFilterBtn(null), //
defaultButtons.defaultSetBtn(null), // defaultButtons.defaultSetBtn(null) //
// { // {
// label: '', // label: '',
// name: 'zdy', // name: 'zdy',
@ -113,21 +126,27 @@ const HeadButttondata = [
// //
const buttonBaseClick = (val, item) => { const buttonBaseClick = (val, item) => {
if (val == 'add') { // if (val == 'add') {
//
openForm('create') openForm('create')
} else if (val == 'import') { // } else if (val == 'import') {
//
handleImport() handleImport()
} else if (val == 'export') { // } else if (val == 'export') {
//
handleExport() handleExport()
} else if (val == 'refresh') { // } else if (val == 'refresh') {
//
getList() getList()
} else if (val == 'filtrate') { // } else if (val == 'filtrate') {
} else { // //
} else {
//
console.log('其他按钮', item) console.log('其他按钮', item)
} }
} }
const isShowMainButton = (row,val) => { const isShowMainButton = (row, val) => {
if (val.indexOf(row.available) > -1) { if (val.indexOf(row.available) > -1) {
return false return false
} else { } else {
@ -137,25 +156,33 @@ const isShowMainButton = (row,val) => {
const butttondata = (row) => { const butttondata = (row) => {
return [ return [
defaultButtons.mainListEditBtn({hasPermi: 'qms:inspection-scheme:update'}), defaultButtons.mainListEditBtn({ hasPermi: 'qms:inspection-scheme:update' }),
defaultButtons.mainListEnableBtn({hide:isShowMainButton(row,['FALSE']),hasPermi:'qms:inspection-scheme:enable'}), defaultButtons.mainListEnableBtn({
defaultButtons.mainListDisableBtn({hide:isShowMainButton(row,['TRUE']),hasPermi:'qms:inspection-scheme:disable'}), hide: isShowMainButton(row, ['FALSE']),
hasPermi: 'qms:inspection-scheme:enable'
}),
defaultButtons.mainListDisableBtn({
hide: isShowMainButton(row, ['TRUE']),
hasPermi: 'qms:inspection-scheme:disable'
}),
defaultButtons.mainCopyBtn({ hasPermi: 'qms:programme-template:copy' }), defaultButtons.mainCopyBtn({ hasPermi: 'qms:programme-template:copy' }),
defaultButtons.mainListDeleteBtn({hasPermi:'qms:inspection-scheme:delete'}), // defaultButtons.mainListDeleteBtn({ hasPermi: 'qms:inspection-scheme:delete' }) //
] ]
} }
// - // -
const buttonTableClick = async (val, row) => { const buttonTableClick = async (val, row) => {
if (val == 'edit') { // if (val == 'edit') {
//
openForm('update', row) openForm('update', row)
} else if (val == 'delete') { // } else if (val == 'delete') {
//
handleDelete(row.id) handleDelete(row.id)
}else if (val == 'enable') { } else if (val == 'enable') {
handleEnable(row.id) handleEnable(row.id)
}else if (val == 'disable') { } else if (val == 'disable') {
handleDisable(row.id) handleDisable(row.id)
}else if (val == 'copy') { } else if (val == 'copy') {
openForm('create', row) openForm('create', row)
} }
} }
@ -170,19 +197,19 @@ const openForm = (type: string, row?: any) => {
} }
// form // form
const submitForm = async (formType,data) => { const submitForm = async (formType, data) => {
var isHave =InspectionSchemeMain.allSchemas.formSchema.some(function (item) { var isHave = InspectionSchemeMain.allSchemas.formSchema.some(function (item) {
return item.field === 'effectiveDate' || item.field === 'expirationDate'; return item.field === 'effectiveDate' || item.field === 'expirationDate'
}); })
if(isHave){ if (isHave) {
if(data.effectiveDate && data.expirationDate && data.effectiveDate >=data.expirationDate){ if (data.effectiveDate && data.expirationDate && data.effectiveDate >= data.expirationDate) {
message.error('失效时间要大于生效时间') message.error('失效时间要大于生效时间')
return; return
} }
} }
const data1 = { const data1 = {
id: data.id, id: data.id,
dynamicUpdateCode:data.dynamicUpdateCode, dynamicUpdateCode: data.dynamicUpdateCode,
code: data.code, code: data.code,
description: data.description, description: data.description,
itemCode: data.itemCode, itemCode: data.itemCode,
@ -197,17 +224,23 @@ const submitForm = async (formType,data) => {
samplePieceSize: data.samplePieceSize, samplePieceSize: data.samplePieceSize,
uom: data.uom, uom: data.uom,
available: data.available, available: data.available,
content:JSON.stringify(data.process) content: JSON.stringify(data.process)
} }
if (formType === 'create') { try {
await InspectionSchemeApi.InspectionSchemeCreat(data1) basicFormRef.value.formLoading = true
message.success(t('common.createSuccess')) if (formType === 'create') {
} else { await InspectionSchemeApi.InspectionSchemeCreat(data1)
await InspectionSchemeApi.InspectionSchemeUpdate(data1) message.success(t('common.createSuccess'))
message.success(t('common.updateSuccess')) } else {
await InspectionSchemeApi.InspectionSchemeUpdate(data1)
message.success(t('common.updateSuccess'))
}
basicFormRef.value.dialogVisible = false
basicFormRef.value.formLoading = false
getList()
} finally {
basicFormRef.value.formLoading = false
} }
basicFormRef.value.dialogVisible = false
getList()
} }
/** 详情操作 */ /** 详情操作 */
@ -287,11 +320,10 @@ const importSuccess = () => {
/** 初始化 **/ /** 初始化 **/
onMounted(async () => { onMounted(async () => {
  tableObject.params = { tableObject.params = {
    available: true available: true
  } }
getList() getList()
importTemplateData.templateUrl = await InspectionSchemeApi.importTemplate() importTemplateData.templateUrl = await InspectionSchemeApi.importTemplate()
}) })
</script> </script>

117
src/views/qms/inspectionStage/index.vue

@ -1,22 +1,27 @@
<template> <template>
<ContentWrap> <ContentWrap>
<!-- 搜索工作栏 --> <!-- 搜索工作栏 -->
<Search :schema="InspectionStage.allSchemas.searchSchema" @search="setSearchParams" @reset="setSearchParams" /> <Search
:schema="InspectionStage.allSchemas.searchSchema"
@search="setSearchParams"
@reset="setSearchParams"
/>
</ContentWrap> </ContentWrap>
<!-- 列表头部 --> <!-- 列表头部 -->
<TableHead <TableHead
:HeadButttondata="HeadButttondata" :HeadButttondata="HeadButttondata"
@button-base-click="buttonBaseClick" @button-base-click="buttonBaseClick"
:routeName="routeName" :routeName="routeName"
@updataTableColumns="updataTableColumns" @updataTableColumns="updataTableColumns"
@searchFormClick="searchFormClick" @searchFormClick="searchFormClick"
:allSchemas="InspectionStage.allSchemas" :allSchemas="InspectionStage.allSchemas"
/> />
<!-- 列表 --> <!-- 列表 -->
<ContentWrap> <ContentWrap>
<Table v-clientTable <Table
v-clientTable
:columns="tableColumns" :columns="tableColumns"
:data="tableObject.tableList" :data="tableObject.tableList"
:loading="tableObject.loading" :loading="tableObject.loading"
@ -27,13 +32,13 @@
v-model:currentPage="tableObject.currentPage" v-model:currentPage="tableObject.currentPage"
v-model:sort="tableObject.sort" v-model:sort="tableObject.sort"
> >
<template #code="{row}"> <template #code="{ row }">
<el-button type="primary" link @click="openDetail(row, '代码', row.code)"> <el-button type="primary" link @click="openDetail(row, '代码', row.code)">
<span>{{ row.code }}</span> <span>{{ row.code }}</span>
</el-button> </el-button>
</template> </template>
<template #action="{ row }"> <template #action="{ row }">
<ButtonBase :Butttondata="butttondata" @button-base-click="buttonTableClick($event,row)" /> <ButtonBase :Butttondata="butttondata" @button-base-click="buttonTableClick($event, row)" />
</template> </template>
</Table> </Table>
</ContentWrap> </ContentWrap>
@ -54,12 +59,17 @@
<Detail ref="detailRef" :isBasic="true" :allSchemas="InspectionStage.allSchemas" /> <Detail ref="detailRef" :isBasic="true" :allSchemas="InspectionStage.allSchemas" />
<!-- 导入 --> <!-- 导入 -->
<ImportForm ref="importFormRef" url="/qms/inspection-stage/import" :importTemplateData="importTemplateData" @success="importSuccess" /> <ImportForm
ref="importFormRef"
url="/qms/inspection-stage/import"
:importTemplateData="importTemplateData"
@success="importSuccess"
/>
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import download from '@/utils/download' import download from '@/utils/download'
import { InspectionStage,InspectionStageRules } from './inspectionStage.data' import { InspectionStage, InspectionStageRules } from './inspectionStage.data'
import * as InspectionStageApi from '@/api/qms/inspectionStage' import * as InspectionStageApi from '@/api/qms/inspectionStage'
import * as defaultButtons from '@/utils/disposition/defaultButtons' import * as defaultButtons from '@/utils/disposition/defaultButtons'
// import TableHead from '@/components/TableHead/src/TableHead.vue' // import TableHead from '@/components/TableHead/src/TableHead.vue'
@ -99,12 +109,12 @@ const { getList, setSearchParams } = tableMethods
// //
const HeadButttondata = [ const HeadButttondata = [
defaultButtons.defaultAddBtn({hasPermi:'wms:inspectionStage:create'}), // defaultButtons.defaultAddBtn({ hasPermi: 'wms:inspectionStage:create' }), //
defaultButtons.defaultImportBtn({hasPermi:'wms:inspectionStage:import'}), // defaultButtons.defaultImportBtn({ hasPermi: 'wms:inspectionStage:import' }), //
defaultButtons.defaultExportBtn({hasPermi:'wms:inspectionStage:export'}), // defaultButtons.defaultExportBtn({ hasPermi: 'wms:inspectionStage:export' }), //
defaultButtons.defaultFreshBtn(null), // defaultButtons.defaultFreshBtn(null), //
defaultButtons.defaultFilterBtn(null), // defaultButtons.defaultFilterBtn(null), //
defaultButtons.defaultSetBtn(null), // defaultButtons.defaultSetBtn(null) //
// { // {
// label: '', // label: '',
// name: 'zdy', // name: 'zdy',
@ -117,31 +127,39 @@ const HeadButttondata = [
// //
const buttonBaseClick = (val, item) => { const buttonBaseClick = (val, item) => {
if (val == 'add') { // if (val == 'add') {
//
openForm('create') openForm('create')
} else if (val == 'import') { // } else if (val == 'import') {
//
handleImport() handleImport()
} else if (val == 'export') { // } else if (val == 'export') {
//
handleExport() handleExport()
} else if (val == 'refresh') { // } else if (val == 'refresh') {
//
getList() getList()
} else if (val == 'filtrate') { // } else if (val == 'filtrate') {
} else { // //
} else {
//
console.log('其他按钮', item) console.log('其他按钮', item)
} }
} }
// - // -
const butttondata = [ const butttondata = [
defaultButtons.mainListEditBtn({hasPermi:'wms:inspectionStage:update'}), // defaultButtons.mainListEditBtn({ hasPermi: 'wms:inspectionStage:update' }), //
defaultButtons.mainListDeleteBtn({hasPermi:'wms:inspectionStage:delete'}), // defaultButtons.mainListDeleteBtn({ hasPermi: 'wms:inspectionStage:delete' }) //
] ]
// - // -
const buttonTableClick = async (val, row) => { const buttonTableClick = async (val, row) => {
if (val == 'edit') { // if (val == 'edit') {
//
openForm('update', row) openForm('update', row)
} else if (val == 'delete') { // } else if (val == 'delete') {
//
handleDelete(row.id) handleDelete(row.id)
} }
} }
@ -153,27 +171,33 @@ const openForm = (type: string, row?: any) => {
} }
// form // form
const formsSuccess = async (formType,data) => { const formsSuccess = async (formType, data) => {
var isHave =InspectionStage.allSchemas.formSchema.some(function (item) { var isHave = InspectionStage.allSchemas.formSchema.some(function (item) {
return item.field === 'activeTime' || item.field === 'expireTime'; return item.field === 'activeTime' || item.field === 'expireTime'
}); })
if(isHave){ if (isHave) {
if(data.activeTime && data.expireTime && data.activeTime >=data.expireTime){ if (data.activeTime && data.expireTime && data.activeTime >= data.expireTime) {
message.error('失效时间要大于生效时间') message.error('失效时间要大于生效时间')
return; return
} }
} }
if(data.activeTime==0)data.activeTime = null; if (data.activeTime == 0) data.activeTime = null
if(data.expireTime==0)data.expireTime = null; if (data.expireTime == 0) data.expireTime = null
if (formType === 'create') { try {
await InspectionStageApi.createInspectionStage(data) basicFormRef.value.formLoading = true
message.success(t('common.createSuccess')) if (formType === 'create') {
} else { await InspectionStageApi.createInspectionStage(data)
await InspectionStageApi.updateInspectionStage(data) message.success(t('common.createSuccess'))
message.success(t('common.updateSuccess')) } else {
await InspectionStageApi.updateInspectionStage(data)
message.success(t('common.updateSuccess'))
}
basicFormRef.value.dialogVisible = false
basicFormRef.value.formLoading = false
getList()
} finally {
basicFormRef.value.formLoading = false
} }
basicFormRef.value.dialogVisible = false
getList()
} }
/** 详情操作 */ /** 详情操作 */
@ -240,5 +264,4 @@ onMounted(async () => {
getList() getList()
importTemplateData.templateUrl = await InspectionStageApi.importTemplate() importTemplateData.templateUrl = await InspectionStageApi.importTemplate()
}) })
</script> </script>

132
src/views/qms/inspectionTemplate/index.vue

@ -1,22 +1,27 @@
<template> <template>
<ContentWrap> <ContentWrap>
<!-- 搜索工作栏 --> <!-- 搜索工作栏 -->
<Search :schema="InspectionTemplateMain.allSchemas.searchSchema" @search="setSearchParams" @reset="setSearchParams" /> <Search
:schema="InspectionTemplateMain.allSchemas.searchSchema"
@search="setSearchParams"
@reset="setSearchParams"
/>
</ContentWrap> </ContentWrap>
<!-- 列表头部 --> <!-- 列表头部 -->
<TableHead <TableHead
:HeadButttondata="HeadButttondata" :HeadButttondata="HeadButttondata"
@button-base-click="buttonBaseClick" @button-base-click="buttonBaseClick"
:routeName="routeName" :routeName="routeName"
@updataTableColumns="updataTableColumns" @updataTableColumns="updataTableColumns"
@searchFormClick="searchFormClick" @searchFormClick="searchFormClick"
:allSchemas="InspectionTemplateMain.allSchemas" :allSchemas="InspectionTemplateMain.allSchemas"
/> />
<!-- 列表 --> <!-- 列表 -->
<ContentWrap> <ContentWrap>
<Table v-clientTable <Table
v-clientTable
:columns="tableColumns" :columns="tableColumns"
:data="tableObject.tableList" :data="tableObject.tableList"
:loading="tableObject.loading" :loading="tableObject.loading"
@ -27,13 +32,16 @@
v-model:currentPage="tableObject.currentPage" v-model:currentPage="tableObject.currentPage"
v-model:sort="tableObject.sort" v-model:sort="tableObject.sort"
> >
<template #reqCode="{row}"> <template #reqCode="{ row }">
<el-button type="primary" link @click="openDetail(row, '代码', row.reqCode)"> <el-button type="primary" link @click="openDetail(row, '代码', row.reqCode)">
<span>{{ row.reqCode }}</span> <span>{{ row.reqCode }}</span>
</el-button> </el-button>
</template> </template>
<template #action="{ row }"> <template #action="{ row }">
<ButtonBase :Butttondata="butttondata(row)" @button-base-click="buttonTableClick($event,row)" /> <ButtonBase
:Butttondata="butttondata(row)"
@button-base-click="buttonTableClick($event, row)"
/>
</template> </template>
</Table> </Table>
</ContentWrap> </ContentWrap>
@ -49,11 +57,7 @@
@submitForm="submitForm" @submitForm="submitForm"
/> />
<!-- 详情 --> <!-- 详情 -->
<Detail <Detail ref="detailRef" :isBasic="true" :allSchemas="InspectionTemplateMain.allSchemas" />
ref="detailRef"
:isBasic="true"
:allSchemas="InspectionTemplateMain.allSchemas"
/>
<!-- 导入 --> <!-- 导入 -->
<ImportForm <ImportForm
@ -69,7 +73,12 @@
<script setup lang="ts"> <script setup lang="ts">
import download from '@/utils/download' import download from '@/utils/download'
import { InspectionTemplateMain,InspectionTemplateProcess,InspectionTemplateFeatures,InspectionTemplateRules } from './inspectionTemplate.data' import {
InspectionTemplateMain,
InspectionTemplateProcess,
InspectionTemplateFeatures,
InspectionTemplateRules
} from './inspectionTemplate.data'
import * as defaultButtons from '@/utils/disposition/defaultButtons' import * as defaultButtons from '@/utils/disposition/defaultButtons'
import TableHead from '@/components/TableHead/src/TableHead.vue' import TableHead from '@/components/TableHead/src/TableHead.vue'
@ -101,12 +110,12 @@ const { getList, setSearchParams } = tableMethods
// //
const HeadButttondata = [ const HeadButttondata = [
defaultButtons.defaultAddBtn({hasPermi:'qms:programme-template:create'}), // defaultButtons.defaultAddBtn({ hasPermi: 'qms:programme-template:create' }), //
defaultButtons.defaultImportBtn({hasPermi:'qms:programme-template:import'}), // defaultButtons.defaultImportBtn({ hasPermi: 'qms:programme-template:import' }), //
defaultButtons.defaultExportBtn({hasPermi:'qms:programme-template:export'}), // defaultButtons.defaultExportBtn({ hasPermi: 'qms:programme-template:export' }), //
defaultButtons.defaultFreshBtn(null), // defaultButtons.defaultFreshBtn(null), //
defaultButtons.defaultFilterBtn(null), // defaultButtons.defaultFilterBtn(null), //
defaultButtons.defaultSetBtn(null), // defaultButtons.defaultSetBtn(null) //
// { // {
// label: '', // label: '',
// name: 'zdy', // name: 'zdy',
@ -119,16 +128,22 @@ const HeadButttondata = [
// //
const buttonBaseClick = (val, item) => { const buttonBaseClick = (val, item) => {
if (val == 'add') { // if (val == 'add') {
//
openForm('create') openForm('create')
} else if (val == 'import') { // } else if (val == 'import') {
//
handleImport() handleImport()
} else if (val == 'export') { // } else if (val == 'export') {
//
handleExport() handleExport()
} else if (val == 'refresh') { // } else if (val == 'refresh') {
//
getList() getList()
} else if (val == 'filtrate') { // } else if (val == 'filtrate') {
} else { // //
} else {
//
console.log('其他按钮', item) console.log('其他按钮', item)
} }
} }
@ -149,7 +164,7 @@ const handleExport = async () => {
} }
} }
const isShowMainButton = (row,val) => { const isShowMainButton = (row, val) => {
if (val.indexOf(row.available) > -1) { if (val.indexOf(row.available) > -1) {
return false return false
} else { } else {
@ -159,25 +174,33 @@ const isShowMainButton = (row,val) => {
const butttondata = (row) => { const butttondata = (row) => {
return [ return [
defaultButtons.mainListEditBtn({hasPermi: 'qms:programme-template:update'}), defaultButtons.mainListEditBtn({ hasPermi: 'qms:programme-template:update' }),
defaultButtons.mainListEnableBtn({hide:isShowMainButton(row,['FALSE']),hasPermi:'qms:programme-template:enable'}), defaultButtons.mainListEnableBtn({
defaultButtons.mainListDisableBtn({hide:isShowMainButton(row,['TRUE']),hasPermi:'qms:programme-template:disable'}), hide: isShowMainButton(row, ['FALSE']),
hasPermi: 'qms:programme-template:enable'
}),
defaultButtons.mainListDisableBtn({
hide: isShowMainButton(row, ['TRUE']),
hasPermi: 'qms:programme-template:disable'
}),
defaultButtons.mainCopyBtn({ hasPermi: 'qms:programme-template:copy' }), defaultButtons.mainCopyBtn({ hasPermi: 'qms:programme-template:copy' }),
defaultButtons.mainListDeleteBtn({hasPermi:'qms:programme-template:delete'}), // defaultButtons.mainListDeleteBtn({ hasPermi: 'qms:programme-template:delete' }) //
] ]
} }
// - // -
const buttonTableClick = async (val, row) => { const buttonTableClick = async (val, row) => {
if (val == 'edit') { // if (val == 'edit') {
//
openForm('update', row) openForm('update', row)
} else if (val == 'delete') { // } else if (val == 'delete') {
//
handleDelete(row.id) handleDelete(row.id)
}else if (val == 'enable') { } else if (val == 'enable') {
handleEnable(row.id) handleEnable(row.id)
}else if (val == 'disable') { } else if (val == 'disable') {
handleDisable(row.id) handleDisable(row.id)
}else if (val == 'copy') { } else if (val == 'copy') {
openForm('create', row) openForm('create', row)
} }
} }
@ -189,16 +212,22 @@ const openForm = (type: string, row?: any) => {
} }
// form // form
const submitForm = async (formType,data) => { const submitForm = async (formType, data) => {
if (formType === 'create') { try {
await InspectionProcessPageApi.inspectionTemplateCreat(data.value) basicFormRef.value.formLoading = true
message.success(t('common.createSuccess')) if (formType === 'create') {
} else { await InspectionProcessPageApi.inspectionTemplateCreat(data.value)
await InspectionProcessPageApi.inspectionTemplateUpdate(data.value) message.success(t('common.createSuccess'))
message.success(t('common.updateSuccess')) } else {
await InspectionProcessPageApi.inspectionTemplateUpdate(data.value)
message.success(t('common.updateSuccess'))
}
basicFormRef.value.dialogVisible = false
basicFormRef.value.formLoading = false
getList()
} finally {
basicFormRef.value.formLoading = false
} }
basicFormRef.value.dialogVisible = false
getList()
} }
/** 详情操作 */ /** 详情操作 */
@ -263,11 +292,10 @@ const importSuccess = () => {
/** 初始化 **/ /** 初始化 **/
onMounted(async () => { onMounted(async () => {
  tableObject.params = { tableObject.params = {
    available: true available: true
  } }
getList() getList()
importTemplateData.templateUrl = await InspectionProcessPageApi.importTemplate() importTemplateData.templateUrl = await InspectionProcessPageApi.importTemplate()
}) })
</script> </script>

2
src/views/qms/qualityNotice/index.vue

@ -184,6 +184,7 @@
// //
const submitForm = async (formType, data) => { const submitForm = async (formType, data) => {
try { try {
formRef.value.formLoading = true
if (formType === 'create') { if (formType === 'create') {
await qualityNoticeApi.qualityNoticeCreat(data) await qualityNoticeApi.qualityNoticeCreat(data)
message.success(t('common.createSuccess')) message.success(t('common.createSuccess'))
@ -192,6 +193,7 @@
message.success(t('common.updateSuccess')) message.success(t('common.updateSuccess'))
} }
formRef.value.dialogVisible = false formRef.value.dialogVisible = false
formRef.value.formLoading = false
// //
getList() getList()
} finally { } finally {

155
src/views/qms/sampleCode/index.vue

@ -1,22 +1,27 @@
<template> <template>
<ContentWrap> <ContentWrap>
<!-- 搜索工作栏 --> <!-- 搜索工作栏 -->
<Search :schema="SampleCode.allSchemas.searchSchema" @search="setSearchParams" @reset="setSearchParams" /> <Search
:schema="SampleCode.allSchemas.searchSchema"
@search="setSearchParams"
@reset="setSearchParams"
/>
</ContentWrap> </ContentWrap>
<!-- 列表头部 --> <!-- 列表头部 -->
<TableHead <TableHead
:HeadButttondata="HeadButttondata" :HeadButttondata="HeadButttondata"
@button-base-click="buttonBaseClick" @button-base-click="buttonBaseClick"
:routeName="routeName" :routeName="routeName"
@updataTableColumns="updataTableColumns" @updataTableColumns="updataTableColumns"
@searchFormClick="searchFormClick" @searchFormClick="searchFormClick"
:allSchemas="SampleCode.allSchemas" :allSchemas="SampleCode.allSchemas"
/> />
<!-- 列表 --> <!-- 列表 -->
<ContentWrap> <ContentWrap>
<Table v-clientTable <Table
v-clientTable
:columns="tableColumns" :columns="tableColumns"
:data="tableObject.tableList" :data="tableObject.tableList"
:loading="tableObject.loading" :loading="tableObject.loading"
@ -27,13 +32,16 @@
v-model:currentPage="tableObject.currentPage" v-model:currentPage="tableObject.currentPage"
v-model:sort="tableObject.sort" v-model:sort="tableObject.sort"
> >
<template #code="{row}"> <template #code="{ row }">
<el-button type="primary" link @click="openDetail(row, '代码', row.code)"> <el-button type="primary" link @click="openDetail(row, '代码', row.code)">
<span>{{ row.code }}</span> <span>{{ row.code }}</span>
</el-button> </el-button>
</template> </template>
<template #action="{ row }"> <template #action="{ row }">
<ButtonBase :Butttondata="butttondata(row)" @button-base-click="buttonTableClick($event,row)" /> <ButtonBase
:Butttondata="butttondata(row)"
@button-base-click="buttonTableClick($event, row)"
/>
</template> </template>
</Table> </Table>
</ContentWrap> </ContentWrap>
@ -55,12 +63,17 @@
<Detail ref="detailRef" :isBasic="true" :allSchemas="SampleCode.allSchemas" /> <Detail ref="detailRef" :isBasic="true" :allSchemas="SampleCode.allSchemas" />
<!-- 导入 --> <!-- 导入 -->
<ImportForm ref="importFormRef" url="/qms/sample-code/import" :importTemplateData="importTemplateData" @success="importSuccess" /> <ImportForm
ref="importFormRef"
url="/qms/sample-code/import"
:importTemplateData="importTemplateData"
@success="importSuccess"
/>
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import download from '@/utils/download' import download from '@/utils/download'
import { SampleCode,SampleCodeRules } from './sampleCode.data' import { SampleCode, SampleCodeRules } from './sampleCode.data'
import * as SampleCodeApi from '@/api/qms/sampleCode' import * as SampleCodeApi from '@/api/qms/sampleCode'
import * as defaultButtons from '@/utils/disposition/defaultButtons' import * as defaultButtons from '@/utils/disposition/defaultButtons'
import TableHead from '@/components/TableHead/src/TableHead.vue' import TableHead from '@/components/TableHead/src/TableHead.vue'
@ -100,12 +113,12 @@ const { getList, setSearchParams } = tableMethods
// //
const HeadButttondata = [ const HeadButttondata = [
defaultButtons.defaultAddBtn({hasPermi:'qms:sample-code:create'}), // defaultButtons.defaultAddBtn({ hasPermi: 'qms:sample-code:create' }), //
defaultButtons.defaultImportBtn({hasPermi:'qms:sample-code:import'}), // defaultButtons.defaultImportBtn({ hasPermi: 'qms:sample-code:import' }), //
defaultButtons.defaultExportBtn({hasPermi:'qms:sample-code:export'}), // defaultButtons.defaultExportBtn({ hasPermi: 'qms:sample-code:export' }), //
defaultButtons.defaultFreshBtn(null), // defaultButtons.defaultFreshBtn(null), //
defaultButtons.defaultFilterBtn(null), // defaultButtons.defaultFilterBtn(null), //
defaultButtons.defaultSetBtn(null), // defaultButtons.defaultSetBtn(null) //
// { // {
// label: '', // label: '',
// name: 'zdy', // name: 'zdy',
@ -118,27 +131,33 @@ const HeadButttondata = [
// //
const buttonBaseClick = (val, item) => { const buttonBaseClick = (val, item) => {
if (val == 'add') { // if (val == 'add') {
//
openForm('create') openForm('create')
} else if (val == 'import') { // } else if (val == 'import') {
//
handleImport() handleImport()
} else if (val == 'export') { // } else if (val == 'export') {
//
handleExport() handleExport()
} else if (val == 'refresh') { // } else if (val == 'refresh') {
//
tableObject.params.isSearch = false tableObject.params.isSearch = false
tableObject.params.filters = '' tableObject.params.filters = ''
// tableObject.params = { // tableObject.params = {
// isSearch: true, // isSearch: true,
// filters: searchData.filters // filters: searchData.filters
// } // }
getList() getList()
} else if (val == 'filtrate') { // } else if (val == 'filtrate') {
} else { // //
} else {
//
console.log('其他按钮', item) console.log('其他按钮', item)
} }
} }
const isShowMainButton = (row,val) => { const isShowMainButton = (row, val) => {
if (val.indexOf(row.available) > -1) { if (val.indexOf(row.available) > -1) {
return false return false
} else { } else {
@ -148,23 +167,30 @@ const isShowMainButton = (row,val) => {
const butttondata = (row) => { const butttondata = (row) => {
return [ return [
defaultButtons.mainListEditBtn({hasPermi: 'qms:sample-code:update'}), defaultButtons.mainListEditBtn({ hasPermi: 'qms:sample-code:update' }),
defaultButtons.mainListEnableBtn({hide:isShowMainButton(row,['FALSE']),hasPermi:'qms:sample-code:enable'}), defaultButtons.mainListEnableBtn({
defaultButtons.mainListDisableBtn({ hide: isShowMainButton(row, ['TRUE']), hasPermi: 'qms:sample-code:disable' }), hide: isShowMainButton(row, ['FALSE']),
defaultButtons.mainListDeleteBtn({hasPermi:'qms:sample-code:delete'}), // hasPermi: 'qms:sample-code:enable'
}),
defaultButtons.mainListDisableBtn({
hide: isShowMainButton(row, ['TRUE']),
hasPermi: 'qms:sample-code:disable'
}),
defaultButtons.mainListDeleteBtn({ hasPermi: 'qms:sample-code:delete' }) //
] ]
} }
// - // -
const buttonTableClick = async (val, row) => { const buttonTableClick = async (val, row) => {
if (val == 'edit') { // if (val == 'edit') {
//
openForm('update', row) openForm('update', row)
} else if (val == 'delete') { // } else if (val == 'delete') {
//
handleDelete(row.id) handleDelete(row.id)
}else if (val == 'enable') { } else if (val == 'enable') {
handleEnable(row.id) handleEnable(row.id)
}else if (val == 'disable') { } else if (val == 'disable') {
handleDisable(row.id) handleDisable(row.id)
} }
} }
@ -176,32 +202,38 @@ const openForm = (type: string, row?: any) => {
} }
// form // form
const formsSuccess = async (formType,data) => { const formsSuccess = async (formType, data) => {
if(data.batchLowLimiting >= data.batchUpperLimiting){ if (data.batchLowLimiting >= data.batchUpperLimiting) {
message.alertWarning('批量上限须大于批量下限') message.alertWarning('批量上限须大于批量下限')
basicFormRef.value.formLoading = false basicFormRef.value.formLoading = false
return return
} }
var isHave =SampleCode.allSchemas.formSchema.some(function (item) { var isHave = SampleCode.allSchemas.formSchema.some(function (item) {
return item.field === 'activeTime' || item.field === 'expireTime'; return item.field === 'activeTime' || item.field === 'expireTime'
}); })
if(isHave){ if (isHave) {
if(data.activeTime && data.expireTime && data.activeTime >=data.expireTime){ if (data.activeTime && data.expireTime && data.activeTime >= data.expireTime) {
message.error('失效时间要大于生效时间') message.error('失效时间要大于生效时间')
return; return
} }
} }
if(data.activeTime==0)data.activeTime = null; if (data.activeTime == 0) data.activeTime = null
if(data.expireTime==0)data.expireTime = null; if (data.expireTime == 0) data.expireTime = null
if (formType === 'create') { try {
await SampleCodeApi.createSampleCode(data) basicFormRef.value.formLoading = true
message.success(t('common.createSuccess')) if (formType === 'create') {
} else { await SampleCodeApi.createSampleCode(data)
await SampleCodeApi.updateSampleCode(data) message.success(t('common.createSuccess'))
message.success(t('common.updateSuccess')) } else {
await SampleCodeApi.updateSampleCode(data)
message.success(t('common.updateSuccess'))
}
basicFormRef.value.dialogVisible = false
basicFormRef.value.formLoading = false
getList()
} finally {
basicFormRef.value.formLoading = false
} }
basicFormRef.value.dialogVisible = false
getList()
} }
/** 详情操作 */ /** 详情操作 */
@ -279,21 +311,20 @@ const searchFormClick = (searchData) => {
getList() // getList() //
} }
const onChange = async (field, value, formRef) => { const onChange = async (field, value, formRef) => {
if(field == "batchLowLimiting" || field == "batchUpperLimiting"){ if (field == 'batchLowLimiting' || field == 'batchUpperLimiting') {
var upperLimit = formRef.value.formModel.batchUpperLimiting var upperLimit = formRef.value.formModel.batchUpperLimiting
var lowLimit = formRef.value.formModel.batchLowLimiting var lowLimit = formRef.value.formModel.batchLowLimiting
if(parseInt(upperLimit) <= parseInt(lowLimit)){ if (parseInt(upperLimit) <= parseInt(lowLimit)) {
message.warning("批量上限须大于批量下限") message.warning('批量上限须大于批量下限')
} }
} }
} }
/** 初始化 **/ /** 初始化 **/
onMounted(async () => { onMounted(async () => {
tableObject.params = { tableObject.params = {
available: true available: true
} }
getList() getList()
importTemplateData.templateUrl = await SampleCodeApi.importTemplate() importTemplateData.templateUrl = await SampleCodeApi.importTemplate()
}) })
</script> </script>

239
src/views/qms/samplingProcess/index.vue

@ -1,22 +1,27 @@
<template> <template>
<ContentWrap> <ContentWrap>
<!-- 搜索工作栏 --> <!-- 搜索工作栏 -->
<Search :schema="SamplingProcess.allSchemas.searchSchema" @search="setSearchParams" @reset="setSearchParams" /> <Search
:schema="SamplingProcess.allSchemas.searchSchema"
@search="setSearchParams"
@reset="setSearchParams"
/>
</ContentWrap> </ContentWrap>
<!-- 列表头部 --> <!-- 列表头部 -->
<TableHead <TableHead
:HeadButttondata="HeadButttondata" :HeadButttondata="HeadButttondata"
@button-base-click="buttonBaseClick" @button-base-click="buttonBaseClick"
:routeName="routeName" :routeName="routeName"
@updataTableColumns="updataTableColumns" @updataTableColumns="updataTableColumns"
@searchFormClick="searchFormClick" @searchFormClick="searchFormClick"
:allSchemas="SamplingProcess.allSchemas" :allSchemas="SamplingProcess.allSchemas"
/> />
<!-- 列表 --> <!-- 列表 -->
<ContentWrap> <ContentWrap>
<Table v-clientTable <Table
v-clientTable
:columns="tableColumns" :columns="tableColumns"
:data="tableObject.tableList" :data="tableObject.tableList"
:loading="tableObject.loading" :loading="tableObject.loading"
@ -27,13 +32,16 @@
v-model:currentPage="tableObject.currentPage" v-model:currentPage="tableObject.currentPage"
v-model:sort="tableObject.sort" v-model:sort="tableObject.sort"
> >
<template #code="{row}"> <template #code="{ row }">
<el-button type="primary" link @click="openDetail(row, '代码', row.code)"> <el-button type="primary" link @click="openDetail(row, '代码', row.code)">
<span>{{ row.code }}</span> <span>{{ row.code }}</span>
</el-button> </el-button>
</template> </template>
<template #action="{ row }"> <template #action="{ row }">
<ButtonBase :Butttondata="butttondata(row)" @button-base-click="buttonTableClick($event,row)" /> <ButtonBase
:Butttondata="butttondata(row)"
@button-base-click="buttonTableClick($event, row)"
/>
</template> </template>
</Table> </Table>
</ContentWrap> </ContentWrap>
@ -68,13 +76,13 @@
<script setup lang="ts"> <script setup lang="ts">
import download from '@/utils/download' import download from '@/utils/download'
import { SamplingProcess,SamplingProcessRules } from './samplingProcess.data' import { SamplingProcess, SamplingProcessRules } from './samplingProcess.data'
import * as SamplingProcessApi from '@/api/qms/samplingProcess' import * as SamplingProcessApi from '@/api/qms/samplingProcess'
import * as defaultButtons from '@/utils/disposition/defaultButtons' import * as defaultButtons from '@/utils/disposition/defaultButtons'
import TableHead from '@/components/TableHead/src/TableHead.vue' import TableHead from '@/components/TableHead/src/TableHead.vue'
import ImportForm from '@/components/ImportForm/src/ImportForm.vue' import ImportForm from '@/components/ImportForm/src/ImportForm.vue'
import Detail from '@/components/Detail/src/Detail.vue' import Detail from '@/components/Detail/src/Detail.vue'
import {validatePercent, validateInteger, validateTwoNum } from '@/utils/validator' import { validatePercent, validateInteger, validateTwoNum } from '@/utils/validator'
defineOptions({ name: 'SamplingProcess' }) defineOptions({ name: 'SamplingProcess' })
@ -109,12 +117,12 @@ const { getList, setSearchParams } = tableMethods
// //
const HeadButttondata = [ const HeadButttondata = [
defaultButtons.defaultAddBtn({hasPermi:'qms:sampling-process:create'}), // defaultButtons.defaultAddBtn({ hasPermi: 'qms:sampling-process:create' }), //
defaultButtons.defaultImportBtn({hasPermi:'qms:sampling-process:import'}), // defaultButtons.defaultImportBtn({ hasPermi: 'qms:sampling-process:import' }), //
defaultButtons.defaultExportBtn({hasPermi:'qms:sampling-process:export'}), // defaultButtons.defaultExportBtn({ hasPermi: 'qms:sampling-process:export' }), //
defaultButtons.defaultFreshBtn(null), // defaultButtons.defaultFreshBtn(null), //
defaultButtons.defaultFilterBtn(null), // defaultButtons.defaultFilterBtn(null), //
defaultButtons.defaultSetBtn(null), // defaultButtons.defaultSetBtn(null) //
// { // {
// label: '', // label: '',
// name: 'zdy', // name: 'zdy',
@ -127,21 +135,27 @@ const HeadButttondata = [
// //
const buttonBaseClick = (val, item) => { const buttonBaseClick = (val, item) => {
if (val == 'add') { // if (val == 'add') {
//
openForm('create') openForm('create')
} else if (val == 'import') { // } else if (val == 'import') {
//
handleImport() handleImport()
} else if (val == 'export') { // } else if (val == 'export') {
//
handleExport() handleExport()
} else if (val == 'refresh') { // } else if (val == 'refresh') {
//
getList() getList()
} else if (val == 'filtrate') { // } else if (val == 'filtrate') {
} else { // //
} else {
//
console.log('其他按钮', item) console.log('其他按钮', item)
} }
} }
const isShowMainButton = (row,val) => { const isShowMainButton = (row, val) => {
if (val.indexOf(row.available) > -1) { if (val.indexOf(row.available) > -1) {
return false return false
} else { } else {
@ -151,22 +165,30 @@ const isShowMainButton = (row,val) => {
const butttondata = (row) => { const butttondata = (row) => {
return [ return [
defaultButtons.mainListEditBtn({hasPermi: 'qms:sampling-process:update'}), defaultButtons.mainListEditBtn({ hasPermi: 'qms:sampling-process:update' }),
defaultButtons.mainListEnableBtn({hide:isShowMainButton(row,['FALSE']),hasPermi:'qms:sampling-process:enable'}), defaultButtons.mainListEnableBtn({
defaultButtons.mainListDisableBtn({ hide: isShowMainButton(row, ['TRUE']), hasPermi: 'qms:sampling-process:disable' }), hide: isShowMainButton(row, ['FALSE']),
defaultButtons.mainListDeleteBtn({hasPermi:'qms:sampling-process:delete'}), // hasPermi: 'qms:sampling-process:enable'
}),
defaultButtons.mainListDisableBtn({
hide: isShowMainButton(row, ['TRUE']),
hasPermi: 'qms:sampling-process:disable'
}),
defaultButtons.mainListDeleteBtn({ hasPermi: 'qms:sampling-process:delete' }) //
] ]
} }
// - // -
const buttonTableClick = async (val, row) => { const buttonTableClick = async (val, row) => {
if (val == 'edit') { // if (val == 'edit') {
//
openForm('update', row) openForm('update', row)
} else if (val == 'delete') { // } else if (val == 'delete') {
//
handleDelete(row.id) handleDelete(row.id)
}else if (val == 'enable') { } else if (val == 'enable') {
handleEnable(row.id) handleEnable(row.id)
}else if (val == 'disable') { } else if (val == 'disable') {
handleDisable(row.id) handleDisable(row.id)
} }
} }
@ -175,27 +197,34 @@ const buttonTableClick = async (val, row) => {
const basicFormRef = ref() const basicFormRef = ref()
// form // form
const formsSuccess = async (formType,data) => { const formsSuccess = async (formType, data) => {
var isHave =SamplingProcess.allSchemas.formSchema.some(function (item) { var isHave = SamplingProcess.allSchemas.formSchema.some(function (item) {
return item.field === 'activeTime' || item.field === 'expireTime'; return item.field === 'activeTime' || item.field === 'expireTime'
}); })
if(isHave){ if (isHave) {
if(data.activeTime && data.expireTime && data.activeTime >=data.expireTime){ if (data.activeTime && data.expireTime && data.activeTime >= data.expireTime) {
message.error('失效时间要大于生效时间') message.error('失效时间要大于生效时间')
return; return
} }
} }
if(data.activeTime==0)data.activeTime = null; if (data.activeTime == 0) data.activeTime = null
if(data.expireTime==0)data.expireTime = null; if (data.expireTime == 0) data.expireTime = null
if (formType === 'create') {
await SamplingProcessApi.createSamplingProcess(data) try {
message.success(t('common.createSuccess')) basicFormRef.value.formLoading = true
} else { if (formType === 'create') {
await SamplingProcessApi.updateSamplingProcess(data) await SamplingProcessApi.createSamplingProcess(data)
message.success(t('common.updateSuccess')) message.success(t('common.createSuccess'))
} else {
await SamplingProcessApi.updateSamplingProcess(data)
message.success(t('common.updateSuccess'))
}
basicFormRef.value.dialogVisible = false
basicFormRef.value.formLoading = false
getList()
} finally {
basicFormRef.value.formLoading = false
} }
basicFormRef.value.dialogVisible = false
getList()
} }
/** 详情操作 */ /** 详情操作 */
@ -265,74 +294,85 @@ const importSuccess = () => {
} }
const updateFormFields = (sampleType, formRef) => { const updateFormFields = (sampleType, formRef) => {
let sampleQtyLabel = ''; let sampleQtyLabel = ''
let sampleQtyDisabled = false; let sampleQtyDisabled = false
let sampleProgCodeDisabled = true; let sampleProgCodeDisabled = true
let sampleQtyRequired = false; let sampleQtyRequired = false
let sampleProgCodeRequired = false; let sampleProgCodeRequired = false
switch (sampleType) { switch (sampleType) {
case '1': case '1':
sampleQtyLabel = '样品份数'; sampleQtyLabel = '样品份数'
sampleQtyDisabled = true; sampleQtyDisabled = true
sampleQtyRequired = false; sampleQtyRequired = false
SamplingProcessRules.sampleQty = [{ required: false, message: '该项为必填项', trigger: 'blur'}] SamplingProcessRules.sampleQty = [
break; { required: false, message: '该项为必填项', trigger: 'blur' }
]
break
case '2': case '2':
sampleQtyLabel = '样品份数(%)'; sampleQtyLabel = '样品份数(%)'
sampleQtyDisabled = false; sampleQtyDisabled = false
sampleQtyRequired = true; sampleQtyRequired = true
SamplingProcessRules.sampleQty = [{ required: true, message: '该项为必填项', trigger: 'blur' },{validator:validatePercent, message: '百分比范围 0 ~ 100', trigger: 'blur'},{validator:validateTwoNum, message: '小数点后最多2位', trigger: 'blur'}] SamplingProcessRules.sampleQty = [
{ required: true, message: '该项为必填项', trigger: 'blur' },
break; { validator: validatePercent, message: '百分比范围 0 ~ 100', trigger: 'blur' },
{ validator: validateTwoNum, message: '小数点后最多2位', trigger: 'blur' }
]
break
case '3': case '3':
sampleQtyLabel = '样品份数'; sampleQtyLabel = '样品份数'
sampleQtyDisabled = false; sampleQtyDisabled = false
sampleQtyRequired = true; sampleQtyRequired = true
SamplingProcessRules.sampleQty = [{ required: true, message: '该项为必填项', trigger: 'blur' },{validator:validateInteger, message: '样品份数必须为正整数', trigger: 'blur'}] SamplingProcessRules.sampleQty = [
{ required: true, message: '该项为必填项', trigger: 'blur' },
break; { validator: validateInteger, message: '样品份数必须为正整数', trigger: 'blur' }
]
break
case '4': case '4':
sampleQtyLabel = '样品份数'; sampleQtyLabel = '样品份数'
sampleQtyDisabled = true; sampleQtyDisabled = true
sampleQtyRequired = false; sampleQtyRequired = false
sampleProgCodeDisabled = false; sampleProgCodeDisabled = false
sampleProgCodeRequired = true; sampleProgCodeRequired = true
SamplingProcessRules.sampleQty = [{ required: false, message: '该项为必填项', trigger: 'blur'}] SamplingProcessRules.sampleQty = [
break; { required: false, message: '该项为必填项', trigger: 'blur' }
]
break
default: default:
break; break
} }
SamplingProcess.allSchemas.formSchema.forEach(item => { SamplingProcess.allSchemas.formSchema.forEach((item) => {
if (item.field === 'sampleQty') { if (item.field === 'sampleQty') {
item.label = sampleQtyLabel; item.label = sampleQtyLabel
item.componentProps.disabled = sampleQtyDisabled; item.componentProps.disabled = sampleQtyDisabled
} }
if (item.field === 'sampleProgCode') { if (item.field === 'sampleProgCode') {
item.componentProps.disabled = sampleProgCodeDisabled; item.componentProps.disabled = sampleProgCodeDisabled
} }
}); })
SamplingProcessRules.sampleQty[0].required = sampleQtyRequired; SamplingProcessRules.sampleQty[0].required = sampleQtyRequired
SamplingProcessRules.sampleProgCode[0].required = sampleProgCodeRequired; SamplingProcessRules.sampleProgCode[0].required = sampleProgCodeRequired
formRef.value.setValues({ formRef.value.setValues({
sampleQty: '', sampleQty: '',
sampleProgCode: '', sampleProgCode: ''
}); })
}; }
const openForm = async (type, row) => { const openForm = async (type, row) => {
basicFormRef.value.open(type, row); basicFormRef.value.open(type, row)
updateFormFields(row.sampleType, basicFormRef); updateFormFields(row.sampleType, basicFormRef)
}; }
const onChange = async (field, value, formRef) => { const onChange = async (field, value, formRef) => {
if (field === 'sampleType') { if (field === 'sampleType') {
updateFormFields(value, formRef); updateFormFields(value, formRef)
} }
}; }
// //
const searchFormClick = (searchData) => { const searchFormClick = (searchData) => {
@ -345,11 +385,10 @@ const searchFormClick = (searchData) => {
/** 初始化 **/ /** 初始化 **/
onMounted(async () => { onMounted(async () => {
  tableObject.params = { tableObject.params = {
    available: true available: true
  } }
getList() getList()
importTemplateData.templateUrl = await SamplingProcessApi.importTemplate() importTemplateData.templateUrl = await SamplingProcessApi.importTemplate()
}) })
</script> </script>

134
src/views/qms/samplingScheme/index.vue

@ -1,22 +1,27 @@
<template> <template>
<ContentWrap> <ContentWrap>
<!-- 搜索工作栏 --> <!-- 搜索工作栏 -->
<Search :schema="SamplingScheme.allSchemas.searchSchema" @search="setSearchParams" @reset="setSearchParams" /> <Search
:schema="SamplingScheme.allSchemas.searchSchema"
@search="setSearchParams"
@reset="setSearchParams"
/>
</ContentWrap> </ContentWrap>
<!-- 列表头部 --> <!-- 列表头部 -->
<TableHead <TableHead
:HeadButttondata="HeadButttondata" :HeadButttondata="HeadButttondata"
@button-base-click="buttonBaseClick" @button-base-click="buttonBaseClick"
:routeName="routeName" :routeName="routeName"
@updataTableColumns="updataTableColumns" @updataTableColumns="updataTableColumns"
@searchFormClick="searchFormClick" @searchFormClick="searchFormClick"
:allSchemas="SamplingScheme.allSchemas" :allSchemas="SamplingScheme.allSchemas"
/> />
<!-- 列表 --> <!-- 列表 -->
<ContentWrap> <ContentWrap>
<Table v-clientTable <Table
v-clientTable
:columns="tableColumns" :columns="tableColumns"
:data="tableObject.tableList" :data="tableObject.tableList"
:loading="tableObject.loading" :loading="tableObject.loading"
@ -27,13 +32,16 @@
v-model:currentPage="tableObject.currentPage" v-model:currentPage="tableObject.currentPage"
v-model:sort="tableObject.sort" v-model:sort="tableObject.sort"
> >
<template #code="{row}"> <template #code="{ row }">
<el-button type="primary" link @click="openDetail(row, '代码', row.code)"> <el-button type="primary" link @click="openDetail(row, '代码', row.code)">
<span>{{ row.code }}</span> <span>{{ row.code }}</span>
</el-button> </el-button>
</template> </template>
<template #action="{ row }"> <template #action="{ row }">
<ButtonBase :Butttondata="butttondata(row)" @button-base-click="buttonTableClick($event,row)" /> <ButtonBase
:Butttondata="butttondata(row)"
@button-base-click="buttonTableClick($event, row)"
/>
</template> </template>
</Table> </Table>
</ContentWrap> </ContentWrap>
@ -54,12 +62,17 @@
<Detail ref="detailRef" :isBasic="true" :allSchemas="SamplingScheme.allSchemas" /> <Detail ref="detailRef" :isBasic="true" :allSchemas="SamplingScheme.allSchemas" />
<!-- 导入 --> <!-- 导入 -->
<ImportForm ref="importFormRef" url="/qms/sampling-scheme/import" :importTemplateData="importTemplateData" @success="importSuccess" /> <ImportForm
ref="importFormRef"
url="/qms/sampling-scheme/import"
:importTemplateData="importTemplateData"
@success="importSuccess"
/>
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import download from '@/utils/download' import download from '@/utils/download'
import { SamplingScheme,SamplingSchemeRules } from './samplingScheme.data' import { SamplingScheme, SamplingSchemeRules } from './samplingScheme.data'
import * as SamplingSchemeApi from '@/api/qms/samplingScheme' import * as SamplingSchemeApi from '@/api/qms/samplingScheme'
import * as defaultButtons from '@/utils/disposition/defaultButtons' import * as defaultButtons from '@/utils/disposition/defaultButtons'
import TableHead from '@/components/TableHead/src/TableHead.vue' import TableHead from '@/components/TableHead/src/TableHead.vue'
@ -99,12 +112,12 @@ const { getList, setSearchParams } = tableMethods
// //
const HeadButttondata = [ const HeadButttondata = [
defaultButtons.defaultAddBtn({hasPermi:'qms:sampling-scheme:create'}), // defaultButtons.defaultAddBtn({ hasPermi: 'qms:sampling-scheme:create' }), //
defaultButtons.defaultImportBtn({hasPermi:'qms:sampling-scheme:import'}), // defaultButtons.defaultImportBtn({ hasPermi: 'qms:sampling-scheme:import' }), //
defaultButtons.defaultExportBtn({hasPermi:'qms:sampling-scheme:export'}), // defaultButtons.defaultExportBtn({ hasPermi: 'qms:sampling-scheme:export' }), //
defaultButtons.defaultFreshBtn(null), // defaultButtons.defaultFreshBtn(null), //
defaultButtons.defaultFilterBtn(null), // defaultButtons.defaultFilterBtn(null), //
defaultButtons.defaultSetBtn(null), // defaultButtons.defaultSetBtn(null) //
// { // {
// label: '', // label: '',
// name: 'zdy', // name: 'zdy',
@ -117,21 +130,27 @@ const HeadButttondata = [
// //
const buttonBaseClick = (val, item) => { const buttonBaseClick = (val, item) => {
if (val == 'add') { // if (val == 'add') {
//
openForm('create') openForm('create')
} else if (val == 'import') { // } else if (val == 'import') {
//
handleImport() handleImport()
} else if (val == 'export') { // } else if (val == 'export') {
//
handleExport() handleExport()
} else if (val == 'refresh') { // } else if (val == 'refresh') {
//
getList() getList()
} else if (val == 'filtrate') { // } else if (val == 'filtrate') {
} else { // //
} else {
//
console.log('其他按钮', item) console.log('其他按钮', item)
} }
} }
const isShowMainButton = (row,val) => { const isShowMainButton = (row, val) => {
if (val.indexOf(row.available) > -1) { if (val.indexOf(row.available) > -1) {
return false return false
} else { } else {
@ -141,22 +160,30 @@ const isShowMainButton = (row,val) => {
const butttondata = (row) => { const butttondata = (row) => {
return [ return [
defaultButtons.mainListEditBtn({hasPermi: 'qms:sampling-scheme:update'}), defaultButtons.mainListEditBtn({ hasPermi: 'qms:sampling-scheme:update' }),
defaultButtons.mainListEnableBtn({hide:isShowMainButton(row,['FALSE']),hasPermi:'qms:sampling-scheme:enable'}), defaultButtons.mainListEnableBtn({
defaultButtons.mainListDisableBtn({ hide: isShowMainButton(row, ['TRUE']), hasPermi: 'qms:sampling-scheme:disable' }), hide: isShowMainButton(row, ['FALSE']),
defaultButtons.mainListDeleteBtn({hasPermi:'qms:sampling-scheme:delete'}), // hasPermi: 'qms:sampling-scheme:enable'
}),
defaultButtons.mainListDisableBtn({
hide: isShowMainButton(row, ['TRUE']),
hasPermi: 'qms:sampling-scheme:disable'
}),
defaultButtons.mainListDeleteBtn({ hasPermi: 'qms:sampling-scheme:delete' }) //
] ]
} }
// - // -
const buttonTableClick = async (val, row) => { const buttonTableClick = async (val, row) => {
if (val == 'edit') { // if (val == 'edit') {
//
openForm('update', row) openForm('update', row)
} else if (val == 'enable') { } else if (val == 'enable') {
handleEnable(row.id) handleEnable(row.id)
}else if (val == 'disable') { } else if (val == 'disable') {
handleDisable(row.id) handleDisable(row.id)
} else if (val == 'delete') { // } else if (val == 'delete') {
//
handleDelete(row.id) handleDelete(row.id)
} }
} }
@ -168,27 +195,33 @@ const openForm = (type: string, row?: any) => {
} }
// form // form
const formsSuccess = async (formType,data) => { const formsSuccess = async (formType, data) => {
var isHave =SamplingScheme.allSchemas.formSchema.some(function (item) { var isHave = SamplingScheme.allSchemas.formSchema.some(function (item) {
return item.field === 'activeTime' || item.field === 'expireTime'; return item.field === 'activeTime' || item.field === 'expireTime'
}); })
if(isHave){ if (isHave) {
if(data.activeTime && data.expireTime && data.activeTime >=data.expireTime){ if (data.activeTime && data.expireTime && data.activeTime >= data.expireTime) {
message.error('失效时间要大于生效时间') message.error('失效时间要大于生效时间')
return; return
} }
} }
if(data.activeTime==0)data.activeTime = null; if (data.activeTime == 0) data.activeTime = null
if(data.expireTime==0)data.expireTime = null; if (data.expireTime == 0) data.expireTime = null
if (formType === 'create') { try {
await SamplingSchemeApi.createSamplingScheme(data) basicFormRef.value.formLoading = true
message.success(t('common.createSuccess')) if (formType === 'create') {
} else { await SamplingSchemeApi.createSamplingScheme(data)
await SamplingSchemeApi.updateSamplingScheme(data) message.success(t('common.createSuccess'))
message.success(t('common.updateSuccess')) } else {
await SamplingSchemeApi.updateSamplingScheme(data)
message.success(t('common.updateSuccess'))
}
basicFormRef.value.dialogVisible = false
basicFormRef.value.formLoading = false
getList()
} finally {
basicFormRef.value.formLoading = false
} }
basicFormRef.value.dialogVisible = false
getList()
} }
/** 详情操作 */ /** 详情操作 */
@ -275,5 +308,4 @@ onMounted(async () => {
getList() getList()
importTemplateData.templateUrl = await SamplingSchemeApi.importTemplate() importTemplateData.templateUrl = await SamplingSchemeApi.importTemplate()
}) })
</script> </script>

114
src/views/qms/selectedProject/index.vue

@ -1,18 +1,22 @@
<template> <template>
<ContentWrap> <ContentWrap>
<!-- 搜索工作栏 --> <!-- 搜索工作栏 -->
<Search :schema="SelectedProject.allSchemas.searchSchema" @search="setSearchParams" @reset="setSearchParams" /> <Search
:schema="SelectedProject.allSchemas.searchSchema"
@search="setSearchParams"
@reset="setSearchParams"
/>
</ContentWrap> </ContentWrap>
<!-- 列表头部 --> <!-- 列表头部 -->
<TableHead <TableHead
:HeadButttondata="HeadButttondata" :HeadButttondata="HeadButttondata"
@button-base-click="buttonBaseClick" @button-base-click="buttonBaseClick"
:routeName="routeName" :routeName="routeName"
@updataTableColumns="updataTableColumns" @updataTableColumns="updataTableColumns"
@searchFormClick="searchFormClick" @searchFormClick="searchFormClick"
:allSchemas="SelectedProject.allSchemas" :allSchemas="SelectedProject.allSchemas"
/> />
<!-- 列表 --> <!-- 列表 -->
<ContentWrap> <ContentWrap>
@ -27,13 +31,13 @@
v-model:currentPage="tableObject.currentPage" v-model:currentPage="tableObject.currentPage"
v-model:sort="tableObject.sort" v-model:sort="tableObject.sort"
> >
<template #code="{row}"> <template #code="{ row }">
<el-button type="primary" link @click="openDetail(row, '代码', row.code)"> <el-button type="primary" link @click="openDetail(row, '代码', row.code)">
<span>{{ row.code }}</span> <span>{{ row.code }}</span>
</el-button> </el-button>
</template> </template>
<template #action="{ row }"> <template #action="{ row }">
<ButtonBase :Butttondata="butttondata" @button-base-click="buttonTableClick($event,row)" /> <ButtonBase :Butttondata="butttondata" @button-base-click="buttonTableClick($event, row)" />
</template> </template>
</Table> </Table>
</ContentWrap> </ContentWrap>
@ -54,12 +58,17 @@
<Detail ref="detailRef" :isBasic="true" :allSchemas="SelectedProject.allSchemas" /> <Detail ref="detailRef" :isBasic="true" :allSchemas="SelectedProject.allSchemas" />
<!-- 导入 --> <!-- 导入 -->
<ImportForm ref="importFormRef" url="/qms/selected-project/import" :importTemplateData="importTemplateData" @success="importSuccess" /> <ImportForm
ref="importFormRef"
url="/qms/selected-project/import"
:importTemplateData="importTemplateData"
@success="importSuccess"
/>
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import download from '@/utils/download' import download from '@/utils/download'
import { SelectedProject,SelectedProjectRules } from './selectedProject.data' import { SelectedProject, SelectedProjectRules } from './selectedProject.data'
import * as SelectedProjectApi from '@/api/qms/selectedProject' import * as SelectedProjectApi from '@/api/qms/selectedProject'
import * as defaultButtons from '@/utils/disposition/defaultButtons' import * as defaultButtons from '@/utils/disposition/defaultButtons'
// import TableHead from '@/components/TableHead/src/TableHead.vue' // import TableHead from '@/components/TableHead/src/TableHead.vue'
@ -99,12 +108,12 @@ const { getList, setSearchParams } = tableMethods
// //
const HeadButttondata = [ const HeadButttondata = [
defaultButtons.defaultAddBtn({hasPermi:'qms:selectedProject:create'}), // defaultButtons.defaultAddBtn({ hasPermi: 'qms:selectedProject:create' }), //
defaultButtons.defaultImportBtn({hasPermi:'qms:selectedProject:import'}), // defaultButtons.defaultImportBtn({ hasPermi: 'qms:selectedProject:import' }), //
defaultButtons.defaultExportBtn({hasPermi:'qms:selectedProject:export'}), // defaultButtons.defaultExportBtn({ hasPermi: 'qms:selectedProject:export' }), //
defaultButtons.defaultFreshBtn(null), // defaultButtons.defaultFreshBtn(null), //
defaultButtons.defaultFilterBtn(null), // defaultButtons.defaultFilterBtn(null), //
defaultButtons.defaultSetBtn(null), // defaultButtons.defaultSetBtn(null) //
// { // {
// label: '', // label: '',
// name: 'zdy', // name: 'zdy',
@ -117,31 +126,39 @@ const HeadButttondata = [
// //
const buttonBaseClick = (val, item) => { const buttonBaseClick = (val, item) => {
if (val == 'add') { // if (val == 'add') {
//
openForm('create') openForm('create')
} else if (val == 'import') { // } else if (val == 'import') {
//
handleImport() handleImport()
} else if (val == 'export') { // } else if (val == 'export') {
//
handleExport() handleExport()
} else if (val == 'refresh') { // } else if (val == 'refresh') {
//
getList() getList()
} else if (val == 'filtrate') { // } else if (val == 'filtrate') {
} else { // //
} else {
//
console.log('其他按钮', item) console.log('其他按钮', item)
} }
} }
// - // -
const butttondata = [ const butttondata = [
defaultButtons.mainListEditBtn({hasPermi:'qms:selectedProject:update'}), // defaultButtons.mainListEditBtn({ hasPermi: 'qms:selectedProject:update' }), //
defaultButtons.mainListDeleteBtn({hasPermi:'qms:selectedProject:delete'}), // defaultButtons.mainListDeleteBtn({ hasPermi: 'qms:selectedProject:delete' }) //
] ]
// - // -
const buttonTableClick = async (val, row) => { const buttonTableClick = async (val, row) => {
if (val == 'edit') { // if (val == 'edit') {
//
openForm('update', row) openForm('update', row)
} else if (val == 'delete') { // } else if (val == 'delete') {
//
handleDelete(row.id) handleDelete(row.id)
} }
} }
@ -153,27 +170,33 @@ const openForm = (type: string, row?: any) => {
} }
// form // form
const formsSuccess = async (formType,data) => { const formsSuccess = async (formType, data) => {
var isHave =SelectedProject.allSchemas.formSchema.some(function (item) { var isHave = SelectedProject.allSchemas.formSchema.some(function (item) {
return item.field === 'activeTime' || item.field === 'expireTime'; return item.field === 'activeTime' || item.field === 'expireTime'
}); })
if(isHave){ if (isHave) {
if(data.activeTime && data.expireTime && data.activeTime >=data.expireTime){ if (data.activeTime && data.expireTime && data.activeTime >= data.expireTime) {
message.error('失效时间要大于生效时间') message.error('失效时间要大于生效时间')
return; return
} }
} }
if(data.activeTime==0)data.activeTime = null; if (data.activeTime == 0) data.activeTime = null
if(data.expireTime==0)data.expireTime = null; if (data.expireTime == 0) data.expireTime = null
if (formType === 'create') { try {
await SelectedProjectApi.createSelectedProject(data) basicFormRef.value.formLoading = true
message.success(t('common.createSuccess')) if (formType === 'create') {
} else { await SelectedProjectApi.createSelectedProject(data)
await SelectedProjectApi.updateSelectedProject(data) message.success(t('common.createSuccess'))
message.success(t('common.updateSuccess')) } else {
await SelectedProjectApi.updateSelectedProject(data)
message.success(t('common.updateSuccess'))
}
basicFormRef.value.dialogVisible = false
basicFormRef.value.formLoading = false
getList()
} finally {
basicFormRef.value.formLoading = false
} }
basicFormRef.value.dialogVisible = false
getList()
} }
/** 详情操作 */ /** 详情操作 */
@ -240,5 +263,4 @@ onMounted(async () => {
getList() getList()
importTemplateData.templateUrl = await SelectedProjectApi.importTemplate() importTemplateData.templateUrl = await SelectedProjectApi.importTemplate()
}) })
</script> </script>

231
src/views/qms/selectedSet/index.vue

@ -1,22 +1,27 @@
<template> <template>
<ContentWrap> <ContentWrap>
<!-- 搜索工作栏 --> <!-- 搜索工作栏 -->
<Search :schema="SelectedSet.allSchemas.searchSchema" @search="setSearchParams" @reset="setSearchParams" /> <Search
:schema="SelectedSet.allSchemas.searchSchema"
@search="setSearchParams"
@reset="setSearchParams"
/>
</ContentWrap> </ContentWrap>
<!-- 列表头部 --> <!-- 列表头部 -->
<TableHead <TableHead
:HeadButttondata="HeadButttondata" :HeadButttondata="HeadButttondata"
@button-base-click="buttonBaseClick" @button-base-click="buttonBaseClick"
:routeName="routeName" :routeName="routeName"
@updataTableColumns="updataTableColumns" @updataTableColumns="updataTableColumns"
@searchFormClick="searchFormClick" @searchFormClick="searchFormClick"
:allSchemas="SelectedSet.allSchemas" :allSchemas="SelectedSet.allSchemas"
/> />
<!-- 列表 --> <!-- 列表 -->
<ContentWrap> <ContentWrap>
<Table v-clientTable <Table
v-clientTable
:columns="tableColumns" :columns="tableColumns"
:data="tableObject.tableList" :data="tableObject.tableList"
:loading="tableObject.loading" :loading="tableObject.loading"
@ -27,13 +32,16 @@
v-model:currentPage="tableObject.currentPage" v-model:currentPage="tableObject.currentPage"
v-model:sort="tableObject.sort" v-model:sort="tableObject.sort"
> >
<template #code="{row}"> <template #code="{ row }">
<el-button type="primary" link @click="openDetail(row, '代码', row.code)"> <el-button type="primary" link @click="openDetail(row, '代码', row.code)">
<span>{{ row.code }}</span> <span>{{ row.code }}</span>
</el-button> </el-button>
</template> </template>
<template #action="{ row }"> <template #action="{ row }">
<ButtonBase :Butttondata="butttondata(row)" @button-base-click="buttonTableClick($event,row)" /> <ButtonBase
:Butttondata="butttondata(row)"
@button-base-click="buttonTableClick($event, row)"
/>
</template> </template>
</Table> </Table>
</ContentWrap> </ContentWrap>
@ -60,24 +68,24 @@
/> />
<!-- 详情 --> <!-- 详情 -->
<DetailQmsCode <DetailQmsCode
ref="detailRef" ref="detailRef"
:isBasic="false" :isBasic="false"
:allSchemas="SelectedSet.allSchemas" :allSchemas="SelectedSet.allSchemas"
:detailAllSchemas="SelectedProject.allSchemas" :detailAllSchemas="SelectedProject.allSchemas"
:detailAllSchemasRules="SelectedProjectRules" :detailAllSchemasRules="SelectedProjectRules"
:apiCreate="SelectedProjectApi.createSelectedProject" :apiCreate="SelectedProjectApi.createSelectedProject"
:apiUpdate="SelectedProjectApi.updateSelectedProject" :apiUpdate="SelectedProjectApi.updateSelectedProject"
:apiPage="SelectedProjectApi.getSelectedProjectPage" :apiPage="SelectedProjectApi.getSelectedProjectPage"
:apiDelete="SelectedProjectApi.deleteSelectedProject" :apiDelete="SelectedProjectApi.deleteSelectedProject"
:detailValidate="detailValidate" :detailValidate="detailValidate"
@searchTableSuccessDetail="searchTableSuccessDetail" @searchTableSuccessDetail="searchTableSuccessDetail"
:detailButtonIsShowEdit="checkPermi(['qms:selected-project:update'])" :detailButtonIsShowEdit="checkPermi(['qms:selected-project:update'])"
:detailButtonIsShowAdd="checkPermi(['qms:selected-project:create'])" :detailButtonIsShowAdd="checkPermi(['qms:selected-project:create'])"
:detailButtonIsShowDelete="checkPermi(['qms:selected-project:delete'])" :detailButtonIsShowDelete="checkPermi(['qms:selected-project:delete'])"
@detailOpenForm="detailOpenForm" @detailOpenForm="detailOpenForm"
@detailBasicFormOnChange="detailBasiFormOnChange" @detailBasicFormOnChange="detailBasiFormOnChange"
:detailButtonIsShowFilter="false" :detailButtonIsShowFilter="false"
/> />
<!-- 导入 --> <!-- 导入 -->
@ -94,16 +102,16 @@
<script setup lang="ts"> <script setup lang="ts">
import download from '@/utils/download' import download from '@/utils/download'
import { SelectedSet,SelectedSetRules } from './selectedSet.data' import { SelectedSet, SelectedSetRules } from './selectedSet.data'
import * as SelectedSetApi from '@/api/qms/selectedSet' import * as SelectedSetApi from '@/api/qms/selectedSet'
import * as defaultButtons from '@/utils/disposition/defaultButtons' import * as defaultButtons from '@/utils/disposition/defaultButtons'
import { SelectedProject,SelectedProjectRules } from '../selectedProject/selectedProject.data' import { SelectedProject, SelectedProjectRules } from '../selectedProject/selectedProject.data'
import * as SelectedProjectApi from '@/api/qms/selectedProject' import * as SelectedProjectApi from '@/api/qms/selectedProject'
import * as DictDataApi from '@/api/system/dict/dict.data' import * as DictDataApi from '@/api/system/dict/dict.data'
import component from 'virtual:svg-icons-register' import component from 'virtual:svg-icons-register'
import * as DictTypeApi from '@/api/system/dict/dict.type' import * as DictTypeApi from '@/api/system/dict/dict.type'
import { checkPermi } from '@/utils/permission' import { checkPermi } from '@/utils/permission'
import ImportForm from "../../../components/ImportForm/src/ImportForm.vue"; import ImportForm from '../../../components/ImportForm/src/ImportForm.vue'
// import TableHead from '@/components/TableHead/src/TableHead.vue' // import TableHead from '@/components/TableHead/src/TableHead.vue'
// import ImportForm from '@/components/ImportForm/src/ImportForm.vue' // import ImportForm from '@/components/ImportForm/src/ImportForm.vue'
// import Detail from '@/components/Detail/src/Detail.vue' // import Detail from '@/components/Detail/src/Detail.vue'
@ -145,12 +153,12 @@ const { getList, setSearchParams } = tableMethods
// //
const HeadButttondata = [ const HeadButttondata = [
defaultButtons.defaultAddBtn({hasPermi:'qms:selected-set:query'}), // defaultButtons.defaultAddBtn({ hasPermi: 'qms:selected-set:query' }), //
defaultButtons.defaultImportBtn({hasPermi:'qms:selected-set:import'}), // defaultButtons.defaultImportBtn({ hasPermi: 'qms:selected-set:import' }), //
defaultButtons.defaultExportBtn({hasPermi:'qms:selected-set:export'}), // defaultButtons.defaultExportBtn({ hasPermi: 'qms:selected-set:export' }), //
defaultButtons.defaultFreshBtn(null), // defaultButtons.defaultFreshBtn(null), //
defaultButtons.defaultFilterBtn(null), // defaultButtons.defaultFilterBtn(null), //
defaultButtons.defaultSetBtn(null), // defaultButtons.defaultSetBtn(null) //
// { // {
// label: '', // label: '',
// name: 'zdy', // name: 'zdy',
@ -163,21 +171,27 @@ const HeadButttondata = [
// //
const buttonBaseClick = (val, item) => { const buttonBaseClick = (val, item) => {
if (val == 'add') { // if (val == 'add') {
//
openForm('create') openForm('create')
} else if (val == 'import') { // } else if (val == 'import') {
//
handleImport() handleImport()
} else if (val == 'export') { // } else if (val == 'export') {
//
handleExport() handleExport()
} else if (val == 'refresh') { // } else if (val == 'refresh') {
//
getList() getList()
} else if (val == 'filtrate') { // } else if (val == 'filtrate') {
} else { // //
} else {
//
console.log('其他按钮', item) console.log('其他按钮', item)
} }
} }
const isShowMainButton = (row,val) => { const isShowMainButton = (row, val) => {
if (val.indexOf(row.available) > -1) { if (val.indexOf(row.available) > -1) {
return false return false
} else { } else {
@ -187,22 +201,30 @@ const isShowMainButton = (row,val) => {
const butttondata = (row) => { const butttondata = (row) => {
return [ return [
defaultButtons.mainListEditBtn({hasPermi: 'qms:selected-set:update'}), defaultButtons.mainListEditBtn({ hasPermi: 'qms:selected-set:update' }),
defaultButtons.mainListEnableBtn({hide:isShowMainButton(row,['FALSE']),hasPermi:'qms:selected-set:enable'}), defaultButtons.mainListEnableBtn({
defaultButtons.mainListDisableBtn({ hide: isShowMainButton(row, ['TRUE']), hasPermi: 'qms:selected-set:disable' }), hide: isShowMainButton(row, ['FALSE']),
defaultButtons.mainListDeleteBtn({hasPermi:'qms:selected-set:delete'}), // hasPermi: 'qms:selected-set:enable'
}),
defaultButtons.mainListDisableBtn({
hide: isShowMainButton(row, ['TRUE']),
hasPermi: 'qms:selected-set:disable'
}),
defaultButtons.mainListDeleteBtn({ hasPermi: 'qms:selected-set:delete' }) //
] ]
} }
// - // -
const buttonTableClick = async (val, row) => { const buttonTableClick = async (val, row) => {
if (val == 'edit') { // if (val == 'edit') {
//
editForm('update', row) editForm('update', row)
} else if (val == 'delete') { // } else if (val == 'delete') {
//
handleDelete(row.id) handleDelete(row.id)
}else if (val == 'enable') { } else if (val == 'enable') {
handleEnable(row.id) handleEnable(row.id)
}else if (val == 'disable') { } else if (val == 'disable') {
handleDisable(row.id) handleDisable(row.id)
} }
} }
@ -215,34 +237,40 @@ const openForm = (type: string, row?: any) => {
} }
const editForm = async (type: string, row?: any) => { const editForm = async (type: string, row?: any) => {
tableData.value = [] tableData.value = []
SelectedProjectApi.getSelectedProjectNoPage({masterId:row.id}).then(res=>{ SelectedProjectApi.getSelectedProjectNoPage({ masterId: row.id }).then((res) => {
tableData.value = res tableData.value = res
}) })
basicFormRef.value.open(type, row) basicFormRef.value.open(type, row)
} }
// form // form
const formsSuccess = async (formType,data) => { const formsSuccess = async (formType, data) => {
var isHave =SelectedSet.allSchemas.formSchema.some(function (item) { var isHave = SelectedSet.allSchemas.formSchema.some(function (item) {
return item.field === 'activeTime' || item.field === 'expireTime'; return item.field === 'activeTime' || item.field === 'expireTime'
}); })
if(isHave){ if (isHave) {
if(data.activeTime && data.expireTime && data.activeTime >=data.expireTime){ if (data.activeTime && data.expireTime && data.activeTime >= data.expireTime) {
message.error('失效时间要大于生效时间') message.error('失效时间要大于生效时间')
return; return
} }
} }
if(data.activeTime==0)data.activeTime = null; if (data.activeTime == 0) data.activeTime = null
if(data.expireTime==0)data.expireTime = null; if (data.expireTime == 0) data.expireTime = null
if (formType === 'create') { try {
await SelectedSetApi.createSelectedSet(data) basicFormRef.value.formLoading = true
message.success(t('common.createSuccess')) if (formType === 'create') {
} else { await SelectedSetApi.createSelectedSet(data)
await SelectedSetApi.updateSelectedSet(data) message.success(t('common.createSuccess'))
message.success(t('common.updateSuccess')) } else {
await SelectedSetApi.updateSelectedSet(data)
message.success(t('common.updateSuccess'))
}
basicFormRef.value.dialogVisible = false
basicFormRef.value.formLoading = false
getList()
} finally {
basicFormRef.value.formLoading = false
} }
basicFormRef.value.dialogVisible = false
getList()
} }
/** 详情操作 */ /** 详情操作 */
@ -320,7 +348,6 @@ const searchFormClick = (searchData) => {
getList() // getList() //
} }
const tableFormKeys = {} const tableFormKeys = {}
SelectedProject.allSchemas.tableFormColumns.forEach((item) => { SelectedProject.allSchemas.tableFormColumns.forEach((item) => {
tableFormKeys[item.field] = item.default ? item.default : '' tableFormKeys[item.field] = item.default ? item.default : ''
@ -335,21 +362,20 @@ const handleDeleteTable = (item, index) => {
tableData.value.splice(index, 1) tableData.value.splice(index, 1)
} }
// //
const submitForm = async (formType, data) => { const submitForm = async (formType, data) => {
const emptyFlag = validateDetailEmpty(tableData.value); const emptyFlag = validateDetailEmpty(tableData.value)
if(!emptyFlag){ if (!emptyFlag) {
message.alertWarning('明细不能为空') message.alertWarning('明细不能为空')
basicFormRef.value.formLoading = false basicFormRef.value.formLoading = false
return return
} }
if(!validateNotRepetition(tableData.value)){ if (!validateNotRepetition(tableData.value)) {
message.alertWarning('选定集字典及字典项不能重复') message.alertWarning('选定集字典及字典项不能重复')
basicFormRef.value.formLoading = false basicFormRef.value.formLoading = false
return return
} }
data.selectedProjectDOList = tableData.value// data.selectedProjectDOList = tableData.value //
try { try {
if (formType === 'create') { if (formType === 'create') {
await SelectedSetApi.createSelectedSet(data) await SelectedSetApi.createSelectedSet(data)
@ -366,35 +392,34 @@ const submitForm = async (formType, data) => {
} }
} }
const validateDetailEmpty = (data) => { const validateDetailEmpty = (data) => {
const codes = data.map(item => item.stage); const codes = data.map((item) => item.stage)
if(codes.length == 0){ if (codes.length == 0) {
return false; return false
} }
return true; return true
} }
const validateNotRepetition = (data) => { const validateNotRepetition = (data) => {
// dictionaryTypeAndCode // dictionaryTypeAndCode
const codes = data.map(item => item.dictionaryValue); const codes = data.map((item) => item.dictionaryValue)
// Set dictionaryTypeAndCode // Set dictionaryTypeAndCode
const uniqueCodes = new Set(codes); const uniqueCodes = new Set(codes)
// Set // Set
if (codes.length > uniqueCodes.size) { if (codes.length > uniqueCodes.size) {
return false; // false return false // false
} }
return true; // true
};
return true // true
}
const detailValidate = (formType,data) => { const detailValidate = (formType, data) => {
let tag = true; let tag = true
existValue.value.forEach(item=>{ existValue.value.forEach((item) => {
if(data.dictionaryValue == item.dictionaryValue){ if (data.dictionaryValue == item.dictionaryValue) {
message.warning("选定集字典项不能重复!") message.warning('选定集字典项不能重复!')
tag = false; tag = false
} }
}) })
return tag return tag
@ -402,43 +427,35 @@ const detailValidate = (formType,data) => {
const detailOpenForm = (type, row, masterParmas) => { const detailOpenForm = (type, row, masterParmas) => {
let param = { let param = {
masterId : masterParmas.masterId masterId: masterParmas.masterId
} }
if(type == 'create'){ if (type == 'create') {
SelectedProjectApi.getSelectedProjectNoPage(param).then(res => { SelectedProjectApi.getSelectedProjectNoPage(param).then((res) => {
if(res.length > 0){ if (res.length > 0) {
existValue.value = res existValue.value = res
} }
}) })
}else if('update'){ } else if ('update') {
SelectedProjectApi.getSelectedProjectNoPage(param).then(res => { SelectedProjectApi.getSelectedProjectNoPage(param).then((res) => {
if(res.length > 0){ if (res.length > 0) {
existValue.value = res.filter(item=>{ existValue.value = res.filter((item) => {
return item?.id != row.id return item?.id != row.id
}) })
} }
}) })
} }
} }
const detailBasiFormOnChange = (field, val, detailFormRef) => {}
const formSelectChange = (a, b, c, d) => {}
const detailBasiFormOnChange = (field,val,detailFormRef) => {
}
const formSelectChange = (a,b,c,d) => {
}
/** 初始化 **/ /** 初始化 **/
onMounted(async () => { onMounted(async () => {
  tableObject.params = { tableObject.params = {
    available: true available: true
  } }
getList() getList()
importTemplateData.templateUrl = await SelectedSetApi.importTemplate() importTemplateData.templateUrl = await SelectedSetApi.importTemplate()
}) })
</script> </script>

Loading…
Cancel
Save