陈薪名 1 year ago
parent
commit
3c41cbd5b9
  1. 6
      src/components/Descriptions/src/Descriptions.vue
  2. 152
      src/views/wms/basicDataManage/documentSetting/businesstype/index.vue

6
src/components/Descriptions/src/Descriptions.vue

@ -131,9 +131,11 @@ const toggleClick = () => {
data[item.field] !== null ? dayjs(data[item.field]).format(item.dateFormat) : '' data[item.field] !== null ? dayjs(data[item.field]).format(item.dateFormat) : ''
}} }}
</slot> </slot>
<!-- v-else-if="item.dictType && data[item.field].indexOf(',') == -1" -->
<slot v-else-if="item.dictType"> <slot v-else-if="item.dictType">
<DictTag :type="item.dictType" :value="data[item.field] + ''" /> <div v-if="data[item.field]&&Array.isArray(data[item.field])" >
<DictTag :type="item.dictType" :value="cur" v-for="(cur,key) in data[item.field]" :key="key" style="margin-right: 6px;margin-bottom: 6px;"/>
</div>
<DictTag :type="item.dictType" :value="data[item.field] + ''" v-if="data[item.field]&&!Array.isArray(data[item.field])"/>
</slot> </slot>
<slot v-else :name="item.field" :row="data">{{ data[item.field] }}</slot> <slot v-else :name="item.field" :row="data">{{ data[item.field] }}</slot>
</template> </template>

152
src/views/wms/basicDataManage/documentSetting/businesstype/index.vue

