未符合项新增编辑修改

This commit is contained in:
shenyanpei
2021-11-30 10:39:47 +08:00
parent a2c4aa9309
commit 652ad0bc3d
2 changed files with 137 additions and 152 deletions
+4 -2
View File
@@ -63,12 +63,13 @@ export function meetingByMonth(params) {
//未符合项模块新增
export function addUn(
closeState, standSerialNumber, standName,
closeState,standId, standSerialNumber, standName,
itemsNum, itemsName, productType,
productLine, productName, reason, responsibleUnit,
dutyEngineer, authEngineer, qaEngineer, planCloseTime) {
const data = {
closeState,
standId,
standSerialNumber, //标准号
standName, //标准名称
itemsNum, //条款号
@@ -92,12 +93,13 @@ export function addUn(
//未符合项模块编辑
export function editUn(
closeState, standSerialNumber, standName,
closeState, standId, standSerialNumber, standName,
itemsNum, itemsName, productType,
productLine, productName, reason, responsibleUnit,
dutyEngineer, authEngineer, qaEngineer, planCloseTime, id) {
const data = {
closeState,
standId,
standSerialNumber, //标准号
standName, //标准名称
itemsNum, //条款号
@@ -116,6 +116,7 @@
prop="standName"
fixed="left"
width="180"
show-overflow-tooltip
label="标准名称">
<template slot-scope="scope">
<a @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standName }}</a>
@@ -129,16 +130,17 @@
<el-table-column
prop="itemsName"
width="180"
show-overflow-tooltip
label="条款名称">
</el-table-column>
<el-table-column
prop="productType"
width="180"
label="产品类型">
<template slot-scope="scope">
<!-- <template slot-scope="scope">
<div v-if="scope.row.productType === 'research'">在研</div>
<div v-if="scope.row.productType === 'product'">在产</div>
</template>
</template>-->
</el-table-column>
<el-table-column
prop="productLine"
@@ -148,6 +150,7 @@
<el-table-column
prop="productName"
width="180"
show-overflow-tooltip
label="项目名称">
</el-table-column>
<el-table-column
@@ -168,11 +171,13 @@
<el-table-column
prop="authEngineer"
width="150"
show-overflow-tooltip
label="认证工程师">
</el-table-column>
<el-table-column
prop="qaEngineer"
width="150"
show-overflow-tooltip
label="质量工程师">
</el-table-column>
<el-table-column
@@ -414,7 +419,7 @@
ref="addForm">
<el-form-item prop="productName" label="项目名称" style="width: 100%; margin-right:10px"
class="add-form-item">
<el-select v-model="addForm.productName"@change="handleChange" placeholder="请选择项目名称">
<el-select v-model="addForm.productName" filterable @change="handleChange" placeholder="请选择项目名称">
<el-option
v-for="item in ProjectDatas"
:key="item.id"
@@ -443,6 +448,7 @@
class="add-form-item">
<el-select
v-model="addForm.standSerialNumber"
filterable
:disabled="serialNumber"
@change="standChange"
placeholder="请选择标准号">
@@ -497,21 +503,24 @@
<el-input
v-model="addForm.dutyEngineer"
placeholder="请输入责任工程师"
:maxlength="500" />
@click.native="choiceZRR"
/>
</el-form-item>
<el-form-item prop="authEngineer" label="认证工程师" style="width: 100%; margin-right:10px"
class="add-form-item">
<el-input
v-model="addForm.authEngineer"
placeholder="请输入认证工程师"
:maxlength="500" />
@click.native="choiceMore('authEngineer','选择认证工程师',addForm.authEngineer)"
/>
</el-form-item>
<el-form-item prop="qaEngineer" label="质量工程师" style="width: 100%; margin-right:10px"
class="add-form-item">
<el-input
v-model="addForm.qaEngineer"
placeholder="请输入质量工程师"
:maxlength="500" />
@click.native="choiceMore('qaEngineer','选择质量工程师',addForm.qaEngineer)"
/>
</el-form-item>
<el-form-item prop="planCloseTime" label="计划关闭时间" style="width: 100%; margin-right:10px"
class="add-form-item">
@@ -544,6 +553,19 @@
</el-button>
</div>
</el-drawer>
<Role-tree
check-box
is-title="选择责任工程师"
:is-visible.sync="roleShowflag"
:nodeList="nodeList"
@checkedRole="drawerCheck"
/>
<Role-tree
:is-title="titleMore"
:is-visible.sync="roleShowMore"
:nodeList="nodeListMore"
@checkedRole="drawerMore"
/>
</div>
</template>
@@ -557,32 +579,16 @@ export default {
return {
loading: false,
nonList: [], //未符合项表格数据
projectModel: false, //项目弹窗
listModel: false, //标准弹窗
itemModel: false, //条款弹窗
replaceLoading: false,
//项目检索条件
projectSearch: {
projectNumber: "",
projectName: ""
},
//项目数据
ProjectDatas: [],
itemsData: [],
standList: [],
selectItems: [],
dataList: [],
standPage: 1,
standPageSize: this.$store.getters.userInfo.configContent,
standTotal: 0,
replacePage: 1,
replacePageSize: this.$store.getters.userInfo.configContent,
replaceTotal: 0,
page: 1,
pageSize: this.$store.getters.userInfo.configContent,
total: 0,
drawerTitle: "",
breakId: "",
//存放被勾选的项目的数据
selectList: [],
addForm: {
@@ -664,10 +670,26 @@ export default {
historySeeForm: {},
// 新增编辑框的disabled
serialNumber: true,
addFormEdit: {}
roleShowflag: false,
nodeList: [],
titleMore: '',
nodeListMore: [],
roleShowMore: false,
};
},
methods: {
getData() {
// 从数据库中查询各下拉框数据
this.$http.get("sys/dictype/getDicTypeListCode", "", {
_this: this
}, res => {
this.zrbmOptions = res.data.ZRBMCLASS; // 责任部门
this.getTableByPage();
}, e => {
})
},
// 查询未符合项table列表
getTableByPage() {
this.myLoading.loadData = true;
@@ -843,35 +865,33 @@ export default {
});
},
//点击清空按钮事件
clearSearch() {
this.projectSearch = {
projectName: "",
projectNumber: ""
};
this.getProjectData();
},
//提交
submit() {
const id = this.addForm.id;
const closeState = this.addForm.closeState;
const standId = this.addForm.productId // 此处standId储存项目下的标准的id
const standSerialNumber = this.addForm.standSerialNumber;
const standName = this.addForm.standName;
const itemsNum = this.addForm.itemsNum;
const itemsName = this.addForm.itemsName;
const productType = this.addForm.productType;
const productLine = this.addForm.productLine;
const productName = this.addForm.productName;
const reason = this.addForm.reason;
const responsibleUnit = this.addForm.responsibleUnit;
const dutyEngineer = this.addForm.dutyEngineer;
const authEngineer = this.addForm.authEngineer;
const qaEngineer = this.addForm.qaEngineer;
const planCloseTime = this.addForm.planCloseTime;
if (this.drawerTitle === "新增") {
const closeState = this.addForm.closeState;
const standSerialNumber = this.addForm.standSerialNumber;
const standName = this.addForm.standName;
const itemsNum = this.addForm.itemsNum;
const itemsName = this.addForm.itemsName;
const productType = this.addForm.productType;
const productLine = this.addForm.productLine;
const productName = this.addForm.productName;
const reason = this.addForm.reason;
const responsibleUnit = this.addForm.responsibleUnit;
const dutyEngineer = this.addForm.dutyEngineer;
const authEngineer = this.addForm.authEngineer;
const qaEngineer = this.addForm.qaEngineer;
const planCloseTime = this.addForm.planCloseTime;
this.$refs["addForm"].validate((valid) => {
if (valid) {
addUn(closeState, standSerialNumber, standName, itemsNum, itemsName, productType,
productLine, productName, reason, responsibleUnit, dutyEngineer, authEngineer, qaEngineer, planCloseTime).then(res => {
addUn(
closeState, standId, standSerialNumber,
standName, itemsNum, itemsName, productType,
productLine, productName, reason,
responsibleUnit, dutyEngineer,
authEngineer, qaEngineer, planCloseTime).then(res => {
if (res.ok) {
this.$message.success("新增成功");
this.drawerTable = false;
@@ -883,25 +903,14 @@ export default {
}
});
} else {
const id = this.addForm.id;
const closeState = this.addForm.closeState;
const standSerialNumber = this.addForm.standSerialNumber;
const standName = this.addForm.standName;
const itemsNum = this.addForm.itemsNum;
const itemsName = this.addForm.itemsName;
const productType = this.addForm.productType;
const productLine = this.addForm.productLine;
const productName = this.addForm.productName;
const reason = this.addForm.reason;
const responsibleUnit = this.addForm.responsibleUnit;
const dutyEngineer = this.addForm.dutyEngineer;
const authEngineer = this.addForm.authEngineer;
const qaEngineer = this.addForm.qaEngineer;
const planCloseTime = this.addForm.planCloseTime;
this.$refs["addForm"].validate((valid) => {
if (valid) {
editUn(closeState, standSerialNumber, standName, itemsNum, itemsName, productType,
productLine, productName, reason, responsibleUnit, dutyEngineer, authEngineer, qaEngineer, planCloseTime, id).then(res => {
editUn(
closeState, standId, standSerialNumber,
standName, itemsNum, itemsName, productType,
productLine, productName, reason, responsibleUnit,
dutyEngineer, authEngineer, qaEngineer,
planCloseTime, id).then(res => {
if (res.ok) {
this.$message.success("编辑成功");
this.drawerTable = false;
@@ -915,7 +924,10 @@ export default {
}
},
addDrawerClose() {
this.addForm = {};
this.addForm = {}
if (this.drawerTitle === '编辑') {
this.getData()
}
this.drawerTable = false;
}, // 关闭新增drawer
//带入条款确定事件
@@ -931,68 +943,9 @@ export default {
}
},
//带入标准取消事件
closeStand() {
this.listModel = false;
},
//带入标准确定事件
OkStand() {
if (this.standList.length > 1) {
this.$message.warning("您只能选择一条标准进行带入");
} else if (this.standList.length <= 0) {
this.$message.warning("请至少选择一条数据进行带入");
} else {
this.breakId = this.standList[0].standId;
this.addForm.standName = this.standList[0].standName;
this.addForm.standSerialNumber = this.standList[0].standSort + "-" + this.standList[0].standNumber + "-" + this.standList[0].standYear || this.standList[0].standSort + "-" + this.standList[0].standNumber;
this.addForm.responsibleUnit = this.standList[0].zrbm || "--";
this.addForm.standId = this.standList[0].standId;
this.drawerTitle = "新增";
this.drawerTable = true;
this.listModel = false;
}
},
getItem() {
this.$http.get("SarStandItems/sar-stand-items/findAllItems", {
ids: this.breakId,
type: "FBGBJBD"
}, {
_this: this
}, res => {
this.itemsData = res.data;
this.replaceTotal = res.data.length;
}, e => {
this.$message.error("添加失败");
});
},
//手动查找
handSeek() {
this.itemModel = true;
this.getItem();
},
//带入项目取消事件
closeDrawer() {
this.projectModel = false;
},
//带入项目确定事件
OkDrawer() {
if (this.selectList.length > 1) {
this.$message.warning("您只能选择一条数据进行带入");
} else if (this.selectList.length === 0) {
this.$message.warning("请选择一条数据进行带入");
} else {
this.projectId = this.selectList[0].id;
this.addForm.productLine = this.selectList[0].productLine;
this.addForm.productType = this.selectList[0].projectPlatfor;
this.addForm.productName = this.selectList[0].projectName;
this.getStandData();
this.projectModel = false;
this.listModel = true;
}
},
//查询项目下的标准
getStandData(val) {
this.$http.get("sarStandProjectLibrary/queryStandInfo", { id: val.id }, {
getStandData(productId) {
this.$http.get("sarStandProjectLibrary/queryStandInfo", { id: productId }, {
_this: this
}, res => {
res.data.records.forEach(item => {
@@ -1028,9 +981,11 @@ export default {
//编辑事件
projectEdit(row) {
this.drawerTitle = "编辑";
this.addForm = row;
this.addFormEdit = row
this.addForm = row
let productId = row.standId
this.getProjectData()
this.getStandData(productId)
this.serialNumber = false
this.drawerTable = true;
},
//点击查看按钮事件
@@ -1113,32 +1068,63 @@ export default {
this.addForm.standSerialNumber = ''
this.addForm.responsibleUnit = ''
}
this.addForm.productLine = val.productLine
this.addForm.productName = val.projectName
this.addForm.productType = val.projectPlatfor
this.serialNumber = false
this.getStandData(val)
this.addForm.productId = val.id
this.addForm.productLine = val.productLine
this.addForm.productName = val.projectName
this.addForm.productType = val.projectPlatfor
this.serialNumber = false
let productId = val.id
this.getStandData(productId)
},
/** 标准号change事件 */
standChange(item) {
this.addForm.standName = item.standName
this.addForm.standSerialNumber = item.standSort + '-' + item.standNumber + '-' + item.standYear
this.addForm.responsibleUnit = item.zrbm || "--";
}
},
/** 责任工程师选择 */
choiceZRR(type, title, id) {
this.nodeList = []
this.nodeList.push(id)
this.type = type
this.roleShowflag = true
},
drawerCheck(data) {
this.addForm.dutyEngineer = data[0].name.slice(0,data[0].name.indexOf('('))
this.roleShowflag = false
},
/** 选择认证工程师和质量工程师 */
choiceMore(type, title, id) {
this.nodeListMore = []
this.nodeListMore.push(id)
this.type = type
this.titleMore = title
this.roleShowMore = true
},
drawerMore(data) {
var idList = ''
var nameList = ''
data.forEach(item => {
if (nameList.length > 0) {
nameList += ','
idList += ','
}
idList += item.id
nameList += item.name.slice(0,item.name.indexOf('('))
})
if (this.type === 'authEngineer') {
this.addForm.authEngineer = nameList
} else {
this.addForm.qaEngineer = nameList
}
this.roleShowMore = true
},
},
mounted() {
//查询已维护的项目
this.getProjectData();
// 从数据库中查询各下拉框数据
this.$http.get("sys/dictype/getDicTypeListCode", "", {
_this: this
}, res => {
this.zrbmOptions = res.data.ZRBMCLASS; // 责任部门
this.getTableByPage();
}, e => {
});
this.getData()
// 加载所有的部门
this.getOrgTreeSource();
}
@@ -1146,7 +1132,9 @@ export default {
</script>
<style lang="less" scoped>
.el-select-dropdown__item.selected {
color: #606266 !important;
}
#rectification-dataBase {
/deep/ .table-wrap {
.el-table__fixed {
@@ -1214,14 +1202,9 @@ export default {
background-color: #fff;
color: #7e8083;
}
/deep/.el-select-dropdown__item.selected {
color: #8d8e91;
}
}
}
}
/deep/.el-select-dropdown__item.selected {
color: #8d8e91 !important;
}
}
</style>