Parcourir la source

全网商机获取:招投标查询BUG修改
全网商机获取:标讯订阅规则BUG修改

youchen il y a 1 an
Parent
commit
188588a0a8

+ 9 - 0
src/api/business/bid/biding.js

@@ -15,3 +15,12 @@ export function cityQuery() {
     method: 'get',
   })
 }
+
+export function QueryById(id) {
+  return request({
+    url: `/mk/bid/biding/queryById/${id}`,
+    method: 'get',
+  })
+}
+
+

+ 15 - 3
src/api/business/bid/subscriptionRules.js

@@ -37,7 +37,6 @@ export function queryById(url) {
   return request({
     url: `/mk/bid/subscriptionRule/queryById/${url}`,
     method: 'get',
-    // params: param
   })
 }
 
@@ -55,13 +54,26 @@ export function provinceQuery() {
   })
 }
 
-export function getUserList() {
+export function getUserByNickName(name) {
   return request({
-    url: `/system/user/list`,
+    url: `/mk/bid/subscriptionRule/getUserByNickName/${name}`,
     method: 'get',
   })
 }
 
+export function getZhaoBiaoUnitList(unitName) {
+  return request({
+    url: `/mk/bid/subscriptionRule/getZhaoBiaoUnitList/${unitName}`,
+    method: 'get',
+  })
+}
+
+export function getCustomerList(customer) {
+  return request({
+    url: `/mk/bid/subscriptionRule/getCustomerList/${customer}`,
+    method: 'get',
+  })
+}
 
 
 

+ 101 - 33
src/views/business/bid/detail/bidingInfoDetail.vue

@@ -2,39 +2,89 @@
 <div class="bidingInfoDetailMenu">
   <h1>招投标公告详情</h1>
   <el-descriptions class="margin-top" title="公告基本信息" :column="2"  border>
-    <el-descriptions-item label="标题" :span="2">{{this.areaObj.infoTitle}}</el-descriptions-item>
+    <el-descriptions-item label="标题" :span="2">{{this.dataList.infoTitle}}</el-descriptions-item>
     <el-descriptions-item label="一级公告类型" >
-      {{getChangeType(this.areaObj.infoType)}}<!--调用getChangeType方法-->
+      {{getChangeType(this.dataList.infoType)}}<!--调用getChangeType方法-->
     </el-descriptions-item>
     <el-descriptions-item label="二级公告类型" >
-      {{getChangeType1(this.areaObj.infoTypeSegment)}}
+      {{getChangeType1(this.dataList.infoTypeSegment)}}
     </el-descriptions-item>
     <el-descriptions-item label="项目所属地区" >
-      {{this.areaObj.areaProvince+this.areaObj.areaCity}}
+      {{this.dataList.areaProvince+this.dataList.areaCity+this.dataList.areaCountry}}
     </el-descriptions-item>
-    <el-descriptions-item label="项目名称" >{{this.areaObj.infoTitle}}</el-descriptions-item>
-    <el-descriptions-item label="招标方式" >{{getChangeType2(this.areaObj.biddingType)}}</el-descriptions-item>
-    <el-descriptions-item label="招标预算" >{{this.areaObj.bidWinnerAmount}}</el-descriptions-item>
-    <el-descriptions-item label="发布时间" >{{this.areaObj.infoPublishTime}}</el-descriptions-item>
-    <el-descriptions-item label="投标开始至截止日期" >{{this.areaObj.tenderBeginTime}}至{{this.areaObj.tenderEndTime}}</el-descriptions-item>
-    <el-descriptions-item label="标书开始至截止日期" >{{this.areaObj.bidingAcquireTime}}至{{this.areaObj.bidingEndTime}}</el-descriptions-item>
-    <el-descriptions-item label="招标公司类型" >医院</el-descriptions-item>
-    <el-descriptions-item label="招标状态" >投标已截止</el-descriptions-item>
+    <el-descriptions-item label="项目名称" >{{this.dataList.infoTitle}}</el-descriptions-item>
+    <el-descriptions-item label="招标方式" >{{getChangeType2(this.dataList.biddingType)}}</el-descriptions-item>
+    <el-descriptions-item label="招标预算" >{{this.dataList.bidWinnerAmount}}</el-descriptions-item>
+    <el-descriptions-item label="发布时间" >{{this.dataList.infoPublishTime}}</el-descriptions-item>
+    <el-descriptions-item label="投标开始至截止日期" >{{this.dataList.tenderBeginTime}}至{{this.dataList.tenderEndTime}}</el-descriptions-item>
+    <el-descriptions-item label="标书开始至截止日期" >{{this.dataList.bidingAcquireTime}}至{{this.dataList.bidingEndTime}}</el-descriptions-item>
+    <el-descriptions-item label="招标公司类型" ></el-descriptions-item>
+<!--    <el-descriptions-item label="招标状态" >{{YMDHMS_daxiao(this.areaObj.tenderEndTime) > 0 ? "未截止":"已截止"}}</el-descriptions-item>-->
+    <el-descriptions-item label="招标状态" ></el-descriptions-item>
   </el-descriptions>
   <el-descriptions class="margin-top" title="公告主题信息" :column="2"  border>
-    <el-descriptions-item label="招标单位" >{{this.areaObj.zhaoBiaoUnitTempDtos[0].zhaoBiaoUnit}}</el-descriptions-item>
-    <el-descriptions-item label="招标单位联系人">{{this.areaObj.zhaoBiaoUnitTempDtos[0].zhaoRelationName}}</el-descriptions-item>
-    <el-descriptions-item label="代理单位" >{{this.areaObj.zhaoBiaoUnitTempDtos[0].agentUnit}}</el-descriptions-item>
-    <el-descriptions-item label="代理采购单位" >{{this.areaObj.zhaoBiaoUnitTempDtos[0].agentRelationName}}</el-descriptions-item>
-    <el-descriptions-item label="代理采购单位联系人" ></el-descriptions-item>
-    <el-descriptions-item label="代理采购单位联系方式" ></el-descriptions-item>
+    <el-descriptions-item label="招标单位" >{{this.dataList.zhaoBiaoUnitTempDtos[0].zhaoBiaoUnit}}</el-descriptions-item>
+    <el-descriptions-item label="招标单位联系人">{{this.dataList.zhaoBiaoUnitTempDtos[0].zhaoRelationName}}</el-descriptions-item>
+    <el-descriptions-item label="招标单位联系电话">{{this.dataList.zhaoBiaoUnitTempDtos[0].zhaoRelationWay}}</el-descriptions-item>
+    <el-descriptions-item label="代理单位" >{{this.dataList.agentUnitTempDtos.length == 0 ?  null: this.dataList.agentUnitTempDtos[0].agentUnit}}</el-descriptions-item>
+    <el-descriptions-item label="代理采购单位" >{{this.dataList.agentUnitTempDtos.length == 0 ?  null: this.dataList.agentUnitTempDtos[0].agentUnit}}</el-descriptions-item>
+    <el-descriptions-item label="代理采购单位联系人" >{{this.dataList.agentUnitTempDtos.length == 0 ?  null: this.dataList.agentUnitTempDtos[0].agentRelationName}}</el-descriptions-item>
+    <el-descriptions-item label="代理采购单位联系方式" >{{this.dataList.agentUnitTempDtos.length == 0 ?  null: this.dataList.agentUnitTempDtos[0].agentRelationName}}</el-descriptions-item>
     <el-descriptions-item label="联系地址" ></el-descriptions-item>
+    <el-descriptions-item label="中标单位" >{{this.dataList.zhongBiaoUnitTempDtos.length == 0 ?  null: this.dataList.zhongBiaoUnitTempDtos[0].zhongBiaoUnit}}</el-descriptions-item>
+    <el-descriptions-item label="中标单位联系人" >{{this.dataList.zhongBiaoUnitTempDtos.length == 0 ?  null: this.dataList.zhongBiaoUnitTempDtos[0].zhongRelationName}}</el-descriptions-item>
+    <el-descriptions-item label="中标单位联系人电话" >{{this.dataList.zhongBiaoUnitTempDtos.length == 0 ?  null: this.dataList.zhongBiaoUnitTempDtos[0].zhongRelationWay}}</el-descriptions-item>
   </el-descriptions>
-  <el-descriptions class="margin-top" title="产品信息" :column="2"  border>
-    <el-descriptions-item label="产品" :span="2">{{this.areaObj.infoTitle}}</el-descriptions-item>
+  <el-descriptions class="margin-top" title="产品信息" :column="5"  border>
+    <el-descriptions-item label="产品" :span="5">
+      <el-table
+        :data="this.dataList.targetList"
+        style="width: 100%" :header-cell-style="{'text-align':'center'}">
+        <el-table-column
+          prop="packetId"
+          label="包号"
+          width="180">
+        </el-table-column>
+        <el-table-column
+          prop="packetName"
+          label="包名"
+          width="180">
+        </el-table-column>
+        <el-table-column
+          prop="name"
+          label="标的物名称"
+          width="180">
+        </el-table-column>
+        <el-table-column
+          prop="brand"
+          label="品牌"
+          width="180">
+        </el-table-column>
+        <el-table-column
+          prop="model"
+          label="型号"
+          width="180">
+        </el-table-column>
+        <el-table-column
+          prop="number"
+          label="数量"
+          width="180">
+        </el-table-column>
+        <el-table-column
+          prop="price"
+          label="单价"
+          width="180">
+        </el-table-column>
+        <el-table-column
+          prop="totalPrice"
+          label="总价"
+          width="180">
+        </el-table-column>
+      </el-table>
+    </el-descriptions-item>
     <el-descriptions-item label="附件">
-      <a :href="this.areaObj.infoFileUrl" target="_blank" class="buttonText" style="color: #00afff">
-        {{ this.areaObj.infoFileName}}</a>
+      <a :href="this.dataList.infoFileUrl" target="_blank" class="buttonText" style="color: #00afff">
+        {{ this.dataList.infoFileName}}</a>
     </el-descriptions-item>
   </el-descriptions>
   <el-descriptions class="margin-top" title="公告详情信息"  border>
@@ -44,11 +94,13 @@
 </div>
 </template>
 <script>
-import {getUser} from "@/api/business/bid/subscriptionRules";
+
+import {QueryById} from "@/api/business/bid/biding";
 
 export default {
   data() {
     return {
+      dataList:{},
       areaObj:'',
       bidType: [
         {
@@ -140,19 +192,35 @@ export default {
   },
   created() {
     //如果路由参数存在
-    if (this.$route.query) {
-      this.areaObj = this.$route.query;
-      this.areaObj.map((v) => {
-        const ins = JSON.parse(v.infoNewFile)
-        if (ins.length) {
-          v.infoFileName = ins[0].infoFileName
-          v.infoFileUrl = ins[0].infoFileUrl
-        }
-      })
+    // if (this.$route.query) {
+    //   this.areaObj = this.$route.query;
+    //   console.log("this.areaObj",this.areaObj)
+    //   this.areaObj.map((v) => {
+    //     const ins = JSON.parse(v.infoNewFile)
+    //     if (ins.length) {
+    //       v.infoFileName = ins[0].infoFileName
+    //       v.infoFileUrl = ins[0].infoFileUrl
+    //     }
+    //   })
+    // }
+    if(this.$route.query.id){
+      this.$route.query
+      this.getDetail(this.$route.query.id)
     }
+
+
   },
   methods:{
-
+    getDetail(val){
+      QueryById(val).then(res =>{
+        this.dataList=res.data
+      })
+    },
+    // YMDHMS_daxiao(str1) {
+    //   str1 = new Date(str1).getTime();
+    //   // 小于0则str1时间小,大于0则str1时间大
+    //   return str1 - new Date().getTime();
+    // },
     returnPage(){
       this.$router.go(-1)
     },

+ 65 - 56
src/views/business/bid/index/biding.vue

@@ -1,9 +1,9 @@
 <template>
   <div class="bidingInfoMenu">
-    <el-form ref="form" :model="form" :inline="true" >
+    <el-form ref="form" :model="form" :inline="true" label-width="130px" style="width: 100%">
       <el-row :gutter="24" style="height: 58px">
         <el-col :span="2">
-          <el-select v-model="queryParams.selectFull" placeholder="请选择" @clear="reset" clearable >
+          <el-select v-model="queryParams.selectFull" placeholder="请选择" clearable >
             <el-option
               v-for="item in selectOptions"
               :key="item.value"
@@ -14,7 +14,7 @@
           </el-select>
         </el-col>
         <el-col :span="6">
-          <el-input v-model="queryParams.input" placeholder="请输入内容" @clear="reset" clearable></el-input>
+          <el-input v-model="queryParams.input" placeholder="请输入内容" clearable></el-input>
         </el-col>
         <el-col :span="2">
           <el-button type="primary" size="small" @click="btnQuery" icon="el-icon-search">搜索</el-button>
@@ -30,7 +30,7 @@
         <el-row :gutter="24">
           <el-col :span="8">
             <el-form-item label="项目所属城市">
-              <el-select v-model="queryParams.city" placeholder="请选择" @clear="reset" clearable>
+              <el-select v-model="queryParams.city" placeholder="请选择" clearable>
                 <el-option
                   v-for="item in cityOptions"
                   :key="item.value"
@@ -50,8 +50,7 @@
                 value-format="yyyy-MM-dd"
                 start-placeholder="开始日期"
                 end-placeholder="结束日期"
-                clearable
-                @change="handleInputClear(queryParams.releasedTime)">
+                clearable>
               </el-date-picker>
             </el-form-item>
           </el-col>
@@ -63,7 +62,7 @@
                 format="yyyy 年 MM 月 dd 日"
                 value-format="yyyy-MM-dd"
                 placeholder="选择日期"
-                clearable @change="handleInputClear">
+                clearable >
               </el-date-picker>
             </el-form-item>
           </el-col>
@@ -77,23 +76,27 @@
                 format="yyyy 年 MM 月 dd 日"
                 value-format="yyyy-MM-dd"
                 placeholder="选择日期"
-                @change="handleInputClear"
                 clearable>
               </el-date-picker>
             </el-form-item>
           </el-col>
           <el-col :span="8">
             <el-form-item label="招标单位">
-              <el-input v-model="queryParams.zhaoBiaoUnit" placeholder="请输入内容" @clear="reset" clearable ></el-input>
+              <el-input v-model="queryParams.zhaoBiaoUnit" placeholder="请输入内容"  clearable ></el-input>
             </el-form-item>
           </el-col>
           <el-col :span="8">
             <el-form-item label="中标单位">
-              <el-input v-model="queryParams.zhongBiaoUnit" placeholder="请输入内容" @clear="reset" clearable></el-input>
+              <el-input v-model="queryParams.zhongBiaoUnit" placeholder="请输入内容" clearable></el-input>
             </el-form-item>
           </el-col>
         </el-row>
         <el-row :gutter="24">
+          <el-col :span="8">
+            <el-form-item label="排除词" >
+              <el-input v-model="queryParams.excludeWord" placeholder="排除词"  clearable ></el-input>
+            </el-form-item>
+          </el-col>
           <el-col :span="6">
             <el-form-item label="金额区间" >
               <el-input v-model="queryParams.minPrice" placeholder="最小值"  clearable></el-input>
@@ -104,9 +107,10 @@
           </el-col>
           <el-col :span="6">
             <el-form-item style="padding-left: 70px">
-              <el-input v-model="queryParams.maxPrice" placeholder="最大值" @clear="reset()" clearable ></el-input>
+              <el-input v-model="queryParams.maxPrice" placeholder="最大值"  clearable ></el-input>
             </el-form-item>
           </el-col>
+
         </el-row>
         <el-row>
           <el-form-item label="招标方式">
@@ -132,7 +136,7 @@
       <el-table-column prop="id" label="序号" width="80" align="center"></el-table-column>
       <el-table-column prop="infoTitle" label="标题" width="200" align="center">
         <template slot-scope="scope">
-          <p  @click="handleRouter(scope.row)">
+          <p  @click="handleRouter(scope.row.id)">
             <span>{{ scope.row.infoTitle }}</span>
           </p>
         </template>
@@ -221,7 +225,7 @@
         </template>
       </el-table-column>
       <el-table-column prop="address" label="操作" align="center">
-        <el-button type="primary" size="small" @click="">转商机</el-button>
+        <el-button type="primary" size="small" @click="goToBasic">转商机</el-button>
       </el-table-column>
     </el-table>
     <el-pagination
@@ -247,23 +251,38 @@ export default {
     this.getCity()
   },
   methods: {
-    handleInputClear(val) {
-      if (!val) {
-        this.reset()
-      }
+    goToBasic(){
+      this.$router.push({path:'/business/spd/bo/basic'});
+    },
+    handleInputClear() {
+      this.releasedStartTime=''
+      this.releasedEndTime=''
+      this.reset()
     },
     btnReset(){
     this.reset()
+    this.btnQuery()
     },
-    reset(val){
-      console.log(val)
-      if(val){
-        Object.assign(this.queryParams, this.$options.data().queryParams)
-        Object.assign(this.dataList, this.$options.data().dataList)
-      }else {
-        Object.assign(this.val, this.$options.data().val)
-      }
-
+    reset(){
+     this.queryParams={
+       pageNum: 1,
+       pageSize: 10,
+       releasedTime: [],
+       endTime: '',
+       getTime: '',
+       releasedStartTime: '',
+       releasedEndTime: '',
+       zhaoBiaoUnit: '',
+       zhongBiaoUnit: '',
+       minPrice: '',
+       maxPrice: '',
+       input: '',
+       selectFull: '1',
+       city: '',
+       bidType: [],
+       noticeType: [],
+       excludeWord:'',
+     }
     },
     getCity(){
       cityQuery().then(res => {
@@ -283,9 +302,13 @@ export default {
       this.btnQuery();
     },
     handleRouter(pramsData) {
-      let resolve = this.$router.push({path:'/business/bid/bidingInfo',query:pramsData});
+      let resolve = this.$router.push({path:'/business/bid/bidingInfo',query:{id:pramsData}});
     },
     btnQuery() {
+      if (this.queryParams.releasedTime && !this.queryParams.releasedTime.length) {
+        this.queryParams.releasedStartTime=''
+        this.queryParams.releasedEndTime=''
+      }
       this.getTime()
       getBidingInfo(this.queryParams).then(res => {
         if (res.code == 200) {
@@ -321,6 +344,7 @@ export default {
         }
       }
     },
+
   },
   data() {
     return {
@@ -342,10 +366,11 @@ export default {
         minPrice: '',
         maxPrice: '',
         input: '',
-        selectFull: '',
+        selectFull: '1',
         city: '',
         bidType: [],
         noticeType: [],
+        excludeWord:'',
       },
       form: {},
       bidType: [
@@ -354,24 +379,24 @@ export default {
           label: '公开招标'
         },
         {
-          value: '4',
-          label: '询比价'
+          value: '1',
+          label: '邀请招标'
         },
         {
           value: '2',
-          label: '竞'
+          label: '竞争性谈判或竞争性磋商'
         },
         {
-          value: '1',
-          label: '邀请招标'
+          value: '3',
+          label: '单一来源采购'
         },
         {
-          value: '3',
-          label: '定点采购'
+          value: '4',
+          label: '询价'
         },
         {
           value: '5',
-          label: '公开寻源'
+          label: '国务院政府采购监督管理部门认定的其他采购方式'
         },
         {
           value: '6',
@@ -380,36 +405,20 @@ export default {
       ],
       noticeType: [
         {
-          value: '1',
-          label: '采购意向'
-        },
-        {
           value: '2',
-          label: '招投标'
-        },
-        {
-          value: '3',
-          label: '招标'
-        },
-        {
-          value: '5',
-          label: '变更公告'
+          label: '招标预告'
         },
         {
           value: '10',
-          label: '中标候选人'
+          label: '候选人公示'
         },
         {
           value: '11',
-          label: '中标结果'
+          label: '中标通知'
         },
         {
           value: '12',
-          label: '合同'
-        },
-        {
-          value: '13',
-          label: '验收公告'
+          label: '合同公告'
         },
       ],
       selectOptions: [

+ 179 - 121
src/views/business/bid/rulesDetail/detail.vue

@@ -5,50 +5,66 @@
       <el-row :gutter="24">
         <el-col :span="8">
           <el-form-item label="编号" prop="xmNumber">
-            <el-input v-model="form.xmNumber" :disabled="true" clearable>{{this.areaObj.xmNumber}}</el-input>
+            <el-input v-model="form.xmNumber" :disabled="true" clearable></el-input>
           </el-form-item>
         </el-col>
         <el-col :span="8">
           <el-form-item label="规则名称" prop="subscriptionRulesName">
-            <el-input v-model="form.subscriptionRulesName">{{this.areaObj.subscriptionRulesName}}</el-input>
+            <el-input v-model="form.subscriptionRulesName" clearable></el-input>
           </el-form-item>
         </el-col>
 
         <el-col :span="8">
-          <el-form-item label="招标单位">
-            <el-input v-model="form.zhaoBiaoUnit">{{this.areaObj.zhaoBiaoUnit}}</el-input>
+          <el-form-item label="标讯推送人" prop="subscriptionPusher" >
+            <el-select
+            v-model="form.subscriptionPusher"
+            clearable
+            multiple
+            filterable
+            remote
+            reserve-keyword
+            placeholder="请输入关键词"
+            :remote-method="getUser"
+            style="width: 100%;">
+            <el-option
+              v-for="item in userList"
+              :key="item.userName"
+              :label="item.nickName"
+              :value="item.userName">
+            </el-option>
+            </el-select>
           </el-form-item>
         </el-col>
       </el-row>
       <el-row :gutter="24">
-        <el-col :span="8">
-          <el-form-item label="发布时间">
-            <el-date-picker
-              v-model="infoPublishTime"
-              type="datetimerange"
-              value-format="yyyy-MM-dd HH:mm:ss"
-              range-separator="至"
-              start-placeholder="开始月份"
-              end-placeholder="结束月份"
-              >
-            {{this.areaObj.infoPublishTime}}</el-date-picker>
-          </el-form-item>
-        </el-col>
+<!--        <el-col :span="8">-->
+<!--          <el-form-item label="发布时间">-->
+<!--            <el-date-picker-->
+<!--              v-model="infoPublishTime"-->
+<!--              type="datetimerange"-->
+<!--              value-format="yyyy-MM-dd HH:mm:ss"-->
+<!--              range-separator="至"-->
+<!--              start-placeholder="开始月份"-->
+<!--              end-placeholder="结束月份"-->
+<!--              >-->
+<!--            {{this.areaObj.infoPublishTime}}</el-date-picker>-->
+<!--          </el-form-item>-->
+<!--        </el-col>-->
         <el-col :span="8">
           <el-form-item label="项目所属省份" prop="areaProvince">
-            <el-select v-model="form.areaProvince"  placeholder="请选择" style="width: 100%;">
+            <el-select v-model="form.areaProvince"  placeholder="请选择" style="width: 100%;" clearable>
               <el-option
                 v-for="item in areaProvinceOptions"
                 :key="item.value"
                 :label="item.label"
                 :value="item.value">
-              </el-option>{{this.areaObj.areaProvince}}
+              </el-option>
             </el-select>
           </el-form-item>
         </el-col>
         <el-col :span="8">
           <el-form-item label="项目所属城市" prop="areaCity">
-            <el-select v-model="form.areaCity"  placeholder="请选择" style="width: 100%;">
+            <el-select v-model="form.areaCity"  placeholder="请选择" style="width: 100%;" clearable>
               <el-option
                 v-for="item in areaCityOptions"
                 :key="item.value"
@@ -58,97 +74,125 @@
             </el-select>
           </el-form-item>
         </el-col>
-      </el-row>
-      <el-row :gutter="24">
         <el-col :span="8">
           <el-form-item label="公告类型">
-            <el-select v-model="form.infoTypeSegment" multiple placeholder="请选择活动区域" style="width: 100%">
+            <el-select v-model="form.infoTypeSegment" multiple placeholder="请选择公告类型" style="width: 100%" clearable>
               <el-option
                 v-for="item in noticeType"
                 :key="item.value"
                 :label="item.label"
-                :value="item.value">
+                :value="item.value"
+                clearable >
               </el-option>
             </el-select>
           </el-form-item>
         </el-col>
-        <el-col :span="8">
-          <el-form-item label="获取标书截止日期">
-            <el-date-picker
-              type="datetime"
-              placeholder="选择日期"
-              value-format="yyyy-MM-dd HH:mm:ss"
-              v-model="form.bidingEndTime"
-              style="width: 100%;" >{{this.areaObj.bidingEndTime}}</el-date-picker>
-          </el-form-item>
-        </el-col>
-        <el-col :span="8">
-          <el-form-item label="投标截止日期">
-            <el-date-picker
-              type="datetime"
-              placeholder="选择日期"
-              value-format="yyyy-MM-dd HH:mm:ss"
-              v-model="form.tenderEndTime"
-              style="width: 100%;" >{{this.areaObj.tenderEndTime}}</el-date-picker>
-          </el-form-item>
-        </el-col>
+      </el-row>
+      <el-row :gutter="24">
+
+<!--        <el-col :span="8">-->
+<!--          <el-form-item label="获取标书截止日期">-->
+<!--            <el-date-picker-->
+<!--              type="datetime"-->
+<!--              placeholder="选择日期"-->
+<!--              value-format="yyyy-MM-dd HH:mm:ss"-->
+<!--              v-model="form.bidingEndTime"-->
+<!--              style="width: 100%;" >{{this.areaObj.bidingEndTime}}</el-date-picker>-->
+<!--          </el-form-item>-->
+<!--        </el-col>-->
+<!--        <el-col :span="8">-->
+<!--          <el-form-item label="投标截止日期">-->
+<!--            <el-date-picker-->
+<!--              type="datetime"-->
+<!--              placeholder="选择日期"-->
+<!--              value-format="yyyy-MM-dd HH:mm:ss"-->
+<!--              v-model="form.tenderEndTime"-->
+<!--              style="width: 100%;" >{{this.areaObj.tenderEndTime}}</el-date-picker>-->
+<!--          </el-form-item>-->
+<!--        </el-col>-->
       </el-row>
       <el-row :gutter="24">
         <el-col :span="8">
-          <el-form-item label="招标公司类型">
-            <el-select v-model="form.zhaoBiaoUnitType" multiple placeholder="请选择活动区域" style="width: 100%;">
-              <el-option
-                v-for="item in zhaoBiaoUnitType"
-                :key="item.value"
-                :label="item.label"
-                :value="item.value">
-              </el-option>
-            </el-select>
-          </el-form-item>
+<!--          <el-form-item label="招标公司类型">-->
+<!--            <el-select v-model="form.zhaoBiaoUnitType" multiple placeholder="请选择活动区域" style="width: 100%;">-->
+<!--              <el-option-->
+<!--                v-for="item in zhaoBiaoUnitType"-->
+<!--                :key="item.value"-->
+<!--                :label="item.label"-->
+<!--                :value="item.value">-->
+<!--              </el-option>-->
+<!--            </el-select>-->
+<!--          </el-form-item>-->
         </el-col>
         <el-col :span="8">
           <el-form-item label="招标方式" >
-            <el-select v-model="form.biddingType" multiple placeholder="请选择活动区域" style="width: 100%;">
+            <el-select v-model="form.biddingType" multiple placeholder="请选择活动区域" style="width: 100%;" clearable>
               <el-option
                 v-for="item in bidType"
                 :key="item.value"
                 :label="item.label"
-                :value="item.value">
+                :value="item.value"
+                clearable>
               </el-option>
             </el-select>
           </el-form-item>
         </el-col>
         <el-col :span="8">
-          <el-form-item label="标讯关键词" prop="bidingKeyword">
-            <el-input v-model="form.bidingKeyword">{{this.areaObj.bidingKeyword}}</el-input>
+          <el-form-item label="标讯关键词" prop="bidingKeyword" >
+            <el-input v-model="form.bidingKeyword" clearable>{{this.areaObj.bidingKeyword}}</el-input>
           </el-form-item>
         </el-col>
       </el-row>
       <el-row :gutter="24">
         <el-col :span="8">
           <el-form-item label="排除词">
-            <el-input v-model="form.excludeWord">{{this.areaObj.excludeWord}}</el-input>
+            <el-input v-model="form.excludeWord" clearable>{{this.areaObj.excludeWord}}</el-input>
           </el-form-item>
         </el-col>
         <el-col :span="7" >
-          <el-form-item label="企业名称匹配" prop="unitNameMatch">
-            <el-input v-model="form.unitNameMatch">{{this.areaObj.unitNameMatch}}</el-input>
+          <el-form-item label="企业名称匹配" >
+            <el-select
+              v-model="form.unitNameMatch"
+              clearable
+              multiple
+              filterable
+              remote
+              reserve-keyword
+              placeholder="请输入关键词"
+              :remote-method="getCustomer"
+              style="width: 100%;">
+              <el-option
+                v-for="item in customerList"
+                :key="item.name"
+                :label="item.name"
+                :value="item.name">
+              </el-option>
+            </el-select>
           </el-form-item>
 
         </el-col>
         <el-col :span="1">
-          <el-button type="primary" @click="returnPage">新增</el-button>
+          <el-button type="primary" @click="goCustomerPage">新增</el-button>
         </el-col>
         <el-col :span="8">
-          <el-form-item label="标讯推送人" prop="subscriptionPusher">
-            <el-select v-model="form.subscriptionPusher" multiple placeholder="请选择" style="width: 100%;">
-              <el-option
-                v-for="item in subscriptionPusher"
-                :key="item.userName"
-                :label="item.nickName"
-                :value="item.userName">
-              </el-option>
-            </el-select>
+          <el-form-item label="招标单位">
+              <el-select
+                v-model="form.zhaoBiaoUnit"
+                clearable
+                multiple
+                filterable
+                remote
+                reserve-keyword
+                placeholder="请输入关键词"
+                :remote-method="getUnit"
+                style="width: 100%;">
+                <el-option
+                  v-for="item in zhaoBiaoUnitList"
+                  :key="item.zhaoBiaoUnit"
+                  :label="item.zhaoBiaoUnit"
+                  :value="item.zhaoBiaoUnit">
+                </el-option>
+              </el-select>
           </el-form-item>
         </el-col>
       </el-row>
@@ -177,11 +221,29 @@
 </div>
 </template>
 <script>
-import {cityQuery, insert, provinceQuery, queryById, updateById,getUserList} from "@/api/business/bid/subscriptionRules";
+import {
+  cityQuery,
+  insert,
+  provinceQuery,
+  queryById,
+  updateById,
+  getZhaoBiaoUnitList,
+  getUserByNickName,
+  getCustomerList,
+} from "@/api/business/bid/subscriptionRules";
+import loading from "vxe-table/packages/loading";
 
 export default {
+  computed: {
+    loading() {
+      return loading
+    }
+  },
   data() {
     return {
+      customerList:[],
+      value:'',
+      zhaoBiaoUnitList:[],
       userList:[],
       infoPublishTime:[],
       areaProvinceOptions:[],
@@ -196,48 +258,22 @@ export default {
           label: '卫生所'
         },
       ],
-      subscriptionPusher:[
-        {
-          value: '1',
-          label: '张三'
-        },
-        {
-          value: '2',
-          label: '李四'
-        },
-      ],
       noticeType: [
         {
-          value: '1',
-          label: '采购意向'
-        },
-        {
           value: '2',
-          label: '招投标'
-        },
-        {
-          value: '3',
-          label: '招标'
-        },
-        {
-          value: '5',
-          label: '变更公告'
+          label: '招标预告'
         },
         {
           value: '10',
-          label: '中标候选人'
+          label: '候选人公示'
         },
         {
           value: '11',
-          label: '中标结果'
+          label: '中标通知'
         },
         {
           value: '12',
-          label: '合同'
-        },
-        {
-          value: '13',
-          label: '验收公告'
+          label: '合同公告'
         },
       ],
       bidType: [
@@ -246,24 +282,24 @@ export default {
           label: '公开招标'
         },
         {
-          value: '4',
-          label: '询比价'
+          value: '1',
+          label: '邀请招标'
         },
         {
           value: '2',
-          label: '竞'
+          label: '竞争性谈判或竞争性磋商'
         },
         {
-          value: '1',
-          label: '邀请招标'
+          value: '3',
+          label: '单一来源采购'
         },
         {
-          value: '3',
-          label: '定点采购'
+          value: '4',
+          label: '询价'
         },
         {
           value: '5',
-          label: '公开寻源'
+          label: '国务院政府采购监督管理部门认定的其他采购方式'
         },
         {
           value: '6',
@@ -302,8 +338,8 @@ export default {
         bidingKeyword:'',
         excludeWord:'',
         unitNameMatch:'',
-        zhaoBiaoUnit:'',
-        subscriptionPusher:[],
+        zhaoBiaoUnit:[],
+        subscriptionPusher:'',
         ruleDescription:'',
         stateFlag:'',
         infoPublishStartTime:'',
@@ -320,13 +356,13 @@ export default {
           { required: true, message: '请选择标讯关键词', trigger: 'blur' }
         ],
         unitNameMatch: [
-          { required: true, message: '请选择企业名称', trigger: 'change' }
+          { required: true, message: '请选择企业名称', trigger: 'blur' }
         ],
         areaProvince: [
           { required: true, message: '请选择项目所属省份', trigger: 'change' }
         ],
         subscriptionPusher: [
-          { required: true, message: '请选择标讯推送人', trigger: 'change' }
+          { required: true, message: '请选择标讯推送人', trigger: 'blur' }
         ],
       }
     }
@@ -339,15 +375,28 @@ export default {
     }
     this.getRuleCity()
     this.getRuleProvince()
-    this.getUser()
   },
   methods: {
-    getUser(){
-      getUserList().then(res =>{
-        this.subscriptionPusher=res.rows
-        console.log('this.user',this.subscriptionPusher)
+    goCustomerPage(){
+      this.$router.push({path:'/business/spd/customers/customers'});
+    },
+    getUnit(val){
+      getZhaoBiaoUnitList(val).then(res => {
+        this.zhaoBiaoUnitList=res.data
       })
     },
+    getCustomer(val){
+      getCustomerList(val).then(res => {
+        this.customerList=res.data
+      })
+    },
+    getUser(val){
+      if(val !== '' ){
+        getUserByNickName(val).then(res =>{
+          this.userList=res.data
+        })
+      }
+    },
     getRuleCity(){
       cityQuery().then(res =>{
         if (res.code == 200) {
@@ -369,7 +418,11 @@ export default {
     getDetail(id){
       queryById(id).then(res =>{
         this.form=res.data
-        this.infoPublishTime=[res.data.infoPublishStartTime,res.data.infoPublishEndTime]
+        this.form.infoTypeSegment=this.form.infoTypeSegment.split(',')
+        this.form.biddingType=this.form.biddingType.split(',')
+        this.form.zhaoBiaoUnit=this.form.zhaoBiaoUnit.split(',')
+        this.form.subscriptionPusher=this.form.subscriptionPusher.split(',')
+        this.form.unitNameMatch=this.form.unitNameMatch.split(',')
       })
     },
     cancel(){
@@ -407,11 +460,16 @@ export default {
               this.$router.go(-1)
             });
           } else {
-            console.log(this.infoPublishTime)
             if (this.infoPublishTime != "" && this.infoPublishTime != null) {
               this.form.infoPublishStartTime = this.infoPublishTime[0]
               this.form.infoPublishEndTime = this.infoPublishTime[1]
             }
+            this.form.infoTypeSegment =  Array.isArray(this.form.infoTypeSegment)?this.form.infoTypeSegment.join(','):this.form.infoTypeSegment
+            this.form.zhaoBiaoUnitType =  Array.isArray(this.form.zhaoBiaoUnitType)?this.form.zhaoBiaoUnitType.join(','):this.form.zhaoBiaoUnitType
+            this.form.biddingType =  Array.isArray(this.form.biddingType)?this.form.biddingType.join(','):this.form.biddingType
+            this.form.subscriptionPusher =  Array.isArray(this.form.subscriptionPusher)?this.form.subscriptionPusher.join(','):this.form.subscriptionPusher
+            this.form.unitNameMatch =  Array.isArray(this.form.unitNameMatch)?this.form.unitNameMatch.join(','):this.form.unitNameMatch
+            this.form.zhaoBiaoUnit=this.form.zhaoBiaoUnit.toString()
             insert(this.form).then(response => {
               this.$modal.msgSuccess("新增成功");
             });

+ 22 - 13
src/views/business/bid/subscriptionRules/index.vue

@@ -3,7 +3,7 @@
   <el-form>
     <el-row :gutter="24">
       <el-col :span="2" >
-        <el-select v-model="form.selectFull" placeholder="请选择" clearable>
+        <el-select v-model="queryParams.selectFull" placeholder="请选择" clearable>
           <el-option
             v-for="item in selectOptions"
             :key="item.value"
@@ -13,7 +13,7 @@
         </el-select>
       </el-col>
       <el-col :span="6" >
-        <el-input v-model="form.input" placeholder="请输入内容" clearable></el-input>
+        <el-input v-model="queryParams.input" placeholder="请输入内容" clearable></el-input>
       </el-col>
       <el-col :span="2">
         <el-button type="primary" size="small" @click="btnQuery" icon="el-icon-search">搜索</el-button>
@@ -62,7 +62,7 @@
       <el-table-column prop="updateTime" label="最后修改时间" width="150" align="center"></el-table-column>
       <el-table-column prop="state" label="状态" width="80">
         <template slot-scope="scope">
-          {{getChangeType3(scope.row.stateFlag)}}<!--调用getChangeType方法-->
+          {{getChangeType3(scope.row.stateFalg)}}<!--调用getChangeType方法-->
         </template>
       </el-table-column>
       <el-table-column  label="操作" width="100" align="center">
@@ -70,7 +70,7 @@
         <template slot-scope="scope">
           <el-button type="text" @click="handleEdit(scope.row.id)">编辑</el-button>
           <el-button type="text"  @click="handleOpen(scope.row)">
-          {{scope.row.stateFlag == '0' ?"停用":"启用"}}
+          {{scope.row.stateFalg == '0' ?"停用":"启用"}}
           </el-button>
         </template>
 
@@ -106,13 +106,13 @@ export default {
     },
     async handleOpen(row){
 
-      if(row.state == '' || row.state==null){
-        row.state = '1';
+      if(row.stateFalg == '' || row.stateFalg==null){
+        row.stateFalg = '1';
       }
-      if(row.state == '1'){
-        row.state='0';
+      if(row.stateFalg == '1'){
+        row.stateFalg='0';
       }else {
-        row.state='1';
+        row.stateFalg='1';
       }
       await updateState(row);
       this.btnQuery();
@@ -147,7 +147,7 @@ export default {
       this.btnQuery();
     },
     btnQuery(){
-      pageQuery(this.form).then(res =>{
+      pageQuery(this.queryParams).then(res =>{
         if(res.code=200){
           this.dataList.dataTable=res.rows
           this.dataList.total=res.total
@@ -156,6 +156,15 @@ export default {
         }
       })
     },
+    cancel(){
+      this.queryParams={
+        input:'',
+        selectFull:'1',
+        pageNum: 1,
+        pageSize: 10,
+      }
+      this.btnQuery()
+    }
   },
   data() {
     return {
@@ -165,11 +174,11 @@ export default {
       },
       stateOptions:[
         {
-          value: '0',
+          value: '1',
           label: '已停用'
         },
         {
-          value: '1',
+          value: '0',
           label: '已启用'
         },
       ],
@@ -254,7 +263,7 @@ export default {
       ],
       queryParams:{
         input:'',
-        selectFull:'',
+        selectFull: '1',
         pageNum: 1,
         pageSize: 10,
       },