Merge branch 'dev-scheduling' of http://42.192.7.176:3000/suojin/jonhon-mes-web into dev-scheduling

dev-scheduling
zhangdi 4 months ago
commit 4450c943f5
  1. 47
      src/api/equiptManagement/equipmentLedger.js
  2. 64
      src/api/equiptManagement/recorderList.js
  3. 75
      src/api/equiptManagement/workwearManagement.js
  4. 9
      src/api/qualityManagement/inspectionArchiving/auditFile.js
  5. 10
      src/api/qualityManagement/productionTesting/productionQuality.js
  6. 6
      src/axios.js
  7. 17
      src/views/equiptManagement/equipmentLedger/formIp.vue
  8. 328
      src/views/equiptManagement/equipmentLedger/index.vue
  9. 208
      src/views/equiptManagement/workwearManagement/columnData.js
  10. 258
      src/views/equiptManagement/workwearManagement/index.vue
  11. 7
      src/views/orderManagement/components/mold/addMoldDailog.vue
  12. 2
      src/views/periodicTesting/components/addTestProjectDialog.vue
  13. 2
      src/views/periodicTesting/components/viewDialog.vue
  14. 47
      src/views/periodicTesting/projectCycle.vue
  15. 5
      src/views/periodicTesting/testTask.vue
  16. 73
      src/views/productionDisposition/hearingDialog.vue
  17. 11
      src/views/productionDisposition/patternDialog.vue
  18. 5617
      src/views/productionTesting/components/sametankView.vue
  19. 38585
      src/views/productionTesting/productionQuality.vue
  20. 87
      src/views/qualityManagement/inspectionArchiving/auditFile/index.vue
  21. 92
      src/views/qualityManagement/inspectionArchiving/rbFilePreserve/index.vue
  22. 2
      src/views/qualityManagement/inspectionArchiving/rbFilePreserve/templatePreserve.vue
  23. 26
      src/views/qualityManagement/reviewFormMess/index.vue
  24. 215
      src/views/qualityManagement/reviewFormMess/options.js
  25. 1040
      src/views/recorderList/index.vue

@ -0,0 +1,47 @@
import request from '@/axios';
// 获取设备列表
export const getList = (params) => {
return request({
url: '/api/blade-desk/equipment/page',
method: 'get',
params
});
};
// 新增设备
export const addDevice = (data) => {
return request({
url: '/api/blade-desk/equipment/save',
method: 'post',
data
});
};
// 修改设备
export const editDevice = (data) =>{
return request({
url:'/api/blade-desk/equipment/update',
method:'post',
data
})
}
// 设备详情
export const getDetail = (params) =>{
return request({
url:'/api/blade-desk/equipment/detail',
method:'get',
params
})
}
// 删除设备
export const deleteDevice = (params) =>{
return request({
url:'/api/blade-desk/equipment/remove',
method:'post',
params
})
}

@ -0,0 +1,64 @@
import request from '@/axios';
// 获取记录仪列表
export const getRecorderList = (params) =>{
return request({
url: '/api/blade-desk/recorderType/page',
method: 'get',
params
});
}
// 记录仪新增
export const addRecorder = (data) =>{
return request({
url: '/api/blade-desk/recorderType/save',
method: 'post',
data
});
}
// 记录仪修改
export const updateRecorder = (data) =>{
return request({
url: '/api/blade-desk/recorderType/update',
method: 'post',
data
});
}
// 记录仪删除
export const deleteRecorder = (params) =>{
return request({
url: '/api/blade-desk/recorderType/remove',
method: 'post',
params
});
}
// 记录仪明细
export const getRecorderDetail = (params) =>{
return request({
url: '/api/blade-desk/recorderType/detail',
method: 'get',
params
});
}
// 打包周期新增
export const addpackCycle = (data) =>{
return request({
url: '/api/blade-desk/packCycle/save',
method: 'post',
data
});
}
// 打包周期详情
export const getpackCycleDetail = (params) =>{
return request({
url: '/api/blade-desk/packCycle/detail',
method: 'get',
params
});
}

@ -0,0 +1,75 @@
import request from '@/axios';
// 获取飞靶列表
export const getFeiBaSetList = (params) => {
return request({
url: '/api/blade-desk/feiBaSet/page',
method: 'get',
params,
});
}
// 新增飞靶
export const addFeiBaSet = (data) => {
return request({
url: '/api/blade-desk/feiBaSet/save',
method: 'post',
data,
});
}
// 编辑飞靶
export const editFeiBaSet = (data) => {
return request({
url: '/api/blade-desk/feiBaSet/update',
method: 'post',
data,
});
}
// 删除飞靶
export const deleteFeiba = (params) =>{
return request({
url:'/api/blade-desk/feiBaSet/remove',
method:'post',
params
})
}
// 挂具列表
export const getRackSetList = (params) =>{
return request({
url:'/api/blade-desk/rackSet/page',
method:'get',
params
})
}
// 新增挂具
export const addRackSet = (data) =>{
return request({
url:'/api/blade-desk/rackSet/save',
method:'post',
data,
});
}
// 修改挂具
export const editRackSet = (data) =>{
return request({
url:'/api/blade-desk/rackSet/update',
method:'post',
data
})
}
// 删除挂具
export const deleteRackSet = (params) =>{
return request({
url:'/api/blade-desk/rackSet/remove',
method:'post',
params
})
}
// 获取状态

@ -26,3 +26,12 @@ export const deleteFile = (params) =>{
params params
}) })
} }
// 升版
export const upgradeFile = (data) =>{
return request({
url:"/api/blade-desk/QA/AuditFile/upgradeVer",
method:"post",
data
})
}

@ -0,0 +1,10 @@
import request from '@/axios';
// 获取主加工单位-供应商下拉列表
export const getSupplierList = (params) => {
return request({
url: '/api/blade-desk/BA/Oem/listForSelect',
method: 'get',
params
});
};

