Commit 97e09b7d authored by 李苏's avatar 李苏 💬

调整

parent ca28e83b
# 页面标题 # 页面标题
VUE_APP_TITLE = 格物软件 VUE_APP_TITLE = 涉案人员随身物品管理
# 开发环境配置 # 开发环境配置
ENV = 'http://demo.ruoyi.vip/' ENV = 'http://demo.ruoyi.vip/'
......
# 页面标题 # 页面标题
VUE_APP_TITLE = 格物软件 VUE_APP_TITLE = 涉案人员随身物品管理
# 生产环境配置 # 生产环境配置
ENV = 'production' ENV = 'production'
......
# 页面标题 # 页面标题
VUE_APP_TITLE = 格物管理系统 VUE_APP_TITLE = 涉案人员随身物品管理
NODE_ENV = production NODE_ENV = production
......
...@@ -200,6 +200,217 @@ export const powerRoutes=[ ...@@ -200,6 +200,217 @@ export const powerRoutes=[
}, },
] ]
}, },
/* 调用 */
{
path: '/call',
component: 'Layout',
hidden: false,
alwaysShow: true,
redirect: 'case',
meta: {
title: "调用管理",
icon: "fa-cog",
noCache: false,
link: null,
mkid: '901030000'
},
children:[
{
component: 'call/thingCall/index',
hidden: false,
meta: {
"title": "物品调用",
"icon": "",
"noCache": false,
"link": null,
"mkid": '901031000',
},
name: 'thingCall',
path: "thingCall",
},
{
component: 'call/return/index',
hidden: false,
meta: {
"title": "物品归还",
"icon": "",
"noCache": false,
"link": null,
"mkid": '901032000',
},
name: 'return',
path: "return",
},
{
component: 'call/record/index',
hidden: false,
meta: {
"title": "逾期记录查询",
"icon": "",
"noCache": false,
"link": null,
"mkid": '901033000',
},
name: 'record',
path: "record",
}
]
},
/* 物品处置 */
{
path: '/handle',
component: 'Layout',
hidden: false,
alwaysShow: true,
redirect: 'back',
meta: {
title: "物品处理",
icon: "fa-cog",
noCache: false,
link: null,
mkid: '901040000'
},
children:[
{
component: 'handle/back/index',
hidden: false,
meta: {
"title": "物品发还",
"icon": "",
"noCache": false,
"link": null,
"mkid": '901041000',
},
name: 'back',
path: "back",
},
{
component: 'handle/seizure/index',
hidden: false,
meta: {
"title": "物品没收",
"icon": "",
"noCache": false,
"link": null,
"mkid": '901042000',
},
name: 'seizure',
path: "seizure",
},
{
component: 'handle/transfer/index',
hidden: false,
meta: {
"title": "随案移送",
"icon": "",
"noCache": false,
"link": null,
"mkid": '901043000',
},
name: 'transfer',
path: "transfer",
},
{
component: 'handle/sale/index',
hidden: false,
meta: {
"title": "物品拍卖",
"icon": "",
"noCache": false,
"link": null,
"mkid": '901044000',
},
name: 'sale',
path: "sale",
},
{
component: 'handle/destroy/index',
hidden: false,
meta: {
"title": "物品销毁",
"icon": "",
"noCache": false,
"link": null,
"mkid": '901045000',
},
name: 'destroy',
path: "destroy",
},
{
component: 'handle/saveCancel/index',
hidden: false,
meta: {
"title": "登记保存解除",
"icon": "",
"noCache": false,
"link": null,
"mkid": '901046000',
},
name: 'saveCancel',
path: "saveCancel",
},
{
component: 'handle/unseal/index',
hidden: false,
meta: {
"title": "解封",
"icon": "",
"noCache": false,
"link": null,
"mkid": '901047000',
},
name: 'unseal',
path: "unseal",
},
]
},
/* 查询分析 */
{
path: '/analysis',
component: 'Layout',
hidden: false,
alwaysShow: true,
redirect: 'list',
meta: {
title: "查询分析",
icon: "fa-cog",
noCache: false,
link: null,
mkid: '901050000'
},
children:[
{
component: 'analysis/list/index',
hidden: false,
meta: {
"title": "在库物品清单",
"icon": "",
"noCache": false,
"link": null,
"mkid": '901051000',
},
name: 'list',
path: "list",
},
{
component: 'analysis/query/index',
hidden: false,
meta: {
"title": "出入库台账查询",
"icon": "",
"noCache": false,
"link": null,
"mkid": '901052000',
},
name: 'query',
path: "query",
}
]
}
] ]
// 公共路由 // 公共路由
......
<template>
<BasePage :power="{
add: false,
copy: false,
delButton: false,
editButton: false,
operateButtons: false,
workFlow: false,
/* 表格 */
showSelection: false,
saveSelected: false
}" class="min_full" :config="config">
<template #dialog="ctx">
<!-- 嵌入默认页面额外弹框的插槽 ctx.pagePage来操作默认页面 -->
</template>
<template #toolbar="ctx">
<!-- 嵌入默认页面工具栏的插槽 ctx.pagePage来操作默认页面 -->
<!-- <el-button @click="demo(ctx.basePage)" size='mini' type="primary">示例按钮</el-button> -->
</template>
</BasePage>
</template>
<script>
export default {
data() {
return {
config: {
/* 基本配置*/
url: 'cxfx/crtz',
tableTitle: [
{
title: "序列号",
field: "xlh",
width: 140
},
{
title: "物品编码",
field: "wpbm",
},
{
title: "物品名称",
field: "wpmc",
},
{
title: "数量",
field: "count",
},
{
title: "案件编码",
field: "ajbm",
width: 140
},
{
title: "案件名称",
field: "ajmc",
width: 140
},
{
title: "物品持有人",
field: "wpcyr",
},
{
title: "物品特征",
field: "wptz",
},
{
title: "物品状态",
field: "wpzt",
formatter(a, b, c) {
let map = {
0: '未入库',
1: '在库',
2: '出库'
}
return map[c]
}
},
{
title: "所在库",
field: "szk",
width:130,
"transform": {
"url": "jcsj/u_ckwh/query",
"label": "ckmc",
"value": "id"
}
},
{
title: "维护人",
field: "whr"
},
{
title: "维护时间",
field: "whsj",
fieldType: "ftDateTime"
}
],
queryParams: [
[{
label: '部门',
prop: 'ssbm',
span: 4,
type: 'RelSelect',
"typeConfig": {
"src": "hjbm/query",
"match": {
"value": "bmid",
"label": "bmmc"
},
}
},
{
label: '仓库',
prop: 'ckid',
span: 4,
"type": "RelSelect",
"typeConfig": {
"src": "jcsj/u_ckwh/query",
"match": {
"value": "id",
"label": "ckmc"
},
params: {
}
},
},
{
label: '物品信息',
prop: 'wpxx',
span: 4,
type: 'input',
value: ''
},
{
label: '序列号',
prop: 'xlh',
span: 4,
type: 'input',
value: ''
},
{
label: '案件信息',
prop: 'ajxx',
span: 4,
type: 'input',
value: ''
},
]
],
/* 默认启停用 */
// treeUrl:''
}
}
},
methods: {
/* 示例*/
// demo(basePage){
// }
},
components: {
}
}
</script>
<style>
</style>
<template>
<RelDialog width="50%" :type='type' :editApp='editApp' :app='app' :buttonApp='buttonApp'>
<el-form slot="form" ref="form" :model="form" label-width="100px" :rules="rules">
<el-row :gutter="20" :app="this">
<EditColItem :required="item.required||false" :readonly="item.readonly?true:false " v-for="(item,index) in editColItemList " :value="item.value" :span="item.span" :label="item.label" :prop='item.prop' :key="item.prop" :type="item.type" :typeConfig='item.typeConfig' :rule="item.rule" />
</el-row>
</el-form>
</RelDialog>
</template>
<script>
import {
editMixin
} from 'common'
export default {
mixins: [editMixin],
data() {
return {
editColItemList: [
{
label: '编码',
prop: 'code',
span: 12,
type: 'input',
required:true,
},
{
label: '名称',
prop: 'name',
span: 12,
type: 'input',
required:true,
},
{
label: '备注',
prop: 'bz',
span: 24,
type: 'input'
},
]
}
}
}
</script>
<template>
<BasePage :power="{
add: false,
copy: false,
delButton: false,
editButton: false,
operateButtons: false,
workFlow: false,
/* 表格 */
showSelection: false,
saveSelected: false
}" class="min_full" :config="config">
<template #dialog="ctx">
<!-- 嵌入默认页面额外弹框的插槽 ctx.pagePage来操作默认页面 -->
</template>
<template #toolbar="ctx">
<!-- 嵌入默认页面工具栏的插槽 ctx.pagePage来操作默认页面 -->
<!-- <el-button @click="demo(ctx.basePage)" size='mini' type="primary">示例按钮</el-button> -->
</template>
</BasePage>
</template>
<script>
import Edit from './edit.vue'
export default {
data() {
return {
config: {
/* 基本配置*/
url: 'cxfx/crtz',
tableTitle: [{
title: "序列号",
field: "xlh",
width: 140
},
{
title: "单号",
field: "dh",
width: 140
},
{
title: "业务时间",
field: "ywsj",
fieldType: "ftDate"
},
{
title: "事务类型",
field: "swlx",
width: 140,
formatter(a, b, value) {
let map = {
'1': '扣押',
'2': '先行保存库',
'3': '冻结',
'4': '查封',
'5': '登记保存',
'6': '归还入库',
'7': '调度出库',
'8': '发还出库',
'9': '调拨出库',
'10': '随案移动',
'11': '拍卖',
'12': '销毁',
'13': '解除出库',
}
return map[value]
}
},
{
title: "物品编码",
field: "wpbm",
width: 120,
},
{
title: "物品名称",
field: "wpmc",
width: 100,
},
{
title: "物品特征",
field: "wptz",
width: 200,
},
{
title: "数量",
field: "count",
width: 140,
},
{
title: "物品持有人",
field: "wpcyr",
width: 140,
},
{
title: "案件编码",
field: "ajbm",
width: 140
},
{
title: "案件名称",
field: "ajmc",
width: 140
},
{
title: "案件名称",
field: "ajmc",
width: 140
},
{
title: "入库数量",
field: "rksl",
width: 140
},
{
title: "出库数量",
field: "cksl",
width: 140
},
{
title: "仓库",
field: "ckmc",
width: 140
},
{
title: "部门",
field: "bm",
width: 140,
"transform": {
"url": "hjbm/query",
"label": "bmmc",
"value": "bmid"
}
},
],
queryParams: [
[{
label: '部门',
prop: 'ssbm',
span: 4,
type: 'RelSelect',
"typeConfig": {
"src": "hjbm/query",
"match": {
"value": "bmid",
"label": "bmmc"
},
}
},
{
label: '仓库',
prop: 'ckid',
span: 4,
"type": "RelSelect",
"typeConfig": {
"src": "jcsj/u_ckwh/query",
"match": {
"value": "id",
"label": "ckmc"
},
params: {
}
},
},
{
label: '物品信息',
prop: 'wpxx',
span: 4,
type: 'input',
value: ''
},
{
label: '序列号',
prop: 'xlh',
span: 4,
type: 'input',
value: ''
},
{
label: '维护时间',
startProp: "kssj",
endProp: "jssj",
span: 6,
type: 'RelDaterangeV2',
startValue: new Date().getTime() - 1000 * 60 * 60 * 24 * 30,
endValue: new Date().getTime(),
},
],
[
{
label: '案件信息',
prop: 'ajxx',
span: 4,
type: 'input',
value: ''
},
]
],
}
}
},
methods: {
/* 示例*/
// demo(basePage){
// }
},
components: {
Edit
}
}
</script>
<style>
</style>
<template> <template>
<DefaultDialog :app='app'> <DefaultDialog :app='app'>
<div slot="form" style="display: flex;height: 70vh;"> <div slot="form" style="display: flex;height: 70vh;">
DialogTitle:'新增', <div v-loading='loading' v-if="b64!=null" class="full">
showDialog:false, <img class="full" :src="b64" alt="正在连接摄像头...若长时间连接失败请刷新页面或者检查摄像头设备是否连接,SDK是否正确安装!" srcset="">
</div> </div>
<div slot="reFooter" class="refooter" > </div>
<span slot="footer" class="dialog-footer" > <div slot="reFooter" class="refooter">
<el-button @click="app.showDialog=false">取 消</el-button> <span slot="footer" class="dialog-footer">
<el-button @click="cancel">取 消</el-button>
<el-button type="primary" @click="save()">保 存</el-button> <el-button type="primary" @click="save()">保 存</el-button>
</span> </span>
</div> </div>
</DefaultDialog> </DefaultDialog>
</template> </template>
<script> <script>
import {
autoAttach,
autoAttachDownload,
deleteAttachDownload,
uploadAttachDownload
} from "common/src/api/system/dmgSystem.js";
export default { export default {
props: { props: {
app: { app: {
type: Object, type: Object,
default: ()=>{ default: () => {
return {} return {}
} }
} }
}, },
async mounted() { async mounted() {
var socket = new WebSocket('ws://localhost:9000');
this.socket = socket
// 监听WebSocket事件
socket.addEventListener('open', () => {
socket.send(this.getinfo);
//
});
socket.addEventListener('message', (event) => {
// console.log('收到WebSocket消息:', event.data);
if (event.data instanceof Blob) {
} else {
let resdata = JSON.parse(event.data)
if (resdata.func == 'OpenCamera') {
socket.send(this.hqspl());
} else if (resdata.func == 'GetCameraVideoBuff') {
this.b64 = 'data:image/png;base64,' + resdata.imgBase64Str
} else if (resdata.func == "GetCameraInfo") {
/* 获取deviceType==1*/
if (resdata.devInfo && resdata.devInfo.length > 0) {
let gpy = resdata.devInfo.filter(item => item.deviceType == 1)
if (gpy.length == 0) {
gpy[0] = resdata.devInfo[0]
this.$warning('未调用到外接摄像头,正在启用其他摄像头')
}
this.devNum = gpy[0].id
// this.devNum=0
/* 开启摄像头*/
this.socket.send(this.dksxt());
} else {
this.$warning('请接入摄像头,检查是否安装了SDK程序')
}
}
}
});
socket.addEventListener('close', () => {
console.log('WebSocket连接已关闭');
});
socket.addEventListener('error', (error) => {
console.error('WebSocket连接出错:', error);
});
}, },
beforeDestroy() {
this.socket.send(this.gbsb());
this.socket.close();
},
data() { data() {
return { return {
loading: false,
devNum: 0,
b64: null,
getinfo: JSON.stringify({
"func": "GetCameraInfo",
"reqId": 123
})
} }
}, },
methods: { methods: {
save() {
if (this.b64) {
this.loading = true
var mimeString
function dataURItoBlob(dataURI) {
var byteString = atob(dataURI.split(',')[1]);
mimeString = dataURI.split(',')[0].split(':')[1].split(';')[0];
var ab = new ArrayBuffer(byteString.length);
var ia = new Uint8Array(ab);
for (var i = 0; i < byteString.length; i++) {
ia[i] = byteString.charCodeAt(i);
}
return new Blob([ab], {
type: mimeString
});
}
// 将Base64数据转换为Blob对象
let name = `${new Date()}.png`
var blob = dataURItoBlob(this.b64);
var formData = new FormData();
formData.append('file', blob)
formData.append('type', mimeString)
formData.append('name', name)
formData.append('groupid', this.app.singleItem.id)
uploadAttachDownload(formData, this.app.baseUrl).then(res => {
if (res.success) {
this.$success('上传成功')
this.app.showDialog = false
}
}).finally(e => {
this.loading = false
})
} else {
this.$warning('暂未拍摄到图像,无法保存')
}
},
hqspl() {
let params = JSON.stringify({
"func": "GetCameraVideoBuff",
"reqId": 126,
"devNum": this.devNum,
"width": 640,
"height": 480,
"fps": 10,
"enable": "true"
})
return params
},
gbsb() {
let params = JSON.stringify({
"func": "CloseCamera",
"reqId": 127,
"devNum": this.devNum,
})
return params
},
dksxt() {
let params = JSON.stringify({
"func": "OpenCamera",
"reqId": 125,
"devNum": this.devNum,
"mediaNum": 0,
"resolutionNum": 0,
"fps": 10,
"userName": "admin",
"password": "9999"
})
return params
},
cancel() {
this.app.showDialog = false
this.socket.send(this.gbsb());
this.socket.close();
}
} }
} }
......
...@@ -2,11 +2,14 @@ ...@@ -2,11 +2,14 @@
<BasePage :autoQuery="false" ref="BasePage" class="min_full" :config="config"> <BasePage :autoQuery="false" ref="BasePage" class="min_full" :config="config">
<template #dialog="ctx"> <template #dialog="ctx">
<!-- 嵌入默认页面额外弹框的插槽 ctx.pagePage来操作默认页面 --> <!-- 嵌入默认页面额外弹框的插槽 ctx.pagePage来操作默认页面 -->
<Dialog v-if="ctx.basePage.showDialog" :app='ctx.basePage' />
</template> </template>
<template #toolbar="ctx"> <template #toolbar="ctx">
<!-- 嵌入默认页面工具栏的插槽 ctx.pagePage来操作默认页面 --> <!-- 嵌入默认页面工具栏的插槽 ctx.pagePage来操作默认页面 -->
<AttachFileButton :app='ctx.basePage'></AttachFileButton> <AttachFileButton :app='ctx.basePage'></AttachFileButton>
<el-button @click="tz(ctx.basePage)" size='mini' type="primary">同步</el-button> <el-button @click="tz(ctx.basePage)" size='mini' type="primary">同步</el-button>
<el-button @click="pz(ctx.basePage)" size='mini' type="primary">拍照</el-button>
</template> </template>
<template #tablePagerLeft="ctx"> <template #tablePagerLeft="ctx">
<div class="tablePagerLeft"> <div class="tablePagerLeft">
...@@ -21,6 +24,7 @@ ...@@ -21,6 +24,7 @@
<script> <script>
import Edit from './edit.vue' import Edit from './edit.vue'
import Dialog from './dialog.vue'
import { import {
tableMixin tableMixin
} from 'common' } from 'common'
...@@ -29,7 +33,7 @@ ...@@ -29,7 +33,7 @@
mounted() { mounted() {
/* 初始化*/ /* 初始化*/
this.$refs.TablePager.pageQuery({ this.$refs.TablePager.pageQuery({
setFirstCurrent:true setFirstCurrent: true
}) })
}, },
data() { data() {
...@@ -49,8 +53,7 @@ ...@@ -49,8 +53,7 @@
config: { config: {
/* 基本配置*/ /* 基本配置*/
url: 'jcsj/u_wpgl', url: 'jcsj/u_wpgl',
tableTitle: [ tableTitle: [{
{
title: "案件编码", title: "案件编码",
field: "ajbm", field: "ajbm",
width: 140 width: 140
...@@ -68,12 +71,12 @@ ...@@ -68,12 +71,12 @@
{ {
title: "物品编码", title: "物品编码",
field: "wpbm", field: "wpbm",
fieldType: "ftDate"
}, },
{ {
title: "物品名称", title: "物品名称",
field: "wpmc", field: "wpmc",
fieldType: "ftDate"
}, },
{ {
title: "数量", title: "数量",
...@@ -82,13 +85,35 @@ ...@@ -82,13 +85,35 @@
{ {
title: "物品持有人", title: "物品持有人",
field: "wpcyr", field: "wpcyr",
fieldType: "ftDate"
}, },
{ {
title: "物品特征", title: "物品特征",
field: "wptz", field: "wptz",
fieldType: "ftDate"
}, },
{
title: "物品状态",
field: "wpzt",
formatter(a, b, c) {
let map = {
0: '未入库',
1: '在库',
2: '出库'
}
return map[c]
}
},
{
title: "所在库",
field: "szk",
width:130,
"transform": {
"url": "jcsj/u_ckwh/query",
"label": "ckmc",
"value": "id"
}
},
{ {
title: "维护人", title: "维护人",
field: "whr" field: "whr"
...@@ -100,24 +125,58 @@ ...@@ -100,24 +125,58 @@
}, },
], ],
queryParams: [ queryParams: [
[{ [
"label": "仓库类型", // {
"prop": "cklx", // "label": "仓库类型",
// "prop": "cklx",
// "span": 4,
// "type": "RelSelect",
// "value": "",
// "typeConfig": {
// "src": "jcsj/u_ckwh/query/cklx",
// "match": {
// "value": "type",
// "label": "name"
// }
// }
// },
{
"label": "物品状态",
"prop": "wpzt",
"span": 4, "span": 4,
"type": "RelSelect", "type": "RelSelect",
"value": "", "value": "",
"typeConfig": { "typeConfig": {
"src": "jcsj/u_ckwh/query/cklx", optionsData: [{
name: '未入库',
value: 0
},
{
name: '在库',
value: 1
},
{
name: '出库',
value: 2
}
],
"match": { "match": {
"value": "type", "value": "value",
"label": "name" "label": "name"
} }
} }
}, },
{
label: '物品信息',
prop: 'wpxx',
span: 3,
type: 'input',
value: ''
},
{ {
label: '案件号', label: '案件号',
prop: 'ajbm', prop: 'ajbm',
span: 4, span: 3,
type: 'input', type: 'input',
value: '' value: ''
}, },
...@@ -132,13 +191,29 @@ ...@@ -132,13 +191,29 @@
label: '维护时间', label: '维护时间',
startProp: "kssj", startProp: "kssj",
endProp: "jssj", endProp: "jssj",
span: 12, span: 6,
type: 'RelDaterangeV2', type: 'RelDaterangeV2',
startValue: new Date().getTime() - 1000 * 60 * 60 * 24 * 30, startValue: new Date().getTime() - 1000 * 60 * 60 * 24 * 30,
endValue: new Date().getTime(), endValue: new Date().getTime(),
},
{
label: '仓库',
prop: 'ckid',
span: 4,
"type": "RelSelect",
"typeConfig": {
"src": "jcsj/u_ckwh/query",
"match": {
"value": "id",
"label": "ckmc"
},
params: {
} }
},
},
] ],
], ],
...@@ -147,38 +222,51 @@ ...@@ -147,38 +222,51 @@
}, },
methods: { methods: {
tz(ctx){ tz(ctx) {
if(ctx.singleItem&&ctx.singleItem.id){
this.$post('jcsj/u_wpgl/sync',{
id:ctx.singleItem.id
}).then(res=>{ if (ctx.singleItem && ctx.singleItem.id) {
if(res.success){ this.$post('jcsj/u_wpgl/sync', {
id: ctx.singleItem.id
}).then(res => {
if (res.success) {
this.$success('操作成功') this.$success('操作成功')
ctx.refresh() ctx.refresh()
} }
}) })
}else{ } else {
this.$warning('请选择一条数据')
}
},
pz(ctx){
if (ctx.singleItem && ctx.singleItem.id) {
ctx.DialogTitle='拍照'
ctx.showDialog=true
} else {
this.$warning('请选择一条数据') this.$warning('请选择一条数据')
} }
}, },
getRow(e){ getRow(e) {
this.rowItem = e this.rowItem = e
this.$refs.BasePage.queryParams.ajid=e.id this.$refs.BasePage.queryParams.ajid = e.id
this.$refs.BasePage.queryParams.ajbm=e.ajbm this.$refs.BasePage.queryParams.ajbm = e.ajbm
/* 单独村春数据*/ /* 单独村春数据*/
this.$refs.BasePage.CASE=e this.$refs.BasePage.CASE = e
this.$refs.BasePage.refresh() this.$refs.BasePage.refresh()
}, },
/* 示例*/ /* 示例*/
query:function(params){ query: function(params) {
return this.$post('jcsj/u_ajgl/query',params) return this.$post('jcsj/u_ajgl/query', params)
} }
}, },
components: { components: {
Edit Edit,Dialog
} }
} }
......
<template>
<RelDialog width="50%" :type='type' :editApp='editApp' :app='app' :buttonApp='buttonApp'>
<el-form slot="form" ref="form" :model="form" label-width="100px" :rules="rules">
<el-row :gutter="20" :app="this">
<EditColItem :required="item.required||false" :readonly="item.readonly?true:false " v-for="(item,index) in editColItemList " :value="item.value" :span="item.span" :label="item.label" :prop='item.prop' :key="item.prop" :type="item.type" :typeConfig='item.typeConfig' :rule="item.rule" />
</el-row>
</el-form>
</RelDialog>
</template>
<script>
import {
editMixin
} from 'common'
export default {
mixins: [editMixin],
data() {
return {
editColItemList: [
{
label: '编码',
prop: 'code',
span: 12,
type: 'input',
required:true,
},
{
label: '名称',
prop: 'name',
span: 12,
type: 'input',
required:true,
},
{
label: '备注',
prop: 'bz',
span: 24,
type: 'input'
},
]
}
}
}
</script>
<template>
<BasePage :power="{
add: false,
copy: false,
delButton: false,
editButton: false,
operateButtons: false,
workFlow: false,
/* 表格 */
showSelection: false,
saveSelected: false
}" :rowClass="rowClass" class="min_full" :config="config">
<template #dialog="ctx">
<!-- 嵌入默认页面额外弹框的插槽 ctx.pagePage来操作默认页面 -->
</template>
<template #toolbar="ctx">
<!-- 嵌入默认页面工具栏的插槽 ctx.pagePage来操作默认页面 -->
<!-- <el-button @click="demo(ctx.basePage)" size='mini' type="primary">示例按钮</el-button> -->
</template>
</BasePage>
</template>
<script>
// import Edit from './edit.vue'
export default {
data() {
return {
config: {
/* 基本配置*/
url: 'wpdy/kyyqjl',
tableTitle: [{
title: "序列号",
field: "xlh",
width: 140
},
{
title: "物品编码",
field: "wpbm",
width: 140
},
{
title: "物品名称",
field: "wpmc",
width: 140
},
{
title: "部门",
field: "bm",
width: 140,
"transform": {
"url": "hjbm/query",
"label": "bmmc",
"value": "bmid"
}
},
{
title: "仓库",
field: "ckmc",
width: 140
},
{
title: "调用人",
field: "dyr",
width: 140
},
{
title: "调用日期",
field: "ckmc",
width: 140,
fieldType: "ftDate"
},
{
title: "预计归还时间",
field: "yjghrq",
width: 140,
fieldType: "ftDate"
},
{
title: "实际归还日期",
field: "ckmc",
width: 140,
fieldType: "ftDate"
},
{
title: "数量",
field: "count",
}
],
queryParams: [
[{
label: '序列号',
prop: 'xlh',
span: 4,
type: 'input',
value: ''
},
{
label: '物品信息',
prop: 'wpxx',
span: 4,
type: 'input',
value: ''
},
{
"label": "仓库",
"prop": "ckid",
"span": 4,
"type": "RelSelect",
"value": "",
"typeConfig": {
"src": "jcsj/u_ckwh/query",
"match": {
"value": "id",
"label": "ckmc"
},
params: {
}
}
},
{
label: '维护时间',
startProp: "kssj",
endProp: "jssj",
span: 8,
type: 'RelDaterangeV2',
startValue: new Date().getTime() - 1000 * 60 * 60 * 24 * 30,
endValue: new Date().getTime(),
},
{
label: '调用人',
prop: 'dyr',
span: 4,
type: 'input',
value: ''
},
]]
/* 默认启停用 */
}
}
},
methods: {
rowClass(
{
row,
rowIndex
}) {
// if(row.ckrq<row.yjghrq){
// return 'warning-row'
// }else{
// return '';
// }
}
/* 示例*/
// demo(basePage){
// }
},
components: {
// Edit
}
}
</script>
<style>
</style>
<template>
<HjRelDialog :master='false' width="70%" :type='type' :editApp='editApp' :app='app' :buttonApp='buttonApp'>
<el-form slot="form" ref="form" :model="form" label-width="120px" :rules="rules">
<!-- 结构-->
<div class="editMain">
<div class="editMain_left">
<!-- 扫码-->
<div class="editMain_left1">
<el-input placeholder="请输入序列号" v-model="xlh" class="input-with-select">
<el-button @click="cxxlh" slot="append" icon="el-icon-search"></el-button>
</el-input>
</div>
<div class="editMain_left2">
<editTableForEdit :expandTitle='false' :rename="'选择物品'" code="SHHJTHINGSWLX7" :indexApp='app' :type='type' @save='save' ref="editTableForEdit"
:editTableTitle='editTableTitle' v-if="editTableForEdit" :editTableData="form.details" />
</div>
</div>
<el-row class="editMain_right" :gutter="20" :app="this">
<EditColItem :required="item.required||false" :readonly="item.readonly?true:false "
v-for="(item,index) in editColItemList " :value="item.value" :span="item.span" :label="item.label"
:prop='item.prop' :key="item.prop" :type="item.type" :typeConfig='item.typeConfig' :rule="item.rule" />
</el-row>
</div>
</el-form>
</HjRelDialog>
</template>
<script>
import {
editMixin,
editMixin_expand
} from 'common'
export default {
mixins: [editMixin, editMixin_expand],
methods:{
/* 过滤序列号添加*/
filter(obj){
console.log(obj)
let xlh=obj.xlh
let iscf=false
this.form.details.forEach(item=>{
if(item.xlh==xlh){
iscf=true
}
})
if(!iscf){
this.form.details.push(obj)
}else{
console.warn(`重复序列号${obj.xlh}`)
}
},
cxxlh(){
if(this.xlh){
this.$post('jcsj/u_wpgl/query',{
xlh:this.xlh
}).then(res=>{
if(res.data.records){
if(res.data.records.length!=0){
this.filter(res.data.records[0])
this.xlh=''
}else{
this.$warning('未查询到数据')
}
}
})
}else{
this.$warning('请输入序列号')
}
},
save(list){
list.forEach(item=>{
this.filter(item)
})
}
},
data() {
return {
xlh:'',
form: {
swlx: 6,
details:[]
},
formDetail: [],
editColItemList: [
{
label: '入库单号',
prop: 'rkdh',
span: 24,
type: 'input',
},
{
label: '入库日期',
prop: 'rkrq',
span: 24,
type: 'date',
value:new Date().getTime(),
required: true,
},
{
"label": "部门",
"prop": "bm",
"span": 24,
"type": "RelSelect",
"value": "",
"required": true,
"typeConfig": {
"src": "hjbm/query",
"match": {
"value": "bmid",
"label": "bmmc"
}
}
},
{
label: '仓库',
prop: 'ckid',
span: 24,
"type": "RelSelect",
"typeConfig": {
"src": "jcsj/u_ckwh/query",
"match": {
"value": "id",
"label": "ckmc"
},
params: {
// cklx: "KY"
}
},
required: true,
},
{
label: '经手人',
prop: 'jsr',
span: 24,
type: 'input',
},
{
label: '归还人',
prop: 'swlxr',
span: 24,
type: 'input',
}
],
editTableTitle: [{
title: "序号",
field: "xh",
width: 50,
align: "center"
},
{
title: "物品编码",
field: "wpbm",
width: 100,
align: "center"
},
{
title: "物品名称",
field: "wpmc",
width: 120,
align: "center"
},
{
title: "物品特征",
field: "wptz",
width: 140,
align: "center"
},
{
title: "案件编号",
field: "ajbm",
width: 90,
align: "center"
},
{
title: "案件名称",
field: "ajmc",
width: 120,
align: "center"
},
{
title: "物品持有人",
field: "wpcyr",
width: 100,
align: "center"
},
{
title: "入库数量",
field: "count",
width: 100,
align: "center"
},
{
title: "备注",
field: "bz",
width: 150,
align: "center"
}
]
}
}
}
</script>
<style lang="scss" scoped>
.editMain {
display: flex;
}
.editMain_left {
width: 70%;
min-height: 400px;
border-right: 5px solid #fff;
}
.editMain_left1 {
height: 30px;
width: 100%;
}
.editMain_left2 {
width: 100%;
height: calc(100% - 30px);
}
.editMain_right {
background-color: #eee;
width: 30%;
min-height: 400px;
padding-top: 10px;
}
</style>
<template>
<BasePage ref="basepage" :autoQuery='false' class="min_full" :config="config">
<template #dialog="ctx">
<!-- 嵌入默认页面额外弹框的插槽 ctx.pagePage来操作默认页面 -->
</template>
<template #toolbar="ctx">
<!-- 嵌入默认页面工具栏的插槽 ctx.pagePage来操作默认页面 -->
<AttachFileButton :app='ctx.basePage'></AttachFileButton>
</template>
</BasePage>
</template>
<script>
import Edit from './edit.vue'
export default {
/* 赋值swlx主动查询*/
mounted() {
this.$refs.basepage.queryParams.swlx = '6'
this.$refs.basepage.refresh()
},
methods: {
},
data() {
return {
config: {
/* 基本配置*/
url: 'wpdy/wpgh',
tableTitle: [{
title: "入库单号",
field: "rkdh",
fieldType: "upper",
width: 140
},
{
title: "入库日期",
field: "rkrq",
fieldType: "ftDate"
},
{
title: "仓库",
field: "ckmc",
width: 140
},
{
title: "事务类型",
field: "swlx",
width: 140,
formatter(a, b, value) {
let map = {
'1': '扣押',
'2': '先行保存库',
'3': '冻结',
'4': '查封',
'5': '登记保存',
'6': '归还入库',
'7': '调度出库',
'8': '发还出库',
'9': '调拨出库',
'10': '随案移动',
'11': '拍卖',
'12': '销毁',
'13': '解除出库',
}
return map[value]
}
},
{
title: "部门",
field: "bm",
width: 140,
"transform": {
"url": "hjbm/query",
"label": "bmmc",
"value": "bmid"
}
},
{
title: "经手人",
field: "jsr",
width: 140
},
{
label: '归还人',
prop: 'swlxr',
span: 4,
type: 'input',
value: ''
},
{
title: "备注",
field: "bz"
},
{
title: "维护人",
field: "whr"
},
{
title: "维护时间",
field: "whsj",
fieldType: "ftDateTime"
},
],
queryParams: [
[{
label: '部门',
prop: 'ssbm',
span: 4,
type: 'RelSelect',
"typeConfig": {
"src": "hjbm/query",
"match": {
"value": "bmid",
"label": "bmmc"
},
}
},
{
"label": "仓库",
"prop": "ckid",
"span": 4,
"type": "RelSelect",
"value": "",
"typeConfig": {
"src": "jcsj/u_ckwh/query",
"match": {
"value": "id",
"label": "ckmc"
},
params: {
cklx: 'KY'
}
}
},
{
label: '维护时间',
startProp: "kssj",
endProp: "jssj",
span: 8,
type: 'RelDaterangeV2',
startValue: new Date().getTime() - 1000 * 60 * 60 * 24 * 30,
endValue: new Date().getTime(),
},
{
label: '入库单号',
prop: 'rkdh',
span: 4,
type: 'input',
value: ''
},
{
label: '序列号',
prop: 'xlh',
span: 4,
type: 'input',
value: ''
}
],
[{
label: '案件信息',
prop: 'ajxx',
span: 4,
type: 'input',
value: ''
},
{
label: '归还人',
prop: 'swlxr',
span: 4,
type: 'input',
value: ''
},
]
],
}
}
},
components: {
Edit
}
}
</script>
<style>
</style>
<template>
<DefaultDialog :app='app'>
<div slot="form" style="display: flex;height: 70vh;">
DialogTitle:'新增',
showDialog:false,
</div>
<div slot="reFooter" class="refooter" >
<span slot="footer" class="dialog-footer" >
<el-button @click="app.showDialog=false">取 消</el-button>
<el-button type="primary" @click="save()">保 存</el-button>
</span>
</div>
</DefaultDialog>
</template>
<script>
export default {
props: {
app: {
type: Object,
default: ()=>{
return {}
}
}
},
async mounted() {
},
data() {
return {
}
},
methods: {
}
}
</script>
<style scoped>
</style>
<template>
<HjRelDialog :master='false' width="70%" :type='type' :editApp='editApp' :app='app' :buttonApp='buttonApp'>
<el-form slot="form" ref="form" :model="form" label-width="120px" :rules="rules">
<!-- 结构-->
<div class="editMain">
<div class="editMain_left">
<!-- 扫码-->
<div class="editMain_left1">
<el-input placeholder="请输入序列号" v-model="xlh" class="input-with-select">
<el-button @click="cxxlh" slot="append" icon="el-icon-search"></el-button>
</el-input>
</div>
<div class="editMain_left2">
<editTableForEdit :expandTitle='false' :rename="'选择物品'" code="SHHJTHING1" :indexApp='app' :type='type' @save='save' ref="editTableForEdit"
:editTableTitle='editTableTitle' v-if="editTableForEdit" :editTableData="form.details" />
</div>
</div>
<el-row class="editMain_right" :gutter="20" :app="this">
<EditColItem :required="item.required||false" :readonly="item.readonly?true:false "
v-for="(item,index) in editColItemList " :value="item.value" :span="item.span" :label="item.label"
:prop='item.prop' :key="item.prop" :type="item.type" :typeConfig='item.typeConfig' :rule="item.rule" />
</el-row>
</div>
</el-form>
</HjRelDialog>
</template>
<script>
import {
editMixin,
editMixin_expand
} from 'common'
export default {
mixins: [editMixin, editMixin_expand],
methods:{
/* 过滤序列号添加*/
filter(obj){
console.log(obj)
let xlh=obj.xlh
let iscf=false
this.form.details.forEach(item=>{
if(item.xlh==xlh){
iscf=true
}
})
if(!iscf){
this.form.details.push(obj)
}else{
console.warn(`重复序列号${obj.xlh}`)
}
},
cxxlh(){
if(this.xlh){
this.$post('jcsj/u_wpgl/query',{
xlh:this.xlh
}).then(res=>{
if(res.data.records){
if(res.data.records.length!=0){
this.filter(res.data.records[0])
this.xlh=''
}else{
this.$warning('未查询到数据')
}
}
})
}else{
this.$warning('请输入序列号')
}
},
save(list){
list.forEach(item=>{
this.filter(item)
})
}
},
data() {
return {
xlh:'',
form: {
swlx: 7,
details:[]
},
formDetail: [],
editColItemList: [
{
label: '出库单号',
prop: 'ckdh',
span: 24,
type: 'input',
},
{
label: '出库日期',
prop: 'ckrq',
span: 24,
type: 'date',
value:new Date().getTime(),
required: true,
},
{
"label": "部门",
"prop": "bm",
"span": 24,
"type": "RelSelect",
"value": "",
"required": true,
"typeConfig": {
"src": "hjbm/query",
"match": {
"value": "bmid",
"label": "bmmc"
}
}
},
{
label: '仓库',
prop: 'ckid',
span: 24,
"type": "RelSelect",
"typeConfig": {
"src": "jcsj/u_ckwh/query",
"match": {
"value": "id",
"label": "ckmc"
},
params: {
// cklx: "KY"
}
},
required: true,
},
{
label: '预计归还日期',
prop: 'yjghrq',
span: 24,
type: 'date',
required: true,
},
{
label: '经手人',
prop: 'jsr',
span: 24,
type: 'input',
},
{
label: '调用人',
prop: 'dyr',
span: 24,
type: 'input',
}
],
editTableTitle: [{
title: "序号",
field: "xh",
width: 50,
align: "center"
},
{
title: "物品编码",
field: "wpbm",
width: 100,
align: "center"
},
{
title: "物品名称",
field: "wpmc",
width: 120,
align: "center"
},
{
title: "物品特征",
field: "wptz",
width: 140,
align: "center"
},
{
title: "案件编号",
field: "ajbm",
width: 90,
align: "center"
},
{
title: "案件名称",
field: "ajmc",
width: 120,
align: "center"
},
{
title: "物品持有人",
field: "wpcyr",
width: 100,
align: "center"
},
{
title: "入库数量",
field: "count",
width: 100,
align: "center"
},
{
title: "备注",
field: "bz",
width: 150,
align: "center"
}
]
}
}
}
</script>
<style lang="scss" scoped>
.editMain {
display: flex;
}
.editMain_left {
width: 70%;
min-height: 400px;
border-right: 5px solid #fff;
}
.editMain_left1 {
height: 30px;
width: 100%;
}
.editMain_left2 {
width: 100%;
height: calc(100% - 30px);
}
.editMain_right {
background-color: #eee;
width: 30%;
min-height: 400px;
padding-top: 10px;
}
</style>
<template>
<BasePage ref="basepage" :autoQuery='false' class="min_full" :config="config">
<template #dialog="ctx">
<!-- 嵌入默认页面额外弹框的插槽 ctx.pagePage来操作默认页面 -->
</template>
<template #toolbar="ctx">
<!-- 嵌入默认页面工具栏的插槽 ctx.pagePage来操作默认页面 -->
<AttachFileButton :app='ctx.basePage'></AttachFileButton>
</template>
</BasePage>
</template>
<script>
import Edit from './edit.vue'
export default {
/* 赋值swlx主动查询*/
mounted() {
this.$refs.basepage.queryParams.swlx = '7'
this.$refs.basepage.refresh()
},
methods: {
},
data() {
return {
config: {
/* 基本配置*/
url: 'wpdy/wpdy',
tableTitle: [{
title: "出库单号",
field: "ckdh",
fieldType: "upper",
width: 140
},
{
title: "出库日期",
field: "ckrq",
fieldType: "ftDate"
},
{
title: "预计归还日期",
field: "yjghrq",
fieldType: "ftDate"
},
{
title: "仓库",
field: "ckmc",
width: 140
},
{
title: "事务类型",
field: "swlx",
width: 140,
formatter(a, b, value) {
let map = {
'1': '扣押',
'2': '先行保存库',
'3': '冻结',
'4': '查封',
'5': '登记保存',
'6': '归还入库',
'7': '调度出库',
'8': '发还出库',
'9': '调拨出库',
'10': '随案移动',
'11': '拍卖',
'12': '销毁',
'13': '解除出库',
}
return map[value]
}
},
{
title: "部门",
field: "bm",
width: 140,
"transform": {
"url": "hjbm/query",
"label": "bmmc",
"value": "bmid"
}
},
{
title: "经手人",
field: "jsr",
width: 140
},
{
label: '调用人',
prop: 'dyr',
span: 4,
type: 'input',
value: ''
},
{
title: "备注",
field: "bz"
},
{
title: "维护人",
field: "whr"
},
{
title: "维护时间",
field: "whsj",
fieldType: "ftDateTime"
},
],
queryParams: [
[{
label: '部门',
prop: 'ssbm',
span: 4,
type: 'RelSelect',
"typeConfig": {
"src": "hjbm/query",
"match": {
"value": "bmid",
"label": "bmmc"
},
}
},
{
"label": "仓库",
"prop": "ckid",
"span": 4,
"type": "RelSelect",
"value": "",
"typeConfig": {
"src": "jcsj/u_ckwh/query",
"match": {
"value": "id",
"label": "ckmc"
},
params: {
cklx: 'KY'
}
}
},
{
label: '维护时间',
startProp: "kssj",
endProp: "jssj",
span: 8,
type: 'RelDaterangeV2',
startValue: new Date().getTime() - 1000 * 60 * 60 * 24 * 30,
endValue: new Date().getTime(),
},
{
label: '出库单号',
prop: 'ckdh',
span: 4,
type: 'input',
value: ''
},
{
label: '序列号',
prop: 'xlh',
span: 4,
type: 'input',
value: ''
}
],
[{
label: '案件信息',
prop: 'ajxx',
span: 4,
type: 'input',
value: ''
},
{
label: '调用人',
prop: 'dyr',
span: 4,
type: 'input',
value: ''
},
]
],
}
}
},
components: {
Edit
}
}
</script>
<style>
</style>
<template>
<DefaultDialog :app='app'>
<div slot="form" style="display: flex;height: 70vh;">
DialogTitle:'新增',
showDialog:false,
</div>
<div slot="reFooter" class="refooter" >
<span slot="footer" class="dialog-footer" >
<el-button @click="app.showDialog=false">取 消</el-button>
<el-button type="primary" @click="save()">保 存</el-button>
</span>
</div>
</DefaultDialog>
</template>
<script>
export default {
props: {
app: {
type: Object,
default: ()=>{
return {}
}
}
},
async mounted() {
},
data() {
return {
}
},
methods: {
}
}
</script>
<style scoped>
</style>
<template>
<HjRelDialog :master='false' width="70%" :type='type' :editApp='editApp' :app='app' :buttonApp='buttonApp'>
<el-form slot="form" ref="form" :model="form" label-width="120px" :rules="rules">
<!-- 结构-->
<div class="editMain">
<div class="editMain_left">
<!-- 扫码-->
<div class="editMain_left1">
<el-input placeholder="请输入序列号" v-model="xlh" class="input-with-select">
<el-button @click="cxxlh" slot="append" icon="el-icon-search"></el-button>
</el-input>
</div>
<div class="editMain_left2">
<editTableForEdit :expandTitle='false' :rename="'选择物品'" code="SHHJTHING1" :indexApp='app' :type='type' @save='save' ref="editTableForEdit"
:editTableTitle='editTableTitle' v-if="editTableForEdit" :editTableData="form.details" />
</div>
</div>
<el-row class="editMain_right" :gutter="20" :app="this">
<EditColItem :required="item.required||false" :readonly="item.readonly?true:false "
v-for="(item,index) in editColItemList " :value="item.value" :span="item.span" :label="item.label"
:prop='item.prop' :key="item.prop" :type="item.type" :typeConfig='item.typeConfig' :rule="item.rule" />
</el-row>
</div>
</el-form>
</HjRelDialog>
</template>
<script>
import {
editMixin,
editMixin_expand
} from 'common'
export default {
mixins: [editMixin, editMixin_expand],
methods:{
/* 过滤序列号添加*/
filter(obj){
let xlh=obj.xlh
let iscf=false
this.form.details.forEach(item=>{
if(item.xlh==xlh){
iscf=true
}
})
if(!iscf){
this.form.details.push(obj)
}else{
console.warn(`重复序列号${obj.xlh}`)
}
},
cxxlh(){
if(this.xlh){
this.$post('jcsj/u_wpgl/query',{
xlh:this.xlh
}).then(res=>{
if(res.data.records){
if(res.data.records.length!=0){
this.filter(res.data.records[0])
this.xlh=''
}else{
this.$warning('未查询到数据')
}
}
})
}else{
this.$warning('请输入序列号')
}
},
save(list){
list.forEach(item=>{
this.filter(item)
})
}
},
data() {
return {
xlh:'',
form: {
swlx: 8,
details:[]
},
formDetail: [],
editColItemList: [
{
label: '出库单号',
prop: 'ckdh',
span: 24,
type: 'input',
},
{
label: '出库日期',
prop: 'ckrq',
span: 24,
type: 'date',
value:new Date().getTime(),
required: true,
},
{
"label": "部门",
"prop": "bm",
"span": 24,
"type": "RelSelect",
"value": "",
"required": true,
"typeConfig": {
"src": "hjbm/query",
"match": {
"value": "bmid",
"label": "bmmc"
}
}
},
{
label: '仓库',
prop: 'ckid',
span: 24,
"type": "RelSelect",
"typeConfig": {
"src": "jcsj/u_ckwh/query",
"match": {
"value": "id",
"label": "ckmc"
},
params: {
}
},
required: true,
},
{
label: '经手人',
prop: 'jsr',
span: 24,
type: 'input',
},
{
label: '发还对象',
prop: 'fhdx',
span: 24,
type: 'input',
required: true,
},
{
label: '领取人',
prop: 'lqr',
span: 24,
type: 'input',
}
],
editTableTitle: [{
title: "序号",
field: "xh",
width: 50,
align: "center"
},
{
title: "物品编码",
field: "wpbm",
width: 100,
align: "center"
},
{
title: "物品名称",
field: "wpmc",
width: 120,
align: "center"
},
{
title: "物品特征",
field: "wptz",
width: 140,
align: "center"
},
{
title: "案件编号",
field: "ajbm",
width: 90,
align: "center"
},
{
title: "案件名称",
field: "ajmc",
width: 120,
align: "center"
},
{
title: "物品持有人",
field: "wpcyr",
width: 100,
align: "center"
},
{
title: "入库数量",
field: "count",
width: 100,
align: "center"
},
{
title: "备注",
field: "bz",
width: 150,
align: "center"
}
]
}
}
}
</script>
<style lang="scss" scoped>
.editMain {
display: flex;
}
.editMain_left {
width: 70%;
min-height: 400px;
border-right: 5px solid #fff;
}
.editMain_left1 {
height: 30px;
width: 100%;
}
.editMain_left2 {
width: 100%;
height: calc(100% - 30px);
}
.editMain_right {
background-color: #eee;
width: 30%;
min-height: 400px;
padding-top: 10px;
}
</style>
<template>
<BasePage ref="basepage" :autoQuery='false' class="min_full" :config="config">
<template #dialog="ctx">
<!-- 嵌入默认页面额外弹框的插槽 ctx.pagePage来操作默认页面 -->
</template>
<template #toolbar="ctx">
<!-- 嵌入默认页面工具栏的插槽 ctx.pagePage来操作默认页面 -->
<AttachFileButton :app='ctx.basePage'></AttachFileButton>
</template>
</BasePage>
</template>
<script>
import Edit from './edit.vue'
export default {
/* 赋值swlx主动查询*/
mounted() {
this.$refs.basepage.queryParams.swlx = '8'
this.$refs.basepage.refresh()
},
methods: {
},
data() {
return {
config: {
/* 基本配置*/
url: 'jcsj/u_ckgl',
tableTitle: [{
title: "出库单号",
field: "ckdh",
fieldType: "upper",
width: 140
},
{
title: "出库日期",
field: "ckrq",
fieldType: "ftDate"
},
{
title: "仓库",
field: "ckmc",
width: 140
},
{
title: "事务类型",
field: "swlx",
width: 140,
formatter(a, b, value) {
let map = {
'1': '扣押',
'2': '先行保存库',
'3': '冻结',
'4': '查封',
'5': '登记保存',
'6': '归还入库',
'7': '调度出库',
'8': '发还出库',
'9': '调拨出库',
'10': '随案移动',
'11': '拍卖',
'12': '销毁',
'13': '解除出库',
}
return map[value]
}
},
{
title: "部门",
field: "bm",
width: 140,
"transform": {
"url": "hjbm/query",
"label": "bmmc",
"value": "bmid"
}
},
{
title: "发还对象",
field: "fhdx",
width: 140
},
{
title: "领取人",
field: "lqr",
width: 140
},
{
title: "经手人",
field: "jsr",
width: 140
},
{
title: "备注",
field: "bz"
}
],
queryParams: [
[{
label: '部门',
prop: 'ssbm',
span: 4,
type: 'RelSelect',
"typeConfig": {
"src": "hjbm/query",
"match": {
"value": "bmid",
"label": "bmmc"
},
}
},
{
"label": "仓库",
"prop": "ckid",
"span": 4,
"type": "RelSelect",
"value": "",
"typeConfig": {
"src": "jcsj/u_ckwh/query",
"match": {
"value": "id",
"label": "ckmc"
},
params: {
}
}
},
{
label: '维护时间',
startProp: "kssj",
endProp: "jssj",
span: 8,
type: 'RelDaterangeV2',
startValue: new Date().getTime() - 1000 * 60 * 60 * 24 * 30,
endValue: new Date().getTime(),
},
{
label: '出库单号',
prop: 'ckdh',
span: 4,
type: 'input',
value: ''
},
{
label: '序列号',
prop: 'xlh',
span: 4,
type: 'input',
value: ''
}
],
[{
label: '案件信息',
prop: 'ajxx',
span: 4,
type: 'input',
value: ''
}
]
],
}
}
},
components: {
Edit
}
}
</script>
<style>
</style>
<template>
<DefaultDialog :app='app'>
<div slot="form" style="display: flex;height: 70vh;">
DialogTitle:'新增',
showDialog:false,
</div>
<div slot="reFooter" class="refooter" >
<span slot="footer" class="dialog-footer" >
<el-button @click="app.showDialog=false">取 消</el-button>
<el-button type="primary" @click="save()">保 存</el-button>
</span>
</div>
</DefaultDialog>
</template>
<script>
export default {
props: {
app: {
type: Object,
default: ()=>{
return {}
}
}
},
async mounted() {
},
data() {
return {
}
},
methods: {
}
}
</script>
<style scoped>
</style>
<template>
<HjRelDialog :master='false' width="70%" :type='type' :editApp='editApp' :app='app' :buttonApp='buttonApp'>
<el-form slot="form" ref="form" :model="form" label-width="120px" :rules="rules">
<!-- 结构-->
<div class="editMain">
<div class="editMain_left">
<!-- 扫码-->
<div class="editMain_left1">
<el-input placeholder="请输入序列号" v-model="xlh" class="input-with-select">
<el-button @click="cxxlh" slot="append" icon="el-icon-search"></el-button>
</el-input>
</div>
<div class="editMain_left2">
<editTableForEdit :expandTitle='false' :rename="'选择物品'" code="SHHJTHING1" :indexApp='app' :type='type' @save='save' ref="editTableForEdit"
:editTableTitle='editTableTitle' v-if="editTableForEdit" :editTableData="form.details" />
</div>
</div>
<el-row class="editMain_right" :gutter="20" :app="this">
<EditColItem :required="item.required||false" :readonly="item.readonly?true:false "
v-for="(item,index) in editColItemList " :value="item.value" :span="item.span" :label="item.label"
:prop='item.prop' :key="item.prop" :type="item.type" :typeConfig='item.typeConfig' :rule="item.rule" />
</el-row>
</div>
</el-form>
</HjRelDialog>
</template>
<script>
import {
editMixin,
editMixin_expand
} from 'common'
export default {
mixins: [editMixin, editMixin_expand],
methods:{
/* 过滤序列号添加*/
filter(obj){
let xlh=obj.xlh
let iscf=false
this.form.details.forEach(item=>{
if(item.xlh==xlh){
iscf=true
}
})
if(!iscf){
this.form.details.push(obj)
}else{
console.warn(`重复序列号${obj.xlh}`)
}
},
cxxlh(){
if(this.xlh){
this.$post('jcsj/u_wpgl/query',{
xlh:this.xlh
}).then(res=>{
if(res.data.records){
if(res.data.records.length!=0){
this.filter(res.data.records[0])
this.xlh=''
}else{
this.$warning('未查询到数据')
}
}
})
}else{
this.$warning('请输入序列号')
}
},
save(list){
list.forEach(item=>{
this.filter(item)
})
}
},
data() {
return {
xlh:'',
form: {
swlx: 12,
details:[]
},
formDetail: [],
editColItemList: [
{
label: '出库单号',
prop: 'ckdh',
span: 24,
type: 'input',
},
{
label: '出库日期',
prop: 'ckrq',
span: 24,
type: 'date',
value:new Date().getTime(),
required: true,
},
{
"label": "部门",
"prop": "bm",
"span": 24,
"type": "RelSelect",
"value": "",
"required": true,
"typeConfig": {
"src": "hjbm/query",
"match": {
"value": "bmid",
"label": "bmmc"
}
}
},
{
label: '仓库',
prop: 'ckid',
span: 24,
"type": "RelSelect",
"typeConfig": {
"src": "jcsj/u_ckwh/query",
"match": {
"value": "id",
"label": "ckmc"
},
params: {
}
},
required: true,
},
{
label: '销毁单位',
prop: 'xhdw',
span: 24,
type: 'input',
},
{
label: '销毁方式',
prop: 'xhfs',
span: 24,
type: 'input',
},
{
label: '经手人',
prop: 'jsr',
span: 24,
type: 'input',
}
],
editTableTitle: [{
title: "序号",
field: "xh",
width: 50,
align: "center"
},
{
title: "物品编码",
field: "wpbm",
width: 100,
align: "center"
},
{
title: "物品名称",
field: "wpmc",
width: 120,
align: "center"
},
{
title: "物品特征",
field: "wptz",
width: 140,
align: "center"
},
{
title: "案件编号",
field: "ajbm",
width: 90,
align: "center"
},
{
title: "案件名称",
field: "ajmc",
width: 120,
align: "center"
},
{
title: "物品持有人",
field: "wpcyr",
width: 100,
align: "center"
},
{
title: "入库数量",
field: "count",
width: 100,
align: "center"
},
{
title: "备注",
field: "bz",
width: 150,
align: "center"
}
]
}
}
}
</script>
<style lang="scss" scoped>
.editMain {
display: flex;
}
.editMain_left {
width: 70%;
min-height: 400px;
border-right: 5px solid #fff;
}
.editMain_left1 {
height: 30px;
width: 100%;
}
.editMain_left2 {
width: 100%;
height: calc(100% - 30px);
}
.editMain_right {
background-color: #eee;
width: 30%;
min-height: 400px;
padding-top: 10px;
}
</style>
<template>
<BasePage ref="basepage" :autoQuery='false' class="min_full" :config="config">
<template #dialog="ctx">
<!-- 嵌入默认页面额外弹框的插槽 ctx.pagePage来操作默认页面 -->
</template>
<template #toolbar="ctx">
<!-- 嵌入默认页面工具栏的插槽 ctx.pagePage来操作默认页面 -->
<AttachFileButton :app='ctx.basePage'></AttachFileButton>
</template>
</BasePage>
</template>
<script>
import Edit from './edit.vue'
export default {
/* 赋值swlx主动查询*/
mounted() {
this.$refs.basepage.queryParams.swlx = '12'
this.$refs.basepage.refresh()
},
methods: {
},
data() {
return {
config: {
/* 基本配置*/
url: 'jcsj/u_ckgl',
tableTitle: [{
title: "出库单号",
field: "ckdh",
fieldType: "upper",
width: 140
},
{
title: "出库日期",
field: "ckrq",
fieldType: "ftDate"
},
{
title: "部门",
field: "bm",
"transform": {
"url": "hjbm/query",
"label": "bmmc",
"value": "bmid"
}
},
{
title: "仓库",
field: "ckmc",
width: 140
},
{
title: "事务类型",
field: "swlx",
width: 140,
formatter(a, b, value) {
let map = {
'1': '扣押',
'2': '先行保存库',
'3': '冻结',
'4': '查封',
'5': '登记保存',
'6': '归还入库',
'7': '调度出库',
'8': '发还出库',
'9': '调拨出库',
'10': '随案移动',
'11': '拍卖',
'12': '销毁',
'13': '解除出库',
}
return map[value]
}
},
{
title: "经手人",
field: "jsr",
width: 140
},
],
queryParams: [
[{
label: '部门',
prop: 'ssbm',
span: 4,
type: 'RelSelect',
"typeConfig": {
"src": "hjbm/query",
"match": {
"value": "bmid",
"label": "bmmc"
},
}
},
{
"label": "仓库",
"prop": "ckid",
"span": 4,
"type": "RelSelect",
"value": "",
"typeConfig": {
"src": "jcsj/u_ckwh/query",
"match": {
"value": "id",
"label": "ckmc"
},
params: {
}
}
},
{
label: '维护时间',
startProp: "kssj",
endProp: "jssj",
span: 8,
type: 'RelDaterangeV2',
startValue: new Date().getTime() - 1000 * 60 * 60 * 24 * 30,
endValue: new Date().getTime(),
},
{
label: '出库单号',
prop: 'ckdh',
span: 4,
type: 'input',
value: ''
},
{
label: '序列号',
prop: 'xlh',
span: 4,
type: 'input',
value: ''
}
],
[{
label: '案件信息',
prop: 'ajxx',
span: 4,
type: 'input',
value: ''
}
]
],
}
}
},
components: {
Edit
}
}
</script>
<style>
</style>
<template>
<DefaultDialog :app='app'>
<div slot="form" style="display: flex;height: 70vh;">
DialogTitle:'新增',
showDialog:false,
</div>
<div slot="reFooter" class="refooter" >
<span slot="footer" class="dialog-footer" >
<el-button @click="app.showDialog=false">取 消</el-button>
<el-button type="primary" @click="save()">保 存</el-button>
</span>
</div>
</DefaultDialog>
</template>
<script>
export default {
props: {
app: {
type: Object,
default: ()=>{
return {}
}
}
},
async mounted() {
},
data() {
return {
}
},
methods: {
}
}
</script>
<style scoped>
</style>
<template>
<HjRelDialog :master='false' width="70%" :type='type' :editApp='editApp' :app='app' :buttonApp='buttonApp'>
<el-form slot="form" ref="form" :model="form" label-width="120px" :rules="rules">
<!-- 结构-->
<div class="editMain">
<div class="editMain_left">
<!-- 扫码-->
<div class="editMain_left1">
<el-input placeholder="请输入序列号" v-model="xlh" class="input-with-select">
<el-button @click="cxxlh" slot="append" icon="el-icon-search"></el-button>
</el-input>
</div>
<div class="editMain_left2">
<editTableForEdit :expandTitle='false' :rename="'选择物品'" code="SHHJTHING1" :indexApp='app' :type='type' @save='save' ref="editTableForEdit"
:editTableTitle='editTableTitle' v-if="editTableForEdit" :editTableData="form.details" />
</div>
</div>
<el-row class="editMain_right" :gutter="20" :app="this">
<EditColItem :required="item.required||false" :readonly="item.readonly?true:false "
v-for="(item,index) in editColItemList " :value="item.value" :span="item.span" :label="item.label"
:prop='item.prop' :key="item.prop" :type="item.type" :typeConfig='item.typeConfig' :rule="item.rule" />
</el-row>
</div>
</el-form>
</HjRelDialog>
</template>
<script>
import {
editMixin,
editMixin_expand
} from 'common'
export default {
mixins: [editMixin, editMixin_expand],
methods:{
/* 过滤序列号添加*/
filter(obj){
let xlh=obj.xlh
let iscf=false
this.form.details.forEach(item=>{
if(item.xlh==xlh){
iscf=true
}
})
if(!iscf){
this.form.details.push(obj)
}else{
console.warn(`重复序列号${obj.xlh}`)
}
},
cxxlh(){
if(this.xlh){
this.$post('jcsj/u_wpgl/query',{
xlh:this.xlh
}).then(res=>{
if(res.data.records){
if(res.data.records.length!=0){
this.filter(res.data.records[0])
this.xlh=''
}else{
this.$warning('未查询到数据')
}
}
})
}else{
this.$warning('请输入序列号')
}
},
save(list){
list.forEach(item=>{
this.filter(item)
})
}
},
data() {
return {
xlh:'',
form: {
swlx: 11,
details:[]
},
formDetail: [],
editColItemList: [
{
label: '出库单号',
prop: 'ckdh',
span: 24,
type: 'input',
},
{
label: '出库日期',
prop: 'ckrq',
span: 24,
type: 'date',
value:new Date().getTime(),
required: true,
},
{
"label": "部门",
"prop": "bm",
"span": 24,
"type": "RelSelect",
"value": "",
"required": true,
"typeConfig": {
"src": "hjbm/query",
"match": {
"value": "bmid",
"label": "bmmc"
}
}
},
{
label: '仓库',
prop: 'ckid',
span: 24,
"type": "RelSelect",
"typeConfig": {
"src": "jcsj/u_ckwh/query",
"match": {
"value": "id",
"label": "ckmc"
},
params: {
}
},
required: true,
},
{
label: '拍得单位',
prop: 'pddw',
span: 24,
type: 'input',
},
{
label: '经手人',
prop: 'jsr',
span: 24,
type: 'input',
}
],
editTableTitle: [{
title: "序号",
field: "xh",
width: 50,
align: "center"
},
{
title: "物品编码",
field: "wpbm",
width: 100,
align: "center"
},
{
title: "物品名称",
field: "wpmc",
width: 120,
align: "center"
},
{
title: "物品特征",
field: "wptz",
width: 140,
align: "center"
},
{
title: "案件编号",
field: "ajbm",
width: 90,
align: "center"
},
{
title: "案件名称",
field: "ajmc",
width: 120,
align: "center"
},
{
title: "物品持有人",
field: "wpcyr",
width: 100,
align: "center"
},
{
title: "入库数量",
field: "count",
width: 100,
align: "center"
},
{
title: "备注",
field: "bz",
width: 150,
align: "center"
}
]
}
}
}
</script>
<style lang="scss" scoped>
.editMain {
display: flex;
}
.editMain_left {
width: 70%;
min-height: 400px;
border-right: 5px solid #fff;
}
.editMain_left1 {
height: 30px;
width: 100%;
}
.editMain_left2 {
width: 100%;
height: calc(100% - 30px);
}
.editMain_right {
background-color: #eee;
width: 30%;
min-height: 400px;
padding-top: 10px;
}
</style>
<template>
<BasePage ref="basepage" :autoQuery='false' class="min_full" :config="config">
<template #dialog="ctx">
<!-- 嵌入默认页面额外弹框的插槽 ctx.pagePage来操作默认页面 -->
</template>
<template #toolbar="ctx">
<!-- 嵌入默认页面工具栏的插槽 ctx.pagePage来操作默认页面 -->
<AttachFileButton :app='ctx.basePage'></AttachFileButton>
</template>
</BasePage>
</template>
<script>
import Edit from './edit.vue'
export default {
/* 赋值swlx主动查询*/
mounted() {
this.$refs.basepage.queryParams.swlx = '11'
this.$refs.basepage.refresh()
},
methods: {
},
data() {
return {
config: {
/* 基本配置*/
url: 'jcsj/u_ckgl',
tableTitle: [{
title: "出库单号",
field: "ckdh",
fieldType: "upper",
width: 140
},
{
title: "出库日期",
field: "ckrq",
fieldType: "ftDate"
},
{
title: "部门",
field: "bm",
"transform": {
"url": "hjbm/query",
"label": "bmmc",
"value": "bmid"
}
},
{
title: "仓库",
field: "ckmc",
width: 140
},
{
title: "移送单位",
field: "ysdw",
width: 140
},
{
title: "事务类型",
field: "swlx",
width: 140,
formatter(a, b, value) {
let map = {
'1': '扣押',
'2': '先行保存库',
'3': '冻结',
'4': '查封',
'5': '登记保存',
'6': '归还入库',
'7': '调度出库',
'8': '发还出库',
'9': '调拨出库',
'10': '随案移动',
'11': '拍卖',
'12': '销毁',
'13': '解除出库',
}
return map[value]
}
},
{
title: "经手人",
field: "jsr",
width: 140
},
],
queryParams: [
[{
label: '部门',
prop: 'ssbm',
span: 4,
type: 'RelSelect',
"typeConfig": {
"src": "hjbm/query",
"match": {
"value": "bmid",
"label": "bmmc"
},
}
},
{
"label": "仓库",
"prop": "ckid",
"span": 4,
"type": "RelSelect",
"value": "",
"typeConfig": {
"src": "jcsj/u_ckwh/query",
"match": {
"value": "id",
"label": "ckmc"
},
params: {
}
}
},
{
label: '维护时间',
startProp: "kssj",
endProp: "jssj",
span: 8,
type: 'RelDaterangeV2',
startValue: new Date().getTime() - 1000 * 60 * 60 * 24 * 30,
endValue: new Date().getTime(),
},
{
label: '出库单号',
prop: 'ckdh',
span: 4,
type: 'input',
value: ''
},
{
label: '序列号',
prop: 'xlh',
span: 4,
type: 'input',
value: ''
}
],
[{
label: '案件信息',
prop: 'ajxx',
span: 4,
type: 'input',
value: ''
},
{
label: '拍得单位',
prop: 'pddw',
span: 4,
type: 'input',
value: ''
}
]
],
}
}
},
components: {
Edit
}
}
</script>
<style>
</style>
<template>
<DefaultDialog :app='app'>
<div slot="form" style="display: flex;height: 70vh;">
DialogTitle:'新增',
showDialog:false,
</div>
<div slot="reFooter" class="refooter" >
<span slot="footer" class="dialog-footer" >
<el-button @click="app.showDialog=false">取 消</el-button>
<el-button type="primary" @click="save()">保 存</el-button>
</span>
</div>
</DefaultDialog>
</template>
<script>
export default {
props: {
app: {
type: Object,
default: ()=>{
return {}
}
}
},
async mounted() {
},
data() {
return {
}
},
methods: {
}
}
</script>
<style scoped>
</style>
<template>
<HjRelDialog :master='false' width="70%" :type='type' :editApp='editApp' :app='app' :buttonApp='buttonApp'>
<el-form slot="form" ref="form" :model="form" label-width="120px" :rules="rules">
<!-- 结构-->
<div class="editMain">
<div class="editMain_left">
<!-- 扫码-->
<div class="editMain_left1">
<el-input placeholder="请输入序列号" v-model="xlh" class="input-with-select">
<el-button @click="cxxlh" slot="append" icon="el-icon-search"></el-button>
</el-input>
</div>
<div class="editMain_left2">
<editTableForEdit :expandTitle='false' :rename="'选择物品'" code="SHHJTHING1DJBC" :indexApp='app' :type='type' @save='save' ref="editTableForEdit"
:editTableTitle='editTableTitle' v-if="editTableForEdit" :editTableData="form.details" />
</div>
</div>
<el-row class="editMain_right" :gutter="20" :app="this">
<EditColItem :required="item.required||false" :readonly="item.readonly?true:false "
v-for="(item,index) in editColItemList " :value="item.value" :span="item.span" :label="item.label"
:prop='item.prop' :key="item.prop" :type="item.type" :typeConfig='item.typeConfig' :rule="item.rule" />
</el-row>
</div>
</el-form>
</HjRelDialog>
</template>
<script>
import {
editMixin,
editMixin_expand
} from 'common'
export default {
mixins: [editMixin, editMixin_expand],
methods:{
/* 过滤序列号添加*/
filter(obj){
let xlh=obj.xlh
let iscf=false
this.form.details.forEach(item=>{
if(item.xlh==xlh){
iscf=true
}
})
if(!iscf){
this.form.details.push(obj)
}else{
console.warn(`重复序列号${obj.xlh}`)
}
},
cxxlh(){
if(this.xlh){
this.$post('jcsj/u_wpgl/query',{
xlh:this.xlh
}).then(res=>{
if(res.data.records){
if(res.data.records.length!=0){
this.filter(res.data.records[0])
this.xlh=''
}else{
this.$warning('未查询到数据')
}
}
})
}else{
this.$warning('请输入序列号')
}
},
save(list){
list.forEach(item=>{
this.filter(item)
})
}
},
data() {
return {
xlh:'',
form: {
swlx: 13,
details:[]
},
formDetail: [],
editColItemList: [
{
label: '出库单号',
prop: 'ckdh',
span: 24,
type: 'input',
},
{
label: '出库日期',
prop: 'ckrq',
span: 24,
type: 'date',
value:new Date().getTime(),
required: true,
},
{
"label": "部门",
"prop": "bm",
"span": 24,
"type": "RelSelect",
"value": "",
"required": true,
"typeConfig": {
"src": "hjbm/query",
"match": {
"value": "bmid",
"label": "bmmc"
}
}
},
{
label: '仓库',
prop: 'ckid',
span: 24,
"type": "RelSelect",
"typeConfig": {
"src": "jcsj/u_ckwh/query",
"match": {
"value": "id",
"label": "ckmc"
},
params: {
cklx:'DJBC'
}
},
required: true,
},
{
label: '经手人',
prop: 'jsr',
span: 24,
type: 'input',
}
],
editTableTitle: [{
title: "序号",
field: "xh",
width: 50,
align: "center"
},
{
title: "物品编码",
field: "wpbm",
width: 100,
align: "center"
},
{
title: "物品名称",
field: "wpmc",
width: 120,
align: "center"
},
{
title: "物品特征",
field: "wptz",
width: 140,
align: "center"
},
{
title: "案件编号",
field: "ajbm",
width: 90,
align: "center"
},
{
title: "案件名称",
field: "ajmc",
width: 120,
align: "center"
},
{
title: "物品持有人",
field: "wpcyr",
width: 100,
align: "center"
},
{
title: "入库数量",
field: "count",
width: 100,
align: "center"
},
{
title: "备注",
field: "bz",
width: 150,
align: "center"
}
]
}
}
}
</script>
<style lang="scss" scoped>
.editMain {
display: flex;
}
.editMain_left {
width: 70%;
min-height: 400px;
border-right: 5px solid #fff;
}
.editMain_left1 {
height: 30px;
width: 100%;
}
.editMain_left2 {
width: 100%;
height: calc(100% - 30px);
}
.editMain_right {
background-color: #eee;
width: 30%;
min-height: 400px;
padding-top: 10px;
}
</style>
<template>
<BasePage ref="basepage" :autoQuery='false' class="min_full" :config="config">
<template #dialog="ctx">
<!-- 嵌入默认页面额外弹框的插槽 ctx.pagePage来操作默认页面 -->
</template>
<template #toolbar="ctx">
<!-- 嵌入默认页面工具栏的插槽 ctx.pagePage来操作默认页面 -->
<AttachFileButton :app='ctx.basePage'></AttachFileButton>
</template>
</BasePage>
</template>
<script>
import Edit from './edit.vue'
export default {
/* 赋值swlx主动查询*/
mounted() {
this.$refs.basepage.queryParams.swlx = '13'
this.$refs.basepage.refresh()
},
methods: {
},
data() {
return {
config: {
/* 基本配置*/
url: 'jcsj/u_ckgl',
tableTitle: [{
title: "出库单号",
field: "ckdh",
fieldType: "upper",
width: 140
},
{
title: "出库日期",
field: "ckrq",
fieldType: "ftDate"
},
{
title: "部门",
field: "bm",
"transform": {
"url": "hjbm/query",
"label": "bmmc",
"value": "bmid"
}
},
{
title: "仓库",
field: "ckmc",
width: 140
},
{
title: "事务类型",
field: "swlx",
width: 140,
formatter(a, b, value) {
let map = {
'1': '扣押',
'2': '先行保存库',
'3': '冻结',
'4': '查封',
'5': '登记保存',
'6': '归还入库',
'7': '调度出库',
'8': '发还出库',
'9': '调拨出库',
'10': '随案移动',
'11': '拍卖',
'12': '销毁',
'13': '解除出库',
}
return map[value]
}
},
{
title: "经手人",
field: "jsr",
width: 140
},
],
queryParams: [
[{
label: '部门',
prop: 'ssbm',
span: 4,
type: 'RelSelect',
"typeConfig": {
"src": "hjbm/query",
"match": {
"value": "bmid",
"label": "bmmc"
},
}
},
{
"label": "仓库",
"prop": "ckid",
"span": 4,
"type": "RelSelect",
"value": "",
"typeConfig": {
"src": "jcsj/u_ckwh/query",
"match": {
"value": "id",
"label": "ckmc"
},
params: {
cklx:'DJBC'
}
}
},
{
label: '维护时间',
startProp: "kssj",
endProp: "jssj",
span: 8,
type: 'RelDaterangeV2',
startValue: new Date().getTime() - 1000 * 60 * 60 * 24 * 30,
endValue: new Date().getTime(),
},
{
label: '出库单号',
prop: 'ckdh',
span: 4,
type: 'input',
value: ''
},
{
label: '序列号',
prop: 'xlh',
span: 4,
type: 'input',
value: ''
}
],
[{
label: '案件信息',
prop: 'ajxx',
span: 4,
type: 'input',
value: ''
},
]
],
}
}
},
components: {
Edit
}
}
</script>
<style>
</style>
<template>
<DefaultDialog :app='app'>
<div slot="form" style="display: flex;height: 70vh;">
DialogTitle:'新增',
showDialog:false,
</div>
<div slot="reFooter" class="refooter" >
<span slot="footer" class="dialog-footer" >
<el-button @click="app.showDialog=false">取 消</el-button>
<el-button type="primary" @click="save()">保 存</el-button>
</span>
</div>
</DefaultDialog>
</template>
<script>
export default {
props: {
app: {
type: Object,
default: ()=>{
return {}
}
}
},
async mounted() {
},
data() {
return {
}
},
methods: {
}
}
</script>
<style scoped>
</style>
<template>
<HjRelDialog :master='false' width="70%" :type='type' :editApp='editApp' :app='app' :buttonApp='buttonApp'>
<el-form slot="form" ref="form" :model="form" label-width="120px" :rules="rules">
<!-- 结构-->
<div class="editMain">
<div class="editMain_left">
<!-- 扫码-->
<div class="editMain_left1">
<el-input placeholder="请输入序列号" v-model="xlh" class="input-with-select">
<el-button @click="cxxlh" slot="append" icon="el-icon-search"></el-button>
</el-input>
</div>
<div class="editMain_left2">
<editTableForEdit :expandTitle='false' :rename="'选择物品'" code="SHHJTHING1" :indexApp='app' :type='type' @save='save' ref="editTableForEdit"
:editTableTitle='editTableTitle' v-if="editTableForEdit" :editTableData="form.details" />
</div>
</div>
<el-row class="editMain_right" :gutter="20" :app="this">
<EditColItem :required="item.required||false" :readonly="item.readonly?true:false "
v-for="(item,index) in editColItemList " :value="item.value" :span="item.span" :label="item.label"
:prop='item.prop' :key="item.prop" :type="item.type" :typeConfig='item.typeConfig' :rule="item.rule" />
</el-row>
</div>
</el-form>
</HjRelDialog>
</template>
<script>
import {
editMixin,
editMixin_expand
} from 'common'
export default {
mixins: [editMixin, editMixin_expand],
methods:{
/* 过滤序列号添加*/
filter(obj){
let xlh=obj.xlh
let iscf=false
this.form.details.forEach(item=>{
if(item.xlh==xlh){
iscf=true
}
})
if(!iscf){
this.form.details.push(obj)
}else{
console.warn(`重复序列号${obj.xlh}`)
}
},
cxxlh(){
if(this.xlh){
this.$post('jcsj/u_wpgl/query',{
xlh:this.xlh
}).then(res=>{
if(res.data.records){
if(res.data.records.length!=0){
this.filter(res.data.records[0])
this.xlh=''
}else{
this.$warning('未查询到数据')
}
}
})
}else{
this.$warning('请输入序列号')
}
},
save(list){
list.forEach(item=>{
this.filter(item)
})
}
},
data() {
return {
xlh:'',
form: {
swlx: 9,
details:[]
},
formDetail: [],
editColItemList: [
{
label: '出库单号',
prop: 'ckdh',
span: 24,
type: 'input',
},
{
label: '出库日期',
prop: 'ckrq',
span: 24,
type: 'date',
value:new Date().getTime(),
required: true,
},
{
"label": "部门",
"prop": "bm",
"span": 24,
"type": "RelSelect",
"value": "",
"required": true,
"typeConfig": {
"src": "hjbm/query",
"match": {
"value": "bmid",
"label": "bmmc"
}
}
},
{
label: '调出仓库',
prop: 'ckid',
span: 24,
"type": "RelSelect",
"typeConfig": {
"src": "jcsj/u_ckwh/query",
"match": {
"value": "id",
"label": "ckmc"
},
params: {
}
},
required: true,
},
{
label: '调入仓库',
prop: 'msdrck',
span: 24,
"type": "RelSelect",
"typeConfig": {
"src": "jcsj/u_ckwh/query",
"match": {
"value": "id",
"label": "ckmc"
},
params: {
cklx:'MS'
}
},
required: true,
},
{
label: '经手人',
prop: 'jsr',
span: 24,
type: 'input',
}
],
editTableTitle: [{
title: "序号",
field: "xh",
width: 50,
align: "center"
},
{
title: "物品编码",
field: "wpbm",
width: 100,
align: "center"
},
{
title: "物品名称",
field: "wpmc",
width: 120,
align: "center"
},
{
title: "物品特征",
field: "wptz",
width: 140,
align: "center"
},
{
title: "案件编号",
field: "ajbm",
width: 90,
align: "center"
},
{
title: "案件名称",
field: "ajmc",
width: 120,
align: "center"
},
{
title: "物品持有人",
field: "wpcyr",
width: 100,
align: "center"
},
{
title: "入库数量",
field: "count",
width: 100,
align: "center"
},
{
title: "备注",
field: "bz",
width: 150,
align: "center"
}
]
}
}
}
</script>
<style lang="scss" scoped>
.editMain {
display: flex;
}
.editMain_left {
width: 70%;
min-height: 400px;
border-right: 5px solid #fff;
}
.editMain_left1 {
height: 30px;
width: 100%;
}
.editMain_left2 {
width: 100%;
height: calc(100% - 30px);
}
.editMain_right {
background-color: #eee;
width: 30%;
min-height: 400px;
padding-top: 10px;
}
</style>
<template>
<BasePage ref="basepage" :autoQuery='false' class="min_full" :config="config">
<template #dialog="ctx">
<!-- 嵌入默认页面额外弹框的插槽 ctx.pagePage来操作默认页面 -->
</template>
<template #toolbar="ctx">
<!-- 嵌入默认页面工具栏的插槽 ctx.pagePage来操作默认页面 -->
<AttachFileButton :app='ctx.basePage'></AttachFileButton>
</template>
</BasePage>
</template>
<script>
import Edit from './edit.vue'
export default {
/* 赋值swlx主动查询*/
mounted() {
this.$refs.basepage.queryParams.swlx = '9'
this.$refs.basepage.refresh()
},
methods: {
},
data() {
return {
config: {
/* 基本配置*/
url: 'jcsj/u_ckgl',
tableTitle: [{
title: "出库单号",
field: "ckdh",
fieldType: "upper",
width: 140
},
{
title: "出库日期",
field: "ckrq",
fieldType: "ftDate"
},
{
title: "调出仓库",
field: "ckmc",
width: 140
},
{
title: "调入仓库",
field: "msdrckmc",
width: 140
},
{
title: "事务类型",
field: "swlx",
width: 140,
formatter(a, b, value) {
let map = {
'1': '扣押',
'2': '先行保存库',
'3': '冻结',
'4': '查封',
'5': '登记保存',
'6': '归还入库',
'7': '调度出库',
'8': '发还出库',
'9': '调拨出库',
'10': '随案移动',
'11': '拍卖',
'12': '销毁',
'13': '解除出库',
}
return map[value]
}
},
{
title: "经手人",
field: "jsr",
width: 140
},
{
title: "备注",
field: "bz"
}
],
queryParams: [
[{
label: '部门',
prop: 'ssbm',
span: 4,
type: 'RelSelect',
"typeConfig": {
"src": "hjbm/query",
"match": {
"value": "bmid",
"label": "bmmc"
},
}
},
{
"label": "仓库",
"prop": "ckid",
"span": 4,
"type": "RelSelect",
"value": "",
"typeConfig": {
"src": "jcsj/u_ckwh/query",
"match": {
"value": "id",
"label": "ckmc"
},
params: {
}
}
},
{
label: '维护时间',
startProp: "kssj",
endProp: "jssj",
span: 8,
type: 'RelDaterangeV2',
startValue: new Date().getTime() - 1000 * 60 * 60 * 24 * 30,
endValue: new Date().getTime(),
},
{
label: '出库单号',
prop: 'ckdh',
span: 4,
type: 'input',
value: ''
},
{
label: '序列号',
prop: 'xlh',
span: 4,
type: 'input',
value: ''
}
],
[{
label: '案件信息',
prop: 'ajxx',
span: 4,
type: 'input',
value: ''
}
]
],
}
}
},
components: {
Edit
}
}
</script>
<style>
</style>
<template>
<DefaultDialog :app='app'>
<div slot="form" style="display: flex;height: 70vh;">
DialogTitle:'新增',
showDialog:false,
</div>
<div slot="reFooter" class="refooter" >
<span slot="footer" class="dialog-footer" >
<el-button @click="app.showDialog=false">取 消</el-button>
<el-button type="primary" @click="save()">保 存</el-button>
</span>
</div>
</DefaultDialog>
</template>
<script>
export default {
props: {
app: {
type: Object,
default: ()=>{
return {}
}
}
},
async mounted() {
},
data() {
return {
}
},
methods: {
}
}
</script>
<style scoped>
</style>
<template>
<HjRelDialog :master='false' width="70%" :type='type' :editApp='editApp' :app='app' :buttonApp='buttonApp'>
<el-form slot="form" ref="form" :model="form" label-width="120px" :rules="rules">
<!-- 结构-->
<div class="editMain">
<div class="editMain_left">
<!-- 扫码-->
<div class="editMain_left1">
<el-input placeholder="请输入序列号" v-model="xlh" class="input-with-select">
<el-button @click="cxxlh" slot="append" icon="el-icon-search"></el-button>
</el-input>
</div>
<div class="editMain_left2">
<editTableForEdit :expandTitle='false' :rename="'选择物品'" code="SHHJTHING1" :indexApp='app' :type='type' @save='save' ref="editTableForEdit"
:editTableTitle='editTableTitle' v-if="editTableForEdit" :editTableData="form.details" />
</div>
</div>
<el-row class="editMain_right" :gutter="20" :app="this">
<EditColItem :required="item.required||false" :readonly="item.readonly?true:false "
v-for="(item,index) in editColItemList " :value="item.value" :span="item.span" :label="item.label"
:prop='item.prop' :key="item.prop" :type="item.type" :typeConfig='item.typeConfig' :rule="item.rule" />
</el-row>
</div>
</el-form>
</HjRelDialog>
</template>
<script>
import {
editMixin,
editMixin_expand
} from 'common'
export default {
mixins: [editMixin, editMixin_expand],
methods:{
/* 过滤序列号添加*/
filter(obj){
let xlh=obj.xlh
let iscf=false
this.form.details.forEach(item=>{
if(item.xlh==xlh){
iscf=true
}
})
if(!iscf){
this.form.details.push(obj)
}else{
console.warn(`重复序列号${obj.xlh}`)
}
},
cxxlh(){
if(this.xlh){
this.$post('jcsj/u_wpgl/query',{
xlh:this.xlh
}).then(res=>{
if(res.data.records){
if(res.data.records.length!=0){
this.filter(res.data.records[0])
this.xlh=''
}else{
this.$warning('未查询到数据')
}
}
})
}else{
this.$warning('请输入序列号')
}
},
save(list){
list.forEach(item=>{
this.filter(item)
})
}
},
data() {
return {
xlh:'',
form: {
swlx: 10,
details:[]
},
formDetail: [],
editColItemList: [
{
label: '出库单号',
prop: 'ckdh',
span: 24,
type: 'input',
},
{
label: '出库日期',
prop: 'ckrq',
span: 24,
type: 'date',
value:new Date().getTime(),
required: true,
},
{
"label": "部门",
"prop": "bm",
"span": 24,
"type": "RelSelect",
"value": "",
"required": true,
"typeConfig": {
"src": "hjbm/query",
"match": {
"value": "bmid",
"label": "bmmc"
}
}
},
{
label: '出库仓库',
prop: 'ckid',
span: 24,
"type": "RelSelect",
"typeConfig": {
"src": "jcsj/u_ckwh/query",
"match": {
"value": "id",
"label": "ckmc"
},
params: {
}
},
required: true,
},
{
label: '移送单位',
prop: 'ysdw',
span: 24,
type: 'input',
},
{
label: '经手人',
prop: 'jsr',
span: 24,
type: 'input',
}
],
editTableTitle: [{
title: "序号",
field: "xh",
width: 50,
align: "center"
},
{
title: "物品编码",
field: "wpbm",
width: 100,
align: "center"
},
{
title: "物品名称",
field: "wpmc",
width: 120,
align: "center"
},
{
title: "物品特征",
field: "wptz",
width: 140,
align: "center"
},
{
title: "案件编号",
field: "ajbm",
width: 90,
align: "center"
},
{
title: "案件名称",
field: "ajmc",
width: 120,
align: "center"
},
{
title: "物品持有人",
field: "wpcyr",
width: 100,
align: "center"
},
{
title: "入库数量",
field: "count",
width: 100,
align: "center"
},
{
title: "备注",
field: "bz",
width: 150,
align: "center"
}
]
}
}
}
</script>
<style lang="scss" scoped>
.editMain {
display: flex;
}
.editMain_left {
width: 70%;
min-height: 400px;
border-right: 5px solid #fff;
}
.editMain_left1 {
height: 30px;
width: 100%;
}
.editMain_left2 {
width: 100%;
height: calc(100% - 30px);
}
.editMain_right {
background-color: #eee;
width: 30%;
min-height: 400px;
padding-top: 10px;
}
</style>
<template>
<BasePage ref="basepage" :autoQuery='false' class="min_full" :config="config">
<template #dialog="ctx">
<!-- 嵌入默认页面额外弹框的插槽 ctx.pagePage来操作默认页面 -->
</template>
<template #toolbar="ctx">
<!-- 嵌入默认页面工具栏的插槽 ctx.pagePage来操作默认页面 -->
<AttachFileButton :app='ctx.basePage'></AttachFileButton>
</template>
</BasePage>
</template>
<script>
import Edit from './edit.vue'
export default {
/* 赋值swlx主动查询*/
mounted() {
this.$refs.basepage.queryParams.swlx = '10'
this.$refs.basepage.refresh()
},
methods: {
},
data() {
return {
config: {
/* 基本配置*/
url: 'jcsj/u_ckgl',
tableTitle: [{
title: "出库单号",
field: "ckdh",
fieldType: "upper",
width: 140
},
{
title: "出库日期",
field: "ckrq",
fieldType: "ftDate"
},
{
title: "部门",
field: "bm",
"transform": {
"url": "hjbm/query",
"label": "bmmc",
"value": "bmid"
}
},
{
title: "仓库",
field: "ckmc",
width: 140
},
{
title: "移送单位",
field: "ysdw",
width: 140
},
{
title: "事务类型",
field: "swlx",
width: 140,
formatter(a, b, value) {
let map = {
'1': '扣押',
'2': '先行保存库',
'3': '冻结',
'4': '查封',
'5': '登记保存',
'6': '归还入库',
'7': '调度出库',
'8': '发还出库',
'9': '调拨出库',
'10': '随案移动',
'11': '拍卖',
'12': '销毁',
'13': '解除出库',
}
return map[value]
}
},
{
title: "经手人",
field: "jsr",
width: 140
},
],
queryParams: [
[{
label: '部门',
prop: 'ssbm',
span: 4,
type: 'RelSelect',
"typeConfig": {
"src": "hjbm/query",
"match": {
"value": "bmid",
"label": "bmmc"
},
}
},
{
"label": "仓库",
"prop": "ckid",
"span": 4,
"type": "RelSelect",
"value": "",
"typeConfig": {
"src": "jcsj/u_ckwh/query",
"match": {
"value": "id",
"label": "ckmc"
},
params: {
}
}
},
{
label: '维护时间',
startProp: "kssj",
endProp: "jssj",
span: 8,
type: 'RelDaterangeV2',
startValue: new Date().getTime() - 1000 * 60 * 60 * 24 * 30,
endValue: new Date().getTime(),
},
{
label: '出库单号',
prop: 'ckdh',
span: 4,
type: 'input',
value: ''
},
{
label: '序列号',
prop: 'xlh',
span: 4,
type: 'input',
value: ''
}
],
[{
label: '案件信息',
prop: 'ajxx',
span: 4,
type: 'input',
value: ''
},
{
label: '移送单位',
prop: 'ysdw',
span: 4,
type: 'input',
value: ''
}
]
],
}
}
},
components: {
Edit
}
}
</script>
<style>
</style>
<template>
<DefaultDialog :app='app'>
<div slot="form" style="display: flex;height: 70vh;">
DialogTitle:'新增',
showDialog:false,
</div>
<div slot="reFooter" class="refooter" >
<span slot="footer" class="dialog-footer" >
<el-button @click="app.showDialog=false">取 消</el-button>
<el-button type="primary" @click="save()">保 存</el-button>
</span>
</div>
</DefaultDialog>
</template>
<script>
export default {
props: {
app: {
type: Object,
default: ()=>{
return {}
}
}
},
async mounted() {
},
data() {
return {
}
},
methods: {
}
}
</script>
<style scoped>
</style>
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment