Kaynağa Gözat

Merge branch 'dev' of http://git.echepei.com/caojunjie/Smart_platform_ui into dev

qukaidi 2 yıl önce
ebeveyn
işleme
b500faa6ec

+ 49 - 0
src/api/bidingDocument/issueTender.js

@@ -32,3 +32,52 @@ export function removeDelegationList(data) {
         data: data
     })
 }
+
+//箱明细信息删除
+export function boxDelete(data) {
+    return request({
+        url: '/api/blade-purchase-sales/bidingItems/update',
+        method: 'post',
+        data: data
+    })
+}
+//代理信息删除
+export function agentDelete(data) {
+    return request({
+        url: '/api/blade-purchase-sales/bidingAgent/update',
+        method: 'post',
+        data: data
+    })
+}
+//发布
+export function confirmRelease(data) {
+    return request({
+        url: '/api/blade-purchase-sales/exportBiding/release',
+        method: 'post',
+        data: data
+    })
+}
+//作废
+export function confirmVoid(data) {
+    return request({
+        url: '/api/blade-purchase-sales/exportBiding/invalid',
+        method: 'post',
+        data: data
+    })
+}
+//请核
+export function confirmPleaseCheck(data) {
+    return request({
+        url: '/api/blade-purchase-sales/exportBiding/checkBiding',
+        method: 'post',
+        data: data
+    })
+}
+//确认中标
+export function confirmWinningTheBid(data) {
+    return request({
+        url: '/api/blade-purchase-sales/bidingItems/winningTheBid',
+        method: 'post',
+        data: data
+    })
+}

+ 527 - 181
src/views/bidingDocument/issueTender/detailsPageEdit.vue

@@ -12,6 +12,11 @@
       </div>
       <div>
         <div class="el-button&#45;&#45;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

+ 162 - 4
src/views/bidingDocument/issueTender/index.vue

@@ -1,11 +1,19 @@
 <template>
   <div>
     <basic-container v-show="!show">
+      <el-input
+          type="textarea"
+          autosize
+          placeholder="请输入内容"
+          v-model="JSON.stringify(option)">
+      </el-input>
       <avue-crud
           :option="option"
           :data="dataList"
           :page.sync="page"
           :table-loading="loading"
+          @refresh-change="refreshChange"
+          @search-change="searchChange"
           @on-load="onLoad">
         <template slot-scope="scope" slot="menuLeft">
           <el-button type="primary"
@@ -15,11 +23,11 @@
         </template>
         <template slot-scope="{type,size,row,index}" slot="menu">
           <el-button icon="el-icon-view" :size="size" :type="type" @click.stop="rowCell(row,index)">查看</el-button>
-          <el-button icon="el-icon-delete" :size="size" :type="type" @click.stop="rowDel(row)">删除</el-button>
+          <el-button icon="el-icon-delete" :size="size" :type="type" v-if="row.status === 0" @click.stop="rowDel(row)">删除</el-button>
         </template>
       </avue-crud>
     </basic-container>
-    <details-page-edit v-if="show" @backToList="backToList" :id="id"></details-page-edit>
+    <details-page-edit v-if="show" @backToList="backToList" :detailData="detailData" :id="id"></details-page-edit>
   </div>
 </template>
 
@@ -38,7 +46,9 @@ export default {
         total: 0,
         pageSizes: [10, 50, 100, 200, 300]
       },
+      query:{},
       dataList:[],
+      detailData: {},
       loading:false,
       show:false,
       id:'',
