|
@@ -45,9 +45,15 @@
|
|
<div class="table-operator">
|
|
<div class="table-operator">
|
|
<a-button @click="handleAdd" type="primary" icon="plus">新增</a-button>
|
|
<a-button @click="handleAdd" type="primary" icon="plus">新增</a-button>
|
|
<a-button type="primary" icon="download" @click="handleExportXls('外协价格库')">导出</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 v-if="isalarm === 0" name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel">
|
|
<a-button type="primary" icon="import">导入</a-button>
|
|
<a-button type="primary" icon="import">导入</a-button>
|
|
</a-upload>
|
|
</a-upload>
|
|
|
|
+ <a-tooltip v-if="isalarm === 1" placement="bottom">
|
|
|
|
+ <template slot="title">
|
|
|
|
+ <span>请先处理重复项</span>
|
|
|
|
+ </template>
|
|
|
|
+ <a-button type="primary" icon="import" disabled>导入</a-button>
|
|
|
|
+ </a-tooltip>
|
|
<!-- 高级查询区域 -->
|
|
<!-- 高级查询区域 -->
|
|
<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-dropdown v-if="selectedRowKeys.length > 0">
|
|
@@ -66,9 +72,9 @@
|
|
|
|
|
|
<span style="float:right;">
|
|
<span style="float:right;">
|
|
<a @click="loadData()"><a-icon type="sync" />刷新</a>
|
|
<a @click="loadData()"><a-icon type="sync" />刷新</a>
|
|
- <a-divider type="vertical" />
|
|
|
|
|
|
+ <a-divider type="vertical" v-if="isalarm === 1" />
|
|
|
|
|
|
- <a style="color: #ffa11e;" @click="visibleRepeat = true"><a-icon type="exclamation-circle" />有重复项!请处理!</a>
|
|
|
|
|
|
+ <a v-if="isalarm === 1" style="color: #ffa11e;" @click="visibleRepeat = true"><a-icon type="exclamation-circle" />有重复项!请处理!</a>
|
|
|
|
|
|
</span>
|
|
</span>
|
|
|
|
|
|
@@ -110,9 +116,11 @@
|
|
|
|
|
|
<span slot="action" slot-scope="text, record">
|
|
<span slot="action" slot-scope="text, record">
|
|
<a @click="handleEdit(record)">编辑</a>
|
|
<a @click="handleEdit(record)">编辑</a>
|
|
-
|
|
|
|
<a-divider type="vertical" />
|
|
<a-divider type="vertical" />
|
|
- <a-dropdown>
|
|
|
|
|
|
+ <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
|
|
|
|
+ <a>删除</a>
|
|
|
|
+ </a-popconfirm>
|
|
|
|
+ <!-- <a-dropdown>
|
|
<a class="ant-dropdown-link">更多 <a-icon type="down" /></a>
|
|
<a class="ant-dropdown-link">更多 <a-icon type="down" /></a>
|
|
<a-menu slot="overlay">
|
|
<a-menu slot="overlay">
|
|
<a-menu-item>
|
|
<a-menu-item>
|
|
@@ -124,7 +132,7 @@
|
|
</a-popconfirm>
|
|
</a-popconfirm>
|
|
</a-menu-item>
|
|
</a-menu-item>
|
|
</a-menu>
|
|
</a-menu>
|
|
- </a-dropdown>
|
|
|
|
|
|
+ </a-dropdown> -->
|
|
</span>
|
|
</span>
|
|
|
|
|
|
</a-table>
|
|
</a-table>
|
|
@@ -138,10 +146,10 @@
|
|
:visible="visibleRepeat"
|
|
:visible="visibleRepeat"
|
|
switchFullscreen
|
|
switchFullscreen
|
|
@ok="handleOk"
|
|
@ok="handleOk"
|
|
- :okButtonProps="{ class:{'jee-hidden': disableSubmit} }"
|
|
|
|
@cancel="handleCancel"
|
|
@cancel="handleCancel"
|
|
cancelText="关闭">
|
|
cancelText="关闭">
|
|
- <cost-model-wx-repeat-list></cost-model-wx-repeat-list>
|
|
|
|
|
|
+ <!-- :okButtonProps="{ class:{'jee-hidden': disableSubmit} }" -->
|
|
|
|
+ <cost-model-wx-repeat-list ref="wxRepeatRef" @ok="handleSure"></cost-model-wx-repeat-list>
|
|
</j-modal>
|
|
</j-modal>
|
|
|
|
|
|
</a-card>
|
|
</a-card>
|
|
@@ -154,6 +162,7 @@
|
|
import { JeecgListMixin } from '@/mixins/JeecgListMixin'
|
|
import { JeecgListMixin } from '@/mixins/JeecgListMixin'
|
|
import CostModelWxPriceModal from './modules/CostModelWxPriceModal'
|
|
import CostModelWxPriceModal from './modules/CostModelWxPriceModal'
|
|
import CostModelWxRepeatList from '../costModelWxRepeat/CostModelWxRepeatList.vue'
|
|
import CostModelWxRepeatList from '../costModelWxRepeat/CostModelWxRepeatList.vue'
|
|
|
|
+import { getAction } from '@/api/manage'
|
|
|
|
|
|
export default {
|
|
export default {
|
|
name: 'CostModelWxPriceList',
|
|
name: 'CostModelWxPriceList',
|
|
@@ -239,6 +248,7 @@ import CostModelWxRepeatList from '../costModelWxRepeat/CostModelWxRepeatList.vu
|
|
|
|
|
|
// 处理重复项
|
|
// 处理重复项
|
|
visibleRepeat: false,
|
|
visibleRepeat: false,
|
|
|
|
+ isalarm: 0
|
|
}
|
|
}
|
|
},
|
|
},
|
|
created() {
|
|
created() {
|
|
@@ -250,6 +260,93 @@ import CostModelWxRepeatList from '../costModelWxRepeat/CostModelWxRepeatList.vu
|
|
},
|
|
},
|
|
},
|
|
},
|
|
methods: {
|
|
methods: {
|
|
|
|
+ loadData(arg) {
|
|
|
|
+ if(!this.url.list){
|
|
|
|
+ this.$message.error("请设置url.list属性!")
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ //加载数据 若传入参数1则加载第一页的内容
|
|
|
|
+ if (arg === 1) {
|
|
|
|
+ this.ipagination.current = 1;
|
|
|
|
+ }
|
|
|
|
+ var params = this.getQueryParams();//查询条件
|
|
|
|
+ this.loading = true;
|
|
|
|
+ getAction(this.url.list, params).then((res) => {
|
|
|
|
+ if (res.success) {
|
|
|
|
+ //update-begin---author:zhangyafei Date:20201118 for:适配不分页的数据列表------------
|
|
|
|
+ this.dataSource = res.result.content.records||res.result.content;
|
|
|
|
+ this.isalarm = res.result.isalarm
|
|
|
|
+ if(res.result.total)
|
|
|
|
+ {
|
|
|
|
+ this.ipagination.total = res.result.total;
|
|
|
|
+ }else{
|
|
|
|
+ this.ipagination.total = 0;
|
|
|
|
+ }
|
|
|
|
+ //update-end---author:zhangyafei Date:20201118 for:适配不分页的数据列表------------
|
|
|
|
+ }else{
|
|
|
|
+ this.$message.warning(res.message)
|
|
|
|
+ }
|
|
|
|
+ }).finally(() => {
|
|
|
|
+ this.loading = false
|
|
|
|
+ })
|
|
|
|
+ },
|
|
|
|
+ /* 导入 */
|
|
|
|
+ handleImportExcel(info){
|
|
|
|
+ this.loading = true;
|
|
|
|
+ if (info.file.status !== 'uploading') {
|
|
|
|
+ console.log(info.file, info.fileList);
|
|
|
|
+ }
|
|
|
|
+ if (info.file.status === 'done') {
|
|
|
|
+ this.loading = false;
|
|
|
|
+ console.log(info)
|
|
|
|
+ if (info.file.response.success) {
|
|
|
|
+ // this.$message.success(`${info.file.name} 文件上传成功`);
|
|
|
|
+ if (info.file.response.code === 201) {
|
|
|
|
+ let { message, result: { msg, fileUrl, fileName } } = info.file.response
|
|
|
|
+ let href = window._CONFIG['domianURL'] + fileUrl
|
|
|
|
+ this.$warning({
|
|
|
|
+ title: message,
|
|
|
|
+ content: (<div>
|
|
|
|
+ <span>{msg}</span><br/>
|
|
|
|
+ <span>具体详情请 <a href={href} target="_blank" download={fileName}>点击下载</a> </span>
|
|
|
|
+ </div>
|
|
|
|
+ )
|
|
|
|
+ })
|
|
|
|
+ } else {
|
|
|
|
+ this.$message.success(info.file.response.message || `${info.file.name} 文件上传成功`)
|
|
|
|
+ }
|
|
|
|
+ this.loadData()
|
|
|
|
+ } else if (info.file.response.code === 111){
|
|
|
|
+ // 数据有半重复的(外协项目、外协单位、计量单位相同,但价格不同时)
|
|
|
|
+ this.$message.success(info.file.response.message || `${info.file.name} 文件上传成功`)
|
|
|
|
+ this.loadData()
|
|
|
|
+ } else {
|
|
|
|
+ this.$message.error(`${info.file.name} ${info.file.response.message}.`);
|
|
|
|
+ }
|
|
|
|
+ } else if (info.file.status === 'error') {
|
|
|
|
+ this.loading = false;
|
|
|
|
+ if (info.file.response.status === 500) {
|
|
|
|
+ let data = info.file.response
|
|
|
|
+ const token = Vue.ls.get(ACCESS_TOKEN)
|
|
|
|
+ if (token && data.message.includes("Token失效")) {
|
|
|
|
+ this.$error({
|
|
|
|
+ title: '登录已过期',
|
|
|
|
+ content: '很抱歉,登录已过期,请重新登录',
|
|
|
|
+ okText: '重新登录',
|
|
|
|
+ mask: false,
|
|
|
|
+ onOk: () => {
|
|
|
|
+ store.dispatch('Logout').then(() => {
|
|
|
|
+ Vue.ls.remove(ACCESS_TOKEN)
|
|
|
|
+ window.location.reload();
|
|
|
|
+ })
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ this.$message.error(`文件上传失败: ${info.file.msg} `);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ },
|
|
initDictConfig(){
|
|
initDictConfig(){
|
|
},
|
|
},
|
|
getSuperFieldList(){
|
|
getSuperFieldList(){
|
|
@@ -262,13 +359,18 @@ import CostModelWxRepeatList from '../costModelWxRepeat/CostModelWxRepeatList.vu
|
|
this.superFieldList = fieldList
|
|
this.superFieldList = fieldList
|
|
},
|
|
},
|
|
handleOk () {
|
|
handleOk () {
|
|
|
|
+ if (this.$refs.wxRepeatRef.selectedRowKeys.length <= 0) {
|
|
|
|
+ this.$message.warning('请选择一条记录!');
|
|
|
|
+ return;
|
|
|
|
+ } else {
|
|
|
|
+ this.$refs.wxRepeatRef.handleRepeat();
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ // 实现异步关闭页面并刷新页面,不这样写会有同步页面不刷新的问题
|
|
|
|
+ handleSure(){
|
|
|
|
+ this.loadData()
|
|
this.close()
|
|
this.close()
|
|
- // this.$refs.realForm.submitForm();
|
|
|
|
},
|
|
},
|
|
- // submitCallback(){
|
|
|
|
- // this.$emit('ok');
|
|
|
|
- // this.visible = false;
|
|
|
|
- // },
|
|
|
|
handleCancel () {
|
|
handleCancel () {
|
|
this.close()
|
|
this.close()
|
|
},
|
|
},
|