@ -114,9 +114,9 @@ axios.interceptors.response.use(
const statusWhiteList = website.statusWhiteList || []; const statusWhiteList = website.statusWhiteList || [];
const message = res.data.msg || res.data.error_description || '系统错误'; const message = res.data.msg || res.data.error_description || '系统错误';
//防止项目中使用res.code接入的判断 //防止项目中使用res.code接入的判断
if (code) { // if (code) {
res.code = code; // res.code = code;
} // }
//如果在白名单里则自行catch逻辑处理 //如果在白名单里则自行catch逻辑处理
if (statusWhiteList.includes(status)) return Promise.reject(res); if (statusWhiteList.includes(status)) return Promise.reject(res);

@ -1,6 +1,6 @@
<template> <template>
<el-dialog title="修改" v-model="setCrewShow" :before-close="cancel" width="500px" @open="open"> <el-dialog title="修改" v-model="setCrewShow" :before-close="cancel" width="500px" @open="open">
<avue-form :option="option"></avue-form> <avue-form :option="option" v-model="formData" ref="form"></avue-form>
<!-- <el-form ref="form" :model="formData" class="vd-form" label-width="100px" size="mini"> <!-- <el-form ref="form" :model="formData" class="vd-form" label-width="100px" size="mini">
<el-form-item :label="$t('equipment.deviceIp')" prop="deviceIp"> <el-form-item :label="$t('equipment.deviceIp')" prop="deviceIp">
<el-input v-model="formData.deviceIp" /> <el-input v-model="formData.deviceIp" />
@ -19,6 +19,7 @@
</el-dialog> </el-dialog>
</template> </template>
<script> <script>
import {editDevice} from "@/api/equiptManagement/equipmentLedger"
export default { export default {
props: { props: {
showIp: { showIp: {
@ -65,7 +66,19 @@ export default {
// } // }
}, },
submit() { submit() {
this.setCrewShow = false this.$refs.form.validate((valid, done, msg) => {
editDevice({
id:this.ecId,
deviceIp:this.formData.deviceIp
}).then(res =>{
if(res.data.code == 200){
this.$message.success('修改成功');
this.cancel(true);
}
})
})
// this.setCrewShow = false
// this.$ajax.post('equipmentCard/addOrEdit', this.formData).then((res) => { // this.$ajax.post('equipmentCard/addOrEdit', this.formData).then((res) => {
// if (this.$ifAjax(res)) { // if (this.$ifAjax(res)) {
// this.$message.success(this.$t('videaVueLib.publics.message.success')); // this.$message.success(this.$t('videaVueLib.publics.message.success'));

@ -6,8 +6,14 @@
:data="data" :data="data"
v-model="form" v-model="form"
v-model:page="page" v-model:page="page"
:before-open="beforeOpen"
ref="crud" ref="crud"
@row-del="rowDel" @row-del="rowDel"
:upload-after="uploadAfter"
:upload-exceed="uploadExceed"
:upload-delete="uploadDelete"
@row-save="rowSave"
@row-update="rowUpdate"
@search-change="searchChange" @search-change="searchChange"
@search-reset="searchReset" @search-reset="searchReset"
@selection-change="selectionChange" @selection-change="selectionChange"
@ -20,11 +26,11 @@
<template #menu-right="{ size }"> </template> <template #menu-right="{ size }"> </template>
<template #menu="scope"> <template #menu="scope">
<el-button type="primary" link @click="editIP(scope.row.ecId)">修改IP</el-button> <el-button type="primary" link @click="editIP(scope.row)">修改IP</el-button>
</template> </template>
<template #virtualMac="scope"> <template #virtualMac="scope">
<span> <span>
{{ scope.row.virtualMac ? "是" : "否" }} {{ scope.row.virtualMac == 1 ? "是" : "否" }}
</span> </span>
</template> </template>
<template #virtualMac-form="{ type, disabled }"> <template #virtualMac-form="{ type, disabled }">
@ -49,6 +55,7 @@
</template> </template>
<script> <script>
import { getLazyList, remove, update, add, getMenu } from "@/api/system/menu"; import { getLazyList, remove, update, add, getMenu } from "@/api/system/menu";
import { getList,addDevice,editDevice,getDetail,deleteDevice } from "@/api/equiptManagement/equipmentLedger"
import { mapGetters } from "vuex"; import { mapGetters } from "vuex";
import { import {
@ -124,7 +131,7 @@ export default {
rules: [ rules: [
{ {
required: true, required: true,
message: "请输入名称分类", message: "请输入设备编码",
trigger: "blur", trigger: "blur",
}, },
], ],
@ -137,23 +144,26 @@ export default {
rules: [ rules: [
{ {
required: true, required: true,
message: "请选择镀种分类", message: "请选择设备名称",
trigger: "click", trigger: "click",
}, },
], ],
width: 200,
}, },
{ {
label: "设备分类", label: "设备分类",
prop: "categorys", prop: "category",
sortable: true, sortable: true,
search: true, search: true,
rules: [ addDisplay:false,
{ editDisplay:false,
required: true, // rules: [
message: "请选择镀种分类", // {
trigger: "click", // required: true,
}, // message: "",
], // trigger: "click",
// },
// ],
}, },
{ {
label: "类别名称", label: "类别名称",
@ -163,14 +173,16 @@ export default {
rules: [ rules: [
{ {
required: true, required: true,
message: "请选择镀种分类", message: "请选择类别名称",
trigger: "click", trigger: "click",
}, },
], ],
width:200,
overHidden: true,
}, },
{ {
label: "服役状态", label: "服役状态",
prop: "usedText", prop: "used",
sortable: true, sortable: true,
search: true, search: true,
type: "select", type: "select",
@ -180,7 +192,7 @@ export default {
value: 1, value: 1,
}, },
{ {
label: "停服役", label: "停服役",
value: 2, value: 2,
}, },
], ],
@ -217,6 +229,8 @@ export default {
prop: "deviceIp", prop: "deviceIp",
sortable: true, sortable: true,
search: false, search: false,
addDisplay:false,
editDisplay:false,
rules: [ rules: [
{ {
required: true, required: true,
@ -239,7 +253,7 @@ export default {
}, },
{ {
label: "否", label: "否",
value: 2, value: 0,
}, },
], ],
}, },
@ -256,15 +270,16 @@ export default {
}, },
{ {
label: "设备仿真图", label: "设备仿真图",
prop: "imgUrl", prop: "attachLink",
listType: "picture-card", listType: "picture-card",
type: "upload", type: "upload",
span: 24, span: 24,
limit: 1, limit: 1,
fileSize: 10000, fileSize: 10000,
action: "", action: "/api/blade-resource/oss/endpoint/put-file-attach",
hide: true, hide: true,
tip: "只能上传 image/gif,image/jpeg,image/jpg,image/png 附件,且不超过 10M", tip: "只能上传 image/gif,image/jpeg,image/jpg,image/png 附件,且不超过 10M",
accept: 'image/png, image/jpeg,image/gif,image/jpg',
}, },
], ],
}, },
@ -290,15 +305,15 @@ export default {
}, },
}, },
methods: { methods: {
editIP(ecId) { editIP(row) {
this.ecId = ecId; this.ecId = row.id;
this.showIp = true; this.showIp = true;
}, },
cancel(isRefresh) { cancel(isRefresh) {
this.showIp = false; this.showIp = false;
this.isOpen = false; this.isOpen = false;
if (isRefresh) { if (isRefresh) {
this.refresh(); this.refreshChange();
} }
}, },
// //
@ -314,12 +329,6 @@ export default {
} }
this.setCrewOpen = false; this.setCrewOpen = false;
}, },
initData() {
// getMenuTree().then(res => {
// const column = this.findObject(this.option.column, 'parentId');
// column.dicData = res.data.data;
// });
},
handleAdd(row) { handleAdd(row) {
this.parentId = row.id; this.parentId = row.id;
const column = this.findObject(this.option.column, "parentId"); const column = this.findObject(this.option.column, "parentId");
@ -329,58 +338,67 @@ export default {
}, },
// //
rowSave(row, done, loading) { rowSave(row, done, loading) {
// add(row).then( let params = {
// res => { deviceCode: row.deviceCode,
// // deviceName: row.deviceName,
// const data = res.data.data; macSpec: row.macSpec,
// row.id = data.id; memo: row.memo,
// this.$message({ rfId: row.rfId,
// type: 'success', typeName: row.typeName,
// message: '!', used: row.used,
// }); virtualMac: row.virtualMac ? 1 : 0,
// // attachLink:row.attachLink.length > 0 ? row.attachLink[0] : ''
// done(row); }
// }, addDevice(params).then(res => {
// error => { if(res.data.code == 200){
// window.console.log(error); this.$message.success('新增成功')
// loading(); done(row)
// } this.onLoad()
// ); }else{
this.$message.error(res.data.message)
}
})
}, },
// //
rowUpdate(row, index, done, loading) { rowUpdate(row, index, done, loading) {
// update(row).then( let params = {
// () => { id:row.id,
// this.$message({ deviceCode: row.deviceCode,
// type: 'success', deviceName: row.deviceName,
// message: '!', macSpec: row.macSpec,
// }); memo: row.memo,
// // rfId: row.rfId,
// done(row); typeName: row.typeName,
// }, used: row.used,
// error => { virtualMac: row.virtualMac ? 1 : 0,
// window.console.log(error); attachLink:row.attachLink.length > 0 ? row.attachLink[0] : ''
// loading(); }
// } editDevice(params).then(res => {
// ); if(res.data.code == 200){
this.$message.success('修改成功')
done()
this.onLoad()
}else{
this.$message.error(res.data.message)
done()
}
})
}, },
rowDel(row, index, done) { rowDel(row, index, done) {
this.$confirm("确定将选择数据删除?", { this.$confirm("确定将选择数据删除?", {
confirmButtonText: "确定", confirmButtonText: "确定",
cancelButtonText: "取消", cancelButtonText: "取消",
type: "warning", type: "warning",
}).then(() => {
deleteDevice({ids:row.id}).then(res =>{
if(res.data.code == 200){
this.$message.success('删除成功')
done()
this.onLoad()
}
}) })
.then(() => {
return remove(row.id);
}) })
.then(() => {
this.$message({
type: "success",
message: "操作成功!",
});
//
done(row);
});
}, },
// //
searchReset() { searchReset() {
@ -407,21 +425,27 @@ export default {
}, },
// beforeOpen // beforeOpen
beforeOpen(done, type) { beforeOpen(done, type) {
if (["add", "edit"].includes(type)) {
this.initData();
}
if (["edit", "view"].includes(type)) { if (["edit", "view"].includes(type)) {
getMenu(this.form.id).then((res) => { getDetail({id:this.form.id}).then(res =>{
this.form = Object.assign(res.data.data, { this.form = res.data.data
hasChildren: this.form.hasChildren, this.form.virtualMac = this.form.virtualMac == 1 ? true : false
}); })
if (this.form.parentId === "0") {
this.form.parentId = "";
}
});
} }
done(); done();
}, },
uploadAfter(res, done, loading, column){
console.log('res-----------------',res)
console.log('attachLink-----------------',this.form.attachLink)
this.form.attachLink = [res.data.link]
done()
},
uploadDelete(file, column){
console.log('uploadDelete-----------------')
this.form.attachLink = []
},
uploadExceed(limit, files, fileList, column){
this.$message.error('最多只能上传一个文件')
},
// beforeClose // beforeClose
beforeClose(done) { beforeClose(done) {
this.parentId = ""; this.parentId = "";
@ -445,75 +469,83 @@ export default {
// //
onLoad(page, params = {}) { onLoad(page, params = {}) {
this.loading = true; this.loading = true;
getList({
getLazyList(this.parentId, Object.assign(params, this.query)).then((res) => { current:this.page.currentPage,
// this.data = res.data.data; size:this.page.pageSize,
this.data = [ ...this.query
{ }).then(res =>{
bindQty: 4, this.data = res.data.data.records
categorys: "产线设备", this.page.total = res.data.data.total
deviceCode: "9652247", this.loading = false
deviceIp: "192.168.43.179", })
deviceName: "化学镀镍", // getLazyList(this.parentId, Object.assign(params, this.query)).then((res) => {
docking: true, // // this.data = res.data.data;
ecId: 1, // this.data = [
keyValue: 1, // {
macCode: "9652247", // bindQty: 4,
macSpec: null, // categorys: "线",
memo: null, // deviceCode: "9652247",
rfId: "SYM-HCP-L4", // deviceIp: "192.168.43.179",
status: true, // deviceName: "",
typeName: "9652247", // docking: true,
updateTime: null, // ecId: 1,
used: 1, // keyValue: 1,
usedText: "正常服役", // macCode: "9652247",
virtualMac: true, // macSpec: null,
}, // memo: null,
{ // rfId: "SYM-HCP-L4",
bindQty: 0, // status: true,
categorys: "产线设备", // typeName: "9652247",
deviceCode: "9565251", // updateTime: null,
deviceIp: null, // used: 1,
deviceName: "9565251", // usedText: "",
docking: true, // virtualMac: true,
ecId: 21, // },
keyValue: 21, // {
macCode: "9565251", // bindQty: 0,
macSpec: null, // categorys: "线",
memo: null, // deviceCode: "9565251",
rfId: "111", // deviceIp: null,
status: false, // deviceName: "9565251",
typeName: "9565251", // docking: true,
updateTime: null, // ecId: 21,
used: 3, // keyValue: 21,
usedText: "暂停服役", // macCode: "9565251",
virtualMac: false, // macSpec: null,
}, // memo: null,
{ // rfId: "111",
bindQty: 0, // status: false,
categorys: "产线设备", // typeName: "9565251",
deviceCode: "9651041_1", // updateTime: null,
deviceIp: null, // used: 3,
deviceName: "9651041_1", // usedText: "",
docking: true, // virtualMac: false,
ecId: 22, // },
keyValue: 22, // {
macCode: "9651041_1", // bindQty: 0,
macSpec: null, // categorys: "线",
memo: null, // deviceCode: "9651041_1",
rfId: null, // deviceIp: null,
status: false, // deviceName: "9651041_1",
typeName: "9651041_1", // docking: true,
updateTime: null, // ecId: 22,
used: 3, // keyValue: 22,
usedText: "暂停服役", // macCode: "9651041_1",
virtualMac: false, // macSpec: null,
}, // memo: null,
]; // rfId: null,
this.loading = false; // status: false,
this.page.total = this.data.length; // typeName: "9651041_1",
this.selectionClear(); // updateTime: null,
}); // used: 3,
// usedText: "",
// virtualMac: false,
// },
// ];
// this.loading = false;
// this.page.total = this.data.length;
// this.selectionClear();
// });
}, },
}, },
}; };

