Browse Source

2025/6/12

master
Aoi_Tori 1 year ago
parent
commit
9189266793
  1. 1
      src/api/quotation/quotationInformation.js
  2. 133
      src/views/common/filterSearch.vue
  3. 36
      src/views/modules/proofing/requestForProofing.vue
  4. 8
      src/views/modules/quotation/requestForQuote.vue
  5. 29
      src/views/modules/quotation/toBeQuoted.vue
  6. 28
      src/views/modules/quote/index.vue
  7. 1
      src/views/modules/quote/primary/quoteSearch.vue
  8. 2
      src/views/modules/sampleManagement/technicalSpecificationDetail/com_bm_routing.vue
  9. 1
      src/views/modules/sampleManagement/technicalSpecificationList.vue

1
src/api/quotation/quotationInformation.js

@ -121,6 +121,7 @@ export const closeModalDeleteFile = data => createAPI(`/plm/quotationInformation
* @returns {*}
*/
export const searchQuotationByQuotationNo = data => createAPI(`/plm/quotationInformation/searchQuotationByQuotationNo`,'post',data)
export const quotationInformationSearchByAnyField = data => createAPI(`/plm/quotationInformation/quotationInformationSearch/any`,'post',data)
/**
* 提交
* @param data

133
src/views/common/filterSearch.vue

@ -353,7 +353,7 @@ export default {
<template>
<div>
<el-dialog :title="title" v-drag :visible.sync="visible" width="750px" :before-close="beforeCloseFilterTable" @open="openFilterTable" @close="closeFilterTable" append-to-body>
<div>
<div style="display: flex; justify-content: space-between; align-items: center;">
<el-select ref="record" v-model="selectValue" @visible-change="visibleRecordChange" style="width: 30%" @change="changeSelectTable" clearable filterable placeholder="请选择">
<el-option
v-for="item in selectList"
@ -366,15 +366,17 @@ export default {
</span>
</el-option>
</el-select>
<div style="float: right;margin-right: 15%;width: 200px" >
<span style="float:right;">
<el-button type="primary" plain @click="handleSave">保存</el-button>
</span>
</div>
<el-button type="primary" plain @click="handleSave" style="margin-left: auto; margin-right: 63px;">保存</el-button>
<!-- <div style="float: right;margin-right: 15%;width: 200px" >-->
<!-- <span style="float:right;">-->
<!-- <el-button type="primary" plain @click="handleSave">保存</el-button>-->
<!-- </span>-->
<!-- </div>-->
</div>
<div style="display: flex;gap: 5px">
<div style="width: 85%;height: 400px" v-loading="loadingTableList" element-loading-text="加载中">
<el-table :data="tableList" @select="selectRow" ref="settingTable" border height="100%" v-show="showSetting">
<!-- TODO 之后回来把filter去掉-->
<el-table :data="tableList.filter(row => row.dataType !== 'D')" @select="selectRow" ref="settingTable" border height="100%" v-show="showSetting">
<el-table-column
type="selection"
width="40" align="center">
@ -386,55 +388,56 @@ export default {
</template>
</el-table-column>
<el-table-column label="属性名称" align="left" header-align="center" show-overflow-tooltip width="120" prop="fieldCaption"></el-table-column>
<!-- <el-table-column label="条件" align="center" width="240">-->
<!-- <template slot-scope="{row,$index}">-->
<!-- <div v-if="row.dataType === 'D'" style="width: 100%">-->
<!-- <el-date-picker-->
<!-- v-model="row.formula"-->
<!-- type="date"-->
<!-- placeholder="选择日期"-->
<!-- value-format="yyyy-MM-dd" style="width: 100%;"-->
<!-- />-->
<!-- </div>-->
<!-- <div v-else>-->
<!-- <el-input v-model="row.formula" clearable>-->
<!-- <el-select slot="prepend" clearable v-model="row.symbol" style="width: 100px;cursor:pointer;">-->
<!-- &lt;!&ndash; <el-option value="eq" label="等于"></el-option>&ndash;&gt;-->
<!-- &lt;!&ndash; <el-option value="gt" label="大于"></el-option>&ndash;&gt;-->
<!-- &lt;!&ndash; <el-option value="ge" label="大于等于"></el-option>&ndash;&gt;-->
<!-- &lt;!&ndash; <el-option value="lt" label="小于"></el-option>&ndash;&gt;-->
<!-- &lt;!&ndash; <el-option value="le" label="小于等于"></el-option>&ndash;&gt;-->
<!-- &lt;!&ndash; <el-option value="between" label="之间"></el-option>&ndash;&gt;-->
<!-- &lt;!&ndash; <el-option value="in" label="或者"></el-option>&ndash;&gt;-->
<!-- &lt;!&ndash; <el-option value="ne" label="不等于"></el-option>&ndash;&gt;-->
<!-- &lt;!&ndash; <el-option value="like" label="LIKE"></el-option>&ndash;&gt;-->
<!-- </el-select>-->
<!-- </el-input>-->
<!-- </div>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column label="条件" align="center" width="240">-->
<!-- <template slot-scope="{row,$index}">-->
<!-- <div v-if="row.dataType === 'D'" style="width: 100%">-->
<!-- <el-date-picker-->
<!-- v-model="row.formula"-->
<!-- type="date"-->
<!-- placeholder="选择日期"-->
<!-- value-format="yyyy-MM-dd" style="width: 100%;"-->
<!-- />-->
<!-- </div>-->
<!-- <div v-else>-->
<!-- <el-input v-model="row.formula" clearable>-->
<!-- <el-select slot="prepend" clearable v-model="row.symbol" style="width: 100px;cursor:pointer;">-->
<!-- &lt;!&ndash; <el-option value="eq" label="等于"></el-option>&ndash;&gt;-->
<!-- &lt;!&ndash; <el-option value="gt" label="大于"></el-option>&ndash;&gt;-->
<!-- &lt;!&ndash; <el-option value="ge" label="大于等于"></el-option>&ndash;&gt;-->
<!-- &lt;!&ndash; <el-option value="lt" label="小于"></el-option>&ndash;&gt;-->
<!-- &lt;!&ndash; <el-option value="le" label="小于等于"></el-option>&ndash;&gt;-->
<!-- &lt;!&ndash; <el-option value="between" label="之间"></el-option>&ndash;&gt;-->
<!-- &lt;!&ndash; <el-option value="in" label="或者"></el-option>&ndash;&gt;-->
<!-- &lt;!&ndash; <el-option value="ne" label="不等于"></el-option>&ndash;&gt;-->
<!-- &lt;!&ndash; <el-option value="like" label="LIKE"></el-option>&ndash;&gt;-->
<!-- </el-select>-->
<!-- </el-input>-->
<!-- </div>-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column label="条件" align="center" width="240">
<template slot-scope="{row,$index}">
<!-- 情况一日期类型 D -->
<div v-if="row.dataType === 'D'" style="width: 100%">
<el-date-picker
v-model="row.formula"
type="date"
placeholder="选择日期"
value-format="yyyy-MM-dd"
style="width: 100%;"
/>
<el-select v-model="row.symbol" style="width: 100px; cursor: pointer; margin-top: 5px;" clearable>
<el-option value="eq" label="等于"></el-option>
<el-option value="gt" label="大于"></el-option>
<el-option value="ge" label="大于等于"></el-option>
<el-option value="lt" label="小于"></el-option>
<el-option value="le" label="小于等于"></el-option>
<el-option value="between" label="之间"></el-option>
<el-option value="ne" label="不等于"></el-option>
</el-select>
<div v-if="row.dataType === 'DDD'">
<el-input v-model="row.formula" clearable>
<el-date-picker
v-model="row.formula"
type="datetime"
placeholder="选择日期"
value-format="yyyy-MM-dd"
style="width: 100%; margin-bottom: 5px;"
/>
<el-select v-model="row.symbol" style="width: 100px; cursor: pointer;" clearable>
<el-option value="eq" label="等于"></el-option>
<el-option value="gt" label="大于"></el-option>
<el-option value="ge" label="大于等于"></el-option>
<el-option value="lt" label="小于"></el-option>
<el-option value="le" label="小于等于"></el-option>
<el-option value="between" label="之间"></el-option>
<el-option value="ne" label="不等于"></el-option>
</el-select>
</el-input>
</div>
<!-- 情况二数字类型 N -->
<div v-else-if="row.dataType === 'N'" style="width: 100%">
<el-input-number v-model.number="row.formula" style="width: 100%" clearable />
@ -478,22 +481,22 @@ export default {
</el-table-column>
<el-table-column label="数据库字段" align="center" prop="originalField" show-overflow-tooltip width="120"></el-table-column>
</el-table>
<el-table :data="copyTableList" border height="100%" v-show="!showSetting">
<!-- TODO 暂时用filter之后再处理-->
<el-table :data="copyTableList.filter(row => row.dataType !== 'D')" border height="100%" v-show="!showSetting">
<el-table-column label="属性名称" align="left" header-align="center" show-overflow-tooltip width="120" prop="fieldCaption"></el-table-column>
<el-table-column label="条件" align="center" header-align="center" width="240">
<template slot-scope="{row,$index}">
<el-input v-model="row.formula" clearable>
<el-select slot="prepend" clearable v-model="row.symbol" style="width: 80px;cursor:pointer;">
<!-- <el-option value="eq" label="等于"></el-option>
<el-option value="gt" label="大于"></el-option>
<el-option value="ge" label="大于等于"></el-option>
<el-option value="lt" label="小于"></el-option>
<el-option value="le" label="小于等于"></el-option>
<el-option value="between" label="之间"></el-option>
<el-option value="in" label="或者"></el-option>
<el-option value="ne" label="不等于"></el-option>
<el-option value="like" label="LIKE"></el-option>-->
<!-- <el-option value="eq" label="等于"></el-option>
<el-option value="gt" label="大于"></el-option>
<el-option value="ge" label="大于等于"></el-option>
<el-option value="lt" label="小于"></el-option>
<el-option value="le" label="小于等于"></el-option>
<el-option value="between" label="之间"></el-option>
<el-option value="in" label="或者"></el-option>
<el-option value="ne" label="不等于"></el-option>
<el-option value="like" label="LIKE"></el-option>-->
<!-- 数字类型支持的条件 -->
<el-option value="eq" label="等于" v-if="row.dataType === 'N' || row.dataType === 'D'"></el-option>
<el-option value="gt" label="大于" v-if="row.dataType === 'N' || row.dataType === 'D'"></el-option>
@ -517,7 +520,7 @@ export default {
</el-table-column>
<el-table-column label="排序" align="center" prop="sortBy" show-overflow-tooltip width="140">
<template slot-scope="{row,$index}">
<el-select v-model="row.sortBy" clearable style="width: 100%">
<el-select v-model="row.sortBy" clearable style="width: 100%;">
<el-option value="asc" label="升序"></el-option>
<el-option value="desc" label="降序"></el-option>
</el-select>
@ -528,7 +531,7 @@ export default {
<el-input-number v-model="row.orderSeq" clearable style="width: 100%;" :controls="false"></el-input-number>
</template>
</el-table-column>
<!-- <el-table-column label="数据库字段" align="left" header-align="center" prop="originalField" show-overflow-tooltip width="120"></el-table-column>-->
<!-- <el-table-column label="数据库字段" align="left" header-align="center" prop="originalField" show-overflow-tooltip width="120"></el-table-column>-->
</el-table>
</div>
<div style="width: 15%;">

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

@ -1345,6 +1345,42 @@ export default {
fixed: '',
columnWidth: 180
},
{
userId: this.$store.state.user.name,
functionId: 103001,
serialNumber: '103001Table1PartName',
tableId: '103001Table1',
tableName: '打样信息表',
columnProp: 'oriCodeNo',
headerAlign: 'center',
align: 'left',
columnLabel: '参数卡编码',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 180
},
{
userId: this.$store.state.user.name,
functionId: 103001,
serialNumber: '103001Table1PartName',
tableId: '103001Table1',
tableName: '打样信息表',
columnProp: 'stage',
headerAlign: 'center',
align: 'left',
columnLabel: 'Production Stage',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 180
},
{
userId: this.$store.state.user.name,
functionId: 103001,

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

@ -94,6 +94,7 @@
class="el-button el-button--primary el-button--medium">
{{ "导出" }}
</download-excel>
<el-button @click="filterVisible = true">搜索</el-button>
</el-form-item>
</el-form>
@ -815,6 +816,7 @@ import {getApprovalList} from "../../../api/changeManagement/changeManagement";
import CustomerInfo from "./sellForQuotation/customerInfo.vue";
import {isAuth} from "../../../utils";
import FilterSearch from "../../common/filterSearch.vue";
import {quotationInformationSearchByAnyField} from "../../../api/quotation/quotationInformation";
export default {
computed: {
@ -3578,12 +3580,14 @@ export default {
this.rejectOpinion = ''
},
searchByAnyField(params){
params.username = this.$store.state.user.name
params.site = this.$store.state.user.site
params.menuId = '102001'
params.no = this.pageIndex
params.size = this.pageSize
projectPartSearchByAnyField(params).then(({data})=>{
quotationInformationSearchByAnyField(params).then(({data})=>{
if (data && data.code === 0){
this.dataList1 = data.page.list
this.dataList = data.page.list
this.totalPage = data.page.totalCount
}else {
this.$message.warning(data.msg)

29
src/views/modules/quotation/toBeQuoted.vue

@ -85,6 +85,7 @@
<el-form-item label=" ">
<el-button type="primary" @click="getDataList"> </el-button>
<el-button type="primary" @click="handleQuote" v-if="defaultFlag"> </el-button>
<el-button @click="filterVisible = true">搜索</el-button>
</el-form-item>
</el-form>
@ -176,6 +177,9 @@
<el-button type="primary" @click="quoteVisible=false">取消</el-button>
</el-footer>
</el-dialog>
<filter-search :visible.sync="filterVisible" @search="searchByAnyField"></filter-search>
</div>
</template>
@ -185,9 +189,11 @@ import {
} from '@/api/quotation/quotationInformation.js'
import {batchSaveQuote} from "../../../api/quote/quote";
import DictDataSelect from "../sys/dict-data-select.vue";
import {quotationInformationSearchByAnyField} from "../../../api/quotation/quotationInformation";
import FilterSearch from "../../common/filterSearch.vue";
export default {
name:"toBeQuoted",
components: {DictDataSelect},
components: {FilterSearch, DictDataSelect},
props:{
defaultFlag:{
type:Boolean,
@ -234,6 +240,7 @@ export default {
dataListLoading:false,
//
saveBatchQuotationLoading:false,
filterVisible: false,
// ======== ========
columnList: [
{
@ -640,7 +647,25 @@ export default {
return item;
})
this.quoteVisible = true;
}
},
searchByAnyField(params){
params.username = this.$store.state.user.name
params.site = this.$store.state.user.site
params.menuId = '102004'
params.no = this.pageIndex
params.size = this.pageSize
quotationInformationSearchByAnyField(params).then(({data})=>{
if (data && data.code === 0){
this.dataList = data.page.list
this.totalPage = data.page.totalCount
}else {
this.$message.warning(data.msg)
}
}).catch((error)=>{
this.$message.error(error)
})
this.filterVisible = false
},
},
mounted() {

28
src/views/modules/quote/index.vue

@ -19,16 +19,21 @@ import quotationCustomerContact from "../quotation/sellForQuotation/quotationCus
import CustomerInfo from "../quotation/sellForQuotation/customerInfo.vue";
import OssComponents from "../oss/ossComponents.vue";
import quotationProjectInformation from "../quotation/sellForQuotation/quotationProjectInformation.vue";
import {searchQuotationByQuotationNo} from "../../../api/quotation/quotationInformation";
import {
quotationInformationSearchByAnyField,
searchQuotationByQuotationNo
} from "../../../api/quotation/quotationInformation";
import PriceCheckProperties from "../quotation/priceCheckProperties.vue";
import ApprovalInformation from "../changeManagement/approvalInformation.vue";
import {getPriceCheckPropertiesList} from "../../../api/quotation/priceCheckProperties";
import {getApprovalList} from "../../../api/changeManagement/changeManagement";
import QuoteGroupDetail from "./detail/quoteGroupDetail.vue";
import FilterSearch from "../../common/filterSearch.vue";
export default {
name: "quote",
components: {
FilterSearch,
QuoteGroupDetail,
ApprovalInformation, PriceCheckProperties,
quotationProjectInformation, OssComponents, CustomerInfo, quotationCustomerContact,
@ -386,6 +391,7 @@ export default {
projectVisible:false,
quoterVisible:false,
purchaseVisible:false,
filterVisible:false,
currentQuote:{
},
@ -980,6 +986,22 @@ export default {
createExportData() {
return this.dataList;
},
searchByAnyField(params){
params.site = this.$store.state.user.site
params.no = this.pageIndex
params.size = this.pageSize
mtdnm(params).then(({data})=>{
if (data && data.code === 0){
this.dataList = data.page.list
this.totalPage = data.page.totalCount
}else {
this.$message.warning(data.msg)
}
}).catch((error)=>{
this.$message.error(error)
})
this.filterVisible = false
},
},
created() {
if (this.isMenu && this.searchIndex === 0){
@ -1090,7 +1112,7 @@ export default {
class="el-button el-button--primary el-button--medium">
{{ '导出' }}
</download-excel>
<quote-search v-if="isMenu" v-model:quote="quoteForm" @search="handleSearch" @save="handleSave"></quote-search>
<quote-search v-if="isMenu" v-model:quote="quoteForm" @filterSearch="searchByAnyField" @search="handleSearch" @save="handleSave"></quote-search>
<quote-table v-loading="searchLoading"
:current-row="currentQuote"
:columns="columns"
@ -1329,6 +1351,8 @@ export default {
</el-dialog>
<choose-list ref="baseList" @getBaseData="getBaseData"></choose-list>
<filter-search :visible.sync="filterVisible" @search="searchByAnyField"></filter-search>
</div>
</template>

1
src/views/modules/quote/primary/quoteSearch.vue

@ -92,6 +92,7 @@ export default {
<el-form-item label=" ">
<el-button @click="$emit('search')"> </el-button>
<el-button type="primary" @click="$emit('save')" v-if="isAuth('5011:save')"> </el-button>
<el-button @click="$emit('filterSearch')">搜索</el-button>
</el-form-item>
</el-col>
</el-row>

2
src/views/modules/sampleManagement/technicalSpecificationDetail/com_bm_routing.vue

@ -263,7 +263,7 @@
<el-input v-model="sheetData.goodsRollWidth" style="width: 160px"></el-input>
</el-form-item>
<el-form-item label="新刀具(是/否)/New Cutter(Y/N)">
<dict-data-select :site="searchData.newCutter" v-if="searchData.site" clearable v-model="sheetData.newCutter" dict-type="bm_new_cutter" style="width: 170px"></dict-data-select>
<dict-data-select :site="searchData.site" v-if="searchData.site" clearable v-model="sheetData.newCutter" dict-type="bm_new_cutter" style="width: 170px"></dict-data-select>
</el-form-item>
<el-form-item label="尺寸公差/Dimension Tolerance">
<el-input v-model="sheetData.dimensionTolerance" style="width: 170px"></el-input>

1
src/views/modules/sampleManagement/technicalSpecificationList.vue

@ -1565,6 +1565,7 @@
params.no = this.pageIndex
params.size = this.pageSize
params.site = this.$store.state.user.site
params.username = this.$store.state.user.name
technicalSpecificationListSearchByAnyField(params).then(({data})=>{
if (data && data.code === 0){
this.dataList1 = data.page.list

Loading…
Cancel
Save