作者 雷海东

图纸上传、贸易基础删除(未改完)、图纸展示

... ... @@ -198,7 +198,31 @@ export const JeecgListMixin = {
}
},
//查询该招标号是否有数据,没有则删除
deleteAddSelect: function(record){
if (!this.url.queryByTenderNumber) {
this.$message.error("请设置url.queryByTenderNumber属性!")
return
}
var that=this
getAction(that.url.queryByTenderNumber,{tenderNumber : record.tenderNumber}).then((res)=>{
console.log(res.result.length)
if(res.result.length>0){
that.$message.warning("删除失败,该招标号存在其他模块信息")
}else{
deleteAction(that.url.delete, { id: record.id }).then((res) => {
if (res.success) {
//重新计算分页问题
that.reCalculatePage(1)
that.$message.success(res.message);
that.loadData();
} else {
that.$message.warning(res.message);
}
});
}
})
},
handleDelete: function (id) {
if (!this.url.delete) {
... ...
... ... @@ -29,14 +29,25 @@
<div class="table-operator">
<a-button @click="handleAdd" type="primary" icon="plus">新增</a-button>
<a-button type="primary" icon="download" @click="handleExportXls('贸易基础信息')">导出</a-button>
<a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel">
<a-upload
name="file"
:showUploadList="false"
:multiple="false"
:headers="tokenHeader"
:action="importExcelUrl"
@change="handleImportExcel"
>
<a-button type="primary" icon="import">导入</a-button>
</a-upload>
<!-- 高级查询区域 -->
<j-super-query :fieldList="superFieldList" ref="superQueryModal" @handleSuperQuery="handleSuperQuery"></j-super-query>
<j-super-query
:fieldList="superFieldList"
ref="superQueryModal"
@handleSuperQuery="handleSuperQuery"
></j-super-query>
<a-dropdown v-if="selectedRowKeys.length > 0">
<a-menu slot="overlay">
<a-menu-item key="1" @click="batchDel"><a-icon type="delete"/>删除</a-menu-item>
<a-menu-item key="1" @click="batchDel"><a-icon type="delete" />删除</a-menu-item>
</a-menu>
<a-button style="margin-left: 8px"> 批量操作 <a-icon type="down" /></a-button>
</a-dropdown>
... ... @@ -44,41 +55,44 @@
<!-- table区域-begin -->
<div>
<div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
<i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>项
<div class="ant-alert ant-alert-info" style="margin-bottom: 16px">
<i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择
<a style="font-weight: 600">{{ selectedRowKeys.length }}</a
>项
<a style="margin-left: 24px" @click="onClearSelected">清空</a>
</div>
<a-table
ref="table"
size="middle"
:scroll="{x:true}"
:scroll="{ x: true }"
bordered
rowKey="id"
:columns="columns"
:dataSource="dataSource"
:pagination="ipagination"
:loading="loading"
:rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
:rowSelection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
class="j-table-force-nowrap"
@change="handleTableChange">
@change="handleTableChange"
>
<template slot="htmlSlot" slot-scope="text">
<div v-html="text"></div>
</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;"/>
<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"
/>
</template>
<template slot="fileSlot" slot-scope="text">
<span v-if="!text" style="font-size: 12px;font-style: italic;">无文件</span>
<a-button
v-else
:ghost="true"
type="primary"
icon="download"
size="small"
@click="downloadFile(text)">
<span v-if="!text" style="font-size: 12px; font-style: italic">无文件</span>
<a-button v-else :ghost="true" type="primary" icon="download" size="small" @click="downloadFile(text)">
下载
</a-button>
</template>
... ... @@ -101,7 +115,6 @@
</a-menu>
</a-dropdown>
</span>
</a-table>
</div>
... ... @@ -110,203 +123,202 @@
</template>
<script>
import '@/assets/less/TableExpand.less'
import { mixinDevice } from '@/utils/mixin'
import { JeecgListMixin } from '@/mixins/JeecgListMixin'
import TblTradBaseModal from './modules/base/TblTradBaseModal'
import '@/assets/less/TableExpand.less'
import { mixinDevice } from '@/utils/mixin'
import { JeecgListMixin } from '@/mixins/JeecgListMixin'
import TblTradBaseModal from './modules/base/TblTradBaseModal'
export default {
name: 'TblTradBaseList',
mixins:[JeecgListMixin, mixinDevice],
components: {
TblTradBaseModal
},
data () {
return {
description: 'tbl_trad_base管理页面',
// 表头
columns: [
{
title: '序号',
dataIndex: '',
key:'rowIndex',
width:60,
fixed:'left',
align:"center",
customRender:function (t,r,index) {
return parseInt(index)+1;
}
},
{
title:'招标号',
align:"center",
dataIndex: 'tenderNumber',
fixed:'left',
width:60
},
{
title:'客户',
align:"center",
dataIndex: 'customer'
},
{
title:'客户采购',
align:"center",
dataIndex: 'procurement'
},
{
title:'客户料号',
align:"center",
dataIndex: 'partNumber'
},
{
title:'物料描述',
align:"center",
dataIndex: 'description'
},
{
title:'品名',
align:"center",
dataIndex: 'productname'
},
{
title:'规格',
align:"center",
dataIndex: 'specifications'
},
{
title:'申请数量',
align:"center",
dataIndex: 'num'
export default {
name: 'TblTradBaseList',
mixins: [JeecgListMixin, mixinDevice],
components: {
TblTradBaseModal,
},
data() {
return {
description: 'tbl_trad_base管理页面',
// 表头
columns: [
{
title: '序号',
dataIndex: '',
key: 'rowIndex',
width: 60,
fixed: 'left',
align: 'center',
customRender: function (t, r, index) {
return parseInt(index) + 1
},
{
title:'含税运单价',
align:"center",
dataIndex: 'baseShuiprice'
},
{
title:'中标单价',
align:"center",
dataIndex: 'baseZhong'
},
{
title:'计量单位',
align:"center",
dataIndex: 'danwei'
},
{
title:'客户需求单位',
align:"center",
dataIndex: 'company'
},
{
title:'交货日期',
align:"center",
dataIndex: 'deliveryTime',
customRender:function (text) {
return !text?"":(text.length>10?text.substr(0,10):text)
}
},
{
title:'品牌',
align:"center",
dataIndex: 'brand'
},
{
title:'工作令',
align:"center",
dataIndex: 'workOrder'
},
{
title:'进口国产标识',
align:"center",
dataIndex: 'identification'
},
{
title:'WBS',
align:"center",
dataIndex: 'wbs'
},
{
title:'评审结果',
align:"center",
dataIndex: 'result'
},
{
title:'备注',
align:"center",
dataIndex: 'notes'
},
{
title:'设计人员姓名',
align:"center",
dataIndex: 'design'
},
{
title:'联系方式',
align:"center",
dataIndex: 'phone'
},
{
title:'图纸',
align:"center",
dataIndex: 'picture'
},
{
title: '招标号',
align: 'center',
dataIndex: 'tenderNumber',
fixed: 'left',
width: 60,
},
{
title: '客户',
align: 'center',
dataIndex: 'customer',
},
{
title: '客户采购',
align: 'center',
dataIndex: 'procurement',
},
{
title: '客户料号',
align: 'center',
dataIndex: 'partNumber',
},
{
title: '物料描述',
align: 'center',
dataIndex: 'description',
},
{
title: '品名',
align: 'center',
dataIndex: 'productname',
},
{
title: '规格',
align: 'center',
dataIndex: 'specifications',
},
{
title: '申请数量',
align: 'center',
dataIndex: 'num',
},
{
title: '含税运单价',
align: 'center',
dataIndex: 'baseShuiprice',
},
{
title: '中标单价',
align: 'center',
dataIndex: 'baseZhong',
},
{
title: '计量单位',
align: 'center',
dataIndex: 'danwei',
},
{
title: '客户需求单位',
align: 'center',
dataIndex: 'company',
},
{
title: '交货日期',
align: 'center',
dataIndex: 'deliveryTime',
customRender: function (text) {
return !text ? '' : text.length > 10 ? text.substr(0, 10) : text
},
{
title: '操作',
dataIndex: 'action',
align:"center",
fixed:"right",
width:147,
scopedSlots: { customRender: 'action' }
}
],
url: {
list: "/trad/tblTradBase/list",
delete: "/trad/tblTradBase/delete",
deleteBatch: "/trad/tblTradBase/deleteBatch",
exportXlsUrl: "/trad/tblTradBase/exportXls",
importExcelUrl: "trad/tblTradBase/importExcel",
},
dictOptions:{},
superFieldList:[],
}
},
created() {
this.getSuperFieldList();
},
computed: {
importExcelUrl: function(){
return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
},
},
methods: {
initDictConfig(){
{
title: '品牌',
align: 'center',
dataIndex: 'brand',
},
{
title: '工作令',
align: 'center',
dataIndex: 'workOrder',
},
{
title: '进口国产标识',
align: 'center',
dataIndex: 'identification',
},
{
title: 'WBS',
align: 'center',
dataIndex: 'wbs',
},
{
title: '评审结果',
align: 'center',
dataIndex: 'result',
},
{
title: '备注',
align: 'center',
dataIndex: 'notes',
},
{
title: '设计人员姓名',
align: 'center',
dataIndex: 'design',
},
{
title: '联系方式',
align: 'center',
dataIndex: 'phone',
},
{
title: '图纸',
align: 'center',
dataIndex: 'picture',
scopedSlots: { customRender: 'imgSlot' },
},
{
title: '操作',
dataIndex: 'action',
align: 'center',
fixed: 'right',
width: 147,
scopedSlots: { customRender: 'action' },
},
],
url: {
list: '/trad/tblTradBase/list',
delete: '/trad/tblTradBase/delete',
deleteBatch: '/trad/tblTradBase/deleteBatch',
exportXlsUrl: '/trad/tblTradBase/exportXls',
importExcelUrl: 'trad/tblTradBase/importExcel',
queryByTenderNumber:'trad/tblTradBase/queryByTenderNumber'
},
getSuperFieldList(){
let fieldList=[];
fieldList.push({type:'string',value:'tenderNumber',text:'招标号'})
fieldList.push({type:'string',value:'customer',text:'客户'})
fieldList.push({type:'string',value:'procurement',text:'客户采购'})
fieldList.push({type:'string',value:'partNumber',text:'客户料号'})
fieldList.push({type:'string',value:'description',text:'物料描述'})
fieldList.push({type:'string',value:'productname',text:'品名'})
fieldList.push({type:'string',value:'specifications',text:'规格'})
fieldList.push({type:'number',value:'num',text:'申请数量'})
fieldList.push({type:'string',value:'danwei',text:'计量单位'})
fieldList.push({type:'string',value:'company',text:'客户需求单位'})
fieldList.push({type:'date',value:'deliveryTime',text:'交货日期'})
fieldList.push({type:'string',value:'notes',text:'备注(品牌要求)'})
fieldList.push({type:'string',value:'design',text:'客户设计'})
fieldList.push({type:'string',value:'phone',text:'联系方式'})
fieldList.push({type:'string',value:'picture',text:'图纸'})
this.superFieldList = fieldList
}
dictOptions: {},
superFieldList: [],
}
}
},
created() {
this.getSuperFieldList()
},
computed: {
importExcelUrl: function () {
return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`
},
},
methods: {
initDictConfig() {},
getSuperFieldList() {
let fieldList = []
fieldList.push({ type: 'string', value: 'tenderNumber', text: '招标号' })
fieldList.push({ type: 'string', value: 'customer', text: '客户' })
fieldList.push({ type: 'string', value: 'procurement', text: '客户采购' })
fieldList.push({ type: 'string', value: 'partNumber', text: '客户料号' })
fieldList.push({ type: 'string', value: 'description', text: '物料描述' })
fieldList.push({ type: 'string', value: 'productname', text: '品名' })
fieldList.push({ type: 'string', value: 'specifications', text: '规格' })
fieldList.push({ type: 'number', value: 'num', text: '申请数量' })
fieldList.push({ type: 'string', value: 'danwei', text: '计量单位' })
fieldList.push({ type: 'string', value: 'company', text: '客户需求单位' })
fieldList.push({ type: 'date', value: 'deliveryTime', text: '交货日期' })
fieldList.push({ type: 'string', value: 'notes', text: '备注(品牌要求)' })
fieldList.push({ type: 'string', value: 'design', text: '客户设计' })
fieldList.push({ type: 'string', value: 'phone', text: '联系方式' })
fieldList.push({ type: 'string', value: 'picture', text: '图纸' })
this.superFieldList = fieldList
},
},
}
</script>
<style scoped>
@import '~@assets/less/common.less';
@import '~@assets/less/common.less';
</style>
\ No newline at end of file
... ...
... ... @@ -118,7 +118,7 @@
</a-col>
<a-col :span="24">
<a-form-model-item label="图纸" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="picture">
<a-input v-model="model.picture" placeholder="请输入图纸"></a-input>
<j-image-upload isMultiple v-model="model.picture"></j-image-upload>
</a-form-model-item>
</a-col>
</a-row>
... ...