Commit 7a3fe588 authored by lwy's avatar lwy
parents 50afbf5f 927e2edf
......@@ -52,9 +52,9 @@ export function delLogicTemplate(id) {
}
// 获取全部事业部
export function getAllUnit() {
export function getAllUnit(data) {
return request({
url: '/control/baseIntlPartTemplate/getAllUnit',
url: '/control/baseIntlPartTemplate/getAllUnit/' + data,
method: 'get'
})
}
......@@ -4,7 +4,7 @@
<el-table-column label="序号" type="index" align="center" width="55"/>
<el-table-column label="事业部" prop="divisionCn" align="center">
<template #default="scope">
{{Object.values(JSON.parse(scope.row.divisionCn)).join('、')}}
{{Object.values(scope.row.divisionCn).join('、')}}
</template>
</el-table-column>
<el-table-column label="创建人" prop="createByName" align="center"/>
......@@ -16,7 +16,7 @@
<template #default="scope">
<el-button link type="primary" @click="handleTemplateDetailView(scope.row)">维护模板内容</el-button>
<el-button link type="warning" @click="handleCopyAdd" v-show="scope.row.isDefault === 1">复制新增</el-button>
<el-button link type="primary" @click="handleAddDivision" v-show="scope.row.isDefault === 1">添加事业部</el-button>
<el-button link type="primary" @click="handleAddDivision(scope.row)" v-show="scope.row.isDefault === 1">添加事业部</el-button>
<el-button link type="danger" @click="handleDelete(scope.row)" v-show="scope.row.isDefault === 0">删除</el-button>
</template>
</el-table-column>
......@@ -46,15 +46,15 @@
</el-form>
<template #footer>
<div class="dialog-footer">
<el-button type="primary" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
<el-button type="primary" @click="submitForm">确 定</el-button>
</div>
</template>
</el-dialog>
<!-- 添加事业部对话框 -->
<el-dialog :title="title" v-model="open2" width="500px" append-to-body>
<el-form ref="templateRef" :model="form" :rules="rules" label-width="80px">
<el-form ref="templateRef" :model="form" label-width="80px">
<el-form-item label="事业部" prop="division">
<el-select v-model="form.division" placeholder="请选择">
<el-option
......@@ -68,8 +68,8 @@
</el-form>
<template #footer>
<div class="dialog-footer">
<el-button type="primary" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
<el-button type="primary" @click="submitForm">确 定</el-button>
</div>
</template>
</el-dialog>
......@@ -77,7 +77,7 @@
</template>
<script setup>
import { listTemplate, addTemplate, getAllUnit } from "@/api/control/baseIntlPartTemplate.js";
import { listTemplate, addTemplate, getAllUnit, delLogicTemplate, updateTemplate } from "@/api/BaseIntlPartTemplate/baseIntlPartTemplate.js";
const { proxy } = getCurrentInstance();
......@@ -91,31 +91,18 @@ const title = ref("");
const divisionOptions = ref([]);
const data = reactive({
form: {},
form: {
id: null,
division: [],
divisionCn: []
},
queryParams: {
pageNum: 1,
pageSize: 10,
},
rules: {
division: [
// 事业部不能重复 事业部存储为josn
{
validator: (rule, value, callback) => {
for (let i = 0; i < templateList.value.length; i++) {
if (templateList.value[i].division === value) {
callback(new Error("该事业部已存在"));
return;
}
}
callback();
},
trigger: "blur"
}
]
}
});
const { queryParams, form, rules } = toRefs(data);
const { queryParams, form } = toRefs(data);
/** 查询国际关键零部件模版列表 */
function getList() {
......@@ -128,8 +115,8 @@ function getList() {
}
// 获取事业部下拉框
function getDivisionList() {
getAllUnit().then(response => {
function getDivisionList(data) {
getAllUnit(data).then(response => {
divisionOptions.value = response.data.map(item => {
return {
value: item.id,
......@@ -147,21 +134,45 @@ function handleTemplateDetailView(row) {
// 复制新增
function handleCopyAdd() {
// 候选值为奇瑞之外且未在主列表单独列出的事业部
getDivisionList();
let type = 0;
getDivisionList(type);
open.value = true;
title.value = "复制新增";
}
let oldDivisionId = [];
let oldDivisionCn = [];
// 添加事业部
function handleAddDivision() {
function handleAddDivision(row) {
// 候选值为不在主列表中的事业部
getDivisionList();
let type = 1;
getDivisionList(type);
oldDivisionId = row.division;
oldDivisionCn = row.divisionCn;
form.value.id = row.id;
open2.value = true;
title.value = "添加事业部";
}
// 处理事业部选择变化
function handleDivisionChange(selectedValue) {
const selectedOption = divisionOptions.value.find(option => option.value === selectedValue);
form.value.division = form.value.division.split(','); // 将字符串转换为数组
if (selectedOption) {
if (oldDivisionId){
form.value.division = oldDivisionId.concat(selectedValue);
form.value.divisionCn = oldDivisionCn.concat(selectedOption.label);
}else {
form.value.division.push(selectedValue);
form.value.divisionCn.push(selectedOption.label);
}
}
}
// 取消按钮
function cancel() {
open.value = false;
open2.value = false;
divisionOptions.value = [];
reset();
}
......@@ -179,25 +190,32 @@ function reset() {
function submitForm() {
proxy.$refs["templateRef"].validate(valid => {
if (valid) {
handleDivisionChange(form.value.division)
if (form.value.id != null) {
// 添加事业部
updateTemplate(form.value).then(response => {
proxy.$modal.msgSuccess("修改成功");
open2.value = false;
reset()
getList();
});
} else {
// 复制新增
addTemplate(form.value).then(response => {
if (response.code === 200){
proxy.$modal.msgSuccess("新增成功");
open.value = false;
open2.value = false;
reset()
getList();
}else {
proxy.$modal.msgError(response.msg)
}
});
}
}
});
}
/** 逻辑删除按钮操作 */
function handleDelete(row) {
const _ids = row.id;
proxy.$modal.confirm('是否确认删除事业部为"' + row.divisionCn + '"的数据项?').then(function() {
return delLogicTemplate(_ids);
proxy.$modal.confirm('是否确认删除事业部为"' + Object.values(row.divisionCn).join('、') + '"的数据项?').then(function() {
return delLogicTemplate(row.id);
}).then(() => {
getList();
proxy.$modal.msgSuccess("删除成功");
......
<template>
<div class="app-container">
<div class="top-header">
<el-button class="back-button" @click="handleBack">
<span class="back-icon"></span>
返回
</el-button>
<div>
已编制
</div>
</div>
<div class="component-selector">
<el-tabs v-model="activeTab" class="demo-tabs">
<el-tab-pane label="关键零部件清单" name="first">
<el-steps :active="2" align-center>
<el-step title="Step 1" description="Some description" />
<el-step title="Step 2" description="Some description" />
<el-step title="Step 3" description="Some description" />
<el-step title="Step 4" description="Some description" />
</el-steps>
<div>
<div class="tab-components">
<span class="components-span">编制详情</span>
<el-button type="primary">查看变更履历</el-button>
</div>
<el-descriptions border :column="4">
<el-descriptions-item label="文件编号">kooriookami</el-descriptions-item>
<el-descriptions-item label="清单版本号">18100000000</el-descriptions-item>
<el-descriptions-item label="修订日期">Suzhou</el-descriptions-item>
<el-descriptions-item label="编制/日期">132132/666</el-descriptions-item>
<el-descriptions-item label="车型代码">Province</el-descriptions-item>
<el-descriptions-item label="车型系列部门">CJ1A</el-descriptions-item>
<el-descriptions-item label=""></el-descriptions-item>
<el-descriptions-item label="审核/日期">CJ1A</el-descriptions-item>
<el-descriptions-item label="联系人">于昌淼</el-descriptions-item>
<el-descriptions-item label="联系部门">123456789</el-descriptions-item>
<el-descriptions-item label="联系电话">999666333</el-descriptions-item>
<el-descriptions-item label="批准/日期">CJ1A</el-descriptions-item>
<el-descriptions-item label="生产厂">奇瑞汽车股份有限公司</el-descriptions-item>
<el-descriptions-item label="生产地址">中国安徽省芜湖市经济开发区长春路8号</el-descriptions-item>
<el-descriptions-item label="生产情况">
<el-radio-group v-model="radio1" class="ml-4">
<el-radio label="1" >试生产</el-radio>
<el-radio label="2" >生产</el-radio>
</el-radio-group>
</el-descriptions-item>
<el-descriptions-item label=""></el-descriptions-item>
<el-descriptions-item label="系列车型型号">
999666333、888555222、777444111、
999666333、888555222、777444111、
999666333、888555222、777444111、
999666333、888555222、777444111、
999666333、888555222、777444111、
999666333、888555222、777444111、
</el-descriptions-item>
</el-descriptions>
<el-form :inline="true" :model="queryParams" class="demo-form-inline">
<el-form-item label="一级名称:">
<el-select
v-model="queryParams.region"
placeholder="请选择"
clearable
style="width: 180px;"
>
<el-option label="Zone one" value="shanghai" />
<el-option label="Zone two" value="beijing" />
</el-select>
</el-form-item>
<el-form-item label="二级名称:">
<el-input v-model="queryParams.user" placeholder="请输入" clearable />
</el-form-item>
<el-form-item label="型号规格:">
<el-input v-model="queryParams.user" placeholder="请输入" clearable />
</el-form-item>
<el-form-item label="生产厂:">
<el-input v-model="queryParams.user" placeholder="请输入" clearable />
</el-form-item>
<el-form-item label="3C证书编号:">
<el-input v-model="queryParams.user" placeholder="请输入" clearable />
</el-form-item>
<el-form-item label="适用车型:">
<el-select
v-model="queryParams.region"
placeholder="请选择"
clearable
style="width: 180px;"
>
<el-option label="Zone one" value="shanghai" />
<el-option label="Zone two" value="beijing" />
</el-select>
</el-form-item>
<el-form-item label="检验文件编号:">
<el-input v-model="queryParams.user" placeholder="请输入" clearable />
</el-form-item>
<el-form-item label="备注:">
<el-input v-model="queryParams.user" placeholder="请输入" clearable />
</el-form-item>
<el-form-item label="零件号:">
<el-input v-model="queryParams.user" placeholder="请输入" clearable />
</el-form-item>
<el-form-item label="专业部门:">
<el-input v-model="queryParams.user" placeholder="请输入" clearable />
</el-form-item>
<el-form-item label="3C认证标志:">
<el-input v-model="queryParams.user" placeholder="请输入" clearable />
</el-form-item>
<el-form-item label="填写状态:">
<el-select
v-model="queryParams.region"
placeholder="请选择"
clearable
style="width: 180px;"
>
<el-option label="Zone one" value="shanghai" />
<el-option label="Zone two" value="beijing" />
</el-select>
</el-form-item>
<el-form-item>
<el-button class="btn-A" icon="Search" @click="handleQuery">搜索</el-button>
<el-button class="btn-B" icon="Refresh" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
</div>
</el-tab-pane>
<el-tab-pane label="关键工序、装配、检验过程清单" name="second">
</el-tab-pane>
<el-tab-pane label="COP试验喝检查表-制造" name="third">
</el-tab-pane>
<el-tab-pane label="COP试验喝检查表-质管" name="four">
</el-tab-pane>
</el-tabs>
</div>
</div>
</template>
<script setup>
import {listTemplateDetail, listTemplateForm} from '@/api/system/controlPlan.js'
const { proxy } = getCurrentInstance();
import { ref, getCurrentInstance } from 'vue'
const total = ref(0)
const formList = ref([])
const activeTab = ref('first') // 默认激活第一个标签页
const radio1 = ref('1')
const templateDetailList = ref([])
// 修改data定义方式
const queryParams = ref({
pageNum: 1,
pageSize: 10
})
watch(activeTab, (newVal) => {
queryParams.value.pageNum = 1 // 切换标签时重置页码
// getList(newVal)
})
const handlePagination = ({ page, limit }) => {
queryParams.value.pageNum = page
queryParams.value.pageSize = limit
// getList(activeTab.value)
}
// function getFrom() {
// const id = proxy.$route.query.id
// listTemplateForm(id).then(response => {
// formList.value = response.data
// if (formList.value.length > 0) {
// activeTab.value = formList.value[0].id // 默认第一个标签的id
// getList(formList.value[0].id) // 初始化加载第一个标签的数据
// }
// })
// }
// function getList(formId){
// listTemplateDetail({
// id: formId,
// pageNum: queryParams.value.pageNum,
// pageSize: queryParams.value.pageSize
// }).then(response => {
// templateDetailList.value = response.rows
// total.value = response.total
// })
// }
const handleBack = () => {
proxy.$router.push({ path: '/control/baseConfig/fill'});
}
onMounted(() => {
// getFrom();
})
</script>
<style scoped lang="scss">
.top-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 16px;
}
.demo-tabs {
.tab-components{
display: flex;
justify-content: space-between;
align-items: center;
.components-span{
border-left: 5px solid #409eff;
padding-left: 5px;
color: #409eff;
}
}
}
</style>
......@@ -321,7 +321,7 @@ function addBusiness(row){
tableDialogTitle.value = '添加事业部'
tableDialogVisible.value =true
tableDialogForm.value.id = row.id
// getBusinessListExclude();
getBusinessListExclude();
}
//获取所有事业部(除了奇瑞,除了列表里面的出现的)
function getBusinessListExclude(){
......@@ -463,27 +463,26 @@ function cancelClick() {
//添加事业部等对话框确定按钮
function dialog2Sure(){
dialogForm2.value.validate((v)=>{
//
// if (v){
// console.log(tableDialogForm.value)
// if(tableDialogTitle.value === "添加事业部"){
// addBusinessUnit(tableDialogForm.value).then(res=>{
// if(res.code === 200){
// ElMessage.success("添加成功")
// dialog2Cancel()
// }
// })
// }else{
// //复制新增
// coypAddCcapManager(tableDialogForm.value).then(res=>{
// if(res.code === 200){
// ElMessage.success("复制成功")
// dialog2Cancel()
// }
// })
// }
//
// }
if (v){
console.log(tableDialogForm.value)
if(tableDialogTitle.value === "添加事业部"){
addBusinessUnit(tableDialogForm.value).then(res=>{
if(res.code === 200){
ElMessage.success("添加成功")
dialog2Cancel()
}
})
}else{
//复制新增
coypAddCcapManager(tableDialogForm.value).then(res=>{
if(res.code === 200){
ElMessage.success("复制成功")
dialog2Cancel()
}
})
}
}
})
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment