问题修改

dev-scheduling
zhangdi 3 days ago
parent 5fa862855c
commit 9943f00ea0
  1. 2
      src/api/productionManagement/reworkOrder.js
  2. 6
      src/api/productionManagement/shortageApplication.js
  3. 10
      src/api/zhgd-work/dacangDispatch.js
  4. 15
      src/router/views/index.js
  5. 197
      src/views/basicData/components/jobTransferAdd.vue
  6. 99
      src/views/basicData/jobTransferManagement.vue
  7. 3
      src/views/logisticsManagement/components/addLogisticsDialog.vue
  8. 2
      src/views/logisticsManagement/components/addPackingDialog.vue
  9. 1
      src/views/logisticsManagement/components/materialDetails.vue
  10. 9
      src/views/logisticsManagement/components/returnDialog.vue
  11. 4
      src/views/logisticsManagement/components/unbindDialog.vue
  12. 46
      src/views/wel/components/quickAccess.vue
  13. 87
      src/views/zhgd-work/dacangDispatch/index.vue

@ -25,7 +25,7 @@ export const receiveOrder = (params) => {
export const getReceiveOrder = (params) => {
return request({
url: '/blade-desk/ReworkProcess/receiveOrder',
method: 'get',
method: 'post',
params: params,
});
};

@ -21,11 +21,11 @@ export const del = data => {
};
// 通过零件获取批次号
export const queryBatch = data => {
export const queryBatch = params => {
return request({
url: '/blade-desk/deductionPreserve/queryBatch',
method: 'post',
data: data,
method: 'get',
params: params,
});
};

@ -0,0 +1,10 @@
import request from '@/axios';
// 订单接收
export const yieldOrderConfirm = (params) => {
return request({
url: '/blade-desk/order/yieldOrder/confirm',
method: 'POST',
params: params
})
}

@ -196,6 +196,21 @@ export default [
},
],
},
{
path: '/dacangDispatch',
component: Layout,
redirect: '/dacangDispatch/index',
children: [
{
path: 'index',
component: () => import(/* webpackChunkName: "page" */ '@/views/zhgd-work/dacangDispatch/index.vue'),
name: '订单接收',
meta: {
i18n: 'info',
},
},
],
},
{
path: '/work/process/leave',

@ -0,0 +1,197 @@
<template>
<el-dialog :title="title" append-to-body :modelValue="openShow" width="70%" @close="closeDialog">
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-row>
<el-col :span="8">
<el-form-item label="所属班组:" prop="deptName">
<el-input v-model="form.deptName" disabled placeholder="请选择"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="工号:" prop="userCode">
<el-input v-model="form.userCode" disabled placeholder="请选择"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="姓名:" prop="userId">
<jhSelect
:value="form.userId"
@input="val => (form.userId = val)"
placeholder="请搜索选择"
api-url="/blade-system/user/page"
echo-api="/blade-system/user/page"
echoParamsKey="ids"
echo-method="get"
api-method="get"
list-key="records"
total-key="total"
label-key="realName"
value-key="id"
search-key="id"
:debounce-time="500"
@change="handleUserChange"
/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="登录账号:" prop="wcId"> </el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="所属岗位:" prop="station">
<!-- <el-input v-model="form.station" placeholder="请选择"></el-input> -->
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="入职时间:" prop="inJobDate">
<!-- <el-date-picker
:disabled="isDetail"
style="width: 100%"
v-model="addForm.projectStartTime"
type="date"
placeholder="选择日期"
format="YYYY-MM-DD"
value-format="YYYY-MM-DD"
>
</el-date-picker> -->
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="性别:" prop="gender"> </el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="技能等级:" prop="skill"> </el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="用工类型:" prop="staffType"> </el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="年龄:" prop="age">
<el-input v-model="form.age" placeholder="请选择"> </el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="民族:" prop="nation">
<el-input v-model="form.nation" placeholder="请选择"> </el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="婚姻状态:" prop="marriage"> </el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="身份证号码:" prop="idCard">
<el-input v-model="form.idCard" placeholder="请选择"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="籍贯(市县区乡组):" prop="nativePlace">
<el-input v-model="form.nativePlace" placeholder="请选择"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="家庭住址:" prop="address">
<el-input v-model="form.address" placeholder="请选择"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="手机号码:" prop="mobile">
<el-input v-model="form.mobile" placeholder="请选择"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="政治面貌:" prop="face">
<el-input v-model="form.face" placeholder="请选择"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="出生年月:" prop="dataBirth"> </el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="毕业时间:" prop="endDate"> </el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="毕业院校:" prop="school">
<el-input v-model="form.school" placeholder="请选择"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="专业:" prop="major">
<el-input v-model="form.major" placeholder="请选择"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="最高学历:" prop="education">
<el-input v-model="form.education" placeholder="请选择"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="参加工作时间:" prop="joinJobDate"> </el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="合同到期日期:" prop="contractDuration"> </el-form-item>
</el-col>
</el-row>
</el-form>
<template #footer>
<span class="dialog-footer">
<el-button @click="closeDialog"> </el-button>
<el-button type="primary" @click="submit"> </el-button>
</span>
</template>
</el-dialog>
</template>
<script>
import jhSelect from '@/components/jh-select/index.vue';
export default {
props: {
showDialog: {
type: Boolean,
default: false,
},
title: {
type: String,
default: '新增',
},
rowData: {
type: Object,
default: () => ({}),
},
},
components: { jhSelect },
data() {
return {
openShow: false,
form: {},
rules: {
userId: [{ required: true, message: '请选择用户', trigger: 'change' }],
station:[{ required: true, message: '请选择岗位', trigger: 'change' }],
},
};
},
mounted() {
this.openShow = this.showDialog;
if (this.title == '修改') {
//
this.form = this.rowData;
}
},
methods: {
//
handleUserChange(value, item) {
console.log(value, item);
},
closeDialog() {
this.openShow = false;
this.$emit('closeDialog');
},
submit() {
this.$refs.form.validate(async valid => {
if (valid) {
let params = {};
}
});
},
},
};
</script>
<style lang="scss" scoped></style>

@ -19,6 +19,7 @@
@on-load="onLoad"
>
<template #menu-left>
<!-- <el-button type="primary" @click="handleAdd">新增</el-button> -->
<el-button type="danger" @click="handleDelete" :disabled="selectionList.length == 0"
>批量删除</el-button
>
@ -39,6 +40,7 @@
<el-button type="primary" @click="handleImport"> </el-button>
</template>
<template #menu="scope">
<!-- <el-button type="text" @click="updateFun(scope.row)">修改</el-button> -->
<el-button v-show="scope.row.phStatus == 7" type="text" @click="transferToFun(scope.row)"
>转岗</el-button
>
@ -141,11 +143,18 @@
importUrl="/blade-desk/postHandle/importExcel"
@closeDialog="closeDialog"
></basic-import>
<!-- 新增 -->
<jobTransferAdd
:show-dialog="showAddDialog"
v-if="showAddDialog"
:rowData="rowData"
@closeDialog="closeDialog"
></jobTransferAdd>
</basic-container>
</template>
<script>
import { change } from '@/api/job/jobinfo';
import {
getList,
remove,
@ -161,13 +170,16 @@ import {
} from '@/api/workLicense/jobTransferManagement';
import { getUserList } from '@/api/workLicense/workLicense';
import basicImport from '@/components/basic-import/main.vue';
import jobTransferAdd from './components/jobTransferAdd.vue';
export default {
components: {
basicImport,
jobTransferAdd,
},
data() {
return {
showAddDialog: false,
title: '新增',
isShowImport: false,
data: [],
tidList: [],
@ -245,7 +257,7 @@ export default {
label: '所属班组',
prop: 'deptName',
span: 8,
search: true,
search: false,
width: 200,
hide: true,
addDisabled: true,
@ -254,7 +266,6 @@ export default {
label: '工号',
prop: 'userCode',
addDisabled: true,
hide: true,
span: 8,
search: false,
width: 200,
@ -286,16 +297,16 @@ export default {
this.onChangeData(val.item, 'userId');
},
},
{
label: '员工编号',
prop: 'userCode',
span: 8,
labelWidth: 150,
search: true,
addDisplay: false,
editDisplay: false,
width: 200,
},
// {
// label: '',
// prop: 'userCode',
// span: 8,
// labelWidth: 150,
// search: true,
// addDisplay: false,
// editDisplay: false,
// width: 200,
// },
{
label: '所属岗位',
prop: 'station',
@ -304,6 +315,7 @@ export default {
search: true,
width: 200,
hide: true,
rules: [
{
required: true,
@ -321,8 +333,8 @@ export default {
hide: true,
width: 200,
type: 'date',
format: 'YYYY-MM-DD HH:mm:ss',
valueFormat: 'YYYY-MM-DD HH:mm:ss',
format: 'YYYY-MM-DD',
valueFormat: 'YYYY-MM-DD',
rules: [
{
required: true,
@ -475,8 +487,8 @@ export default {
search: false,
width: 200,
type: 'date',
format: 'YYYY-MM-DD HH:mm:ss',
valueFormat: 'YYYY-MM-DD HH:mm:ss',
format: 'YYYY-MM-DD',
valueFormat: 'YYYY-MM-DD',
},
{
label: '政治面貌',
@ -532,8 +544,8 @@ export default {
search: false,
width: 200,
type: 'date',
format: 'YYYY-MM-DD HH:mm:ss',
valueFormat: 'YYYY-MM-DD HH:mm:ss',
format: 'YYYY-MM-DD',
valueFormat: 'YYYY-MM-DD',
},
{
@ -589,8 +601,8 @@ export default {
addDisplay: false,
editDisplay: false,
type: 'date',
format: 'YYYY-MM-DD HH:mm:ss',
valueFormat: 'YYYY-MM-DD HH:mm:ss',
format: 'YYYY-MM-DD',
valueFormat: 'YYYY-MM-DD',
},
{
label: '参加工作时间',
@ -600,8 +612,8 @@ export default {
search: false,
width: 200,
type: 'date',
format: 'YYYY-MM-DD HH:mm:ss',
valueFormat: 'YYYY-MM-DD HH:mm:ss',
format: 'YYYY-MM-DD',
valueFormat: 'YYYY-MM-DD',
},
{
label: '入职时间',
@ -613,8 +625,8 @@ export default {
addDisplay: false,
editDisplay: false,
type: 'date',
format: 'YYYY-MM-DD HH:mm:ss',
valueFormat: 'YYYY-MM-DD HH:mm:ss',
format: 'YYYY-MM-DD',
valueFormat: 'YYYY-MM-DD',
},
{
label: '状态',
@ -705,6 +717,17 @@ export default {
this.getPlanList();
},
methods: {
//
handleAdd() {
this.showAddDialog = true;
this.title = '新增';
},
//
updateFun(row) {
this.showAddDialog = true;
this.title = '修改';
this.rowData = row
},
//
handleJobSave() {
this.$refs.jobform.validate((valid, done, msg) => {
@ -767,6 +790,7 @@ export default {
},
//
closeDialog(isRefresh) {
this.showAddDialog = false;
this.isAddOpen = false;
this.isShowImport = false;
this.showDialog = false;
@ -790,7 +814,7 @@ export default {
rowUpdate(row, index, done, loading) {
update(row).then(
() => {
this.onLoad(this.page);
this.onLoad(this.page, this.query);
this.$message({
type: 'success',
message: '操作成功!',
@ -806,7 +830,7 @@ export default {
rowSave(row, done, loading) {
add(row).then(
() => {
this.onLoad(this.page);
this.onLoad(this.page, this.query);
this.$message({
type: 'success',
message: '操作成功!',
@ -821,12 +845,12 @@ export default {
},
searchReset() {
this.query = {};
this.onLoad(this.page);
this.onLoad(this.page, this.query);
},
searchChange(params, done) {
this.query = params;
this.page.currentPage = 1;
this.onLoad(this.page, params);
this.onLoad(this.page, this.query);
done();
},
//
@ -843,7 +867,7 @@ export default {
});
remove(ids.join(',')).then(res => {
this.$message.success('操作成功');
this.onLoad(this.query);
this.onLoad(this.page, this.query);
});
});
},
@ -972,21 +996,8 @@ export default {
individualTakeFun(row) {
this.personalOpen = true;
this.rowData = row;
console.log(99999, row);
this.personData = [row];
},
//
insertEvent() {
console.log(this.rowData, 'ceshi');
const record = {
jtPostHandle: {
personnel: {},
},
department: {},
newDept: {},
};
this.tidList.push(record);
},
rowDel(row, index, done) {
this.$confirm('确定将选择数据删除?', {
confirmButtonText: '确定',

@ -14,10 +14,11 @@
style=""
@keyup.enter.native="changeCode"
placeholder="请扫描箱条码"
clearable
/>
</el-form-item>
<el-form-item label="作业中心" prop="wcId">
<el-select v-model="form.wcId" placeholder="请选择" filterable>
<el-select v-model="form.wcId" placeholder="请选择" filterable clearable>
<el-option
v-for="item in workCenterOptions"
:key="item.id"

@ -12,6 +12,7 @@
<el-input
v-model="form.boxBarcode"
@keyup.enter.prevent="changeCode"
clearable
placeholder="请扫描箱条码"
/>
</el-form-item>
@ -22,6 +23,7 @@
<el-input
v-model="form.orderNo"
@keyup.enter.prevent="changeOrderCode"
clearable
placeholder="请扫描箱条码"
/>
</el-form-item>

@ -128,7 +128,6 @@ export default {
},
mounted() {
this.openShow = this.showDialog;
console.log(8989898989, this.rowData);
this.init();
},
methods: {

@ -11,6 +11,7 @@
<el-input
v-model="form.boxBarcode"
@keyup.enter.native="changeCode"
clearable
placeholder="请扫描箱条码"
/>
</el-form-item>
@ -18,11 +19,12 @@
<el-input
v-model="form.stationCode"
@keyup.enter.native="changeCode"
clearable
placeholder="请扫描箱条码"
/>
</el-form-item>
<el-form-item label="起点站点" v-if="form.bindType == 'unbind'" required>
<el-input v-model="form.regionIndex" disabled placeholder="蓝色周转盒放置区" />
<el-input v-model="form.regionIndex" disabled placeholder="蓝色周转盒放置区" clearable />
<!-- <el-select
v-model="form.regionIndex"
placeholder="请选择站点区域"
@ -40,6 +42,7 @@
placeholder="请选择站点码"
@change="val => regionDataEndChange(val)"
style="margin-top: 5px"
clearable
>
<el-option
v-for="(item, index) in regionStartCode"
@ -56,6 +59,7 @@
placeholder="请选择作业中心"
filterable
@change="endLocationChange"
clearable
>
<el-option
v-for="item in workCenterOptions"
@ -69,12 +73,13 @@
placeholder="请选择终点区域"
filterable
style="margin-top: 5px"
clearable
>
<el-option v-for="item in regionData" :key="item" :label="item" :value="item" />
</el-select>
</el-form-item>
<el-form-item label="终点站点" prop="endStationCode" v-if="form.bindType == 'unbind'" required>
<el-input v-model="form.endStationCode" placeholder="请扫描箱条码" />
<el-input v-model="form.endStationCode" placeholder="请扫描箱条码" clearable/>
</el-form-item>
</el-form>

@ -80,7 +80,7 @@ export default {
changeCode() {
console.log('箱条码:', this.form.boxBarcode);
//
getQuantityLocation({ boxBarcode: this.form.boxBarcode }).then(res => {
getQuantityLocation({ boxBarcode: this.form.boxBarcode,isDetail:false }).then(res => {
this.formLoading = true;
this.boxBarInfo = res.data.data;
if (this.boxBarInfo.yieldOrderList !== null) {
@ -148,7 +148,7 @@ export default {
this.submitLoading = true;
try {
//
const res = await getQuantityLocation({ boxBarcode: this.form.boxBarcode });
const res = await getQuantityLocation({ boxBarcode: this.form.boxBarcode,isDetail:false });
this.boxBarInfo = res.data.data;
//

@ -5,31 +5,61 @@
<span style="color: #409eff; font-size: 14px">管理</span>
</div>
<div class="access_box">
<!-- { name: '工序接收', url: 'plan', page: '/zhgd-work/taskCope' },
<!-- { name: '工序接收', url: 'plan', page: '/zhgd-work/taskCope' },
{ name: '工序报工', url: 'rule', page: '/workReport/index' },
{ name: '工序检验', url: 'product', page: '/workCheck/index' },
{ name: '生产追溯维护', url: 'craft', page: '/retrospectDefend/index' },
{ name: '电子档案维护', url: 'quality', page: '/eleFilesEdit/index' }, -->
<div class="access_box_item" @click="turnPage('/zhgd-work/taskCope')" v-if="permission.wel_taskCope">
<div
class="access_box_item"
@click="turnPage('/dacangDispatch/index')"
v-if="permission.wel_orderReceipt"
>
<img src="@/assets/craft.png" alt="" />
<span>订单接收</span>
</div>
<div
class="access_box_item"
@click="turnPage('/zhgd-work/taskCope')"
v-if="permission.wel_taskCope"
>
<img src="@/assets/product.png" alt="" />
<span>工序接收</span>
</div>
<div class="access_box_item" @click="turnPage('/workReport/index')" v-if="permission.wel_workReport">
<div
class="access_box_item"
@click="turnPage('/workReport/index')"
v-if="permission.wel_workReport"
>
<img src="@/assets/plan.png" alt="" />
<span>工序报工</span>
</div>
<div class="access_box_item" @click="turnPage('/workCheck/index')" v-if="permission.wel_workCheck">
<div
class="access_box_item"
@click="turnPage('/workCheck/index')"
v-if="permission.wel_workCheck"
>
<img src="@/assets/rule.png" alt="" />
<span>工序检验</span>
</div>
<div class="access_box_item" @click="turnPage('/retrospectDefend/index')" v-if="permission.wel_retrospectDefend">
<div
class="access_box_item"
@click="turnPage('/retrospectDefend/index')"
v-if="permission.wel_retrospectDefend"
>
<img src="@/assets/output.png" alt="" />
<span>生产追溯维护</span>
<span>生产追溯</span>
</div>
<div class="access_box_item" @click="turnPage('/eleFilesEdit/index')" v-if="permission.wel_eleFilesEdit">
<div
class="access_box_item"
@click="turnPage('/eleFilesEdit/index')"
v-if="permission.wel_eleFilesEdit"
>
<img src="@/assets/craft.png" alt="" />
<span>电子档案维护</span>
<span>电子档案</span>
</div>
<!-- <div
class="access_box_item"
v-for="item in accessData"

@ -0,0 +1,87 @@
<template>
<basic-container>
<el-form label-width="100px" @submit.native.prevent>
<el-row>
<el-col :span="6" :offset="9">
<el-form-item label="流程卡号:">
<el-input
ref="cardNoFocus"
v-model="cardNo"
placeholder="请扫描流程卡号"
@keyup.enter.native="cardNoKeyUp"
/>
</el-form-item>
</el-col>
<el-col :span="6" :offset="9">
<el-form-item label="厂内生产:">
<el-switch v-model="mark" style="margin-top: 8px" />
</el-form-item>
</el-col>
</el-row>
</el-form>
<div style="width: 80%; margin: 0 auto 0">
<el-descriptions
:column="10"
title="派活信息"
class="margin-top"
style="margin: 0 auto 0"
border
></el-descriptions>
<el-table :data="tableData">
<el-table-column prop="date" label="工序号" align="center" />
<el-table-column prop="name" label="工序名称" align="center" />
<el-table-column prop="address" label="加工单位(作业中心/供应商)" align="center" />
</el-table>
</div>
</basic-container>
</template>
<script>
import { yieldOrderConfirm } from '@/api/zhgd-work/dacangDispatch.js';
export default {
data() {
return {
cardNo: '',
makeTeam: '',
mark: false,
isAxios: true,
tableData: [],
};
},
mounted() {},
methods: {
cardNoKeyUp() {
if (!this.cardNo) return;
if (this.isAxios) {
this.getDataFun();
}
},
getDataFun() {
this.isAxios = false;
let query = {
cardNo: this.cardNo,
mark: this.mark ? 1 : 0,
};
yieldOrderConfirm(query).then(res => {
console.log(9898989, res);
let data = res.data.data;
});
// this.$ajax
// .get('pdaLoad/loadBigWmsSend/' + this.cardNo + '/' + this.mark)
// .then(res => {
// if (this.$ifAjax(res)) {
// this.makeTeam = res.data;
// this.$message.success(this.$t('workbench.releaseSuccess'));
// }
// this.cardNo = '';
// this.isAxios = true;
// })
// .catch(() => {
// this.isAxios = true;
// });
},
},
};
</script>
<style lang="scss" scoped>
</style>
Loading…
Cancel
Save