Browse Source

2024-04-29 ecn审核

master
fengyuan_yang 2 years ago
parent
commit
16f3fdf00b
  1. 14
      src/api/changeManagement/changeManagement.js
  2. 6
      src/api/customer/customerInformation.js
  3. 28
      src/api/processManagement/processManagement.js
  4. 120
      src/views/modules/changeManagement/changeRecord.vue
  5. 14
      src/views/modules/changeManagement/changeRequest.vue
  6. 53
      src/views/modules/customer/customerInformationManagement.vue
  7. 439
      src/views/modules/part/partInformation.vue
  8. 318
      src/views/modules/processManagement/processBindingInfo.vue
  9. 98
      src/views/modules/project/projectInfo/com_project_info_part.vue
  10. 26
      src/views/modules/sys/user-add-or-update.vue

14
src/api/changeManagement/changeManagement.js

@ -179,6 +179,20 @@ export const countersignatureSearch = data => createAPI(`/plm/changeManagement/c
*/
export const countersignatureUpdate = data => createAPI(`/plm/changeManagement/countersignatureUpdate`,'post',data)
/**
* 下达
* @param data
* @returns {*}
*/
export const issueChange = data => createAPI(`/plm/changeManagement/issueChange`,'post',data)
/**
* 提交
* @param data
* @returns {*}
*/
export const submitChange = data => createAPI(`/plm/changeManagement/submitChange`,'post',data)

6
src/api/customer/customerInformation.js

@ -26,3 +26,9 @@ export const customerInformationEdit = data => createAPI(`/plm/customerInformati
export const customerInformationDelete = data => createAPI(`/plm/customerInformation/customerInformationDelete`,'post',data)
export const customerInformationSearchForCheck= data => createAPI(`/plm/customerInformation/customerInformationSearchForCheck`,'post',data)
/**
* 客户组ID输入校验
* @param data
* @returns {*}
*/
export const checkCustomerGroup = data => createAPI(`/plm/customerInformation/checkCustomerGroup`,'post',data)

28
src/api/processManagement/processManagement.js

@ -56,5 +56,33 @@ export const saveRequestNodeDetail = data => createAPI(`/plm/request/saveRequest
**/
export const deleteRequestNodeDetailByLine = data => createAPI(`/plm/request/deleteRequestNodeDetailByLine`,'post',data)
/**
* 获取table列表
* @param data
* @returns {*}
*/
export const getTableList = data => createAPI(`/plm/request/getTableList`,'post',data)
/**
* 获取表字段
* @param data
* @returns {*}
*/
export const getFieldList = data => createAPI(`/plm/request/getFieldList`,'post',data)
/**
* 获取权限字段集合
* @param data
* @returns {*}
*/
export const getAuthorityFieldList = data => createAPI(`/plm/request/getAuthorityFieldList`,'post',data)
/**
* 保存节点权限
* @param data
* @returns {*}
*/
export const saveAuthorityList = data => createAPI(`/plm/request/saveAuthorityList`,'post',data)

120
src/views/modules/changeManagement/changeRecord.vue

@ -58,7 +58,7 @@
label="操作">
<template slot-scope="scope">
<el-link style="cursor: pointer" @click="updateModal(scope.row)">编辑</el-link>
<el-link style="cursor: pointer" @click="issueModal(scope.row)">下达</el-link>
<el-link v-if="scope.row.changeStatus === '草稿'" style="cursor: pointer" @click="issueModal(scope.row)">下达</el-link>
</template>
</el-table-column>
</el-table>
@ -262,6 +262,7 @@
<el-footer style="height:25px;text-align:center">
<el-button type="primary" @click="saveData">保存</el-button>
<el-button type="primary" @click="modalFlag = false">关闭</el-button>
<el-button type="primary" @click="submitDataModal">提交</el-button>
</el-footer>
</el-tab-pane>
@ -602,7 +603,6 @@
type="selection"
header-align="center"
align="center"
:selectable="selectFlag"
width="50">
</el-table-column>
<el-table-column
@ -802,10 +802,28 @@
</el-footer>
</el-dialog>
<!-- 提交 -->
<el-dialog title="提交" top="30vh" :close-on-click-modal="false" v-drag :visible.sync="submitModalFlag" width="226px">
<el-form :inline="true" label-position="top">
<el-form-item :label="'节点结论'">
<el-select filterable v-model="modalData.nodeConclusion" style="width: 200px" placeholder="请选择节点结论">
<el-option label="同意" value="Y"></el-option>
<el-option label="驳回" value="N"></el-option>
</el-select>
</el-form-item>
</el-form>
<el-footer style="height:40px;margin-top: 20px;text-align:center">
<el-button type="primary" @click="submitData">确定</el-button>
<el-button type="primary" @click="submitModalFlag = false">取消</el-button>
</el-footer>
</el-dialog>
<ChooseList ref="baseList" @getBaseData="getBaseData"></ChooseList>
<!-- 上传文件的modal -->
<changeUploadFile ref="changeUploadFile" @refreshPageTables="getChangeFileList" v-drag></changeUploadFile>
<upload-file-list folder="change" title="工程变更文件上传" :label="'变更单号:'" :no="currentRow.changeNo" :file-list.sync="chooseFileList" :upload-dialog.sync="uploadDialog" path="/upload/test"></upload-file-list>
</div>
</template>
@ -828,13 +846,17 @@
executionUpdate, // 修改执行信息
countersignatureSearch, // 查询会签信息
countersignatureUpdate, // 编辑会签信息
issueChange, // 下达
submitChange, // 提交
} from '@/api/changeManagement/changeManagement.js'
import ChooseList from '@/views/modules/common/Chooselist'
import changeUploadFile from "../base/upload_file.vue";
import {downLoadQuotationFile} from '@/api/quotation/quotationInformation.js'
import DictDataSelect from "../sys/dict-data-select.vue";
import UploadFileList from "../common/uploadFileList.vue";
export default {
components: {
UploadFileList,
DictDataSelect,
changeUploadFile,
ChooseList,
@ -875,7 +897,13 @@
}
}
},
uploadDialog (newValue,oldValue) {
if (newValue === false) {
this.getChangeFileList()
}
},
},
data () {
return {
// 导出
@ -938,7 +966,8 @@
cqcOperatorId: '',
cqcOperatorName: '',
faiOperatorId: '',
faiOperatorName: ''
faiOperatorName: '',
nodeConclusion: ''
},
costImpactData: {
site: this.$store.state.user.site,
@ -1011,6 +1040,7 @@
form: [],
modelList: [],
itemList: [],
chooseFileList: [],
// ======== 列表表头 ========
columnList: [
{
@ -1184,7 +1214,7 @@
columnProp: 'partNo',
headerAlign: 'center',
align: 'center',
columnLabel: '物料编码',
columnLabel: '正式物料编码',
columnHidden: false,
columnImage: false,
status: true,
@ -1364,7 +1394,7 @@
columnProp: 'partNo',
headerAlign: 'center',
align: 'center',
columnLabel: '物料编码',
columnLabel: '正式物料编码',
columnHidden: false,
columnImage: false,
status: true,
@ -1662,7 +1692,9 @@
modalFlag: false,
modalDisableFlag: false,
ecnTypeModalFlag: false,
chooseModelFlag: false
chooseModelFlag: false,
uploadDialog: false,
submitModalFlag: false
}
},
@ -1686,6 +1718,10 @@
},
methods: {
// 获取流程的配置权限
getNodeAuthority () {
},
// ======= 正则校验 =======
handleInput (value, type) {
@ -1982,10 +2018,11 @@
fileRemark: '',
folder: 'change',
}
this.uploadDialog = true
//打开组件 去做新增业务
this.$nextTick(() => {
this.$refs.changeUploadFile.init(currentData);
})
// this.$nextTick(() => {
// this.$refs.changeUploadFile.init(currentData);
// })
},
// 删除变更单文件
@ -2076,7 +2113,8 @@
cqcOperatorId: row.cqcOperatorId,
cqcOperatorName: row.cqcOperatorName,
faiOperatorId: row.faiOperatorId,
faiOperatorName: row.faiOperatorName
faiOperatorName: row.faiOperatorName,
nodeConclusion: ''
}
this.changeTitle = '变更申请-' + this.modalData.changeNo
// 查选择的ECN种类
@ -2096,7 +2134,61 @@
// 下达
issueModal (row) {
let tempData = {
site: row.site,
userName: this.$store.state.user.name,
changeNo: row.changeNo,
menuId: this.$route.meta.menuId
}
issueChange(tempData).then(({data}) => {
if (data && data.code === 0) {
this.getDataList()
this.$message({message: '操作成功', type: 'success'})
} else {
this.$alert(data.msg, '错误', {
confirmButtonText: '确定'
})
}
})
},
// 打开提交模态框
submitDataModal () {
this.modalData.nodeConclusion = 'Y'
this.submitModalFlag = true
},
// 提交
submitData () {
if (this.modalData.nodeConclusion == null || this.modalData.nodeConclusion === '') {
this.$message.warning('请选择节点结论!')
return
}
this.$confirm(`是否确认提交?`, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
let tempData = {
site: this.modalData.site,
userName: this.$store.state.user.name,
changeNo: this.modalData.changeNo,
menuId: this.$route.meta.menuId,
nodeConclusion: this.modalData.nodeConclusion
}
submitChange(tempData).then(({data}) => {
if (data && data.code === 0) {
this.getDataList()
this.$message({message: '操作成功', type: 'success'})
this.submitModalFlag = false
this.modalFlag = false
} else {
this.$alert(data.msg, '错误', {
confirmButtonText: '确定'
})
}
})
})
},
// 获取选择的ECN种类
@ -2286,10 +2378,10 @@
this.$message.warning('请选择CQC或者FAI人员!')
return
}
if (this.modalData.cqcOperatorId !== '' && this.modalData.cqcOperatorId != null && this.modalData.faiOperatorId !== '' && this.modalData.faiOperatorId != null) {
this.$message.warning('CQC和FAI人员只能选一个!')
return
}
// if (this.modalData.cqcOperatorId !== '' && this.modalData.cqcOperatorId != null && this.modalData.faiOperatorId !== '' && this.modalData.faiOperatorId != null) {
// this.$message.warning('CQC和FAI人员只能选一个!')
// return
// }
this.modalData.detailList = this.chooseDataList
this.modalData.ecnTypeData = this.form
changeRequestUpdate(this.modalData).then(({data}) => {

14
src/views/modules/changeManagement/changeRequest.vue

@ -3,7 +3,7 @@
<!-- 查询条件 -->
<el-form :inline="true" label-position="top" :model="searchData">
<el-form-item label="物料编码">
<el-form-item label="正式物料编码">
<el-input v-model="searchData.partNo" clearable style="width: 120px"/>
</el-form-item>
<el-form-item label="物料名称">
@ -1049,7 +1049,7 @@
columnProp: 'partNo',
headerAlign: 'center',
align: 'center',
columnLabel: '物料编码',
columnLabel: '正式物料编码',
columnHidden: false,
columnImage: false,
status: true,
@ -1195,7 +1195,7 @@
columnProp: 'partNo',
headerAlign: 'center',
align: 'center',
columnLabel: '物料编码',
columnLabel: '正式物料编码',
columnHidden: false,
columnImage: false,
status: true,
@ -2069,10 +2069,10 @@
this.$message.warning('请选择CQC或者FAI人员!')
return
}
if (this.modalData.cqcOperatorId !== '' && this.modalData.cqcOperatorId != null && this.modalData.faiOperatorId !== '' && this.modalData.faiOperatorId != null) {
this.$message.warning('CQC和FAI人员只能选一个!')
return
}
// if (this.modalData.cqcOperatorId !== '' && this.modalData.cqcOperatorId != null && this.modalData.faiOperatorId !== '' && this.modalData.faiOperatorId != null) {
// this.$message.warning('CQC和FAI人员只能选一个!')
// return
// }
this.modalData.detailList = this.chooseDataList
this.modalData.ecnTypeData = this.form
this.fileData.orderRef1 = this.modalData.site

53
src/views/modules/customer/customerInformationManagement.vue

@ -149,12 +149,12 @@
<el-form :inline="true" label-position="top" :model="modalData" style="margin-left: 7px;margin-top: -5px;">
<el-form-item>
<span style="cursor: pointer" slot="label" @click="getBaseList(120)"><a herf="#">客户组1</a></span>
<el-input v-model="modalData.customerGroupId1" style="width: 124px"></el-input>
<el-input v-model="modalData.customerGroupId1" clearable @blur="customerGroupBlur" style="width: 124px"></el-input>
<el-input v-model="modalData.customerGroupName1" disabled style="width: 330px"></el-input>
</el-form-item>
<el-form-item>
<span style="cursor: pointer" slot="label" @click="getBaseList(121)"><a herf="#">客户组2</a></span>
<el-input v-model="modalData.customerGroupId2" style="width: 124px"></el-input>
<el-input v-model="modalData.customerGroupId2" clearable @blur="customerGroupBlur2" style="width: 124px"></el-input>
<el-input v-model="modalData.customerGroupName2" disabled style="width: 330px"></el-input>
</el-form-item>
</el-form>
@ -694,6 +694,7 @@
customerInformationSave, // 客户信息新增
customerInformationEdit, // 客户信息编辑
customerInformationDelete, // 客户信息删除
checkCustomerGroup, // 客户组ID输入校验
} from '@/api/customer/customerInformation.js'
import {
customerContactSearch, // 客户联系人列表查询
@ -742,6 +743,14 @@
deep: true,
handler: function (newV, oldV) {
this.modalData.customerNo = this.modalData.customerNo.toUpperCase()
this.modalData.customerGroupId1 = this.modalData.customerGroupId1.toUpperCase()
this.modalData.customerGroupId2 = this.modalData.customerGroupId2.toUpperCase()
if (this.modalData.customerGroupId1 == null || this.modalData.customerGroupId1 === '') {
this.modalData.customerGroupName1 = ''
}
if (this.modalData.customerGroupId2 == null || this.modalData.customerGroupId2 === '') {
this.modalData.customerGroupName2 = ''
}
}
}
},
@ -812,6 +821,7 @@
customerGroupId2: '',
customerGroupName1: '',
customerGroupName2: '',
type: ''
},
contactModalData: {
flag: '',
@ -2069,7 +2079,8 @@
defaultAddress: '',
addressStatus: '启用',
addressType: '类型一',
createBy: this.$store.state.user.name
createBy: this.$store.state.user.name,
type: ''
}
this.modalDisableFlag = false
this.detailModalFlag = false
@ -2200,7 +2211,8 @@
contactStatus: row.contactStatus,
addressName: row.addressName,
defaultAddress: 'Y',
updateBy: this.$store.state.user.name
updateBy: this.$store.state.user.name,
type: ''
}
this.modalDisableFlag = true
this.detailModalFlag = false
@ -2352,7 +2364,8 @@
companyName: row.companyName,
jobDescription: row.jobDescription,
contactStatus: row.contactStatus,
addressName: row.addressName
addressName: row.addressName,
type: ''
}
this.modalDisableFlag = true
this.detailModalFlag = true
@ -2932,6 +2945,36 @@
this.projectInformationSelections = val
},
// 客户组ID输入校验
customerGroupBlur () {
if (this.modalData.customerGroupId1 != null && this.modalData.customerGroupId1 !== '') {
this.modalData.type = '1'
checkCustomerGroup(this.modalData).then(({data}) => {
if (data && data.code === 0) {
this.modalData.customerGroupId1 = data.rows.customerGroupId
this.modalData.customerGroupName1 = data.rows.customerGroupName
} else {
this.modalData.customerGroupName1 = ''
}
})
}
},
// 客户组ID输入校验
customerGroupBlur2 () {
if (this.modalData.customerGroupId2 != null && this.modalData.customerGroupId2 !== '') {
this.modalData.type = '2'
checkCustomerGroup(this.modalData).then(({data}) => {
if (data && data.code === 0) {
this.modalData.customerGroupId12 = data.rows.customerGroupId
this.modalData.customerGroupName2 = data.rows.customerGroupName
} else {
this.modalData.customerGroupName2 = ''
}
})
}
},
// ======== chooseList相关方法 ========
/**
* 获取基础数据列表S

439
src/views/modules/part/partInformation.vue

@ -118,7 +118,7 @@
<el-dialog :title="modalData.title" top="10vh" :close-on-click-modal="false" v-drag :visible.sync="modalFlag" width="1000px">
<el-form :inline="true" label-position="top" :model="modalData" :rules="rules" style="margin-top: -5px;">
<el-form-item label="物料编码" prop="partNo" :rules="rules.partNo">
<el-input v-model="modalData.partNo" clearable style="width: 128px" @blur="queryMasterField" :disabled="modalDisableFlag"></el-input>
<el-input v-model="modalData.partNo" style="width: 128px" @blur="queryMasterField" disabled></el-input>
</el-form-item>
<el-form-item label="物料描述" prop="partDesc" :rules="rules.partDesc" style="margin-left: -10px">
<el-input v-model="modalData.partDesc" clearable style="width: 330px"></el-input>
@ -145,50 +145,50 @@
</el-form-item>
<el-form-item>
<span style="cursor: pointer" slot="label" @click="getBaseList(123)"><a herf="#">安全代码 / Safety Code</a></span>
<el-input v-model="modalData.hazardCode" style="width: 128px"></el-input>
<el-input v-model="modalData.hazardCode" @blur="hazardCodeBlur" style="width: 128px"></el-input>
<el-input v-model="modalData.hazardDesc" disabled style="width: 330px"></el-input>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" :model="modalData" :rules="rules">
<el-form-item prop="productGroupId4" :rules="rules.productGroupId4">
<span style="cursor: pointer" slot="label" @click="getBaseList(113)"><a herf="#">计划人 / Planner</a></span>
<el-input v-model="modalData.productGroupId4" style="width: 128px"></el-input>
<el-input v-model="modalData.productGroupId4" @blur="productGroupId4Blur" style="width: 128px"></el-input>
<el-input v-model="modalData.productGroupName4" disabled style="width: 330px"></el-input>
</el-form-item>
<el-form-item>
<span style="cursor: pointer" slot="label" @click="getBaseList(112)"><a herf="#">会计组 / Accounting Group</a></span>
<el-input v-model="modalData.productGroupId3" style="width: 128px"></el-input>
<el-input v-model="modalData.productGroupId3" @blur="productGroupId3Blur" style="width: 128px"></el-input>
<el-input v-model="modalData.productGroupName3" disabled style="width: 330px"></el-input>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" :model="modalData" :rules="rules">
<el-form-item prop="umName" :rules="rules.umName">
<span style="cursor: pointer" slot="label" @click="getBaseList(1007)"><a herf="#">库存计量单位 / Inventory UoM</a></span>
<el-input v-model="modalData.umId" style="width: 128px"></el-input>
<el-input v-model="modalData.umId" @blur="umIdBlur" style="width: 128px"></el-input>
<el-input v-model="modalData.umName" disabled style="width: 330px"></el-input>
</el-form-item>
<el-form-item>
<span style="cursor: pointer" slot="label" @click="getBaseList(109)"><a herf="#">产品代码 / Product Code</a></span>
<el-input v-model="modalData.groupId" style="width: 128px"></el-input>
<el-input v-model="modalData.groupId" @blur="groupIdBlur" style="width: 128px"></el-input>
<el-input v-model="modalData.groupName" disabled style="width: 330px"></el-input>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" :model="modalData" :rules="rules">
<el-form-item>
<span style="cursor: pointer" slot="label" @click="getBaseList(110)"><a herf="#">商品组1 / Comm Group 1</a></span>
<el-input v-model="modalData.productGroupId1" style="width: 128px"></el-input>
<el-input v-model="modalData.productGroupId1" @blur="productGroupId1Blur" style="width: 128px"></el-input>
<el-input v-model="modalData.productGroupName1" disabled style="width: 330px"></el-input>
</el-form-item>
<el-form-item>
<span style="cursor: pointer" slot="label" @click="getBaseList(108)"><a herf="#">产品大类 / Product Family</a></span>
<el-input v-model="modalData.familyId" style="width: 128px"></el-input>
<el-input v-model="modalData.familyId" @blur="familyIdBlur" style="width: 128px"></el-input>
<el-input v-model="modalData.familyName" disabled style="width: 330px"></el-input>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" :model="modalData" :rules="rules">
<el-form-item>
<span style="cursor: pointer" slot="label" @click="getBaseList(111)"><a herf="#">商品组2 / Comm Group 2</a></span>
<el-input v-model="modalData.productGroupId2" style="width: 128px"></el-input>
<el-input v-model="modalData.productGroupId2" @blur="productGroupId2Blur" style="width: 128px"></el-input>
<el-input v-model="modalData.productGroupName2" disabled style="width: 330px"></el-input>
</el-form-item>
<el-form-item label="类型指定 / Type Designation">
@ -198,7 +198,7 @@
<el-form :inline="true" label-position="top" :model="modalData" :rules="rules">
<el-form-item>
<span style="cursor: pointer" slot="label" @click="getBaseList(124)"><a herf="#">资产等级 / Asset Class</a></span>
<el-input v-model="modalData.assetClass" style="width: 128px"></el-input>
<el-input v-model="modalData.assetClass" @blur="assetClassBlur" style="width: 128px"></el-input>
<el-input v-model="modalData.assetClassDesc" disabled style="width: 330px"></el-input>
</el-form-item>
<el-form-item label="尺寸/材质 / Dimension/Quality">
@ -208,7 +208,7 @@
<el-form :inline="true" label-position="top" :model="modalData" :rules="rules">
<el-form-item>
<span style="cursor: pointer" slot="label" @click="getBaseList(125)"><a herf="#">零件状态 / Part Status</a></span>
<el-input v-model="modalData.partStatus" style="width: 128px"></el-input>
<el-input v-model="modalData.partStatus" @blur="partStatusBlur" style="width: 128px"></el-input>
<el-input v-model="modalData.partStatusDesc" disabled style="width: 330px"></el-input>
</el-form-item>
<el-form-item label="净重">
@ -223,7 +223,7 @@
<el-form-item>
<span style="cursor: pointer" slot="label" v-if="!modalDisableFlag"><a herf="#">ABC类 / ABC Class</a></span>
<span style="cursor: pointer" slot="label" v-else @click="getBaseList(126)"><a herf="#">ABC类 / ABC Class</a></span>
<el-input v-model="modalData.abcClass" :readonly="!modalDisableFlag" style="width: 128px"></el-input>
<el-input v-model="modalData.abcClass" @blur="abcClassBlur" :readonly="!modalDisableFlag" style="width: 128px"></el-input>
<el-input v-model="modalData.abcClassDesc" disabled style="width: 330px"></el-input>
</el-form-item>
<el-form-item label="净数量">
@ -237,7 +237,7 @@
<el-form :inline="true" label-position="top" :model="modalData" :rules="rules">
<el-form-item prop="codeNo" :rules="rules.codeNo">
<span style="cursor: pointer" slot="label" @click="getBaseList(20)"><a herf="#">属性模板</a></span>
<el-input v-model="modalData.codeNo" style="width: 128px"></el-input>
<el-input v-model="modalData.codeNo" @blur="codeNoBlur" style="width: 128px"></el-input>
<el-input v-model="modalData.codeDesc" disabled style="width: 330px"></el-input>
</el-form-item>
<el-form-item label="频率级别 / Frequency Class">
@ -259,7 +259,7 @@
</el-form-item>
<el-form-item>
<span style="cursor: pointer" slot="label" @click="getBaseList(127)"><a herf="#">来源国家 / Country of Origin</a></span>
<el-input v-model="modalData.countryOfOrigin" style="width: 128px"></el-input>
<el-input v-model="modalData.countryOfOrigin" @blur="countryOfOriginBlur" style="width: 128px"></el-input>
<el-input v-model="modalData.countryOfOriginDesc" disabled style="width: 330px"></el-input>
</el-form-item>
</el-form>
@ -272,7 +272,7 @@
</el-form-item>
<el-form-item>
<span style="cursor: pointer" slot="label" @click="getBaseList(128)"><a herf="#">区域代码 / Region Code</a></span>
<el-input v-model="modalData.regionOfOrigin" style="width: 128px"></el-input>
<el-input v-model="modalData.regionOfOrigin" @blur="regionOfOriginBlur" style="width: 128px"></el-input>
<el-input v-model="modalData.regionOfOriginDesc" disabled style="width: 330px"></el-input>
</el-form-item>
</el-form>
@ -283,7 +283,7 @@
</el-form-item>
<el-form-item>
<span style="cursor: pointer" slot="label" @click="getBaseList(129)"><a herf="#">海关统计序号 / Customs Stat No</a></span>
<el-input v-model="modalData.customsStatNo" style="width: 128px"></el-input>
<el-input v-model="modalData.customsStatNo" @blur="customsStatNoBlur" style="width: 128px"></el-input>
<el-input v-model="modalData.customsStatDesc" disabled style="width: 330px"></el-input>
</el-form-item>
</el-form>
@ -321,7 +321,7 @@
</el-form-item>
<el-form-item>
<span style="cursor: pointer" slot="label" @click="getBaseList(131)"><a herf="#">零件成本组 / Part Cost Group</a></span>
<el-input v-model="modalData.partCostGroupId" style="width: 128px"></el-input>
<el-input v-model="modalData.partCostGroupId" @blur="partCostGroupIdBlur" style="width: 128px"></el-input>
<el-input v-model="modalData.partCostGroupDesc" disabled style="width: 330px"></el-input>
</el-form-item>
</el-form>
@ -360,7 +360,7 @@
<el-form :inline="true" label-position="top" :model="modalData" :rules="rules">
<el-form-item>
<span style="cursor: pointer" slot="label" @click="getBaseList(132)"><a herf="#">计划方法 / Planning Method</a></span>
<el-input v-model="modalData.planningMethod" style="width: 170px"></el-input>
<el-input v-model="modalData.planningMethod" @blur="planningMethodBlur" style="width: 170px"></el-input>
</el-form-item>
<el-form-item label=" ">
<el-input v-model="modalData.planningMethodDesc" disabled style="width: 510px"></el-input>
@ -765,7 +765,7 @@
<!-- 文档页签 -->
<el-tab-pane label="文档" name="part_file">
<el-form label-position="top" style="margin-top: 2px; margin-left: 2px;">
<el-button type="primary" @click="uploadFile()">上传文件</el-button>
<el-button type="primary" @click="uploadFile">上传文件</el-button>
</el-form>
<el-table
:data="fileContentList"
@ -1340,6 +1340,8 @@
<!-- 上传文件的modal -->
<partUploadFile ref="partUploadFile" @refreshPageTables="getFileContentData()" v-drag></partUploadFile>
<upload-file-list folder="Inventory Part" title="物料附件上传" :label="'物料编码:'" :no="partCurrentRow.partNo" :file-list.sync="fileList" :upload-dialog.sync="uploadDialog" path="/upload/test"></upload-file-list>
</div>
</template>
@ -1386,17 +1388,23 @@
copyPart, // 复制物料
getBomAndRoutingList, // 查询物料的bom和routing集合
partInformationToOfficial, // 转正式物料
getProjectPartNo, // 获取物料编码
} from '@/api/part/partInformation.js'
import {
getFileContentList, // 获取物料单附件列表
deleteQuotationFile, // 文件删除
downLoadQuotationFile // 文件下载
} from '@/api/quotation/quotationInformation.js'
import {
getChooselistData
} from "@/api/chooselist/chooselist.js"
import Chooselist from '@/views/modules/common/Chooselist'
import partUploadFile from "./part_upload_file"
import DictDataSelect from '../sys/dict-data-select.vue'
import UploadFileList from "../common/uploadFileList.vue";
export default {
components: {
UploadFileList,
DictDataSelect,
Chooselist,
partUploadFile
@ -1429,6 +1437,7 @@
this.modalData.customsStatNo = this.modalData.customsStatNo.toUpperCase()
this.modalData.partCostGroupId = this.modalData.partCostGroupId.toUpperCase()
this.modalData.planningMethod = this.modalData.planningMethod.toUpperCase()
this.modalData.ifsPartNo = this.modalData.ifsPartNo.toUpperCase()
}
},
itemData: {
@ -1454,9 +1463,13 @@
handler: function (newV, oldV) {
this.locationData.locationId = this.locationData.locationId.toUpperCase()
}
},
uploadDialog (newValue,oldValue) {
if (newValue === false) {
this.getFileContentData()
}
},
},
data () {
return {
// 导出
@ -1487,7 +1500,7 @@
limit: 10
},
// 其它
loading: false,
// 初始页签
activeTable: 'part_item',
inventoryPartTable: 'General',
@ -1590,7 +1603,8 @@
overReportTolerance: '',
fixedLeadTimeHour: '',
density: '',
variableLeadTimeHour: ''
variableLeadTimeHour: '',
ifsPartNo: ''
},
revisionData: {
flag: '',
@ -1679,6 +1693,7 @@
bomAlternativeList: [],
routingAlternativeList: [],
copyAttributeList: [],
fileList: [],
// ======== 列表表头 ========
columnList: [
{
@ -1693,8 +1708,6 @@
columnLabel: '物料编码',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 120
@ -1711,26 +1724,22 @@
columnLabel: '物料描述',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 120
columnWidth: 150
},
{
userId: this.$store.state.user.name,
functionId: 104001,
serialNumber: '104001Table1Status',
serialNumber: '104001Table1StatusDesc',
tableId: '104001Table1',
tableName: '物料信息表',
columnProp: 'status',
columnProp: 'statusDesc',
headerAlign: 'center',
align: 'center',
columnLabel: '是否为正式物料',
columnLabel: '物料状态',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 100
@ -1747,8 +1756,6 @@
columnLabel: '规格型号',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 120
@ -1765,11 +1772,9 @@
columnLabel: '库存计量单位',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 60
columnWidth: 100
},
{
userId: this.$store.state.user.name,
@ -1783,8 +1788,6 @@
columnLabel: '净重',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 60
@ -1801,11 +1804,9 @@
columnLabel: '净重单位',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 60
columnWidth: 80
},
{
userId: this.$store.state.user.name,
@ -1819,8 +1820,6 @@
columnLabel: '净数量',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 60
@ -1837,11 +1836,9 @@
columnLabel: '数量单位',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 60
columnWidth: 80
},
{
userId: this.$store.state.user.name,
@ -1851,15 +1848,13 @@
tableName: '物料信息表',
columnProp: 'lotTrackingCode',
headerAlign: 'center',
align: 'left',
align: 'center',
columnLabel: '批号跟踪',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 60
columnWidth: 110
},
{
userId: this.$store.state.user.name,
@ -1873,11 +1868,9 @@
columnLabel: '零件类型',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 80
columnWidth: 130
},
{
userId: this.$store.state.user.name,
@ -1891,11 +1884,9 @@
columnLabel: '产品大类',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 80
columnWidth: 100
},
{
userId: this.$store.state.user.name,
@ -1909,11 +1900,9 @@
columnLabel: '产品代码',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 80
columnWidth: 100
},
{
userId: this.$store.state.user.name,
@ -1927,11 +1916,9 @@
columnLabel: '商品组1',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 80
columnWidth: 100
},
{
userId: this.$store.state.user.name,
@ -1945,11 +1932,9 @@
columnLabel: '商品组2',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 80
columnWidth: 100
},
{
userId: this.$store.state.user.name,
@ -1963,11 +1948,9 @@
columnLabel: '会计组',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 80
columnWidth: 100
},
{
userId: this.$store.state.user.name,
@ -1981,11 +1964,9 @@
columnLabel: '计划人',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 80
columnWidth: 100
},
{
userId: this.$store.state.user.name,
@ -1999,8 +1980,6 @@
columnLabel: '属性模板',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 100
@ -2017,29 +1996,25 @@
columnLabel: '备注',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 160
columnWidth: 150
},
{
userId: this.$store.state.user.name,
functionId: 104001,
serialNumber: '104001Table1Active',
serialNumber: '104001Table1PlmPartNo',
tableId: '104001Table1',
tableName: '物料信息表',
columnProp: 'active',
columnProp: 'plmPartNo',
headerAlign: 'center',
align: 'center',
columnLabel: '是否在用',
columnLabel: 'PLM料号',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 60
columnWidth: 120
},
{
userId: this.$store.state.user.name,
@ -2053,8 +2028,6 @@
columnLabel: '创建时间',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 160
@ -2071,8 +2044,6 @@
columnLabel: '创建人',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 80
@ -2089,8 +2060,6 @@
columnLabel: '更新时间',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 160
@ -2107,8 +2076,6 @@
columnLabel: '更新人',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 80
@ -2690,7 +2657,7 @@
serialNumber: '104001Table4CreatedBy',
tableId: '104001Table4',
tableName: '文件信息表',
columnProp: 'createdBy',
columnProp: 'createBy',
headerAlign: 'center',
align: 'center',
columnLabel: '上传人',
@ -3030,8 +2997,8 @@
updateRevisionModelFlag: false,
updateRevisionModelDisableFlag: false,
copyPartModelFlag: false,
loading: false,
attributeDialog: true,
uploadDialog: false,
}
},
@ -3651,11 +3618,13 @@
* 物料信息新增模态框
*/
addModal () {
getProjectPartNo(this.searchData).then(({data}) => {
if (data && data.code === 0) {
this.modalData = {
flag: '1',
title: '物料新增',
site: this.$store.state.user.site,
partNo: '',
partNo: data.partNo,
partDesc: '',
spec: '',
partTypeDb: '',
@ -3751,6 +3720,10 @@
this.inventoryPartTable = 'General'
this.modalDisableFlag = false
this.modalFlag = true
} else {
this.$message.error('获取项目物料编码失败!')
}
})
},
/**
* 物料信息编辑模态框
@ -4642,6 +4615,277 @@
})
},
// 安全代码输入校验
hazardCodeBlur () {
if (this.modalData.hazardCode != null && this.modalData.hazardCode !== '') {
getChooselistData({"sqlcode": "Select hazard_code, hazard_desc from plm_safety_code where active = 'Y' and hazard_code = '" + this.modalData.hazardCode + "'"}).then(({data}) => {
if (data && data.code === 0) {
if (data.baseListData.length > 0) {
this.modalData.hazardCode = data.baseListData[0].hazard_code
this.modalData.hazardDesc = data.baseListData[0].hazard_desc
} else {
this.modalData.hazardDesc = ''
}
}
})
}
},
// 计划人输入校验
productGroupId4Blur () {
if (this.modalData.productGroupId4 != null && this.modalData.productGroupId4 !== '') {
getChooselistData({"sqlcode": "select product_group_id,product_group_name from product_group where active = 'Y' and type = '4' and product_group_id = '" + this.modalData.productGroupId4 + "'"}).then(({data}) => {
if (data && data.code === 0) {
if (data.baseListData.length > 0) {
this.modalData.productGroupId4 = data.baseListData[0].product_group_id
this.modalData.productGroupName4 = data.baseListData[0].product_group_name
} else {
this.modalData.productGroupName4 = ''
}
}
})
}
},
// 会计组输入校验
productGroupId3Blur () {
if (this.modalData.productGroupId3 != null && this.modalData.productGroupId3 !== '') {
getChooselistData({"sqlcode": "select product_group_id,product_group_name from product_group where active = 'Y' and type = '3' and product_group_id = '" + this.modalData.productGroupId3 + "'"}).then(({data}) => {
if (data && data.code === 0) {
if (data.baseListData.length > 0) {
this.modalData.productGroupId3 = data.baseListData[0].product_group_id
this.modalData.productGroupName3 = data.baseListData[0].product_group_name
} else {
this.modalData.productGroupName3 = ''
}
}
})
}
},
// 库存计量单位输入校验
umIdBlur () {
if (this.modalData.umId != null && this.modalData.umId !== '') {
getChooselistData({"sqlcode": "select um_id, um_name from um where active = 'Y' and um_id = '" + this.modalData.umId + "'"}).then(({data}) => {
if (data && data.code === 0) {
if (data.baseListData.length > 0) {
this.modalData.umId = data.baseListData[0].um_id
this.modalData.umName = data.baseListData[0].um_name
} else {
this.modalData.umName = ''
}
}
})
}
},
// 产品代码输入校验
groupIdBlur () {
if (this.modalData.groupId != null && this.modalData.groupId !== '') {
getChooselistData({"sqlcode": "select group_id, group_name from part_group where active = 'Y' and group_id = '" + this.modalData.groupId + "'"}).then(({data}) => {
if (data && data.code === 0) {
if (data.baseListData.length > 0) {
this.modalData.groupId = data.baseListData[0].group_id
this.modalData.groupName = data.baseListData[0].group_name
} else {
this.modalData.groupName = ''
}
}
})
}
},
// 商品组1输入校验
productGroupId1Blur () {
if (this.modalData.productGroupId1 != null && this.modalData.productGroupId1 !== '') {
getChooselistData({"sqlcode": "select product_group_id, product_group_name from product_group where active = 'Y' and type = '1' and product_group_id = '" + this.modalData.productGroupId1 + "'"}).then(({data}) => {
if (data && data.code === 0) {
if (data.baseListData.length > 0) {
this.modalData.productGroupId1 = data.baseListData[0].product_group_id
this.modalData.productGroupName1 = data.baseListData[0].product_group_name
} else {
this.modalData.productGroupName1 = ''
}
}
})
}
},
// 产品大类输入校验
familyIdBlur () {
if (this.modalData.familyId != null && this.modalData.familyId !== '') {
getChooselistData({"sqlcode": "select family_id, family_name from part_family where active = 'Y' and family_id = '" + this.modalData.familyId + "'"}).then(({data}) => {
if (data && data.code === 0) {
if (data.baseListData.length > 0) {
this.modalData.familyId = data.baseListData[0].family_id
this.modalData.familyName = data.baseListData[0].family_name
} else {
this.modalData.familyName = ''
}
}
})
}
},
// 商品组2输入校验
productGroupId2Blur () {
if (this.modalData.productGroupId2 != null && this.modalData.productGroupId2 !== '') {
getChooselistData({"sqlcode": "Select product_group_id, product_group_name from product_group where active = 'Y' and type = '2' and product_group_id = '" + this.modalData.productGroupId2 + "'"}).then(({data}) => {
if (data && data.code === 0) {
if (data.baseListData.length > 0) {
this.modalData.productGroupId2 = data.baseListData[0].product_group_id
this.modalData.productGroupName2 = data.baseListData[0].product_group_name
} else {
this.modalData.productGroupName2 = ''
}
}
})
}
},
// 资产等级输入校验
assetClassBlur () {
if (this.modalData.assetClass != null && this.modalData.assetClass !== '') {
getChooselistData({"sqlcode": "Select asset_class, asset_class_desc from plm_asset_class where active = 'Y' and asset_class = '" + this.modalData.assetClass + "'"}).then(({data}) => {
if (data && data.code === 0) {
if (data.baseListData.length > 0) {
this.modalData.assetClass = data.baseListData[0].asset_class
this.modalData.assetClassDesc = data.baseListData[0].asset_class_desc
} else {
this.modalData.assetClassDesc = ''
}
}
})
}
},
// 零件状态输入校验
partStatusBlur () {
if (this.modalData.partStatus != null && this.modalData.partStatus !== '') {
getChooselistData({"sqlcode": "Select part_status, part_status_desc from plm_part_status where active = 'Y' and part_status = '" + this.modalData.partStatus + "'"}).then(({data}) => {
if (data && data.code === 0) {
if (data.baseListData.length > 0) {
this.modalData.partStatus = data.baseListData[0].part_status
this.modalData.partStatusDesc = data.baseListData[0].part_status_desc
} else {
this.modalData.partStatusDesc = ''
}
}
})
}
},
// abc类输入校验
abcClassBlur () {
if (this.modalData.abcClass != null && this.modalData.abcClass !== '') {
getChooselistData({"sqlcode": "Select abc_class, abc_class_desc from plm_abc_class where active = 'Y' and abc_class = '" + this.modalData.abcClass + "'"}).then(({data}) => {
if (data && data.code === 0) {
if (data.baseListData.length > 0) {
this.modalData.abcClass = data.baseListData[0].abc_class
this.modalData.abcClassDesc = data.baseListData[0].abc_class_desc
} else {
this.modalData.abcClassDesc = ''
}
}
})
}
},
// 属性模板输入校验
codeNoBlur () {
if (this.modalData.codeNo != null && this.modalData.codeNo !== '') {
getChooselistData({"sqlcode": "Select Code_no,Code_desc,Active from plm_properties_model_header where function_type='IP' and Code_no = '" + this.modalData.codeNo + "'"}).then(({data}) => {
if (data && data.code === 0) {
if (data.baseListData.length > 0) {
this.modalData.codeNo = data.baseListData[0].Code_no
this.modalData.codeDesc = data.baseListData[0].Code_desc
} else {
this.modalData.codeDesc = ''
}
}
})
}
},
// 来源国家输入校验
countryOfOriginBlur () {
if (this.modalData.countryOfOrigin != null && this.modalData.countryOfOrigin !== '') {
getChooselistData({"sqlcode": "Select country_of_origin, country_of_origin_desc from plm_country where active = 'Y' and country_of_origin = '" + this.modalData.countryOfOrigin + "'"}).then(({data}) => {
if (data && data.code === 0) {
if (data.baseListData.length > 0) {
this.modalData.countryOfOrigin = data.baseListData[0].country_of_origin
this.modalData.countryOfOriginDesc = data.baseListData[0].country_of_origin_desc
} else {
this.modalData.countryOfOriginDesc = ''
}
}
})
}
},
// 区域代码输入校验
regionOfOriginBlur () {
if (this.modalData.regionOfOrigin != null && this.modalData.regionOfOrigin !== '') {
getChooselistData({"sqlcode": "Select region_of_origin, region_of_origin_desc from plm_region_of_origin where active = 'Y' and region_of_origin = '" + this.modalData.regionOfOrigin + "'"}).then(({data}) => {
if (data && data.code === 0) {
if (data.baseListData.length > 0) {
this.modalData.regionOfOrigin = data.baseListData[0].region_of_origin
this.modalData.regionOfOriginDesc = data.baseListData[0].region_of_origin_desc
} else {
this.modalData.regionOfOriginDesc = ''
}
}
})
}
},
// 海关统计序号输入校验
customsStatNoBlur () {
if (this.modalData.customsStatNo != null && this.modalData.customsStatNo !== '') {
getChooselistData({"sqlcode": "Select customs_stat_no, customs_stat_desc from plm_customs_stat where active = 'Y' and customs_stat_no = '" + this.modalData.customsStatNo + "'"}).then(({data}) => {
if (data && data.code === 0) {
if (data.baseListData.length > 0) {
this.modalData.customsStatNo = data.baseListData[0].customs_stat_no
this.modalData.customsStatDesc = data.baseListData[0].customs_stat_desc
} else {
this.modalData.customsStatDesc = ''
}
}
})
}
},
// 零件成本组输入校验
partCostGroupIdBlur () {
if (this.modalData.partCostGroupId != null && this.modalData.partCostGroupId !== '') {
getChooselistData({"sqlcode": "Select part_cost_group_id, part_cost_group_desc from plm_part_cost_group where active = 'Y' and part_cost_group_id = '" + this.modalData.partCostGroupId + "'"}).then(({data}) => {
if (data && data.code === 0) {
if (data.baseListData.length > 0) {
this.modalData.partCostGroupId = data.baseListData[0].part_cost_group_id
this.modalData.partCostGroupDesc = data.baseListData[0].part_cost_group_desc
} else {
this.modalData.partCostGroupDesc = ''
}
}
})
}
},
// 计划方法
planningMethodBlur () {
if (this.modalData.planningMethod != null && this.modalData.planningMethod !== '') {
getChooselistData({"sqlcode": "Select planning_method, planning_method_desc from plm_planning_method where active = 'Y' and planning_method = '" + this.modalData.planningMethod + "'"}).then(({data}) => {
if (data && data.code === 0) {
if (data.baseListData.length > 0) {
this.modalData.planningMethod = data.baseListData[0].planning_method
this.modalData.planningMethodDesc = data.baseListData[0].planning_method_desc
} else {
this.modalData.planningMethodDesc = ''
}
}
})
}
},
// ======== 列表操作方法 ========
/**
@ -4724,10 +4968,11 @@
createBy: this.$store.state.user.name,
partNo: this.partCurrentRow.partNo
}
this.uploadDialog = true
//打开组件 去做新增业务
this.$nextTick(() => {
this.$refs.partUploadFile.init(currentData);
})
// this.$nextTick(() => {
// this.$refs.partUploadFile.init(currentData);
// })
},
/**
* 文件删除

318
src/views/modules/processManagement/processBindingInfo.vue

@ -171,10 +171,11 @@
fixed="right"
header-align="center"
align="center"
width="100"
width="130"
label="操作">
<template slot-scope="scope">
<el-link style="cursor: pointer" @click="subDetailModal(scope.row)">出口配置</el-link>
<el-link style="cursor: pointer" @click="authorityModal(scope.row)">权限配置</el-link>
</template>
</el-table-column>
</el-table>
@ -202,29 +203,63 @@
style="width: 100%;">
<el-table-column type="selection" align="center" width="50"></el-table-column>
<el-table-column label="序号" align="center" prop="xh" width="50"></el-table-column>
<el-table-column prop="plmField" header-align="center" align="center" :required="true" label="PLM字段名" width="150">
<el-table-column prop="plmTable" header-align="center" align="center" :required="true" label="PLM数据表" width="240">
<template slot-scope="{row}">
<el-select :ref="`${row.xh-1}` + `a`" v-model="tableData[row.xh-1].plmTable" placeholder="请选择数据表名" @change="tableChange(row.xh-1)" style="width: 220px">
<el-option
v-for = "i in tableList"
:key = "i.tableId"
:label = "i.tableId"
:value = "i.tableId">
</el-option>
</el-select>
</template>
</el-table-column>
<el-table-column prop="plmTable" header-align="center" align="center" :required="true" label="PLM字段名" width="220">
<template slot-scope="{row}">
<el-input :ref="`${row.xh-1}` + `a`" v-model="tableData[row.xh-1].plmField" placeholder="请输入PLM字段名"></el-input>
<el-select :ref="`${row.xh-1}` + `a`" v-model="tableData[row.xh-1].plmField" placeholder="请选择PLM字段名" style="width: 200px">
<el-option
v-for = "i in fieldList"
:key = "i.fieldId"
:label = "i.fieldName"
:value = "i.fieldId">
</el-option>
</el-select>
</template>
</el-table-column>
<!-- <el-table-column prop="plmField" header-align="center" align="center" :required="true" label="PLM字段名" width="150">-->
<!-- <template slot-scope="{row}">-->
<!-- <el-input :ref="`${row.xh-1}` + `b`" v-model="tableData[row.xh-1].plmField" placeholder="请输入PLM字段名"></el-input>-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column prop="oaField" header-align="center" align="center" :required="true" label="OA字段名" width="150">
<template slot-scope="{row}">
<el-input :ref="`${row.xh-1}` + `b`" v-model="tableData[row.xh-1].oaField" placeholder="请输入OA字段名"></el-input>
<el-input :ref="`${row.xh-1}` + `c`" v-model="tableData[row.xh-1].oaField" placeholder="请输入OA字段名"></el-input>
</template>
</el-table-column>
<el-table-column prop="plmTable" header-align="center" align="center" :required="true" label="PLM字段类型" width="150">
<template slot-scope="{row}">
<el-select :ref="`${row.xh-1}` + `a`" v-model="tableData[row.xh-1].fieldType" placeholder="请选择字段类型" style="width: 130px">
<el-option label="人员参数" value="A"></el-option>
<el-option label="其他参数" value="B"></el-option>
</el-select>
</template>
</el-table-column>
<el-table-column prop="fieldValue" header-align="center" align="center" :required="true" label="默认值" width="200">
<template slot-scope="{row}">
<el-input :ref="`${row.xh-1}` + `c`" v-model="tableData[row.xh-1].fieldValue" placeholder="请输入默认值"></el-input>
<el-input :ref="`${row.xh-1}` + `d`" v-model="tableData[row.xh-1].fieldValue" placeholder="请输入默认值"></el-input>
</template>
</el-table-column>
<el-table-column prop="fieldDesc" header-align="center" align="center" :required="true" label="字段描述" width="200">
<template slot-scope="{row}">
<el-input :ref="`${row.xh-1}` + `c`" v-model="tableData[row.xh-1].fieldDesc" placeholder="请输入字段描述"></el-input>
<el-input :ref="`${row.xh-1}` + `e`" v-model="tableData[row.xh-1].fieldDesc" placeholder="请输入字段描述"></el-input>
</template>
</el-table-column>
<el-table-column prop="remark" header-align="center" align="center" :required="true" label="备注" width="200">
<template slot-scope="{row}">
<el-input :ref="`${row.xh-1}` + `c`" v-model="tableData[row.xh-1].remark" placeholder="请输入备注"></el-input>
<el-input :ref="`${row.xh-1}` + `f`" v-model="tableData[row.xh-1].remark" placeholder="请输入备注"></el-input>
</template>
</el-table-column>
</el-table>
@ -235,6 +270,57 @@
</el-footer>
</el-dialog>
<el-dialog width="730px" title="权限" :close-on-click-modal="false" :visible.sync="authorityFlag">
<el-select v-model="authorityData.tableId" placeholder="请选择数据表名" @change="tableChange3" style="width: 220px">
<el-option
v-for = "i in tableList"
:key = "i.tableId"
:label = "i.tableId"
:value = "i.tableId">
</el-option>
</el-select>
<!-- <el-table-->
<!-- :data="authorityData.fieldList"-->
<!-- border-->
<!-- :height="300"-->
<!-- style="width: 100%;">-->
<el-table
:data="authorityData.fieldList"
border
:height="300"
ref="authorityTable"
@row-click="authorityClickRow"
@selection-change="selectionAuthority"
style="width: 100%;">
<el-table-column
type="selection"
header-align="center"
align="center"
width="50">
</el-table-column>
<el-table-column
prop="fieldId"
header-align="center"
align="center"
min-width="200"
label="字段编码">
</el-table-column>
<el-table-column
prop="fieldName"
header-align="center"
align="center"
min-width="200"
label="字段描述">
</el-table-column>
</el-table>
<span slot="footer" class="dialog-footer">
<div style="margin-top: 5px">
<el-button type="primary" @click="saveAuthorityList">应用</el-button>
<el-button type="primary" @click="authorityFlag = false">关闭</el-button>
</div>
</span>
</el-dialog>
<!-- chooseList模态框 -->
<Chooselist ref="baseList" @getBaseData="getBaseData"></Chooselist>
</div>
@ -250,6 +336,10 @@
getNodeDetail,//获取流程节点出口配置
saveRequestNodeDetail,//保存流程节点出口配置
deleteRequestNodeDetailByLine,//删除流程当前节点的全部出口配置
getTableList, // 获取table列表
getFieldList, // 获取表字段
getAuthorityFieldList, // 获取权限字段集合
saveAuthorityList, // 保存节点权限
} from '@/api/processManagement/processManagement.js'
import Chooselist from '@/views/modules/common/Chooselist'
import DictDataSelect from '../sys/dict-data-select.vue'
@ -312,11 +402,25 @@
updateDate: '',
updateBy: ''
},
authorityData: {
site: this.$store.state.user.site,
bu: '',
classificationNo: '',
nodeId: '',
nodeName: '',
fieldId: '',
tableId: '',
fieldList: [],
createBy: '',
},
// ======== 数据列表 ========
dataList: [],
checkedDetail: [],
nodeList: [],
tableData: [],
tableList: [],
fieldList: [],
authoritySelections: [],
// ======== 列表表头 ========
columnList: [
{
@ -427,7 +531,6 @@
fixed: '',
columnWidth: 60
},
{
userId: this.$store.state.user.name,
functionId: 109001,
@ -684,7 +787,6 @@
},*/
],
// ======== 必填规则 ========
rules: {
classificationName: [
@ -725,7 +827,7 @@
subDetailFlag: false,
maintenanceFlag: false,
modalFlag: false,
authorityFlag: false
}
},
@ -738,10 +840,135 @@
},
created () {
// 获取数据列表
this.getDataList()
},
methods: {
// 点击行选中复选框
authorityClickRow (row) {
this.$refs.authorityTable.toggleRowSelection(row)
},
// 多选
selectionAuthority (val) {
this.authoritySelections = val
},
// 权限配置
authorityModal (row) {
this.authorityData = {
site: row.site,
bu: '',
classificationNo: row.classificationNo,
nodeId: row.nodeId,
nodeName: row.nodeName,
fieldId: '',
tableId: this.tableList.length > 0 ? this.tableList[0].tableId : '',
fieldList: [],
createBy: this.$store.state.user.name
}
// 先清空缓存选中
this.$nextTick(() => this.$refs.authorityTable.clearSelection())
getAuthorityFieldList(this.authorityData).then(({data}) => {
if (data && data.code === 0) {
this.authorityData.fieldList = data.rows
this.authorityData.fieldList.forEach(val => {
// 回显选中
if (val.updateCheck) {
this.$nextTick(() => this.$refs.authorityTable.toggleRowSelection(val, true))
}
})
} else {
this.authorityData.fieldList = []
}
})
this.authorityFlag = true
},
// 表改变事件
tableChange3 () {
getAuthorityFieldList(this.authorityData).then(({data}) => {
if (data && data.code === 0) {
this.authorityData.fieldList = data.rows
this.authorityData.fieldList.forEach(val => {
// 回显选中
if (val.updateCheck) {
this.$nextTick(() => this.$refs.authorityTable.toggleRowSelection(val, true))
}
})
} else {
this.authorityData.fieldList = []
}
})
},
// 保存节点权限
saveAuthorityList () {
let tempData = {
site: this.authorityData.site,
bu: '',
classificationNo: this.authorityData.classificationNo,
nodeId: this.authorityData.nodeId,
nodeName: this.authorityData.nodeName,
fieldId: '',
tableId: this.authorityData.tableId,
fieldList: this.authoritySelections,
createBy: this.$store.state.user.name
}
saveAuthorityList(tempData).then(({data}) => {
if (data && data.code === 0) {
this.$message.success( '操作成功')
} else {
this.$message.error(data.msg)
}
})
},
// 表改变事件
tableChange (index) {
let tempData = {
tableId: this.tableData[index].plmTable
}
getFieldList(tempData).then(({data}) => {
if (data && data.code === 0) {
this.fieldList = data.rows
} else {
this.fieldList = []
}
})
this.tableData[index].plmField = ''
},
// 表改变事件
tableChange2 (index) {
let tempData = {
tableId: this.tableData[index].plmTable
}
getFieldList(tempData).then(({data}) => {
if (data && data.code === 0) {
this.fieldList = data.rows
} else {
this.fieldList = []
}
})
},
// 获取Table列表
getTableList (type) {
let tempData = {
tableType: type
}
getTableList(tempData).then(({data}) => {
if (data && data.code === 0) {
this.tableList = data.rows
} else {
this.tableList = []
}
})
},
// ======= 正则校验 =======
handleInput (value, type) {
// 大于等于0,且只能输入4位小数
@ -802,6 +1029,12 @@
this.requestCurrentRow = JSON.parse(JSON.stringify(row))
// 刷新当前页表
this.refreshCurrentTabTable()
this.tableList = []
this.fieldList = []
if (row.menuId === '108002') {
this.getTableList('plm_change')
}
}
},
/**
@ -823,22 +1056,40 @@
},
// 点击新增更多
handleAddBtn () {
let obj = {}
obj.site = this.$store.state.user.site,
obj.classificationNo = this.nodeCurrentRow.classificationNo,
obj.workflowId = this.nodeCurrentRow.workflowId,
obj.nodeId = this.nodeCurrentRow.nodeId,
obj.nodeName = this.nodeCurrentRow.nodeName,
obj.createBy = this.$store.state.user.name,
obj.remark = "",
obj.plmField = "",
obj.oaField = "",
obj.fieldValue = "",
obj.fieldDesc = "",
obj.orderRef1 = "",
obj.orderRef2 = "",
obj.orderRef3 = "",
obj.orderRef4 = ""
let obj = {
site: this.$store.state.user.site,
classificationNo: this.nodeCurrentRow.classificationNo,
workflowId: this.nodeCurrentRow.workflowId,
nodeId: this.nodeCurrentRow.nodeId,
nodeName: this.nodeCurrentRow.nodeName,
createBy: this.$store.state.user.name,
remark: '',
plmField: '',
oaField: '',
fieldValue: '',
fieldDesc: '',
orderRef1: '',
orderRef2: '',
orderRef3: '',
orderRef4: '',
plmTable: '',
fieldType: 'B'
}
// obj.site = this.$store.state.user.site
// obj.classificationNo = this.nodeCurrentRow.classificationNo
// obj.workflowId = this.nodeCurrentRow.workflowId
// obj.nodeId = this.nodeCurrentRow.nodeId
// obj.nodeName = this.nodeCurrentRow.nodeName
// obj.createBy = this.$store.state.user.name
// obj.remark = ""
// obj.plmField = ""
// obj.oaField = ""
// obj.fieldValue = ""
// obj.fieldDesc = ""
// obj.orderRef1 = ""
// obj.orderRef2 = ""
// obj.orderRef3 = ""
// obj.orderRef4 = ""
this.tableData.push(obj)
},
@ -899,6 +1150,9 @@
getNodeDetail(tempData).then(({data}) => {
if (data && data.code === 0) {
this.tableData = data.rows
for (let i = 0; i < this.tableData.length; i++) {
this.tableChange2(i)
}
} else {
this.tableData = []
}
@ -1030,12 +1284,20 @@
checkDataBySubDetail(){
for (let i = 0; i < this.tableData.length; i++) {
if(this.tableData[i].plmTable === '' || this.tableData[i].plmTable == null){
this.$message.warning('序号' + (i+1) +'未选择PLM数据表,数据表为必填项!')
return
}
if(this.tableData[i].plmField === '' || this.tableData[i].plmField == null){
this.$message.warning('序号' + (i+1) +'未选择PLM字段名,字段名为必填项!')
return
}
if(this.tableData[i].oaField === '' || this.tableData[i].oaField == null){
this.$message.warning('序号' + (i+1) +'未填写OA字段名,字段名为必填项!')
return
}
if(this.tableData[i].plmField === '' || this.tableData[i].plmField == null){
this.$message.warning('序号' + (i+1) +'未填写PLM字段名,字段名为必填项!')
if(this.tableData[i].fieldType === '' || this.tableData[i].fieldType == null){
this.$message.warning('序号' + (i+1) +'未选择PLM字段类型,字段类型为必填项!')
return
}
}

98
src/views/modules/project/projectInfo/com_project_info_part.vue

@ -781,58 +781,80 @@
status: true,
fixed: '',
columnWidth: 100
},{
},
{
userId: this.$store.state.user.name,
functionId: 101002001,
serialNumber: '101002001Table4PartType',
serialNumber: '101002001Table4PartDesc',
tableId: "101002001Table4",
tableName: "项目物料",
columnProp: "partType",
columnProp: "partDesc",
headerAlign: "center",
align: "center",
columnLabel: "物料分类",
align: "left",
columnLabel: "物料描述",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 60
},{
columnWidth: 120
},
{
userId: this.$store.state.user.name,
functionId: 101002001,
serialNumber: '101002001Table4PartTypeDesc',
serialNumber: '101002001Table4StatusDesc',
tableId: "101002001Table4",
tableName: "项目物料",
columnProp: "partTypeDesc",
columnProp: "statusDesc",
headerAlign: "center",
align: "left",
columnLabel: "物料分类名称",
align: "center",
columnLabel: "物料状态",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 80
},{
columnWidth: 100
},
// {
// userId: this.$store.state.user.name,
// functionId: 101002001,
// serialNumber: '101002001Table4PartType',
// tableId: "101002001Table4",
// tableName: "项目物料",
// columnProp: "partType",
// headerAlign: "center",
// align: "center",
// columnLabel: "物料分类",
// columnHidden: false,
// columnImage: false,
// columnSortable: false,
// sortLv: 0,
// status: true,
// fixed: '',
// columnWidth: 60
// },
{
userId: this.$store.state.user.name,
functionId: 101002001,
serialNumber: '101002001Table4PartDesc',
serialNumber: '101002001Table4PartTypeDesc',
tableId: "101002001Table4",
tableName: "项目物料",
columnProp: "partDesc",
columnProp: "partTypeDesc",
headerAlign: "center",
align: "left",
columnLabel: "物料描述",
columnLabel: "物料分类",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 120
},{
columnWidth: 80
},
{
userId: this.$store.state.user.name,
functionId: 101002001,
serialNumber: '101002001Table4CodeNo',
@ -849,7 +871,8 @@
status: true,
fixed: '',
columnWidth: 80
},{
},
{
userId: this.$store.state.user.name,
functionId: 101002001,
serialNumber: '101002001Table4CodeDesc',
@ -866,7 +889,8 @@
status: true,
fixed: '',
columnWidth: 100
},{
},
{
userId: this.$store.state.user.name,
functionId: 101002001,
serialNumber: '101002001Table4Remark',
@ -883,7 +907,26 @@
status: true,
fixed: '',
columnWidth: 120
},{
},
{
userId: this.$store.state.user.name,
functionId: 101002001,
serialNumber: '101002001Table4PlmPartNo',
tableId: "101002001Table4",
tableName: "项目物料",
columnProp: "plmPartNo",
headerAlign: "center",
align: "center",
columnLabel: "PLM料号",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 120
},
{
userId: this.$store.state.user.name,
functionId: 101002001,
serialNumber: '101002001Table4CreateDate',
@ -900,7 +943,8 @@
status: true,
fixed: '',
columnWidth: 120
},{
},
{
userId: this.$store.state.user.name,
functionId: 101002001,
serialNumber: '101002001Table4CreateBy',
@ -917,7 +961,8 @@
status: true,
fixed: '',
columnWidth: 80
},{
},
{
userId: this.$store.state.user.name,
functionId: 101002001,
serialNumber: '101002001Table4UpdateDate',
@ -934,7 +979,8 @@
status: true,
fixed: '',
columnWidth: 120
},{
},
{
userId: this.$store.state.user.name,
functionId: 101002001,
serialNumber: '101002001Table4UpdateBy',
@ -1675,7 +1721,7 @@
this.modalDisableFlag = false
this.inventoryPartTable = 'General'
} else {
this.$message.error('获取项目物料编码失败,请重试!')
this.$message.error('获取项目物料编码失败!')
}
})
},
@ -1903,7 +1949,7 @@
this.modalDisableFlag = false
this.inventoryPartTable = 'General'
} else {
this.$message.error('获取项目物料失败,请重试!')
this.$message.error('获取项目物料编码失败!')
}
})
},

26
src/views/modules/sys/user-add-or-update.vue

@ -7,9 +7,7 @@
:visible.sync="visible"
@close="closeDataDialog">
<!-- 取消 :rules="dataRule"-->
<el-form :inline="true" :model="dataForm" label-position="top" ref="dataForm"
@keyup.enter.native="dataFormSubmit()"
label-width="80px">
<el-form :inline="true" :model="dataForm" label-position="top" ref="dataForm" @keyup.enter.native="dataFormSubmit()" label-width="80px">
<el-form>
<el-form-item :label="buttons.username||'用户账号'" prop="userName">
<el-input v-model="dataForm.userName" style="width: 150px;" placeholder="登录帐号"></el-input>
@ -18,8 +16,7 @@
<el-input v-model="dataForm.password" style="width: 150px;" type="password" ></el-input>
</el-form-item>
<el-form-item :label="buttons.comfirmPassword||'确认密码'" prop="comfirmPassword" :class="{ 'is-required': !dataForm.id }">
<el-input v-model="dataForm.comfirmPassword" style="width: 150px;" type="password"
></el-input>
<el-input v-model="dataForm.comfirmPassword" style="width: 150px;" type="password"></el-input>
</el-form-item>
</el-form>
<el-form>
@ -86,12 +83,14 @@
</el-option>
</el-select>
</el-form-item>
<el-form-item :label="buttons.domainControlAccount||'域控账号'" prop="domainControlAccount">
<el-input v-model="dataForm.domainControlAccount" style="width: 150px;" ></el-input>
</el-form-item>
</el-form>
<el-form>
<el-form-item label="角色" size="mini" prop="roleIdList">
<el-checkbox-group v-model="dataForm.roleIdList">
<el-checkbox v-for="role in roleList" :key="role.roleId" :label="role.roleId">{{
role.roleName
}}
</el-checkbox>
<el-checkbox v-for="role in roleList" :key="role.roleId" :label="role.roleId">{{role.roleName}}</el-checkbox>
</el-checkbox-group>
</el-form-item>
<el-form-item label="状态" size="mini" prop="status">
@ -159,7 +158,8 @@ export default {
siteID: '',
bu:'',
siteName:'',
userDisplay: ''
userDisplay: '',
domainControlAccount: ''
},
buttons: {
add: '添加',
@ -181,6 +181,7 @@ export default {
siteID: '工厂',
siteName:'工厂名称',
language: '语言',
domainControlAccount: '域控账号'
},
}
},
@ -314,6 +315,7 @@ export default {
this.dataForm.departmentName = data.user.departmentName
this.dataForm.post = data.user.post
this.dataForm.postNo = data.user.postNo
this.dataForm.domainControlAccount = data.user.domainControlAccount
this.getBDPList()
}
})
@ -340,7 +342,8 @@ export default {
site: '',
siteID: '',
siteName: '',
userDisplay: ''
userDisplay: '',
domainControlAccount: ''
}
}
})
@ -367,6 +370,7 @@ export default {
'buNo': this.dataForm.buNo,
'departmentNo': this.dataForm.departmentNo,
'postNo': this.dataForm.postNo,
'domainControlAccount': this.dataForm.domainControlAccount
})
}).then(({data}) => {
if (data && data.code === 0) {

Loading…
Cancel
Save