@ -1,7 +1,11 @@
<template> <template>
<ContentWrap> <ContentWrap>
<!-- 搜索工作栏 --> <!-- 搜索工作栏 -->
<Search :schema="Businesstype.allSchemas.searchSchema" @search="setSearchParams" @reset="setSearchParams" /> <Search
:schema="Businesstype.allSchemas.searchSchema"
@search="setSearchParams"
@reset="setSearchParams"
/>
</ContentWrap> </ContentWrap>
<!-- 列表头部 --> <!-- 列表头部 -->
@ -36,19 +40,49 @@
<ButtonBase :Butttondata="butttondata" @button-base-click="buttonTableClick($event, row)" /> <ButtonBase :Butttondata="butttondata" @button-base-click="buttonTableClick($event, row)" />
</template> </template>
<template #itemTypes="{ row }"> <template #itemTypes="{ row }">
<span>{{ strFor(row.itemTypes,DICT_TYPE.ITEM_TYPE)}}</span> <el-tag v-for="tag in row.itemTypes" :key="tag" :disable-transitions="true" class="mr-5px">
{{ getDictLabel(DICT_TYPE.ITEM_TYPE, tag) }}
</el-tag>
</template> </template>
<template #outLocationTypes="{ row }"> <template #outLocationTypes="{ row }">
<span>{{ strFor(row.outLocationTypes,DICT_TYPE.LOCATION_TYPE)}}</span> <el-tag
v-for="tag in row.outLocationTypes"
:key="tag"
:disable-transitions="true"
class="mr-5px"
>
{{ getDictLabel(DICT_TYPE.LOCATION_TYPE, tag) }}
</el-tag>
</template> </template>
<template #inLocationTypes="{ row }"> <template #inLocationTypes="{ row }">
<span>{{ strFor(row.inLocationTypes,DICT_TYPE.LOCATION_TYPE)}}</span> <el-tag
v-for="tag in row.inLocationTypes"
:key="tag"
:disable-transitions="true"
class="mr-5px"
>
{{ getDictLabel(DICT_TYPE.LOCATION_TYPE, tag) }}
</el-tag>
</template> </template>
<template #outInventoryStatuses="{ row }"> <template #outInventoryStatuses="{ row }">
<span>{{ strFor(row.outInventoryStatuses,DICT_TYPE.INVENTORY_STATUS)}}</span> <el-tag
v-for="tag in row.outInventoryStatuses"
:key="tag"
:disable-transitions="true"
class="mr-5px"
>
{{ getDictLabel(DICT_TYPE.INVENTORY_STATUS, tag) }}
</el-tag>
</template> </template>
<template #inInventoryStatuses="{ row }"> <template #inInventoryStatuses="{ row }">
<span>{{ strFor(row.inInventoryStatuses,DICT_TYPE.INVENTORY_STATUS)}}</span> <el-tag
v-for="tag in row.inInventoryStatuses"
:key="tag"
:disable-transitions="true"
class="mr-5px"
>
{{ getDictLabel(DICT_TYPE.INVENTORY_STATUS, tag) }}
</el-tag>
</template> </template>
</Table> </Table>
</ContentWrap> </ContentWrap>
@ -69,7 +103,12 @@
<Detail ref="detailRef" :isBasic="true" :allSchemas="Businesstype.allSchemas" /> <Detail ref="detailRef" :isBasic="true" :allSchemas="Businesstype.allSchemas" />
<!-- 导入 --> <!-- 导入 -->
<ImportForm ref="importFormRef" url="/wms/businesstype/import" :importTemplateData="importTemplateData" @success="importSuccess" /> <ImportForm
ref="importFormRef"
url="/wms/businesstype/import"
:importTemplateData="importTemplateData"
@success="importSuccess"
/>
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
@ -82,27 +121,11 @@ 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 { Console } from 'console'
// //
defineOptions({ name: 'Businesstype' }) defineOptions({ name: 'Businesstype' })
const strFor = (str,type)=> {
let stradd = ''
if(typeof(str)=='string'){
str.split(',').forEach(element => {
let str1=getDictLabel(type,element)
stradd = stradd+str1+','
})
return stradd.substring(0,stradd.length-1)
}else{
str.join(',').split(',').forEach(element => {
let str2=getDictLabel(type,element)
stradd = stradd+str2+','
})
return stradd.substring(0,stradd.length-1)
}
}
const message = useMessage() // const message = useMessage() //
const { t } = useI18n() // const { t } = useI18n() //
@ -130,7 +153,7 @@ const HeadButttondata = [
// defaultButtons.defaultExportBtn({hasPermi:'wms:businesstype:export'}), // // defaultButtons.defaultExportBtn({hasPermi:'wms:businesstype: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',
@ -143,37 +166,45 @@ 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:businesstype:update'}), // defaultButtons.mainListEditBtn({ hasPermi: 'wms:businesstype:update' }) //
// defaultButtons.mainListDeleteBtn({hasPermi:'wms:businesstype:delete'}), // // defaultButtons.mainListDeleteBtn({hasPermi:'wms:businesstype:delete'}), //
] ]
// - // -
const buttonTableClick = async (val, row) => { const buttonTableClick = async (val, row) => {
if (val == 'edit') { // if (val == 'edit') {
//
// const res = await BusinesstypeApi.getItempackaging(row.id) // const res = await BusinesstypeApi.getItempackaging(row.id)
row.itemTypes=row.itemTypes.split(',') // row.itemTypes = row.itemTypes.split(',')
row.outLocationTypes = row.outLocationTypes.split(',') // row.outLocationTypes = row.outLocationTypes.split(',')
row.inLocationTypes = row.inLocationTypes.split(',') // row.inLocationTypes = row.inLocationTypes.split(',')
row.outInventoryStatuses = row.outInventoryStatuses.split(',') // row.outInventoryStatuses = row.outInventoryStatuses.split(',')
row.inInventoryStatuses = row.inInventoryStatuses.split(',') // row.inInventoryStatuses = row.inInventoryStatuses.split(',')
openForm('update', row) openForm('update', row)
} else if (val == 'delete') { // } else if (val == 'delete') {
//
handleDelete(row.id) handleDelete(row.id)
} }
} }
@ -181,22 +212,23 @@ const buttonTableClick = async (val, row) => {
/** 添加/修改操作 */ /** 添加/修改操作 */
const basicFormRef = ref() const basicFormRef = ref()
const openForm = (type: string, row?: any) => { const openForm = (type: string, row?: any) => {
console.log(row)
basicFormRef.value.open(type, row) basicFormRef.value.open(type, row)
} }
// form // form
const formsSuccess = async (formType, data) => { const formsSuccess = async (formType, data) => {
var isHave = Businesstype.allSchemas.formSchema.some(function (item) { var isHave = Businesstype.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
data.itemTypes = data.itemTypes.join(',') data.itemTypes = data.itemTypes.join(',')
data.outLocationTypes = data.outLocationTypes.join(',') data.outLocationTypes = data.outLocationTypes.join(',')
data.inLocationTypes = data.inLocationTypes.join(',') data.inLocationTypes = data.inLocationTypes.join(',')
@ -204,13 +236,33 @@ const formsSuccess = async (formType,data) => {
data.inInventoryStatuses = data.inInventoryStatuses.join(',') data.inInventoryStatuses = data.inInventoryStatuses.join(',')
if (formType === 'create') { if (formType === 'create') {
await BusinesstypeApi.createBusinesstype(data) await BusinesstypeApi.createBusinesstype(data)
.then(() => {
message.success(t('common.createSuccess')) message.success(t('common.createSuccess'))
basicFormRef.value.dialogVisible = false
getList()
})
.catch(() => {
data.itemTypes = data.itemTypes.split(',')
data.outLocationTypes = data.outLocationTypes.split(',')
data.inLocationTypes = data.inLocationTypes.split(',')
data.outInventoryStatuses = data.outInventoryStatuses.split(',')
data.inInventoryStatuses = data.inInventoryStatuses.split(',')
})
} else { } else {
await BusinesstypeApi.updateBusinesstype(data) await BusinesstypeApi.updateBusinesstype(data)
.then(() => {
message.success(t('common.updateSuccess')) message.success(t('common.updateSuccess'))
}
basicFormRef.value.dialogVisible = false basicFormRef.value.dialogVisible = false
getList() getList()
})
.catch(() => {
data.itemTypes = data.itemTypes.split(',')
data.outLocationTypes = data.outLocationTypes.split(',')
data.inLocationTypes = data.inLocationTypes.split(',')
data.outInventoryStatuses = data.outInventoryStatuses.split(',')
data.inInventoryStatuses = data.inInventoryStatuses.split(',')
})
}
} }
// //
@ -283,7 +335,15 @@ const searchFormClick = (searchData) => {
/** 初始化 **/ /** 初始化 **/
onMounted(async () => { onMounted(async () => {
getList() await getList()
tableObject.tableList.forEach((item) => {
item.itemTypes = item.itemTypes.split(',')
item.outLocationTypes = item.outLocationTypes.split(',')
item.inLocationTypes = item.inLocationTypes.split(',')
item.outInventoryStatuses = item.outInventoryStatuses.split(',')
item.inInventoryStatuses = item.inInventoryStatuses.split(',')
})
console.log(tableObject.tableList)
importTemplateData.templateUrl = await BusinesstypeApi.importTemplate() importTemplateData.templateUrl = await BusinesstypeApi.importTemplate()
}) })
</script> </script>

Loading…
Cancel
Save