Browse Source

0705-需求修改

master
xuhuajiao 2 years ago
parent
commit
4f66236e5b
  1. 44
      public/webA/index.js
  2. 10
      src/views/archivesManage/archivesList/archivesAnjuan/index.vue
  3. 93
      src/views/archivesManage/archivesList/archivesJuannei/index.vue
  4. 2
      src/views/archivesManage/archivesList/index.vue
  5. 31
      src/views/archivesManage/archivesList/module/archivesInfo/index.vue
  6. 90
      src/views/archivesManage/archivesSearch/index.vue
  7. 10
      src/views/archivesManage/archivesSearch/module/detailDialog.vue
  8. 4
      src/views/archivesManage/caseManage/caseList/index.vue
  9. 9
      src/views/archivesManage/fileImport/dataImport/index.vue
  10. 26
      src/views/archivesManage/lendManage/components/lendArchivesList.vue
  11. 161
      src/views/storeManage/warehouse3D/deseCabinet/index.vue

44
public/webA/index.js

@ -853,8 +853,6 @@ light.diffuse = new BABYLON.Color3(0.92,0.92,0.92);
material3.roughness = 0;
// 修改数字贴图
scene.getMeshByName("档案架10_primitive3").material = scene.getMaterialByName("01.004");
scene.getMeshByName("档案架09_primitive4").material = scene.getMaterialByName("02.004");
scene.getMeshByName("档案架08_primitive4").material = scene.getMaterialByName("03.004");
@ -892,8 +890,6 @@ var createScene = function () {
engine.displayLoadingUI();
// create a basic BJS Scene object
var scene = new BABYLON.Scene(engine);
// scene.debugLayer.show();
var camera = new BABYLON.ArcRotateCamera("Camera", 0, 0, 5, new BABYLON.Vector3(0, -1, 0), scene);
camera.setTarget(new BABYLON.Vector3(0, 2, 0));
@ -1036,8 +1032,8 @@ var createScene = function () {
//1
player_balloon_js1 = new BABYLON.Sprite("player_balloon_js1", spriteManagerPlayer);
player_balloon_js1.size = 0.1;
player_balloon_js1.name = "1";
player_balloon_js1.nameID = "cabinet01"
player_balloon_js1.name = "10";
player_balloon_js1.nameID = "cabinet10"
player_balloon_js1.cellIndex = 0;
player_balloon_js1.position = new BABYLON.Vector3(-2.5, 3.50, -0.72)
player_balloon_js1.isPickable = true;
@ -1050,8 +1046,8 @@ var createScene = function () {
//2
player_balloon_js2 = new BABYLON.Sprite("player_balloon_js2", spriteManagerPlayer);
player_balloon_js2.size = 0.1;
player_balloon_js2.name = "2";
player_balloon_js2.nameID = "cabinet02"
player_balloon_js2.name = "9";
player_balloon_js2.nameID = "cabinet09"
player_balloon_js2.cellIndex = 0;
player_balloon_js2.position = new BABYLON.Vector3(-2.5, 3.50, -0.38)
@ -1064,8 +1060,8 @@ var createScene = function () {
//3
player_balloon_js3 = new BABYLON.Sprite("player_balloon_js3", spriteManagerPlayer);
player_balloon_js3.size = 0.1;
player_balloon_js3.name = "3";
player_balloon_js3.nameID = "cabinet03"
player_balloon_js3.name = "8";
player_balloon_js3.nameID = "cabinet08"
player_balloon_js3.cellIndex = 0;
player_balloon_js3.position = new BABYLON.Vector3(-2.5, 3.50, -0.03)
@ -1078,8 +1074,8 @@ var createScene = function () {
//4
player_balloon_js4 = new BABYLON.Sprite("player_balloon_js4", spriteManagerPlayer);
player_balloon_js4.size = 0.1;
player_balloon_js4.name = "4";
player_balloon_js4.nameID = "cabinet04"
player_balloon_js4.name = "7";
player_balloon_js4.nameID = "cabinet07"
player_balloon_js4.cellIndex = 0;
player_balloon_js4.position = new BABYLON.Vector3(-2.5, 3.50, 0.3)
@ -1094,8 +1090,8 @@ var createScene = function () {
//5
player_balloon_js5 = new BABYLON.Sprite("player_balloon_js5", spriteManagerPlayer);
player_balloon_js5.size = 0.1;
player_balloon_js5.name = "5";
player_balloon_js5.nameID = "cabinet05"
player_balloon_js5.name = "6";
player_balloon_js5.nameID = "cabinet06"
player_balloon_js5.cellIndex = 0;
player_balloon_js5.position = new BABYLON.Vector3(-2.5, 3.50, 0.64)
@ -1108,8 +1104,8 @@ var createScene = function () {
//6
player_balloon_js6 = new BABYLON.Sprite("player_balloon_js6", spriteManagerPlayer);
player_balloon_js6.size = 0.1;
player_balloon_js6.name = "6";
player_balloon_js6.nameID = "cabinet06"
player_balloon_js6.name = "5";
player_balloon_js6.nameID = "cabinet05"
player_balloon_js6.cellIndex = 0;
player_balloon_js6.position = new BABYLON.Vector3(-2.5, 3.50, 0.98)
@ -1122,8 +1118,8 @@ var createScene = function () {
//7
player_balloon_js7 = new BABYLON.Sprite("player_balloon_js7", spriteManagerPlayer);
player_balloon_js7.size = 0.1;
player_balloon_js7.name = "7";
player_balloon_js7.nameID = "cabinet07"
player_balloon_js7.name = "4";
player_balloon_js7.nameID = "cabinet04"
player_balloon_js7.cellIndex = 0;
player_balloon_js7.position = new BABYLON.Vector3(-2.5, 3.50, 1.32)
@ -1136,8 +1132,8 @@ var createScene = function () {
//8
player_balloon_js8 = new BABYLON.Sprite("player_balloon_js8", spriteManagerPlayer);
player_balloon_js8.size = 0.1;
player_balloon_js8.name = "8";
player_balloon_js8.nameID = "cabinet08"
player_balloon_js8.name = "3";
player_balloon_js8.nameID = "cabinet03"
player_balloon_js8.cellIndex = 0;
player_balloon_js8.position = new BABYLON.Vector3(-2.5, 3.50, 1.66)
player_balloon_js8.isPickable = true;
@ -1149,8 +1145,8 @@ var createScene = function () {
//9
player_balloon_js9 = new BABYLON.Sprite("player_balloon_js", spriteManagerPlayer);
player_balloon_js9.size = 0.1;
player_balloon_js9.name = "9";
player_balloon_js9.nameID = "cabinet09"
player_balloon_js9.name = "2";
player_balloon_js9.nameID = "cabinet02"
player_balloon_js9.cellIndex = 0;
player_balloon_js9.position = new BABYLON.Vector3(-2.5, 3.50, 2)
//-2.3895861905112934, 3.402393519214794, z: 0.3225995832152506
@ -1163,8 +1159,8 @@ var createScene = function () {
//10
player_balloon_js10 = new BABYLON.Sprite("player_balloon_js10", spriteManagerPlayer);
player_balloon_js10.size = 0.1;
player_balloon_js10.name = "10";
player_balloon_js10.nameID = "cabinet10"
player_balloon_js10.name = "1";
player_balloon_js10.nameID = "cabinet01"
player_balloon_js10.cellIndex = 0;
player_balloon_js10.position = new BABYLON.Vector3(-2.5, 3.50, 2.33)
player_balloon_js10.isPickable = true;

10
src/views/archivesManage/archivesList/archivesAnjuan/index.vue

@ -44,9 +44,9 @@
<el-button v-if="selectedCategory.isType === 3 || selectedCategory.isType === 2" class="part-btn iconfont" type="primary" :disabled="selections.length !== 1" @click="handlePacking(selections,1)"><svg-icon icon-class="partzhuanghe" class="svg-arc-style" />分卷装盒</el-button>
<!-- <el-button class="warehousing-btn iconfont" type="primary">入库</el-button> -->
<!-- 借阅btn 多选 -->
<el-button class="lending-btn iconfont" :disabled="selections.length === 0" type="primary" @click="handleLending"><svg-icon icon-class="jieyue" class="svg-arc-style" />借阅</el-button>
<el-button v-if="selectedCategory.isType !== 3" class="lending-btn iconfont" :disabled="selections.length === 0" type="primary" @click="handleLending"><svg-icon icon-class="jieyue" class="svg-arc-style" />借阅</el-button>
<!-- 绑定标签btn 单选 -->
<el-button class="binding-btn iconfont" type="primary" :disabled="selections.length !== 1" @click="bindingTag(selections)"><svg-icon icon-class="bindbiaoqian" class="svg-arc-style" />绑定标签</el-button>
<el-button v-if="selectedCategory.isType !== 3" class="binding-btn iconfont" type="primary" :disabled="selections.length !== 1" @click="bindingTag(selections)"><svg-icon icon-class="bindbiaoqian" class="svg-arc-style" />绑定标签</el-button>
</div>
</div>
@ -103,7 +103,7 @@
{{ scope.row[field.fieldName] }}
</template>
</el-table-column>
<el-table-column v-if="!recycleMain.isRecycle" label="标签" width="100" align="center" :fixed="fixedStatusBar ? false : 'right' ">
<el-table-column v-if="!recycleMain.isRecycle && selectedCategory.isType !== 3" label="标签" width="100" align="center" :fixed="fixedStatusBar ? false : 'right' ">
<template slot-scope="scope">
<!-- 未绑 / 已绑 -->
<span :class="['row-state', 'row-binding', scope.row.tid ? 'state-active' : '' ]">{{ scope.row.tid ? '已绑': '未绑' }}</span>
@ -122,9 +122,9 @@
<span :class="['row-state', 'row-warehousing', (storageTxt[scope.$index] === '已入' )? 'state-active' : '' ]">{{ storageTxt[scope.$index] }}</span>
</template>
</el-table-column>
<el-table-column v-if="!recycleMain.isRecycle" label="借阅" width="100" align="center" :fixed="fixedStatusBar ? false : 'right' ">
<!-- is_borrow 4 已归还 / 为空 - 未加入待借列表 - 在库 / 2 待借阅在待借列表/借出确认列表 - 待借 / 1待登记 - 不可借- 表示 / 3 待归还 - 已借 -->
<el-table-column v-if="!recycleMain.isRecycle && selectedCategory.isType !== 3" label="借阅" width="100" align="center" :fixed="fixedStatusBar ? false : 'right' ">
<template slot-scope="scope">
<!-- is_borrow 4 已归还 / 为空 - 未加入待借列表 - 在库 / 2 待借阅在待借列表/借出确认列表 - 待借 / 1待登记 - 不可借- 表示 / 3 待归还 - 已借 -->
<span :class="['row-state', 'row-lending', (borrowTxt[scope.$index] === '已借' )? 'state-active' : '' ]">{{ borrowTxt[scope.$index] }}</span>
</template>
</el-table-column>

93
src/views/archivesManage/archivesList/archivesJuannei/index.vue

@ -33,6 +33,12 @@
</el-input>
<el-button class="filter-item" size="mini" type="success" icon="el-icon-search" @click="getTableList()">搜索</el-button>
</div>
<div v-if="!recycleMain.isRecycle" class="archives-handler-btn">
<!-- 借阅btn 多选 -->
<el-button class="lending-btn iconfont" :disabled="selections.length === 0" type="primary" @click="handleLending"><svg-icon icon-class="jieyue" class="svg-arc-style" />借阅</el-button>
<!-- 绑定标签btn 单选 -->
<el-button class="binding-btn iconfont" type="primary" :disabled="selections.length !== 1" @click="bindingTag(selections)"><svg-icon icon-class="bindbiaoqian" class="svg-arc-style" />绑定标签</el-button>
</div>
</div>
<!--新增 / 编辑 表单组件-->
@ -87,6 +93,12 @@
{{ scope.row[field.fieldName] }}
</template>
</el-table-column>
<el-table-column v-if="!recycleMain.isRecycle" label="标签" width="100" align="center" :fixed="fixedStatusBar ? false : 'right' ">
<template slot-scope="scope">
<!-- 未绑 / 已绑 -->
<span :class="['row-state', 'row-binding', scope.row.tid ? 'state-active' : '' ]">{{ scope.row.tid ? '已绑': '未绑' }}</span>
</template>
</el-table-column>
<el-table-column v-if="!recycleMain.isRecycle" label="装盒" width="100" align="center" :fixed="fixedStatusBar ? false : 'right' ">
<!-- state-active 已装/已入/已借/已绑 -->
<template slot-scope="scope">
@ -101,6 +113,12 @@
<span :class="['row-state', 'row-warehousing', (storageTxt[scope.$index] === '已入' )? 'state-active' : '' ]">{{ storageTxt[scope.$index] }}</span>
</template>
</el-table-column>
<el-table-column v-if="!recycleMain.isRecycle" label="借阅" width="100" align="center" :fixed="fixedStatusBar ? false : 'right' ">
<template slot-scope="scope">
<!-- is_borrow 4 已归还 / 为空 - 未加入待借列表 - 在库 / 2 待借阅在待借列表/借出确认列表 - 待借 / 1待登记 - 不可借- 表示 / 3 待归还 - 已借 -->
<span :class="['row-state', 'row-lending', (borrowTxt[scope.$index] === '已借' )? 'state-active' : '' ]">{{ borrowTxt[scope.$index] }}</span>
</template>
</el-table-column>
</el-table>
<!--分页组件-->
<el-pagination
@ -116,6 +134,8 @@
<!-- 档案详情 -->
<ArchivesInfo ref="archivesInfo" :is-has-file="true" :category-id="categoryId" :arc-id="arcId" />
<!-- 绑定标签 -->
<binding-tag-dlg ref="bindingTag" :binding-id="selections[0] && selections[0].id" :binding-type="1" binding-txt="档案" @refresh="crud.refresh" />
<!-- 还原 -->
<RestoreArchives ref="restore" :selections="selections" :category-id="categoryId" />
<!-- 删除档案 -->
@ -129,6 +149,20 @@
<UploadFile ref="uploadFile" :category-id="categoryId" :arc-id="arcId" />
</div>
</el-dialog>
<!-- 借阅 -->
<el-dialog title="借阅" :visible.sync="lengingVisible" :close-on-click-modal="false" :before-close="handleClose">
<span class="dialog-right-top" />
<span class="dialog-left-bottom" />
<div class="setting-dialog">
<div class="dialog-delt">
<p><span>确定将当前档案加入借阅列表</span></p>
</div>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click.native="handleLendingConfirm">确定</el-button>
</div>
</div>
</el-dialog>
</div>
</template>
@ -138,13 +172,14 @@ import { mapGetters } from 'vuex'
import { archivesCrud } from '../mixins/archives'
import PreviewForm from '@/views/components/category/PreviewForm'
import ArchivesInfo from '../module/archivesInfo/index'
import BindingTagDlg from '@/views/components/BindingTagDlg'
import UploadFile from '../module/uploadFile/index'
import RestoreArchives from '../module/restoreArchives/index'
import DeltArchives from '../module/deltArchives/index'
import { FetchIsExistBorrow, FetchAddArchivesWaitRegister } from '@/api/archivesManage/lendManage'
export default {
name: 'ArchivesJuannei',
components: { PreviewForm, ArchivesInfo, UploadFile, RestoreArchives, DeltArchives },
components: { PreviewForm, ArchivesInfo, BindingTagDlg, UploadFile, RestoreArchives, DeltArchives },
mixins: [
header(),
form({}),
@ -188,7 +223,8 @@ export default {
{ value: 'archiveNo', label: '档号' },
{ value: 'responsibleby', label: '责任者' }
],
juanneiInputSelect: ''
juanneiInputSelect: '',
lengingVisible: false //
}
},
computed: {
@ -277,6 +313,57 @@ export default {
//
handleCurrentChange(selection, row) {
this.selections = selection
},
//
bindingTag(data) {
if (data[0].tid) {
this.$refs.bindingTag.isBinding = true
this.$refs.bindingTag.tidCode = data[0].tid
}
this.$refs.bindingTag.bindingVisible = true
},
//
handleLending() {
const index = this.selections.findIndex((item) => item.is_storage === 0 || item.is_storage === '' || item.is_storage === 1)
const index2 = this.selections.findIndex((item) => item.is_borrow === 3)
const index3 = this.selections.findIndex((item) => item.is_storage === 3)
if (index !== -1) {
this.$message.error('所选档案还未入库不能借阅')
return false
}
if (index3 !== -1) {
this.$message.error('待出档案不可借阅')
return false
}
if (index2 !== -1) {
this.$message.error('当前档案已借出,还未归还')
return false
}
const params = this.selections.map(item => {
return item.id
})
FetchIsExistBorrow(params).then(data => {
if (data.length === 0) {
this.lengingVisible = true
} else if (data.length === this.selections.length) {
this.$message.error('所选档案不可借阅')
} else {
this.$message.error('部分档案不可借阅')
}
})
},
//
handleLendingConfirm() {
const params = this.selections.map(item => {
return item.id
})
FetchAddArchivesWaitRegister(params).then(data => {
if (data.length !== 0) {
this.$message.success('借阅成功')
this.lengingVisible = false
this.crud.refresh()
}
})
}
}
}

2
src/views/archivesManage/archivesList/index.vue

@ -25,7 +25,7 @@
<!-- 档案管理列表 -->
<el-col class="archives-right-list" :xs="14" :sm="18" :md="19" :lg="18" :xl="19">
<div v-if="selectedCategory.isType !== 1 && !isRecycle" :class="['archives-top', {'archives-fixed-top': selectedCategory.isType === 2 || selectedCategory.isType === 4 }]">
<div v-if="selectedCategory.isType !== 1 && !isRecycle" :class="['archives-top', {'archives-fixed-top': selectedCategory.isType === 2 }]">
<el-button v-if="selectedCategory.isType !== 4" type="primary" class="one-click-delete el-icon-delete" @click="oneClickDeleteHandle">一键删除</el-button>
<el-checkbox v-model="fixedStatusBar" @change="statusBarChecked">隐藏状态栏</el-checkbox>
</div>

31
src/views/archivesManage/archivesList/module/archivesInfo/index.vue

@ -101,8 +101,11 @@ export default {
deviceData: null
}
},
async created() {
await this.getDeviceListAll()
},
mounted() {
this.getDeviceListAll()
},
methods: {
getDetial(rowId) {
@ -169,22 +172,34 @@ export default {
},
//
openCol() {
const location = this.openLocation.split(' ')[2]
const pattern = /(\d+)区(\d+)列(\d+)节/
const loactionArray = this.openLocation.split(' ')
const location = this.openLocation.split(' ')[loactionArray.length - 1]
const pattern = /(\d+)区(\d+)列(\d+)节(\d+)层/
const matches = location.match(pattern)
let areaNumber
let colNumber
let leNumber
let divNumber
let zyNumber
if (matches !== null) {
areaNumber = matches[1]
colNumber = matches[2]
leNumber = matches[3]
divNumber = matches[4]
}
const last_char = location.length - 1
if (location[last_char] === '右') {
zyNumber = '2'
} else {
zyNumber = '1'
}
const params = {
deviceId: this.deviceData.id,
quNo: areaNumber,
colNo: colNumber,
leNo: '',
divNo: '',
zyNo: ''
quNo: areaNumber, //
colNo: colNumber, //
leNo: leNumber, //
divNo: divNumber, //
zyNo: zyNumber // 1 2
}
CallExternal.FetchCallExternalOpenCol(params).then(res => {
if (res.success && res.success === '0') {

90
src/views/archivesManage/archivesSearch/index.vue

@ -53,18 +53,18 @@
</template>
</el-table-column>
<el-table-column prop="category_name" label="门类名称" align="center" min-width="170" />
<el-table-column prop="archive_no" label="档号" align="center" min-width="180" />
<el-table-column prop="archive_no" label="档号" align="center" min-width="200" />
<el-table-column prop="maintitle" label="题名" align="center" min-width="240" />
<el-table-column type="serial_no" label="序号" width="100" align="center" />
<el-table-column type="arrive_class" label="收发类别" width="140" align="center" />
<el-table-column type="doc_no" label="发文字号" width="140" align="center" />
<el-table-column type="temp_no" label="临时卷号" width="140" align="center" />
<el-table-column prop="case_name" label="盒名称" align="center" min-width="180" />
<el-table-column prop="folder_location" label="所在位置" align="center" min-width="260">
<el-table-column prop="case_name" label="盒名称" align="center" min-width="200" />
<el-table-column prop="folder_location_details" label="所在位置" align="center" min-width="300">
<template slot-scope="scope">
<span v-if="!scope.row.folder_location">-</span>
<span v-if="!scope.row.folder_location_details">-</span>
<span v-else>
<el-tag effect="dark">{{ scope.row.folder_location }}</el-tag>
<el-tag effect="dark">{{ scope.row.folder_location_details }}</el-tag>
</span>
</template>
</el-table-column>
@ -73,7 +73,7 @@
<el-pagination :page-size.sync="page.size" :total="page.total" :current-page.sync="page.page" style="margin-top: 8px;" layout="total, prev, pager, next, sizes" @size-change="sizeChangeHandler($event)" @current-change="pageChangeHandler" />
</div>
<!-- 详情 -->
<detailDialog ref="detailDom" />
<detailDialog ref="detailDom" @openCol="openCol" />
</div>
</div>
</template>
@ -81,7 +81,7 @@
<script>
import detailDialog from './module/detailDialog.vue'
import { querySeniorArchives, FetchArchivesDetails, FetchArchivesMetadata } from '@/api/archivesManage/archivesList'
import CallExternal from '@/api/storeManage/deviceManage/device'
export default {
name: 'ArchivesSearch',
components: { detailDialog },
@ -117,9 +117,14 @@ export default {
size: null
},
homeSearchWords: '',
homeSearchSelect: []
homeSearchSelect: [],
openLocation: null,
deviceData: null
}
},
async created() {
await this.getDeviceListAll()
},
mounted() {
if (localStorage.getItem('homeSearchWords') !== null) {
this.keywords = localStorage.getItem('homeSearchWords')
@ -154,6 +159,16 @@ export default {
res.forEach(item => {
rowData[item.fieldName] = item.context
})
//
if (rowData.folder_location !== null) {
this.openLocation = rowData.folder_location
this.$refs.detailDom.isShowOpen = true
} else {
this.openLocation = null
this.$refs.detailDom.isShowOpen = false
}
this.$refs.detailDom.rowData = rowData
//
FetchArchivesMetadata(params).then(res => {
@ -227,6 +242,65 @@ export default {
this.params.page = e - 1
this.doQuery(this.params)
this.loading = false
},
//
getDeviceListAll() {
const params = {
page: 0,
size: 10,
sort: 'sequence,asc',
storeroomId: 'D6490DA3D4261E8C26D0E3'
}
CallExternal.getDeviceList(params).then(data => {
data.content.map(item => {
if (item.deviceTypeId.name === '密集架') { //
this.deviceData = item
}
})
})
},
//
openCol() {
const loactionArray = this.openLocation.split(' ')
const location = this.openLocation.split(' ')[loactionArray.length - 1]
const pattern = /(\d+)区(\d+)列(\d+)节(\d+)层/
const matches = location.match(pattern)
let areaNumber
let colNumber
let leNumber
let divNumber
let zyNumber
if (matches !== null) {
areaNumber = matches[1]
colNumber = matches[2]
leNumber = matches[3]
divNumber = matches[4]
}
const last_char = location.length - 1
if (location[last_char] === '右') {
zyNumber = '2'
} else {
zyNumber = '1'
}
const params = {
deviceId: this.deviceData.id,
quNo: areaNumber, //
colNo: colNumber, //
leNo: leNumber, //
divNo: divNumber, //
zyNo: zyNumber // 1 2
}
console.log(params)
CallExternal.FetchCallExternalOpenCol(params).then(res => {
if (res.success && res.success === '0') {
this.$message.success('开架执行成功')
} else {
this.$message.error(res.msg)
}
}).catch((error) => {
console.log(error)
this.$message.error('连接失败')
})
}
}
}

10
src/views/archivesManage/archivesSearch/module/detailDialog.vue

@ -10,6 +10,7 @@
<li :class="{'active': archivesTabIndex == 0}" @click="changeActiveTab(0)">基本信息</li>
<li :class="{'active': archivesTabIndex == 2}" @click="changeActiveTab(2)">元数据</li>
</ul>
<el-button v-if="isShowOpen" style="position: absolute; right: 30px; top: 0; z-index: 9999;" @click="openCol">开架</el-button>
<!-- 基本信息 -->
<div v-show="archivesTabIndex==0" class="base-info item-content">
<div>
@ -109,10 +110,12 @@ export default {
tableData: [],
archivesTabIndex: 0,
xml_show: null,
xmlStr: null
xmlStr: null,
isShowOpen: false
}
},
mounted() {
},
methods: {
handleClose() {
this.archivesTabIndex = 0
@ -123,6 +126,9 @@ export default {
this.xml_show = this.showXml(this.xmlStr)
}
},
openCol() {
this.$emit('openCol')
},
// xml
showXml(str) {
var that = this

4
src/views/archivesManage/caseManage/caseList/index.vue

@ -50,7 +50,7 @@
<el-table-column prop="caseName" label="盒名称" :show-overflow-tooltip="true" align="center" min-width="150" />
<el-table-column prop="tid" label="TID" align="center" min-width="180" />
<el-table-column prop="barcode" label="条形码" align="center" min-width="120" />
<el-table-column label="存放位置" align="center" min-width="150">
<el-table-column label="存放位置" align="center" min-width="300">
<template slot-scope="scope">
<span v-if="!scope.row.folderLocationDetails">-</span>
<span v-else>
@ -158,7 +158,7 @@ export default {
download: false,
group: false
},
sort: ['create_time,desc']
sort: ['update_time,desc']
})
},

9
src/views/archivesManage/fileImport/dataImport/index.vue

@ -37,7 +37,7 @@
</el-form-item>
<el-form-item label="遇到重复数据导入方式">
<el-radio-group v-model="form.archivesImportType">
<el-radio label="1">跳过</el-radio>
<!-- <el-radio label="1">跳过</el-radio> -->
<el-radio label="2">覆盖</el-radio>
</el-radio-group>
</el-form-item>
@ -48,7 +48,7 @@
</el-form-item>
<el-form-item label="遇到重复数据导入方式" pr>
<el-radio-group v-model="form.informationInputType">
<el-radio label="1">跳过</el-radio>
<!-- <el-radio label="1">跳过</el-radio> -->
<el-radio label="2">覆盖</el-radio>
</el-radio-group>
</el-form-item>
@ -92,8 +92,8 @@ export default {
form: {
importArchive: true,
importInformation: true,
archivesImportType: '1',
informationInputType: '1'
archivesImportType: '2',
informationInputType: '2'
},
isShow01: true,
isShow02: false,
@ -115,7 +115,6 @@ export default {
const files = event.target.files
this.file = files[0]
this.key++
console.log(this.file)
// const sizeLimit = this.file.size / 1024 / 1024 > 10
// if (sizeLimit) {
// this.$message.warning(' 10MB!')

26
src/views/archivesManage/lendManage/components/lendArchivesList.vue

@ -170,22 +170,34 @@ export default {
},
//
openCol(data) {
const location = data.split(' ')[2]
const pattern = /(\d+)区(\d+)列(\d+)节/
const loactionArray = data.split(' ')
const location = data.split(' ')[loactionArray.length - 1]
const pattern = /(\d+)区(\d+)列(\d+)节(\d+)层/
const matches = location.match(pattern)
let areaNumber
let colNumber
let leNumber
let divNumber
let zyNumber
if (matches !== null) {
areaNumber = matches[1]
colNumber = matches[2]
leNumber = matches[3]
divNumber = matches[4]
}
const last_char = location.length - 1
if (location[last_char] === '右') {
zyNumber = '2'
} else {
zyNumber = '1'
}
const params = {
deviceId: this.deviceData.id,
quNo: areaNumber,
colNo: colNumber,
leNo: '',
divNo: '',
zyNo: ''
quNo: areaNumber, //
colNo: colNumber, //
leNo: leNumber, //
divNo: divNumber, //
zyNo: zyNumber // 1 2
}
CallExternal.FetchCallExternalOpenCol(params).then(res => {
if (res.success && res.success === '0') {

161
src/views/storeManage/warehouse3D/deseCabinet/index.vue

@ -9,92 +9,94 @@
<el-button type="primary" class="return-btn" @click="backWarehouse">3D</el-button>
</div>
</div>
<div class="cabinet-main">
<!-- 无库房当前列数据时 - 左边 -->
<div v-if="deviceData" class="cabinet-num row-left-num">
<span v-for="(item,index) in rowNum" :key="index" :style="heightStyle"><i>{{ item }}</i></span>
</div>
<div v-if="deviceData" class="cabinet-num part-left-num">
<span v-for="(item,index) in partLeftNum" :key="index" :style="widhtStyle">{{ item }}</span>
</div>
<div v-if="deviceData" style="position:absolute; left:0; bottom:0; display: flex; font-size: 12px; color: #fff;">
<span style="display:block; margin-top: -12px"></span>
<span style="display:block; margin-top: -5px">/</span>
<span style="display:block; "></span>
</div>
<ul v-if="sortLeft.length === 0" class="cabinet-row">
<li v-for="(item,i) in totalPartRowNum" :key="i" class="cabinet-cell" :style="cellStyle" />
</ul>
<ul v-else class="cabinet-row">
<li v-for="(item,index) in sortLeft" :key="index" class="cabinet-cell" :style="cellStyle">
<!-- <div v-if="item.borrow === 0 && item.total === 0" style="font-size:12px">
<div v-loading="loading" element-loading-background="rgba(0, 0, 0, 0.2)">
<div class="cabinet-main">
<!-- 无库房当前列数据时 - 左边 -->
<div v-if="deviceData" class="cabinet-num row-left-num">
<span v-for="(item,index) in rowNum" :key="index" :style="heightStyle"><i>{{ item }}</i></span>
</div>
<div v-if="deviceData" class="cabinet-num part-left-num">
<span v-for="(item,index) in partLeftNum" :key="index" :style="widhtStyle">{{ item }}</span>
</div>
<div v-if="deviceData" style="position:absolute; left:0; bottom:0; display: flex; font-size: 12px; color: #fff;">
<span style="display:block; margin-top: -12px"></span>
<span style="display:block; margin-top: -5px">/</span>
<span style="display:block; "></span>
</div>
<ul v-if="sortLeft.length === 0" class="cabinet-row">
<li v-for="(item,i) in totalPartRowNum" :key="i" class="cabinet-cell" :style="cellStyle" />
</ul>
<ul v-else class="cabinet-row">
<li v-for="(item,index) in sortLeft" :key="index" class="cabinet-cell" :style="cellStyle">
<!-- <div v-if="item.borrow === 0 && item.total === 0" style="font-size:12px">
{{ item.part_No + '节' + item.row_No + '层' }}
</div> -->
<!-- 部分借出 -->
<div v-if="item.borrow !== 0 && item.total - item.borrow !== 0" class="out-part">
<span>{{ item.borrow }}</span>
</div>
<!-- 部分在库 -->
<div v-if="item.borrow !== 0 && item.total - item.borrow !== 0" class="in-part">
<span>{{ item.total - item.borrow }}</span>
</div>
<!-- 全部借出 -->
<div v-if="item.borrow !== 0 && item.total - item.borrow === 0" class="out-all">
<span>{{ item.borrow }}</span>
</div>
<!-- 全部在库 -->
<div v-if="item.borrow === 0 && item.total - item.borrow !== 0" class="in-all">
<span>{{ item.total - item.borrow }}</span>
</div>
</li>
</ul>
<!-- 部分借出 -->
<div v-if="item.borrow !== 0 && item.total - item.borrow !== 0" class="out-part">
<span>{{ item.borrow }}</span>
</div>
<!-- 部分在库 -->
<div v-if="item.borrow !== 0 && item.total - item.borrow !== 0" class="in-part">
<span>{{ item.total - item.borrow }}</span>
</div>
<!-- 全部借出 -->
<div v-if="item.borrow !== 0 && item.total - item.borrow === 0" class="out-all">
<span>{{ item.borrow }}</span>
</div>
<!-- 全部在库 -->
<div v-if="item.borrow === 0 && item.total - item.borrow !== 0" class="in-all">
<span>{{ item.total - item.borrow }}</span>
</div>
</li>
</ul>
<div :class="['cabinet-panel', isFixed ? 'fixed-panel' : '']" />
<div :class="['cabinet-panel', isFixed ? 'fixed-panel' : '']" />
<!-- 无库房当前列数据时 - 右边 -->
<ul v-if="sortLeft.length === 0" class="cabinet-row right-cabinet">
<ul v-for="(item,i) in totalPartRowNum" :key="i" class="cabinet-cell" :style="cellStyle" />
</ul>
<ul v-else class="cabinet-row right-cabinet">
<li v-for="(item,index) in sortRight" :key="index" class="cabinet-cell" :style="cellStyle">
<!-- <div v-if="item.borrow === 0 && item.total === 0" style="font-size:12px">
<!-- 无库房当前列数据时 - 右边 -->
<ul v-if="sortLeft.length === 0" class="cabinet-row right-cabinet">
<ul v-for="(item,i) in totalPartRowNum" :key="i" class="cabinet-cell" :style="cellStyle" />
</ul>
<ul v-else class="cabinet-row right-cabinet">
<li v-for="(item,index) in sortRight" :key="index" class="cabinet-cell" :style="cellStyle">
<!-- <div v-if="item.borrow === 0 && item.total === 0" style="font-size:12px">
{{ item.part_No + '节' + item.row_No + '层' }}
</div> -->
<!-- 部分借出 -->
<div v-if="item.borrow !== 0 && item.total - item.borrow !== 0" class="out-part">
<span>{{ item.borrow }}</span>
</div>
<!-- 部分在库 -->
<div v-if="item.borrow !== 0 && item.total - item.borrow !== 0" class="in-part">
<span>{{ item.total - item.borrow }}</span>
</div>
<!-- 全部借出 -->
<div v-if="item.borrow !== 0 && item.total - item.borrow !== 0" class="out-all">
<span>{{ item.borrow }}</span>
</div>
<!-- 全部在库 -->
<div v-if="item.borrow === 0 && item.total - item.borrow !== 0" class="in-all">
<span>{{ item.total - item.borrow }}</span>
</div>
</li>
</ul>
<div v-if="deviceData" class="cabinet-num row-right-num">
<span v-for="(item,index) in rowNum" :key="index" :style="heightStyle"><i>{{ item }}</i></span>
<!-- 部分借出 -->
<div v-if="item.borrow !== 0 && item.total - item.borrow !== 0" class="out-part">
<span>{{ item.borrow }}</span>
</div>
<!-- 部分在库 -->
<div v-if="item.borrow !== 0 && item.total - item.borrow !== 0" class="in-part">
<span>{{ item.total - item.borrow }}</span>
</div>
<!-- 全部借出 -->
<div v-if="item.borrow !== 0 && item.total - item.borrow !== 0" class="out-all">
<span>{{ item.borrow }}</span>
</div>
<!-- 全部在库 -->
<div v-if="item.borrow === 0 && item.total - item.borrow !== 0" class="in-all">
<span>{{ item.total - item.borrow }}</span>
</div>
</li>
</ul>
<div v-if="deviceData" class="cabinet-num row-right-num">
<span v-for="(item,index) in rowNum" :key="index" :style="heightStyle"><i>{{ item }}</i></span>
</div>
<div v-if="deviceData" class="cabinet-num part-right-num">
<span v-for="(item,index) in partRightNum" :key="index" :style="widhtStyle">{{ item }}</span>
</div>
<div v-if="deviceData" style="position:absolute; right:0; bottom:0; display: flex; font-size: 12px; color: #fff;">
<span style="display:block; "></span>
<span style="display:block; margin-top: -5px">\</span>
<span style="display:block; margin-top: -12px"></span>
</div>
</div>
<div v-if="deviceData" class="cabinet-num part-right-num">
<span v-for="(item,index) in partRightNum" :key="index" :style="widhtStyle">{{ item }}</span>
<div class="cabinet-bottom">
<el-button type="primary" :disabled="isFixed" @click="openCol">开架</el-button>
<el-button type="primary" @click="resetCol">合架</el-button>
<el-button type="primary" @click="ventHandle">通风</el-button>
<el-button type="primary" @click="stopMove">停止</el-button>
</div>
<div v-if="deviceData" style="position:absolute; right:0; bottom:0; display: flex; font-size: 12px; color: #fff;">
<span style="display:block; "></span>
<span style="display:block; margin-top: -5px">\</span>
<span style="display:block; margin-top: -12px"></span>
</div>
</div>
<div class="cabinet-bottom">
<el-button type="primary" :disabled="isFixed" @click="openCol">开架</el-button>
<el-button type="primary" @click="resetCol">合架</el-button>
<el-button type="primary" @click="ventHandle">通风</el-button>
<el-button type="primary" @click="stopMove">停止</el-button>
</div>
</div>
</template>
@ -106,6 +108,7 @@ export default {
name: 'DeseCabinet',
data() {
return {
loading: false,
// D6490DA3D4261E8C26D0E3
// 8F68A6B645B34B00B7ADFE
storeroomId: 'D6490DA3D4261E8C26D0E3', // id
@ -172,6 +175,7 @@ export default {
},
//
getDeviceListAll() {
this.loading = true
const params = {
page: 0,
size: 10,
@ -180,6 +184,7 @@ export default {
}
CallExternal.getDeviceList(params).then(data => {
data.content.map(item => {
this.loading = false
if (item.deviceTypeId.name === '密集架') { //
this.deviceData = item
this.totalPartRowNum = item.partNo * item.rowNo

Loading…
Cancel
Save