作者 Win10-2023FDZSZ\Administrator

询价、投标页面

... ... @@ -31,7 +31,6 @@
</div>
<!-- 查询区域 end -->
<!-- table区域 begin -->
<div>
... ... @@ -77,7 +76,6 @@
</div>
</template>
<template slot="fileSlot" slot-scope="text">
<span v-if="!text" style="font-size: 12px;font-style: italic;">无文件</span>
<a-button
... ... @@ -129,10 +127,10 @@
export default {
name: 'TblTradePriceInquiryList',
mixins: [JeecgListMixin,mixinDevice],
mixins: [JeecgListMixin, mixinDevice],
components: {
TblTradePriceInquiryModal,
TblTradeBidSubList,
TblTradeBidSubList
},
data() {
return {
... ... @@ -146,78 +144,64 @@
align: 'center',
customRender: (t, r, index) => parseInt(index) + 1
},
{
title: '优先等级',
align: 'center',
dataIndex: 'yxdj',
},
{
title: '询价标书文件号',
align: 'center',
dataIndex: 'xjbswjh',
dataIndex: 'xjbswjh'
},
{
title: '单号',
align: 'center',
dataIndex: 'danhao',
dataIndex: 'danhao'
},
{
title: '询价完成日期',
title: '项目类型',
align: 'center',
dataIndex: 'xjwcrq',
dataIndex: 'xmlx'
},
{
title: '完成询价进度(%)',
title: '送货地址',
align: 'center',
dataIndex: 'wcxjjd',
dataIndex: 'shdz'
},
{
title: '责任人',
title: '优先等级',
align: 'center',
dataIndex: 'zrr',
dataIndex: 'yxdj'
},
{
title: '计划完成日期',
title: '询价完成日期',
align: 'center',
dataIndex: 'jhwcrq',
dataIndex: 'xjwcrq'
},
{
title: '实际完成日期',
align: 'center',
dataIndex: 'sjwcrq',
dataIndex: 'sjwcrq'
},
{
title: '项目类型',
title: '标的类型',
align: 'center',
dataIndex: 'xmlx',
dataIndex: 'bdlx'
},
{
title: '送货地址',
title: '责任人',
align: 'center',
dataIndex: 'shdz',
dataIndex: 'zrr'
},
{
title: '询单状态',
align: 'center',
dataIndex: 'xdzt',
},
{
title: '投标时间',
align: 'center',
dataIndex: 'tbsj',
},
{
title: '投标人',
align: 'center',
dataIndex: 'tbr',
dataIndex: 'xdzt'
},
{
title: '操作',
dataIndex: 'action',
align: 'center',
width:147,
scopedSlots: { customRender: 'action' },
},
width: 147,
scopedSlots: { customRender: 'action' }
}
],
// 字典选项
dictOptions: {},
... ... @@ -228,13 +212,13 @@
delete: '/trade/tblTradePriceInquiry/delete',
deleteBatch: '/trade/tblTradePriceInquiry/deleteBatch',
exportXlsUrl: '/trade/tblTradePriceInquiry/exportXls',
importExcelUrl: '/trade/tblTradePriceInquiry/importExcel',
importExcelUrl: '/trade/tblTradePriceInquiry/importExcel'
},
superFieldList:[],
superFieldList: []
}
},
created() {
this.getSuperFieldList();
this.getSuperFieldList()
},
computed: {
importExcelUrl() {
... ... @@ -244,8 +228,8 @@
methods: {
initDictConfig() {
},
downloadBidFile(record){
console.log('下载文件',record)
downloadBidFile(record) {
console.log('下载文件', record)
},
handleExpand(expanded, record) {
... ... @@ -254,19 +238,19 @@
this.expandedRowKeys.push(record.id)
}
},
getSuperFieldList(){
let fieldList=[];
fieldList.push({type:'string',value:'yxdj',text:'优先等级',dictCode:''})
fieldList.push({type:'string',value:'xjbswjh',text:'询价标书文件号',dictCode:''})
fieldList.push({type:'string',value:'danhao',text:'单号',dictCode:''})
fieldList.push({type:'date',value:'xjwcrq',text:'询价完成日期'})
fieldList.push({type:'string',value:'zrr',text:'责任人',dictCode:''})
fieldList.push({type:'date',value:'jhwcrq',text:'计划完成日期'})
fieldList.push({type:'date',value:'sjwcrq',text:'实际完成日期'})
fieldList.push({type:'string',value:'xmlx',text:'项目类型',dictCode:''})
fieldList.push({type:'string',value:'shdz',text:'送货地址',dictCode:''})
fieldList.push({type:'string',value:'xdzt',text:'询单状态',dictCode:''})
fieldList.push({type:'string',value:'fzr',text:'负责人',dictCode:''})
getSuperFieldList() {
let fieldList = []
fieldList.push({ type: 'string', value: 'yxdj', text: '优先等级', dictCode: '' })
fieldList.push({ type: 'string', value: 'xjbswjh', text: '询价标书文件号', dictCode: '' })
fieldList.push({ type: 'string', value: 'danhao', text: '单号', dictCode: '' })
fieldList.push({ type: 'date', value: 'xjwcrq', text: '询价完成日期' })
fieldList.push({ type: 'string', value: 'zrr', text: '责任人', dictCode: '' })
fieldList.push({ type: 'date', value: 'jhwcrq', text: '计划完成日期' })
fieldList.push({ type: 'date', value: 'sjwcrq', text: '实际完成日期' })
fieldList.push({ type: 'string', value: 'xmlx', text: '项目类型', dictCode: '' })
fieldList.push({ type: 'string', value: 'shdz', text: '送货地址', dictCode: '' })
fieldList.push({ type: 'string', value: 'xdzt', text: '询单状态', dictCode: '' })
fieldList.push({ type: 'string', value: 'fzr', text: '负责人', dictCode: '' })
this.superFieldList = fieldList
}
}
... ... @@ -274,4 +258,4 @@
</script>
<style lang="less" scoped>
@import '~@assets/less/common.less';
</style>
\ No newline at end of file
</style>
... ...
... ... @@ -21,7 +21,13 @@
</template>
<template slot="imgSlot" slot-scope="text,record">
<span v-if="!text" style="font-size: 12px;font-style: italic;">无图片</span>
<img v-else :src="getImgView(text)" :preview="record.id" height="25px" alt="" style="max-width:80px;font-size: 12px;font-style: italic;"/>
<img
v-else
:src="getImgView(text)"
:preview="record.id"
height="25px"
alt=""
style="max-width:80px;font-size: 12px;font-style: italic;"/>
</template>
<template slot="fileSlot" slot-scope="text">
<span v-if="!text" style="font-size: 12px;font-style: italic;">无文件</span>
... ... @@ -58,7 +64,7 @@
</a-table>
</div>
<tbl-trade-bid-sub-modal ref="modalForm" @ok="modalFormOk"/>
<tbl-trade-bid-sub-modal ref="modalForm" @ok="modalFormOk" :formType="'tb'"/>
</div>
</template>
... ... @@ -69,15 +75,15 @@
import '@/assets/less/TableExpand.less'
export default {
name: "TblTradeBidSubList",
mixins:[JeecgListMixin],
name: 'TblTradeBidSubList',
mixins: [JeecgListMixin],
components: {
TblTradeBidSubModal
},
props: {
record: {
type: Object,
default: null,
default: null
}
},
data () {
... ... @@ -89,64 +95,64 @@
{
title: '#',
dataIndex: '',
key:'rowIndex',
width:60,
align:"center",
customRender:function (t,r,index) {
return parseInt(index)+1;
key: 'rowIndex',
width: 60,
align: 'center',
customRender: function (t, r, index) {
return parseInt(index) + 1
}
},
{
title:'询价标书文件号',
align:"center",
title: '询价标书文件号',
align: 'center',
dataIndex: 'xjbswjh'
},
{
title:'物料编码',
align:"center",
title: '物料编码',
align: 'center',
dataIndex: 'wlbm'
},
{
title: '物料长描述',
align: 'center',
dataIndex: 'tenderInfo.miaoshu',
dataIndex: 'tenderInfo.miaoshu'
},
{
title: '需求数量',
align: 'center',
dataIndex: 'tenderInfo.xqsl',
dataIndex: 'tenderInfo.xqsl'
},
{
title: '需求交货期',
align: 'center',
dataIndex: 'tenderInfo.xqjhq',
dataIndex: 'tenderInfo.xqjhq'
},
{
title: '品牌',
align: 'center',
dataIndex: 'tenderInfo.pinpai',
dataIndex: 'tenderInfo.pinpai'
},
{
title: '送货地址',
align: 'center',
dataIndex: 'tenderInfo.shdz',
dataIndex: 'tenderInfo.shdz'
},
{
title: '优先等级',
align: 'center',
dataIndex: 'tenderInfo.yxdj',
dataIndex: 'tenderInfo.yxdj'
},
{
title: '询价计划完成日期',
align: 'center',
dataIndex: 'tenderInfo.xjjhwcsj',
dataIndex: 'tenderInfo.xjjhwcsj'
},
{
title: '标的类型',
align: 'center',
dataIndex: 'tenderInfo.bdlx',
dataIndex: 'tenderInfo.bdlx'
},
// {
// title:'库存数据',
// align:"center",
... ... @@ -220,30 +226,30 @@
{
title: '操作',
dataIndex: 'action',
align:"center",
fixed:"right",
width:147,
scopedSlots: { customRender: 'action' },
align: 'center',
fixed: 'right',
width: 147,
scopedSlots: { customRender: 'action' }
}
],
url: {
list: "/trade/tblTradeBidSub/list",
delete: "/trade/tblTradeBidSub/delete",
deleteBatch: "/trade/tblTradeBidSub/deleteBatch",
exportXlsUrl: "/trade/tblTradeBidSub/exportXls",
importExcelUrl: "trade/tblTradeBidSub/importExcel",
list: '/trade/tblTradeBidSub/list',
delete: '/trade/tblTradeBidSub/delete',
deleteBatch: '/trade/tblTradeBidSub/deleteBatch',
exportXlsUrl: '/trade/tblTradeBidSub/exportXls',
importExcelUrl: 'trade/tblTradeBidSub/importExcel'
},
dictOptions:{},
superFieldList:[],
dictOptions: {},
superFieldList: []
}
},
created() {
this.getSuperFieldList();
this.getSuperFieldList()
},
computed: {
importExcelUrl: function(){
return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
importExcelUrl: function() {
return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`
}
},
watch: {
... ... @@ -257,47 +263,46 @@
}
},
methods: {
modalFormOk(){
modalFormOk() {
this.loadData(this.record)
},
initDictConfig(){
initDictConfig() {
},
getSuperFieldList(){
let fieldList=[];
fieldList.push({type:'string',value:'tradeId',text:'关联招标id',dictCode:''})
fieldList.push({type:'string',value:'xjbswjh',text:'询价标书文件号',dictCode:''})
fieldList.push({type:'string',value:'wlbm',text:'物料编码',dictCode:''})
fieldList.push({type:'string',value:'kcsj',text:'库存数据',dictCode:''})
fieldList.push({type:'string',value:'ztkf',text:'在途库存',dictCode:''})
fieldList.push({type:'string',value:'kcdj',text:'库存单价(含税运)(元)',dictCode:''})
fieldList.push({type:'string',value:'ztdj',text:'在途单价(含税运)(元)',dictCode:''})
fieldList.push({type:'string',value:'lstbj',text:'历史投标价(元)',dictCode:''})
fieldList.push({type:'string',value:'lszbj',text:'历史中标价(元)',dictCode:''})
fieldList.push({type:'string',value:'tbjg',text:'投标价格(元)',dictCode:''})
fieldList.push({type:'string',value:'zbj',text:'中标价',dictCode:''})
fieldList.push({type:'string',value:'djchay',text:'单价差异',dictCode:''})
fieldList.push({type:'string',value:'sl',text:'数量',dictCode:''})
fieldList.push({type:'string',value:'sj',text:'时间',dictCode:''})
fieldList.push({type:'string',value:'sfzb',text:'是否中标',dictCode:''})
fieldList.push({type:'string',value:'sfcgwc',text:'是否已采购完成',dictCode:''})
fieldList.push({type:'string',value:'jhsj',text:'交货时间',dictCode:''})
getSuperFieldList() {
let fieldList = []
fieldList.push({ type: 'string', value: 'tradeId', text: '关联招标id', dictCode: '' })
fieldList.push({ type: 'string', value: 'xjbswjh', text: '询价标书文件号', dictCode: '' })
fieldList.push({ type: 'string', value: 'wlbm', text: '物料编码', dictCode: '' })
fieldList.push({ type: 'string', value: 'kcsj', text: '库存数据', dictCode: '' })
fieldList.push({ type: 'string', value: 'ztkf', text: '在途库存', dictCode: '' })
fieldList.push({ type: 'string', value: 'kcdj', text: '库存单价(含税运)(元)', dictCode: '' })
fieldList.push({ type: 'string', value: 'ztdj', text: '在途单价(含税运)(元)', dictCode: '' })
fieldList.push({ type: 'string', value: 'lstbj', text: '历史投标价(元)', dictCode: '' })
fieldList.push({ type: 'string', value: 'lszbj', text: '历史中标价(元)', dictCode: '' })
fieldList.push({ type: 'string', value: 'tbjg', text: '投标价格(元)', dictCode: '' })
fieldList.push({ type: 'string', value: 'zbj', text: '中标价', dictCode: '' })
fieldList.push({ type: 'string', value: 'djchay', text: '单价差异', dictCode: '' })
fieldList.push({ type: 'string', value: 'sl', text: '数量', dictCode: '' })
fieldList.push({ type: 'string', value: 'sj', text: '时间', dictCode: '' })
fieldList.push({ type: 'string', value: 'sfzb', text: '是否中标', dictCode: '' })
fieldList.push({ type: 'string', value: 'sfcgwc', text: '是否已采购完成', dictCode: '' })
fieldList.push({ type: 'string', value: 'jhsj', text: '交货时间', dictCode: '' })
this.superFieldList = fieldList
},
loadData(record) {
this.loading = true
this.dataSource = []
getAction(this.url.list, {xjbswjh: record.xjbswjh}).then((res) => {
getAction(this.url.list, { xjbswjh: record.xjbswjh }).then((res) => {
if (res.success) {
this.dataSource = res.result.records
}
}).finally(() => {
this.loading = false
})
},
}
}
}
</script>
<style scoped>
@import '~@assets/less/common.less';
</style>
\ No newline at end of file
</style>
... ...
... ... @@ -42,11 +42,14 @@
</template>
<span slot="action" slot-scope="text, record">
<a @click="handleEdit(record)">编辑</a>
<a-divider type="vertical" />
<a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
<a>删除</a>
</a-popconfirm>
<div v-if="record.status == '1'">
<a @click="handleEdit(record)">编辑</a>
<a-divider type="vertical" />
<a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
<a>删除</a>
</a-popconfirm>
</div>
<!-- <a-divider type="vertical" />
<a-dropdown>
<a class="ant-dropdown-link">更多 <a-icon type="down" /></a>
... ... @@ -257,25 +260,7 @@
},
getSuperFieldList() {
let fieldList = []
fieldList.push({ type: 'string', value: 'ghsmc', text: '供货商名称', dictCode: '' })
fieldList.push({ type: 'string', value: 'tel', text: '电话', dictCode: '' })
fieldList.push({ type: 'string', value: 'wldz', text: '网络链接地址', dictCode: '' })
fieldList.push({ type: 'string', value: 'wxh', text: '微信号', dictCode: '' })
fieldList.push({ type: 'string', value: 'dj', text: '单价(元)', dictCode: '' })
fieldList.push({ type: 'string', value: 'zj', text: '总价(元)', dictCode: '' })
fieldList.push({ type: 'string', value: 'piaoju', text: '票据', dictCode: '' })
fieldList.push({ type: 'string', value: 'pjsebl', text: '票据税额比例', dictCode: '' })
fieldList.push({ type: 'string', value: 'zxchl', text: '最小出货量', dictCode: '' })
fieldList.push({ type: 'string', value: 'lt', text: 'L/T(交货周期天)', dictCode: '' })
fieldList.push({ type: 'string', value: 'fhdz', text: '发货地址', dictCode: '' })
fieldList.push({ type: 'string', value: 'djsfhyf', text: '单价是否含运费', dictCode: '' })
fieldList.push({ type: 'string', value: 'hyfdj', text: '含运费单价', dictCode: '' })
fieldList.push({ type: 'string', value: 'jgpj', text: '价格评价', dictCode: '' })
fieldList.push({ type: 'string', value: 'hsjg', text: '含税价格(元)', dictCode: '' })
fieldList.push({ type: 'string', value: 'bhsjg', text: '不含税价格(元)', dictCode: '' })
fieldList.push({ type: 'string', value: 'sfxycxxj', text: '是否需要重新询价', dictCode: '' })
fieldList.push({ type: 'string', value: 'bz', text: '原因/备注', dictCode: '' })
fieldList.push({ type: 'string', value: 'tradeId', text: '关联招标id', dictCode: '' })
this.superFieldList = fieldList
},
loadData(record) {
... ... @@ -284,7 +269,12 @@
getAction(this.url.list, {
tradeId: record.id
}).then((res) => {
console.log(this.record)
if (res.success) {
console.log(this.record)
res.result.records.forEach(e => {
e.status = this.record.status
})
this.dataSource = res.result.records
}
}).finally(() => {
... ...
... ... @@ -61,7 +61,7 @@
<!-- 内嵌table区域 begin -->
<template slot="expandedRowRender" slot-scope="record">
<tbl-trade-tender-info-sub-table :record="record"/>
<tbl-trade-tender-info-sub-table :record="record" @refresh="loadData"/>
</template>
<!-- 内嵌table区域 end -->
... ... @@ -138,22 +138,24 @@
description: '询价表列表管理页面',
// 表头
columns: [
{
title: '#',
key: 'rowIndex',
width: 60,
align: 'center',
customRender: (t, r, index) => parseInt(index) + 1
},
// {
// title: '#',
// key: 'rowIndex',
// width: 60,
// align: 'center',
// customRender: (t, r, index) => parseInt(index) + 1
// },
{
title: '询价标书文件号',
align: 'center',
dataIndex: 'xjbswjh'
dataIndex: 'xjbswjh',
width: '20px'
},
{
title: '单号',
align: 'center',
dataIndex: 'danhao'
dataIndex: 'danhao',
width: '20px'
},
{
title: '项目类型',
... ...
... ... @@ -10,120 +10,89 @@
</a-form-model-item>
</a-col> -->
<a-col :span="6" >
<a-form-model-item label="询价标书文件号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="xjbswjh">
<a-input v-model="model.xjbswjh" disabled ></a-input>
<a-form-model-item label="物料编码" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="code">
<a-input v-model="model.tenderInfo.code" disabled></a-input>
</a-form-model-item>
</a-col>
<a-col :span="6" >
<a-form-model-item label="物料编码" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="wlbm">
<a-input v-model="model.wlbm" disabled></a-input>
<a-form-model-item label="标段(包)名称" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="tenderName">
<a-input v-model="model.tenderInfo.tenderName" disabled></a-input>
</a-form-model-item>
</a-col>
<a-col :span="6" >
<a-form-model-item label="物料长描述" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="wlbm">
<a-form-model-item label="物料长描述" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="miaoshu">
<a-input v-model="model.tenderInfo.miaoshu" disabled></a-input>
</a-form-model-item>
</a-col>
<a-col :span="6" >
<a-form-model-item label="品牌" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="wlbm">
<a-form-model-item label="品牌" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="pinpai">
<a-input v-model="model.tenderInfo.pinpai" disabled></a-input>
</a-form-model-item>
</a-col>
<a-col :span="6" >
<a-form-model-item label="标的类型" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="wlbm">
<a-input v-model="model.tenderInfo.bdlx" disabled></a-input>
</a-form-model-item>
</a-col>
<a-col :span="6" >
<a-form-model-item label="优先等级" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="wlbm">
<a-input v-model="model.tenderInfo.yxdj" disabled></a-input>
<a-form-model-item label="计量单位" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="jldw">
<a-input v-model="model.tenderInfo.jldw" disabled></a-input>
</a-form-model-item>
</a-col>
<a-col :span="6" >
<a-form-model-item label="送货地址" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="wlbm">
<a-input v-model="model.tenderInfo.shdz" disabled></a-input>
<a-form-model-item label="需求数量" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="xqsl">
<a-input v-model="model.tenderInfo.xqsl" disabled></a-input>
</a-form-model-item>
</a-col>
<a-col :span="6" >
<a-form-model-item label="询价计划完成日期" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="wlbm">
<a-input v-model="model.tenderInfo.xjjhwcsj" disabled></a-input>
<a-form-model-item label="需求交货期" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="xqjhq">
<j-date v-model="model.tenderInfo.xqjhq" style="width: 100%" disabled/>
</a-form-model-item>
</a-col>
<a-col :span="6" >
<a-form-model-item label="需求数量" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="wlbm">
<a-input v-model="model.tenderInfo.xqsl" disabled></a-input>
<a-form-model-item label="需求单位" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="xqdw">
<a-input v-model="model.tenderInfo.xqdw" disabled ></a-input>
</a-form-model-item>
</a-col>
<a-col :span="6" >
<a-form-model-item label="库存数据" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="kcsj">
<a-input v-model="model.kcsj" placeholder="请输入库存数据" ></a-input>
<a-input v-model="model.kcsj" disabled ></a-input>
</a-form-model-item>
</a-col>
<a-col :span="6" >
<a-form-model-item label="在途库存" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="ztkf">
<a-input v-model="model.ztkf" placeholder="请输入在途库存" ></a-input>
</a-form-model-item>
</a-col>
<a-col :span="6" >
<a-form-model-item label="库存单价(含税运)(元)" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="kcdj">
<a-input v-model="model.kcdj" placeholder="请输入库存单价(含税运)(元)" ></a-input>
<a-input v-model="model.ztkf" disabled></a-input>
</a-form-model-item>
</a-col>
<a-col :span="6" >
<a-form-model-item label="在途单价(含税运)(元)" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="ztdj">
<a-input v-model="model.ztdj" placeholder="请输入在途单价(含税运)(元)" ></a-input>
</a-form-model-item>
</a-col>
<a-col :span="6" >
<a-form-model-item label="历史投标价(元)" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="lstbj">
<a-input v-model="model.lstbj" placeholder="请输入历史投标价(元)" ></a-input>
</a-form-model-item>
</a-col>
<a-col :span="6" >
<a-form-model-item label="历史中标价(元)" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="lszbj">
<a-input v-model="model.lszbj" placeholder="请输入历史中标价(元)" ></a-input>
</a-form-model-item>
</a-col>
<a-col :span="6" >
<a-form-model-item label="投标价格(元)" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="tbjg">
<a-input v-model="model.tbjg" placeholder="请输入投标价格(元)" ></a-input>
</a-form-model-item>
</a-col>
<!-- <a-col :span="6" >
<a-form-model-item label="中标价" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="zbj">
<a-input v-model="model.zbj" placeholder="请输入中标价" ></a-input>
<a-form-model-item label="最近中标单价" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="zjzbdj">
<a-input v-model="model.zjzbdj" disabled></a-input>
</a-form-model-item>
</a-col>
<a-col :span="6" >
<a-form-model-item label="单价差异" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="djchay">
<a-input v-model="model.djchay" placeholder="请输入单价差异" ></a-input>
<a-form-model-item label="最后一次中标时间" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="zhzbsj">
<a-input v-model="model.zhzbsj" disabled></a-input>
</a-form-model-item>
</a-col>
<a-col :span="6" >
<a-form-model-item label="数量" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="sl">
<a-input v-model="model.sl" placeholder="请输入数量" ></a-input>
<a-form-model-item label="投标参考价" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="tbjg">
<a-input-number v-model="model.tbjg" placeholder="投标参考价" style="width: 14vw" disabled></a-input-number>
</a-form-model-item>
</a-col>
<a-col :span="6" >
<a-form-model-item label="时间" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="sj">
<a-input v-model="model.sj" placeholder="请输入时间" ></a-input>
<a-form-model-item label="税率(%)" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="sl">
<a-input-number v-model="model.sl" placeholder="税率(%)" style="width: 14vw" ></a-input-number>
</a-form-model-item>
</a-col>
<a-col :span="6" >
<a-form-model-item label="是否中标" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="sfzb">
<a-input v-model="model.sfzb" placeholder="请输入是否中标" ></a-input>
<a-form-model-item label="响应品牌" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="xypp">
<a-input v-model="model.xypp" placeholder="响应品牌" ></a-input>
</a-form-model-item>
</a-col>
<a-col :span="6" >
<a-form-model-item label="是否已采购完成" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="sfcgwc">
<a-input v-model="model.sfcgwc" placeholder="请输入是否已采购完成" ></a-input>
<a-form-model-item label="响应单价(不含税)" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="xydj">
<a-input-number v-model="model.xydj" placeholder="响应单价(不含税)" style="width: 14vw" ></a-input-number>
</a-form-model-item>
</a-col>
<a-col :span="6" >
<a-form-model-item label="交货时间" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="jhsj">
<a-input v-model="model.jhsj" placeholder="请输入交货时间" ></a-input>
</a-form-model-item>
</a-col> -->
</a-row>
</a-form-model>
</j-form-container>
... ... @@ -190,6 +159,9 @@
// 新增时子表默认添加几行空数据
addDefaultRowNum: 1,
validatorRules: {
sl: [{ required: true, message: '请输入数据!' }],
xypp: [{ required: true, message: '请输入数据!' }],
xydj: [{ required: true, message: '请输入数据!' }]
},
refKeys: ['tblTradeInquiryInfo' ],
tableKeys: ['tblTradeInquiryInfo' ],
... ... @@ -205,88 +177,62 @@
type: JVXETypes.input,
disabled: true,
width: '200px',
placeholder: '请输入${title}',
defaultValue: ''
},
{
title: '电话',
key: 'tel',
title: '专票单价',
key: 'zpdj',
type: JVXETypes.input,
disabled: true,
width: '200px',
placeholder: '请输入${title}',
width: '140px',
defaultValue: ''
},
{
title: '网络链接地址',
key: 'wldz',
title: '专票税率(%)',
key: 'zpsl',
type: JVXETypes.input,
disabled: true,
width: '200px',
placeholder: '请输入${title}',
width: '140px',
defaultValue: ''
},
{
title: '微信号',
key: 'wxh',
title: '普票单价',
key: 'ppdj',
type: JVXETypes.input,
disabled: true,
width: '200px',
placeholder: '请输入${title}',
width: '140px',
defaultValue: ''
},
{
title: '单价(元)',
key: 'dj',
title: '普票税率(%)',
key: 'ppsl',
type: JVXETypes.input,
disabled: true,
width: '200px',
placeholder: '请输入${title}',
width: '140px',
defaultValue: ''
},
{
title: '总价(元)',
key: 'zj',
title: '无票单价',
key: 'wpdj',
type: JVXETypes.input,
disabled: true,
width: '200px',
placeholder: '请输入${title}',
width: '140px',
defaultValue: ''
},
{
title: '票据',
key: 'piaoju',
title: '是否含运费',
key: 'sfhyf',
type: JVXETypes.input,
disabled: true,
width: '200px',
placeholder: '请输入${title}',
width: '140px',
defaultValue: ''
},
{
title: '票据税额比例',
key: 'pjsebl',
title: '运费',
key: 'yf',
type: JVXETypes.input,
disabled: true,
width: '200px',
placeholder: '请输入${title}',
defaultValue: ''
},
{
title: '最小出货量',
key: 'zxchl',
type: JVXETypes.input,
disabled: true,
width: '200px',
placeholder: '请输入${title}',
defaultValue: ''
},
{
title: 'L/T(交货周期天)',
key: 'jhzqt',
type: JVXETypes.input,
disabled: true,
width: '200px',
placeholder: '请输入${title}',
width: '140px',
defaultValue: ''
},
{
... ... @@ -294,78 +240,34 @@
key: 'fhdz',
type: JVXETypes.input,
disabled: true,
width: '200px',
placeholder: '请输入${title}',
width: '210px',
defaultValue: ''
},
{
title: '单价是否含运费',
key: 'djsfhyf',
title: '最小出货量',
key: 'zxchl',
type: JVXETypes.input,
disabled: true,
width: '200px',
placeholder: '请输入${title}',
width: '140px',
defaultValue: ''
},
{
title: '含运费单价',
key: 'hyfdj',
title: 'L/T(交货周期天)',
key: 'jhzqt',
type: JVXETypes.input,
disabled: true,
width: '200px',
placeholder: '请输入${title}',
width: '160px',
defaultValue: ''
},
{
title: '价格评价',
key: 'jgpj',
type: JVXETypes.input,
width: '200px',
placeholder: '请输入${title}',
defaultValue: ''
},
{
title: '含税价格(元)',
key: 'hsjg',
type: JVXETypes.input,
width: '200px',
placeholder: '请输入${title}',
defaultValue: ''
},
{
title: '不含税价格(元)',
key: 'bhsjg',
type: JVXETypes.input,
width: '200px',
placeholder: '请输入${title}',
defaultValue: ''
},
{
title: '是否需要重新询价',
key: 'sfxycxxj',
type: JVXETypes.select,
options: [],
dictCode: 'is_open',
width: '200px',
placeholder: '请输入${title}',
defaultValue: ''
},
{
title: '原因/备注',
key: 'bz',
type: JVXETypes.input,
width: '200px',
placeholder: '请输入${title}',
defaultValue: ''
disabled: true,
options: [{ value: '最佳', text: '最佳' }, { value: '优选', text: '优选' }, { value: '一般', text: '一般' }],
width: '100px',
placeholder: '请选择${title}'
}
// {
// title: '关联招标id',
// key: 'tradeId',
// type: JVXETypes.input,
// width:"200px",
// placeholder: '请输入${title}',
// defaultValue:'',
// },
]
},
url: {
... ...
... ... @@ -8,50 +8,59 @@
@ok="handleOk"
:okButtonProps="{ class:{'jee-hidden': disableSubmit} }"
@cancel="handleCancel">
<tbl-trade-bid-sub-form ref="realForm" @ok="submitCallback" :disabled="disableSubmit"/>
<tbl-trade-bid-sub-form v-if="formType == 'tb'" ref="realForm" @ok="submitCallback" :disabled="disableSubmit"/>
<TblTradeInquiryApprovalForm v-if="formType == 'sp'" ref="realForm" @ok="submitCallback" :disabled="disableSubmit"/>
</j-modal>
</template>
<script>
import TblTradeBidSubForm from './TblTradeBidSubForm'
import TblTradeInquiryApprovalForm from './TblTradeInquiryApprovalForm'
export default {
name: 'TblTradeBidSubModal',
components: {
TblTradeBidSubForm
TblTradeBidSubForm,
TblTradeInquiryApprovalForm
},
props: {
formType: {
type: String,
default: ''
}
},
data() {
return {
title:'',
width:800,
title: '',
width: 800,
visible: false,
disableSubmit: false
}
},
methods:{
methods: {
add () {
this.visible=true
this.$nextTick(()=>{
this.$refs.realForm.add();
this.visible = true
this.$nextTick(() => {
this.$refs.realForm.add()
})
},
edit (record) {
this.visible=true
this.$nextTick(()=>{
this.$refs.realForm.edit(record);
this.visible = true
this.$nextTick(() => {
this.$refs.realForm.edit(record)
})
},
close () {
this.$emit('close');
this.visible = false;
this.$emit('close')
this.visible = false
},
handleOk () {
this.$refs.realForm.handleOk();
this.$refs.realForm.handleOk()
},
submitCallback(){
this.$emit('ok');
this.visible = false;
submitCallback() {
this.$emit('ok')
this.visible = false
},
handleCancel () {
this.close()
... ... @@ -61,4 +70,4 @@
</script>
<style scoped>
</style>
\ No newline at end of file
</style>
... ...
... ... @@ -2,103 +2,136 @@
<a-spin :spinning="confirmLoading">
<j-form-container :disabled="formDisabled">
<a-form-model ref="form" :model="model" :rules="validatorRules" slot="detail">
<a-row>
<a-col :span="12">
<a-form-model-item label="供货商名称" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="ghsmc">
<a-input v-model="model.ghsmc" placeholder="请输入供货商名称" ></a-input>
</a-form-model-item>
</a-col>
<a-col :span="12">
<a-form-model-item label="电话" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="tel">
<a-input v-model="model.tel" placeholder="请输入电话" ></a-input>
</a-form-model-item>
</a-col>
<a-col :span="12">
<a-form-model-item label="网络链接地址" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="wldz">
<a-input v-model="model.wldz" placeholder="请输入网络链接地址" ></a-input>
</a-form-model-item>
</a-col>
<a-col :span="12">
<a-form-model-item label="微信号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="wxh">
<a-input v-model="model.wxh" placeholder="请输入微信号" ></a-input>
</a-form-model-item>
</a-col>
<a-col :span="12">
<a-form-model-item label="单价(元)" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="dj">
<a-input v-model="model.dj" placeholder="请输入单价(元)" ></a-input>
</a-form-model-item>
</a-col>
<a-col :span="12">
<a-form-model-item label="总价(元)" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="zj">
<a-input v-model="model.zj" placeholder="请输入总价(元)" ></a-input>
</a-form-model-item>
</a-col>
<a-col :span="12">
<a-form-model-item label="票据" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="piaoju">
<a-input v-model="model.piaoju" placeholder="请输入票据" ></a-input>
</a-form-model-item>
</a-col>
<a-col :span="12">
<a-form-model-item label="票据税额比例" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="pjsebl">
<a-input v-model="model.pjsebl" placeholder="请输入票据税额比例" ></a-input>
</a-form-model-item>
</a-col>
<a-col :span="12">
<a-form-model-item label="最小出货量" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="zxchl">
<a-input v-model="model.zxchl" placeholder="请输入最小出货量" ></a-input>
</a-form-model-item>
</a-col>
<a-col :span="12">
<a-form-model-item label="L/T(交货周期天)" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="lt">
<a-input v-model="model.jhzqt" placeholder="请输入L/T(交货周期天)" ></a-input>
</a-form-model-item>
</a-col>
<a-col :span="12">
<a-form-model-item label="发货地址" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="fhdz">
<a-input v-model="model.fhdz" placeholder="请输入发货地址" ></a-input>
</a-form-model-item>
</a-col>
<a-col :span="12">
<a-form-model-item label="单价是否含运费" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="djsfhyf">
<a-input v-model="model.djsfhyf" placeholder="请输入单价是否含运费" ></a-input>
</a-form-model-item>
</a-col>
<a-col :span="12">
<a-form-model-item label="含运费单价" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="hyfdj">
<a-input v-model="model.hyfdj" placeholder="请输入含运费单价" ></a-input>
</a-form-model-item>
</a-col>
<a-col :span="12">
<a-form-model-item label="价格评价" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="jgpj">
<a-input v-model="model.jgpj" placeholder="请输入价格评价" ></a-input>
</a-form-model-item>
</a-col>
<a-col :span="12">
<a-form-model-item label="含税价格(元)" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="hsjg">
<a-input v-model="model.hsjg" placeholder="请输入含税价格(元)" ></a-input>
</a-form-model-item>
</a-col>
<a-col :span="12">
<a-form-model-item label="不含税价格(元)" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="bhsjg">
<a-input v-model="model.bhsjg" placeholder="请输入不含税价格(元)" ></a-input>
</a-form-model-item>
</a-col>
<!-- <a-col :span="12">
<a-form-model-item label="是否需要重新询价" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="sfxycxxj">
<a-input v-model="model.sfxycxxj" placeholder="请输入是否需要重新询价" ></a-input>
</a-form-model-item>
</a-col>
<a-col :span="12">
<a-form-model-item label="原因/备注" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="bz">
<a-input v-model="model.bz" placeholder="请输入原因/备注" ></a-input>
</a-form-model-item>
</a-col> -->
<!-- <a-col :span="12">
<a-form-model-item label="关联招标id" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="tradeId">
<a-input v-model="model.tradeId" placeholder="请输入关联招标id" ></a-input>
</a-form-model-item>
</a-col> -->
</a-row>
<a-card :bordered="false" title="供货商信息" type="inner">
<a-row>
<a-col :span="8" >
<a-form-model-item label="供货商名称" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="ghsmc">
<a-input v-model="model.ghsmc" placeholder="请输入供货商名称" ></a-input>
</a-form-model-item>
</a-col>
</a-row>
<a-row>
<a-col :span="8">
<a-form-model-item label="联系人" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="lxr">
<a-input v-model="model.lxr" placeholder="请输入联系人" ></a-input>
</a-form-model-item>
</a-col>
<a-col :span="8">
<a-form-model-item label="联系电话" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="tel">
<a-input v-model="model.tel" placeholder="请输入电话" ></a-input>
</a-form-model-item>
</a-col>
</a-row>
<a-row>
<a-col :span="8">
<a-form-model-item label="微信号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="wxh">
<a-input v-model="model.wxh" placeholder="请输入微信号" ></a-input>
</a-form-model-item>
</a-col>
<a-col :span="8">
<a-form-model-item label="网址" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="wldz">
<a-input v-model="model.wldz" placeholder="请输入网址" ></a-input>
</a-form-model-item>
</a-col>
<a-col :span="8">
<a-form-model-item label="网店" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="wddz">
<a-input v-model="model.wddz" placeholder="请输入网店地址" ></a-input>
</a-form-model-item>
</a-col>
<a-col :span="8">
<a-form-model-item label="开户行名称" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="khhmc">
<a-input v-model="model.khhmc" placeholder="请输入开户行名称" ></a-input>
</a-form-model-item>
</a-col>
<a-col :span="8">
<a-form-model-item label="银行账号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="yhzh">
<a-input v-model="model.yhzh" placeholder="请输入银行账号" ></a-input>
</a-form-model-item>
</a-col>
<a-col :span="8">
<a-form-model-item label="行号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="hh">
<a-input v-model="model.hh" placeholder="请输入行号" ></a-input>
</a-form-model-item>
</a-col>
</a-row>
</a-card>
<a-card :bordered="false" title="价格信息" type="inner">
<a-row>
<a-col :span="8">
<a-form-model-item label="专票单价" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="zpdj">
<a-input-number v-model="model.zpdj" placeholder="请输入专票单价" style="width: 300px"></a-input-number>
</a-form-model-item>
</a-col>
<a-col :span="8">
<a-form-model-item label="专票税率(%)" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="zpsl">
<a-input-number v-model="model.zpsl" placeholder="请输入专票税率(%)" style="width: 300px"></a-input-number>
</a-form-model-item>
</a-col>
</a-row>
<a-row>
<a-col :span="8">
<a-form-model-item label="普票单价" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="ppdj">
<a-input-number v-model="model.ppdj" placeholder="请输入普票单价" style="width: 300px"></a-input-number>
</a-form-model-item>
</a-col>
<a-col :span="8">
<a-form-model-item label="普票税率(%)" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="ppsl">
<a-input-number v-model="model.ppsl" placeholder="请输入普票税率(%)" style="width: 300px"></a-input-number>
</a-form-model-item>
</a-col>
</a-row>
<a-row>
<a-col :span="8">
<a-form-model-item label="无票单价" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="wpdj">
<a-input-number v-model="model.wpdj" placeholder="请输入无票单价" style="width: 300px"></a-input-number>
</a-form-model-item>
</a-col>
</a-row>
</a-card>
<a-card :bordered="false" title="运费信息" type="inner">
<a-row>
<a-col :span="8">
<a-form-model-item label="是否含运费" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="sfhyf">
<a-radio-group v-model="model.sfhyf" @change="onRadioChange">
<a-radio value="是">含运费</a-radio>
<a-radio value="否">不含运费</a-radio>
</a-radio-group>
</a-form-model-item>
</a-col>
<a-col :span="8" v-if="model.sfhyf == '否'">
<a-form-model-item label="运费" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="yf">
<a-input-number v-model="model.yf" placeholder="请输入运费" style="width: 300px"></a-input-number>
</a-form-model-item>
</a-col>
</a-row>
</a-card>
<a-card :bordered="false" title="出货信息" type="inner">
<a-row>
<a-col :span="8" >
<a-form-model-item label="发货地址" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="fhdz">
<a-input v-model="model.fhdz" placeholder="请输入发货地址" ></a-input>
</a-form-model-item>
</a-col>
<a-col :span="1" :offset="16"></a-col>
<a-col :span="8">
<a-form-model-item label="最小出货量" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="zxchl">
<a-input v-model="model.zxchl" placeholder="请输入最小出货量" ></a-input>
</a-form-model-item>
</a-col>
<a-col :span="1" :offset="16"></a-col>
<a-col :span="8">
<a-form-model-item label="L/T(交货周期天)" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="jhzqt">
<a-input v-model="model.jhzqt" placeholder="请输入L/T(交货周期天)" ></a-input>
</a-form-model-item>
</a-col>
</a-row>
</a-card>
</a-form-model>
</j-form-container>
</a-spin>
... ... @@ -114,94 +147,113 @@
components: {
},
props: {
//表单禁用
// 表单禁用
disabled: {
type: Boolean,
default: false,
required: false
},
tradeId:{
type:String,
default:''
tradeId: {
type: String,
default: ''
},
wlbm:{
type:String,
default:''
wlbm: {
type: String,
default: ''
}
},
data () {
return {
model:{
model: {
sfhyf: '是'
},
labelCol: {
xs: { span: 24 },
sm: { span: 5 },
sm: { span: 8 }
},
wrapperCol: {
xs: { span: 24 },
sm: { span: 16 },
sm: { span: 16 }
},
confirmLoading: false,
validatorRules: {
ghsmc: [{ required: true, message: '请输入数据!' }],
lxr: [{ required: true, message: '请输入数据!' }],
tel: [{ required: true, message: '请输入数据!' }],
khhmc: [{ required: true, message: '请输入数据!' }],
yhzh: [{ required: true, message: '请输入数据!' }],
hh: [{ required: true, message: '请输入数据!' }],
zpdj: [{ required: true, message: '请输入数据!' }],
zpsl: [{ required: true, message: '请输入数据!' }],
ppdj: [{ required: true, message: '请输入数据!' }],
ppsl: [{ required: true, message: '请输入数据!' }],
wpdj: [{ required: true, message: '请输入数据!' }],
yf: [{ required: true, message: '请输入数据!' }],
fhdz: [{ required: true, message: '请输入数据!' }],
zxchl: [{ required: true, message: '请输入数据!' }],
jhzqt: [{ required: true, message: '请输入数据!' }]
},
url: {
add: "/trade/tblTradeInquiryInfo/add",
edit: "/trade/tblTradeInquiryInfo/edit",
queryById: "/trade/tblTradeInquiryInfo/queryById"
add: '/trade/tblTradeInquiryInfo/add',
edit: '/trade/tblTradeInquiryInfo/edit',
queryById: '/trade/tblTradeInquiryInfo/queryById'
}
}
},
computed: {
formDisabled(){
formDisabled() {
return this.disabled
},
}
},
created () {
//备份model原始值
this.modelDefault = JSON.parse(JSON.stringify(this.model));
// 备份model原始值
this.modelDefault = JSON.parse(JSON.stringify(this.model))
},
methods: {
add () {
console.log('新增表单',this.tradeId)
this.edit(this.modelDefault);
this.edit(this.modelDefault)
},
edit (record) {
this.model = Object.assign({}, record);
this.visible = true;
this.model = Object.assign({}, record)
this.visible = true
},
onRadioChange(e) {
if (e.target.value === '是') {
this.model.yf = 0
}
},
submitForm () {
const that = this;
const that = this
// 触发表单验证
this.$refs.form.validate(valid => {
if (valid) {
that.confirmLoading = true;
let httpurl = '';
let method = '';
if(!this.model.id){
httpurl+=this.url.add;
method = 'post';
this.model.tradeId = this.tradeId;
this.model.wlbm = this.wlbm;
}else{
httpurl+=this.url.edit;
method = 'put';
that.confirmLoading = true
let httpurl = ''
let method = ''
if (!this.model.id) {
httpurl += this.url.add
method = 'post'
this.model.tradeId = this.tradeId
this.model.wlbm = this.wlbm
} else {
httpurl += this.url.edit
method = 'put'
}
console.log(httpurl)
console.log(this.model)
httpAction(httpurl,this.model,method).then((res)=>{
if(res.success){
that.$message.success(res.message);
that.$emit('ok');
}else{
that.$message.warning(res.message);
httpAction(httpurl, this.model, method).then((res) => {
if (res.success) {
that.$message.success(res.message)
that.$emit('ok')
} else {
that.$message.warning(res.message)
}
}).finally(() => {
that.confirmLoading = false;
that.confirmLoading = false
})
}
})
},
}
}
}
</script>
\ No newline at end of file
</script>
... ...
... ... @@ -8,15 +8,46 @@
:okButtonProps="{ class:{'jee-hidden': disableSubmit} }"
@cancel="handleCancel"
cancelText="关闭">
<tbl-trade-inquiry-info-form ref="realForm" @ok="submitCallback" :disabled="disableSubmit" :tradeId="tradeId" :wlbm="wlbm"></tbl-trade-inquiry-info-form>
<!-- 子表单区域 -->
<a-tabs v-model="activeKey" @change="handleChangeTabs">
<a-tab-pane tab="历史询价" :key="refKeys[0]" :forceRender="true">
<a-table
ref="table"
size="middle"
bordered
rowKey="id"
class="j-table-force-nowrap"
:scroll="{x:true}"
:columns="columns"
:dataSource="dataSource"
:pagination="true"
:loading="loading"
>
<span slot="action" slot-scope="text, record">
<a @click="handleReuse(record)">复用</a>
</span>
</a-table>
</a-tab-pane>
<a-tab-pane tab="新增询价" :key="refKeys[1]" :forceRender="true">
<tbl-trade-inquiry-info-form ref="realForm" @ok="submitCallback" :disabled="disableSubmit" :tradeId="tradeId" :wlbm="wlbm"></tbl-trade-inquiry-info-form>
</a-tab-pane>
</a-tabs>
</j-modal>
</template>
<script>
import { getAction } from '@api/manage'
import { JeecgListMixin } from '@/mixins/JeecgListMixin'
import TblTradeInquiryInfoForm from './TblTradeInquiryInfoForm'
export default {
name: 'TblTradeInquiryInfoModal',
mixins: [JeecgListMixin],
components: {
TblTradeInquiryInfoForm
},
... ... @@ -33,16 +64,126 @@
visible: false,
disableSubmit: false,
tradeId: '',
wlbm: ''
wlbm: '',
disableMixinCreated: true,
refKeys: ['history', 'add' ],
activeKey: 'history',
// 表头
columns: [
{
title: '供货商名称',
align: 'center',
dataIndex: 'ghsmc'
},
// {
// title:'电话',
// align:"center",
// dataIndex: 'tel'
// },
// {
// title:'网络链接地址',
// align:"center",
// dataIndex: 'wldz'
// },
// {
// title:'微信号',
// align:"center",
// dataIndex: 'wxh'
// },
{
title: '专票单价',
align: 'center',
dataIndex: 'zpdj'
},
{
title: '专票税率(%)',
align: 'center',
dataIndex: 'zpsl'
},
{
title: '普票单价',
align: 'center',
dataIndex: 'ppdj'
},
{
title: '普票税率(%)',
align: 'center',
dataIndex: 'ppsl'
},
{
title: '无票单价',
align: 'center',
dataIndex: 'wpdj'
},
{
title: '是否含运费',
align: 'center',
dataIndex: 'sfhyf'
},
{
title: '运费',
align: 'center',
dataIndex: 'yf'
},
{
title: '发货地址',
align: 'center',
dataIndex: 'fhdz'
},
{
title: '最小出货量',
align: 'center',
dataIndex: 'zxchl'
},
{
title: 'L/T(交货周期天)',
align: 'center',
dataIndex: 'jhzqt'
},
{
title: '价格评价',
align: 'center',
dataIndex: 'jgpj'
},
// {
// title: '是否需要重新询价',
// align: 'center',
// dataIndex: 'sfxycxxj',
// customRender: (text, record) => {
// if (text == 'Y') {
// return '是'
// } else if (text == 'N') {
// return '否'
// }
// }
// },
// {
// title: '原因/备注',
// align: 'center',
// dataIndex: 'bz'
// },
{
title: '操作',
dataIndex: 'action',
align: 'center',
fixed: 'right',
width: 147,
scopedSlots: { customRender: 'action' }
}
],
url: {
list: '/trade/tblTradeInquiryInfo/list'
}
}
},
methods: {
add () {
this.visible = true
this.$nextTick(() => {
this.loadData()
this.$refs.realForm.add()
})
console.log(this.tradeId)
},
edit (record) {
this.visible = true
... ... @@ -63,6 +204,35 @@
},
handleCancel () {
this.close()
},
handleChangeTabs(activeKey) {
},
handleReuse(record) {
let model = { ...record }
delete model.id
delete model.createBy
delete model.createTime
delete model.updateBy
delete model.updateTime
delete model.sysOrgCode
delete model.jgpj
delete model.sfxycxxj
delete model.bz
delete model.tradeId
console.log(model)
this.$refs.realForm.edit(model)
this.activeKey = this.refKeys['1']
},
loadData(record) {
this.loading = true
this.dataSource = []
getAction(this.url.list, { wlbm: this.wlbm }).then((res) => {
if (res.success) {
this.dataSource = res.result.records
}
}).finally(() => {
this.loading = false
})
}
}
}
... ...
... ... @@ -44,9 +44,17 @@
</template>
<span slot="action" slot-scope="text, record">
<a @click="handleAdd(record)">新增询价</a>
<a-divider type="vertical" />
<a @click="handleSubmit(record)">提交</a>
<!-- 状态:1-询价中,2-询价审批中,3-询价审批通过 -->
<div v-if="record.status == '1'">
<a @click="handleAdd(record)">询价</a>
<a-divider type="vertical" />
<!-- <a @click="handleSubmit(record)">提交</a> -->
<a-popconfirm title="确定提交吗?" @confirm="() => handleSubmit(record)">
<a>提交</a>
</a-popconfirm>
</div>
<a @click="handleApproval(record)" v-has="'inquiry:approval'" v-if="record.status == '2'">审批</a>
<!-- <a-divider type="vertical" />
<a-dropdown>
... ... @@ -67,23 +75,26 @@
</a-table>
<tbl-trade-inquiry-info-modal ref="modalForm" @ok="modalFormOk" ></tbl-trade-inquiry-info-modal>
<tbl-trade-bid-sub-modal ref="approvalModalForm" @ok="modalFormOk" :formType="'sp'"/>
</div>
</template>
<script>
import { getAction } from '@api/manage'
import { getAction, postAction } from '@api/manage'
import { JeecgListMixin } from '@/mixins/JeecgListMixin'
import { mixinDevice } from '@/utils/mixin'
import TblTradeInquiryInfoList from '../TblTradeInquiryInfoList'
import '@/assets/less/TableExpand.less'
import TblTradeInquiryInfoModal from '../modules/TblTradeInquiryInfoModal'
import TblTradeBidSubModal from '../modules/TblTradeBidSubModal'
export default {
name: 'TblTradeTenderInfoSubTable',
mixins: [JeecgListMixin, mixinDevice],
components: {
TblTradeInquiryInfoList,
TblTradeInquiryInfoModal
TblTradeInquiryInfoModal,
TblTradeBidSubModal
},
props: {
record: {
... ... @@ -273,7 +284,9 @@
}
],
url: {
list: '/trade/tblTradePriceInquiry/queryTblTradeTenderInfoByMainId'
list: '/trade/tblTradePriceInquiry/queryTblTradeTenderInfoByMainId',
submit: '/trade/tblTradeTenderInfo/submit',
getBidSubData: '/trade/tblTradeBidSub/getBidSubData'
},
/* 分页参数 */
ipagination: {
... ... @@ -302,12 +315,13 @@
methods: {
modalFormOk() {
this.loadData(this.record)
this.$emit('refresh')
},
handleAdd(record) {
this.$refs.modalForm.tradeId = record.id
this.$refs.modalForm.wlbm = record.code
this.$refs.modalForm.add()
this.$refs.modalForm.title = '新增'
this.$refs.modalForm.title = '询价'
this.$refs.modalForm.disableSubmit = false
},
loadData(record) {
... ... @@ -326,13 +340,33 @@
handleTableChange(pagination, filters, sorter) {
// 分页、排序、筛选变化时触发
// TODO 筛选
console.log(pagination)
if (Object.keys(sorter).length > 0) {
this.isorter.column = sorter.field
this.isorter.order = sorter.order == 'ascend' ? 'asc' : 'desc'
}
this.ipagination = pagination
// this.loadData(this.record);
},
handleApproval(record) {
postAction(this.url.getBidSubData, { tradeId: record.id }).then(res => {
if (res.success) {
console.log(res)
this.$refs.approvalModalForm.edit(res.result)
} else {
this.$message.error(res.message)
}
})
},
handleSubmit(record) {
postAction(this.url.submit, record).then(res => {
if (res.success) {
this.$message.success(res.message)
this.loadData(this.record)
this.$emit('refresh')
} else {
this.$message.error(res.message)
}
})
}
}
}
... ...