质量管理检验项目维护 新增:类型下拉框右侧显示不全

新增、编辑:类型、额定工时非必填
dev-scheduling
姜雪 3 weeks ago
parent 87f4026966
commit 820a66af07
  1. 11
      src/api/basicData/calculationFormula.js
  2. 45
      src/views/basicData/calculationFormula/tankDosing.vue
  3. 46
      src/views/basicData/calculationFormula/theoreticalValue.vue
  4. 2
      src/views/exemption/index.vue
  5. 70
      src/views/productionTesting/components/trialItem.vue

@ -40,3 +40,14 @@ export const getSelectFormula = (params) =>
method: 'get', method: 'get',
params params
}) })
export const userListpage = (current, size, params) => {
return request({
url: '/blade-system/user/userListByRaise',
method: 'get',
params: {
...params,
current,
size,
},
});
};

@ -46,7 +46,7 @@
<script> <script>
import addEditDosing from "./components/addEditDosing.vue"; import addEditDosing from "./components/addEditDosing.vue";
import workCenterSet from "./components/workCenterSet.vue"; import workCenterSet from "./components/workCenterSet.vue";
import {getList,addFormula,deleteFormula} from "@/api/basicData/calculationFormula" import {getList,addFormula,deleteFormula,userListpage} from "@/api/basicData/calculationFormula"
export default { export default {
components: { components: {
addEditDosing, addEditDosing,
@ -57,6 +57,8 @@ export default {
selectionList: [], selectionList: [],
loading:false, loading:false,
query:{}, query:{},
userListData: [],
userListLoaded: false,
option: { option: {
height: "auto", height: "auto",
calcHeight: 32, calcHeight: 32,
@ -123,12 +125,15 @@ export default {
}, },
{ {
label: "操作人", label: "操作人",
prop: "updateUserName", prop: "updateUser",
sortable: true, sortable: true,
filter: true, filter: true,
span: 24, span: 24,
search: false, search: false,
display: true, display: true,
formatter: (row) => {
return this.userMapObj[row.updateUser] || row.updateUser || '-';
},
}, },
{ {
label: "更新时间", label: "更新时间",
@ -152,7 +157,37 @@ export default {
isWorkOpen: false, isWorkOpen: false,
}; };
}, },
computed: {
userMapObj() {
const map = {};
this.userListData.forEach(user => {
map[user.value] = user.label;
map[String(user.value)] = user.label;
map[Number(user.value)] = user.label;
});
return map;
},
},
methods: { methods: {
loadUserList() {
return new Promise((resolve) => {
userListpage(1, 99999).then(res => {
if (res.data.code == 200) {
const users = res.data.data;
this.userListData = users.map(user => ({
label: user.realName || user.name,
value: String(user.id)
}));
this.userListLoaded = true;
}
resolve();
}).catch(error => {
console.error('获取用户列表失败', error);
resolve();
});
});
},
addEdit() { addEdit() {
this.checkRow = {}; this.checkRow = {};
this.isOpen = true; this.isOpen = true;
@ -256,8 +291,12 @@ export default {
selectionChange(list) { selectionChange(list) {
this.selectionList = list; this.selectionList = list;
}, },
onLoad() { async onLoad() {
this.loading = true; this.loading = true;
//
if (!this.userListLoaded) {
await this.loadUserList();
}
getList({ getList({
current:this.page.currentPage, current:this.page.currentPage,
size:this.page.pageSize, size:this.page.pageSize,

@ -33,7 +33,7 @@
<script> <script>
import addEditDosing from './components/addEditDosing.vue' import addEditDosing from './components/addEditDosing.vue'
import workCenterSet from './components/workCenterSet.vue' import workCenterSet from './components/workCenterSet.vue'
import {getList,deleteFormula} from "@/api/basicData/calculationFormula" import {getList,deleteFormula,userListpage} from "@/api/basicData/calculationFormula"
export default { export default {
components: { components: {
addEditDosing, addEditDosing,
@ -44,6 +44,8 @@ export default {
selectionList: [], selectionList: [],
loading: false, loading: false,
query: {}, query: {},
userListData: [],
userListLoaded: false,
option: { option: {
height: 'auto', height: 'auto',
calcHeight: 32, calcHeight: 32,
@ -111,16 +113,19 @@ export default {
}, },
{ {
label: '操作人', label: '操作人',
prop: 'subName', prop: 'updateUser',
sortable: true, sortable: true,
filter: true, filter: true,
span: 24, span: 24,
search: false, search: false,
display: true, display: true,
formatter: (row) => {
return this.userMapObj[row.updateUser] || row.updateUser || '-';
},
}, },
{ {
label: '更新时间', label: '更新时间',
prop: 'subName', prop: 'updateTime',
sortable: true, sortable: true,
filter: true, filter: true,
span: 24, span: 24,
@ -142,7 +147,36 @@ export default {
checkRow:{} checkRow:{}
} }
}, },
computed: {
userMapObj() {
const map = {};
this.userListData.forEach(user => {
map[user.value] = user.label;
map[String(user.value)] = user.label;
map[Number(user.value)] = user.label;
});
return map;
},
},
methods: { methods: {
loadUserList() {
return new Promise((resolve) => {
userListpage(1, 99999).then(res => {
if (res.data.code == 200) {
const users = res.data.data;
this.userListData = users.map(user => ({
label: user.realName || user.name,
value: String(user.id)
}));
this.userListLoaded = true;
}
resolve();
}).catch(error => {
console.error('获取用户列表失败', error);
resolve();
});
});
},
addEdit() { addEdit() {
this.checkRow = {} this.checkRow = {}
this.isOpen = true this.isOpen = true
@ -247,8 +281,12 @@ export default {
selectionChange(list) { selectionChange(list) {
this.selectionList = list; this.selectionList = list;
}, },
onLoad() { async onLoad() {
this.loading = true this.loading = true
//
if (!this.userListLoaded) {
await this.loadUserList();
}
getList({ getList({
current:this.page.currentPage, current:this.page.currentPage,
size:this.page.pageSize, size:this.page.pageSize,

@ -267,9 +267,7 @@ export default {
}, },
methods: { methods: {
loadUserList(page, params = {}) { loadUserList(page, params = {}) {
console.log(1213999999999999999999999999999999999999999);
userList(page.currentPage, page.pageSize).then(res => { userList(page.currentPage, page.pageSize).then(res => {
if (res.data.code == 200) { if (res.data.code == 200) {
const users = res.data.data; const users = res.data.data;

@ -1,7 +1,6 @@
<template> <template>
<div> <div class="trial-item-container">
<avue-crud <avue-crud
:height="460"
:option="option" :option="option"
v-model:search="search" v-model:search="search"
:table-loading="loading" :table-loading="loading"
@ -52,9 +51,9 @@
<el-input v-model="scope.row.standardWorkMinute"></el-input> <el-input v-model="scope.row.standardWorkMinute"></el-input>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="类型" prop="itemType"> <el-table-column label="类型" prop="itemType" width="280">
<template #default="scope"> <template #default="scope">
<el-select v-model="scope.row.itemType" placeholder="请选择" style="width: 240px"> <el-select v-model="scope.row.itemType" placeholder="请选择" style="width: 100%" teleported>
<el-option <el-option
v-for="item in typeList" v-for="item in typeList"
:key="item.id" :key="item.id"
@ -107,7 +106,8 @@ export default {
align: 'center', align: 'center',
height: 'auto', height: 'auto',
searchLabelWidth: 120, searchLabelWidth: 120,
simplePage: true, simplePage: false,
pagination: true,
searchShow: true, searchShow: true,
searchMenuSpan: 6, searchMenuSpan: 6,
searchIcon: true, searchIcon: true,
@ -185,19 +185,15 @@ export default {
type: 'select', type: 'select',
dicUrl: '/blade-system/dict/dictionary?code=InspectionItem-ItemType', dicUrl: '/blade-system/dict/dictionary?code=InspectionItem-ItemType',
props: { label: 'dictValue', value: 'dictKey' }, props: { label: 'dictValue', value: 'dictKey' },
// dicData:[ formatter: (row, value) => {
// { if (value === 0 || value === '0') {
// label:'', return '';
// value:1 }
// }, return value;
// { },
// label:'',
// value:2
// },
// ],
rules: [ rules: [
{ {
required: true, required: false,
message: '请输入名称', message: '请输入名称',
trigger: 'click', trigger: 'click',
}, },
@ -211,9 +207,15 @@ export default {
span: 24, span: 24,
search: true, search: true,
searchLabelWidth: 50, searchLabelWidth: 50,
formatter: (row, value) => {
if (value === -1 || value === '-1') {
return '';
}
return value;
},
rules: [ rules: [
{ {
required: true, required: false,
message: '请输入名称', message: '请输入名称',
trigger: 'click', trigger: 'click',
}, },
@ -253,9 +255,11 @@ export default {
}, },
currentChange(currentPage) { currentChange(currentPage) {
this.page.currentPage = currentPage; this.page.currentPage = currentPage;
this.onLoad();
}, },
sizeChange(pageSize) { sizeChange(pageSize) {
this.page.pageSize = pageSize; this.page.pageSize = pageSize;
this.onLoad();
}, },
refreshChange() { refreshChange() {
this.onLoad(); this.onLoad();
@ -284,8 +288,18 @@ export default {
}, },
handleEdit(row, index) { handleEdit(row, index) {
getDetail({ id: row.id }).then(res => { getDetail({ id: row.id }).then(res => {
res.data.data.itemType = res.data.data.itemType + ''; const data = res.data.data;
this.$refs.crud.rowEdit(res.data.data, index); // 0
if (data.itemType === 0 || data.itemType === '0') {
data.itemType = '';
} else if (data.itemType !== null && data.itemType !== undefined && data.itemType !== '') {
data.itemType = String(data.itemType);
}
// -1
if (data.standardWorkMinute === -1 || data.standardWorkMinute === '-1') {
data.standardWorkMinute = '';
}
this.$refs.crud.rowEdit(data, index);
}); });
}, },
rowUpdate(form, index, done, loading) { rowUpdate(form, index, done, loading) {
@ -301,7 +315,7 @@ export default {
if (this.tidList.length == 0) { if (this.tidList.length == 0) {
this.$message.error('请至少填写一条数据'); this.$message.error('请至少填写一条数据');
} else { } else {
let tmp = this.tidList.find(item => !item.code || !item.name || !item.itemType); let tmp = this.tidList.find(item => !item.code || !item.name);
if (tmp) { if (tmp) {
this.$message.error('数据请填写完整!'); this.$message.error('数据请填写完整!');
} else { } else {
@ -349,4 +363,18 @@ export default {
}; };
</script> </script>
<style></style> <style scoped>
.trial-item-container {
height: calc(100vh - 200px);
overflow-y: auto;
}
.trial-item-container :deep(.avue-crud__pagination) {
position: relative;
margin-top: 10px;
padding-bottom: 10px;
}
.trial-item-container :deep(.el-table) {
/* max-height: none !important; */
height: 300px !important;
}
</style>

Loading…
Cancel
Save