Browse Source

门类管理 bug修正 档案盒管理 对接

master
z_yu 3 years ago
parent
commit
6a5b7abb1f
  1. 35
      src/api/archivesManage/caseManage.js
  2. 18
      src/api/category/listBrowsing.js
  3. 26
      src/api/category/orderingRule.js
  4. 54
      src/views/archivesManage/caseManage/index.vue
  5. 57
      src/views/archivesManage/caseManage/module/form.vue
  6. 6
      src/views/category/index.vue
  7. 8
      src/views/category/listBrowsing/index.vue
  8. 30
      src/views/category/listBrowsing/module/form.vue
  9. 6
      src/views/category/listBrowsing/module/sortDialog.vue
  10. 8
      src/views/category/orderingRule/index.vue
  11. 2
      src/views/category/orderingRule/module/form.vue
  12. 6
      src/views/category/orderingRule/module/sortDialog.vue

35
src/api/archivesManage/caseManage.js

@ -1,20 +1,4 @@
import request from '@/utils/request' import request from '@/utils/request'
import qs from 'qs'
// import { form } from '../../components/Crud/crud'
export function getTableDisplayFields(params) {
return request({
url: 'api/archives/initArchivesViewTable' + '?' + qs.stringify(params, { indices: false }),
method: 'get'
})
}
export function getFormDisplayFields(params) {
return request({
url: 'api/archives/doedit' + '?' + qs.stringify(params, { indices: false }),
method: 'get'
})
}
export function add(form) { export function add(form) {
return edit(form) return edit(form)
@ -36,4 +20,21 @@ export function del(parameter) {
}) })
} }
export default { add, edit, del, getTableDisplayFields, getFormDisplayFields }
// 判断盒名称是否重复
export function caseNameIsRepeat(parameter) {
return request({
url: 'api/case/caseNameIsRepeat',
method: 'get',
params: parameter
})
}
// 判断条形码值是否重复
export function barcodeIsRepeat(parameter) {
return request({
url: 'api/case/barcodeIsRepeat',
method: 'get',
params: parameter
})
}
export default { add, edit, del }

18
src/api/category/listBrowsing.js

