Merge remote-tracking branch 'origin/dev_ksck_z' into dev_ksck_z

20240912_adapter_z
anthonywj 8 months ago
commit 03db883f21

@ -0,0 +1,23 @@
import axios from "@/utils/request";
import request from "@/utils/request";
//绑定单据类型
export function bindBusType(query) {
return axios({
url: "/udiwms/sysWorkplace/workBindBusType",
method: "post",
data: query
});
}
export function getWorkBindBusTypes(query) {
return axios({
url: '/udiwms/sysWorkplace/getWorkBindBusTypes',
method: 'get',
params: query
})
}

@ -87,3 +87,12 @@ export function getUsers(query) {
});
}
//绑定单据类型
export function bindBusType(query) {
return axios({
url: "/udiwms/sysWorkplace/workBindBusType",
method: "post",
data: query
});
}

@ -289,7 +289,7 @@ import {
updateWorkplace,
deleteWorkplace,
createWorkplaceId, printWorkLabel,getUsers
} from '@/api/basic/sysWorkplaceManage'
} from '@/api/basic/workPlace/sysWorkplaceManage'
import { getInvListByUser } from '@/api/system/invWarehouse'
import { getTree } from '@/api/basic/collectPoint/collectPointManage'
import { getCollectBusType } from '@/api/basic/collectPoint/gatherOrderType'

@ -0,0 +1,271 @@
<template>
<div>
<el-card>
<el-form :model="query" label-width="auto" v-show="showSearch" size="mini" class="order-el-form">
<el-row :gutter="20">
<!--<el-col :span="8">-->
<!-- <el-form-item label="当前仓库:" class="query-form-item">-->
<!-- <invSelect :value.sync="query.invCode" :params.sync="filterBadInv" :changeValue.sync="invChange"/>-->
<!-- </el-form-item>-->
<!--</el-col>-->
<el-col :span="10">
<el-form-item label="编码/名称:" class="query-form-item">
<el-input v-model="query.key" placeholder="请输入单据编号/单据名称" clearable>
</el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div class="top-right-btn">
<el-button-group>
<el-button icon="el-icon-view" type="primary" @click="hideSearch">/</el-button>
<el-button type="primary" icon="el-icon-refresh" @click="onReset"></el-button>
<el-button type="primary" icon="el-icon-search" @click="onSubmit"></el-button>
<el-button type="primary" icon="el-icon-plus" @click="chooseBusType"></el-button>
</el-button-group>
</div>
<el-table v-loading="loading" :data="list" style="width: 100%" :row-style="{height: '32px' }"
highlight-current-row @current-change="handCurrentChange" ref="table"
>
<el-table-column type="selection" width="55" :selectable="checkSelectable">
</el-table-column>
<el-table-column type="index" label="序号"></el-table-column>
<el-table-column label="单据类型编号" prop="code"></el-table-column>
<el-table-column label="单据类型名称" prop="name"></el-table-column>
<el-table-column label="出入库类型" prop="mainAction">
<template slot-scope="scope">
<span>{{ mainActions[scope.row.mainAction] }}</span>
</template>
</el-table-column>
<el-table-column label="是否内部单据" prop="innerOrder">
<template slot-scope="scope">
<span>{{ innerOrderMap[scope.row.innerOrder] }}</span>
</template>
</el-table-column>
<el-table-column label="来源系统" prop="fromType"></el-table-column>
<el-table-column label="来源单据类型" prop="fromDocumentType"></el-table-column>
<el-table-column label="来源接口地址" prop="fromInterAddress"></el-table-column>
<el-table-column label="排序" prop="sortNumber" width="50"></el-table-column>
<el-table-column label="备注" prop="remark"></el-table-column>
<!--<el-table-column label="操作" fixed="right" width="100">-->
<!-- <template slot-scope="scope">-->
<!-- <el-button-->
<!-- type="text"-->
<!-- size="small"-->
<!-- @click.native.stop="editCollectionPoints(scope.row)"-->
<!-- >编辑-->
<!-- </el-button>-->
<!-- <el-button-->
<!-- type="text"-->
<!-- size="small"-->
<!-- @click.native.stop="deleteCollectionPoints(scope.row)"-->
<!-- >删除-->
<!-- </el-button>-->
<!-- </template>-->
<!--</el-table-column>-->
</el-table>
</el-card>
</div>
</template>
<script>
import {
getCollectBusType,
addCollectBusType,
updateCollectBusType,
delCollectBusType, genCode
} from '@/api/basic/collectPoint/gatherOrderType'
import { getBusTypeList } from '@/api/basic/busType'
import { bindBusType } from '@/api/basic/workPlace/sysWorkplaceManage'
export default {
props: {
closeDialog: {
type: Function,
required: true
},
workplaceId: {
type: Object,
required: true
},
busTypeCodes: {
type: Array,
required: true
}
},
data() {
return {
query: {
page: 1,
limit: 10
},
showSearch: true,
filterBadInv: true,
loading: false,
list: [],
fromName: 'add',
fromMap: {
'add': '新增单据类型',
'edit': '编辑单据类型'
},
addCollectionPointsDialogVisible: false,
formData: {},
code: '',
total: 0,
busTypes: [],
formRules: {
name: [
{ required: true, message: '请输入单据类型名称', trigger: 'blur' }
],
fromType: [
{ required: true, message: '请选择来源', trigger: 'blur' }
],
// invCode: [
// { required: true, message: '', trigger: 'blur' }
// ],
mainAction: [
{ required: true, message: '请选择出入库类型', trigger: 'blur' }
],
innerOrder: [
{ required: true, message: '是否内部单据', trigger: 'blur' }
]
},
mainActions: {
WareHouseIn: '入库',
WareHouseOut: '出库'
},
innerOrderMap: {
0: '否',
1: '是'
},
mainActionMap: {
in: 'WareHouseIn',
out: 'WareHouseOut'
},
//
rowList: [],
BusTypeQuery: {
workplaceCode: null,
documentTypeCode: []
}
}
},
methods: {
hideSearch() {
this.showSearch = !this.showSearch
},
onReset() {
this.$router.push({
path: ''
})
this.query = {
page: 1,
limit: 10
}
this.getList()
},
onSubmit() {
this.query.page = 1
this.getList()
},
addCollectionPoints() {
this.fromName = 'add'
genCode().then(res => {
if (res.code == 20000) {
this.code = res.data
this.formData = {
code: res.data
}
this.addCollectionPointsDialogVisible = true
}
})
},
getList() {
this.loading = true
getCollectBusType(this.query).then((response) => {
if (response.code == 20000) {
this.list = response.data.list || []
this.total = response.data.total || 0
} else {
this.$message.error(response.message)
}
this.loading = false
})
.catch(() => {
this.loading = false
this.list = []
this.total = 0
})
},
getBusType() {
let query = {
enabled: true,
page: 1,
limit: 10
}
getBusTypeList(query)
.then((response) => {
this.busTypes = response.data.list || []
// this.filterQuery.action = this.busTypes[0].action;
// this.getList();
})
.catch(() => {
})
},
//
handCurrentChange(row) {
this.rowList = row
},
//
chooseBusType() {
let selectList = this.$refs.table.selection
let list = selectList.map(item => item.code)
this.BusTypeQuery.workplaceCode = this.workplaceId
this.BusTypeQuery.documentTypeCode = list
if (list.length == 0) {
return this.$message.error('未选择单据类型或该工位已没有可增加单据类型')
}
bindBusType(this.BusTypeQuery).then(res => {
if (res.code == 20000) {
this.$message.success('选入成功')
this.closeDialog()
} else {
this.$message.error(res.message)
}
})
},
checkSelectable(row) {
if (this.busTypeCodes == null) {
return true
} else {
if (this.busTypeCodes.length > 0) {
return this.busTypeCodes.indexOf(row.code) === -1
} else {
return true
}
}
}
},
created() {
this.getList()
this.getBusType()
}
}
</script>
<style scoped>
.dialog-footer {
display: flex; /* 使用Flexbox布局 */
justify-content: center; /* 水平居中 */
align-items: center; /* 垂直居中 */
}
</style>