@ -29,22 +29,11 @@ export default {
}, },
{ {
label: '飞靶状态', label: '飞靶状态',
prop: 'fsStatus', prop: 'status',
search: true, search: true,
type: 'select', type: 'select',
display: false, display: false,
dicData:[ dicUrl: '/api/blade-system/dict/dictionary?code=workwear_status',
{
label:'空闲',
value:'1'
},{
label:'已绑定',
value:'2'
},{
label:'使用中',
value:'3'
}
]
}, },
], ],
@ -53,6 +42,7 @@ export default {
label: '挂具编号', label: '挂具编号',
prop: 'rsCode', prop: 'rsCode',
search: true, search: true,
span: 24,
rules: [ rules: [
{ {
required: true, required: true,
@ -64,6 +54,7 @@ export default {
{ {
label: '挂具名称', label: '挂具名称',
prop: 'rsType', prop: 'rsType',
span: 24,
search: true, search: true,
rules: [ rules: [
{ {
@ -80,18 +71,187 @@ export default {
search: true, search: true,
type: 'select', type: 'select',
display: false, display: false,
dicData:[ dicUrl: '/api/blade-system/dict/dictionary?code=workwear_status',
{ props: {
label:'空闲', label: 'dictKey',
value:'1' value: 'dictValue'
},{
label:'已绑定',
value:'2'
},{
label:'使用中',
value:'3'
} }
] // dicData:[
// {
// label:'空闲',
// value:'1'
// },{
// label:'已绑定',
// value:'2'
// },{
// label:'使用中',
// value:'3'
// }
// ]
}, },
] ]
} }
export const feiBaOption = {
columnSort: true,
tip: false,
height: "auto",
calcHeight: 32,
simplePage: false,
searchShow: true,
searchMenuSpan: 6,
searchIcon: true,
searchIndex: 3,
tree: false,
border: true,
index: true,
selection: true,
viewBtn: false,
delBtn: false,
labelWidth: 120,
searchLabelWidth: 120,
menuWidth: 140,
dialogWidth: 600,
dialogClickModal: false,
searchEnter: true,
excelBtn: true,
gridBtn: false,
index: false,
searchShowBtn: false,
searchLabelPosition: "left",
searchLabelPosition: "left",
searchGutter: 24,
searchSpan: 6,
menuAlign: "left",
gridBtn: false,
searchMenuPosition: "right",
addBtnIcon: " ",
viewBtnIcon: " ",
delBtnIcon: " ",
editBtnIcon: " ",
align: "center",
column: [
{
label: '飞靶编号',
prop: 'fsCode',
span: 24,
search: true,
rules: [
{
required: true,
message: '请输入飞靶编号',
trigger: 'blur',
},
],
},
{
label: '飞靶名称',
prop: 'fsType',
span: 24,
search: true,
rules: [
{
required: true,
message: '请输入飞靶名称',
trigger: 'blur',
},
],
},
{
label: '飞靶状态',
prop: 'status',
search: true,
type: 'select',
display: false,
dicUrl: '/api/blade-system/dict/dictionary?code=workwear_status',
props: {
label: 'dictValue',
value: 'dictKey'
}
},
],
}
export const rackOption = {
columnSort: true,
tip: false,
height: "auto",
calcHeight: 32,
simplePage: false,
searchShow: true,
searchMenuSpan: 6,
searchIcon: true,
searchIndex: 3,
tree: false,
border: true,
index: true,
selection: true,
viewBtn: false,
delBtn: false,
labelWidth: 120,
searchLabelWidth: 120,
menuWidth: 140,
dialogWidth: 600,
dialogClickModal: false,
searchEnter: true,
excelBtn: true,
gridBtn: false,
index: false,
searchShowBtn: false,
searchLabelPosition: "left",
searchLabelPosition: "left",
searchGutter: 24,
searchSpan: 6,
menuAlign: "left",
gridBtn: false,
searchMenuPosition: "right",
addBtnIcon: " ",
viewBtnIcon: " ",
delBtnIcon: " ",
editBtnIcon: " ",
align: "center",
column: [
{
label: '挂具编号',
prop: 'rsCode',
search: true,
span: 24,
rules: [
{
required: true,
message: '请输入挂具编号',
trigger: 'blur',
},
],
},
{
label: '挂具名称',
prop: 'rsType',
span: 24,
search: true,
rules: [
{
required: true,
message: '请输入挂具名称',
trigger: 'blur',
},
],
},
{
label: '挂具状态',
prop: 'status',
search: true,
type: 'select',
display: false,
dicUrl: '/api/blade-system/dict/dictionary?code=workwear_status',
props: {
label: 'dictValue',
value: 'dictKey'
}
}
],
}

@ -1,40 +1,70 @@
<template> <template>
<basic-container> <basic-container>
<el-tabs v-model="tabPosition" class="demo-tabs" @tab-change="tabPositionChange"> <el-tabs v-model="tabPosition" class="demo-tabs" @tab-change="tabPositionChange">
<el-tab-pane label="飞靶设置" name="feiBaSet"></el-tab-pane> <el-tab-pane label="飞靶设置" name="feiBaSet">
<el-tab-pane label="挂具设置" name="rackSet"></el-tab-pane>
</el-tabs>
<!-- 表格数据 --> <!-- 表格数据 -->
<avue-crud <avue-crud
:option="option" :option="feiBaOption"
:table-loading="loading"
:data="data"
v-model="form"
v-model:page="page"
ref="crud"
@row-del="rowDel"
@row-save="rowSave"
@row-update="rowUpdate"
@search-change="searchChange"
@search-reset="searchReset"
@selection-change="selectionChange"
@current-change="currentChange"
@size-change="sizeChange"
@refresh-change="refreshChange"
>
<template #menu-left>
<el-button type="danger" plain @click="removeFn">删除</el-button>
</template>
</avue-crud>
</el-tab-pane>
<el-tab-pane label="挂具设置" name="rackSet">
<avue-crud
:option="rackOption"
:table-loading="loading" :table-loading="loading"
:data="data" :data="data"
v-model="form" v-model="form"
v-model:page="page" v-model:page="page"
ref="crud" ref="crud"
@row-del="rowDel" @row-del="rowDel"
@row-save="rowSave"
@row-update="rowUpdate"
@search-change="searchChange" @search-change="searchChange"
@search-reset="searchReset" @search-reset="searchReset"
@selection-change="selectionChange" @selection-change="selectionChange"
@current-change="currentChange" @current-change="currentChange"
@size-change="sizeChange" @size-change="sizeChange"
@refresh-change="refreshChange" @refresh-change="refreshChange"
@on-load="onLoad"
> >
<template #menu-left> <template #menu-left>
<el-button type="danger" plain @click="removeFn">删除</el-button> <el-button type="danger" plain @click="removeFn">删除</el-button>
</template> </template>
</avue-crud> </avue-crud>
</el-tab-pane>
</el-tabs>
</basic-container> </basic-container>
</template> </template>
<script> <script>
import columnData from "./columnData.js"; import columnData from "./columnData.js";
import {getFeiBaSetList,addFeiBaSet,editFeiBaSet,deleteFeiba,getRackSetList,addRackSet,editRackSet,deleteRackSet} from '@/api/equiptManagement/workwearManagement'
import { add } from '@/api/system/menu.js';
import {feiBaOption,rackOption} from './columnData.js'
export default { export default {
data() { data() {
return { return {
loading: false, loading: false,
tabPosition: "feiBaSet", tabPosition: "feiBaSet",
feiBaOption:feiBaOption,
rackOption:rackOption,
selectionList: [], selectionList: [],
formInline: { formInline: {
type: "", // type: "", //
@ -102,119 +132,147 @@ export default {
confirmButtonText: "确认", confirmButtonText: "确认",
cancelButtonText: "取消", cancelButtonText: "取消",
type: "warning", type: "warning",
}).then(() => {
if(this.tabPosition == "feiBaSet"){
deleteFeiba({ids:this.selectionList.map(item => item.id).join(',')}).then(res =>{
if(res.data.code == 200){
this.$message.success('删除成功')
this.getFeiBa()
}
}) })
.then(() => { }else{
// const obj = { list: [] }; deleteRackSet({ids:this.selectionList.map(item => item.id).join(',')}).then(res =>{
// this.selectionArr.forEach((item) => { if(res.data.code == 200){
// obj.list.push(item.rsId); this.$message.success('删除成功')
// }); this.getRackSet()
// this.$ajax.post('bsRackSet/signDelete', obj).then((res) => { }
// if (this.$ifAjax(res)) {
// this.$message.success(this.$t('global.deleteOk'));
// this.$refs.myTable.load();
// }
// });
}) })
.catch(() => { }
}).catch(() => {
this.$message.info("取消删除"); this.$message.info("取消删除");
}); });
}, },
tabPositionChange(value, event) { //
this.option.column = columnData[this.tabPosition]; searchChange(params, done) {
if (this.tabPosition == "feiBaSet") { if (this.tabPosition == "feiBaSet") {
this.data = [ this.query = params;
{ this.page.currentPage = 1;
bindQty: 0, this.getFeiBa();
deleted: false, done();
fsCode: "44444", }else{
fsId: 321, this.query = params;
fsStatus: 1, this.page.currentPage = 1;
fsStatusTitle: "空闲", this.getRackSet();
fsType: "轱辘机", done();
keyValue: 321, }
},
{
bindQty: 8,
deleted: false,
fsCode: "8DAu-GLJ2-022",
fsId: 314,
fsStatus: 2,
fsStatusTitle: "已绑定",
fsType: "轱辘机",
keyValue: 314,
},
{
bindQty: 3,
deleted: false,
fsCode: "DAu-GLJ2-021",
fsId: 313,
fsStatus: 2,
fsStatusTitle: "已绑定",
fsType: "轱辘机",
keyValue: 313,
}, },
{ //
bindQty: 2, searchReset() {
deleted: false, if (this.tabPosition == "feiBaSet") {
fsCode: "DAu-GLJ2-020", this.query = {};
fsId: 312, this.getFeiBa();
fsStatus: 2, done();
fsStatusTitle: "已绑定", }else{
fsType: "轱辘机", this.query = {};
keyValue: 312, this.getRackSet();
done();
}
}, },
]; rowSave(row, done, loading){
if (this.tabPosition == "feiBaSet") {
let params = {
fsCode:row.fsCode,
fsType:row.fsType
}
addFeiBaSet(params).then(res =>{
if(res.data.code == 200){
this.$message.success('新增成功')
done()
this.getFeiBa()
}
})
}else{ }else{
this.data = [ let params = {
{ rsCode:row.rsCode,
bindQty: 0, rsType:row.rsType
deleted: false, }
keyValue: 341, addRackSet(params).then(res =>{
rsCode: "77777", if(res.data.code == 200){
rsId: 341, this.$message.success('新增成功')
rsStatus: 1, done()
rsStatusTitle: "空闲", this.getRackSet()
rsType: "挂具", }
})
}
}, },
{ rowUpdate(row, index, done, loading){
bindQty: 1, if (this.tabPosition == "feiBaSet") {
deleted: false, let params = {
keyValue: 337, id:row.id,
rsCode: "RHNi-GJ-060", fsCode:row.fsCode,
rsId: 337, fsType:row.fsType
rsStatus: 2, }
rsStatusTitle: "已绑定", editFeiBaSet(params).then(res =>{
rsType: "挂具", if(res.data.code == 200){
this.$message.success('修改成功')
done()
this.getFeiBa()
}else{
this.$message.error(res.data.message)
done()
}
})
}else{
let params = {
id:row.id,
rsCode:row.rsCode,
rsType:row.rsType
}
editRackSet(params).then(res =>{
if(res.data.code == 200){
this.$message.success('修改成功')
done()
this.getRackSet()
}else{
this.$message.error(res.data.message)
done()
}
})
}
}, },
{ getFeiBa(){
bindQty: 0, getFeiBaSetList({
deleted: false, current:this.page.currentPage,
keyValue: 336, size:this.page.pageSize,
rsCode: "RHNi-GJ-059", ...this.query
rsId: 336, }).then(res =>{
rsStatus: 1, this.data = res.data.data.records
rsStatusTitle: "空闲", this.page.total = res.data.data.total
rsType: "挂具", })
}, },
{ getRackSet(){
bindQty: 0, getRackSetList({
deleted: false, current:this.page.currentPage,
keyValue: 335, size:this.page.pageSize,
rsCode: "RHNi-GJ-058", ...this.query
rsId: 335, }).then(res =>{
rsStatus: 1, this.data = res.data.data.records
rsStatusTitle: "空闲", this.page.total = res.data.data.total
rsType: "挂具", })
}, },
]; tabPositionChange(value, event) {
this.option.column = columnData[this.tabPosition];
if (this.tabPosition == "feiBaSet") {
this.getFeiBa()
} else {
this.getRackSet()
} }
this.page.total = this.data.length;
}, },
onLoad() {}, onLoad() {},
}, },
mounted() { mounted() {
this.option.column = columnData[this.tabPosition]; this.option.column = columnData[this.tabPosition];
this.tabPositionChange(); this.tabPositionChange();
}, },
}; };

@ -102,8 +102,9 @@
<template #default="scope"> <template #default="scope">
<el-form-item :prop="`moldPlan[${scope.$index}].planType`" :rules="formRules.planType"> <el-form-item :prop="`moldPlan[${scope.$index}].planType`" :rules="formRules.planType">
<el-select v-model="scope.row.planType" :filterable="true" allow-create> <el-select v-model="scope.row.planType" :filterable="true" allow-create>
<el-option label="计划类型一" value="1" /> <!-- 2仓库 -->
<el-option label="计划类型二" value="2" /> <el-option label="热表/烧结" value="1" />
<el-option label="仓库" value="2" />
</el-select> </el-select>
</el-form-item> </el-form-item>
</template> </template>
@ -318,7 +319,7 @@ export default {
return; return;
} else { } else {
console.log('submitForm after validate', JSON.parse(JSON.stringify(this.form))); console.log('submitForm after validate', JSON.parse(JSON.stringify(this.form)));
add(JSON.parse(JSON.stringify(this.form))).then(res => { add({moldPlan:this.form.moldPlan[0]}).then(res => {
if (res.code === 200) { if (res.code === 200) {
this.$message.success('提交成功'); this.$message.success('提交成功');
this.closeDialog(); this.closeDialog();

@ -47,7 +47,7 @@
:disabled="disabled" :disabled="disabled"
> >
<el-button size="small" type="primary">点击上传</el-button> <el-button size="small" type="primary">点击上传</el-button>
<div slot="tip" class="el-upload__tip">支持扩展名:.pdf.doc.docx(最大5M)</div> <div style="margin-top:0;height:24px;display:flex;align-items:center;margin-left:5px;" slot="tip" class="el-upload__tip">支持扩展名:.pdf.doc.docx(最大5M)</div>
</el-upload> </el-upload>
</el-form-item> </el-form-item>
</el-form> </el-form>

@ -1,5 +1,5 @@
<template> <template>
<el-dialog title="检验结果填报" append-to-body :modelValue="showDialog" width="80%" @close="closeDialog"> <el-dialog title="详情" append-to-body :modelValue="showDialog" width="80%" @close="closeDialog">
<div style="height: 600px;overflow-y: auto;overflow-x:hidden ;"> <div style="height: 600px;overflow-y: auto;overflow-x:hidden ;">
<div style="font-weight: 550;">任务信息</div> <div style="font-weight: 550;">任务信息</div>
<div class="info_box"> <div class="info_box">

@ -302,7 +302,7 @@ export default {
search: false, search: false,
sortable: true, sortable: true,
filter: true, filter: true,
width: 200, width: 150,
}, },
{ {
label: '试验件', label: '试验件',
@ -310,7 +310,7 @@ export default {
search: false, search: false,
sortable: true, sortable: true,
filter: true, filter: true,
width: 200, width: 120,
}, },
{ {
label: '试验件材料', label: '试验件材料',
@ -318,7 +318,23 @@ export default {
search: false, search: false,
sortable: true, sortable: true,
filter: true, filter: true,
width: 200, width: 180,
},
{
label: '工艺员',
prop: 'processUserName',
search: false,
sortable: true,
filter: true,
width: 160,
},
{
label: '试验周期',
prop: 'jobType',
search: false,
sortable: true,
filter: true,
width: 120,
}, },
{ {
label: '最小试验数量', label: '最小试验数量',
@ -326,7 +342,7 @@ export default {
search: false, search: false,
sortable: true, sortable: true,
filter: true, filter: true,
width: 200, width: 140,
}, },
{ {
label: '试验项目', label: '试验项目',
@ -345,28 +361,7 @@ export default {
}, },
{
label: '工艺员',
prop: 'processUserName',
search: false,
sortable: true,
filter: true,
width: 200,
// dicUrl: '/blade-system/user/page?current=1&&size=99999',
// props: {
// label: 'name',
// value: 'id',
// res: 'data.records',
// },
},
{
label: '试验周期',
prop: 'jobType',
search: false,
sortable: true,
filter: true,
width: 200,
},
{ {
label: '提前下发天数', label: '提前下发天数',
prop: 'genBefore', prop: 'genBefore',

@ -536,7 +536,8 @@ export default {
const rules = { const rules = {
isDone: [{ required: true, message: '请选择是否进行试验', trigger: 'change' }], isDone: [{ required: true, message: '请选择是否进行试验', trigger: 'change' }],
testDate:[], testDate:[],
testResult:[] testResult:[],
reasonForNo:[],
}; };
console.log('this.writeForm.isDone-------------',this.writeForm.isDone) console.log('this.writeForm.isDone-------------',this.writeForm.isDone)
if (this.writeForm.isDone == 1) { if (this.writeForm.isDone == 1) {
@ -545,9 +546,11 @@ export default {
{ required: true, message: '请上传文件', trigger: 'blur' }, { required: true, message: '请上传文件', trigger: 'blur' },
{ validator: this.checkFile, trigger: 'blur' } { validator: this.checkFile, trigger: 'blur' }
]; ];
rules.reasonForNo = []
} else { } else {
rules.testDate = []; // rules.testDate = []; //
rules.testResult = []; // rules.testResult = []; //
rules.reasonForNo = [{ required: true, message: '请填写未试验原因', trigger: 'blur' }]
} }
return rules; return rules;
}, },

@ -1,5 +1,12 @@
<template> <template>
<el-dialog title="新增" append-to-body :modelValue="openShow" width="70%" @close="closeDialog" fullscreen> <el-dialog title="新增" append-to-body :modelValue="openShow" width="70%" @close="closeDialog" fullscreen>
<div class="test_type">
<span>审理类型</span>
<el-radio-group v-model="testType" @change="changeType">
<el-radio :value="1">erp审理</el-radio>
<el-radio :value="2">内部审理</el-radio>
</el-radio-group>
</div>
<el-descriptions title="订单信息" border :column="4" label-width="110"> <el-descriptions title="订单信息" border :column="4" label-width="110">
<el-descriptions-item label="车间订单号:">WO-898789988WO</el-descriptions-item> <el-descriptions-item label="车间订单号:">WO-898789988WO</el-descriptions-item>
<el-descriptions-item label="发现工序:">镀后检验</el-descriptions-item> <el-descriptions-item label="发现工序:">镀后检验</el-descriptions-item>
@ -8,7 +15,7 @@
<el-descriptions-item label="总数量:">78</el-descriptions-item> <el-descriptions-item label="总数量:">78</el-descriptions-item>
<el-descriptions-item label="物料号:">78765688</el-descriptions-item> <el-descriptions-item label="物料号:">78765688</el-descriptions-item>
<el-descriptions-item label="物料名称:">物料1</el-descriptions-item> <el-descriptions-item label="物料名称:">物料1</el-descriptions-item>
<el-descriptions-item label="简单原因:"> <el-descriptions-item label="不良原因:">
<el-input v-model="input" placeholder="请输入" /> <el-input v-model="input" placeholder="请输入" />
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="不良描述:"> <el-descriptions-item label="不良描述:">
@ -17,7 +24,7 @@
</el-descriptions> </el-descriptions>
<el-descriptions class="margin-top" title="质量信息" border :column="3" label-width="110" style="margin-bottom: 24px;"> <el-descriptions v-if="testType == 1" class="margin-top" title="质量信息" border :column="3" label-width="110" style="margin-bottom: 24px;">
<el-descriptions-item label="历史订单:"> <el-descriptions-item label="历史订单:">
<el-select v-model="value" placeholder="请选择" style="width: 400px;"> <el-select v-model="value" placeholder="请选择" style="width: 400px;">
@ -52,6 +59,35 @@
</el-checkbox-group> </el-checkbox-group>
</el-descriptions-item> </el-descriptions-item>
</el-descriptions> </el-descriptions>
<el-descriptions v-if="testType == 2" class="margin-top" title="质量信息" border :column="3" label-width="110" style="margin-bottom: 24px;">
<el-descriptions-item label="比例:">
<el-input v-model="input" placeholder="请输入" style="width: 400px;"/>
</el-descriptions-item>
<el-descriptions-item label="不合格数:">
<el-input v-model="input" placeholder="请输入" style="width: 400px;"/>
</el-descriptions-item>
<el-descriptions-item label="处置类型">
<el-radio-group v-model="disposalType">
<el-radio :value="1">返修</el-radio>
<el-radio :value="2">报废</el-radio>
</el-radio-group>
</el-descriptions-item>
<el-descriptions-item label="返修数量:">
<el-input v-model="input" placeholder="请输入" style="width: 400px;"/>
</el-descriptions-item>
<el-descriptions-item label="报废数量:">
<el-input v-model="input" placeholder="请输入" style="width: 400px;"/>
</el-descriptions-item>
<el-descriptions-item label="">
<el-checkbox-group v-model="checkList">
<el-checkbox label="批次性问题" value="Value A" />
<el-checkbox label="典型问题" value="Value B" />
<el-checkbox label="低级错误" value="Value C" />
<el-checkbox label="质量问题" value="Value disabled" />
</el-checkbox-group>
</el-descriptions-item>
</el-descriptions>
<!-- <!--
<el-form :model="form" label-width="auto"> <el-form :model="form" label-width="auto">
<el-row :gutter="24"> <el-row :gutter="24">
@ -107,7 +143,7 @@
</el-form> --> </el-form> -->
<!-- <el-descriptions title="故障信息" border :column="4"></el-descriptions> --> <!-- <el-descriptions title="故障信息" border :column="4"></el-descriptions> -->
<el-row :gutter="24"> <el-row :gutter="24" v-if="testType == 1" >
<el-col :span="24" style="margin-bottom: 24px;"> <el-col :span="24" style="margin-bottom: 24px;">
<div class="btn_box"> <div class="btn_box">
<el-button type="primary" plain @click="insertFaultEvent()">插入一行</el-button> <el-button type="primary" plain @click="insertFaultEvent()">插入一行</el-button>
@ -243,11 +279,12 @@
<template #footer> <template #footer>
<span class="dialog-footer"> <span class="dialog-footer">
<el-button plain @click="closeDialog">取消</el-button> <el-button plain @click="closeDialog">取消</el-button>
<el-button type="primary" @click="submit(-1)">保存</el-button> <el-button type="primary" v-if="testType == 1" @click="submit(-1)">保存</el-button>
<el-button type="primary" plain @click="submit(1)">提交质保</el-button> <el-button type="primary" v-if="testType == 2" @click="submitInside">提交</el-button>
<el-button type="primary" plain @click="submit(2)">提交工艺</el-button> <el-button type="primary" v-if="testType == 1" plain @click="submit(1)">提交质保</el-button>
<el-button type="primary" plain @click="submit(3)">提交设计</el-button> <el-button type="primary" v-if="testType == 1" plain @click="submit(2)">提交工艺</el-button>
<el-button type="primary" plain @click="submit(4)">提交设计变更</el-button> <el-button type="primary" v-if="testType == 1" plain @click="submit(3)">提交设计</el-button>
<el-button type="primary" v-if="testType == 1" plain @click="submit(4)">提交设计变更</el-button>
</span> </span>
</template> </template>
</el-dialog> </el-dialog>
@ -268,7 +305,9 @@ export default {
return { return {
openShow: false, openShow: false,
tableData: [], tableData: [],
form: {} form: {},
testType: 1,
disposalType:1, //
} }
}, },
mounted() { mounted() {
@ -279,11 +318,27 @@ export default {
this.openShow = false this.openShow = false
this.$emit('closeDialog'); this.$emit('closeDialog');
}, },
changeType(val){
console.log('val---------------------',val)
},
//
submitInside(){
if(this.disposalType == 1){
let params = {
}
}
},
} }
} }
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.test_type{
display: flex;
align-items: center;
margin-bottom: 20px;
}
.margin-top { .margin-top {
margin-top: 24px; margin-top: 24px;
} }

@ -91,7 +91,7 @@
<div class="table_box"> <div class="table_box">
<el-table ref="faultTable" height="240" :data="faultList" @selection-change="handleSelectionChange" @select="selectChangeData"> <el-table ref="faultTable" height="240" :data="faultList" @selection-change="handleSelectionChange" @select="selectChangeData">
<el-table-column type="selection" width="55"></el-table-column> <el-table-column type="selection" width="55"></el-table-column>
<el-table-column label="故障类别" prop="faultType.rstId" align="center"> <el-table-column label="故障类别" prop="faultType.rstId" align="center" width="120">
<template #default="scope"> <template #default="scope">
<el-select v-model="scope.row.faultType.rstId"> <el-select v-model="scope.row.faultType.rstId">
<el-option v-for="item in errorTypeArr" :key="item.rstId" :value="item.rstId" :label="item.rstName"></el-option> <el-option v-for="item in errorTypeArr" :key="item.rstId" :value="item.rstId" :label="item.rstName"></el-option>
@ -112,12 +112,12 @@
</el-select> </el-select>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="比例" prop="proportion" align="center"> <el-table-column label="比例" prop="proportion" align="center" width="80">
<template #default="scope"> <template #default="scope">
<el-input v-model="scope.row.proportion" @input="(value) =>changeProportion(value,scope.$index)"></el-input> <el-input v-model="scope.row.proportion" @input="(value) =>changeProportion(value,scope.$index)"></el-input>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="数量" prop="faultQty" align="center"> <el-table-column label="数量" prop="faultQty" align="center" width="80">
<template #default="scope"> <template #default="scope">
<el-input v-model="scope.row.faultQty" @input="(value) =>changeFaultQty(value,scope.$index)"></el-input> <el-input v-model="scope.row.faultQty" @input="(value) =>changeFaultQty(value,scope.$index)"></el-input>
</template> </template>
@ -168,12 +168,12 @@
</el-select> </el-select>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="数量(件)" prop="dutyQty" align="center"> <el-table-column label="数量(件)" prop="dutyQty" align="center" width="80">
<template #default="scope"> <template #default="scope">
<el-input v-model="scope.row.dutyQty"></el-input> <el-input v-model="scope.row.dutyQty"></el-input>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="单位" prop="unit"> <el-table-column label="单位" prop="unit" align="center" width="80">
<template #default="scope"> <template #default="scope">
<el-input v-model="scope.row.unit"></el-input> <el-input v-model="scope.row.unit"></el-input>
</template> </template>
@ -690,6 +690,7 @@ export default {
.btn_box{ .btn_box{
margin-top: 20px; margin-top: 20px;
margin-bottom: 10px;
display: flex; display: flex;
justify-content: end; justify-content: end;
} }

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

@ -18,12 +18,14 @@
@size-change="sizeChange" @size-change="sizeChange"
@refresh-change="refreshChange" @refresh-change="refreshChange"
@on-load="onLoad" @on-load="onLoad"
:permission="getPermission"
:before-open="beforeOpen"
></avue-crud> ></avue-crud>
</basic-container> </basic-container>
</template> </template>
<script> <script>
import {getList,addFile,deleteFile} from '@/api/qualityManagement/inspectionArchiving/auditFile' import {getList,addFile,deleteFile,upgradeFile} from '@/api/qualityManagement/inspectionArchiving/auditFile'
export default { export default {
data() { data() {
return { return {
@ -61,7 +63,7 @@ export default {
editBtnIcon: ' ', editBtnIcon: ' ',
viewBtnText: '详情', viewBtnText: '详情',
labelWidth: 120, labelWidth: 120,
searchLabelWidth: 120, // searchLabelWidth: 120,
menuWidth: 120, menuWidth: 120,
dialogWidth: 640, dialogWidth: 640,
dialogClickModal: false, dialogClickModal: false,
@ -81,6 +83,16 @@ export default {
gridBtn: false, gridBtn: false,
searchMenuPosition: 'right', searchMenuPosition: 'right',
align: 'center', align: 'center',
updateBtnText:"升版",
editTitle:"升版",
// dialogOption: {
// //
// title: (action, row) => {
// if (action === 'edit') {
// return ''; //
// }
// }
// },
column: [ column: [
{ {
label: '工序名称', label: '工序名称',
@ -91,27 +103,14 @@ export default {
sortable: true, sortable: true,
span: 24, span: 24,
type: 'select', type: 'select',
dicData: [ filterable: true,
{ remote: true,
label: '工序一', dicUrl:`/api/blade-desk/dsProcess/list?processName={{key}}`,
value: 1, props:{
}, label: 'processName',
{ value: 'id',
label: '工序二', res: 'data.records',
value: 2,
},
{
label: '工序三',
value: 3,
}, },
],
// rules: [
// {
// required: true,
// message: '',
// trigger: 'click',
// },
// ],
}, },
{ {
label: '作业中心', label: '作业中心',
@ -144,20 +143,6 @@ export default {
sortable: true, sortable: true,
span: 24, span: 24,
type: 'select', type: 'select',
// dicData: [
// {
// label: 'J',
// value: 1,
// },
// {
// label: 'I',
// value: 2,
// },
// {
// label: 'III',
// value: 3,
// },
// ],
dicUrl:'/api/blade-desk/BA/ProdMark/listForSelect', dicUrl:'/api/blade-desk/BA/ProdMark/listForSelect',
props:{ props:{
label:'name', label:'name',
@ -198,19 +183,22 @@ export default {
}, },
{ {
label: '维护人', label: '维护人',
prop: 'updateUserRealName', prop: 'keepUserRealName',
// bind: 'keepMan.userName', // bind: 'keepMan.userName',
bind: 'base.keepUserRealName',
search: true, search: true,
sortable: true, sortable: true,
display: false, display: false,
}, },
{ {
label: '维护时间', label: '维护时间',
prop: 'updateTime', prop: 'keepTime',
bind: 'base.keepTime',
search: false, search: false,
sortable: true, sortable: true,
display: true, display: true,
display: false, display: false,
width:200
}, },
{ {
label: '状态', label: '状态',
@ -232,6 +220,20 @@ export default {
}, },
mounted() {}, mounted() {},
methods: { methods: {
getPermission(key, row, index) {
if (key === 'editBtn') {
return row.status == 1
? true
: false;
}
return true;
},
beforeOpen(done, type, loading){
if (['edit'].includes(type)) {
this.form.prodApplyArea = this.form.prodApplyArea + ''
}
done()
},
searchReset() { searchReset() {
this.query = {}; this.query = {};
this.onLoad(this.page); this.onLoad(this.page);
@ -268,6 +270,15 @@ export default {
} }
}) })
}, },
rowUpdate(row, index, done, loading) {
upgradeFile(row).then(res =>{
if(res.data.code == 200){
this.$message.success('升版成功')
done()
this.onLoad()
}
})
},
rowDel(row, index, done) { rowDel(row, index, done) {
this.$confirm('确定将选择数据删除?', { this.$confirm('确定将选择数据删除?', {
confirmButtonText: '确定', confirmButtonText: '确定',

@ -22,9 +22,9 @@
<template #menu-left> <template #menu-left>
<el-button type="primary" @click="handleAdd">新增</el-button> <el-button type="primary" @click="handleAdd">新增</el-button>
</template> </template>
<template #menu-right> <!-- <template #menu-right>
<el-button type="primary" @click="handleImport()">导入</el-button> <el-button type="primary" @click="handleImport()">导入</el-button>
</template> </template> -->
<template #menu="scope"> <template #menu="scope">
<el-button type="text" @click="copyClick(scope.row)">复制</el-button> <el-button type="text" @click="copyClick(scope.row)">复制</el-button>
<!-- <el-button <!-- <el-button
@ -45,10 +45,10 @@
<el-button type="text" @click="detailClick(scope.row)">电子档案详情</el-button> <el-button type="text" @click="detailClick(scope.row)">电子档案详情</el-button>
</template> </template>
<template #line="{ row }"> <template #line="{ row }">
<el-tag v-if="row.line == 0">线上</el-tag> <el-tag v-if="row.line == 1">线上</el-tag>
<el-tag v-if="row.line == 1" type="success">线下</el-tag> <el-tag v-if="row.line == 0" type="success">线下</el-tag>
</template> </template>
<template #approvalStatus="{ row }"> <!-- <template #approvalStatus="{ row }">
<approvalStandard <approvalStandard
ref="approvalRpf" ref="approvalRpf"
:cur-status="row.approvalStatus" :cur-status="row.approvalStatus"
@ -56,7 +56,7 @@
:the-id="row.rfpId" :the-id="row.rfpId"
@refresh="refresh" @refresh="refresh"
/> />
</template> </template> -->
</avue-crud> </avue-crud>
<detailRb <detailRb
:detail-open="detailOpen" :detail-open="detailOpen"
@ -140,6 +140,7 @@ export default {
addBtn: false, addBtn: false,
delBtn: true, delBtn: true,
editBtnText: '修改', editBtnText: '修改',
delBtnText: '删除',
viewBtnText: '详情', viewBtnText: '详情',
addBtnIcon: ' ', addBtnIcon: ' ',
viewBtnIcon: ' ', viewBtnIcon: ' ',
@ -154,7 +155,7 @@ export default {
excelBtn: true, excelBtn: true,
showOverflowTooltip: true, showOverflowTooltip: true,
align: 'center', align: 'center',
menuWidth: 430, menuWidth: 360,
searchLabelPosition: 'left', searchLabelPosition: 'left',
searchGutter: 24, searchGutter: 24,
searchSpan: 6, searchSpan: 6,
@ -215,20 +216,6 @@ export default {
value: 'id', value: 'id',
res: 'data.records', res: 'data.records',
}, },
// dicData: [
// {
// label: '',
// value: 1,
// },
// {
// label: '',
// value: 2,
// },
// {
// label: '',
// value: 3,
// },
// ],
rules: [ rules: [
{ {
required: true, required: true,
@ -240,32 +227,25 @@ export default {
{ {
label: '线上/线下', label: '线上/线下',
prop: 'line', prop: 'line',
// search: false,
// sortable: true,
// filter: true,
span: 24, span: 24,
// type: 'switch',
// dicData: [
// { label: '线', value: 1 },
// { label: '线', value: 0 },
// ],
value:0, value:0,
type: 'switch', type: 'switch',
dicData: [ dicData: [
{ {
label: '线', label: '线下',
value: 0, value: 0,
}, },
{ {
label: '线', label: '线',
value: 1, value: 1,
}, },
], ],
}, },
{ {
label: '维护人', label: '维护人',
prop: 'updateUserRealName', prop: 'keepUserRealName',
// bind: 'keepMan.userName', bind: 'base.keepUserRealName',
search: false, search: false,
sortable: true, sortable: true,
filter: true, filter: true,
@ -273,15 +253,17 @@ export default {
}, },
{ {
label: '维护时间', label: '维护时间',
prop: 'updateTime', prop: 'keepTime',
bind: 'base.keepTime',
search: false, search: false,
sortable: true, sortable: true,
filter: true, filter: true,
display: false, display: false,
width:200,
}, },
{ {
label: '状态', label: '状态',
prop: 'rfpStatusTitle', prop: 'status',
search: true, search: true,
sortable: true, sortable: true,
filter: true, filter: true,
@ -292,20 +274,6 @@ export default {
label: 'dictValue', label: 'dictValue',
value: 'dictKey', value: 'dictKey',
} }
// dicData: [
// {
// label: '',
// value: '1',
// },
// {
// label: '使',
// value: '2',
// },
// {
// label: '',
// value: '3',
// },
// ],
}, },
{ {
label: '审批状态', label: '审批状态',
@ -320,20 +288,6 @@ export default {
label: 'dictValue', label: 'dictValue',
value: 'dictKey', value: 'dictKey',
} }
// dicData: [
// {
// label: '',
// value: '1',
// },
// {
// label: '',
// value: '2',
// },
// {
// label: '',
// value: '3',
// },
// ],
}, },
], ],
}, },
@ -361,16 +315,14 @@ export default {
}, },
getPermission(key, row, index) { getPermission(key, row, index) {
if (key === 'editBtn') { if (key === 'editBtn') {
// return row.rfpStatus == 1 && (row.approvalStatus == -1 || row.approvalStatus == 4) return( row.status == 1 && (row.approvalStatus == 3 || row.approvalStatus == 4)) //
// ? true ? true
// : false; : false;
return true
} else if (key === 'delBtn') { } else if (key === 'delBtn') {
return (row.rfpStatus == 1 && (row.approvalStatus == 1 || row.approvalStatus == -1)) || return (row.status == 1 && (row.approvalStatus == 3 || row.approvalStatus == 1)) || //
(row.rfpStatus == 2 && row.approvalStatus == 1) (row.status == 2 && row.approvalStatus == 3) //使
? true ? true
: false; : false;
// return true
} }
return true; return true;
}, },

@ -1530,7 +1530,7 @@ export default {
getDate() { getDate() {
getWordDetail({id:this.rfpId}).then(res =>{ getWordDetail({id:this.rfpId}).then(res =>{
this.rightList = res.data.data.preserveSlotList this.rightList = res.data.data.preserveSlotList
this.insertIndex = res.data.datainsertIndex; this.insertIndex = res.data.data.insertIndex;
}) })
// this.$ajax // this.$ajax
// .get('dsRbFilePreserveSlot/getByRfpId/' + this.rfpId) // .get('dsRbFilePreserveSlot/getByRfpId/' + this.rfpId)

@ -1,9 +1,8 @@
<template> <template>
<basic-container> <basic-container>
<div class="search_box"> <el-tabs v-model="tabPosition" class="demo-tabs" @tab-change="tabPositionChange">
<el-tab-pane label="erp审理" name="erpHear">
</div>
<avue-crud :option="option" :table-loading="loading" :data="data" v-model="form" v-model:page="page" ref="crud" <avue-crud :option="option" :table-loading="loading" :data="data" v-model="form" v-model:page="page" ref="crud"
@row-del="rowDel" @search-change="searchChange" @search-reset="searchReset" @row-del="rowDel" @search-change="searchChange" @search-reset="searchReset"
@selection-change="selectionChange" @current-change="currentChange" @size-change="sizeChange" @selection-change="selectionChange" @current-change="currentChange" @size-change="sizeChange"
@ -20,8 +19,25 @@
<el-tag v-if="scope.row.afterPlating" type="success"></el-tag> <el-tag v-if="scope.row.afterPlating" type="success"></el-tag>
<el-tag v-else type="warning"></el-tag> <el-tag v-else type="warning"></el-tag>
</template> </template>
</avue-crud>
</el-tab-pane>
<el-tab-pane label="内部审理" name="insideHear">
<avue-crud :option="insideOption" :table-loading="loading" :data="data" v-model="form" v-model:page="page" ref="crud"
@row-del="rowDel" @search-change="searchChange" @search-reset="searchReset"
@selection-change="selectionChange" @current-change="currentChange" @size-change="sizeChange"
@refresh-change="refreshChange" @on-load="onLoad">
<template #menu-left>
</template>
<template #menu-right>
</template>
<template #menu="{ row }">
</template>
</avue-crud> </avue-crud>
</el-tab-pane>
</el-tabs>
</basic-container> </basic-container>
@ -41,13 +57,14 @@ import {
} from '@/api/system/role'; } from '@/api/system/role';
import { mapGetters } from 'vuex'; import { mapGetters } from 'vuex';
import { validatenull } from '@/utils/validate'; import { validatenull } from '@/utils/validate';
import {insideOption} from './options'
export default { export default {
components: { components: {
}, },
data() { data() {
return { return {
tabPosition:'erpHear',
inBatchesOpen: false, inBatchesOpen: false,
platingSmallOpen: false, platingSmallOpen: false,
planOrderArr: [], planOrderArr: [],
@ -261,6 +278,7 @@ export default {
}, },
], ],
}, },
insideOption,
data: [], data: [],
isRushOpen: false,// isRushOpen: false,//

@ -0,0 +1,215 @@
export const insideOption = {
columnSort: true,
tip: false,
height: 'auto',
calcHeight: 32,
simplePage: false,
searchShow: true,
searchMenuSpan: 6,
searchIcon: true,
searchIndex: 3,
tree: false,
border: true,
index: true,
selection: false,
addBtn: false,
editBtn: false,
viewBtn: false,
delBtn: false,
editBtnText: '修改',
labelWidth: 120,
menuWidth: 80,
dialogWidth: 900,
dialogClickModal: false,
searchEnter: true,
excelBtn: false,
filterBtn: true,
searchShowBtn: false,
excelBtn: true,
showOverflowTooltip: true,
addBtnIcon: ' ',
viewBtnIcon: ' ',
delBtnIcon: ' ',
editBtnIcon: ' ',
gridBtn: false,
searchLabelPosition: 'left',
searchGutter: 24,
searchSpan: 6,
menuAlign: 'left',
gridBtn: false,
searchMenuPosition: 'right',
align: 'center',
menu: false,
column: [
{
label: '审理单号',
prop: 'partCode',
// bind: 'dsPart.partCode',
search: true,
sortable: true,
span: 12,
width: 150
},
{
label: '车间订单号',
prop: 'partCode',
search: true,
sortable: true,
span: 12,
width: 150
},
{
label: '物料号',
prop: 'partCode',
search: true,
sortable: true,
span: 12,
width: 150
},
{
label: '物料名称',
prop: 'partCode',
search: false,
sortable: true,
span: 12,
width: 150
},
{
label: '批次号',
prop: 'partCode',
search: false,
sortable: true,
span: 12,
width: 150
},
{
label: '生产标识',
prop: 'partCode',
search: false,
sortable: true,
span: 12,
width: 150
},
{
label: '供应商代码',
prop: 'partCode',
search: false,
sortable: true,
span: 12,
width: 150
},
{
label: '供应商名称',
prop: 'partCode',
search: true,
sortable: true,
span: 12,
width: 150
},
{
label: '审理类型',
prop: 'partCode',
search: true,
sortable: true,
span: 12,
width: 150
},
{
label: '比例',
prop: 'partCode',
search: false,
sortable: true,
span: 12,
width: 150
},
{
label: '需求数量',
prop: 'partCode',
search: false,
sortable: true,
span: 12,
width: 150
},
{
label: '返修/报废数量',
prop: 'partCode',
search: false,
sortable: true,
span: 12,
width: 150
},
{
label: '故障原因',
prop: 'partCode',
search: false,
sortable: true,
span: 12,
width: 150
},
{
label: '审理状态',
prop: 'partCode',
search: true,
sortable: true,
span: 12,
width: 150
},
{
label: '审理结论',
prop: 'partCode',
search: false,
sortable: true,
span: 12,
width: 150
},
{
label: '提请人员',
prop: 'partCode',
search: false,
sortable: true,
span: 12,
width: 150
},
{
label: '提请日期',
prop: 'partCode',
search: true,
sortable: true,
span: 12,
width: 150
},
{
label: '审理时间',
prop: 'partCode',
search: true,
sortable: true,
span: 12,
width: 150
},
{
label: '审理人',
prop: 'partCode',
search: false,
sortable: true,
span: 12,
width: 150
},
{
label: '打回原因',
prop: 'partCode',
search: false,
sortable: true,
span: 12,
width: 150
},
{
label: '镀前价格',
prop: 'partCode',
search: false,
sortable: true,
span: 12,
width: 150
},
]
}

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save