作者 雷海东

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

@@ -198,7 +198,31 @@ export const JeecgListMixin = { @@ -198,7 +198,31 @@ export const JeecgListMixin = {
198 } 198 }
199 }, 199 },
200 200
201 - 201 + //查询该招标号是否有数据,没有则删除
  202 + deleteAddSelect: function(record){
  203 + if (!this.url.queryByTenderNumber) {
  204 + this.$message.error("请设置url.queryByTenderNumber属性!")
  205 + return
  206 + }
  207 + var that=this
  208 + getAction(that.url.queryByTenderNumber,{tenderNumber : record.tenderNumber}).then((res)=>{
  209 + console.log(res.result.length)
  210 + if(res.result.length>0){
  211 + that.$message.warning("删除失败,该招标号存在其他模块信息")
  212 + }else{
  213 + deleteAction(that.url.delete, { id: record.id }).then((res) => {
  214 + if (res.success) {
  215 + //重新计算分页问题
  216 + that.reCalculatePage(1)
  217 + that.$message.success(res.message);
  218 + that.loadData();
  219 + } else {
  220 + that.$message.warning(res.message);
  221 + }
  222 + });
  223 + }
  224 + })
  225 + },
202 226
203 handleDelete: function (id) { 227 handleDelete: function (id) {
204 if (!this.url.delete) { 228 if (!this.url.delete) {
@@ -29,14 +29,25 @@ @@ -29,14 +29,25 @@
29 <div class="table-operator"> 29 <div class="table-operator">
30 <a-button @click="handleAdd" type="primary" icon="plus">新增</a-button> 30 <a-button @click="handleAdd" type="primary" icon="plus">新增</a-button>
31 <a-button type="primary" icon="download" @click="handleExportXls('贸易基础信息')">导出</a-button> 31 <a-button type="primary" icon="download" @click="handleExportXls('贸易基础信息')">导出</a-button>
32 - <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel"> 32 + <a-upload
  33 + name="file"
  34 + :showUploadList="false"
  35 + :multiple="false"
  36 + :headers="tokenHeader"
  37 + :action="importExcelUrl"
  38 + @change="handleImportExcel"
  39 + >
33 <a-button type="primary" icon="import">导入</a-button> 40 <a-button type="primary" icon="import">导入</a-button>
34 </a-upload> 41 </a-upload>
35 <!-- 高级查询区域 --> 42 <!-- 高级查询区域 -->
36 - <j-super-query :fieldList="superFieldList" ref="superQueryModal" @handleSuperQuery="handleSuperQuery"></j-super-query> 43 + <j-super-query
  44 + :fieldList="superFieldList"
  45 + ref="superQueryModal"
  46 + @handleSuperQuery="handleSuperQuery"
  47 + ></j-super-query>
37 <a-dropdown v-if="selectedRowKeys.length > 0"> 48 <a-dropdown v-if="selectedRowKeys.length > 0">
38 <a-menu slot="overlay"> 49 <a-menu slot="overlay">
39 - <a-menu-item key="1" @click="batchDel"><a-icon type="delete"/>删除</a-menu-item> 50 + <a-menu-item key="1" @click="batchDel"><a-icon type="delete" />删除</a-menu-item>
40 </a-menu> 51 </a-menu>
41 <a-button style="margin-left: 8px"> 批量操作 <a-icon type="down" /></a-button> 52 <a-button style="margin-left: 8px"> 批量操作 <a-icon type="down" /></a-button>
42 </a-dropdown> 53 </a-dropdown>
@@ -44,41 +55,44 @@ @@ -44,41 +55,44 @@
44 55
45 <!-- table区域-begin --> 56 <!-- table区域-begin -->
46 <div> 57 <div>
47 - <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">  
48 - <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>项 58 + <div class="ant-alert ant-alert-info" style="margin-bottom: 16px">
  59 + <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择
  60 + <a style="font-weight: 600">{{ selectedRowKeys.length }}</a
  61 + >项
49 <a style="margin-left: 24px" @click="onClearSelected">清空</a> 62 <a style="margin-left: 24px" @click="onClearSelected">清空</a>
50 </div> 63 </div>
51 64
52 <a-table 65 <a-table
53 ref="table" 66 ref="table"
54 size="middle" 67 size="middle"
55 - :scroll="{x:true}" 68 + :scroll="{ x: true }"
56 bordered 69 bordered
57 rowKey="id" 70 rowKey="id"
58 :columns="columns" 71 :columns="columns"
59 :dataSource="dataSource" 72 :dataSource="dataSource"
60 :pagination="ipagination" 73 :pagination="ipagination"
61 :loading="loading" 74 :loading="loading"
62 - :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}" 75 + :rowSelection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
63 class="j-table-force-nowrap" 76 class="j-table-force-nowrap"
64 - @change="handleTableChange">  
65 - 77 + @change="handleTableChange"
  78 + >
66 <template slot="htmlSlot" slot-scope="text"> 79 <template slot="htmlSlot" slot-scope="text">
67 <div v-html="text"></div> 80 <div v-html="text"></div>
68 </template> 81 </template>
69 - <template slot="imgSlot" slot-scope="text,record">  
70 - <span v-if="!text" style="font-size: 12px;font-style: italic;">无图片</span>  
71 - <img v-else :src="getImgView(text)" :preview="record.id" height="25px" alt="" style="max-width:80px;font-size: 12px;font-style: italic;"/> 82 + <template slot="imgSlot" slot-scope="text, record">
  83 + <span v-if="!text" style="font-size: 12px; font-style: italic">无图片</span>
  84 + <img
  85 + v-else
  86 + :src="getImgView(text)"
  87 + :preview="record.id"
  88 + height="25px"
  89 + alt=""
  90 + style="max-width: 80px; font-size: 12px; font-style: italic"
  91 + />
72 </template> 92 </template>
73 <template slot="fileSlot" slot-scope="text"> 93 <template slot="fileSlot" slot-scope="text">
74 - <span v-if="!text" style="font-size: 12px;font-style: italic;">无文件</span>  
75 - <a-button  
76 - v-else  
77 - :ghost="true"  
78 - type="primary"  
79 - icon="download"  
80 - size="small"  
81 - @click="downloadFile(text)"> 94 + <span v-if="!text" style="font-size: 12px; font-style: italic">无文件</span>
  95 + <a-button v-else :ghost="true" type="primary" icon="download" size="small" @click="downloadFile(text)">
82 下载 96 下载
83 </a-button> 97 </a-button>
84 </template> 98 </template>
@@ -101,7 +115,6 @@ @@ -101,7 +115,6 @@
101 </a-menu> 115 </a-menu>
102 </a-dropdown> 116 </a-dropdown>
103 </span> 117 </span>
104 -  
105 </a-table> 118 </a-table>
106 </div> 119 </div>
107 120
@@ -110,203 +123,202 @@ @@ -110,203 +123,202 @@
110 </template> 123 </template>
111 124
112 <script> 125 <script>
  126 +import '@/assets/less/TableExpand.less'
  127 +import { mixinDevice } from '@/utils/mixin'
  128 +import { JeecgListMixin } from '@/mixins/JeecgListMixin'
  129 +import TblTradBaseModal from './modules/base/TblTradBaseModal'
113 130
114 - import '@/assets/less/TableExpand.less'  
115 - import { mixinDevice } from '@/utils/mixin'  
116 - import { JeecgListMixin } from '@/mixins/JeecgListMixin'  
117 - import TblTradBaseModal from './modules/base/TblTradBaseModal'  
118 -  
119 - export default {  
120 - name: 'TblTradBaseList',  
121 - mixins:[JeecgListMixin, mixinDevice],  
122 - components: {  
123 - TblTradBaseModal  
124 - },  
125 - data () {  
126 - return {  
127 - description: 'tbl_trad_base管理页面',  
128 - // 表头  
129 - columns: [  
130 - {  
131 - title: '序号',  
132 - dataIndex: '',  
133 - key:'rowIndex',  
134 - width:60,  
135 - fixed:'left',  
136 - align:"center",  
137 - customRender:function (t,r,index) {  
138 - return parseInt(index)+1;  
139 - }  
140 - },  
141 - {  
142 - title:'招标号',  
143 - align:"center",  
144 - dataIndex: 'tenderNumber',  
145 - fixed:'left',  
146 - width:60  
147 - },  
148 - {  
149 - title:'客户',  
150 - align:"center",  
151 - dataIndex: 'customer'  
152 - },  
153 - {  
154 - title:'客户采购',  
155 - align:"center",  
156 - dataIndex: 'procurement'  
157 - },  
158 - {  
159 - title:'客户料号',  
160 - align:"center",  
161 - dataIndex: 'partNumber'  
162 - },  
163 - {  
164 - title:'物料描述',  
165 - align:"center",  
166 - dataIndex: 'description'  
167 - },  
168 - {  
169 - title:'品名',  
170 - align:"center",  
171 - dataIndex: 'productname'  
172 - },  
173 - {  
174 - title:'规格',  
175 - align:"center",  
176 - dataIndex: 'specifications'  
177 - },  
178 - {  
179 - title:'申请数量',  
180 - align:"center",  
181 - dataIndex: 'num' 131 +export default {
  132 + name: 'TblTradBaseList',
  133 + mixins: [JeecgListMixin, mixinDevice],
  134 + components: {
  135 + TblTradBaseModal,
  136 + },
  137 + data() {
  138 + return {
  139 + description: 'tbl_trad_base管理页面',
  140 + // 表头
  141 + columns: [
  142 + {
  143 + title: '序号',
  144 + dataIndex: '',
  145 + key: 'rowIndex',
  146 + width: 60,
  147 + fixed: 'left',
  148 + align: 'center',
  149 + customRender: function (t, r, index) {
  150 + return parseInt(index) + 1
182 }, 151 },
183 - {  
184 - title:'含税运单价',  
185 - align:"center",  
186 - dataIndex: 'baseShuiprice'  
187 - },  
188 - {  
189 - title:'中标单价',  
190 - align:"center",  
191 - dataIndex: 'baseZhong'  
192 - },  
193 - {  
194 - title:'计量单位',  
195 - align:"center",  
196 - dataIndex: 'danwei'  
197 - },  
198 - {  
199 - title:'客户需求单位',  
200 - align:"center",  
201 - dataIndex: 'company'  
202 - },  
203 - {  
204 - title:'交货日期',  
205 - align:"center",  
206 - dataIndex: 'deliveryTime',  
207 - customRender:function (text) {  
208 - return !text?"":(text.length>10?text.substr(0,10):text)  
209 - }  
210 - },  
211 - {  
212 - title:'品牌',  
213 - align:"center",  
214 - dataIndex: 'brand'  
215 - },  
216 - {  
217 - title:'工作令',  
218 - align:"center",  
219 - dataIndex: 'workOrder'  
220 - },  
221 - {  
222 - title:'进口国产标识',  
223 - align:"center",  
224 - dataIndex: 'identification'  
225 - },  
226 - {  
227 - title:'WBS',  
228 - align:"center",  
229 - dataIndex: 'wbs'  
230 - },  
231 - {  
232 - title:'评审结果',  
233 - align:"center",  
234 - dataIndex: 'result'  
235 - },  
236 - {  
237 - title:'备注',  
238 - align:"center",  
239 - dataIndex: 'notes'  
240 - },  
241 - {  
242 - title:'设计人员姓名',  
243 - align:"center",  
244 - dataIndex: 'design'  
245 - },  
246 - {  
247 - title:'联系方式',  
248 - align:"center",  
249 - dataIndex: 'phone'  
250 - },  
251 - {  
252 - title:'图纸',  
253 - align:"center",  
254 - dataIndex: 'picture' 152 + },
  153 + {
  154 + title: '招标号',
  155 + align: 'center',
  156 + dataIndex: 'tenderNumber',
  157 + fixed: 'left',
  158 + width: 60,
  159 + },
  160 + {
  161 + title: '客户',
  162 + align: 'center',
  163 + dataIndex: 'customer',
  164 + },
  165 + {
  166 + title: '客户采购',
  167 + align: 'center',
  168 + dataIndex: 'procurement',
  169 + },
  170 + {
  171 + title: '客户料号',
  172 + align: 'center',
  173 + dataIndex: 'partNumber',
  174 + },
  175 + {
  176 + title: '物料描述',
  177 + align: 'center',
  178 + dataIndex: 'description',
  179 + },
  180 + {
  181 + title: '品名',
  182 + align: 'center',
  183 + dataIndex: 'productname',
  184 + },
  185 + {
  186 + title: '规格',
  187 + align: 'center',
  188 + dataIndex: 'specifications',
  189 + },
  190 + {
  191 + title: '申请数量',
  192 + align: 'center',
  193 + dataIndex: 'num',
  194 + },
  195 + {
  196 + title: '含税运单价',
  197 + align: 'center',
  198 + dataIndex: 'baseShuiprice',
  199 + },
  200 + {
  201 + title: '中标单价',
  202 + align: 'center',
  203 + dataIndex: 'baseZhong',
  204 + },
  205 + {
  206 + title: '计量单位',
  207 + align: 'center',
  208 + dataIndex: 'danwei',
  209 + },
  210 + {
  211 + title: '客户需求单位',
  212 + align: 'center',
  213 + dataIndex: 'company',
  214 + },
  215 + {
  216 + title: '交货日期',
  217 + align: 'center',
  218 + dataIndex: 'deliveryTime',
  219 + customRender: function (text) {
  220 + return !text ? '' : text.length > 10 ? text.substr(0, 10) : text
255 }, 221 },
256 - {  
257 - title: '操作',  
258 - dataIndex: 'action',  
259 - align:"center",  
260 - fixed:"right",  
261 - width:147,  
262 - scopedSlots: { customRender: 'action' }  
263 - }  
264 - ],  
265 - url: {  
266 - list: "/trad/tblTradBase/list",  
267 - delete: "/trad/tblTradBase/delete",  
268 - deleteBatch: "/trad/tblTradBase/deleteBatch",  
269 - exportXlsUrl: "/trad/tblTradBase/exportXls",  
270 - importExcelUrl: "trad/tblTradBase/importExcel",  
271 -  
272 }, 222 },
273 - dictOptions:{},  
274 - superFieldList:[],  
275 - }  
276 - },  
277 - created() {  
278 - this.getSuperFieldList();  
279 - },  
280 - computed: {  
281 - importExcelUrl: function(){  
282 - return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;  
283 - },  
284 - },  
285 - methods: {  
286 - initDictConfig(){ 223 + {
  224 + title: '品牌',
  225 + align: 'center',
  226 + dataIndex: 'brand',
  227 + },
  228 + {
  229 + title: '工作令',
  230 + align: 'center',
  231 + dataIndex: 'workOrder',
  232 + },
  233 + {
  234 + title: '进口国产标识',
  235 + align: 'center',
  236 + dataIndex: 'identification',
  237 + },
  238 + {
  239 + title: 'WBS',
  240 + align: 'center',
  241 + dataIndex: 'wbs',
  242 + },
  243 + {
  244 + title: '评审结果',
  245 + align: 'center',
  246 + dataIndex: 'result',
  247 + },
  248 + {
  249 + title: '备注',
  250 + align: 'center',
  251 + dataIndex: 'notes',
  252 + },
  253 + {
  254 + title: '设计人员姓名',
  255 + align: 'center',
  256 + dataIndex: 'design',
  257 + },
  258 + {
  259 + title: '联系方式',
  260 + align: 'center',
  261 + dataIndex: 'phone',
  262 + },
  263 + {
  264 + title: '图纸',
  265 + align: 'center',
  266 + dataIndex: 'picture',
  267 + scopedSlots: { customRender: 'imgSlot' },
  268 + },
  269 + {
  270 + title: '操作',
  271 + dataIndex: 'action',
  272 + align: 'center',
  273 + fixed: 'right',
  274 + width: 147,
  275 + scopedSlots: { customRender: 'action' },
  276 + },
  277 + ],
  278 + url: {
  279 + list: '/trad/tblTradBase/list',
  280 + delete: '/trad/tblTradBase/delete',
  281 + deleteBatch: '/trad/tblTradBase/deleteBatch',
  282 + exportXlsUrl: '/trad/tblTradBase/exportXls',
  283 + importExcelUrl: 'trad/tblTradBase/importExcel',
  284 + queryByTenderNumber:'trad/tblTradBase/queryByTenderNumber'
287 }, 285 },
288 - getSuperFieldList(){  
289 - let fieldList=[];  
290 - fieldList.push({type:'string',value:'tenderNumber',text:'招标号'})  
291 - fieldList.push({type:'string',value:'customer',text:'客户'})  
292 - fieldList.push({type:'string',value:'procurement',text:'客户采购'})  
293 - fieldList.push({type:'string',value:'partNumber',text:'客户料号'})  
294 - fieldList.push({type:'string',value:'description',text:'物料描述'})  
295 - fieldList.push({type:'string',value:'productname',text:'品名'})  
296 - fieldList.push({type:'string',value:'specifications',text:'规格'})  
297 - fieldList.push({type:'number',value:'num',text:'申请数量'})  
298 - fieldList.push({type:'string',value:'danwei',text:'计量单位'})  
299 - fieldList.push({type:'string',value:'company',text:'客户需求单位'})  
300 - fieldList.push({type:'date',value:'deliveryTime',text:'交货日期'})  
301 - fieldList.push({type:'string',value:'notes',text:'备注(品牌要求)'})  
302 - fieldList.push({type:'string',value:'design',text:'客户设计'})  
303 - fieldList.push({type:'string',value:'phone',text:'联系方式'})  
304 - fieldList.push({type:'string',value:'picture',text:'图纸'})  
305 - this.superFieldList = fieldList  
306 - } 286 + dictOptions: {},
  287 + superFieldList: [],
307 } 288 }
308 - } 289 + },
  290 + created() {
  291 + this.getSuperFieldList()
  292 + },
  293 + computed: {
  294 + importExcelUrl: function () {
  295 + return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`
  296 + },
  297 + },
  298 + methods: {
  299 + initDictConfig() {},
  300 + getSuperFieldList() {
  301 + let fieldList = []
  302 + fieldList.push({ type: 'string', value: 'tenderNumber', text: '招标号' })
  303 + fieldList.push({ type: 'string', value: 'customer', text: '客户' })
  304 + fieldList.push({ type: 'string', value: 'procurement', text: '客户采购' })
  305 + fieldList.push({ type: 'string', value: 'partNumber', text: '客户料号' })
  306 + fieldList.push({ type: 'string', value: 'description', text: '物料描述' })
  307 + fieldList.push({ type: 'string', value: 'productname', text: '品名' })
  308 + fieldList.push({ type: 'string', value: 'specifications', text: '规格' })
  309 + fieldList.push({ type: 'number', value: 'num', text: '申请数量' })
  310 + fieldList.push({ type: 'string', value: 'danwei', text: '计量单位' })
  311 + fieldList.push({ type: 'string', value: 'company', text: '客户需求单位' })
  312 + fieldList.push({ type: 'date', value: 'deliveryTime', text: '交货日期' })
  313 + fieldList.push({ type: 'string', value: 'notes', text: '备注(品牌要求)' })
  314 + fieldList.push({ type: 'string', value: 'design', text: '客户设计' })
  315 + fieldList.push({ type: 'string', value: 'phone', text: '联系方式' })
  316 + fieldList.push({ type: 'string', value: 'picture', text: '图纸' })
  317 + this.superFieldList = fieldList
  318 + },
  319 + },
  320 +}
309 </script> 321 </script>
310 <style scoped> 322 <style scoped>
311 - @import '~@assets/less/common.less'; 323 +@import '~@assets/less/common.less';
312 </style> 324 </style>
@@ -118,7 +118,7 @@ @@ -118,7 +118,7 @@
118 </a-col> 118 </a-col>
119 <a-col :span="24"> 119 <a-col :span="24">
120 <a-form-model-item label="图纸" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="picture"> 120 <a-form-model-item label="图纸" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="picture">
121 - <a-input v-model="model.picture" placeholder="请输入图纸"></a-input> 121 + <j-image-upload isMultiple v-model="model.picture"></j-image-upload>
122 </a-form-model-item> 122 </a-form-model-item>
123 </a-col> 123 </a-col>
124 </a-row> 124 </a-row>