|
@@ -12,6 +12,11 @@
|
|
|
</div>
|
|
|
<div>
|
|
|
<div class="el-button--small-yh add-customer-btn">
|
|
|
+ <el-button type="success" size="small" @click="release()" v-if="form.status === 3">发布</el-button>
|
|
|
+ <el-button type="danger" size="small" @click="toVoid()" v-if="form.status > 3">取消发布</el-button>
|
|
|
+ <el-button type="primary" size="small" @click="pleaseCheck()" v-if="form.status === 0">请核</el-button>
|
|
|
+ <el-button type="warning" size="small" @click.stop="checkDialog = true,checkData = detailData.check" v-if="checkDisabled">审批</el-button>
|
|
|
+ <el-button type="warning" size="small" @click.native="checkScheduleDialog = true,checkId=form.id" v-if="form.status>0">审批进度</el-button>
|
|
|
<el-button type="primary" size="small" @click="storage()">保存</el-button>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -20,329 +25,670 @@
|
|
|
<avue-form :option="optionForm" v-model="form"></avue-form>
|
|
|
</trade-card>
|
|
|
<trade-card title="箱信息">
|
|
|
- <avue-crud ref="crudBox" :option="optionBox" :data="dataListBox"></avue-crud>
|
|
|
+ <avue-crud ref="crudBox" :option="optionBox" :data="dataListBox">
|
|
|
+ <template slot-scope="{row,index}" slot="menu">
|
|
|
+ <el-button
|
|
|
+ type="text"
|
|
|
+ size="small"
|
|
|
+ :icon="row.$cellEdit?'el-icon-circle-plus-outline':'el-icon-edit'"
|
|
|
+ @click="edit(row)"
|
|
|
+ >{{ row.$cellEdit ? '确 认' : '编 辑' }}
|
|
|
+ </el-button>
|
|
|
+ <el-button
|
|
|
+ type="text"
|
|
|
+ size="small"
|
|
|
+ icon="el-icon-delete"
|
|
|
+ v-if="form.status === 0"
|
|
|
+ @click="rowDel(row,index,'box')"
|
|
|
+ >删 除
|
|
|
+ </el-button>
|
|
|
+ </template>
|
|
|
+ </avue-crud>
|
|
|
</trade-card>
|
|
|
<trade-card title="代理信息">
|
|
|
- <avue-crud ref="crudAgent" :option="optionAgent" :data="dataListAgent"></avue-crud>
|
|
|
+ <avue-crud ref="crudAgent" :option="optionAgent" :data="dataListAgent">
|
|
|
+ <template slot-scope="{row,index}" slot="menu">
|
|
|
+ <el-button
|
|
|
+ type="text"
|
|
|
+ size="small"
|
|
|
+ :icon="row.$cellEdit?'el-icon-circle-plus-outline':'el-icon-edit'"
|
|
|
+ @click="edit(row)"
|
|
|
+ >{{ row.$cellEdit ? '确 认' : '编 辑' }}
|
|
|
+ </el-button>
|
|
|
+ <el-button
|
|
|
+ type="text"
|
|
|
+ size="small"
|
|
|
+ icon="el-icon-delete"
|
|
|
+ v-if="form.status === 0"
|
|
|
+ @click="rowDel(row,index,'agent')"
|
|
|
+ >删 除
|
|
|
+ </el-button>
|
|
|
+ </template>
|
|
|
+ </avue-crud>
|
|
|
</trade-card>
|
|
|
<trade-card title="投标对比">
|
|
|
- <avue-crud ref="crudAgent" :option="optionBid" :data="dataListBid"></avue-crud>
|
|
|
+ <avue-crud ref="crudAgent" :option="optionBid" :data="dataListBid">
|
|
|
+ <template slot-scope="{row,index}" slot="menu">
|
|
|
+ <el-button
|
|
|
+ type="text"
|
|
|
+ size="small"
|
|
|
+ :icon="row.$cellEdit?'el-icon-circle-plus-outline':'el-icon-edit'"
|
|
|
+ @click="edit(row)"
|
|
|
+ >{{ row.$cellEdit ? '确 认' : '编 辑' }}
|
|
|
+ </el-button>
|
|
|
+ <el-button
|
|
|
+ type="text"
|
|
|
+ size="small"
|
|
|
+ @click="winningTheBid(row,index)"
|
|
|
+ v-if="row.status === 5"
|
|
|
+ >确认中标
|
|
|
+ </el-button>
|
|
|
+ </template>
|
|
|
+ </avue-crud>
|
|
|
</trade-card>
|
|
|
+ <el-dialog
|
|
|
+ append-to-body
|
|
|
+ title="审批"
|
|
|
+ class="el-dialogDeep"
|
|
|
+ :visible.sync="checkDialog"
|
|
|
+ width="50%"
|
|
|
+ :close-on-click-modal="false"
|
|
|
+ :destroy-on-close="true"
|
|
|
+ :close-on-press-escape="false"
|
|
|
+ v-dialog-drag
|
|
|
+ >
|
|
|
+ <check
|
|
|
+ :checkData="checkData"
|
|
|
+ :checkDetail="false"
|
|
|
+ :idList="[]"
|
|
|
+ @choceCheckFun="checkDialog = false"
|
|
|
+ >
|
|
|
+ </check>
|
|
|
+ </el-dialog>
|
|
|
+ <el-dialog
|
|
|
+ append-to-body
|
|
|
+ title="审批进度"
|
|
|
+ class="el-dialogDeep"
|
|
|
+ :visible.sync="checkScheduleDialog"
|
|
|
+ width="40%"
|
|
|
+ :close-on-click-modal="false"
|
|
|
+ :destroy-on-close="true"
|
|
|
+ :close-on-press-escape="false"
|
|
|
+ v-dialog-drag
|
|
|
+ >
|
|
|
+ <check-schedule
|
|
|
+ :checkId="checkId"
|
|
|
+ :batchNo="batchNo"
|
|
|
+ @choceScheduleFun="checkScheduleDialog = false"
|
|
|
+ >
|
|
|
+ </check-schedule>
|
|
|
+ </el-dialog>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
-import {detailDelegationList, saveSaveList} from "@/api/bidingDocument/issueTender";
|
|
|
-
|
|
|
+import {
|
|
|
+ detailDelegationList,
|
|
|
+ saveSaveList,
|
|
|
+ boxDelete,
|
|
|
+ agentDelete,
|
|
|
+ confirmRelease, confirmVoid, confirmPleaseCheck, confirmWinningTheBid
|
|
|
+} from "@/api/bidingDocument/issueTender";
|
|
|
+import check from "@/components/check/check";
|
|
|
+import checkSchedule from "@/components/check/checkSchedule";
|
|
|
export default {
|
|
|
name: "detailsPageEdit",
|
|
|
- data(){
|
|
|
+ components:{
|
|
|
+ check,
|
|
|
+ checkSchedule
|
|
|
+ },
|
|
|
+ watch: {
|
|
|
+ form: {
|
|
|
+ handler(newValue, oldValue) {
|
|
|
+ if (this.form.status > 0){
|
|
|
+ this.$set(this.optionForm,'disabled',true)
|
|
|
+ this.$set(this.optionBox,'addRowBtn',false)
|
|
|
+ this.$set(this.optionAgent,'addRowBtn',false)
|
|
|
+ this.optionBox.column.forEach(item=>{
|
|
|
+ this.$set(item,'disabled',true)
|
|
|
+ if (item.prop === "remark"){
|
|
|
+ this.$set(item,'disabled',false)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ this.optionAgent.column.forEach(item=>{
|
|
|
+ this.$set(item,'disabled',true)
|
|
|
+ if (item.prop === "remark"){
|
|
|
+ this.$set(item,'disabled',false)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }else {
|
|
|
+ this.$set(this.optionForm,'disabled',false)
|
|
|
+ this.findObject(this.optionForm.column, "status").disabled = true
|
|
|
+ this.$set(this.optionBox,'disabled',false)
|
|
|
+ this.findObject(this.optionBox.column, "status").disabled = true
|
|
|
+ this.$set(this.optionAgent,'disabled',false)
|
|
|
+ this.findObject(this.optionAgent.column, "status").disabled = true
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ data() {
|
|
|
return {
|
|
|
- fullscreenLoading:false,
|
|
|
- optionForm:{
|
|
|
- submitBtn:false,
|
|
|
- emptyBtn:false,
|
|
|
- span:6,
|
|
|
- column:[{
|
|
|
- label:'发布日期',
|
|
|
- prop:'releaseTime',
|
|
|
+ checkDialog:false,
|
|
|
+ checkScheduleDialog:false,
|
|
|
+ checkId: '',
|
|
|
+ batchNo:'',
|
|
|
+ checkData: {},
|
|
|
+ fullscreenLoading: false,
|
|
|
+ optionForm: {
|
|
|
+ submitBtn: false,
|
|
|
+ emptyBtn: false,
|
|
|
+ span: 6,
|
|
|
+ column: [{
|
|
|
+ label: '发布日期',
|
|
|
+ prop: 'releaseTime',
|
|
|
type: "datetime",
|
|
|
- format:'yyyy-MM-dd HH:mm:ss',
|
|
|
- valueFormat:'yyyy-MM-dd HH:mm:ss'
|
|
|
- },{
|
|
|
- label:'截止日期',
|
|
|
- prop:'deadlineTime',
|
|
|
+ format: 'yyyy-MM-dd HH:mm',
|
|
|
+ valueFormat: 'yyyy-MM-dd HH:mm:ss'
|
|
|
+ }, {
|
|
|
+ label: '截止日期',
|
|
|
+ prop: 'deadlineTime',
|
|
|
type: "datetime",
|
|
|
- format:'yyyy-MM-dd HH:mm:ss',
|
|
|
- valueFormat:'yyyy-MM-dd HH:mm:ss'
|
|
|
- },{
|
|
|
- label:'合同号',
|
|
|
- prop:'contractNo',
|
|
|
- },{
|
|
|
- label:'状态',
|
|
|
- prop:'status',
|
|
|
+ format: 'yyyy-MM-dd HH:mm',
|
|
|
+ valueFormat: 'yyyy-MM-dd HH:mm:ss'
|
|
|
+ }, {
|
|
|
+ label: '合同号',
|
|
|
+ prop: 'contractNo',
|
|
|
+ }, {
|
|
|
+ label: '状态',
|
|
|
+ disabled:true,
|
|
|
+ prop: 'status',
|
|
|
dataType: "string",
|
|
|
type: 'select',
|
|
|
- dicUrl: "/api/blade-system/dict-biz/dictionary?code=bid_status",
|
|
|
+ dicUrl: "/api/blade-system/dict-biz/dictionary?code=main_bid_status",
|
|
|
props: {
|
|
|
label: "dictValue",
|
|
|
value: "dictKey"
|
|
|
}
|
|
|
- },{
|
|
|
- label:'起运港',
|
|
|
- prop:'departureHarbor',
|
|
|
+ }, {
|
|
|
+ label: '起运港',
|
|
|
+ prop: 'departureHarbor',
|
|
|
filterable: true,
|
|
|
type: "select",
|
|
|
- dicUrl:"/api/blade-client/port/allList",
|
|
|
+ dicUrl: "/api/blade-client/port/allList",
|
|
|
props: {
|
|
|
label: "name",
|
|
|
value: "name"
|
|
|
}
|
|
|
- },{
|
|
|
- label:'目的港',
|
|
|
- prop:'objectiveHarbor',
|
|
|
+ }, {
|
|
|
+ label: '目的港',
|
|
|
+ prop: 'objectiveHarbor',
|
|
|
filterable: true,
|
|
|
type: "select",
|
|
|
- dicUrl:"/api/blade-client/port/allList",
|
|
|
+ dicUrl: "/api/blade-client/port/allList",
|
|
|
props: {
|
|
|
label: "name",
|
|
|
value: "name"
|
|
|
}
|
|
|
- },{
|
|
|
- label:'起运地',
|
|
|
- prop:'departureLand',
|
|
|
+ }, {
|
|
|
+ label: '起运地',
|
|
|
+ prop: 'departureLand',
|
|
|
filterable: true,
|
|
|
type: "select",
|
|
|
- dicUrl:"/api/blade-client/port/allList",
|
|
|
+ dicUrl: "/api/blade-client/port/allList",
|
|
|
props: {
|
|
|
label: "name",
|
|
|
value: "name"
|
|
|
}
|
|
|
- },{
|
|
|
- label:'目的地',
|
|
|
- prop:'objectiveLand',
|
|
|
+ }, {
|
|
|
+ label: '目的地',
|
|
|
+ prop: 'objectiveLand',
|
|
|
filterable: true,
|
|
|
type: "select",
|
|
|
- dicUrl:"/api/blade-client/port/allList",
|
|
|
+ dicUrl: "/api/blade-client/port/allList",
|
|
|
props: {
|
|
|
label: "name",
|
|
|
value: "name"
|
|
|
}
|
|
|
- },{
|
|
|
- label:'装柜日期',
|
|
|
- prop:'loadingTime',
|
|
|
+ }, {
|
|
|
+ label: '装柜日期',
|
|
|
+ prop: 'loadingTime',
|
|
|
type: "datetime",
|
|
|
- format:'yyyy-MM-dd HH:mm:ss',
|
|
|
- valueFormat:'yyyy-MM-dd HH:mm:ss'
|
|
|
- },{
|
|
|
- label:'是否直航',
|
|
|
- prop:'directFlight',
|
|
|
+ format: 'yyyy-MM-dd HH:mm',
|
|
|
+ valueFormat: 'yyyy-MM-dd HH:mm:ss'
|
|
|
+ }, {
|
|
|
+ label: '是否直航',
|
|
|
+ prop: 'directFlight',
|
|
|
type: 'select',
|
|
|
- dicData:[{
|
|
|
- label:'是',
|
|
|
- value:1
|
|
|
- },{
|
|
|
- label:'否',
|
|
|
- value:0
|
|
|
+ dicData: [{
|
|
|
+ label: '是',
|
|
|
+ value: 1
|
|
|
+ }, {
|
|
|
+ label: '否',
|
|
|
+ value: 0
|
|
|
}]
|
|
|
- },{
|
|
|
- label:'转港',
|
|
|
- prop:'transshipment',
|
|
|
+ }, {
|
|
|
+ label: '转港',
|
|
|
+ prop: 'transshipment',
|
|
|
filterable: true,
|
|
|
type: "select",
|
|
|
- dicUrl:"/api/blade-client/port/allList",
|
|
|
+ dicUrl: "/api/blade-client/port/allList",
|
|
|
props: {
|
|
|
label: "name",
|
|
|
value: "name"
|
|
|
}
|
|
|
- },{
|
|
|
- label:'运输方式',
|
|
|
- prop:'transportType',
|
|
|
+ }, {
|
|
|
+ label: '运输方式',
|
|
|
+ prop: 'transportType',
|
|
|
type: 'select',
|
|
|
dicUrl: "/api/blade-system/dict-biz/dictionary?code=mode_transport",
|
|
|
props: {
|
|
|
label: "dictValue",
|
|
|
value: "dictValue"
|
|
|
}
|
|
|
- },{
|
|
|
- label:'运输条款',
|
|
|
- prop:'transportClause',
|
|
|
- },{
|
|
|
- label:'件数',
|
|
|
- prop:'number',
|
|
|
- },{
|
|
|
- label:'包装',
|
|
|
- prop:'packing',
|
|
|
+ }, {
|
|
|
+ label: '运输条款',
|
|
|
+ prop: 'transportClause',
|
|
|
+ }, {
|
|
|
+ label: '件数',
|
|
|
+ prop: 'number',
|
|
|
+ }, {
|
|
|
+ label: '包装',
|
|
|
+ prop: 'packing',
|
|
|
type: 'select',
|
|
|
dicUrl: "/api/blade-system/dict-biz/dictionary?code=packaging",
|
|
|
props: {
|
|
|
label: "dictValue",
|
|
|
value: "dictValue"
|
|
|
}
|
|
|
- },{
|
|
|
- label:'重量(kgs)',
|
|
|
- prop:'weight',
|
|
|
- },{
|
|
|
- label:'尺码(cmb)',
|
|
|
- prop:'size',
|
|
|
- },{
|
|
|
- label:'货物信息',
|
|
|
- prop:'cargoInformation',
|
|
|
- span:18,
|
|
|
- },{
|
|
|
- label:'备注',
|
|
|
- prop:'remark',
|
|
|
- type:'textarea',
|
|
|
- span:24,
|
|
|
+ }, {
|
|
|
+ label: '重量(kgs)',
|
|
|
+ prop: 'weight',
|
|
|
+ }, {
|
|
|
+ label: '尺码(cmb)',
|
|
|
+ prop: 'size',
|
|
|
+ }, {
|
|
|
+ label: '货物信息',
|
|
|
+ prop: 'cargoInformation',
|
|
|
+ span: 18,
|
|
|
+ }, {
|
|
|
+ label: '备注',
|
|
|
+ prop: 'remark',
|
|
|
+ type: 'textarea',
|
|
|
+ span: 24,
|
|
|
}]
|
|
|
},
|
|
|
- optionBox:{
|
|
|
- align:'center',
|
|
|
- refreshBtn:false,
|
|
|
- addBtn:false,
|
|
|
- addRowBtn:true,
|
|
|
- cellBtn:true,
|
|
|
- column:[{
|
|
|
- label:'箱型',
|
|
|
+ optionBox: {
|
|
|
+ align: 'center',
|
|
|
+ index: true,
|
|
|
+ refreshBtn: false,
|
|
|
+ addBtn: false,
|
|
|
+ addRowBtn: true,
|
|
|
+ cellBtn: false,
|
|
|
+ editBtn: false,
|
|
|
+ delBtn: false,
|
|
|
+ column: [{
|
|
|
+ label: '箱型',
|
|
|
prop: 'boxType',
|
|
|
cell: true,
|
|
|
- },{
|
|
|
- label:'箱量',
|
|
|
+ type: "select",
|
|
|
+ dicUrl: "/api/blade-system/dict-biz/dictionary?code=boxType",
|
|
|
+ props: {
|
|
|
+ label: "dictValue",
|
|
|
+ value: "dictValue"
|
|
|
+ },
|
|
|
+ index:1,
|
|
|
+ }, {
|
|
|
+ label: '箱量',
|
|
|
prop: 'boxAmount',
|
|
|
cell: true,
|
|
|
- },{
|
|
|
- label:'海运费',
|
|
|
+ index:2,
|
|
|
+ }, {
|
|
|
+ label: '海运费',
|
|
|
prop: 'seaFreight',
|
|
|
cell: true,
|
|
|
- },{
|
|
|
- label:'起运港箱使费',
|
|
|
+ index:3,
|
|
|
+ }, {
|
|
|
+ label: '起运港箱使费',
|
|
|
prop: 'departureHarborFee',
|
|
|
cell: true,
|
|
|
- },{
|
|
|
- label:'目的港箱使费',
|
|
|
+ index:4,
|
|
|
+ }, {
|
|
|
+ label: '目的港箱使费',
|
|
|
prop: 'objectiveHarborFee',
|
|
|
cell: true,
|
|
|
- },{
|
|
|
- label:'状态',
|
|
|
+ index:5,
|
|
|
+ }, {
|
|
|
+ label: '状态',
|
|
|
prop: 'status',
|
|
|
type: 'select',
|
|
|
dataType: "string",
|
|
|
- dicUrl: "/api/blade-system/dict-biz/dictionary?code=bid_status",
|
|
|
+ dicUrl: "/api/blade-system/dict-biz/dictionary?code=main_bid_status",
|
|
|
props: {
|
|
|
label: "dictValue",
|
|
|
value: "dictKey"
|
|
|
},
|
|
|
- cell: true,
|
|
|
- },{
|
|
|
- label:'备注',
|
|
|
+ index:6,
|
|
|
+ }, {
|
|
|
+ label: '备注',
|
|
|
prop: 'remark',
|
|
|
cell: true,
|
|
|
+ index:7,
|
|
|
}]
|
|
|
},
|
|
|
- optionAgent:{
|
|
|
- align:'center',
|
|
|
- refreshBtn:false,
|
|
|
- addBtn:false,
|
|
|
- addRowBtn:true,
|
|
|
- cellBtn:true,
|
|
|
- column:[{
|
|
|
- label:'名称',
|
|
|
- prop: 'agentName',
|
|
|
+ optionAgent: {
|
|
|
+ align: 'center',
|
|
|
+ index: true,
|
|
|
+ refreshBtn: false,
|
|
|
+ addBtn: false,
|
|
|
+ addRowBtn: true,
|
|
|
+ cellBtn: false,
|
|
|
+ editBtn: false,
|
|
|
+ delBtn: false,
|
|
|
+ column: [{
|
|
|
+ label: '名称',
|
|
|
+ prop: 'agentId',
|
|
|
+ filterable:true,
|
|
|
cell: true,
|
|
|
- },{
|
|
|
- label:'联系人',
|
|
|
+ dicUrl: '/api/blade-client/corpsdesc/bidingCorpsList',
|
|
|
+ type: 'select',
|
|
|
+ props: {
|
|
|
+ label: "cname",
|
|
|
+ value: "id"
|
|
|
+ },
|
|
|
+ index:1,
|
|
|
+ }, {
|
|
|
+ label: '联系人',
|
|
|
prop: 'contacts',
|
|
|
cell: true,
|
|
|
- },{
|
|
|
- label:'邮箱',
|
|
|
+ index:2,
|
|
|
+ }, {
|
|
|
+ label: '邮箱',
|
|
|
prop: 'mailbox',
|
|
|
cell: true,
|
|
|
- },{
|
|
|
- label:'电话',
|
|
|
+ index:3,
|
|
|
+ }, {
|
|
|
+ label: '电话',
|
|
|
prop: 'phone',
|
|
|
cell: true,
|
|
|
- },{
|
|
|
- label:'状态',
|
|
|
+ index:4,
|
|
|
+ }, {
|
|
|
+ label: '状态',
|
|
|
prop: 'status',
|
|
|
type: 'select',
|
|
|
dataType: "string",
|
|
|
- dicUrl: "/api/blade-system/dict-biz/dictionary?code=bid_status",
|
|
|
+ dicUrl: "/api/blade-system/dict-biz/dictionary?code=main_bid_status",
|
|
|
props: {
|
|
|
label: "dictValue",
|
|
|
value: "dictKey"
|
|
|
},
|
|
|
- cell: true,
|
|
|
- },{
|
|
|
- label:'备注',
|
|
|
+ index:5,
|
|
|
+ }, {
|
|
|
+ label: '备注',
|
|
|
prop: 'remark',
|
|
|
cell: true,
|
|
|
+ index:6,
|
|
|
}]
|
|
|
},
|
|
|
- optionBid:{
|
|
|
- align:'center',
|
|
|
- refreshBtn:false,
|
|
|
- addBtn:false,
|
|
|
- addRowBtn:true,
|
|
|
- cellBtn:true,
|
|
|
- column:[{
|
|
|
- label:'名称',
|
|
|
+ optionBid: {
|
|
|
+ align: 'center',
|
|
|
+ index:true,
|
|
|
+ refreshBtn: false,
|
|
|
+ addBtn: false,
|
|
|
+ addRowBtn: false,
|
|
|
+ cellBtn: false,
|
|
|
+ editBtn: false,
|
|
|
+ delBtn: false,
|
|
|
+ menuWidth:100,
|
|
|
+ column: [{
|
|
|
+ label: '名称',
|
|
|
prop: 'contrastName',
|
|
|
- cell: true,
|
|
|
- },{
|
|
|
- label:'船公司',
|
|
|
+ index:1,
|
|
|
+ }, {
|
|
|
+ label: '船公司',
|
|
|
prop: 'shippingCompany',
|
|
|
- cell: true,
|
|
|
- },{
|
|
|
- label:'船名',
|
|
|
+ index:2,
|
|
|
+ }, {
|
|
|
+ label: '船名',
|
|
|
prop: 'shipName',
|
|
|
- cell: true,
|
|
|
- },{
|
|
|
- label:'箱型',
|
|
|
+ index:3,
|
|
|
+ }, {
|
|
|
+ label: '箱型',
|
|
|
prop: 'boxType',
|
|
|
- cell: true,
|
|
|
- },{
|
|
|
- label:'运费',
|
|
|
+ type: "select",
|
|
|
+ dicUrl: "/api/blade-system/dict-biz/dictionary?code=boxType",
|
|
|
+ props: {
|
|
|
+ label: "dictValue",
|
|
|
+ value: "dictValue"
|
|
|
+ },
|
|
|
+ index:4,
|
|
|
+ }, {
|
|
|
+ label: '运费',
|
|
|
prop: 'seaFreight',
|
|
|
- cell: true,
|
|
|
- },{
|
|
|
- label:'起运港箱使费',
|
|
|
+ index:5,
|
|
|
+ }, {
|
|
|
+ label: '起运港箱使费',
|
|
|
prop: 'departureHarborFee',
|
|
|
- cell: true,
|
|
|
- },{
|
|
|
- label:'目的港箱使费',
|
|
|
+ index:6,
|
|
|
+ }, {
|
|
|
+ label: '目的港箱使费',
|
|
|
prop: 'objectiveHarborFee',
|
|
|
- cell: true,
|
|
|
- },{
|
|
|
- label:'状态',
|
|
|
+ index:7,
|
|
|
+ }, {
|
|
|
+ label: '状态',
|
|
|
prop: 'status',
|
|
|
type: 'select',
|
|
|
dataType: "string",
|
|
|
- dicUrl: "/api/blade-system/dict-biz/dictionary?code=bid_status",
|
|
|
+ dicUrl: "/api/blade-system/dict-biz/dictionary?code=main_bid_status",
|
|
|
props: {
|
|
|
label: "dictValue",
|
|
|
value: "dictKey"
|
|
|
},
|
|
|
- cell: true,
|
|
|
- },{
|
|
|
- label:'备注',
|
|
|
+ index:8,
|
|
|
+ }, {
|
|
|
+ label: '备注',
|
|
|
prop: 'remark',
|
|
|
cell: true,
|
|
|
+ index:9,
|
|
|
}]
|
|
|
},
|
|
|
- form:{},
|
|
|
- dataListBox:[],
|
|
|
- dataListAgent:[],
|
|
|
- dataListBid:[],
|
|
|
+ form: {},
|
|
|
+ dataListBox: [],
|
|
|
+ dataListAgent: [],
|
|
|
+ dataListBid: [],
|
|
|
+ checkDisabled:false
|
|
|
}
|
|
|
},
|
|
|
props: {
|
|
|
id: {
|
|
|
type: String
|
|
|
+ },
|
|
|
+ detailData: {
|
|
|
+ type: Object
|
|
|
}
|
|
|
},
|
|
|
created() {
|
|
|
- if (this.id){
|
|
|
+ if (this.id) {
|
|
|
this.refreshData(this.id)
|
|
|
}
|
|
|
+ if (this.detailData.check) {
|
|
|
+ this.checkDisabled = true
|
|
|
+ this.batchNo = this.detailData.check.batchNo
|
|
|
+ }
|
|
|
},
|
|
|
- methods:{
|
|
|
- backToList(){
|
|
|
+ methods: {
|
|
|
+ edit(row){
|
|
|
+ if (row.$cellEdit){
|
|
|
+ this.$set(row,'$cellEdit',false)
|
|
|
+ }else {
|
|
|
+ this.$set(row,'$cellEdit',true)
|
|
|
+ }
|
|
|
+ },
|
|
|
+ rowDel(row, index, type) {
|
|
|
+ this.$confirm('是否确认删除?', '提示', {
|
|
|
+ confirmButtonText: '确定',
|
|
|
+ cancelButtonText: '取消',
|
|
|
+ type: 'warning'
|
|
|
+ }).then(() => {
|
|
|
+ if (type === 'box') {
|
|
|
+ if (row.id) {
|
|
|
+ boxDelete({id: row.id}).then(res => {
|
|
|
+ this.dataListBox.splice(index, 1);
|
|
|
+ this.$message({
|
|
|
+ type: 'success',
|
|
|
+ message: '删除成功!'
|
|
|
+ });
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ this.dataListBox.splice(index, 1);
|
|
|
+ this.$message({
|
|
|
+ type: 'success',
|
|
|
+ message: '删除成功!'
|
|
|
+ });
|
|
|
+ }
|
|
|
+ } else if (type === 'agent') {
|
|
|
+ if (row.id) {
|
|
|
+ agentDelete({id: row.id}).then(res => {
|
|
|
+ this.dataListAgent.splice(index, 1);
|
|
|
+ this.$message({
|
|
|
+ type: 'success',
|
|
|
+ message: '删除成功!'
|
|
|
+ });
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ this.dataListAgent.splice(index, 1);
|
|
|
+ this.$message({
|
|
|
+ type: 'success',
|
|
|
+ message: '删除成功!'
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }).catch(() => {
|
|
|
+ this.$message({
|
|
|
+ type: 'info',
|
|
|
+ message: '已取消'
|
|
|
+ });
|
|
|
+ });
|
|
|
+ },
|
|
|
+ backToList() {
|
|
|
+ this.$router.push({
|
|
|
+ path: '/bidingDocument/issueTender/index'
|
|
|
+ });
|
|
|
this.$emit('backToList', false)
|
|
|
},
|
|
|
- storage(){
|
|
|
+ // 确认中标
|
|
|
+ winningTheBid(row,index){
|
|
|
+ this.$confirm('是否确认中标?', '提示', {
|
|
|
+ confirmButtonText: '确定',
|
|
|
+ cancelButtonText: '取消',
|
|
|
+ type: 'warning'
|
|
|
+ }).then(() => {
|
|
|
+ confirmWinningTheBid({id:row.id}).then(res=>{
|
|
|
+ this.$message({
|
|
|
+ type: 'success',
|
|
|
+ message: '作废成功!'
|
|
|
+ });
|
|
|
+ })
|
|
|
+ }).catch(() => {
|
|
|
+ this.$message({
|
|
|
+ type: 'info',
|
|
|
+ message: '已取消'
|
|
|
+ });
|
|
|
+ });
|
|
|
+ },
|
|
|
+ // 请核
|
|
|
+ pleaseCheck(){
|
|
|
+ this.$confirm('是否确认请核?', '提示', {
|
|
|
+ confirmButtonText: '确定',
|
|
|
+ cancelButtonText: '取消',
|
|
|
+ type: 'warning'
|
|
|
+ }).then(() => {
|
|
|
+ let form = {
|
|
|
+ ...this.form,
|
|
|
+ itemsList: this.dataListBox,
|
|
|
+ agentList: this.dataListAgent,
|
|
|
+ contrastList: this.dataListBid
|
|
|
+ }
|
|
|
+ this.fullscreenLoading = true
|
|
|
+ saveSaveList(form).then(res => {
|
|
|
+ const data = {
|
|
|
+ id: res.data.data.id,
|
|
|
+ url: '/bidingDocument/issueTender/index',
|
|
|
+ pageStatus: "this.$store.getters.entranceXsStatus"
|
|
|
+ }
|
|
|
+ confirmPleaseCheck(data).then(res=>{
|
|
|
+ this.fullscreenLoading = false
|
|
|
+ this.$message({
|
|
|
+ type: 'success',
|
|
|
+ message: '请核成功!'
|
|
|
+ });
|
|
|
+ })
|
|
|
+ }).finally(() => {
|
|
|
+ this.fullscreenLoading = false
|
|
|
+ })
|
|
|
+ }).catch(() => {
|
|
|
+ this.$message({
|
|
|
+ type: 'info',
|
|
|
+ message: '已取消'
|
|
|
+ });
|
|
|
+ });
|
|
|
+ },
|
|
|
+ // 作废
|
|
|
+ toVoid(){
|
|
|
+ this.$confirm('是否确认作废?', '提示', {
|
|
|
+ confirmButtonText: '确定',
|
|
|
+ cancelButtonText: '取消',
|
|
|
+ type: 'warning'
|
|
|
+ }).then(() => {
|
|
|
+ confirmVoid({id:this.form.id}).then(res=>{
|
|
|
+ this.$message({
|
|
|
+ type: 'success',
|
|
|
+ message: '作废成功!'
|
|
|
+ });
|
|
|
+ })
|
|
|
+ }).catch(() => {
|
|
|
+ this.$message({
|
|
|
+ type: 'info',
|
|
|
+ message: '已取消'
|
|
|
+ });
|
|
|
+ });
|
|
|
+ },
|
|
|
+ // 发布
|
|
|
+ release(){
|
|
|
+ this.$confirm('是否确认发布?', '提示', {
|
|
|
+ confirmButtonText: '确定',
|
|
|
+ cancelButtonText: '取消',
|
|
|
+ type: 'warning'
|
|
|
+ }).then(() => {
|
|
|
+ confirmRelease({id:this.form.id}).then(res=>{
|
|
|
+ this.$message({
|
|
|
+ type: 'success',
|
|
|
+ message: '发布成功!'
|
|
|
+ });
|
|
|
+ })
|
|
|
+ }).catch(() => {
|
|
|
+ this.$message({
|
|
|
+ type: 'info',
|
|
|
+ message: '已取消'
|
|
|
+ });
|
|
|
+ });
|
|
|
+ },
|
|
|
+ // 保存
|
|
|
+ storage() {
|
|
|
let form = {
|
|
|
...this.form,
|
|
|
- itemsList:this.dataListBox,
|
|
|
- agentList:this.dataListAgent,
|
|
|
- contrastList:this.dataListBid
|
|
|
+ itemsList: this.dataListBox,
|
|
|
+ agentList: this.dataListAgent,
|
|
|
+ contrastList: this.dataListBid
|
|
|
}
|
|
|
- // this.loading = true;
|
|
|
- saveSaveList(form).then(res=>{
|
|
|
- console.log(res)
|
|
|
+ this.fullscreenLoading = true
|
|
|
+ saveSaveList(form).then(res => {
|
|
|
this.refreshData(res.data.data.id)
|
|
|
+ }).finally(() => {
|
|
|
+ this.fullscreenLoading = false
|
|
|
})
|
|
|
},
|
|
|
- refreshData(id){
|
|
|
+ refreshData(id) {
|
|
|
let ids = ''
|
|
|
if (id) {
|
|
|
ids = id
|
|
@@ -350,7 +696,7 @@ export default {
|
|
|
ids = this.form.id
|
|
|
}
|
|
|
this.fullscreenLoading = true
|
|
|
- detailDelegationList({id: ids}).then(res=>{
|
|
|
+ detailDelegationList({id: ids}).then(res => {
|
|
|
this.form = res.data.data
|
|
|
this.dataListBox = this.form.itemsList
|
|
|
this.dataListAgent = this.form.agentList
|