@ -1,5 +1,13 @@
import request from '@/utils/request' import request from '@/utils/request'
export function add(data) {
return request({
url: 'api/arc-list/create',
method: 'post',
data
})
}
export function edit(data) { export function edit(data) {
return request({ return request({
url: 'api/arc-display/state', url: 'api/arc-display/state',
@ -8,4 +16,12 @@ export function edit(data) {
}) })
} }
export default { edit }
export function order(data) {
return request({
url: 'api/arc-list/display-order',
method: 'put',
data
})
}
export default { add }

26
src/api/category/orderingRule.js

@ -0,0 +1,26 @@
import request from '@/utils/request'
export function getDisplayField(params) {
return request({
url: 'api/arc-dic/is-display',
method: 'get',
params
})
}
export function edit(data) {
return request({
url: 'api/arc-list-sort/orderby',
method: 'put',
data
})
}
export function order(data) {
return request({
url: 'api/arc-list-sort/update-queue',
method: 'put',
data
})
}
export default { edit }

54
src/views/archivesManage/caseManage/index.vue

@ -4,7 +4,21 @@
<div class="head-container"> <div class="head-container">
<crudOperation :permission="permission"> <crudOperation :permission="permission">
<template v-slot:right> <template v-slot:right>
<el-button icon="el-icon-delete" size="mini">导出</el-button>
<!-- 搜索 v-model="query.enabled"
<el-select clearable size="small" placeholder="状态" class="filter-item" style="width: 100px" @change="crud.toQuery">
<i slot="prefix" class="iconfont icon-zhuangtai-fanbai" />
<el-option v-for="item in stateOptions" :key="item.key" :label="item.label" :value="item.key" />
</el-select>-->
<!-- <el-input v-model="query[inputSelect]" clearable size="small" placeholder="请输入关键词" style="width: 200px;" class="input-prepend filter-item" @keyup.enter.native="crud.toQuery">
<el-select slot="prepend" v-model="inputSelect" style="width: 80px" @change="querySelect">
<el-option
v-for="item in queryOption"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-input> -->
</template> </template>
<template v-slot:rightButtonGroup> <template v-slot:rightButtonGroup>
<div class="archives-handler-btn"> <div class="archives-handler-btn">
@ -18,9 +32,10 @@
<span class="right-top-line" /> <span class="right-top-line" />
<span class="left-bottom-line" /> <span class="left-bottom-line" />
<!--表格渲染--> <!--表格渲染-->
<el-table ref="table" v-loading="crud.loading" :data="crud.data" style="width: 100%;" height="calc(100vh - 463px)" @selection-change="selectionChangeHandler" @row-click="clickRowHandler">
<el-table ref="table" v-loading="crud.loading" :data="crud.data" style="width: 100%;" height="calc(100vh - 463px)" @selection-change="crud.selectionChangeHandler" @row-click="clickRowHandler">
<el-table-column type="selection" width="55" align="center" /> <el-table-column type="selection" width="55" align="center" />
<el-table-column type="index" label="序号" width="55" align="center" /> <el-table-column type="index" label="序号" width="55" align="center" />
<el-table-column prop="depositNum" label="入库" align="center" />
<el-table-column prop="depositNum" label="已装" align="center" /> <el-table-column prop="depositNum" label="已装" align="center" />
<el-table-column prop="caseName" label="盒名称" align="center" /> <el-table-column prop="caseName" label="盒名称" align="center" />
<el-table-column prop="tid" label="TID" align="center" /> <el-table-column prop="tid" label="TID" align="center" />
@ -76,7 +91,25 @@ export default {
edit: ['admin', 'caseManage:edit'], edit: ['admin', 'caseManage:edit'],
del: ['admin', 'caseManage:del'] del: ['admin', 'caseManage:del']
}, },
verifyDialVisible: false
verifyDialVisible: false,
stateOptions: [
{
label: '全部',
value: 'center'
},
{
label: '未入',
value: 'left'
},
{
label: '待入',
value: 'right'
},
{
label: '已入',
value: 'right'
}
]
} }
}, },
methods: { methods: {
@ -86,23 +119,8 @@ export default {
done() done()
}, },
clickRowHandler(row) { clickRowHandler(row) {
this.$refs.table.clearSelection()
this.$refs.table.toggleRowSelection(row) this.$refs.table.toggleRowSelection(row)
} }
// ,
// selectionChangeHandler(val) {
// if (val.length > 1) {
// // val
// const finalVal = val.pop()
// //
// this.$refs.table.clearSelection()
// //
// this.$refs.table.toggleRowSelection(finalVal)
// this.crud.selectionChangeHandler([finalVal])
// } else {
// this.crud.selectionChangeHandler(val)
// }
// }
} }
} }
</script> </script>

57
src/views/archivesManage/caseManage/module/form.vue

