fix:车间设置中的负责人改为弹出框选择用户。同步更新物料详情页(form.vue)中的批次信息。部门管理前端支持编辑编码。

This commit is contained in:
zhangxuanming 2025-02-06 11:35:56 +08:00
parent 583d03b2f8
commit 600f118b64
3 changed files with 113 additions and 3 deletions

View File

@ -156,7 +156,9 @@
<el-tab-pane label="BOM组成">
<ItemBom :optType="optType" :itemId="form.itemId"></ItemBom>
</el-tab-pane>
<el-tab-pane v-if="form.batchFlag =='Y'" label="批次属性"></el-tab-pane>
<el-tab-pane v-if="form.batchFlag =='Y'" label="批次属性">
<BatchConfig :itemId="form.itemId" :optType="optType"></BatchConfig>
</el-tab-pane>
<el-tab-pane label="替代品"></el-tab-pane>
<el-tab-pane label="SIP">
<SIPTab :itemId="form.itemId" :optType="optType"></SIPTab>
@ -174,6 +176,7 @@ import BarcodeImg from "@/components/barcodeImg/index.vue";
import SIPTab from "@/views/mes/md/mditem/components/sip.vue";
import ItemBom from "@/views/mes/md/mditem/components/itembom.vue";
import Treeselect from "@riophae/vue-treeselect";
import BatchConfig from "./components/batch.vue";
import {genCode} from "@/api/system/autocode/rule";
import {listAllUnitmeasure} from "@/api/mes/md/unitmeasure";
import {treeselect} from "@/api/mes/md/itemtype";
@ -181,7 +184,7 @@ import {getMdItem} from "@/api/mes/md/mdItem";
export default {
name: "itemForm",
components: {ItemBom, SIPTab, Treeselect, BarcodeImg, SOPTab},
components: {ItemBom, SIPTab, Treeselect, BarcodeImg, SOPTab, BatchConfig},
dicts: ['sys_yes_no','mes_item_product'],
data() {
return {

View File

@ -146,7 +146,7 @@
<el-row>
<el-col :span="24">
<el-form-item label="负责人" prop="charge">
<el-input v-model="form.charge" placeholder="请输入负责人" />
<el-input v-model="form.charge" readonly @click.native="handleCharge" placeholder="请输入负责人" />
</el-form-item>
</el-col>
</el-row>
@ -188,6 +188,40 @@
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
<!-- 选择 -->
<el-dialog :title="userTitle" :visible.sync="userOpen" width="960px" @close="cacelUser" append-to-body>
<el-table
ref="singleTable"
v-loading="loading"
:data="userList"
highlight-current-row
@current-change="handleCurrentChange">
<el-table-column label="用户编号" align="center" key="userId" prop="userId" />
<el-table-column label="用户名称" align="center" key="userName" prop="userName" :show-overflow-tooltip="true" />
<el-table-column label="用户昵称" align="center" key="nickName" prop="nickName" :show-overflow-tooltip="true" />
<el-table-column label="部门" align="center" key="deptName" prop="dept.deptName" :show-overflow-tooltip="true" />
<el-table-column label="手机号码" align="center" key="phonenumber" prop="phonenumber" width="120" />
<el-table-column label="状态" align="center" key="status" />
<el-table-column label="创建时间" align="center" prop="createTime" width="160">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
</el-table>
<pagination
v-show="userTotal>0"
:total="userTotal"
:page.sync="userQuery.pageNum"
:limit.sync="userQuery.pageSize"
@pagination="getUserList"
/>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm" v-if="optType !='view'"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
@ -196,16 +230,22 @@ import { listWorkshop, getWorkshop, delWorkshop, addWorkshop, updateWorkshop } f
import {genCode} from "@/api/system/autocode/rule"
import BarcodeImg from "@/components/barcodeImg/index.vue"
import {getBarcodeUrl} from "@/api/mes/wm/barcode";
import {listUser} from "@/api/system/user";
export default {
components:{BarcodeImg},
name: "Workshop",
dicts: ['sys_yes_no'],
data() {
return {
userTotal: 0,
userTitle: '用户选择',
userOpen: false,
autoGenFlag:false,
optType: undefined,
//
loading: true,
//
userList: [],
//
ids: [],
//
@ -260,6 +300,10 @@ export default {
remark: [
{ max: 250, message: '长度必须小于250个字符', trigger: 'blur' }
]
},
userQuery: {
pageNum: 1,
pageSize: 10,
}
};
},
@ -267,6 +311,35 @@ export default {
this.getList();
},
methods: {
cacelUser(row) {
this.$refs.singleTable.setCurrentRow(row);
this.userOpen = false
},
/** 选择用户 */
handleCurrentChange(val) {
if (val) {
this.form.charge = val.nickName
this.form.chargeId = val.userId
this.cacelUser()
}
},
/** 点击负责人输入框 */
handleCharge() {
this.userOpen = true
this.userQuery.pageNum = 1
this.userQuery.pageSize = 10
this.getUserList()
},
/** 查询用户列表 */
getUserList() {
this.loading = true;
listUser(this.userQuery, this.dateRange).then(response => {
this.userList = response.rows;
this.userTotal = response.total;
this.loading = false;
}
);
},
/** 查询车间列表 */
getList() {
this.loading = true;

View File

@ -100,6 +100,22 @@
<!-- 添加或修改部门对话框 -->
<el-dialog :title="title" :visible.sync="open" width="600px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-row>
<el-col :span="16">
<el-form-item label="部门编码" prop="deptCode">
<el-input v-model="form.deptCode" placeholder="请输入部门编码" maxlength="64"/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label-width="80">
<el-switch v-model="autoGenFlag"
active-color="#13ce66"
active-text="自动生成"
@change="handleAutoGenChange(autoGenFlag)">
</el-switch>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24" v-if="form.parentId !== 0">
<el-form-item label="上级部门" prop="parentId">
@ -162,6 +178,7 @@
import { listDept, getDept, delDept, addDept, updateDept, listDeptExcludeChild } from "@/api/system/dept";
import Treeselect from "@riophae/vue-treeselect";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
import {genCode} from "@/api/system/autocode/rule";
export default {
name: "Dept",
@ -169,6 +186,8 @@ export default {
components: { Treeselect },
data() {
return {
//
autoGenFlag: false,
//
loading: true,
//
@ -200,6 +219,9 @@ export default {
deptName: [
{ required: true, message: "部门名称不能为空", trigger: "blur" }
],
deptCode: [
{ required: true, message: "部门编码不能为空", trigger: "blur" }
],
orderNum: [
{ required: true, message: "显示排序不能为空", trigger: "blur" }
],
@ -224,6 +246,16 @@ export default {
this.getList();
},
methods: {
//
handleAutoGenChange(autoGenFlag){
if(autoGenFlag){
genCode('DEPT_CODE').then(response =>{
this.form.deptCode = response;
});
}else{
this.form.deptCode = null;
}
},
/** 查询部门列表 */
getList() {
this.loading = true;
@ -253,6 +285,7 @@ export default {
//
reset() {
this.form = {
deptCode: undefined,
deptId: undefined,
parentId: undefined,
deptName: undefined,
@ -262,6 +295,7 @@ export default {
email: undefined,
status: "0"
};
this.autoGenFlag = false;
this.resetForm("form");
},
/** 搜索按钮操作 */