|
|
|
@ -188,19 +188,19 @@ |
|
|
|
<el-dialog :title="oneKeyDialogMode === 'edit' ? '修改项目/物料/打样' : '一键创建项目/物料/打样'" :visible.sync="oneKeyDialogVisible" :close-on-click-modal="false" width="1000px"> |
|
|
|
<el-form :model="oneKeyForm" label-position="top" class="one-key-grid-form"> |
|
|
|
<el-row :gutter="16"> |
|
|
|
<el-col :span="6"> |
|
|
|
<el-col :span="6" v-show="isOneKeyCreateFieldVisible('buNo')"> |
|
|
|
<el-form-item label="BU" required> |
|
|
|
<el-select v-model="oneKeyForm.buNo" placeholder="请选择" style="width: 100%"> |
|
|
|
<el-option v-for="item in userBuList" :key="item.buNo" :label="item.buDesc" :value="item.buNo"></el-option> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="6"> |
|
|
|
<el-col :span="6" v-show="isOneKeyCreateFieldVisible('projectNo')"> |
|
|
|
<el-form-item label="项目编码"> |
|
|
|
<el-input v-model="oneKeyForm.projectNo" style="width: 100%"></el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="12"> |
|
|
|
<el-col :span="12" v-show="isOneKeyCreateFieldVisible('projectDesc')"> |
|
|
|
<el-form-item label="项目名称"> |
|
|
|
<el-input v-model="oneKeyForm.projectDesc" style="width: 100%"></el-input> |
|
|
|
</el-form-item> |
|
|
|
@ -208,7 +208,7 @@ |
|
|
|
</el-row> |
|
|
|
|
|
|
|
<el-row :gutter="16"> |
|
|
|
<el-col :span="6"> |
|
|
|
<el-col :span="6" v-show="isOneKeyCreateFieldVisible('customerNo')"> |
|
|
|
<el-form-item> |
|
|
|
<span slot="label" class="big-label"> |
|
|
|
<a href="javascript:void(0)" @click="getBaseList(509)">客户编码</a> |
|
|
|
@ -217,12 +217,12 @@ |
|
|
|
<el-input v-model="oneKeyForm.customerNo" @blur="customerNoBlur" style="width: 100%"></el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="12"> |
|
|
|
<el-col :span="12" v-show="isOneKeyCreateFieldVisible('customerDesc')"> |
|
|
|
<el-form-item label="客户名称"> |
|
|
|
<el-input v-model="oneKeyForm.customerDesc" disabled style="width: 100%"></el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="6"> |
|
|
|
<el-col :span="6" v-show="isOneKeyCreateFieldVisible('cProjectRegion')"> |
|
|
|
<el-form-item label="区域"> |
|
|
|
<el-select v-model="oneKeyForm.cProjectRegion" placeholder="请选择" clearable style="width: 100%"> |
|
|
|
<el-option |
|
|
|
@ -237,7 +237,7 @@ |
|
|
|
</el-row> |
|
|
|
|
|
|
|
<el-row :gutter="16"> |
|
|
|
<el-col :span="6"> |
|
|
|
<el-col :span="6" v-show="isOneKeyCreateFieldVisible('projectCreationDate')"> |
|
|
|
<el-form-item label="立项日期"> |
|
|
|
<el-date-picker |
|
|
|
v-model="oneKeyForm.projectCreationDate" |
|
|
|
@ -248,7 +248,7 @@ |
|
|
|
</el-date-picker> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="6"> |
|
|
|
<el-col :span="6" v-show="isOneKeyCreateFieldVisible('needDate')"> |
|
|
|
<el-form-item label="预计完成日期"> |
|
|
|
<el-date-picker |
|
|
|
v-model="oneKeyForm.needDate" |
|
|
|
@ -259,14 +259,14 @@ |
|
|
|
</el-date-picker> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="6"> |
|
|
|
<el-col :span="6" v-show="isOneKeyCreateFieldVisible('projectCategory')"> |
|
|
|
<el-form-item label="项目分类"> |
|
|
|
<el-select v-model="oneKeyForm.projectCategory" placeholder="请选择" clearable style="width: 100%"> |
|
|
|
<el-option v-for="item in projectCategoryList" :key="item" :label="item" :value="item"></el-option> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="6"> |
|
|
|
<el-col :span="6" v-show="isOneKeyCreateFieldVisible('priorityLevel')"> |
|
|
|
<el-form-item label="优先级"> |
|
|
|
<el-select v-model="oneKeyForm.priorityLevel" placeholder="请选择" clearable style="width: 100%"> |
|
|
|
<el-option v-for="item in priorityList" :key="item" :label="item" :value="item"></el-option> |
|
|
|
@ -276,17 +276,17 @@ |
|
|
|
</el-row> |
|
|
|
|
|
|
|
<el-row :gutter="16"> |
|
|
|
<el-col :span="6"> |
|
|
|
<el-col :span="6" v-show="isOneKeyCreateFieldVisible('testPartNo')"> |
|
|
|
<el-form-item label="项目料号"> |
|
|
|
<el-input v-model="oneKeyForm.testPartNo" style="width: 100%"></el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="12"> |
|
|
|
<el-col :span="12" v-show="isOneKeyCreateFieldVisible('partDesc')"> |
|
|
|
<el-form-item label="料号描述"> |
|
|
|
<el-input v-model="oneKeyForm.partDesc" style="width: 100%"></el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="6"> |
|
|
|
<el-col :span="6" v-show="isOneKeyCreateFieldVisible('partType')"> |
|
|
|
<el-form-item label="料号状态"> |
|
|
|
<el-select v-model="oneKeyForm.partType" placeholder="请选择" clearable style="width: 100%"> |
|
|
|
<el-option v-for="item in partTypeList" :key="item" :label="item" :value="item"></el-option> |
|
|
|
@ -296,25 +296,25 @@ |
|
|
|
</el-row> |
|
|
|
|
|
|
|
<el-row :gutter="16"> |
|
|
|
<el-col :span="6"> |
|
|
|
<el-col :span="6" v-show="isOneKeyCreateFieldVisible('projectManager')"> |
|
|
|
<el-form-item> |
|
|
|
<span slot="label" class="big-label"><a href="javascript:void(0)" @click="openRoleDialog('projectManager')">PM/Sales</a></span> |
|
|
|
<el-input v-model="oneKeyForm.projectManagerName" disabled style="width: 100%"></el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="6"> |
|
|
|
<el-col :span="6" v-show="isOneKeyCreateFieldVisible('projectOwner')"> |
|
|
|
<el-form-item> |
|
|
|
<span slot="label" class="big-label"><a href="javascript:void(0)" @click="openRoleDialog('projectOwner')">PjM</a></span> |
|
|
|
<el-input v-model="oneKeyForm.projectOwnerName" disabled style="width: 100%"></el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="6"> |
|
|
|
<el-col :span="6" v-show="isOneKeyCreateFieldVisible('engineer')"> |
|
|
|
<el-form-item> |
|
|
|
<span slot="label" class="big-label"><a href="javascript:void(0)" @click="openRoleDialog('engineer')">Engineer</a></span> |
|
|
|
<el-input v-model="oneKeyForm.engineerName" disabled style="width: 100%"></el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="6"> |
|
|
|
<el-col :span="6" v-show="isOneKeyCreateFieldVisible('cManufactureEngineer')"> |
|
|
|
<el-form-item> |
|
|
|
<span slot="label" class="big-label"><a href="javascript:void(0)" @click="openRoleDialog('cManufactureEngineer')">MFG</a></span> |
|
|
|
<el-input v-model="oneKeyForm.cManufactureEngineerName" disabled style="width: 100%"></el-input> |
|
|
|
@ -323,25 +323,25 @@ |
|
|
|
</el-row> |
|
|
|
|
|
|
|
<el-row :gutter="16"> |
|
|
|
<el-col :span="6"> |
|
|
|
<el-col :span="6" v-show="isOneKeyCreateFieldVisible('cQualityEngineer6')"> |
|
|
|
<el-form-item> |
|
|
|
<span slot="label" class="big-label"><a href="javascript:void(0)" @click="openRoleDialog('cQualityEngineer6')">IQC</a></span> |
|
|
|
<el-input v-model="oneKeyForm.cQualityEngineer6Name" disabled style="width: 100%"></el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="6"> |
|
|
|
<el-col :span="6" v-show="isOneKeyCreateFieldVisible('cQualityEngineer1')"> |
|
|
|
<el-form-item> |
|
|
|
<span slot="label" class="big-label"><a href="javascript:void(0)" @click="openRoleDialog('cQualityEngineer1')">IPQC-Lam/Pri/Etch/Slit</a></span> |
|
|
|
<el-input v-model="oneKeyForm.cQualityEngineer1Name" disabled style="width: 100%"></el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="6"> |
|
|
|
<el-col :span="6" v-show="isOneKeyCreateFieldVisible('cQualityEngineer2')"> |
|
|
|
<el-form-item> |
|
|
|
<span slot="label" class="big-label"><a href="javascript:void(0)" @click="openRoleDialog('cQualityEngineer2')">IPQC-Converting</a></span> |
|
|
|
<el-input v-model="oneKeyForm.cQualityEngineer2Name" disabled style="width: 100%"></el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="6"> |
|
|
|
<el-col :span="6" v-show="isOneKeyCreateFieldVisible('cQualityEngineer4')"> |
|
|
|
<el-form-item> |
|
|
|
<span slot="label" class="big-label"><a href="javascript:void(0)" @click="openRoleDialog('cQualityEngineer4')">SQE</a></span> |
|
|
|
<el-input v-model="oneKeyForm.cQualityEngineer4Name" disabled style="width: 100%"></el-input> |
|
|
|
@ -350,25 +350,25 @@ |
|
|
|
</el-row> |
|
|
|
|
|
|
|
<el-row :gutter="16"> |
|
|
|
<el-col :span="6"> |
|
|
|
<el-col :span="6" v-show="isOneKeyCreateFieldVisible('cQualityEngineer3')"> |
|
|
|
<el-form-item> |
|
|
|
<span slot="label" class="big-label"><a href="javascript:void(0)" @click="openRoleDialog('cQualityEngineer3')">FQC1</a></span> |
|
|
|
<el-input v-model="oneKeyForm.cQualityEngineer3Name" disabled style="width: 100%"></el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="6"> |
|
|
|
<el-col :span="6" v-show="isOneKeyCreateFieldVisible('cQualityEngineer5')"> |
|
|
|
<el-form-item> |
|
|
|
<span slot="label" class="big-label"><a href="javascript:void(0)" @click="openRoleDialog('cQualityEngineer5')">FQC2</a></span> |
|
|
|
<el-input v-model="oneKeyForm.cQualityEngineer5Name" disabled style="width: 100%"></el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="6"> |
|
|
|
<el-col :span="6" v-show="isOneKeyCreateFieldVisible('ipqcHardTag')"> |
|
|
|
<el-form-item> |
|
|
|
<span slot="label" class="big-label"><a href="javascript:void(0)" @click="openRoleDialog('ipqcHardTag')">IPQC-Hardtag</a></span> |
|
|
|
<el-input v-model="oneKeyForm.ipqcHardTagName" disabled style="width: 100%"></el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="6"> |
|
|
|
<el-col :span="6" v-show="isOneKeyCreateFieldVisible('cQualityEngineer7')"> |
|
|
|
<el-form-item> |
|
|
|
<span slot="label" class="big-label"><a href="javascript:void(0)" @click="openRoleDialog('cQualityEngineer7')">前道工程师</a></span> |
|
|
|
<el-input v-model="oneKeyForm.cQualityEngineer7Name" disabled style="width: 100%"></el-input> |
|
|
|
@ -377,26 +377,26 @@ |
|
|
|
</el-row> |
|
|
|
|
|
|
|
<el-row :gutter="16"> |
|
|
|
<el-col :span="6"> |
|
|
|
<el-col :span="6" v-show="isOneKeyCreateFieldVisible('docEngineer')"> |
|
|
|
<el-form-item> |
|
|
|
<span slot="label" class="big-label"><a href="javascript:void(0)" @click="openRoleDialog('docEngineer')">文档工程师</a></span> |
|
|
|
<el-input v-model="oneKeyForm.docEngineerName" disabled style="width: 100%"></el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="6"> |
|
|
|
<el-col :span="6" v-show="isOneKeyCreateFieldVisible('docEngineer2')"> |
|
|
|
<el-form-item> |
|
|
|
<span slot="label" class="big-label"><a href="javascript:void(0)" @click="openRoleDialog('docEngineer2')">文档工程师2</a></span> |
|
|
|
<el-input v-model="oneKeyForm.docEngineer2Name" disabled style="width: 100%"></el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="6"> |
|
|
|
<el-col :span="6" v-show="isOneKeyCreateFieldVisible('projectStatus')"> |
|
|
|
<el-form-item label="项目状态"> |
|
|
|
<el-select v-model="oneKeyForm.projectStatus" clearable style="width: 100%"> |
|
|
|
<el-option v-for="item in projectStatusList" :key="item" :label="item" :value="item" /> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="6"> |
|
|
|
<el-col :span="6" v-show="isOneKeyCreateFieldVisible('projectPhase')"> |
|
|
|
<el-form-item label="项目阶段"> |
|
|
|
<el-select v-model="oneKeyForm.projectPhase" clearable style="width: 100%"> |
|
|
|
<el-option |
|
|
|
@ -411,12 +411,12 @@ |
|
|
|
</el-row> |
|
|
|
|
|
|
|
<el-row :gutter="16"> |
|
|
|
<el-col :span="6"> |
|
|
|
<el-col :span="6" v-show="isOneKeyCreateFieldVisible('proofingNo')"> |
|
|
|
<el-form-item label="打样单号"> |
|
|
|
<el-input v-model="oneKeyForm.proofingNo" style="width: 100%"></el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="6"> |
|
|
|
<el-col :span="6" v-show="isOneKeyCreateFieldVisible('proofingStatus')"> |
|
|
|
<el-form-item label="打样状态"> |
|
|
|
<el-select v-model="oneKeyForm.proofingStatus" clearable style="width: 100%"> |
|
|
|
<el-option label="草稿" value="草稿" /> |
|
|
|
@ -426,12 +426,12 @@ |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="6"> |
|
|
|
<el-col :span="6" v-show="isOneKeyCreateFieldVisible('proofingNumber')"> |
|
|
|
<el-form-item label="数量"> |
|
|
|
<el-input v-model.number="oneKeyForm.proofingNumber" style="width: 100%"></el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="6"> |
|
|
|
<el-col :span="6" v-show="isOneKeyCreateFieldVisible('planStartDate')"> |
|
|
|
<el-form-item label="打样开始日期"> |
|
|
|
<el-date-picker |
|
|
|
v-model="oneKeyForm.planStartDate" |
|
|
|
@ -445,7 +445,7 @@ |
|
|
|
</el-row> |
|
|
|
|
|
|
|
<el-row :gutter="16"> |
|
|
|
<el-col :span="6"> |
|
|
|
<el-col :span="6" v-show="isOneKeyCreateFieldVisible('requiredDeliveryDate')"> |
|
|
|
<el-form-item label="预计交付日期"> |
|
|
|
<el-date-picker |
|
|
|
v-model="oneKeyForm.requiredDeliveryDate" |
|
|
|
@ -456,7 +456,7 @@ |
|
|
|
</el-date-picker> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="18"> |
|
|
|
<el-col :span="isOneKeyCreateFieldVisible('requiredDeliveryDate') ? 18 : 24" v-show="isOneKeyCreateFieldVisible('remark')"> |
|
|
|
<el-form-item label="备注"> |
|
|
|
<el-input type="textarea" :rows="2" v-model="oneKeyForm.remark" style="width: 100%"></el-input> |
|
|
|
</el-form-item> |
|
|
|
@ -851,6 +851,44 @@ export default { |
|
|
|
{ projectPhase: 'Beta' }, |
|
|
|
{ projectPhase: 'Pre-launch' } |
|
|
|
], |
|
|
|
// 一键创建字段白名单(仅 create 模式生效):后续确认要隐藏哪些字段时,只改这里即可。 |
|
|
|
oneKeyCreateVisibleFieldKeys: [ |
|
|
|
'buNo', |
|
|
|
'projectNo', |
|
|
|
'projectDesc', |
|
|
|
'customerNo', |
|
|
|
'customerDesc', |
|
|
|
'cProjectRegion', |
|
|
|
'projectCreationDate', |
|
|
|
'needDate', |
|
|
|
'projectCategory', |
|
|
|
'priorityLevel', |
|
|
|
'testPartNo', |
|
|
|
'partDesc', |
|
|
|
'partType', |
|
|
|
'projectManager', |
|
|
|
'projectOwner', |
|
|
|
'engineer', |
|
|
|
'cManufactureEngineer', |
|
|
|
'cQualityEngineer6', |
|
|
|
'cQualityEngineer1', |
|
|
|
'cQualityEngineer2', |
|
|
|
'cQualityEngineer4', |
|
|
|
'cQualityEngineer3', |
|
|
|
'cQualityEngineer5', |
|
|
|
'ipqcHardTag', |
|
|
|
'cQualityEngineer7', |
|
|
|
'docEngineer', |
|
|
|
'docEngineer2', |
|
|
|
'projectStatus', |
|
|
|
'projectPhase', |
|
|
|
'proofingNo', |
|
|
|
'proofingStatus', |
|
|
|
'proofingNumber', |
|
|
|
'planStartDate', |
|
|
|
'requiredDeliveryDate', |
|
|
|
'remark' |
|
|
|
], |
|
|
|
userBuList: [], |
|
|
|
tagNo: '', |
|
|
|
newCustomerFlag: false, |
|
|
|
@ -1401,6 +1439,12 @@ export default { |
|
|
|
const category = source.cProjectTypeDb || source.projectCategory || source.project_category || source.c_project_type_db || '' |
|
|
|
return this.isBlankValue(category) ? '' : String(category).trim() |
|
|
|
}, |
|
|
|
isOneKeyCreateFieldVisible (fieldKey) { |
|
|
|
if (this.oneKeyDialogMode !== 'create') { |
|
|
|
return true |
|
|
|
} |
|
|
|
return this.oneKeyCreateVisibleFieldKeys.indexOf(fieldKey) > -1 |
|
|
|
}, |
|
|
|
isBlankValue (value) { |
|
|
|
return value == null || String(value).trim() === '' |
|
|
|
}, |
|
|
|
|