@@ -46,16 +56,133 @@ export default {
         addBtn:false,
         editBtn:false,
         delBtn:false,
+        align: 'center',
+        index: true,
+        border: true,
+        stripe: true,
+        searchMenuPosition:"right",
+        searchSpan: 8,
+        searchIcon: true,
+        searchIndex: 2,
+        highlightCurrentRow: true,
+        selection: true,
+        height: "auto",
+        column: [{
+          label: '发布日期',
+          prop: 'releaseTime',
+          search: true,
+          overHidden: true,
+          type: "date",
+          searchRange: true,
+          defaultTime: ['00:00:00', '23:59:59'],
+          format: "yyyy-MM-dd HH:mm",
+          valueFormat: "yyyy-MM-dd HH:mm:ss",
+          width:150,
+          index:1,
+        },{
+          label: '截止日期',
+          prop: 'deadlineTime',
+          overHidden: true,
+          search: true,
+          type: "date",
+          searchRange: true,
+          defaultTime: ['00:00:00', '23:59:59'],
+          format: "yyyy-MM-dd HH:mm",
+          valueFormat: "yyyy-MM-dd HH:mm:ss",
+          width:150,
+          index:2,
+        },{
+          label: '起运港',
+          prop: 'departureHarbor',
+          overHidden: true,
+          width:120,
+          index:3,
+        },{
+          label: '目的港',
+          prop: 'objectiveHarbor',
+          overHidden: true,
+          width:120,
+          index:4,
+        },{
+          label: '箱型箱量',
+          prop: 'boxTypeQuantity',
+          overHidden: true,
+          width:120,
+          index:5,
+        },{
+          label: '装柜日期',
+          prop: 'loadingTime',
+          overHidden: true,
+          search: true,
+          type: "date",
+          searchRange: true,
+          defaultTime: ['00:00:00', '23:59:59'],
+          format: "yyyy-MM-dd HH:mm",
+          valueFormat: "yyyy-MM-dd HH:mm:ss",
+          width:150,
+          index:6,
+        },{
+          label: '货物信息',
+          prop: 'cargoInformation',
+          overHidden: true,
+          width:120,
+          index:7,
+        },{
+          label: '制单日期',
+          prop: 'createTime',
+          search: true,
+          overHidden: true,
+          type: "date",
+          searchRange: true,
+          defaultTime: ['00:00:00', '23:59:59'],
+          format: "yyyy-MM-dd HH:mm",
+          valueFormat: "yyyy-MM-dd HH:mm:ss",
+          width:150,
+          index:8,
+        }, {
+          label: '状态',
+          disabled:true,
+          prop: 'status',
+          dataType: "string",
+          type: 'select',
+          dicUrl: "/api/blade-system/dict-biz/dictionary?code=main_bid_status",
+          props: {
+            label: "dictValue",
+            value: "dictKey"
+          },
+          width:100,
+          index:9,
+        }]
       }
     }
   },
+  created() {
+    if (this.$route.query.check){
+      this.detailData = {
+        id: this.$route.query.check.billId,
+        check: this.$route.query.check,
+        auditId: this.$route.query.check.id
+      };
+      this.id = this.$route.query.check.billId
+      this.show = true
+      this.$router.$avueRouter.closeTag(window.location.hash.slice(1))
+    }else {
+      this.detailData = {}
+    }
+    let i = 0;
+    if (i % 3 !== 0) {
+      const num = 3 - Number(i % 3)
+      this.option.searchMenuSpan = num * 8;
+      this.option.searchMenuPosition = "right";
+    }
+  },
   methods:{
     rowSave(){
       this.show = true
     },
     backToList(args){
       this.show = false
-      console.log(args)
+      this.id = ''
     },
     //查看
     rowCell(row, index) {
@@ -80,11 +207,42 @@ export default {
         });
       });
     },
