Commit 1144414d authored by 李苏's avatar 李苏 💬

质量检验

parent 8311e188
......@@ -27,7 +27,7 @@ import Layout from '@/layout'
activeMenu: '/system/user' // 当路由设置了该属性,则会高亮相对应的侧边栏。
}
*/
export const powerRoutes=[
export const powerRoutes = [
/* 乐心医疗定制路由 基础数据*/
/* 仓储管理 */
{
......@@ -54,13 +54,12 @@ export const powerRoutes=[
"icon": "",
"noCache": false,
"link": null,
"mkid":'920010000',
"mkid": '920010000',
},
redirect: 'ckgl',
name: 'jcsj',
path: "jcsj",
children: [
{
children: [{
erpComponent: true,
component: 'ccgl/jcsj/ckgl/index',
hidden: false,
......@@ -195,7 +194,7 @@ export const powerRoutes=[
"icon": "",
"noCache": false,
"link": null,
"mkid":'920011000',
"mkid": '920011000',
},
name: 'wlzwh',
path: "wlzwh",
......@@ -209,7 +208,7 @@ export const powerRoutes=[
"icon": "",
"noCache": false,
"link": null,
"mkid":'920011100',
"mkid": '920011100',
},
name: 'cgywh',
path: "cgywh",
......@@ -237,7 +236,7 @@ export const powerRoutes=[
"icon": "",
"noCache": false,
"link": null,
"mkid":'920011400',
"mkid": '920011400',
},
name: 'hz',
path: "hz",
......@@ -251,7 +250,7 @@ export const powerRoutes=[
"icon": "",
"noCache": false,
"link": null,
"mkid":'920011500',
"mkid": '920011500',
},
name: 'gwwh',
path: "gwwh",
......@@ -266,7 +265,7 @@ export const powerRoutes=[
"icon": "",
"noCache": false,
"link": null,
"mkid":'920011600',
"mkid": '920011600',
},
name: 'lkrck',
path: "lkrck",
......@@ -285,13 +284,12 @@ export const powerRoutes=[
"icon": "",
"noCache": false,
"link": null,
"mkid":'920030000',
"mkid": '920030000',
},
redirect: 'rkd',
name: 'rkgl',
path: "rkgl",
children: [
{
children: [{
// erpComponent: true,
component: 'ccgl/rkgl/rkd/index',
hidden: false,
......@@ -328,7 +326,7 @@ export const powerRoutes=[
"icon": "",
"noCache": false,
"link": null,
"mkid":920030300,
"mkid": 920030300,
},
name: 'sjrw',
path: "sjrw",
......@@ -373,13 +371,12 @@ export const powerRoutes=[
"icon": "",
"noCache": false,
"link": null,
"mkid":'920040000',
"mkid": '920040000',
},
redirect: 'ckd',
name: 'ckgl',
path: "ckgl",
children: [
{
children: [{
// erpComponent: true,
component: 'ccgl/ckgl/ckd/index',
hidden: false,
......@@ -460,13 +457,12 @@ export const powerRoutes=[
"icon": "",
"noCache": false,
"link": null,
"mkid":'920050000',
"mkid": '920050000',
},
redirect: 'dbckd',
name: 'dbgl',
path: "dbgl",
children: [
{
children: [{
erpComponent: true,
component: 'ccgl/dbgl/dbckd/index',
hidden: false,
......@@ -490,7 +486,7 @@ export const powerRoutes=[
"icon": "",
"noCache": false,
"link": null,
"mkid":920050200,
"mkid": 920050200,
},
name: 'dbckdj',
path: "dbckdj",
......@@ -504,7 +500,7 @@ export const powerRoutes=[
"icon": "",
"noCache": false,
"link": null,
"mkid":920050500,
"mkid": 920050500,
},
name: 'dbrkd',
path: "dbrkd",
......@@ -519,30 +515,70 @@ export const powerRoutes=[
"icon": "",
"noCache": false,
"link": null,
"mkid":920050600,
"mkid": 920050600,
},
name: 'dbrkdj',
path: "dbrkdj",
},
],
},
/* 质量管理*/
{
erpComponent: true,
component: 'template/index',
hidden: false,
meta: {
"title": "调拨管理",
"icon": "",
"noCache": false,
"link": null,
"mkid": '920080000',
},
redirect: 'jyd',
name: 'zlgl',
path: "zlgl",
children: [{
component: 'ccgl/zlgl/jyd/index',
hidden: false,
meta: {
"title": "检验单",
"icon": "",
"noCache": false,
"link": null,
"mkid": 920080100,
},
name: 'jyd',
path: "jyd",
},
{
component: 'ccgl/zlgl/kccjd/index',
hidden: false,
meta: {
"title": "库存重检单",
"icon": "",
"noCache": false,
"link": null,
"mkid": '920080200',
},
name: 'kccjd',
path: "kccjd",
}
]
}
]
}
]
// 公共路由
export const constantRoutes = [
{
export const constantRoutes = [{
path: '/redirect',
component: Layout,
hidden: true,
children: [
{
children: [{
path: '/redirect/:path(.*)',
component: () => import('@/views/redirect')
}
]
}]
},
{
path: '/login',
......@@ -569,28 +605,31 @@ export const constantRoutes = [
component: Layout,
redirect: 'index',
hidden: true,
children: [
{
children: [{
path: 'index',
component: () => import('@/views/index'),
name: 'Index',
meta: { title: '首页', icon: 'dashboard', affix: true }
meta: {
title: '首页',
icon: 'dashboard',
affix: true
}
]
}]
},
{
path: '/user',
component: Layout,
hidden: true,
redirect: 'noredirect',
children: [
{
children: [{
path: 'profile',
component: () => import('common/src/views/user/profile/index'),
name: 'Profile',
meta: { title: '个人中心', icon: 'user' }
meta: {
title: '个人中心',
icon: 'user'
}
]
}]
},
/* 陕钢铁预写死页面*/
]
......@@ -610,6 +649,8 @@ Router.prototype.push = function push(location) {
export default new Router({
// mode: 'history',
mode: 'hash',
scrollBehavior: () => ({ y: 0 }),
scrollBehavior: () => ({
y: 0
}),
routes: constantRoutes
})
......@@ -29,7 +29,6 @@
</div>
</div>
</template>
<script>
import Top from './top/index.vue'
import Mx from './mx.vue'
......
......@@ -265,28 +265,28 @@
width: 200,
// show: JSON.parse(localStorage.getItem('isPhgl'))
},
{
show: JSON.parse(localStorage.getItem('isKwgl')),
title: "库位",
field: "kwid",
width: 240,
type: 'AuxInput',
typeConfig: {
isRequest: false,
"code": "KWWH",
"label": "kwName",
queryParams: (row) => {
return {
ckid: this.form.ckid
}
},
"transform": {
"value": "id",
"label": "name"
}
// {
// show: JSON.parse(localStorage.getItem('isKwgl')),
// title: "库位",
// field: "kwid",
// width: 240,
// type: 'AuxInput',
// typeConfig: {
// isRequest: false,
// "code": "KWWH",
// "label": "kwName",
// queryParams: (row) => {
// return {
// ckid: this.form.ckid
// }
// },
// "transform": {
// "value": "id",
// "label": "name"
// }
}
},
// }
// },
{
title: "备注",
field: "bz",
......
<template>
<DefaultDialog :app='app'>
<div slot="form" style="display: flex;height: 70vh;">
<BasePage :power='power' @getRow='getRow' class="min_full" style="height: 100%;" :config="config">
</BasePage>
</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>
<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>
<div class="outer">
<div class=" higher flex-column">
<!-- 分层-->
<div class="top">
<Top @getRow='topGetRow' ref="top"></Top>
</div>
<div class="bottom flex">
<div class="full" >
<el-tabs class="full" v-model="activeName" >
<el-tab-pane class="full" label="任务清单" name="first">
<Mx ref="mx" class="full" />
</el-tab-pane>
</el-tabs>
</div>
</div>
</div>
</div>
</template>
<script>
import Top from './top/index.vue'
import Mx from './mx.vue'
export default {
components: {
Top,
Mx,
},
data(){
return{
activeName:'first'
}
},
methods: {
topGetRow(row) {
/* dom赋值*/
let mid = row.id
this.$refs.mx.$refs.basePage.queryParams.mid = mid
this.$refs.mx.$refs.basePage.$refs['TablePager'].pageQuery({
setFirstCurrent: true
})
},
}
}
</script>
<style lang="scss" scoped>
.outer {
overflow: auto;
height: calc(100vh - 84px);
width: 100%;
.top {
width: 100%;
height: 45%;
}
.bottom {
width: 100%;
height: 55%;
.left {
width: 50%;
height: 100%;
}
.right {
width: 50%;
height: 100%;
}
}
}
.higher {
height: 140vh;
}
.flex-column {
display: flex;
flex-direction: column;
}
::v-deep .el-tabs__content{
height: calc(100% - 40px);
}
::v-deep .el-tabs__nav-scroll{
padding-left: 10px;
}
</style>
<template>
<BasePage @getRow='getRow' ref="basePage" :power='power' :toolButton='false' class="min_full"
style="height: 100%;border-top: 0px;" :autoQuery='false' :config="config">
<template #dialog="ctx">
<!-- 嵌入默认页面额外弹框的插槽 ctx.pagePage来操作默认页面 -->
</template>
<template #toolbar="ctx">
</template>
</BasePage>
</template>
<script>
export default {
data() {
return {
power: {
add: false,
copy: false,
/* 手动控制删除 */
delButton: false,
/* 手动控制编辑按钮权限 */
editButton: false,
/* 是否渲染右侧操作按钮 */
operateButtons: false,
/* 是否开启工作流按钮 */
workFlow: false,
/* 表格开启选择,以及记住选择 */
showSelection: false,
saveSelected: false
},
config: {
/* 基本配置*/
url: 'wms/ckgl/llck',
queryUrl: 'lxyl/zlgl/ukcjyd//query/detail',
tableTitle: [{
title: "唯一码",
field: "packCode",
width: 140
},
{
title: "容器",
field: "rqCode",
width: 140
},
{
title: "合格标志",
field: "hgbz",
formatter(a, b, v) {
let map = {
N: '不合格',
Y: '合格'
}
return map[v]
},
width: 140
},
],
queryParams: [],
}
}
},
methods: {
getRow(val) {
this.$emit('getRow', val)
},
},
components: {
}
}
</script>
<style>
</style>
<template>
<DefaultDialog :app='app'>
<div slot="form" style="display: flex;height: 70vh;">
<BasePage ref="basePage" :toolButton='false' :power='power' class="min_full" style="height: 100%;" :config="config" />
</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 {
power: {
add: false,
copy: false,
/* 手动控制删除 */
delButton: true,
/* 手动控制编辑按钮权限 */
editButton: false,
/* 是否渲染右侧操作按钮 */
operateButtons: false,
/* 是否开启工作流按钮 */
workFlow: false,
/* 表格开启选择,以及记住选择 */
showSelection: true,
saveSelected: true
},
config: {
/* Dialog*/
// queryDetail: true,
/* 基本配置*/
url: 'lxyl/zlgl/ukcjyd',
queryUrl:'wms/common/queryZkPackOrRq',
tableTitle: [{
title: "物料编码",
field: "wlxxCode",
width: 140
},
{
title: "物料名称",
field: "wlxxName",
width: 140
},
{
title: "物料规格",
field: "wlxxGg",
width: 140
},
{
title: "制令号",
field: "zlh",
width: 140
},
{
title: "物料批号",
field: "wlph",
width: 140
},
{
title: "货主",
field: "hzName",
width: 140
},
{
title: "唯一码",
field: "packCode",
width: 140
},
{
title: "数量",
field: "sl",
width: 140
},
{
title: "维护人",
field: "whr"
},
{
title: "维护时间",
field: "whsj",
fieldType: 'ftDateTime'
}
],
queryParams: [
[{
label: '物料信息',
prop: 'wlxxInfo',
span: 6,
type: 'input',
value: ''
},
{
label: '物料批号',
prop: 'wlphInfo',
span: 6,
type: 'input',
value: ''
}
]
],
/* 默认启停用 */
}
}
},
methods: {
save(){
let list =this.$refs.basePage.$refs.TablePager.selectedList||[]
if(list.length!=0){
this.$post('lxyl/zlgl/ukcjyd/add',list).then(res=>{
if(res.success){
this.app.showDialog=false
this.app.refresh()
}
})
}else{
this.$warning('请至少勾选一条数据')
}
}
}
}
</script>
<style scoped>
</style>
<template>
<RelDialog bigTitle detailTable='LLCKMX' @getFormDetail='getFormDetail' width="70%" :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" class="editRow">
<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 class="editTab">
<editTableForEdit :indexApp='app' :type='type' rename='选择库位明细' @save='save' ref="editTableForEdit"
:editTableTitle='editTableTitle' v-if="editTableForEdit" :computedRow='computedRow'
:editTableData="formDetail">
<!-- <template v-if="type!='view'" #toolbar="ctx">
<AuxButton :queryParams="{
ckid:form.ckid
}" rename='选择库存' code='WLKC' @save="savekc" />
</template> -->
</editTableForEdit>
</div>
<el-row class="bottomInfo" :gutter="20">
<el-col class="center" :span="12">
创建人:{{
form.cjr||localUser
}}
</el-col>
<el-col class="center" :span="12">
创建时间:{{
$moment(form.cjsj).format('YYYY-MM-DD HH:mm:ss')||$moment().format('YYYY-MM-DD HH:mm:ss')
}}
</el-col>
</el-row>
</el-form>
<!-- editTab数据 -->
</RelDialog>
</template>
<script>
import {
toFixed,
digit,
doRkdChange
} from 'common/src/utils/blur.js'
import {
editMixin,
editMixin_expand
} from 'common'
export default {
mixins: [editMixin, editMixin_expand],
methods: {
/* 需要整体row时的回调 */
computedRow(row) {
// this.$refs.editTableForEdit.$forceUpdate()
},
/* 选择list时的回调 */
save(list) {
list.forEach(async item => {
let res = await this.$post('kc/common/query/kcsl', {
ckid: this.form.ckid,
wlid: item.id
})
item.kcsl = res.data.records.kcsl || 0
// 转换并且push
item.wlid = item.id
item.wlxxName = item.name
item.wlxxCode = item.code
item.wlxxGg = item.gg
delete item.id
this.formDetail.push(_.cloneDeep(item))
})
},
/* 选择库存回调 */
savekc(list) {
list.forEach(item => {
// 转换并且push
delete item.id
this.formDetail.push(_.cloneDeep(item))
})
}
},
mounted() {
this.form.llrName = this.username
this.form.llrid = this.userid
},
data() {
return {
/* 常规edit数据 */
editColItemList: [{
label: '出库单号',
prop: 'djid',
span: 8,
type: 'input',
// "required": true,
},
{
label: '出库日期',
prop: 'llrq',
span: 8,
type: 'date',
value: new Date().getTime(),
"required": true,
},
{
"label": "仓库",
"prop": "ckid",
"span": 8,
"type": "RelSelect",
"value": "",
"required": true,
"typeConfig": {
"src": "jcsj/common/ck/queryCkid",
"match": {
"value": "id",
"label": "name"
},
change: (row) => {
this.form.bgy = row.bgy
}
}
},
{
label: '需求日期',
prop: 'xqrq',
span: 8,
type: 'date',
value: new Date().getTime(),
"required": true,
},
{
"label": "事务类型",
"prop": "swlxid",
"span": 8,
"type": "RelSelect",
"value": "",
"required": true,
"typeConfig": {
"src": "wms/ckgl/llck/init/swlx",
"match": {
"value": "id",
"label": "name"
}
}
},
{
"label": "领料部门",
"prop": "bmid",
"span": 8,
"type": "RelSelect",
"value": "",
"required": true,
"typeConfig": {
"src": "jcsj/common/bm/query",
"match": {
"value": "id",
"label": "bmmc"
}
}
},
{
label: '货主',
prop: 'hzid',
span: 8,
required: true,
type: 'AuxInput',
typeConfig: {
isRequest: true,
code: 'HZID',
label: 'hzName',
transform: {
value: 'id',
label: 'name'
}
}
},
{
label: '备注',
prop: 'bz',
span: 16,
type: 'input',
},
],
/* 从表编辑数据 */
editTableTitle: [{
title: "序号",
field: "xh",
width: 50,
align: "center"
},
{
title: "物料编号",
field: "wlxxCode",
width: 240,
},
{
title: "物料名称",
field: "wlxxName",
width: 160
},
{
title: "规格",
field: "wlxxGg",
width: 140
},
{
title: "应出数量",
field: "yfsl",
allowEdit: true,
type: 'inputNumber',
width: 200,
blur: toFixed(null),
},
{
title: "库存数量",
field: "kcsl",
width: 200,
blur: toFixed(null),
},
{
title: "计量单位",
field: "jldwname",
width: 100,
allowEdit: false
},
{
title: "物料批号",
field: "wlph",
type: 'inputText',
width: 200,
// show: JSON.parse(localStorage.getItem('isPhgl'))
},
{
title: "制令号",
field: "zlh",
type: 'inputText',
width: 200,
// show: JSON.parse(localStorage.getItem('isPhgl'))
},
{
show: JSON.parse(localStorage.getItem('isKwgl')),
title: "库位",
field: "kwid",
width: 240,
type: 'AuxInput',
typeConfig: {
isRequest: false,
"code": "KWWH",
"label": "kwName",
queryParams: (row) => {
return {
ckid: this.form.ckid
}
},
"transform": {
"value": "id",
"label": "name"
}
}
},
{
title: "备注",
field: "bz",
width: 200,
type: 'inputText',
allowEdit: true,
}
]
}
}
}
</script>
<style lang="scss" scoped>
@import url("~common/src/assets/styles/editDetail.scss");
</style>
\ No newline at end of file
<template>
<BasePage :power='power' @getRow='getRow' class="min_full" style="height: 100%;" :config="config">
<template #dialog="ctx">
<!-- 嵌入默认页面额外弹框的插槽 ctx.pagePage来操作默认页面 -->
<Add :app='ctx.basePage' v-if="ctx.basePage.showDialog" />
</template>
<template #toolbar="ctx">
<el-button @click="showAdd(ctx.basePage)" size='mini' type="primary">新增</el-button>
<el-button @click="pd(ctx.basePage,'A')" size='mini' type="primary">判定合格</el-button>
<el-button @click="pd(ctx.basePage,'R')" size='mini' type="primary">判定不合格</el-button>
</template>
</BasePage>
</template>
<script>
// import Edit from './edit.vue'
import Add from './add.vue'
export default {
data() {
return {
power:{
add: false,
copy: false,
/* 手动控制删除 */
delButton: true,
/* 手动控制编辑按钮权限 */
editButton: false,
/* 是否渲染右侧操作按钮 */
operateButtons: true,
/* 是否开启工作流按钮 */
workFlow: false,
/* 表格开启选择,以及记住选择 */
showSelection: false,
saveSelected: false
},
config: {
/* Dialog*/
// queryDetail: true,
/* 基本配置*/
url: 'lxyl/zlgl/ukcjyd',
tableTitle: [{
title: "物料编码",
field: "wlxxCode",
width: 140
},
{
title: "物料名称",
field: "wlxxName",
width: 140
},
{
title: "物料规格",
field: "wlxxGg",
width: 140
},
{
title: "制令号",
field: "zlh",
width: 140
},
{
title: "物料批号",
field: "wlph",
width: 140
},
{
title: "货主",
field: "hzName",
width: 140
},
{
title: "检验批号",
field: "jyph",
width: 140
},
{
title: "检验单号",
field: "jydh",
width: 140
},
{
title: "来源单号",
field: "lydid",
width: 140
},
{
title: "检验数量",
field: "jysl",
width: 140
},
{
title: "合格数量",
field: "hgsl",
width: 140
},
{
title: "不合格数量",
field: "bhgsl",
width: 140
},
{
title: "备注",
field: "bz",
width: 240
},
{
title: "维护人",
field: "whr"
},
{
title: "维护时间",
field: "whsj",
fieldType: 'ftDateTime'
}
],
queryParams: [
[{
label: '检验单号',
prop: 'jydh',
span: 5,
type: 'input',
value: ''
},
{
label: '业务日期',
startProp: "ywrqb",
endProp: "ywrqe",
span: 9,
type: 'RelDaterangeV2',
startValue: new Date().getTime() - 1000 * 60 * 60 * 24 * 30,
endValue: new Date().getTime(),
},
{
label: '物料批号',
prop: 'wlph',
span: 5,
type: 'input',
value: ''
},
{
label: '来源单号',
prop: 'lydh',
span: 5,
type: 'input',
value: ''
}
]
],
/* 默认启停用 */
}
}
},
methods: {
pd(ctx,hgbz){
if(ctx.singleItem&&ctx.singleItem.id){
this.$post('lxyl/zlgl/ukcjyd/doCheck',{
id:ctx.singleItem.id,
hgbz:hgbz
}).then(res=>{
if(res.success){
this.$success('操作成功'),
ctx.refresh()
}
})
}else{
this.$warning('请选中一条数据')
}
},
showAdd(ctx){
ctx.DialogTitle='新增'
ctx.DialogWidth='70vw'
ctx.showDialog=true
},
getRow(val) {
this.$emit('getRow', val)
}
},
components: {
Add
// Edit
}
}
</script>
<style>
</style>
<template>
<div class="outer">
<div class=" higher flex-column">
<!-- 分层-->
<div class="top">
<Top @getRow='topGetRow' ref="top"></Top>
</div>
<div class="bottom flex">
<div class="full" >
<el-tabs class="full" v-model="activeName" >
<el-tab-pane class="full" label="出库单明细" name="first">
<Mx ref="mx" class="full" />
</el-tab-pane>
</el-tabs>
</div>
</div>
</div>
</div>
</template>
<script>
import Top from './top/index.vue'
import Mx from './mx.vue'
export default {
components: {
Top,
Mx,
},
data(){
return{
activeName:'first'
}
},
methods: {
topGetRow(row) {
/* dom赋值*/
let mid = row.id
this.$refs.mx.$refs.basePage.queryParams.mid = mid
this.$refs.mx.$refs.basePage.$refs['TablePager'].pageQuery({
setFirstCurrent: true
})
},
}
}
</script>
<style lang="scss" scoped>
.outer {
overflow: auto;
height: calc(100vh - 84px);
width: 100%;
.top {
width: 100%;
height: 45%;
}
.bottom {
width: 100%;
height: 55%;
.left {
width: 50%;
height: 100%;
}
.right {
width: 50%;
height: 100%;
}
}
}
.higher {
height: 140vh;
}
.flex-column {
display: flex;
flex-direction: column;
}
::v-deep .el-tabs__content{
height: calc(100% - 40px);
}
::v-deep .el-tabs__nav-scroll{
padding-left: 10px;
}
</style>
<template>
<BasePage @getRow='getRow' ref="basePage" :power='power' :toolButton='false' class="min_full" style="height: 100%;border-top: 0px;" :autoQuery='false'
:config="config">
<template #dialog="ctx">
<!-- 嵌入默认页面额外弹框的插槽 ctx.pagePage来操作默认页面 -->
</template>
<template #toolbar="ctx">
</template>
</BasePage>
</template>
<script>
import wlsx from 'common/src/mixin/wlsx.js'
import wlphsx from 'common/src/mixin/wlphsx.js'
export default {
mixins:[wlsx,wlphsx],
data() {
return {
power: {
add: false,
copy: false,
/* 手动控制删除 */
delButton: false,
/* 手动控制编辑按钮权限 */
editButton: false,
/* 是否渲染右侧操作按钮 */
operateButtons: false,
/* 是否开启工作流按钮 */
workFlow: false,
/* 表格开启选择,以及记住选择 */
showSelection: false,
saveSelected: false
},
config: {
/* 基本配置*/
url: 'wms/ckgl/llck',
queryUrl: 'wms/ckgl/llck/query/detail',
tableTitle: [{
title: "物料编号",
field: "wlxxCode",
fieldType: "upper",
width: 140
},
{
title: "物料名称",
field: "wlxxName",
width: 140
},
{
title: "物料规格",
field: "wlxxGg",
width: 140
},
{
title: "物料批号",
field: "wlph",
width: 140
},
{
title: "计量单位",
field: "jldwname",
width: 100,
},
{
title: "应出数量",
field: "yfsl",
width: 100,
},
{
title: "库存数量",
field: "kcsl",
width: 100,
},
{
title: "制令号",
field: "zlh",
width: 120,
},
{
title: "已出数量",
field: "ycsl",
width: 100,
},
{
title: "过账数量",
field: "gzsl",
width: 100,
},
{
title: "状态",
field: "zt",
width: 100,
"transform": {
"url": "wms/rkgl/sjtz/init/zt",
"label": "name",
"value": "id"
}
},
{
title: "来源单号",
field: "lydjid",
width: 120,
},
{
title: "关闭人",
field: "gbr",
width: 120,
},
{
title: "关闭原因",
field: "gbyy",
width: 200,
},
{
title: "关闭时间",
field: "gbsj",
fieldType: 'ftDateTime'
},
{
title: "备注",
field: "bz",
width: 200
}
],
queryParams: [],
}
}
},
methods: {
getRow(val){
this.$emit('getRow',val)
},
demo(ctx){
if(ctx.singleItem&&ctx.singleItem.id){
console.log(ctx.singleItem)
}else{
this.$warning('请选中一条数据')
}
}
},
components: {
}
}
</script>
<style>
</style>
<template>
<RelDialog bigTitle detailTable='LLCKMX' @getFormDetail='getFormDetail' width="70%" :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" class="editRow">
<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 class="editTab">
<editTableForEdit :indexApp='app' :type='type' @save='save' ref="editTableForEdit"
:editTableTitle='editTableTitle' v-if="editTableForEdit" :computedRow='computedRow'
:editTableData="formDetail">
<!-- <template v-if="type!='view'" #toolbar="ctx">
<AuxButton :queryParams="{
ckid:form.ckid
}" rename='选择库存' code='WLKC' @save="savekc" />
</template> -->
</editTableForEdit>
</div>
<el-row class="bottomInfo" :gutter="20">
<el-col class="center" :span="12">
创建人:{{
form.cjr||localUser
}}
</el-col>
<el-col class="center" :span="12">
创建时间:{{
$moment(form.cjsj).format('YYYY-MM-DD HH:mm:ss')||$moment().format('YYYY-MM-DD HH:mm:ss')
}}
</el-col>
</el-row>
</el-form>
<!-- editTab数据 -->
</RelDialog>
</template>
<script>
import {
toFixed,
digit,
doRkdChange
} from 'common/src/utils/blur.js'
import {
editMixin,
editMixin_expand
} from 'common'
export default {
mixins: [editMixin, editMixin_expand],
methods: {
/* 需要整体row时的回调 */
computedRow(row) {
// this.$refs.editTableForEdit.$forceUpdate()
},
/* 选择list时的回调 */
save(list) {
list.forEach(async item => {
let res = await this.$post('kc/common/query/kcsl', {
ckid: this.form.ckid,
wlid: item.id
})
item.kcsl = res.data.records.kcsl || 0
// 转换并且push
item.wlid = item.id
item.wlxxName = item.name
item.wlxxCode = item.code
item.wlxxGg = item.gg
delete item.id
this.formDetail.push(_.cloneDeep(item))
})
},
/* 选择库存回调 */
savekc(list) {
list.forEach(item => {
// 转换并且push
delete item.id
this.formDetail.push(_.cloneDeep(item))
})
}
},
mounted() {
this.form.llrName = this.username
this.form.llrid = this.userid
},
data() {
return {
/* 常规edit数据 */
editColItemList: [{
label: '出库单号',
prop: 'djid',
span: 8,
type: 'input',
// "required": true,
},
{
label: '出库日期',
prop: 'llrq',
span: 8,
type: 'date',
value: new Date().getTime(),
"required": true,
},
{
"label": "仓库",
"prop": "ckid",
"span": 8,
"type": "RelSelect",
"value": "",
"required": true,
"typeConfig": {
"src": "jcsj/common/ck/queryCkid",
"match": {
"value": "id",
"label": "name"
},
change: (row) => {
this.form.bgy = row.bgy
}
}
},
{
label: '需求日期',
prop: 'xqrq',
span: 8,
type: 'date',
value: new Date().getTime(),
"required": true,
},
{
"label": "事务类型",
"prop": "swlxid",
"span": 8,
"type": "RelSelect",
"value": "",
"required": true,
"typeConfig": {
"src": "wms/ckgl/llck/init/swlx",
"match": {
"value": "id",
"label": "name"
}
}
},
{
"label": "领料部门",
"prop": "bmid",
"span": 8,
"type": "RelSelect",
"value": "",
"required": true,
"typeConfig": {
"src": "jcsj/common/bm/query",
"match": {
"value": "id",
"label": "bmmc"
}
}
},
{
label: '货主',
prop: 'hzid',
span: 8,
required: true,
type: 'AuxInput',
typeConfig: {
isRequest: true,
code: 'HZID',
label: 'hzName',
transform: {
value: 'id',
label: 'name'
}
}
},
{
label: '备注',
prop: 'bz',
span: 16,
type: 'input',
},
],
/* 从表编辑数据 */
editTableTitle: [{
title: "序号",
field: "xh",
width: 50,
align: "center"
},
{
title: "物料编号",
field: "wlxxCode",
width: 240,
},
{
title: "物料名称",
field: "wlxxName",
width: 160
},
{
title: "规格",
field: "wlxxGg",
width: 140
},
{
title: "应出数量",
field: "yfsl",
allowEdit: true,
type: 'inputNumber',
width: 200,
blur: toFixed(null),
},
{
title: "库存数量",
field: "kcsl",
width: 200,
blur: toFixed(null),
},
{
title: "计量单位",
field: "jldwname",
width: 100,
allowEdit: false
},
{
title: "物料批号",
field: "wlph",
type: 'inputText',
width: 200,
// show: JSON.parse(localStorage.getItem('isPhgl'))
},
{
title: "制令号",
field: "zlh",
type: 'inputText',
width: 200,
// show: JSON.parse(localStorage.getItem('isPhgl'))
},
{
show: JSON.parse(localStorage.getItem('isKwgl')),
title: "库位",
field: "kwid",
width: 240,
type: 'AuxInput',
typeConfig: {
isRequest: false,
"code": "KWWH",
"label": "kwName",
queryParams: (row) => {
return {
ckid: this.form.ckid
}
},
"transform": {
"value": "id",
"label": "name"
}
}
},
{
title: "备注",
field: "bz",
width: 200,
type: 'inputText',
allowEdit: true,
}
]
}
}
}
</script>
<style lang="scss" scoped>
@import url("~common/src/assets/styles/editDetail.scss");
</style>
\ No newline at end of file
<template>
<BasePage @getRow='getRow' class="min_full" style="height: 100%;" :config="config">
<template #dialog="ctx">
<!-- 嵌入默认页面额外弹框的插槽 ctx.pagePage来操作默认页面 -->
</template>
<template #toolbar="ctx">
<!-- <el-button @click="demo(ctx.basePage)" size='mini' type="primary">直接入库</el-button> -->
<ImportButton @success="()=>{
ctx.basePage.refresh()
}" :url="'/wms/ckgl/llck/import'" />
</template>
</BasePage>
</template>
<script>
import Edit from './edit.vue'
export default {
data() {
return {
config: {
queryDetail: true,
/* 基本配置*/
url: 'wms/ckgl/llck',
tableTitle: [{
title: "状态",
field: "zt",
fieldType: "ftString",
align: 'center',
width: 80,
"transform": {
"url": "wms/ckgl/llck/init/zt",
"label": "name",
"value": "id"
}
},
{
title: "出库单号",
field: "djid",
width: 140
},
{
title: "出库日期",
field: "llrq",
fieldType: 'ftDate'
},
{
title: "货主",
field: "hzName",
width: 140
},
{
title: "事务类型",
field: "swlxmc",
width: 100
},
{
title: "仓库",
field: "ckid",
width: 140,
hidden: true
},
{
title: "仓库",
field: "ckmc",
width: 140
},
{
title: "需求日期",
field: "xqrq",
fieldType: 'ftDate'
},
{
title: "领料部门",
field: "bmmc",
width: 140
},
{
title: "单据来源",
field: "djly",
width: 140,
"transform": {
"url": "wms/ckgl/llck/init/djly",
"label": "name",
"value": "id"
}
},
{
title: "来源单据号",
field: "lydjDjid",
width: 140
},
{
title: "备注",
field: "bz",
width: 240
},
{
title: "维护人",
field: "whr"
},
{
title: "维护时间",
field: "whsj",
fieldType: 'ftDateTime'
}
],
queryParams: [
[{
label: '日期',
startProp: "llrqb",
endProp: "llrqe",
span: 12,
type: 'RelDaterangeV2',
startValue: new Date().getTime()-1000*60*60*24*30,
endValue:new Date().getTime(),
},
{
"label": "仓库",
"prop": "ckid",
"span": 6,
"type": "RelSelect",
"value": "",
"typeConfig": {
"src": "jcsj/common/ck/queryCkid",
"match": {
"value": "id",
"label": "name"
}
}
},
{
label: '单据编号',
prop: 'djid',
span: 6,
type: 'input',
value: ''
}
],[
{
label: '状态',
prop: 'zt',
span: 6,
type: 'RelSelect',
typeConfig: {
src: 'wms/ckgl/llck/init/zt'
}
},
{
label: '事务类型',
prop: 'swlxid',
span: 6,
type: 'RelSelect',
typeConfig: {
src: 'wms/ckgl/llck/init/swlx'
}
},
{
label: '货主',
prop: 'hzName',
span: 6,
type: 'input',
}
]
],
/* 默认启停用 */
}
}
},
methods: {
getRow(val){
this.$emit('getRow',val)
}
},
components: {
Edit
}
}
</script>
<style>
</style>
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