Browse Source

Merge remote-tracking branch 'origin/master'

java8
yuejiayang 1 year ago
parent
commit
bb6d9fd826
  1. 2
      src/api/property/templateDetail.js
  2. 148
      src/views/modules/fanuc/fanuc.vue
  3. 2
      src/views/modules/property/propertyTemplate.vue
  4. 9
      src/views/modules/quote/detail/breakdownCost.vue
  5. 335
      src/views/modules/quote/quoteDetailReport.vue

2
src/api/property/templateDetail.js

@ -11,3 +11,5 @@ export const removePropertyTemplateDetail = (data) => createAPI('/property/templ
export const removeBatchPropertyTemplateDetail = (data) => createAPI('/property/template/detail/batch/remove','post',data) export const removeBatchPropertyTemplateDetail = (data) => createAPI('/property/template/detail/batch/remove','post',data)
export const batchUpdatePropertyTemplateDetail = (data) => createAPI('/property/template/detail/batch/update','post',data) export const batchUpdatePropertyTemplateDetail = (data) => createAPI('/property/template/detail/batch/update','post',data)
export const queryPropertyTemplateDetailAvailableList = (data) => createAPI('/property/template/detail/available','post',data)

148
src/views/modules/fanuc/fanuc.vue

@ -99,26 +99,46 @@
<el-input v-model="currentRow.workshopId" readonly></el-input> <el-input v-model="currentRow.workshopId" readonly></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6">
<el-col :span="3">
<el-form-item label="加工中心名称"> <el-form-item label="加工中心名称">
<el-input v-model="currentRow.workCenterDesc" readonly></el-input> <el-input v-model="currentRow.workCenterDesc" readonly></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="3"> <el-col :span="3">
<el-form-item label="加工中心类型"> <el-form-item label="加工中心类型">
<el-input v-model="currentRow.workCenterType" readonly></el-input> <el-input v-model="currentRow.workCenterType" readonly></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="3">
<el-form-item label="加工中心组编码">
<el-input v-model="currentRow.prolineNo" readonly></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="3"> <el-col :span="3">
<el-form-item label="机台数量"> <el-form-item label="机台数量">
<el-input v-model="currentRow.resourceCount" readonly></el-input> <el-input v-model="currentRow.resourceCount" readonly></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="3"> <el-col :span="3">
<el-form-item label="加工中心组编码">
<el-input v-model="currentRow.prolineNo" readonly></el-input>
<el-form-item label="人均日产量">
<el-input v-model="currentRow.refDailyProduction" readonly></el-input>
</el-form-item>
</el-col>
<el-col :span="3">
<el-form-item label="速度">
<el-input v-model="currentRow.refSpeed" readonly></el-input>
</el-form-item>
</el-col>
<el-col :span="3">
<el-form-item label="时间">
<el-input v-model="currentRow.refTime" readonly></el-input>
</el-form-item>
</el-col>
<el-col :span="3">
<el-form-item label="效率">
<el-input v-model="currentRow.refEfficiency" readonly></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@ -436,8 +456,8 @@ export default {
functionId: 501002, functionId: 501002,
serialNumber: '501002TableSite', serialNumber: '501002TableSite',
tableId: "501002Table", tableId: "501002Table",
tableName: "工厂编码",
columnWidth: 80,
tableName: "加工中心",
columnWidth: 60,
columnProp: 'site', columnProp: 'site',
headerAlign: 'center', headerAlign: 'center',
align: "center", align: "center",
@ -454,8 +474,8 @@ export default {
functionId: 501002, functionId: 501002,
serialNumber: '501002TableBuDesc', serialNumber: '501002TableBuDesc',
tableId: "501002Table", tableId: "501002Table",
tableName: "BU",
columnWidth: 130,
tableName: "加工中心",
columnWidth: 100,
columnProp: 'buDesc', columnProp: 'buDesc',
headerAlign: 'center', headerAlign: 'center',
align: "left", align: "left",
@ -472,8 +492,8 @@ export default {
functionId: 501002, functionId: 501002,
serialNumber: '501002TableWorkCenterNo', serialNumber: '501002TableWorkCenterNo',
tableId: "501002Table", tableId: "501002Table",
tableName: "加工中心编码",
columnWidth: 130,
tableName: "加工中心",
columnWidth: 120,
columnProp: 'workCenterNo', columnProp: 'workCenterNo',
headerAlign: 'center', headerAlign: 'center',
align: "left", align: "left",
@ -490,8 +510,8 @@ export default {
functionId: 501002, functionId: 501002,
serialNumber: '501002TableWorkCenterDesc', serialNumber: '501002TableWorkCenterDesc',
tableId: "501002Table", tableId: "501002Table",
tableName: "加工中心名称",
columnWidth: 130,
tableName: "加工中心",
columnWidth: 150,
columnProp: 'workCenterDesc', columnProp: 'workCenterDesc',
headerAlign: 'center', headerAlign: 'center',
align: "left", align: "left",
@ -508,8 +528,8 @@ export default {
functionId: 501002, functionId: 501002,
serialNumber: '501002TableWorkCenterType', serialNumber: '501002TableWorkCenterType',
tableId: "501002Table", tableId: "501002Table",
tableName: "加工中心类型",
columnWidth: 130,
tableName: "加工中心",
columnWidth: 100,
columnProp: 'workCenterType', columnProp: 'workCenterType',
headerAlign: 'center', headerAlign: 'center',
align: "center", align: "center",
@ -526,8 +546,8 @@ export default {
functionId: 501002, functionId: 501002,
serialNumber: '501002TableProlineNo', serialNumber: '501002TableProlineNo',
tableId: "501002Table", tableId: "501002Table",
tableName: "加工中心组编码",
columnWidth: 130,
tableName: "加工中心",
columnWidth: 120,
columnProp: 'prolineNo', columnProp: 'prolineNo',
headerAlign: 'center', headerAlign: 'center',
align: "left", align: "left",
@ -544,11 +564,11 @@ export default {
functionId: 501002, functionId: 501002,
serialNumber: '501002TableResourceCount', serialNumber: '501002TableResourceCount',
tableId: "501002Table", tableId: "501002Table",
tableName: "状态",
columnWidth: 60,
tableName: "加工中心",
columnWidth: 80,
columnProp: 'resourceCount', columnProp: 'resourceCount',
headerAlign: 'center', headerAlign: 'center',
align: "center",
align: "right",
columnLabel: '机台数', columnLabel: '机台数',
columnHidden: false, columnHidden: false,
columnImage: false, columnImage: false,
@ -557,12 +577,84 @@ export default {
status: true, status: true,
fixed: '', fixed: '',
}, },
{
userId: this.$store.state.user.name,
functionId: 501002,
serialNumber: '501002TableRefDailyProduction',
tableId: "501002Table",
tableName: "加工中心",
columnWidth: 100,
columnProp: 'refDailyProduction',
headerAlign: 'center',
align: "right",
columnLabel: '人均日产量',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
},
{
userId: this.$store.state.user.name,
functionId: 501002,
serialNumber: '501002TableRefSpeed',
tableId: "501002Table",
tableName: "加工中心",
columnWidth: 100,
columnProp: 'refSpeed',
headerAlign: 'center',
align: "right",
columnLabel: '速度',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
},
{
userId: this.$store.state.user.name,
functionId: 501002,
serialNumber: '501002TableRefTime',
tableId: "501002Table",
tableName: "加工中心",
columnWidth: 100,
columnProp: 'refTime',
headerAlign: 'center',
align: "right",
columnLabel: '时间',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
},
{
userId: this.$store.state.user.name,
functionId: 501002,
serialNumber: '501002TableRefEfficiency',
tableId: "501002Table",
tableName: "加工中心",
columnWidth: 100,
columnProp: 'refEfficiency',
headerAlign: 'center',
align: "right",
columnLabel: '效率',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
},
{ {
userId: this.$store.state.user.name, userId: this.$store.state.user.name,
functionId: 501002, functionId: 501002,
serialNumber: '501002TableActive', serialNumber: '501002TableActive',
tableId: "501002Table", tableId: "501002Table",
tableName: "状态",
tableName: "加工中心",
columnWidth: 80, columnWidth: 80,
columnProp: 'active', columnProp: 'active',
headerAlign: 'center', headerAlign: 'center',
@ -580,7 +672,7 @@ export default {
functionId: 501002, functionId: 501002,
serialNumber: '501002TableCreatedDate', serialNumber: '501002TableCreatedDate',
tableId: "501002Table", tableId: "501002Table",
tableName: "录入时间",
tableName: "加工中心",
columnWidth: 130, columnWidth: 130,
columnProp: 'createdDate', columnProp: 'createdDate',
headerAlign: 'center', headerAlign: 'center',
@ -598,8 +690,8 @@ export default {
functionId: 501002, functionId: 501002,
serialNumber: '501002TableCreatedBy', serialNumber: '501002TableCreatedBy',
tableId: "501002Table", tableId: "501002Table",
tableName: "录入人",
columnWidth: 130,
tableName: "加工中心",
columnWidth: 100,
columnProp: 'createdBy', columnProp: 'createdBy',
headerAlign: 'center', headerAlign: 'center',
align: "left", align: "left",
@ -616,11 +708,11 @@ export default {
functionId: 501002, functionId: 501002,
serialNumber: '501002TableUpdateDate', serialNumber: '501002TableUpdateDate',
tableId: "501002Table", tableId: "501002Table",
tableName: "最近修改时间",
tableName: "加工中心",
columnWidth: 130, columnWidth: 130,
columnProp: 'updatedDate', columnProp: 'updatedDate',
headerAlign: 'center', headerAlign: 'center',
align: "left",
align: "center",
columnLabel: '最近修改时间', columnLabel: '最近修改时间',
columnHidden: false, columnHidden: false,
columnImage: false, columnImage: false,
@ -634,8 +726,8 @@ export default {
functionId: 501002, functionId: 501002,
serialNumber: '501002TableUpdateBy', serialNumber: '501002TableUpdateBy',
tableId: "501002Table", tableId: "501002Table",
tableName: "最近修改人",
columnWidth: 130,
tableName: "加工中心",
columnWidth: 100,
columnProp: 'updateBy', columnProp: 'updateBy',
headerAlign: 'center', headerAlign: 'center',
align: "left", align: "left",

2
src/views/modules/property/propertyTemplate.vue

@ -6,7 +6,6 @@ import {
} from "../../../api/property/template"; } from "../../../api/property/template";
import {getSiteAndBuByUserName} from "../../../api/eam/eam"; import {getSiteAndBuByUserName} from "../../../api/eam/eam";
import BuSelect from "../../../components/selector/select/BuSelect.vue"; import BuSelect from "../../../components/selector/select/BuSelect.vue";
import {queryPropertyItemByPage} from "../../../api/property/propertyItem";
import { import {
batchSavePropertyTemplateDetail, batchUpdatePropertyTemplateDetail, batchSavePropertyTemplateDetail, batchUpdatePropertyTemplateDetail,
queryPropertyTemplateDetail, queryPropertyTemplateDetail,
@ -401,6 +400,7 @@ export default {
} }
}else { }else {
this.saveForm = { this.saveForm = {
buId: '',
codeNo:'', codeNo:'',
codeDesc:'', codeDesc:'',
functionType:'', functionType:'',

9
src/views/modules/quote/detail/breakdownCost.vue

@ -340,6 +340,14 @@ export default {
}, },
methods:{ methods:{
handleQueryQuoteDetailReportOverall(){ handleQueryQuoteDetailReportOverall(){
if (!this.quoteDetail.id){
this.dataList = []
this.dataListRm = []
this.subtotalCostStd = 0
this.subtotalCostQuote = 0
this.queryLoading = false;
return
}
let params = { let params = {
id:this.quoteDetail.id id:this.quoteDetail.id
} }
@ -423,7 +431,6 @@ export default {
return; return;
} }
const values = data.map(item => Number(item[column.property])); const values = data.map(item => Number(item[column.property]));
console.log(values)
if (!values.every(value => isNaN(value))) { if (!values.every(value => isNaN(value))) {
sums[index] = values.reduce((prev, curr) => { sums[index] = values.reduce((prev, curr) => {
const value = Number(curr); const value = Number(curr);

335
src/views/modules/quote/quoteDetailReport.vue

@ -4,30 +4,35 @@ import {getSiteAndBuByUserName} from "../../../api/qc/qc";
import {queryQuoteDetailReport} from "../../../api/quote/quoteDetail"; import {queryQuoteDetailReport} from "../../../api/quote/quoteDetail";
import {getItemListByInquiryPartAndCodeNo} from "../../../api/inquiry/inquiryDetail"; import {getItemListByInquiryPartAndCodeNo} from "../../../api/inquiry/inquiryDetail";
import BreakdownCost from "./detail/breakdownCost.vue"; import BreakdownCost from "./detail/breakdownCost.vue";
import BuSelect from "../../../components/selector/select/BuSelect.vue";
import {queryPropertyTemplate} from "../../../api/property/template";
import {queryPropertyTemplateDetailAvailableList} from "../../../api/property/templateDetail";
export default { export default {
name: "quoteDetailReport", name: "quoteDetailReport",
components: {BreakdownCost},
props:{
height:{
type:[String,Number],
components: {BuSelect, BreakdownCost},
props: {
height: {
type: [String, Number],
default: "38vh" default: "38vh"
} }
}, },
data(){
return{
queryForm:{
buId:undefined,
customerNo:'',
customerDesc:''
data() {
return {
queryForm: {
buId: '',
customerNo: '',
customerDesc: '',
partNo: '',
partDesc: ''
}, },
no:1,
size:20,
total:0,
dataList:[],
queryLoading:false,
userBuList:[],
columns:[
no: 1,
size: 20,
total: 0,
dataList: [],
queryLoading: false,
userBuList: [],
columns: [
{ {
userId: this.$store.state.user.name, userId: this.$store.state.user.name,
functionId: 5013, functionId: 5013,
@ -117,7 +122,7 @@ export default {
status: true, status: true,
fixed: '', fixed: '',
columnWidth: 120 columnWidth: 120
},{
}, {
userId: this.$store.state.user.name, userId: this.$store.state.user.name,
functionId: 5013, functionId: 5013,
serialNumber: '5011Table1CustomerInquiryNo', serialNumber: '5011Table1CustomerInquiryNo',
@ -225,42 +230,6 @@ export default {
fixed: '', fixed: '',
columnWidth: 100 columnWidth: 100
}, },
{
userId: this.$store.state.user.name,
functionId: 5013,
serialNumber: '5011Table1UpdateDate',
tableId: '5013Table1',
tableName: '报价信息表',
columnProp: 'updateDate',
headerAlign: 'center',
align: 'center',
columnLabel: '最近更新日期',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 130
},
{
userId: this.$store.state.user.name,
functionId: 5013,
serialNumber: '5011Table1UpdateBy',
tableId: '5013Table1',
tableName: '报价信息表',
columnProp: 'updateBy',
headerAlign: 'center',
align: 'left',
columnLabel: '最近更新人',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 100
},
{ {
userId: this.$store.state.user.name, userId: this.$store.state.user.name,
functionId: 5013, functionId: 5013,
@ -281,12 +250,21 @@ export default {
}, },
], ],
currentRow: {}, currentRow: {},
activeName:'detail',
inquiryDataList:[],
queryPropertyLoading:false
activeName: 'detail',
inquiryDataList: [],
queryPropertyLoading: false,
propertyVisible: false,
propertyList: [],
currentProperty: {
id: undefined,
codeNo: '',
codeDesc: '',
},
propertyItemList: [],
} }
}, },
methods:{
methods: {
getSiteAndBuByUserName() { getSiteAndBuByUserName() {
let tempData = { let tempData = {
username: this.$store.state.user.name, username: this.$store.state.user.name,
@ -297,84 +275,147 @@ export default {
} }
}) })
}, },
handleQuery(){
handleQuery() {
let list = [];
if (this.propertyItemList.length > 0){
list = this.propertyItemList.filter(item=>item.textValue || item.numValue);
}
let params = { let params = {
...this.queryForm, ...this.queryForm,
no: this.no, no: this.no,
size: this.size
size: this.size,
codeNo:this.currentProperty.codeNo,
list,
} }
this.queryLoading = true this.queryLoading = true
queryQuoteDetailReport(params).then(({data})=>{
if (data && data.code === 0){
queryQuoteDetailReport(params).then(({data}) => {
if (data && data.code === 0) {
this.dataList = data.rows this.dataList = data.rows
this.total = data.total this.total = data.total
if (this.total === 0){
if (this.total === 0) {
this.currentRow = {} this.currentRow = {}
}else if (this.currentRow.id !== undefined){
} else if (this.currentRow.id !== undefined) {
// this.currentRow = {} // this.currentRow = {}
}else {
} else {
this.currentRow = this.dataList[0] this.currentRow = this.dataList[0]
} }
}else {
} else {
this.$message.warning(data.msg) this.$message.warning(data.msg)
} }
this.queryLoading = false this.queryLoading = false
}).catch((error)=>{
}).catch((error) => {
this.$message.error(error) this.$message.error(error)
this.queryLoading = false this.queryLoading = false
}) })
}, },
handleRowClick(row){
handleRowClick(row) {
this.currentRow = {...row} this.currentRow = {...row}
}, },
rowStyle({row}){
if(this.currentRow && this.currentRow.id === row.id){
return { 'background-color': '#E8F7F6' };
}else {
rowStyle({row}) {
if (this.currentRow && this.currentRow.id === row.id) {
return {'background-color': '#E8F7F6'};
} else {
return {} return {}
} }
}, },
handleSizeChange(val){
handleSizeChange(val) {
this.size = val this.size = val
this.handleQuery() this.handleQuery()
}, },
handlePageChange(val){
handlePageChange(val) {
this.no = val this.no = val
this.handleQuery() this.handleQuery()
}, },
handleQueryInquiryProperties(){
if (this.currentRow.id === undefined){
handleQueryInquiryProperties() {
if (this.currentRow.id === undefined) {
this.inquiryDataList = []
return return
} }
let params = { let params = {
inquiryPartId:this.currentRow.rfqDetailId,
buNo:this.currentRow.buNo,
site:this.currentRow.site,
recordType:'PRICECHECK',
inquiryPartId: this.currentRow.rfqDetailId,
buNo: this.currentRow.buNo,
site: this.currentRow.site,
recordType: 'PRICECHECK',
} }
this.queryPropertyLoading = true this.queryPropertyLoading = true
getItemListByInquiryPartAndCodeNo(params).then(({data})=>{
if (data && data.code === 0){
getItemListByInquiryPartAndCodeNo(params).then(({data}) => {
if (data && data.code === 0) {
this.inquiryDataList = data.rows this.inquiryDataList = data.rows
}else {
} else {
this.$message.warning(data.msg) this.$message.warning(data.msg)
} }
this.queryPropertyLoading = false this.queryPropertyLoading = false
}).catch((error)=>{
}).catch((error) => {
this.$message.error(error) this.$message.error(error)
this.queryPropertyLoading = false this.queryPropertyLoading = false
}) })
},
handleClickProperty() {
if (!this.queryForm.buId) {
this.$message.warning('请先选择BU')
return
} }
// this.handleQueryProperty();
this.propertyVisible = true;
},
handleQueryProperty() {
let params = {
buId: this.queryForm.buId,
createBy: this.$store.state.user.name,
functionType: 'IP'
}
queryPropertyTemplate(params).then(({data}) => {
if (data && data.code === 0) {
this.propertyList = data.rows
if (this.propertyList.length > 0) {
this.currentProperty.id = this.propertyList[0].id
this.currentProperty.codeNo = this.propertyList[0].codeNo
}
} else {
this.$message.warning(data.msg)
}
}).catch((error) => {
this.$message.error(error)
})
},
handleQueryPropertyTemplateDetailAvailableList() {
let params = {
headerId: this.currentProperty.id,
}
this.propertyItemList = []
queryPropertyTemplateDetailAvailableList(params).then(({data}) => {
if (data && data.code === 0) {
this.propertyItemList = data.rows
} else {
this.$message.warning(data.msg)
}
}).catch((error) => {
this.$message.error(error)
})
},
}, },
created() { created() {
this.getSiteAndBuByUserName(); this.getSiteAndBuByUserName();
this.handleQuery(); this.handleQuery();
}, },
watch:{
currentRow(newVal,oldVal){
if (newVal){
watch: {
currentRow(newVal, oldVal) {
if (newVal) {
this.handleQueryInquiryProperties() this.handleQueryInquiryProperties()
} }
},
'queryForm.buId'(newVal, oldVal) {
this.currentProperty.id = undefined
this.currentProperty.codeNo = ''
this.propertyItemList = []
if (newVal) {
this.handleQueryProperty();
}
},
'currentProperty.id'(newVal, oldVal) {
if (newVal) {
this.handleQueryPropertyTemplateDetailAvailableList();
}
} }
} }
} }
@ -382,45 +423,52 @@ export default {
<template> <template>
<div> <div>
<div style="width: 1000px">
<div style="width: 1200px">
<el-form :model="queryForm" label-position="top"> <el-form :model="queryForm" label-position="top">
<el-row :gutter="20">
<el-col :span="4">
<el-row :gutter="10">
<el-col :span="3">
<el-form-item label="BU"> <el-form-item label="BU">
<el-select v-model="queryForm.buId" placeholder="请选择" clearable style="width: 100%">
<el-option
v-for = "i in userBuList"
:key = "i.id"
:label = "i.buDesc"
:value = "i.id">
</el-option>
</el-select>
<bu-select v-model="queryForm.buId">
<el-option label="全部" value=""></el-option>
</bu-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="4">
<el-col :span="3">
<el-form-item label="客户编码"> <el-form-item label="客户编码">
<el-input v-model="queryForm.customerNo"></el-input> <el-input v-model="queryForm.customerNo"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="4">
<el-col :span="3">
<el-form-item label="客户名称"> <el-form-item label="客户名称">
<el-input v-model="queryForm.customerDesc"></el-input> <el-input v-model="queryForm.customerDesc"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="4">
<el-col :span="3">
<el-form-item label="产品编码">
<el-input v-model="queryForm.partNo"></el-input>
</el-form-item>
</el-col>
<el-col :span="3">
<el-form-item label="产品描述">
<el-input v-model="queryForm.partDesc"></el-input>
</el-form-item>
</el-col>
<el-col :span="3">
<el-form-item label="报价单号"> <el-form-item label="报价单号">
<el-input v-model="queryForm.quoteVersionNo"></el-input> <el-input v-model="queryForm.quoteVersionNo"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="4">
<el-col :span="3">
<el-form-item label=" "> <el-form-item label=" ">
<el-button type="primary" @click="handleClickProperty">属性</el-button>
<el-button type="primary" @click="handleQuery">查询</el-button> <el-button type="primary" @click="handleQuery">查询</el-button>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
</el-form> </el-form>
</div> </div>
<el-table v-loading="queryLoading" :data="dataList" border :height="height" :row-style="rowStyle" @row-click="handleRowClick">
<el-table v-loading="queryLoading" :data="dataList" border :height="height" :row-style="rowStyle"
@row-click="handleRowClick">
<el-table-column <el-table-column
v-for="(item,index) in columns" :key="index" v-for="(item,index) in columns" :key="index"
:sortable="item.columnSortable" :sortable="item.columnSortable"
@ -433,18 +481,20 @@ export default {
:label="item.columnLabel"> :label="item.columnLabel">
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="!item.columnHidden">{{ scope.row[item.columnProp] }}</span> <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-column v-if="false"
fixed="right"
header-align="center"
align="center"
width="100"
label="操作">
<template slot-scope="{row,$index}">
<a>重新报价</a>
</template> </template>
</el-table-column> </el-table-column>
<!-- <el-table-column-->
<!-- fixed="right"-->
<!-- header-align="center"-->
<!-- align="center"-->
<!-- width="100"-->
<!-- label="操作">-->
<!-- <template slot-scope="{row,$index}">-->
<!-- </template>-->
<!-- </el-table-column>-->
</el-table> </el-table>
<el-pagination @size-change="handleSizeChange" <el-pagination @size-change="handleSizeChange"
@current-change="handlePageChange" @current-change="handlePageChange"
@ -572,7 +622,8 @@ export default {
</el-col> </el-col>
</el-row> </el-row>
</el-form> </el-form>
<el-table :data="inquiryDataList" v-loading="queryPropertyLoading" height="19vh" style="margin-top: 10px;width: 1000px" border>
<el-table :data="inquiryDataList" v-loading="queryPropertyLoading" height="19vh"
style="margin-top: 10px;width: 1000px" border>
<el-table-column label="属性编码" header-align="center" min-width="100" prop="itemNo"></el-table-column> <el-table-column label="属性编码" header-align="center" min-width="100" prop="itemNo"></el-table-column>
<el-table-column label="属性名称" header-align="center" min-width="160" prop="itemDesc"></el-table-column> <el-table-column label="属性名称" header-align="center" min-width="160" prop="itemDesc"></el-table-column>
<el-table-column label="属性类型" header-align="center" min-width="80" prop="valueType"></el-table-column> <el-table-column label="属性类型" header-align="center" min-width="80" prop="valueType"></el-table-column>
@ -588,16 +639,68 @@ export default {
<breakdown-cost :quote-detail="currentRow" height="36vh"></breakdown-cost> <breakdown-cost :quote-detail="currentRow" height="36vh"></breakdown-cost>
</el-tab-pane> </el-tab-pane>
</el-tabs> </el-tabs>
<el-dialog title="属性详情" v-drag :visible.sync="propertyVisible" :close-on-click-modal="false" append-to-body
width="800px">
<el-form :model="currentProperty" label-position="top">
<el-row :gutter="10">
<el-col :span="4">
<el-form-item label="BU">
<bu-select v-model="queryForm.buId" disabled></bu-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="属性模板">
<el-select v-model="currentProperty.codeNo" style="width: 100%;">
<el-option v-for="item in propertyList" :key="item.id" :label="item.codeDesc" :value="item.codeNo">
<div style="float:left;">{{ item.codeDesc }}</div>
<div style="float:right;">{{ item.codeNo }}</div>
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
</el-form>
<el-table :data="propertyItemList" border height="300px">
<el-table-column label="属性编码" header-align="center" min-width="120" prop="itemNo"></el-table-column>
<el-table-column label="属性名称" header-align="center" min-width="180" prop="itemDesc"></el-table-column>
<el-table-column label="属性类型" header-align="center" align="center" min-width="80" prop="valueType"></el-table-column>
<el-table-column label="属性值" header-align="center" min-width="140" prop="value">
<template slot-scope="scope">
<template v-if="scope.row.valueTypeDb==='T' && scope.row.valueChooseFlag==='Y'">
<el-select v-model="scope.row['textValue']" placeholder="请选择" style="width: 100%">
<el-option :label="available.availableValue" :value="available.availableValue" :key="available.id" v-for="(available) in scope.row.availableList"></el-option>
</el-select>
</template>
<template v-else-if="scope.row.valueTypeDb==='N' && scope.row.valueChooseFlag==='Y'">
<el-select v-model="scope.row['numValue']" placeholder="请选择" style="width: 100%">
<el-option :label="available.availableValue" :value="available.availableValue" :key="available.id" v-for="(available) in scope.row.availableList"></el-option>
</el-select>
</template>
<template v-else-if="scope.row.valueTypeDb==='T'">
<el-input v-model="scope.row['textValue']"></el-input>
</template>
<template v-else-if="scope.row.valueTypeDb==='N'">
<el-input-number style="width: 100%" :controls="false" :step="0" v-model="scope.row['numValue']"></el-input-number>
</template>
</template>
</el-table-column>
</el-table>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="propertyVisible = false"> </el-button>
<el-button @click="propertyVisible = false"> </el-button>
</div>
</el-dialog>
</div> </div>
</template> </template>
<style scoped> <style scoped>
.el-table /deep/ .cell{
.el-table /deep/ .cell {
height: auto; height: auto;
line-height: 1.5; line-height: 1.5;
} }
.auto /deep/ .el-form-item__content{
.auto /deep/ .el-form-item__content {
height: auto; height: auto;
line-height: 1.5; line-height: 1.5;
} }

Loading…
Cancel
Save