+    //刷新按钮
+    refreshChange(){
+      this.onLoad(this.page)
+    },
+    //搜索
+    searchChange(params, done) {
+      let data = params
+      if (params.releaseTime) {
+        data.releaseBeginTime = params.releaseTime[0]
+        data.releaseEndTime = params.releaseTime[1]
+      }
+      if (params.deadlineTime) {
+        data.deadlineBeginTime = params.deadlineTime[0]
+        data.deadlineEndTime = params.deadlineTime[1]
+      }
+      if (params.loadingTime) {
+        data.loadingBeginTime = params.loadingTime[0]
+        data.loadingEndTime = params.loadingTime[1]
+      }
+      if (params.createTime) {
+        data.createBeginTime = params.createTime[0]
+        data.createEndTime = params.createTime[1]
+      }
+      delete data.releaseTime
+      delete data.deadlineTime
+      delete data.loadingTime
+      delete data.createTime
+      this.query = data;
+      this.onLoad(this.page, data)
+      done();
+    },
     onLoad(page, params = {}) {
       let queryParams = {
         size: page.pageSize,
         current: page.currentPage,
-        // ...Object.assign(params, this.query)
+        ...Object.assign(params, this.query)
       }
       this.loading = true;
       selectInvoiceList(queryParams).then(res=>{

+ 1 - 1
src/views/landTransportation/bulkCargo/index.vue

@@ -400,7 +400,7 @@ export default {
         delBtn: false,
         height: "auto",
         searchSpan: 8,
-        searchIcon: true,
+        searchIcon: false,
         searchIndex: 2,
         selection: true,
         highlightCurrentRow: true,

+ 4 - 4
src/views/landTransportation/dispatchingCars/index.vue

@@ -131,7 +131,9 @@ export default {
       id: '',
       show: true,
       loading: false,
-      query: {},
+      query: {
+        arrivalTime: [defaultDate(4)[0] + ' 00:00:00',defaultDate(4)[1] + ' 23:59:59']
+      },
       key: 0,
       dataList: [],
       totalData: {},
@@ -313,9 +315,6 @@ export default {
   },
   async created() {
     this.option = await this.getColumnData(this.getColumnName(86), this.optionList);
-    this.query = {
-      arrivalTime: [defaultDate(4)[0] + ' 00:00:00',defaultDate(4)[1] + ' 23:59:59']
-    }
     this.key++
     let i = 0;
     this.option.column.forEach(item => {
@@ -402,6 +401,7 @@ export default {
       })
       this.loading = true;
       selectInvoiceList(queryParams).then(res => {
+        console.log(res.data.data.records)
         this.dataList = res.data.data.records
         this.page.total = res.data.data.total
         this.option.height = window.innerHeight - 350;

+ 1 - 4
src/views/landTransportation/driver/index.vue

@@ -189,7 +189,7 @@ export default {
       key:0,
       form: {},
       orderList:[],
-      query:{},
+      query:{arrivalTime: [defaultDate(4)[0] + ' 00:00:00',defaultDate(4)[1] + ' 23:59:59']},
       dialogVisible: false,
       loadingTwo: false,
       loading: false,
@@ -576,9 +576,6 @@ export default {
   },
   async created() {
     this.goodsOptionCrud = await this.getColumnData(this.getColumnName(88), this.optionList);
-    this.query = {
-      arrivalTime: [defaultDate(4)[0] + ' 00:00:00',defaultDate(4)[1] + ' 23:59:59']
-    }
     this.key++
     let i = 0;
     this.goodsOptionCrud.column.forEach(item => {

+ 5 - 3
src/views/landTransportation/motorcadeDriver/index.vue

@@ -405,6 +405,7 @@ export default {
           overHidden: true,
           type: "date",
           searchRange: true,
+          clearable:false,
           defaultTime: ['00:00:00', '23:59:59'],
           format: "yyyy-MM-dd HH:mm",
           valueFormat: "yyyy-MM-dd HH:mm:ss",
@@ -473,7 +474,7 @@ export default {
             showColumn: false,
             filterable: true,
             type: 'select',
-            cascader: ['plateNo'],
+            cascader: ['plateNo','driverId'],
             overHidden: true,
             prop: 'fleetId',
             dicUrl: "/api/blade-client/corpsdesc/fleetList",
@@ -510,10 +511,11 @@ export default {
             index: 9,
             prop: 'driverId',
             type: "select",
-            dicUrl: "/api/blade-client/land-driver/driver-list?plateNo={{key}}",
+            dicUrl: `/api/blade-client/land-driver/driver-list?plateNo={{key}}&fleetId=${ `{{fleetId}}` ? `{{fleetId}}` : '' }`,
             props: {
               label: "name",
-              value: "id"
+              value: "id",
+              res: "res.data"
             }
           }, {
             label: '电话',