@ -22,6 +22,7 @@
<script> <script>
import { form } from '@crud/crud' import { form } from '@crud/crud'
import { caseNameIsRepeat, barcodeIsRepeat } from '@/api/archivesManage/caseManage'
const defaultForm = { const defaultForm = {
id: null, id: null,
@ -31,36 +32,40 @@ const defaultForm = {
export default { export default {
mixins: [form(defaultForm)], mixins: [form(defaultForm)],
data() { data() {
// var checkMaxLength = (rule, value, callback) => {
// if (value !== undefined && (!Number.isInteger(value) || value <= 0)) {
// callback(new Error(''))
// } else {
// if (this.form.isDataType === 1 && value > 2000) {
// callback(new Error('2000'))
// } else if (this.form.isDataType === 2 && value > 11) {
// callback(new Error('11'))
// } else {
// callback()
// }
// }
// }
// var checkFieldName = (rule, value, callback) => {
// const reg = /^(([A-Za-z][A-Za-z_]*[a-zA-Z])|([A-Za-z]))$/
// if (reg.test(value)) {
// callback()
// } else {
// callback(new Error('_'))
// }
// }
var checkCaseName = (rule, value, callback) => {
if (!value) {
callback(new Error('请输入盒名称'))
} else {
caseNameIsRepeat({ caseId: this.form.id, caseName: value }).then((res) => {
if (res) {
callback(new Error('盒名称重复'))
} else {
callback()
}
})
}
}
var checkBarcode = (rule, value, callback) => {
if (value) {
barcodeIsRepeat({ caseId: this.form.id, barcode: value }).then((res) => {
if (res) {
callback(new Error('条形码重复'))
} else {
callback()
}
})
} else {
callback()
}
}
return { return {
rules: { rules: {
caseName: [ caseName: [
{ required: true, message: '请输入盒名称', trigger: 'blur' }
{ validator: checkCaseName, trigger: 'blur' }
],
barcode: [
{ validator: checkBarcode, trigger: 'blur' }
] ]
// ,
// barcode: [
// { validator: checkFieldName, trigger: 'blur' }
// ]
} }
} }
} }

6
src/views/category/index.vue

@ -212,7 +212,11 @@ export default {
[CRUD.HOOK.beforeToAdd](crud, form, btn) { [CRUD.HOOK.beforeToAdd](crud, form, btn) {
const isCanAddKey = JSON.parse(localStorage.getItem('currentCategoryKey')) const isCanAddKey = JSON.parse(localStorage.getItem('currentCategoryKey'))
if (isCanAddKey.isType === 4 || isCanAddKey.isType === 5) { if (isCanAddKey.isType === 4 || isCanAddKey.isType === 5) {
this.$message.error('此门类下不可新建门类')
this.$notify({
title: '此门类下不可新建门类',
type: 'error',
duration: 2500
})
return false return false
} }
}, },

8
src/views/category/listBrowsing/index.vue

@ -75,7 +75,7 @@
<script> <script>
import { FetchArchivesTypeManage } from '@/api/category/category' import { FetchArchivesTypeManage } from '@/api/category/category'
import { initArchivesView } from '@/api/archivesManage/archivesList' import { initArchivesView } from '@/api/archivesManage/archivesList'
import { edit } from '@/api/category/listBrowsing'
import { add } from '@/api/category/listBrowsing'
import eForm from './module/form' import eForm from './module/form'
import sortDialog from './module/sortDialog' import sortDialog from './module/sortDialog'
import Vue from 'vue' import Vue from 'vue'
@ -137,7 +137,7 @@ export default {
FetchArchivesTypeManage({ categoryId: this.selectedCategory.id, isDataType: 2 }).then((res) => { FetchArchivesTypeManage({ categoryId: this.selectedCategory.id, isDataType: 2 }).then((res) => {
this.table.right.data.splice(0, this.table.right.data.length) this.table.right.data.splice(0, this.table.right.data.length)
this.table.left.data.splice(0, this.table.left.data.length) this.table.left.data.splice(0, this.table.left.data.length)
res.sort((item) => { return item.displayOrder - item.displayOrder }).forEach((item) => {
res.sort((item1, item2) => { return item1.displayOrder - item2.displayOrder }).forEach((item) => {
if (item.isInput) { if (item.isInput) {
if (item.isDisplay) { if (item.isDisplay) {
this.table.right.data.push(item) this.table.right.data.push(item)
@ -189,10 +189,10 @@ export default {
item.isDisplay = false item.isDisplay = false
item.displayformatType = null item.displayformatType = null
item.displayLength = null item.displayLength = null
item.sort = null
item.displayOrder = null
return item return item
}) })
edit(deleteData).then((res) => {
add(deleteData).then((res) => {
this.delAllLoading = false this.delAllLoading = false
this.$notify({ this.$notify({
title: '删除成功', title: '删除成功',

30
src/views/category/listBrowsing/module/form.vue

@ -35,7 +35,7 @@
</template> </template>
<script> <script>
import { edit } from '@/api/category/listBrowsing'
import { add, edit } from '@/api/category/listBrowsing'
export default { export default {
data() { data() {
return { return {
@ -62,15 +62,27 @@ export default {
save() { save() {
this.$refs['formData'].validate((valid) => { this.$refs['formData'].validate((valid) => {
if (valid) { if (valid) {
edit(this.formData.fields).then((res) => {
this.$notify({
title: '保存成功',
type: 'success',
duration: 2500
if (this.title === '新增字段') {
add(this.formData.fields).then((res) => {
this.$notify({
title: '保存成功',
type: 'success',
duration: 2500
})
this.cuDialogVisible = false
this.$emit('refresh')
}) })
this.cuDialogVisible = false
this.$emit('refresh')
})
} else {
edit(this.formData.fields).then((res) => {
this.$notify({
title: '保存成功',
type: 'success',
duration: 2500
})
this.cuDialogVisible = false
this.$emit('refresh')
})
}
} else { } else {
return false return false
} }

6
src/views/category/listBrowsing/module/sortDialog.vue

@ -18,7 +18,7 @@
<script> <script>
import Sortable from 'sortablejs' import Sortable from 'sortablejs'
import { edit } from '@/api/category/listBrowsing'
import { order } from '@/api/category/listBrowsing'
export default { export default {
data() { data() {
@ -47,9 +47,9 @@ export default {
}, },
handleSort() { handleSort() {
this.sortTableData.forEach((item, index) => { this.sortTableData.forEach((item, index) => {
item.sort = index + 1
item.displayOrder = index + 1
}) })
edit(this.sortTableData).then(() => {
order(this.sortTableData).then(() => {
this.sortVisible = false this.sortVisible = false
this.$emit('refresh') this.$emit('refresh')
}) })

8
src/views/category/orderingRule/index.vue

@ -61,8 +61,8 @@
</template> </template>
<script> <script>
import { FetchArchivesTypeManage } from '@/api/category/category'
import { edit } from '@/api/category/listBrowsing'
import { getDisplayField } from '@/api/category/orderingRule'
import { edit } from '@/api/category/orderingRule'
import eForm from './module/form' import eForm from './module/form'
import sortDialog from './module/sortDialog' import sortDialog from './module/sortDialog'
import Vue from 'vue' import Vue from 'vue'
@ -119,10 +119,10 @@ export default {
}, },
methods: { methods: {
initData() { initData() {
FetchArchivesTypeManage({ categoryId: this.selectedCategory.id, isDataType: 2, isInput: 'true', isDisplay: 'true' }).then((res) => {
getDisplayField({ categoryId: this.selectedCategory.id, isDisPlayState: 'true' }).then((res) => {
this.table.right.data.splice(0, this.table.right.data.length) this.table.right.data.splice(0, this.table.right.data.length)
this.table.left.data.splice(0, this.table.left.data.length) this.table.left.data.splice(0, this.table.left.data.length)
res.sort((item) => { return item.queue - item.queue }).forEach((item) => {
res.sort((item1, item2) => { return item1.queue - item2.queue }).forEach((item) => {
if (item.displayOrderBy) { if (item.displayOrderBy) {
this.table.right.data.push(item) this.table.right.data.push(item)
} else { } else {

2
src/views/category/orderingRule/module/form.vue

@ -30,7 +30,7 @@
</template> </template>
<script> <script>
import { edit } from '@/api/category/listBrowsing'
import { edit } from '@/api/category/orderingRule'
export default { export default {
data() { data() {
return { return {

6
src/views/category/orderingRule/module/sortDialog.vue

@ -18,7 +18,7 @@
<script> <script>
import Sortable from 'sortablejs' import Sortable from 'sortablejs'
import { edit } from '@/api/category/listBrowsing'
import { order } from '@/api/category/orderingRule'
export default { export default {
data() { data() {
@ -47,9 +47,9 @@ export default {
}, },
handleSort() { handleSort() {
this.sortTableData.forEach((item, index) => { this.sortTableData.forEach((item, index) => {
item.sort = index + 1
item.queue = index + 1
}) })
edit(this.sortTableData).then(() => {
order(this.sortTableData).then(() => {
this.sortVisible = false this.sortVisible = false
this.$emit('refresh') this.$emit('refresh')
}) })

Loading…
Cancel
Save