Browse Source

2025-06-17

同意驳回按钮需排除超级管理员角色权限
master
fengyuan_yang 7 months ago
parent
commit
95da8b28a8
  1. 22
      src/api/changeManagement/changeManagement.js
  2. 19
      src/views/modules/changeManagement/changeRecord.vue
  3. 33
      src/views/modules/proofing/requestForProofing.vue
  4. 188
      src/views/modules/quotation/requestForQuote.vue
  5. 52
      src/views/modules/test/requestForTest.vue
  6. 18
      src/views/modules/tooling/searchToolApply.vue

22
src/api/changeManagement/changeManagement.js

@ -195,67 +195,53 @@ export const countersignatureUpdate = data => createAPI(`/plm/changeManagement/c
/**
* 下达
* @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)
/**
* 获取节点权限
* @param data
* @returns {*}
*/
export const getNodeAuthority = data => createAPI(`/plm/changeManagement/getNodeAuthority`,'post',data)
/**
* 查询审批信息
* @param data
* @returns {*}
*/
export const getApprovalList = data => createAPI(`/plm/changeManagement/getApprovalList`,'post',data)
/**
* 根据site查bu
* @param data
* @returns {*}
*/
export const getBuBySite = data => createAPI(`/plm/changeManagement/getBuBySite`,'post',data)
/**
* 获取节点权限
* @param data
* @returns {*}
*/
export const getNodeAuthorityForCheck = data => createAPI(`/plm/changeManagement/getNodeAuthorityForCheck`,'post',data)
/**
* 根据视图查物料计划
* @param data
* @returns {*}
*/
export const choosePartNoList = data => createAPI(`/plm/changeManagement/choosePartNoList`,'post',data)
/**
* TP执行
* @param data
* @returns {*}
*/
export const tpExecute = data => createAPI(`/plm/changeManagement/tpExecute`,'post',data)
/**
* 会签执行
* @param data
* @returns {*}
*/
export const csExecute = data => createAPI(`/plm/changeManagement/csExecute`,'post',data)
/**
* 会签执行
*/
export const checkSuperAdmin = data => createAPI(`/plm/changeManagement/checkSuperAdmin`,'post',data)

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

@ -340,7 +340,7 @@
<el-button type="primary" :loading="saveLoading" @click="saveData">保存</el-button>
</template>
<el-button type="primary" @click="modalFlag = false">关闭</el-button>
<template v-if="modalData.createBy2 && modalData.createBy2.split(';').includes(createBy2)">
<template v-if="superAdmin || (modalData.createBy2 && modalData.createBy2.split(';').includes(createBy2))">
<template v-if="authSubmit">
<el-button v-if="modalData.changeStatus === '审批中' && modalData.tpProcessControl !== 'Y' && modalData.csProcessControl !== 'Y'" type="primary" :loading="submitLoading" @click="agreeSubmit">同意</el-button>
</template>
@ -447,7 +447,7 @@
<el-button type="primary" :loading="saveLoading" @click="saveData">保存</el-button>
</template>
<el-button type="primary" @click="modalFlag = false">关闭</el-button>
<template v-if="modalData.createBy2 && modalData.createBy2.split(';').includes(createBy2)">
<template v-if="superAdmin || (modalData.createBy2 && modalData.createBy2.split(';').includes(createBy2))">
<template v-if="authSubmit">
<el-button v-if="modalData.changeStatus === '审批中' && modalData.tpProcessControl !== 'Y' && modalData.csProcessControl !== 'Y'" type="primary" :loading="submitLoading" @click="agreeSubmit">同意</el-button>
</template>
@ -605,7 +605,7 @@
<el-button type="primary" :loading="saveLoading" @click="saveData">保存</el-button>
</template>
<el-button type="primary" @click="modalFlag = false">关闭</el-button>
<template v-if="modalData.createBy2 && modalData.createBy2.split(';').includes(createBy2)">
<template v-if="superAdmin || (modalData.createBy2 && modalData.createBy2.split(';').includes(createBy2))">
<template v-if="authSubmit">
<el-button v-if="modalData.changeStatus === '审批中' && modalData.tpProcessControl !== 'Y' && modalData.csProcessControl !== 'Y'" type="primary" :loading="submitLoading" @click="agreeSubmit">同意</el-button>
</template>
@ -667,7 +667,7 @@
<el-button type="primary" :loading="saveLoading" @click="saveData">保存</el-button>
</template>
<el-button type="primary" @click="modalFlag = false">关闭</el-button>
<template v-if="modalData.createBy2 && modalData.createBy2.split(';').includes(createBy2)">
<template v-if="superAdmin || (modalData.createBy2 && modalData.createBy2.split(';').includes(createBy2))">
<template v-if="authSubmit">
<el-button v-if="modalData.changeStatus === '审批中' && modalData.tpProcessControl !== 'Y' && modalData.csProcessControl !== 'Y'" type="primary" :loading="submitLoading" @click="agreeSubmit">同意</el-button>
</template>
@ -1361,6 +1361,7 @@
getBuBySite, // sitebu
technicalSpecificationSearch2, //
choosePartNoList, //
checkSuperAdmin, //
} from '@/api/changeManagement/changeManagement.js'
import ChooseList from '@/views/modules/common/Chooselist'
import {verifyData} from "@/api/chooselist/chooselist.js"
@ -2958,6 +2959,7 @@
authFilePreview: false,
partModelFlag: false,
createBy2: this.$store.state.user.name,
superAdmin: false,
}
},
@ -3009,9 +3011,18 @@
this.getEcnModel2()
this.getEcnCSModel()
this.getBuBySite()
this.checkSuperAdmin()
},
methods: {
//
checkSuperAdmin () {
checkSuperAdmin().then(({data}) => {
this.superAdmin = data.superAdmin
})
},
// bu
getBuBySite () {
let tempData = {

33
src/views/modules/proofing/requestForProofing.vue

@ -364,7 +364,7 @@
<el-button type="primary" @click="saveData()">保存</el-button>
</template>
<el-button type="primary" @click="modalFlag = false">关闭</el-button>
<template v-if="modalData.approvalUsername && modalData.approvalUsername.split(';').includes($store.state.user.name)">
<template v-if="superAdmin || (modalData.approvalUsername && modalData.approvalUsername.split(';').includes($store.state.user.name))">
<template v-if="isAuth('103001:submit')">
<el-button v-if="modalData.proofingStatus === '审批中'" type="primary" @click="agreeSubmit">同意</el-button>
</template>
@ -836,7 +836,7 @@ import {
searchDelegateAccess,
searchDelegateAccessByUser, submitChange
} from "../../../api/proofing/proofingInformation";
import {getNodeAuthority, getApprovalList} from "../../../api/changeManagement/changeManagement";
import {getNodeAuthority, getApprovalList, checkSuperAdmin} from "../../../api/changeManagement/changeManagement";
import ProjectInfo from "../quotation/sellForQuotation/projectInfo.vue";
import profingFile from "./profingFile"
import proofingAttribute from "../demoComponents/orderProperties"
@ -2201,13 +2201,12 @@ export default {
],
rejectVisible: false,
rejectOpinion: '',
detailVisible:false,
no:1,
size:20,
total:0,
queryLoading:false,
detailVisible: false,
no: 1,
size: 20,
total: 0,
queryLoading: false,
superAdmin: false,
}
},
mounted() {
@ -2217,13 +2216,25 @@ export default {
this.secondHeight = window.innerHeight / 2 - 206;
})
},
created() {
this.handleRouteQuery();
this.handleRouteQuery()
this.checkSuperAdmin()
},
activated() {
this.handleRouteQuery();
this.handleRouteQuery()
},
methods: {
//
checkSuperAdmin () {
checkSuperAdmin().then(({data}) => {
this.superAdmin = data.superAdmin
})
},
handleRouteQuery() {
if (this.$route.params.type === 'tokenLogin') {
let params = {

188
src/views/modules/quotation/requestForQuote.vue

@ -65,8 +65,7 @@
<el-input v-model="searchData.customerPartNo" clearable style="width: 120px"></el-input>
</el-form-item>
<el-form-item :label="'优先等级'">
<dict-data-select v-model="searchData.priorityLevel" clearable style="width: 120px" :use-default-value="false"
dict-type="priority_Level"/>
<dict-data-select v-model="searchData.priorityLevel" clearable style="width: 120px" :use-default-value="false" dict-type="priority_Level"/>
</el-form-item>
<el-form-item :label="'状态'">
<el-select v-model="searchData.quotationStatus" style="width: 120px">
@ -114,7 +113,6 @@
type="selection"
header-align="center"
align="center"
:selectable="selectFlag"
width="50">
</el-table-column>
<el-table-column
@ -136,13 +134,11 @@
<span v-show="scope.row.quotationResultStatus === 'S'">已提交报价</span>
<span v-show="scope.row.quotationResultStatus === 'R'">客户已反馈</span>
</span>
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]"
style="width: 100px; height: 80px"/></span>
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" style="width: 100px; height: 80px"/></span>
</div>
<div v-else>
<span v-if="!item.columnHidden">{{ scope.row[item.columnProp] }}</span>
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]"
style="width: 100px; height: 80px"/></span>
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" style="width: 100px; height: 80px"/></span>
</div>
</template>
</el-table-column>
@ -180,8 +176,7 @@
</el-pagination>
<!-- 询价模态框 -->
<el-dialog :title="modalData.title" v-drag @open="openSaveDataDialog" @close="closeSaveDataDialog"
:close-on-click-modal="false" top="10vh" :visible.sync="modalFlag" width="1200px">
<el-dialog :title="modalData.title" v-drag @open="openSaveDataDialog" @close="closeSaveDataDialog" :close-on-click-modal="false" top="10vh" :visible.sync="modalFlag" width="1200px">
<el-form label-position="top" ref="saveDataForm" :model="modalData" :rules="rules">
<el-row :gutter="10">
<el-col :span="12">
@ -199,33 +194,27 @@
</el-col>
<el-col :span="4">
<el-form-item label="要求完成日期" prop="requiredCompletionDate">
<el-date-picker v-model="modalData.requiredCompletionDate"
:disabled="(quotationInformationFlag('requiredCompletionDate') === 'N' && modalData.flag === '2') || detailVisible"
style="width: 100%" type="date" value-format="yyyy-MM-dd" placeholder="选择日期"></el-date-picker>
<el-date-picker v-model="modalData.requiredCompletionDate" :disabled="(quotationInformationFlag('requiredCompletionDate') === 'N' && modalData.flag === '2') || detailVisible" style="width: 100%" type="date" value-format="yyyy-MM-dd" placeholder="选择日期"></el-date-picker>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="优先等级" >
<dict-data-select v-if="modalFlag" :disabled="(quotationInformationFlag('priorityLevel') === 'N' && modalData.flag === '2') || detailVisible"
v-model="modalData.priorityLevel" dict-type="priority_Level"></dict-data-select>
<dict-data-select v-if="modalFlag" :disabled="(quotationInformationFlag('priorityLevel') === 'N' && modalData.flag === '2') || detailVisible" v-model="modalData.priorityLevel" dict-type="priority_Level"></dict-data-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="询价金额">
<el-input-number v-field="accessField('102001001')" :step="0" :disabled="(quotationInformationFlag('quotationAmount') === 'N' && modalData.flag === '2') || detailVisible"
:controls="false" v-model="modalData.quotationAmount"></el-input-number>
<el-input-number v-field="accessField('102001001')" :step="0" :disabled="(quotationInformationFlag('quotationAmount') === 'N' && modalData.flag === '2') || detailVisible" :controls="false" v-model="modalData.quotationAmount"></el-input-number>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="12">
<el-form-item prop="projectId" label="项目号">
<span slot="label" v-if="modalData.customerNo && modalData.flag === '1'" style=""
@click="chooseProjectListFlag = true"><a>项目号</a></span>
<span slot="label" v-if="modalData.customerNo && modalData.flag === '1'" @click="chooseProjectListFlag = true"><a>项目号</a></span>
<el-row :gutter="10">
<el-col :span="8">
<el-input :disabled="!modalData.customerNo || modalData.flag !== '1'"
v-model="modalData.projectId" @blur="handleQueryProjectByCustomer"></el-input>
<el-input :disabled="!modalData.customerNo || modalData.flag !== '1'" v-model="modalData.projectId" @blur="handleQueryProjectByCustomer"></el-input>
</el-col>
<el-col :span="16">
<el-input disabled v-model="modalData.projectName"></el-input>
@ -235,21 +224,17 @@
</el-col>
<el-col :span="4">
<el-form-item label="Quote Type">
<dict-data-select v-if="modalFlag"
:disabled="(quotationInformationFlag('quoteType') === 'N' && modalData.flag === '2') || detailVisible" v-model="modalData.quoteType"
clearable dict-type="quote_type" :use-default-value="modalData.flag === '1'"></dict-data-select>
<dict-data-select v-if="modalFlag" :disabled="(quotationInformationFlag('quoteType') === 'N' && modalData.flag === '2') || detailVisible" v-model="modalData.quoteType" clearable dict-type="quote_type" :use-default-value="modalData.flag === '1'"></dict-data-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="客户询价单号" prop="customerQuoteNo">
<el-input :disabled="(quotationInformationFlag('customerQuoteNo') === 'N' && modalData.flag === '2') || detailVisible"
v-model="modalData.customerQuoteNo"></el-input>
<el-input :disabled="(quotationInformationFlag('customerQuoteNo') === 'N' && modalData.flag === '2') || detailVisible" v-model="modalData.customerQuoteNo"></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="是否需要Sourcing">
<dict-data-select v-if="modalFlag" :disabled="(quotationInformationFlag('sourcing') === 'N' && modalData.flag === '2') || detailVisible"
v-model="modalData.sourcing" dict-type="sourcing"></dict-data-select>
<dict-data-select v-if="modalFlag" :disabled="(quotationInformationFlag('sourcing') === 'N' && modalData.flag === '2') || detailVisible" v-model="modalData.sourcing" dict-type="sourcing"></dict-data-select>
</el-form-item>
</el-col>
</el-row>
@ -268,8 +253,7 @@
</el-col>
<el-col :span="4">
<el-form-item label="Delivery Terms" prop="deliveryTerms">
<dict-data-select v-if="modalFlag" :disabled="(quotationInformationFlag('deliveryTerms') === 'N' && modalData.flag === '2') || detailVisible" v-model="modalData.deliveryTerms"
clearable dict-type="delivery_terms" :use-default-value="modalData.flag === '1'"></dict-data-select>
<dict-data-select v-if="modalFlag" :disabled="(quotationInformationFlag('deliveryTerms') === 'N' && modalData.flag === '2') || detailVisible" v-model="modalData.deliveryTerms" clearable dict-type="delivery_terms" :use-default-value="modalData.flag === '1'"></dict-data-select>
</el-form-item>
</el-col>
<el-col :span="4">
@ -394,7 +378,7 @@
<el-button type="primary" v-if="!detailVisible" @click="saveData">保存</el-button>
</template>
<el-button type="primary" @click="modalFlag = false">关闭</el-button>
<template v-if="modalData.approvalUsername && modalData.approvalUsername.split(';').includes($store.state.user.name)">
<template v-if="superAdmin || (modalData.approvalUsername && modalData.approvalUsername.split(';').includes($store.state.user.name))">
<template v-if="isAuth('102001001:submit')">
<el-button v-if="modalData.quotationStatus === '审批中'" type="primary" @click="agreeSubmit">同意</el-button>
</template>
@ -405,8 +389,7 @@
</el-footer>
</el-dialog>
<!--选择项目模态框-->
<el-dialog title="选择-项目" :close-on-click-modal="false" @close="closeProjectInfoDialog" @open="searchProjectInfoList"
:visible.sync="chooseProjectListFlag" width="600px">
<el-dialog title="选择-项目" :close-on-click-modal="false" @close="closeProjectInfoDialog" @open="searchProjectInfoList" :visible.sync="chooseProjectListFlag" width="600px">
<el-form label-position="top" :model="searchProjectData" ref="closeProjectInfoForm">
<el-row :gutter="10">
<el-col :span="6">
@ -425,10 +408,11 @@
</el-form-item>
</el-col>
</el-row>
<el-table :height="223"
:data="projectList"
border
@row-dblclick="projectClickRow">
<el-table
:height="223"
:data="projectList"
border
@row-dblclick="projectClickRow">
<el-table-column label="项目号" prop="projectId"/>
<el-table-column label="项目名称" prop="projectName"/>
<el-table-column label="终端客户编码" prop="finalCustomerId"/>
@ -438,22 +422,15 @@
</el-dialog>
<!-- 录入询价结果模态框 -->
<el-dialog title="录入询价结果" :close-on-click-modal="false" v-drag :visible.sync="enterResultModalFlag"
width="785px">
<el-form :inline="true" label-position="top" :model="enterResultData" :rules="enterResultRules"
style="margin-left: 0px;margin-top: 10px;">
<el-form-item label="实际询价日期" prop="actualityQuotationDate"
:rules="enterResultRules.actualityQuotationDate">
<el-date-picker v-model="enterResultData.actualityQuotationDate" type="date" value-format="yyyy-MM-dd"
placeholder="请选择日期" style="width: 200px"></el-date-picker>
<el-dialog title="录入询价结果" :close-on-click-modal="false" v-drag :visible.sync="enterResultModalFlag" width="785px">
<el-form :inline="true" label-position="top" :model="enterResultData" :rules="enterResultRules" style="margin-left: 0px;margin-top: 10px;">
<el-form-item label="实际询价日期" prop="actualityQuotationDate" :rules="enterResultRules.actualityQuotationDate">
<el-date-picker v-model="enterResultData.actualityQuotationDate" type="date" value-format="yyyy-MM-dd" placeholder="请选择日期" style="width: 200px"></el-date-picker>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" :model="enterResultData" :rules="enterResultRules"
style="margin-left:0px;margin-top: 5px;">
<el-form-item label="询价结果信息" prop="quotationResultInformation"
:rules="enterResultRules.quotationResultInformation">
<el-input type="textarea" v-model="enterResultData.quotationResultInformation" :rows="3" resize='none'
show-word-limit style="width: 500px;height: 30px"></el-input>
<el-form :inline="true" label-position="top" :model="enterResultData" :rules="enterResultRules" style="margin-left:0px;margin-top: 5px;">
<el-form-item label="询价结果信息" prop="quotationResultInformation" :rules="enterResultRules.quotationResultInformation">
<el-input type="textarea" v-model="enterResultData.quotationResultInformation" :rows="3" resize='none' show-word-limit style="width: 500px;height: 30px"></el-input>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" :model="enterResultData" style="margin-left: 0px;margin-top: 50px;">
@ -500,14 +477,10 @@
</el-dialog>
<!-- 提交客户询价模态框 -->
<el-dialog title="提交客户询价" :close-on-click-modal="false" v-drag :visible.sync="submitResultModalFlag"
width="620px">
<el-form :inline="true" label-position="top" :model="submitResultData" :rules="submitResultRules"
style="margin-left: 0px;margin-top: 10px;">
<el-form-item label="实际提交客户日期" prop="actualitySubmissionDate"
:rules="submitResultRules.actualitySubmissionDate">
<el-date-picker v-model="submitResultData.actualitySubmissionDate" type="date" value-format="yyyy-MM-dd"
placeholder="请选择日期" style="width: 200px"></el-date-picker>
<el-dialog title="提交客户询价" :close-on-click-modal="false" v-drag :visible.sync="submitResultModalFlag" width="620px">
<el-form :inline="true" label-position="top" :model="submitResultData" :rules="submitResultRules" style="margin-left: 0px;margin-top: 10px;">
<el-form-item label="实际提交客户日期" prop="actualitySubmissionDate" :rules="submitResultRules.actualitySubmissionDate">
<el-date-picker v-model="submitResultData.actualitySubmissionDate" type="date" value-format="yyyy-MM-dd" placeholder="请选择日期" style="width: 200px"></el-date-picker>
</el-form-item>
<el-form-item label="提交方式" prop="submissionMethod" :rules="submitResultRules.submissionMethod">
<el-select v-model="submitResultData.submissionMethod" style="width: 221px">
@ -520,8 +493,7 @@
</el-form>
<el-form :inline="true" label-position="top" :model="submitResultData" style="margin-left:0px;margin-top: 5px;">
<el-form-item label="提交备注">
<el-input type="textarea" v-model="submitResultData.submissionRemark" :rows="3" resize='none' show-word-limit
style="width: 456px;height: 30px"></el-input>
<el-input type="textarea" v-model="submitResultData.submissionRemark" :rows="3" resize='none' show-word-limit style="width: 456px;height: 30px"></el-input>
</el-form-item>
</el-form>
<el-footer style="height:35px;margin-top: 50px;text-align:center">
@ -531,13 +503,10 @@
</el-dialog>
<!-- 客户回复模态框 -->
<el-dialog title="客户回复" :close-on-click-modal="false" v-drag :visible.sync="customerResponseModalFlag"
width="620px">
<el-form :inline="true" label-position="top" :model="customerResponseData" :rules="customerResponseRules"
style="margin-left: 0px;margin-top: 10px;">
<el-dialog title="客户回复" :close-on-click-modal="false" v-drag :visible.sync="customerResponseModalFlag" width="620px">
<el-form :inline="true" label-position="top" :model="customerResponseData" :rules="customerResponseRules" style="margin-left: 0px;margin-top: 10px;">
<el-form-item label="实际回复日期" prop="actualityReplyDate" :rules="customerResponseRules.actualityReplyDate">
<el-date-picker v-model="customerResponseData.actualityReplyDate" type="date" value-format="yyyy-MM-dd"
placeholder="请选择日期" style="width: 185px"></el-date-picker>
<el-date-picker v-model="customerResponseData.actualityReplyDate" type="date" value-format="yyyy-MM-dd" placeholder="请选择日期" style="width: 185px"></el-date-picker>
</el-form-item>
<el-form-item label="客户确认结果" prop="confirmResults" :rules="customerResponseRules.confirmResults">
<el-select v-model="customerResponseData.confirmResults" style="width: 185px">
@ -549,11 +518,9 @@
<el-input v-model="customerResponseData.confirmBy" style="width: 185px"></el-input>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" :model="customerResponseData"
style="margin-left:0px;margin-top: 5px;">
<el-form :inline="true" label-position="top" :model="customerResponseData" style="margin-left:0px;margin-top: 5px;">
<el-form-item label="客户回复信息">
<el-input type="textarea" v-model="customerResponseData.confirmInformation" :rows="3" resize='none'
show-word-limit style="width: 595px;height: 30px"></el-input>
<el-input type="textarea" v-model="customerResponseData.confirmInformation" :rows="3" resize='none' show-word-limit style="width: 595px;height: 30px"></el-input>
</el-form-item>
</el-form>
<el-footer style="height:35px;margin-top: 50px;text-align:center">
@ -582,8 +549,7 @@
:label="item.columnLabel">
<template slot-scope="scope">
<span v-if="!item.columnHidden">{{ scope.row[item.columnProp] }}</span>
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]"
style="width: 100px; height: 80px"/></span>
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" style="width: 100px; height: 80px"/></span>
</template>
</el-table-column>
</el-table>
@ -606,19 +572,16 @@
</el-dialog>
<!-- 页签 -->
<el-tabs v-model="activeTable" type="border-card" style="margin-top: 0px;"
@tab-click="tabClick" class="customer-tab">
<el-tabs v-model="activeTable" type="border-card" style="margin-top: 0px;" @tab-click="tabClick" class="customer-tab">
<el-tab-pane label="基本信息" name="priceCheck">
<price-check-properties :disabled="quotationCurrentRow.quotationStatus === '已完成'" ref="tabProperties" v-model:data-list="priceCheckPropertiesList"
:quotation-no="quotationCurrentRow.quotationBatchNo" height="45vh"></price-check-properties>
<price-check-properties :disabled="quotationCurrentRow.quotationStatus === '已完成'" ref="tabProperties" v-model:data-list="priceCheckPropertiesList" :quotation-no="quotationCurrentRow.quotationBatchNo" height="45vh"></price-check-properties>
</el-tab-pane>
<el-tab-pane label="采购详细信息" name="tabMaterialSourcing">
<price-check-detail :disabled="quotationCurrentRow.quotationStatus === '已完成'" :quote="quotationCurrentRow" :data-list="priceCheckDetailList" @refresh="getPriceCheckDetailList" :height="500"></price-check-detail>
</el-tab-pane>
<!-- 项目信息页签 -->
<el-tab-pane label="项目信息" name="project_information">
<el-form label-position="top" :model="projectInformationData"
style="margin-left: 10px;margin-top: 5px;margin-right: 10px">
<el-form label-position="top" :model="projectInformationData" style="margin-left: 10px;margin-top: 5px;margin-right: 10px">
<el-row :gutter="20">
<el-col :span="8">
<div class="grid-content bg-purple">
@ -796,6 +759,7 @@ import {
} from '@/api/customer/customerContact.js'
import {
getNodeAuthority, //
checkSuperAdmin, //
} from '@/api/changeManagement/changeManagement.js'
import Chooselist from '@/views/modules/common/Chooselist'
import quotationUploadFile from "./quotation_upload_file"
@ -2113,13 +2077,25 @@ export default {
this.secondHeight = window.innerHeight -this.height;
})
},
created() {
this.handleRouteQuery()
this.handleRouteQuery()
this.checkSuperAdmin()
},
activated () {
this.handleRouteQuery()
this.handleRouteQuery()
},
methods: {
//
checkSuperAdmin () {
checkSuperAdmin().then(({data}) => {
this.superAdmin = data.superAdmin
})
},
handleRouteQuery(){
if (this.$route.params.type === 'tokenLogin') {
if (this.$route.params.docNo) {
@ -2150,7 +2126,7 @@ export default {
}
}
})
}else if (this.$route.params.quotationNo) {
} else if (this.$route.params.quotationNo) {
this.searchData.quotationNo = this.$route.params.quotationNo
this.searchData.limit = this.pageSize
this.searchData.page = this.pageIndex
@ -2173,19 +2149,18 @@ export default {
// this.refreshCurrentTabTable() //table
this.quotationClickRow(this.dataList[0])
// this.updateModal(this.dataList[0])
}else {
} else {
this.quotationCurrentRow = {}
}
}
})
}else {
} else {
this.getDataList()
}
},
// ======== ========
/**
* 每页数
* @param val
*/
sizeChangeHandle(val) {
this.pageSize = val
@ -2196,9 +2171,9 @@ export default {
this.searchByAnyField(this.filterSearchData)
}
},
/**
* 当前页
* @param val
*/
currentChangeHandle(val) {
this.pageIndex = val
@ -2212,7 +2187,6 @@ export default {
// ======== ========
/**
* 选中一行
* @param row
*/
projectPartClickRow(row) {
if (this.modalData.flag === '1') {
@ -2220,6 +2194,7 @@ export default {
this.confirmProjectPart();
}
},
/**
* 多选
* @param val
@ -2227,36 +2202,26 @@ export default {
selectionProjectPart(val) {
this.projectPartListSelections = val
},
/**
* 获取唯一值一般都为 id
* @param row
* @returns {*}
*/
getRowKeys(row) {
return row.testPartNo;
},
/**
* 未知
* @returns {boolean}
*/
selectFlag() {
return true;
},
// ======== ========
/**
* 列表表格选择替换
* @param tab
* @param event
*/
tabClick(tab, event) {
//
this.refreshCurrentTabTable()
},
/**
* 当前值发生变化的时候修改
* @param row
* @param oldRow
*/
changeCurrentRow(row, oldRow) {
//
@ -2266,6 +2231,7 @@ export default {
this.refreshCurrentTabTable()
}
},
/**
* 刷新页签的table数据
*/
@ -2311,6 +2277,7 @@ export default {
this.dataListLoading = false
})
},
/**
* 获取询价结果列表
*/
@ -2330,6 +2297,7 @@ export default {
//
this.getFileContentData()
},
/**
* 获取项目信息
*/
@ -2347,6 +2315,7 @@ export default {
}
})
},
/**
* 获取客户信息
*/
@ -2418,7 +2387,6 @@ export default {
},
/**
* 询价信息编辑模态框
* @param row
*/
async updateModal(row) {
await this.getNodeAuthority(row)
@ -2521,6 +2489,7 @@ export default {
this.queryLoading = false
})
},
/**
* 确认多选产品
*/
@ -2542,6 +2511,7 @@ export default {
this.modalData.testPartNo = this.modalData.testPartNo.substring(1)
this.modalData.partName = this.modalData.partName.substring(1)
},
/**
* 客户信息新增/编辑
*/
@ -2633,6 +2603,7 @@ export default {
}
})
},
/**
* 询价信息删除
*/
@ -2673,7 +2644,6 @@ export default {
})
}
})
}).catch(() => {
})
},
@ -2707,9 +2677,9 @@ export default {
this.$message.error(error)
})
},
/**
* 复选询价信息
* @param val
*/
selectionQuotation(val) {
this.quotationSelections = val
@ -2774,6 +2744,7 @@ export default {
// }
this.packQuotationResultModal()
},
/**
* 保存询价结果
*/
@ -2857,6 +2828,7 @@ export default {
this.submitResultData.quotationNo = this.quotationCurrentRow.quotationNo
this.submitResultModalFlag = true
},
/**
* 提交客户询价
*/
@ -2886,6 +2858,7 @@ export default {
// }
this.packSubmitQuotationModal()
},
/**
* 保存提交结果
*/
@ -2970,6 +2943,7 @@ export default {
this.customerResponseData.quotationNo = this.quotationCurrentRow.quotationNo
this.customerResponseModalFlag = true
},
/**
* 客户回复
*/
@ -2999,6 +2973,7 @@ export default {
// }
this.packCustomerResponseModal()
},
/**
* 保存客户回复
*/
@ -3094,6 +3069,7 @@ export default {
// }
// })
// },
/**
* 上传文件
*/
@ -3119,7 +3095,6 @@ export default {
},
/**
* 文件删除
* @param row
*/
deleteFile(row) {
this.$confirm('确定要删除此文件?', '提示', {
@ -3143,12 +3118,11 @@ export default {
})
}
})
}).catch(() => {
})
},
/**
* 文件下载
* @param row
*/
downloadFile(row) {
downLoadQuotationFile(row).then(({data}) => {
@ -3196,8 +3170,6 @@ export default {
// ======== chooseList ========
/**
* 获取基础数据列表S
* @param val
* @param type
*/
getBaseList(val, type) {
this.tagNo = val
@ -3234,9 +3206,9 @@ export default {
this.$refs.baseList.init(val, strVal, conSql)
})
},
/**
* 列表方法的回调
* @param val
*/
getBaseData(val) {
if (this.tagNo === 102) {

52
src/views/modules/test/requestForTest.vue

@ -342,18 +342,14 @@
</el-row>
</el-form>
<div class="rq">
<el-button v-if="!modalData.testNo" @click="saveData" plain type="primary"
style="position:absolute;margin-top: 10px;margin-right: 10px;right: 0;z-index: 1">下一步
<el-button v-if="!modalData.testNo" @click="saveData" plain type="primary" style="position:absolute;margin-top: 10px;margin-right: 10px;right: 0;z-index: 1">下一步
</el-button>
<el-tabs v-model="activeTab" @tab-click="dialogTabClick">
<el-tab-pane label="基本信息" :disabled="!activeTabList.includes('attribute')" name="attribute"
v-if="modalData.testNo">
<test-properties v-if="modalFlag" :disabled="detailFlag" v-model:data-list="testPropertiesList"
height="32vh" ref="dialogTestAttribute" :test-no="modalData.testNo"></test-properties>
<el-tab-pane label="基本信息" :disabled="!activeTabList.includes('attribute')" name="attribute" v-if="modalData.testNo">
<test-properties v-if="modalFlag" :disabled="detailFlag" v-model:data-list="testPropertiesList" height="32vh" ref="dialogTestAttribute" :test-no="modalData.testNo"></test-properties>
</el-tab-pane>
<el-tab-pane label="基本信息" :disabled="!activeTabList.includes('attribute')" name="attribute" v-else>
<test-properties v-if="modalFlag" :disabled="detailFlag" v-model:data-list="copyTestPropertiesList"
height="32vh" ref="dialogTestAttribute" :test-no="modalData.testNo"></test-properties>
<test-properties v-if="modalFlag" :disabled="detailFlag" v-model:data-list="copyTestPropertiesList" height="32vh" ref="dialogTestAttribute" :test-no="modalData.testNo"></test-properties>
</el-tab-pane>
<el-tab-pane label="物料属性" :disabled="!activeTabList.includes('partAttribute')" name="partAttribute">
<el-table
@ -374,8 +370,7 @@
<template slot-scope="scope">
<div v-if="item.columnProp !== 'textValue' && item.columnProp !== 'numValue'">
<span v-if="!item.columnHidden">{{ scope.row[item.columnProp] }}</span>
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]"
style="width: 100px; height: 80px"/></span>
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" style="width: 100px; height: 80px"/></span>
</div>
<div v-else>
{{ scope.row.textValue ? scope.row.textValue : scope.row.numValue }}
@ -385,20 +380,16 @@
</el-table>
</el-tab-pane>
<el-tab-pane label="材料信息" :disabled="!activeTabList.includes('product')" name="product">
<test-table v-if="clickTestRow" :disabled="detailFlag" :test-number="modalData.testNumber" height="32vh"
ref="dialogSoBom" v-model:data-list="testSoBomList" :test-no="modalData.testNo"></test-table>
<test-table v-if="clickTestRow" :disabled="detailFlag" :test-number="modalData.testNumber" height="32vh" ref="dialogSoBom" v-model:data-list="testSoBomList" :test-no="modalData.testNo"></test-table>
</el-tab-pane>
<el-tab-pane label="制程信息" :disabled="!activeTabList.includes('process')" name="process">
<test-routing-table v-if="clickTestRow" :disabled="detailFlag" ref="dialogSoRouting" height="32vh"
v-model:data-list="testSoRoutingList" :test-no="modalData.testNo"></test-routing-table>
<test-routing-table v-if="clickTestRow" :disabled="detailFlag" ref="dialogSoRouting" height="32vh" v-model:data-list="testSoRoutingList" :test-no="modalData.testNo"></test-routing-table>
</el-tab-pane>
<el-tab-pane label="附件信息" :disabled="!activeTabList.includes('file')" name="file">
<!-- <oss-components ref="ossRef1" v-if="clickTestRow" :disabled="detailFlag" label="测试单号" height="32vh"-->
<!-- :columns="fileColumnList" :order-ref2="modalData.testNo"-->
<!-- :order-ref1="modalData.site"></oss-components>-->
<oss-components ref="ossRef1" v-if="fileContentLoaded" :disabled="detailFlag" label="测试单号" height="32vh"
:columns="fileColumnList" :order-ref2="modalData.testNo"
:order-ref1="modalData.site"></oss-components>
<oss-components ref="ossRef1" v-if="fileContentLoaded" :disabled="detailFlag" label="测试单号" height="32vh" :columns="fileColumnList" :order-ref2="modalData.testNo" :order-ref1="modalData.site"></oss-components>
</el-tab-pane>
</el-tabs>
</div>
@ -409,17 +400,12 @@
</template>
<!-- <el-button type="primary" @click="modalFlag = false">关闭</el-button>-->
<el-button type="primary" @click="closeDialog">关闭</el-button>
<template
v-if="modalData.approvalUsername && modalData.approvalUsername.split(';').includes($store.state.user.name)">
<template v-if="superAdmin || (modalData.approvalUsername && modalData.approvalUsername.split(';').includes($store.state.user.name))">
<template v-if="isAuth('107001:submit')">
<el-button v-if="modalData.testStatus === '审批中' && !detailFlag" type="primary" @click="agreeSubmit">
同意
</el-button>
<el-button v-if="modalData.testStatus === '审批中' && !detailFlag" type="primary" @click="agreeSubmit">同意</el-button>
</template>
<template v-if="isAuth('107001:rejected')">
<el-button v-if="modalData.testStatus === '审批中' && modalData.isReject === 'Y' && !detailFlag"
@click="rejectVisible = true" type="primary">驳回
</el-button>
<el-button v-if="modalData.testStatus === '审批中' && modalData.isReject === 'Y' && !detailFlag" @click="rejectVisible = true" type="primary">驳回</el-button>
</template>
</template>
</el-footer>
@ -946,6 +932,7 @@ import {
} from '@/api/test/testInformation.js'
import {
getNodeAuthority, //
checkSuperAdmin, //
} from '@/api/changeManagement/changeManagement.js'
import {
downLoadQuotationFile, //
@ -2290,12 +2277,13 @@ export default {
],
rejectVisible: false,
rejectOpinion: "",
partPageNo: 1,
partPageSize: 20,
partPageTotal: 0,
superAdmin: false,
}
},
mounted() {
this.$nextTick(() => {
this.height = window.innerHeight / 2 - 240;
@ -2303,13 +2291,25 @@ export default {
this.secondHeight = window.innerHeight / 2 - 206;
})
},
created() {
this.handleRouteQuery()
this.checkSuperAdmin()
},
activated() {
this.handleRouteQuery()
},
methods: {
//
checkSuperAdmin () {
checkSuperAdmin().then(({data}) => {
this.superAdmin = data.superAdmin
})
},
handleRouteQuery() {
if (this.$route.params.type === 'tokenLogin') {
if (this.$route.params.docNo) {

18
src/views/modules/tooling/searchToolApply.vue

@ -537,7 +537,7 @@
<template v-if="dataForm.status === '草稿' || (dataForm.sp && dataForm.sp.split(';').includes(sp) && dataForm.status === '审批中')">
<el-button type="primary" @click="saveData" class="bigButton">保存</el-button>
</template>
<template v-if="dataForm.sp && dataForm.sp.split(';').includes(sp)">
<template v-if="superAdmin || (dataForm.sp && dataForm.sp.split(';').includes(sp))">
<el-button v-if="dataForm.status === '审批中'" type="primary" @click="agreeSubmit" class="bigButton">同意</el-button>
<el-button v-if="dataForm.status === '审批中' && dataForm.isReject === 'Y'" type="primary" @click="submitDataModal" class="bigButton">驳回</el-button>
</template>
@ -608,7 +608,7 @@
</el-footer>
</el-dialog>
<!-- 上传文件的modal -->
<!-- 上传文件的modal -->
<projectUploadFile ref="projectUploadFile" @refreshPageTables="getFileContentData()" v-drag></projectUploadFile>
<Chooselist ref="baseList" @getBaseData="getBaseData"></Chooselist>
@ -639,6 +639,7 @@ import {
import {
getNodeAuthority, //
getApprovalList, //
checkSuperAdmin, //
} from '@/api/changeManagement/changeManagement.js'
import ApprovalInformation from "../changeManagement/approvalInformation.vue";
import OssComponents from "../oss/ossComponents";
@ -1447,6 +1448,7 @@ export default {
submitModalFlag: false,
processField: '',
sp: this.$store.state.user.name,
superAdmin: false,
}
},
watch: {
@ -1458,13 +1460,23 @@ export default {
// }
// }
},
mounted() {
this.$nextTick(() => {
this.height = window.innerHeight - 520;
this.fieldColumn()
})
},
methods: {
//
checkSuperAdmin () {
checkSuperAdmin().then(({data}) => {
this.superAdmin = data.superAdmin
})
},
accessProcessField(key) {
return this.processField.indexOf(key) !== -1 || false
},
@ -1702,6 +1714,7 @@ export default {
//
editModal(row) {
this.getNodeAuthority(row)
this.checkSuperAdmin()
this.dataForm = {
site: row.site,
applyNo: row.applyNo,
@ -2157,6 +2170,7 @@ export default {
},
},
activated() {
if (this.$route.params.type === 'tokenLogin') {
console.log("进来啦")

Loading…
Cancel
Save