@ -80,20 +80,17 @@
<el-form-item label="编码/名称:" class="query-form-item">
<el-input v-model="query.key" placeholder="请输入编码/工位名称" clearable>
</el-input>
<!--<el-form-item label="所属仓库:">-->
<!-- :isDisable.sync="defaultInv"-->
<!--</el-form-item>-->
<!--<el-select-->
<!-- v-model="query.key"-->
<!-- placeholder="请选择仓库">-->
<!-- <el-option v-for="item in unitStorageList"-->
<!-- :key="item.name"-->
<!-- :label="item.name"-->
<!-- :value="item.code"></el-option>-->
<!--</el-select>-->
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="工位状态:" class="query-form-item">
<el-select v-model="query.workplaceStatus" placeholder="工位状态" clearable>
<el-option label="停用" :value="0"></el-option>
<el-option label="在用" :value="1"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div class="top-right-btn">
@ -111,8 +108,8 @@
<el-table-column label="工位编码" prop="workplaceId" width="90"></el-table-column>
<el-table-column label="工位名称" prop="workplaceName" width="120"></el-table-column>
<el-table-column label="所属组别" prop="categoryName" width="90"></el-table-column>
<el-table-column label="单据类型编号" prop="busTypeCode" width="100"></el-table-column>
<el-table-column label="单据类型名称" prop="busTypeName" width="100"></el-table-column>
<!--<el-table-column label="单据类型编号" prop="busTypeCode" width="100"></el-table-column>-->
<!--<el-table-column label="单据类型名称" prop="busTypeName" width="100"></el-table-column>-->
<el-table-column label="单据来源系统" prop="fromTypeName" width="100"></el-table-column>
<el-table-column label="所属部门" prop="deptCodeName" width="90"></el-table-column>
<el-table-column label="默认仓库" prop="invName" width="90"></el-table-column>
@ -172,74 +169,123 @@
>
</pagination>
</el-card>
<el-card>
<div>{{ workplaceName }}-用户列表</div>
<!--<el-card>-->
<el-tabs type="border-card" style="margin: 15px">
<el-tab-pane>
<span slot="label">{{ workplaceName }}-用户列表</span>
<el-form :inline="true" :model="userQuery" class="query-form" size="mini"
style="margin-bottom: 10px"
>
<el-form-item class="query-form-item" label="用户账号/用户名称:">
<el-input
v-model="userQuery.userKey"
placeholder="请输入用户账号/名称"
clearable
></el-input>
</el-form-item>
<el-form-item>
<el-button-group>
<el-button
type="primary"
icon="el-icon-refresh"
@click="onUserReset"
>重置
</el-button>
<el-button type="primary" @click="loadUserList"
icon="el-icon-search"
>查询
</el-button
>
</el-button-group>
</el-form-item>
</el-form>
<el-form :inline="true" :model="userQuery" class="query-form" size="mini"
style="margin-top: 30px;margin-bottom: 10px"
>
<el-form-item class="query-form-item" label="用户账号/用户名称:">
<el-input
v-model="userQuery.userKey"
placeholder="请输入用户账号/名称"
clearable
></el-input>
</el-form-item>
<el-form-item>
<el-button-group>
<el-button
type="primary"
icon="el-icon-refresh"
@click="onUserReset"
>重置
</el-button>
<el-button type="primary" @click="loadUserList"
icon="el-icon-search"
>查询
</el-button
>
</el-button-group>
</el-form-item>
</el-form>
<el-table v-loading="userLoading" :data="userList" style="width: 100%;" :row-style="{height: '32px' }"
highlight-current-row
>
<el-table-column type="index" label="序号"></el-table-column>
<el-table-column label="用户账号" prop="userName"></el-table-column>
<el-table-column label="用户名称" prop="employeeName"></el-table-column>
<el-table-column label="备注" prop="remark"></el-table-column>
<el-table-column label="操作" fixed="right" width="50">
<template slot-scope="scope">
<el-button
type="text"
size="small"
@click.native.stop="removeUser(scope.row)"
>移除
</el-button>
</template>
</el-table-column>
</el-table>
<pagination
:total="userTotal"
:limit.sync="userQuery.limit"
:page.sync="userQuery.page"
@pagination="getUserBindWork(userQuery)"
>
</pagination>
</el-tab-pane>
<el-tab-pane>
<span slot="label">{{ workplaceName }}-单据类型</span>
<el-form :inline="true" :model="busQuery" class="query-form" size="mini"
style="margin-bottom: 10px"
>
<el-form-item class="query-form-item" label="单据名称/单据编号:">
<el-input
v-model="busQuery.busKey"
placeholder="请输入单据名称/单据编号"
clearable
></el-input>
</el-form-item>
<el-form-item>
<el-button-group>
<el-button
type="primary"
icon="el-icon-refresh"
>重置
</el-button>
<el-button type="primary" @click="loadBusList"
icon="el-icon-search"
>查询
</el-button
>
<el-button type="primary" @click="chooseBusType"
icon="el-icon-plus"
>选入单据
</el-button
>
</el-button-group>
</el-form-item>
</el-form>
<el-table :data="busTypeList" style="width: 100%;" :row-style="{height: '32px' }"
highlight-current-row
>
<el-table-column type="index" label="序号"></el-table-column>
<el-table-column label="单据编号" prop="code"></el-table-column>
<el-table-column label="单据名称" prop="name"></el-table-column>
<el-table-column label="备注" prop="remark"></el-table-column>
<el-table-column label="操作" fixed="right" width="50">
<template slot-scope="scope">
<el-button
type="text"
size="small"
@click.native.stop="removeBusType(scope.row)"
>移除
</el-button>
</template>
</el-table-column>
</el-table>
<pagination
:total="busTypeTotal"
:limit.sync="busQuery.limit"
:page.sync="busQuery.page"
@pagination="getWorkBindBusTypes()"
>
</pagination>
</el-tab-pane>
</el-tabs>
<el-table v-loading="userLoading" :data="userList" style="width: 100%;" :row-style="{height: '32px' }"
highlight-current-row
>
<el-table-column type="index" label="序号"></el-table-column>
<el-table-column label="用户账号" prop="userName"></el-table-column>
<el-table-column label="用名称" prop="employeeName"></el-table-column>
<el-table-column label="备注" prop="remark"></el-table-column>
<el-table-column label="操作" fixed="right" width="50">
<template slot-scope="scope">
<!--<el-button-->
<!-- type="text"-->
<!-- size="small"-->
<!-- @click.native.stop="printLabel(scope.row)"-->
<!--&gt;打印-->
<!--</el-button>-->
<!--<el-button-->
<!-- type="text"-->
<!-- size="small"-->
<!-- @click.native.stop="editCollectionPoints(scope.row)"-->
<!--&gt;详情-->
<!--</el-button>-->
<el-button
type="text"
size="small"
@click.native.stop="removeUser(scope.row)"
>移除
</el-button>
</template>
</el-table-column>
</el-table>
<pagination
:total="userTotal"
:limit.sync="userQuery.limit"
:page.sync="userQuery.page"
@pagination="getUserBindWork(userQuery)"
>
</pagination>
</el-card>
</el-col>
</el-row>
@ -279,7 +325,9 @@
<el-row :gutter="24" class="el-row">
<el-col :span="12" class="el-col">
<el-form-item label="作业方式:" prop="operationType" class="query-form-item">
<el-select v-model="formData.operationType" style="width: 80%" placeholder="选择扫码方式" clearable @change="changeCheckInsert">
<el-select v-model="formData.operationType" style="width: 80%" placeholder="选择扫码方式" clearable
@change="changeCheckInsert"
>
<el-option label="扫码生成业务单" :value="1"></el-option>
<el-option label="按单校验三期" :value="2"></el-option>
<el-option label="按单不校验三期" :value="3"></el-option>
@ -290,7 +338,9 @@
<el-col :span="12" class="el-col">
<el-form-item label="结果处理:" prop="checkInsert" class="query-form-item">
<el-select v-model="formData.checkInsert" style="width: 80%" placeholder="选择扫码方式" clearable :disabled="formData.operationType == 1">
<el-select v-model="formData.checkInsert" style="width: 80%" placeholder="选择扫码方式" clearable
:disabled="formData.operationType == 1"
>
<el-option label="插入" :value="1"></el-option>
<el-option label="不插入" :value="2"></el-option>
<el-option label="提醒是否插入" :value="3"></el-option>
@ -299,7 +349,6 @@
</el-col>
<el-col :span="12" class="el-col">
<el-form-item label="提醒方式:" prop="warnType" class="query-form-item">
<el-select v-model="formData.warnType" style="width: 80%" placeholder="选择扫码方式" clearable>
@ -314,12 +363,14 @@
<el-form-item prop="deptCode" label="所属部门:">
<el-select v-model="formData.deptCode" placeholder="请选择部门" clearable
style="width: 80%"
@change="deptChange">
@change="deptChange"
>
<el-option
v-for="item in deptList"
:key="item.name"
:label="item.name"
:value="item.code">
:value="item.code"
>
<span style="float: left">{{ item.name }}</span>
</el-option>
</el-select>
@ -365,23 +416,23 @@
<!--&gt;</el-input>-->
</el-form-item>
</el-col>
<el-col :span="12" class="el-col">
<el-form-item label="单据类型:" prop="orderId" class="query-form-item">
<el-select v-model="formData.orderId" placeholder="请选择单据类型"
style="width: 80%"
clearable
>
<el-option
v-for="item in busTypes"
:key="item.name"
:label="item.name"
:value="item.code"
>
<span style="float: left">{{ item.name }}</span>
</el-option>
</el-select>
</el-form-item>
</el-col>
<!--<el-col :span="12" class="el-col">-->
<!-- <el-form-item label="单据类型:" prop="orderId" class="query-form-item">-->
<!-- <el-select v-model="formData.orderId" placeholder="请选择单据类型"-->
<!-- style="width: 80%"-->
<!-- clearable-->
<!-- >-->
<!-- <el-option-->
<!-- v-for="item in busTypes"-->
<!-- :key="item.name"-->
<!-- :label="item.name"-->
<!-- :value="item.code"-->
<!-- >-->
<!-- <span style="float: left">{{ item.name }}</span>-->
<!-- </el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<!--</el-col>-->
<el-col :span="12" class="el-col">
<el-form-item label="所属组别:" prop="constituencies" class="query-form-item">
<el-select v-model="formData.constituencies" placeholder="请选择所属组别"
@ -423,13 +474,21 @@
<el-form-item label="库存预警数:" prop="invRemindNumber" class="query-form-item">
<el-input-number
:min="0"
:precision='0' :step='1'
:precision="0" :step="1"
placeholder="请输入库存预警数"
v-model="formData.invRemindNumber" style="width: 80%"
auto-complete="off"
></el-input-number>
</el-form-item>
</el-col>
<el-col :span="12" class="el-col">
<el-form-item label="工位状态:" prop="workplaceStatus" class="query-form-item">
<el-select v-model="formData.workplaceStatus" style="width: 80%" placeholder="工位状态" clearable>
<el-option label="停用" :value="0"></el-option>
<el-option label="在用" :value="1"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<!--<el-col :span="12" class="el-col">-->
@ -530,6 +589,23 @@
>
</div>
</el-dialog>
<el-dialog
title="选入单据"
:visible.sync="chooseBusTypeDialogVisible"
width="60%"
v-if="chooseBusTypeDialogVisible"
:close-on-click-modal="false"
:close-on-press-escape="false"
>
<selectBusType
:closeDialog="closeDialog"
:workplaceId="workplaceId"
:busTypeCodes="busTypeCodes"
>
</selectBusType>
</el-dialog>
</div>
</template>
@ -540,21 +616,25 @@ import {
updateWorkplace,
deleteWorkplace,
createWorkplaceId, printWorkLabel, getUsers
} from '@/api/basic/sysWorkplaceManage'
} from '@/api/basic/workPlace/sysWorkplaceManage'
import { filterAllByUser, getInvListByUser } from '@/api/system/invWarehouse'
import { addTree, deleteTree, getTree, updateTree } from '@/api/basic/collectPoint/collectPointManage'
import { getCollectBusType } from '@/api/basic/collectPoint/gatherOrderType'
import panelGroup from '@/views/dashboard/PanelGroup'
import { delUserBindWork, getUserBindWork } from '@/api/basic/collectPoint/userWorkplace'
import selectBusType from './selectBusType'
import { getWorkBindBusTypes } from '@/api/basic/workPlace/sysWorkplaceDocuments'
export default {
components: { selectBusType },
data() {
return {
query: {
invCode: this.$store.getters.locInvCode,
page: 1,
limit: 10,
code: null
code: null,
workplaceStatus: 1
},
showSearch: true,
Dictionary: false,
@ -568,6 +648,7 @@ export default {
}
],
addWorkplaceDialogVisible: false,
chooseBusTypeDialogVisible: false,
fromName: 'add',
fromMap: {
'add': '新增工位',
@ -606,7 +687,7 @@ export default {
],
unitTittle: [
{ required: true, message: '请输入往来类型标题', trigger: 'blur' }
],
]
},
invQuery: {
invCode: ''
@ -622,7 +703,7 @@ export default {
1: '客户',
2: '供应商',
3: '内部科室',
4: '特殊往来',
4: '特殊往来'
},
checkInserts: {
1: '插入',
@ -656,7 +737,19 @@ export default {
total: 0,
userTotal: 0,
workplaceName: '用户',
deptList:[]
workplaceBusType: '工位',
deptList: [],
//
workplaceId: null,
busQuery: {
busKey: '',
workplaceCode: null,
page: 1,
limit: 10
},
busTypeList: [],
busTypeTotal: 0,
busTypeCodes: []
}
},
computed: {},
@ -885,11 +978,24 @@ export default {
this.workplaceName = row.workplaceName
this.userQuery.workplaceCode = row.workplaceId
this.getUserBindWork(this.userQuery)
this.getWorkBindBusTypes()
},
loadUserList() {
this.userQuery.workplaceCode = this.rowData.workplaceId
this.getUserBindWork(this.userQuery)
},
loadBusList() {
this.getWorkBindBusTypes()
},
chooseBusType() {
if (this.rowData.workplaceId == null) {
return this.$message.error('请先选择工位')
}
this.workplaceId = this.rowData.workplaceId
this.userId = this.rowData.id
this.busTypeCodes = this.busTypeList.map(item => item.code)
this.chooseBusTypeDialogVisible = true
},
onUserReset() {
this.userQuery = {
page: 1,
@ -995,23 +1101,38 @@ export default {
},
getDeptList() {
this.deptList = [];
this.deptList = []
filterAllByUser()
.then((response) => {
this.deptList = response.data || [];
this.getInvList();
this.deptList = response.data || []
this.getInvList()
})
.catch(() => {
});
})
},
deptChange() {
this.getInvList();
this.formData.invCode = "";
this.getInvList()
this.formData.invCode = ''
},
changeCheckInsert(){
if (this.formData.operationType == 1){
changeCheckInsert() {
if (this.formData.operationType == 1) {
this.formData.checkInsert = 1
}
},
getWorkBindBusTypes() {
this.busQuery.workplaceCode = this.rowData.workplaceId
getWorkBindBusTypes(this.busQuery).then(res => {
if (res.code == 20000) {
this.busTypeList = res.data.list
this.busTypeTotal = res.data.total
} else {
return this.$message.error('获取错误')
}
})
},
closeDialog(){
this.chooseBusTypeDialogVisible = false
this.getWorkBindBusTypes()
}
},
created() {

@ -254,7 +254,7 @@ import {page as prescribePage, deleteDataByCode} from "@/api/basic/sicker/prescr
import bindWorkDialog from "@/views/collect/bindWorkDialog";
import prescribeOriginPanel from "./PannelOrderBiz";
import prescribeOriginDiPanel from "./PannelOrderBiz";
import {filterWorkOptimize} from "@/api/basic/sysWorkplaceManage";
import {filterWorkOptimize} from "@/api/basic/workPlace/sysWorkplaceManage";
import {deleteByOrder, orderPage} from "@/api/collect/collectOrder";
export default {
@ -347,7 +347,7 @@ export default {
methods: {
linkPage(_this, row) {
let url = window.location.origin + `#/tagCodeBlank?workplaceId=` + row.workPlaceCode
let url = window.location.origin + `#/tagCodeBlank?workplaceId=` + row.workPlaceCode+"&billNo="+row.billNo
window.open(url, '_blank');
},
//------------

@ -0,0 +1,145 @@
<template>
<div>
<!-- 分割线 -->
<el-form :model="filterQuery" class="query-form" size="mini" label-width="100px" :inline="true" style="margin-top: 15px">
<el-form-item prop="key" label="工位信息:">
<el-input v-model="filterQuery.key" clearable placeholder="请输入或扫描工位二维码" style="width: 400px" ref="inputField" ></el-input>
</el-form-item>
<el-form-item prop="key" label="往来单位:">
<el-input v-model="filterQuery.key" clearable placeholder="请输入往来单位" style="width: 300px" ref="inputField" ></el-input>
</el-form-item>
<el-form-item>
<el-button-group style="margin-left: 10px;display:flex;">
<el-button type="primary" icon="el-icon-search" @click.native.stop="getList()">搜索</el-button>
</el-button-group>
</el-form-item>
</el-form>
<el-row :gutter="8">
<el-col v-for="(info, index) in list" :key="index" :xs="12" :sm="8" :md="8" :lg="6">
<el-card :body-style="{margin:'20px'}"
style="margin:20px 20px 20px 20px;height: 200px;background-color: #e1f3fb;border-radius: 12px; position: relative;"
>
<template #header>
<el-form class="query-form" size="mini" style="height: 200px;" >
<el-form-item class="query-form-item" label-width="28%" label="单据编号:">
<el-input
v-model="info.billNo"
placeholder=""
clearable
class="custom-disabled-input"
disabled
style="width: 80%;"
>
</el-input>
</el-form-item>
<el-form-item class="query-form-item" label-width="28%" label="工位名称:">
<el-input
v-model="info.workplaceName"
placeholder=""
clearable
style="width: 80%;"
class="custom-disabled-input"
disabled
>
</el-input>
</el-form-item>
<el-form-item class="query-form-item" label-width="28%" label="来源系统:">
<el-input
v-model="info.fromTypeName"
placeholder=""
clearable
style="width: 80%;"
class="custom-disabled-input"
disabled
>
</el-input>
</el-form-item>
<el-form-item label-width="28%" >
<el-button-group style=" float: right;">
<el-button type="primary" @click="handleClick(index)" style="margin-left: 10px ;"
icon="el-icon-thumb"
>开始处理
</el-button>
</el-button-group>
</el-form-item>
</el-form>
</template>
</el-card>
</el-col>
</el-row>
</div>
</template>
<script>
import {deleteByOrder, orderPage} from "@/api/collect/collectOrder";
import QRCode from 'qrcodejs2'
export default {
name: 'fieldOperation',
data() {
return {
filterQuery:{
key: '',
tagStatus: 1,
// invCode: this.$store.getters.locInvCode,
page: 1,
limit: 200
},
//
list: [],
total: 0,
loading: false
};
},
created() {
//list
this.getList()
},
methods: {
handleClick(index) {
let url = window.location.origin + `#/tagCodeBlank?workplaceId=` + this.stationList[index].workplaceId
// this.$router.push( workplaceId)
window.open(url, '_blank');
},
getList() {
this.loading = true;
orderPage(this.filterQuery).then(res => {
this.loading = false
this.list = res.data.list || []
this.total = res.data.total || 0
}).catch(() => {
this.loading = false
this.list = []
this.total = 0
})
},
},
mounted() {
}
}
</script>
<style >
.custom-disabled-input input.el-input__inner:disabled {
color: #000000; /* 修改为需要的颜色 */
}
/* 添加样式来定位左上角的删除按钮 */
.close-button {
position: absolute;
top: 10px; /* 你可以根据需要调整这个值 */
right: 10px; /* 你可以根据需要调整这个值 */
z-index: 1; /* 确保按钮在卡片内容之上 */
}
</style>

@ -248,7 +248,7 @@ import prescribeDownloadDialog from "@/views/collect/prescribe/prescribeDownload
import prescribeOriginPanel from "./PannelOrderBiz";
import {clearAllOrder, deleteByOrder, importOrder, orderPage} from "@/api/collect/collectOrder";
import {filterSubAllOptimize} from "@/api/system/invSubWarehouse";
import {filterWorkOptimize} from "@/api/basic/sysWorkplaceManage";
import {filterWorkOptimize} from "@/api/basic/workPlace/sysWorkplaceManage";
export default {
name: "prescribePanel",

@ -248,7 +248,7 @@ import PanelOrderManuTagCode from "./PanelOrderManuTagCode";
import prescribeOriginPanel from "./PannelOrderBiz";
import prescribeCodePanel from "./PanelOrderTagCode";
import PannelOrderBiz from "./PannelOrderBiz";
import {listPage} from "@/api/basic/sysWorkplaceManage";
import {listPage} from "@/api/basic/workPlace/sysWorkplaceManage";
import {enterCodeWeb} from "@/api/inout/order";
import {draftOrder, finishOrder, startSplit, tagCode, updateOrder} from "@/api/collect/splitCreateOrder";
import {selectCorpList} from "@/api/basic/basicUnitMaintain";

@ -248,7 +248,7 @@ import PanelOrderManuTagCode from "./PanelOrderManuTagCode";
import prescribeOriginPanel from "./PannelOrderBiz";
import prescribeCodePanel from "./PanelOrderTagCode";
import PannelOrderBiz from "./PannelOrderBiz";
import {listPage} from "@/api/basic/sysWorkplaceManage";
import {listPage} from "@/api/basic/workPlace/sysWorkplaceManage";
import {enterCodeWeb} from "@/api/inout/order";
import {draftOrder, finishOrder, startSplit, tagCode, updateOrder} from "@/api/collect/splitCreateOrder";
import {selectCorpList} from "@/api/basic/basicUnitMaintain";

@ -283,7 +283,7 @@ import DialogSelectSpace from "@/views/inout/DialogSelectSpace";
import {isBlank} from "@/utils/strUtil";
import {filterNoPage, remoteFilter} from "@/api/basic/sicker/skPersonApi";
import dialogInvProduct from "@/views/inout/DialogSelectInvProduct";
import {listPage} from "@/api/basic/sysWorkplaceManage";
import {listPage} from "@/api/basic/workPlace/sysWorkplaceManage";
import {printSplitLabel} from "@/api/collect/splitCreateOrder";
import { findInvRemind } from "@/api/inout/splitCode";

@ -283,7 +283,7 @@ import DialogSelectSpace from "@/views/inout/DialogSelectSpace";
import {isBlank} from "@/utils/strUtil";
import {filterNoPage, remoteFilter} from "@/api/basic/sicker/skPersonApi";
import dialogInvProduct from "@/views/inout/DialogSelectInvProduct";
import {listPage} from "@/api/basic/sysWorkplaceManage";
import {listPage} from "@/api/basic/workPlace/sysWorkplaceManage";
import {printSplitLabel} from "@/api/collect/splitCreateOrder";
import { findInvRemind } from "@/api/inout/splitCode";

@ -427,6 +427,8 @@ import {executeFuc, getHead} from "@/utils/customConfig";
import {convertDate} from "@/utils/date";
import {materialCodePage, materialPrescribePage, splitFifoDetail, splitFifoPage} from "@/api/inout/splitCode";
import {getInvListByUserOptimize} from "@/api/system/invWarehouse";
import { getBasicUnitMaintainsOptimize } from '@/api/basic/basicUnitMaintain'
import { listPage } from '@/api/basic/workPlace/sysWorkplaceManage'
export default {
name: "IoSplitFifoCodePanel",
@ -456,6 +458,7 @@ export default {
getInvList: [],
getDeptList: [],
getBusType: [],
findWorkPlace: [],
},
showSearch: true,
@ -586,9 +589,33 @@ export default {
enterKey(_this, event) {
_this.onSubmit();
},
findWorkPlace(_this, query){
let cQuery = {
key: query,
page: 1,
limit: 10,
};
listPage(cQuery).then(res => {
if (res.code == 20000){
let workPlaces = res.data.list || [];
// _this.options.getWorkPlace = res.data.list || [];
let getWorkPlace = workPlaces.map(workplace => {
return {
code: workplace.workplaceId,
label: workplace.workplaceName
};
});
_this.options.findWorkPlace = getWorkPlace
console.log("djdjdjdjd",_this.options.findWorkPlace)
}
}).catch(() => {
_this.options.findWorkPlace = [];
});
},
},
created() {
this.findWorkPlace(this,"")
console.log(this.panelType)
getHead("ioSplitFifoCode", "1").then((re) => {
//

@ -11,7 +11,7 @@
show-overflow-tooltip
></el-table-column>
<el-table-column label="产品通用名" width="150" prop="coName" show-overflow-tooltip></el-table-column>
<el-table-column label="规格型号" width="150" prop="spec" show-overflow-tooltip></el-table-column>
<el-table-column label="规格" width="150" prop="spec" show-overflow-tooltip></el-table-column>
<el-table-column label="批次号" width="150" prop="batchNo" show-overflow-tooltip></el-table-column>
<el-table-column label="生产日期" width="120" prop="productDate" show-overflow-tooltip>
<template slot-scope="scope">

@ -52,7 +52,7 @@ import {
updateWorkplace,
deleteWorkplace,
createWorkplaceId
} from '@/api/basic/sysWorkplaceManage'
} from '@/api/basic/workPlace/sysWorkplaceManage'
import {bindWork} from "@/api/collect/collectOrder";

@ -23,67 +23,38 @@
<el-col v-for="(info, index) in stationList" :key="index" :xs="12" :sm="8" :md="8" :lg="6">
<el-card :body-style="{margin:'20px'}"
style="margin:20px 20px 20px 20px;height: 200px;background-color: #e1f3fb;border-radius: 12px; position: relative;"
@click="handleClick(index)"
>
<template #header>
<el-form class="query-form" size="mini" style="height: 200px;" >
<el-form-item class="query-form-item" label-width="28%" label="工位名称:">
<el-input
v-model="info.workplaceName"
placeholder=""
clearable
class="custom-disabled-input"
disabled
style="width: 80%;"
>
</el-input>
</el-form-item>
<el-form-item class="query-form-item" label-width="28%" label="工位用户:">
<el-input
v-model="info.employeeName"
placeholder=""
clearable
style="width: 80%;"
class="custom-disabled-input"
disabled
>
</el-input>
</el-form-item>
<el-form-item class="query-form-item" label-width="28%" label="工位描述:">
<el-input
v-model="info.remake"
placeholder=""
clearable
style="width: 80%;"
class="custom-disabled-input"
disabled
>
</el-input>
</el-form-item>
<el-form-item label-width="28%" >
<el-button-group style=" float: right;">
<el-button type="primary" @click="handleClick(index)" style="margin-left: 10px ;"
icon="el-icon-thumb"
>开始作业
</el-button>
</el-button-group>
</el-form-item>
</el-form>
</template>
<div style="display: flex; justify-content: space-between; align-items: center; height: 66px; /* 约为 200px 的 1/3 */">
<p style="font-size: 20px;background-color: #e1f3fb;font-weight: bold;">{{ info.workplaceName }}</p> <!-- 假设你的信息对象中包含一个title属性 -->
<!-- <div style="width: 60px; height: 60px; display: flex; justify-content: center; align-items: center;">-->
<!-- &lt;!&ndash; 二维码占位这里用灰色方块代替 &ndash;&gt;-->
<!--&lt;!&ndash; <span>QR</span>&ndash;&gt;-->
<!-- <div ref="qrcode" :id="'qrcode-'+index" style="width: 60px;height: 60px;"></div>-->
<!-- </div>-->
</div>
<div style="flex: 1; display: flex; flex-direction: column; justify-content: flex-end; padding-top: 10px;">
<!-- 假设这里有一些信息内容 -->
<p style="font-size: 14px;background-color: #e1f3fb">{{ info.remake }}</p>
<el-button type="primary" style="position: absolute; bottom: 20px; right: 20px;" icon="el-icon-thumb" @click="handleClick(index)"></el-button>
</div>
</el-card>
</el-col>
</el-row>
</div>
</template>
<script>
import {listPage} from "@/api/basic/sysWorkplaceManage.js";
import {listPage} from "@/api/basic/workPlace/sysWorkplaceManage.js";
import QRCode from 'qrcodejs2'
export default {
name: 'fieldOperation',
@ -103,8 +74,21 @@ export default {
created() {
//list
this.getStationList()
// this.generateQRCodes()
},
methods: {
generateQRCodes() {
this.stationList.forEach((info, index) => {
new QRCode(document.getElementById(`qrcode-${index}`), {
text: info.workplaceId,
width: 60,
height: 60,
colorDark: "#000000",
colorLight: "transparent",
correctLevel: QRCode.CorrectLevel.H
});
});
},
handleClick(index) {
let url = window.location.origin + `#/tagCodeBlank?workplaceId=` + this.stationList[index].workplaceId
// this.$router.push( workplaceId)
@ -113,10 +97,14 @@ export default {
getStationList() {
listPage(this.query).then(res => {
this.stationList = res.data?.list || []
// this.generateQRCodes
})
},
},
mounted() {
// this.getStationList()
// this.generateQRCodes();
this.$nextTick(() => {
this.$refs.inputField.focus();
});

@ -645,7 +645,7 @@ import {isBlank} from "@/utils/strUtil";
import {filterNoPage, page, remoteFilter} from "@/api/basic/sicker/skPersonApi";
import {selectSysParamByKey} from "@/api/param/systemParamConfig";
import dialogInvProduct from "@/views/inout/DialogSelectInvProduct";
import {listPage} from "@/api/basic/sysWorkplaceManage";
import {listPage} from "@/api/basic/workPlace/sysWorkplaceManage";
export default {
name: "ioCreateOrder",

@ -589,7 +589,7 @@ import {isBlank} from "@/utils/strUtil";
import {filterNoPage, page, remoteFilter} from "@/api/basic/sicker/skPersonApi";
import {selectSysParamByKey} from "@/api/param/systemParamConfig";
import dialogInvProduct from "@/views/inout/DialogSelectInvProduct";
import {listPage} from "@/api/basic/sysWorkplaceManage";
import {listPage} from "@/api/basic/workPlace/sysWorkplaceManage";
export default {
name: "ioCreateOrder",

Loading…
Cancel
Save