liming 4 år sedan
förälder
incheckning
b0536019af

+ 2 - 2
src/layout/financingTNewAssign/tNewAssignForm.vue

@@ -37,7 +37,7 @@
                 <span>{{ ruleForm.ensure_name }}</span>
               </el-form-item>
             </el-col>
-            <el-col :span="12">
+            <!--<el-col :span="12">
               <el-form-item label="期望利率范围:">
                 <span>{{ `${ruleForm.mongey_min_rate}%~${ruleForm.mongey_max_rate}%` }}</span>
               </el-form-item>
@@ -46,7 +46,7 @@
               <el-form-item label="期望融资期限(个月):">
                 <span>{{ `${ruleForm.claims_min_term}个月~${ruleForm.claims_max_term}个月` }}</span>
               </el-form-item>
-            </el-col>
+            </el-col>-->
 
             <el-col :span="12">
               <el-form-item label="金融机构名称:">

+ 28 - 2
src/layout/financingTNewAssign/tNewAssignList.vue

@@ -34,8 +34,13 @@
                     >
                         <!--<el-table-column type="selection" align="center"> </el-table-column>-->
                         <el-table-column type="index" label="序号" width="50" align="center"></el-table-column>
-                        <el-table-column property="company_name" label="企业名称" align="center"> </el-table-column>
+                        <el-table-column property="company_name" label="企业名称" align="center" width="300px"> </el-table-column>
                         <el-table-column property="money" label="融资金额(万元)" align="center"> </el-table-column>
+                     <!--   <el-table-column label="需求状态" align="center">
+                            <template slot-scope="scope">
+                                <span>{{ getDemandState(scope.row)}}</span>
+                            </template>
+                        </el-table-column>-->
                         <el-table-column property="person" label="联系人" align="center"> </el-table-column>
                         <el-table-column property="institution_name" label="金融机构名称" align="center"> </el-table-column>
                         <el-table-column property="product_name" label="产品名称" align="center"> </el-table-column>
@@ -46,7 +51,7 @@
                             </template>
                         </el-table-column>
 
-                        <el-table-column label="操作" align="center" width="300px">
+                        <el-table-column label="操作" align="center"  width="150px">
                             <template slot-scope="scope">
                                 <!--<el-button size="mini" type="text" class="other" @click="updateState(scope.row,'9')" v-if="scope.row.current_state === '1'">完成</el-button>
                                 <el-button size="mini" type="text" class="other" @click="updateState(scope.row,'-2')" v-if="scope.row.current_state === '0'">审核</el-button>
@@ -260,6 +265,22 @@
                         return '停用';
                 }
             },
+            getDemandState(val) {
+                let match = val.finance_follow.orcredit;
+                switch(match)
+                {
+                    case '0':
+                        return '已接单';
+                    case '1':
+                        return '已放款';
+                    case '2':
+                        return '已审批';
+                    case '3':
+                        return '已拒绝';
+                    case '9':
+                        return '已匹配';
+                }
+            },
         },
     };
 </script>
@@ -316,6 +337,11 @@
         height: 35px;
         line-height: 35px;
     }
+    /deep/  .el-table .cell {
+        overflow: hidden;
+        text-overflow: ellipsis;
+        white-space: nowrap;
+    }
 
     .btnSearch {
         width: 80px;

+ 6 - 1
src/layout/financingTUrgeHandle/seeList.vue

@@ -34,7 +34,7 @@
                     >
                         <!--<el-table-column type="selection" align="center"> </el-table-column>-->
                         <el-table-column type="index" label="序号" width="50" align="center"></el-table-column>
-                        <el-table-column property="company_name" label="企业名称" align="center"> </el-table-column>
+                        <el-table-column property="company_name" label="企业名称" width="300"  align="center"> </el-table-column>
                         <el-table-column property="money" label="融资金额(万元)" align="center"> </el-table-column>
                         <el-table-column property="person" label="联系人" align="center"> </el-table-column>
                         <el-table-column property="institution_name" label="金融机构名称" align="center"> </el-table-column>
@@ -301,6 +301,11 @@
     /deep/ .el-table td {
         padding: 11px 0;
     }
+    /deep/  .el-table .cell {
+        overflow: hidden;
+        text-overflow: ellipsis;
+        white-space: nowrap;
+    }
 
     .other {
         color: #f36302;

+ 2 - 2
src/layout/financingTUrgeHandle/tUrgeHandleForm.vue

@@ -47,7 +47,7 @@
                 <span>{{ ruleForm.remarks }}</span>
               </el-form-item>
             </el-col>
-            <el-col :span="12">
+            <!--<el-col :span="12">
               <el-form-item label="期望利率范围:">
                 <span>{{ `${ruleForm.mongey_min_rate}%~${ruleForm.mongey_max_rate}%` }}</span>
               </el-form-item>
@@ -56,7 +56,7 @@
               <el-form-item label="期望融资期限(个月):">
                 <span>{{ `${ruleForm.claims_min_term}个月~${ruleForm.claims_max_term}个月` }}</span>
               </el-form-item>
-            </el-col>
+            </el-col>-->
 
             <el-col :span="24" class="clickBtn">
               <el-button @click="submitForm">催办</el-button>

+ 64 - 2
src/layout/financingTUrgeHandle/tUrgeHandleList.vue

@@ -29,13 +29,27 @@
                             :data="tableData"
                             tooltip-effect="dark"
                             :default-sort="{ prop: 'date', order: 'descending' }"
+                            :row-class-name="tableRowClassName"
                             style="width: 100%"
                             @selection-change="handleSelectionChange"
                     >
                         <!--<el-table-column type="selection" align="center"> </el-table-column>-->
                         <el-table-column type="index" label="序号" width="50" align="center"></el-table-column>
-                        <el-table-column property="company_name" label="企业名称" align="center"> </el-table-column>
+                        <el-table-column property="company_name" label="企业名称" align="center" width="300" > </el-table-column>
                         <el-table-column property="money" label="融资金额(万元)" align="center"> </el-table-column>
+
+                        <el-table-column label="需求状态" align="center">
+                            <template slot-scope="scope">
+                                <span>{{ getDemandState(scope.row)}}</span>
+                            </template>
+                        </el-table-column>
+
+                        <el-table-column label="超时状态" align="center">
+                            <template slot-scope="scope">
+                                <span>{{ getTimeoutState(scope.row)}}</span>
+                            </template>
+                        </el-table-column>
+
                         <el-table-column property="person" label="联系人" align="center"> </el-table-column>
                         <el-table-column property="institution_name" label="金融机构名称" align="center"> </el-table-column>
                         <el-table-column property="product_name" label="产品名称" align="center"> </el-table-column>
@@ -52,7 +66,7 @@
                             </template>
                         </el-table-column>
 
-                        <el-table-column label="操作" align="center" width="300px">
+                        <el-table-column label="操作" align="center" width="150px">
                             <template slot-scope="scope">
                                 <!--<el-button size="mini" type="text" class="other" @click="updateState(scope.row,'9')" v-if="scope.row.current_state === '1'">完成</el-button>
                                 <el-button size="mini" type="text" class="other" @click="updateState(scope.row,'-2')" v-if="scope.row.current_state === '0'">审核</el-button>
@@ -266,6 +280,46 @@
                         return '停用';
                 }
             },
+            getDemandState(val) {
+                let match = val.intelligent_follow.creditStatus;
+                switch(match)
+                {
+                    case '0':
+                        return '已接单';
+                    case '1':
+                        return '已放款';
+                    case '2':
+                        return '已审批';
+                    case '3':
+                        return '已拒绝';
+                    case '9':
+                        return '已匹配';
+                }
+            },
+            getTimeoutState(val) {
+                let match = val.intelligent_follow.creditStatus;
+                let timeout = val.next_is_timeout === '1' ? '已超时' : '未超时';
+                switch(match)
+                {
+                    case '0':
+                        return '审批'+ timeout;
+                    case '1':
+                        return '';
+                    case '2':
+                        return '放款'+ timeout;
+                    case '3':
+                        return '';
+                    case '9':
+                        return '接单'+ timeout;
+                }
+            },
+            tableRowClassName({ row, rowIndex }) {
+                console.log(row.creditStatus, rowIndex);
+                if (row.next_is_timeout == '1') {
+                    return 'warning-row';
+                }
+                return '';
+            },
         },
     };
 </script>
@@ -289,6 +343,14 @@
     /deep/ .el-table td {
         padding: 11px 0;
     }
+    /deep/  .el-table .cell {
+        overflow: hidden;
+        text-overflow: ellipsis;
+        white-space: nowrap;
+    }
+    /deep/.el-table  .warning-row {
+        background:oldlace;
+    }
 
     .other {
         color: #f36302;

+ 309 - 0
src/layout/intelligentMatching/tUrgeHandleForm.vue

@@ -0,0 +1,309 @@
+<template>
+  <div id="tUrgeHandleForm">
+    <el-row>
+      <el-col :span="24">
+        <el-col :span="24" class="top">
+          <span class="shu"></span><span class="title">{{ formTitle }}</span>
+        </el-col>
+        <el-col :span="24" class="form">
+          <el-form :model="ruleForm" ref="ruleForm" label-width="160px" class="demo-ruleForm">
+            <el-col :span="12">
+              <el-form-item label="企业名称:">
+                <span>{{ ruleForm.company_name }}</span>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="融资金额(万元):">
+                <span>{{ ruleForm.money }}</span>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="联系人:">
+                <span>{{ ruleForm.person }}</span>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="手机号:">
+                <span>{{ ruleForm.phone }}</span>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="金融机构名称:">
+                <span>{{ ruleForm.institution_name }}</span>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="产品名称:">
+                <span>{{ ruleForm.product_name }}</span>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="担保方式:">
+                <span>{{ ruleForm.ensure_name }}</span>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="补充信息:">
+                <span>{{ ruleForm.remarks }}</span>
+              </el-form-item>
+            </el-col>
+            <!--<el-col :span="12">
+              <el-form-item label="期望利率范围:">
+                <span>{{ `${ruleForm.mongey_min_rate}%~${ruleForm.mongey_max_rate}%` }}</span>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="期望融资期限(个月):">
+                <span>{{ `${ruleForm.claims_min_term}个月~${ruleForm.claims_max_term}个月` }}</span>
+              </el-form-item>
+            </el-col>-->
+
+            <!--<el-col :span="24" class="clickBtn">
+              <el-button @click="submitForm">催办</el-button>
+              <el-button @click="resetForm">取消</el-button>
+            </el-col>-->
+
+          </el-form>
+        </el-col>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+  import uploadImage from '@/layout/custom/uploadImage.vue';
+  /*import uploadFile from '@/layout/custom/uploadFile.vue';*/
+  import WangEditor from '@/components/wang-editor.vue';
+  import { mapState, createNamespacedHelpers, mapGetters } from 'vuex';
+  const { mapActions: tUrgeHandle } = createNamespacedHelpers('tUrgeHandle');
+  import _ from 'lodash';
+
+  export default {
+    name: 'tUrgeHandleForm',
+    props: {
+      ruleForm: null,
+    },
+    components: {
+      uploadImage,
+      /*uploadFile,*/
+      WangEditor,
+    },
+    data: () => ({
+      formTitle: '智能匹配',
+      /*rules: {
+        title: [{ required: true, message: '请输入标题', trigger: 'blur' }],
+        type: [{ required: true }],
+        link: [{ required: false }],
+        issuing_organ: [{ required: true, message: '请输入发文机关', trigger: 'blur' }],
+        subject_classification: [{ required: true }],
+        subject_headings: [{ required: true }],
+        description: [{ required: true, message: '请输入内容', trigger: 'blur' }],
+      },*/
+    }),
+    created() {
+    },
+    mounted(){
+    },
+    computed: {},
+    methods: {
+      ...tUrgeHandle(['create', 'delete', 'update', 'fetch', 'originalQuery']),
+      async submitForm() {
+        let temp = JSON.parse(JSON.stringify(this.ruleForm));
+
+        if(temp.is_exist === '1'){
+          this.$message.error('已催办!');
+          return ;
+        }
+
+        const res = await this.originalQuery({ skip:0, limit:1, demand_id: this.ruleForm.demand_id, type: '2'});
+        if(res.total === 1){
+          this.$message.error('已催办!');
+          return ;
+        }
+
+        console.log(temp);
+
+        delete temp._id;
+        delete temp.is_exist;
+        delete temp.meta;
+        delete temp.information;
+        this.$emit('submitForm', { data: temp });
+      },
+      resetForm() {
+        this.$emit('resetForm');
+      },
+      uploadSuccess({ data }) {
+        this.$set(this.ruleForm, 'image', data.uri);
+      },
+      remove(file) {
+        this.$set(this.ruleForm, 'image', '')
+      },
+      uploadFileSuccess({ data,file }) {
+        if(_.isArray(this.ruleForm.enclosure)){
+          this.$set(this.ruleForm.enclosure, this.ruleForm.enclosure.length,{name:file.name,url:data.uri});
+        }else {
+          this.$set(this.ruleForm, 'enclosure',[{name:file.name,url:data.uri}]);
+        }
+      },
+      removeFile(file) {
+        if(_.isArray(this.ruleForm.enclosure)){
+          let temp = this.ruleForm.enclosure.filter((val) => {
+            return val.url !== file.url;
+          });
+          this.$set(this.ruleForm, 'enclosure',temp);
+        }else {
+          this.$set(this.ruleForm, 'enclosure',[]);
+        }
+      },
+      changeType(value){
+        if(value && value === '2'){
+          this.$set(this.rules, 'link',[{ required: true }]);
+        }else{
+          this.$set(this.rules, 'link',[{ required: false }]);
+        }
+      },
+      async checkType(value){
+        let res = await this.fetch(value);
+        if(res.data.type === '2'){
+          this.$set(this.rules, 'link',[{ required: true }]);
+        }
+      },
+      getDate(val) {
+        if(val){
+          return this.format(new Date(Number(val)),'yyyy年MM月dd');
+        }
+        return '';
+      },
+      format(date,formatStr){
+        formatStr=formatStr.replace(/yyyy|YYYY/,date.getFullYear());
+        formatStr=formatStr.replace(/MM/,(date.getMonth()+1)>9?(date.getMonth()+1).toString():'0' + (date.getMonth()+1));
+        formatStr=formatStr.replace(/dd|DD/,date.getDate()>9?date.getDate().toString():'0' + date.getDate());
+        return formatStr;
+      },
+    },
+  };
+</script>
+
+<style lang="less" scoped>
+  .form {
+    padding: 0 200px 0 0;
+  }
+
+  p {
+    padding: 0;
+    margin: 0;
+  }
+
+  .top .shu {
+    float: left;
+    width: 4px;
+    height: 20px;
+    background: rgba(233, 2, 29, 1);
+  }
+
+  .top .title {
+    float: left;
+    padding: 0 10px;
+    font-size: 16px;
+    font-family: Source Han Sans SC;
+    font-weight: bold;
+    color: rgba(40, 40, 40, 1);
+  }
+
+  /deep/ .el-textarea__inner {
+    min-height: 100px !important;
+  }
+
+  /deep/ .select {
+    width: 632px;
+  }
+
+  .selects {
+    width: 473px;
+    margin: 0 15px 0 0;
+  }
+
+  /deep/ .el-radio__input.is-checked + .el-radio__label {
+    color: #e9021d;
+  }
+
+  /deep/ .el-radio__input.is-checked .el-radio__inner {
+    border-color: #e9021d;
+    background: #e9021d;
+  }
+
+  /deep/ .el-checkbox__input.is-checked + .el-checkbox__label {
+    color: #e9021d;
+  }
+
+  /deep/ .el-checkbox__input.is-checked .el-checkbox__inner,
+  .el-checkbox__input.is-indeterminate .el-checkbox__inner {
+    background-color: #e9021d;
+    border-color: #e9021d;
+  }
+
+  /deep/ .el-checkbox-button,
+  .el-checkbox-button__inner {
+    margin: 0 15px 0 0;
+  }
+
+  /deep/ .el-checkbox-button__inner {
+    padding: 7px 5px;
+    border: 1px solid #ccc;
+    border-radius: 5px;
+  }
+
+  /deep/ .el-checkbox-button__inner:hover {
+    color: #e9021d;
+  }
+
+  /deep/ .el-checkbox-button:first-child .el-checkbox-button__inner {
+    border-left: 1px solid #ccc;
+    border-radius: 5px;
+  }
+
+  /deep/ .el-checkbox-button:last-child .el-checkbox-button__inner {
+    border-radius: 5px;
+  }
+
+  /deep/ .el-checkbox-button.is-checked .el-checkbox-button__inner {
+    color: #e9021d;
+    background-color: #ffffff;
+    border-color: #e9021d;
+  }
+
+  /deep/ .el-checkbox-button.is-checked .el-checkbox-button__inner {
+    box-shadow: none;
+  }
+
+  /deep/ .el-switch.is-checked .el-switch__core {
+    border-color: #e9021d;
+    background-color: #e9021d;
+  }
+  /deep/ .el-form-item .el-form-item__label {
+    font-size: 16px;
+  }
+  /deep/ .el-form-item .el-form-item__content {
+    font-size: 16px;
+  }
+
+  .clickBtn .el-button {
+    width: 100px;
+    height: 40px;
+    padding: 0;
+    color: #ffffff;
+    background: #b9b9b9;
+    border-radius: 4px;
+    margin: 40px;
+  }
+
+  .clickBtn {
+    text-align: center;
+    margin: 40px 0;
+    border-top: 1px solid #ccc;
+  }
+
+  .clickBtn .el-button:first-child {
+    background-color: #e9021d;
+  }
+</style>

+ 417 - 0
src/layout/intelligentMatching/tUrgeHandleList.vue

@@ -0,0 +1,417 @@
+<template>
+    <div id="tUrgeHandleList">
+        <el-row>
+            <el-col :span="24">
+                <el-col :span="24" class="search">
+                   <!-- <el-col :span="5">
+                        <span>筛选条件:</span>
+                        <el-select v-model="search.is_exist" placeholder="请选择催办状态">
+                            <el-option label="已催办" value="1"></el-option>
+                            <el-option label="未催办" value="2"></el-option>
+                        </el-select>
+                    </el-col>-->
+                    <el-col :span="4">
+                        <span>输入条件:</span>
+                        <el-input v-model="search.company_name" :placeholder="placeholder" class="input"></el-input>
+                    </el-col>
+                    <!--<el-col :span="7">
+                      <span>时间选择:</span>
+                      <el-date-picker v-model="search.date" type="daterange" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期"> </el-date-picker>
+                    </el-col>-->
+                    <el-col :span="8">
+                        <el-button class="btnSearch" @click="toQuery">查询</el-button>
+                        <el-button class="btnSearch qing" @click="toClear">清空</el-button>
+                    </el-col>
+                </el-col>
+                <el-col :span="24">
+                    <el-table
+                            ref="tableData"
+                            :data="tableData"
+                            tooltip-effect="dark"
+                            :default-sort="{ prop: 'date', order: 'descending' }"
+                            :row-class-name="tableRowClassName"
+                            style="width: 100%"
+                            @selection-change="handleSelectionChange"
+                    >
+                        <!--<el-table-column type="selection" align="center"> </el-table-column>-->
+                        <el-table-column type="index" label="序号" width="50" align="center"></el-table-column>
+                        <el-table-column property="company_name" label="企业名称" align="center" width="300" > </el-table-column>
+                        <el-table-column property="money" label="融资金额(万元)" align="center"> </el-table-column>
+
+                        <el-table-column label="需求状态" align="center">
+                            <template slot-scope="scope">
+                                <span>{{ getDemandState(scope.row)}}</span>
+                            </template>
+                        </el-table-column>
+
+                        <el-table-column label="超时状态" align="center">
+                            <template slot-scope="scope">
+                                <span>{{ getTimeoutState(scope.row)}}</span>
+                            </template>
+                        </el-table-column>
+
+                       <!-- <el-table-column property="person" label="联系人" align="center"> </el-table-column>-->
+                        <el-table-column property="institution_name" label="金融机构名称" align="center"> </el-table-column>
+                        <el-table-column property="product_name" label="产品名称" align="center"> </el-table-column>
+
+                       <!-- <el-table-column label="催办状态" align="center">
+                            <template slot-scope="scope">
+                                <span>{{ scope.row.is_exist === '1' ? '已催办' : '未催办'}}</span>
+                            </template>
+                        </el-table-column>
+
+                        <el-table-column label="催办机构" align="center">
+                            <template slot-scope="scope">
+                                <span>{{ scope.row.information.company_type === '1' ?  '政府部门' : scope.row.information.company_type === '2' ? '金控集团' : ''}}</span>
+                            </template>
+                        </el-table-column>-->
+
+                        <!--<el-table-column label="操作" align="center" width="150px">
+                            <template slot-scope="scope">
+                                &lt;!&ndash;<el-button size="mini" type="text" class="other" @click="updateState(scope.row,'9')" v-if="scope.row.current_state === '1'">完成</el-button>
+                                <el-button size="mini" type="text" class="other" @click="updateState(scope.row,'-2')" v-if="scope.row.current_state === '0'">审核</el-button>
+                                <el-button size="mini" type="text" class="other" @click="updateState(scope.row,'3')">停用</el-button>&ndash;&gt;
+                                <el-button size="mini" type="text" class="view" icon="el-icon-view"
+                                           @click="$router.push({ path: '/intelligentMatching/detail', query: { demand_id: scope.row.demand_id} })"></el-button>
+                                &lt;!&ndash;<el-button size="mini" type="text" class="edit" icon="el-icon-edit"
+                                           @click="$router.push({ path: '/tPolicyDeclaration/detail', query: { id: scope.row.id } })"></el-button>&ndash;&gt;
+                                &lt;!&ndash;<el-button size="mini" type="text" class="delete" icon="el-icon-delete"
+                                           @click.prevent="deleteRow(scope.row.id)"></el-button>&ndash;&gt;
+                            </template>
+                        </el-table-column>-->
+                    </el-table>
+                    <el-row>
+                        <el-pagination
+                                @size-change="handleSizeChange"
+                                @current-change="handleCurrentChange"
+                                :current-page.sync="currentPage"
+                                :page-sizes="[10, 20, 30, 40]"
+                                :page-size.sync="limit"
+                                background
+                                layout="total, sizes, prev, pager, next, jumper"
+                                :total="total"
+                        >
+                        </el-pagination>
+                    </el-row>
+                </el-col>
+            </el-col>
+        </el-row>
+        <el-dialog
+                :visible.sync="dialogVisible"
+                width="30%"
+        >
+            <el-image :src="elImage" style="height:100%;width:100% "></el-image>
+        </el-dialog>
+        <el-dialog title="审核意见" :visible.sync="dialogFormVisible" width="30%" @open="openDialog">
+            <el-input v-model="input" autocomplete="off" placeholder="请输入审核意见"></el-input>
+            <div slot="footer" class="dialog-footer">
+                <el-button type="primary" @click="confirmClick">{{confirm}}</el-button>
+                <el-button @click="cancelClick">{{cancel}}</el-button>
+            </div>
+        </el-dialog>
+    </div>
+</template>
+
+<script>
+    export default {
+        name: 'tUrgeHandleList',
+        props: {
+            tableData: null,
+            total: null,
+        },
+        components: {},
+        data: () => ({
+            placeholder: '请输入企业名称',
+            search: {},
+            currentPage: 1,
+            limit: 10,
+            dialogVisible: false,
+            elImage: '',
+            tempId:'',
+            tempState:'',
+            dialogFormVisible: false,
+            input:'',
+            confirm:'确定',
+            cancel:'取消',
+        }),
+        created() {
+        },
+        computed: {
+        },
+        methods: {
+            handleSelectionChange(val) {
+                this.multipleSelection = val;
+            },
+            deleteRow(id) {
+                this.$set(this, `currentPage`, 1);
+                this.$emit('deleteRow', {id: id, skip: 0, limit: this.limit, ...this.search});
+            },
+            handleSizeChange(val) {
+                this.$set(this, `currentPage`, 1);
+                this.$emit('select', {skip: 0, limit: val, ...this.search});
+            },
+            handleCurrentChange(val) {
+                this.$emit('select', {skip: (val - 1) * this.limit, limit: this.limit, ...this.search});
+            },
+            toQuery() {
+                this.$set(this, `currentPage`, 1);
+                this.$emit('select', {skip: 0, limit: this.limit, ...this.search});
+            },
+            toClear() {
+                let keys = Object.keys(this.search);
+                for (const key of keys) {
+                    this.$set(this.search, `${key}`, '');
+                }
+            },
+            showImage(image) {
+                if(image){
+                    this.$set(this, `elImage`, image);
+                    this.$set(this, `dialogVisible`, true);
+                }else{
+                    this.$set(this, `dialogVisible`, false);
+                }
+            },
+            getDate(val) {
+                if(val){
+                    return this.format(new Date(Number(val)),'yyyy年MM月dd');
+                }
+                return '';
+            },
+            format(date,formatStr){
+                formatStr=formatStr.replace(/yyyy|YYYY/,date.getFullYear());
+                formatStr=formatStr.replace(/MM/,(date.getMonth()+1)>9?(date.getMonth()+1).toString():'0' + (date.getMonth()+1));
+                formatStr=formatStr.replace(/dd|DD/,date.getDate()>9?date.getDate().toString():'0' + date.getDate());
+                return formatStr;
+            },
+            publish(row){
+                if(row.publish_state === '1'){
+                    this.$message.error('已发布');
+                    return ;
+                }
+                this.$emit('publish', {row:row,skip: (this.currentPage - 1) * this.limit, limit: this.limit, ...this.search});
+            },
+            openDialog(){
+                this.$set(this, `input`, '');
+            },
+            confirmClick(){
+                this.$set(this, `dialogFormVisible`, false);
+                switch(this.tempState)
+                {
+                    case '0':
+                        break;
+                    case '1':
+                        break;
+                    case '2':
+                        break;
+                    case '3':
+                        this.$emit('updateState', {id:this.tempId,state:this.tempState,result:this.input,skip: (this.currentPage - 1) * this.limit, limit: this.limit, ...this.search});
+                        break;
+                    case '-2':
+                        this.$emit('updateState', {id:this.tempId,state:'1',result:this.input,skip: (this.currentPage - 1) * this.limit, limit: this.limit, ...this.search});
+                        break;
+                    case '9':
+                        this.$emit('updateState', {id:this.tempId,state:this.tempState,result:this.input,skip: (this.currentPage - 1) * this.limit, limit: this.limit, ...this.search});
+                        break;
+                }
+            },
+            cancelClick(){
+                this.$set(this, `dialogFormVisible`, false);
+                switch(this.tempState)
+                {
+                    case '0':
+                        break;
+                    case '1':
+                        break;
+                    case '2':
+                        break;
+                    case '3':
+                        break;
+                    case '-2':
+                        this.$emit('updateState', {id:this.tempId,state:'2',result:this.input,skip: (this.currentPage - 1) * this.limit, limit: this.limit, ...this.search});
+                        break;
+                    case '9':
+                        break;
+                }
+            },
+            updateState(row,state){
+                this.$set(this, `tempId`, row.id);
+                this.$set(this, `tempState`, state);
+                switch(state)
+                {
+                    case '0':
+                        break;
+                    case '1':
+                        break;
+                    case '2':
+                        break;
+                    case '3':
+                        if(row.current_state === state){
+                            this.$message.error('已停用');
+                        }else{
+                            this.$set(this, `confirm`, '停用');
+                            this.$set(this, `cancel`, '取消');
+                            this.$set(this, `dialogFormVisible`, true);
+                        }
+                        break;
+                    case '-2':
+                        this.$set(this, `confirm`, '审核通过');
+                        this.$set(this, `cancel`, '审核拒绝');
+                        this.$set(this, `dialogFormVisible`, true);
+                        break;
+                    case '9':
+                        this.$set(this, `confirm`, '完成');
+                        this.$set(this, `cancel`, '取消');
+                        this.$set(this, `dialogFormVisible`, true);
+                        break;
+                }
+            },
+            getState(val) {
+                switch(val)
+                {
+                    case '0':
+                        return '未审核';
+                    case '1':
+                        return '审核通过';
+                    case '2':
+                        return '审核拒绝';
+                    case '9':
+                        return '完成';
+                    case '3':
+                        return '停用';
+                }
+            },
+            getDemandState(val) {
+                let match = val.intelligent_follow.creditStatus;
+                switch(match)
+                {
+                    case '0':
+                        return '已接单';
+                    case '1':
+                        return '已放款';
+                    case '2':
+                        return '已审批';
+                    case '3':
+                        return '已拒绝';
+                    case '9':
+                        return '已匹配';
+                }
+            },
+            getTimeoutState(val) {
+                let match = val.intelligent_follow.creditStatus;
+                let timeout = val.next_is_timeout === '1' ? '已超时' : '未超时';
+                switch(match)
+                {
+                    case '0':
+                        return '审批'+ timeout;
+                    case '1':
+                        return '';
+                    case '2':
+                        return '放款'+ timeout;
+                    case '3':
+                        return '';
+                    case '9':
+                        return '接单'+ timeout;
+                }
+            },
+            tableRowClassName({ row, rowIndex }) {
+                console.log(row.creditStatus, rowIndex);
+                if (row.next_is_timeout == '1') {
+                    return 'warning-row';
+                }
+                return '';
+            },
+        },
+    };
+</script>
+
+<style lang="less" scoped>
+    /deep/ .el-checkbox__input.is-checked .el-checkbox__inner {
+        background-color: red;
+        border-color: red;
+    }
+
+    /deep/ .el-checkbox__input.is-indeterminate .el-checkbox__inner {
+        background-color: red;
+        border-color: red;
+    }
+
+    /deep/ .el-table th {
+        background-color: #f5f6fa;
+        padding: 8px 0;
+    }
+
+    /deep/ .el-table td {
+        padding: 11px 0;
+    }
+    /deep/  .el-table .cell {
+        overflow: hidden;
+        text-overflow: ellipsis;
+        white-space: nowrap;
+    }
+    /deep/.el-table  .warning-row {
+        background:oldlace;
+    }
+
+    .other {
+        color: #f36302;
+    }
+
+    .view {
+        color: #f36302;
+    }
+
+    .edit {
+        color: #2ccc02;
+    }
+
+    .delete {
+        color: #e9021d;
+    }
+
+    /deep/ .el-pagination {
+        padding: 26px 20px;
+    }
+
+    /deep/ .el-pagination.is-background .el-pager li:not(.disabled).active {
+        background-color: red;
+    }
+
+    .input {
+        width: 150px;
+    }
+
+    /deep/ .el-input__inner {
+        height: 35px;
+        line-height: 35px;
+    }
+
+    .btnSearch {
+        width: 80px;
+        height: 34px;
+        background: rgba(233, 2, 29, 1);
+        border-radius: 4px;
+        padding: 0;
+        color: #fff;
+    }
+
+    .qing {
+        background: rgba(185, 185, 185, 1);
+    }
+
+    .top {
+        height: 50px;
+        margin: 0 0 10px 0;
+    }
+
+    .search {
+        background: #ffffff;
+        width: 97%;
+        height: 35px;
+        margin: 20px;
+        margin-left: 0px;
+    }
+
+    .list {
+        padding: 0 20px;
+    }
+</style>

+ 31 - 26
src/layout/layout-part/menus.vue

@@ -5,52 +5,65 @@
       <el-submenu index="1">
         <template v-slot:title>
           <i class="el-icon-s-grid"></i>
-          <span>账号设置</span>
+          <span>政策服务管理</span>
         </template>
         <el-menu-item-group>
-          <el-menu-item index="/userInfo/index">个人信息管理</el-menu-item>
-          <el-menu-item index="/uppasswd/index">修改密码</el-menu-item>
+          <el-menu-item index="/tPolicyInterpretation/index"><i class="el-icon-s-grid"></i>政策解读管理</el-menu-item>
+          <el-menu-item index="/tPolicyDeclaration/index"><i class="el-icon-s-grid"></i>权威发布管理</el-menu-item>
+          <!--<el-menu-item index="/tDeclarationApproval/index"><i class="el-icon-s-grid"></i>政策申报审批管理</el-menu-item>-->
         </el-menu-item-group>
       </el-submenu>
-
       <el-submenu index="2">
         <template v-slot:title>
           <i class="el-icon-s-grid"></i>
-          <span>政策服务管理</span>
+          <span>务管理</span>
         </template>
         <el-menu-item-group>
-          <el-menu-item index="/tPolicyInterpretation/index">政策解读管理</el-menu-item>
-          <el-menu-item index="/tPolicyDeclaration/index">权威发布管理</el-menu-item>
-          <!--<el-menu-item index="/tDeclarationApproval/index">政策申报审批管理</el-menu-item>-->
+          <el-menu-item index="/intelligentMatching/index"> <i class="el-icon-s-grid"></i>智能匹配</el-menu-item>
+          <el-menu-item index="/moneySupermarket/index"> <i class="el-icon-s-grid"></i>金融超市</el-menu-item>
         </el-menu-item-group>
+        <el-submenu index="1000">
+          <template v-slot:title>
+            <i class="el-icon-s-grid"></i>
+            <span>业务催办</span>
+          </template>
+          <el-menu-item-group>
+            <el-menu-item index="/tUrgeHandle/index"><i class="el-icon-s-grid"></i>催办操作</el-menu-item>
+            <el-menu-item index="/tUrgeHandle/seeIndex"><i class="el-icon-s-grid"></i>催办查看</el-menu-item>
+          </el-menu-item-group>
+        </el-submenu>
+        <el-menu-item index="/tNewAssign/index"> <i class="el-icon-s-grid"></i>业务指派</el-menu-item>
       </el-submenu>
 
-      <!--<el-menu-item index="/companyup/index"> <i class="el-icon-s-grid"></i>企业修改信息审核管理</el-menu-item>-->
 
-      <el-menu-item index="/tNewAssign/index"> <i class="el-icon-s-grid"></i>业务指派</el-menu-item>
-      <el-submenu index="3">
+
+      <el-submenu index="4">
         <template v-slot:title>
           <i class="el-icon-s-grid"></i>
-          <span>业务催办</span>
+          <span>设置</span>
         </template>
         <el-menu-item-group>
-          <el-menu-item index="/tUrgeHandle/index">催办操作</el-menu-item>
-          <el-menu-item index="/tUrgeHandle/seeIndex">催办查看</el-menu-item>
+          <el-menu-item index="/userInfo/index"><i class="el-icon-s-grid"></i>个人信息管理</el-menu-item>
+          <el-menu-item index="/uppasswd/index"><i class="el-icon-s-grid"></i>修改密码</el-menu-item>
         </el-menu-item-group>
       </el-submenu>
 
+      <!--<el-menu-item index="/companyup/index"> <i class="el-icon-s-grid"></i>企业修改信息审核管理</el-menu-item>-->
+
       <!--<el-menu-item index="/financingTNewAssign/index"> <i class="el-icon-s-grid"></i>我要融资指派</el-menu-item>
-      <el-submenu index="4">
+      <el-submenu index="5">
         <template v-slot:title>
           <i class="el-icon-s-grid"></i>
           <span>我要融资催办</span>
         </template>
         <el-menu-item-group>
-          <el-menu-item index="/financingTUrgeHandle/index">催办操作</el-menu-item>
-          <el-menu-item index="/financingTUrgeHandle/seeIndex">催办查看</el-menu-item>
+          <el-menu-item index="/financingTUrgeHandle/index"><i class="el-icon-s-grid"></i>催办操作</el-menu-item>
+          <el-menu-item index="/financingTUrgeHandle/seeIndex"><i class="el-icon-s-grid"></i>催办查看</el-menu-item>
         </el-menu-item-group>
       </el-submenu>-->
 
+
+
 <!--      <el-menu-item index="/TotalResult"> <i class="el-icon-s-grid"></i>统计查询</el-menu-item>-->
 <!--      <el-submenu index="3">-->
 <!--        <template v-slot:title>-->
@@ -68,15 +81,7 @@
 <!--        </el-menu-item-group>-->
 <!--      </el-submenu>-->
 
-      <!--<el-submenu index="2">
-        <template v-slot:title>
-          <i class="el-icon-s-home"></i>
-          <span>测试菜单</span>
-        </template>
-        <el-menu-item-group>
-          <el-menu-item index="/test/index">二级菜单</el-menu-item>
-        </el-menu-item-group>
-      </el-submenu>-->
+
     </el-menu>
   </div>
 </template>

+ 309 - 0
src/layout/moneySupermarket/tUrgeHandleForm.vue

@@ -0,0 +1,309 @@
+<template>
+  <div id="tUrgeHandleForm">
+    <el-row>
+      <el-col :span="24">
+        <el-col :span="24" class="top">
+          <span class="shu"></span><span class="title">{{ formTitle }}</span>
+        </el-col>
+        <el-col :span="24" class="form">
+          <el-form :model="ruleForm" ref="ruleForm" label-width="160px" class="demo-ruleForm">
+            <el-col :span="12">
+              <el-form-item label="企业名称:">
+                <span>{{ ruleForm.company_name }}</span>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="融资金额(万元):">
+                <span>{{ ruleForm.money }}</span>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="融资用途:">
+                <span>{{ ruleForm.use }}</span>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="金融机构名称:">
+                <span>{{ ruleForm.institution_name }}</span>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="产品名称:">
+                <span>{{ ruleForm.product_name }}</span>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="担保方式:">
+                <span>{{ ruleForm.ensure_name }}</span>
+              </el-form-item>
+            </el-col>
+            <!--<el-col :span="12">
+              <el-form-item label="项目情况:">
+                <span>{{ ruleForm.project_status }}</span>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="备注:">
+                <span>{{ ruleForm.remarks }}</span>
+              </el-form-item>
+            </el-col>-->
+            <!--<el-col :span="12">
+              <el-form-item label="期望利率范围:">
+                <span>{{ `${ruleForm.mongey_min_rate}%~${ruleForm.mongey_max_rate}%` }}</span>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="期望融资期限(个月):">
+                <span>{{ `${ruleForm.claims_min_term}个月~${ruleForm.claims_max_term}个月` }}</span>
+              </el-form-item>
+            </el-col>-->
+
+           <!-- <el-col :span="24" class="clickBtn">
+              <el-button @click="submitForm">催办</el-button>
+              <el-button @click="resetForm">取消</el-button>
+            </el-col>-->
+
+          </el-form>
+        </el-col>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+  import uploadImage from '@/layout/custom/uploadImage.vue';
+  /*import uploadFile from '@/layout/custom/uploadFile.vue';*/
+  import WangEditor from '@/components/wang-editor.vue';
+  import { mapState, createNamespacedHelpers, mapGetters } from 'vuex';
+  const { mapActions: tUrgeHandle } = createNamespacedHelpers('tUrgeHandle');
+  import _ from 'lodash';
+
+  export default {
+    name: 'tUrgeHandleForm',
+    props: {
+      ruleForm: null,
+    },
+    components: {
+      uploadImage,
+      /*uploadFile,*/
+      WangEditor,
+    },
+    data: () => ({
+      formTitle: '金融超市',
+      /*rules: {
+        title: [{ required: true, message: '请输入标题', trigger: 'blur' }],
+        type: [{ required: true }],
+        link: [{ required: false }],
+        issuing_organ: [{ required: true, message: '请输入发文机关', trigger: 'blur' }],
+        subject_classification: [{ required: true }],
+        subject_headings: [{ required: true }],
+        description: [{ required: true, message: '请输入内容', trigger: 'blur' }],
+      },*/
+    }),
+    created() {
+    },
+    mounted(){
+    },
+    computed: {},
+    methods: {
+      ...tUrgeHandle(['create', 'delete', 'update', 'fetch', 'originalQuery']),
+      async submitForm() {
+        let temp = JSON.parse(JSON.stringify(this.ruleForm));
+
+        if(temp.is_exist === '1'){
+          this.$message.error('已催办!');
+          return ;
+        }
+
+        const res = await this.originalQuery({ skip:0, limit:1, demand_id: this.ruleForm.demand_id, type: '1'});
+        if(res.total === 1){
+          this.$message.error('已催办!');
+          return ;
+        }
+
+        console.log(temp);
+
+        delete temp._id;
+        delete temp.is_exist;
+        delete temp.meta;
+        delete temp.information;
+        this.$emit('submitForm', { data: temp });
+      },
+      resetForm() {
+        this.$emit('resetForm');
+      },
+      uploadSuccess({ data }) {
+        this.$set(this.ruleForm, 'image', data.uri);
+      },
+      remove(file) {
+        this.$set(this.ruleForm, 'image', '')
+      },
+      uploadFileSuccess({ data,file }) {
+        if(_.isArray(this.ruleForm.enclosure)){
+          this.$set(this.ruleForm.enclosure, this.ruleForm.enclosure.length,{name:file.name,url:data.uri});
+        }else {
+          this.$set(this.ruleForm, 'enclosure',[{name:file.name,url:data.uri}]);
+        }
+      },
+      removeFile(file) {
+        if(_.isArray(this.ruleForm.enclosure)){
+          let temp = this.ruleForm.enclosure.filter((val) => {
+            return val.url !== file.url;
+          });
+          this.$set(this.ruleForm, 'enclosure',temp);
+        }else {
+          this.$set(this.ruleForm, 'enclosure',[]);
+        }
+      },
+      changeType(value){
+        if(value && value === '2'){
+          this.$set(this.rules, 'link',[{ required: true }]);
+        }else{
+          this.$set(this.rules, 'link',[{ required: false }]);
+        }
+      },
+      async checkType(value){
+        let res = await this.fetch(value);
+        if(res.data.type === '2'){
+          this.$set(this.rules, 'link',[{ required: true }]);
+        }
+      },
+      getDate(val) {
+        if(val){
+          return this.format(new Date(Number(val)),'yyyy年MM月dd');
+        }
+        return '';
+      },
+      format(date,formatStr){
+        formatStr=formatStr.replace(/yyyy|YYYY/,date.getFullYear());
+        formatStr=formatStr.replace(/MM/,(date.getMonth()+1)>9?(date.getMonth()+1).toString():'0' + (date.getMonth()+1));
+        formatStr=formatStr.replace(/dd|DD/,date.getDate()>9?date.getDate().toString():'0' + date.getDate());
+        return formatStr;
+      },
+    },
+  };
+</script>
+
+<style lang="less" scoped>
+  .form {
+    padding: 0 200px 0 0;
+  }
+
+  p {
+    padding: 0;
+    margin: 0;
+  }
+
+  .top .shu {
+    float: left;
+    width: 4px;
+    height: 20px;
+    background: rgba(233, 2, 29, 1);
+  }
+
+  .top .title {
+    float: left;
+    padding: 0 10px;
+    font-size: 16px;
+    font-family: Source Han Sans SC;
+    font-weight: bold;
+    color: rgba(40, 40, 40, 1);
+  }
+
+  /deep/ .el-textarea__inner {
+    min-height: 100px !important;
+  }
+
+  /deep/ .select {
+    width: 632px;
+  }
+
+  .selects {
+    width: 473px;
+    margin: 0 15px 0 0;
+  }
+
+  /deep/ .el-radio__input.is-checked + .el-radio__label {
+    color: #e9021d;
+  }
+
+  /deep/ .el-radio__input.is-checked .el-radio__inner {
+    border-color: #e9021d;
+    background: #e9021d;
+  }
+
+  /deep/ .el-checkbox__input.is-checked + .el-checkbox__label {
+    color: #e9021d;
+  }
+
+  /deep/ .el-checkbox__input.is-checked .el-checkbox__inner,
+  .el-checkbox__input.is-indeterminate .el-checkbox__inner {
+    background-color: #e9021d;
+    border-color: #e9021d;
+  }
+
+  /deep/ .el-checkbox-button,
+  .el-checkbox-button__inner {
+    margin: 0 15px 0 0;
+  }
+
+  /deep/ .el-checkbox-button__inner {
+    padding: 7px 5px;
+    border: 1px solid #ccc;
+    border-radius: 5px;
+  }
+
+  /deep/ .el-checkbox-button__inner:hover {
+    color: #e9021d;
+  }
+
+  /deep/ .el-checkbox-button:first-child .el-checkbox-button__inner {
+    border-left: 1px solid #ccc;
+    border-radius: 5px;
+  }
+
+  /deep/ .el-checkbox-button:last-child .el-checkbox-button__inner {
+    border-radius: 5px;
+  }
+
+  /deep/ .el-checkbox-button.is-checked .el-checkbox-button__inner {
+    color: #e9021d;
+    background-color: #ffffff;
+    border-color: #e9021d;
+  }
+
+  /deep/ .el-checkbox-button.is-checked .el-checkbox-button__inner {
+    box-shadow: none;
+  }
+
+  /deep/ .el-switch.is-checked .el-switch__core {
+    border-color: #e9021d;
+    background-color: #e9021d;
+  }
+  /deep/ .el-form-item .el-form-item__label {
+    font-size: 16px;
+  }
+  /deep/ .el-form-item .el-form-item__content {
+    font-size: 16px;
+  }
+
+  .clickBtn .el-button {
+    width: 100px;
+    height: 40px;
+    padding: 0;
+    color: #ffffff;
+    background: #b9b9b9;
+    border-radius: 4px;
+    margin: 40px;
+  }
+
+  .clickBtn {
+    text-align: center;
+    margin: 40px 0;
+    border-top: 1px solid #ccc;
+  }
+
+  .clickBtn .el-button:first-child {
+    background-color: #e9021d;
+  }
+</style>

+ 417 - 0
src/layout/moneySupermarket/tUrgeHandleList.vue

@@ -0,0 +1,417 @@
+<template>
+    <div id="tUrgeHandleList">
+        <el-row>
+            <el-col :span="24">
+                <el-col :span="24" class="search">
+                   <!-- <el-col :span="5">
+                        <span>筛选条件:</span>
+                        <el-select v-model="search.is_exist" placeholder="请选择催办状态">
+                            <el-option label="已催办" value="1"></el-option>
+                            <el-option label="未催办" value="2"></el-option>
+                        </el-select>
+                    </el-col>-->
+                    <el-col :span="4">
+                        <span>输入条件:</span>
+                        <el-input v-model="search.company_name" :placeholder="placeholder" class="input"></el-input>
+                    </el-col>
+                    <!--<el-col :span="7">
+                      <span>时间选择:</span>
+                      <el-date-picker v-model="search.date" type="daterange" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期"> </el-date-picker>
+                    </el-col>-->
+                    <el-col :span="8">
+                        <el-button class="btnSearch" @click="toQuery">查询</el-button>
+                        <el-button class="btnSearch qing" @click="toClear">清空</el-button>
+                    </el-col>
+                </el-col>
+                <el-col :span="24">
+                    <el-table
+                            ref="tableData"
+                            :data="tableData"
+                            tooltip-effect="dark"
+                            :default-sort="{ prop: 'date', order: 'descending' }"
+                            :row-class-name="tableRowClassName"
+                            style="width: 100%"
+                            @selection-change="handleSelectionChange"
+                    >
+                        <!--<el-table-column type="selection" align="center"> </el-table-column>-->
+                        <el-table-column type="index" label="序号" width="50" align="center"></el-table-column>
+                        <el-table-column property="company_name" label="企业名称" width="300" align="center" > </el-table-column>
+                        <el-table-column property="money" label="融资金额(万元)" align="center"> </el-table-column>
+                       <!-- <el-table-column property="use" label="融资用途" align="center"> </el-table-column>-->
+
+                        <el-table-column label="需求状态" align="center">
+                            <template slot-scope="scope">
+                                <span>{{ getDemandState(scope.row)}}</span>
+                            </template>
+                        </el-table-column>
+
+                        <el-table-column label="超时状态" align="center">
+                            <template slot-scope="scope">
+                                <span>{{ getTimeoutState(scope.row)}}</span>
+                            </template>
+                        </el-table-column>
+
+                        <el-table-column property="institution_name" label="金融机构名称" align="center"> </el-table-column>
+                        <el-table-column property="product_name" label="产品名称" align="center"> </el-table-column>
+
+                       <!-- <el-table-column label="催办状态" align="center">
+                            <template slot-scope="scope">
+                                <span>{{ scope.row.is_exist === '1' ? '已催办' : '未催办'}}</span>
+                            </template>
+                        </el-table-column>
+
+                        <el-table-column label="催办机构" align="center">
+                            <template slot-scope="scope">
+                                <span>{{ scope.row.information.company_type === '1' ?  '政府部门' : scope.row.information.company_type === '2' ? '金控集团' : ''}}</span>
+                            </template>
+                        </el-table-column>-->
+
+                        <!--<el-table-column label="操作" align="center" width="150px">
+                            <template slot-scope="scope">
+                                &lt;!&ndash;<el-button size="mini" type="text" class="other" @click="updateState(scope.row,'9')" v-if="scope.row.current_state === '1'">完成</el-button>
+                                <el-button size="mini" type="text" class="other" @click="updateState(scope.row,'-2')" v-if="scope.row.current_state === '0'">审核</el-button>
+                                <el-button size="mini" type="text" class="other" @click="updateState(scope.row,'3')">停用</el-button>&ndash;&gt;
+                                <el-button size="mini" type="text" class="view" icon="el-icon-view"
+                                           @click="$router.push({ path: '/moneySupermarket/detail', query: { demand_id: scope.row.demand_id} })"></el-button>
+                                &lt;!&ndash;<el-button size="mini" type="text" class="edit" icon="el-icon-edit"
+                                           @click="$router.push({ path: '/tPolicyDeclaration/detail', query: { id: scope.row.id } })"></el-button>&ndash;&gt;
+                                &lt;!&ndash;<el-button size="mini" type="text" class="delete" icon="el-icon-delete"
+                                           @click.prevent="deleteRow(scope.row.id)"></el-button>&ndash;&gt;
+                            </template>
+                        </el-table-column>-->
+                    </el-table>
+                    <el-row>
+                        <el-pagination
+                                @size-change="handleSizeChange"
+                                @current-change="handleCurrentChange"
+                                :current-page.sync="currentPage"
+                                :page-sizes="[10, 20, 30, 40]"
+                                :page-size.sync="limit"
+                                background
+                                layout="total, sizes, prev, pager, next, jumper"
+                                :total="total"
+                        >
+                        </el-pagination>
+                    </el-row>
+                </el-col>
+            </el-col>
+        </el-row>
+        <el-dialog
+                :visible.sync="dialogVisible"
+                width="30%"
+        >
+            <el-image :src="elImage" style="height:100%;width:100% "></el-image>
+        </el-dialog>
+        <el-dialog title="审核意见" :visible.sync="dialogFormVisible" width="30%" @open="openDialog">
+            <el-input v-model="input" autocomplete="off" placeholder="请输入审核意见"></el-input>
+            <div slot="footer" class="dialog-footer">
+                <el-button type="primary" @click="confirmClick">{{confirm}}</el-button>
+                <el-button @click="cancelClick">{{cancel}}</el-button>
+            </div>
+        </el-dialog>
+    </div>
+</template>
+
+<script>
+    export default {
+        name: 'tUrgeHandleList',
+        props: {
+            tableData: null,
+            total: null,
+        },
+        components: {},
+        data: () => ({
+            placeholder: '请输入企业名称',
+            search: {},
+            currentPage: 1,
+            limit: 10,
+            dialogVisible: false,
+            elImage: '',
+            tempId:'',
+            tempState:'',
+            dialogFormVisible: false,
+            input:'',
+            confirm:'确定',
+            cancel:'取消',
+        }),
+        created() {
+        },
+        computed: {
+        },
+        methods: {
+            handleSelectionChange(val) {
+                this.multipleSelection = val;
+            },
+            deleteRow(id) {
+                this.$set(this, `currentPage`, 1);
+                this.$emit('deleteRow', {id: id, skip: 0, limit: this.limit, ...this.search});
+            },
+            handleSizeChange(val) {
+                this.$set(this, `currentPage`, 1);
+                this.$emit('select', {skip: 0, limit: val, ...this.search});
+            },
+            handleCurrentChange(val) {
+                this.$emit('select', {skip: (val - 1) * this.limit, limit: this.limit, ...this.search});
+            },
+            toQuery() {
+                this.$set(this, `currentPage`, 1);
+                this.$emit('select', {skip: 0, limit: this.limit, ...this.search});
+            },
+            toClear() {
+                let keys = Object.keys(this.search);
+                for (const key of keys) {
+                    this.$set(this.search, `${key}`, '');
+                }
+            },
+            showImage(image) {
+                if(image){
+                    this.$set(this, `elImage`, image);
+                    this.$set(this, `dialogVisible`, true);
+                }else{
+                    this.$set(this, `dialogVisible`, false);
+                }
+            },
+            getDate(val) {
+                if(val){
+                    return this.format(new Date(Number(val)),'yyyy年MM月dd');
+                }
+                return '';
+            },
+            format(date,formatStr){
+                formatStr=formatStr.replace(/yyyy|YYYY/,date.getFullYear());
+                formatStr=formatStr.replace(/MM/,(date.getMonth()+1)>9?(date.getMonth()+1).toString():'0' + (date.getMonth()+1));
+                formatStr=formatStr.replace(/dd|DD/,date.getDate()>9?date.getDate().toString():'0' + date.getDate());
+                return formatStr;
+            },
+            publish(row){
+                if(row.publish_state === '1'){
+                    this.$message.error('已发布');
+                    return ;
+                }
+                this.$emit('publish', {row:row,skip: (this.currentPage - 1) * this.limit, limit: this.limit, ...this.search});
+            },
+            openDialog(){
+                this.$set(this, `input`, '');
+            },
+            confirmClick(){
+                this.$set(this, `dialogFormVisible`, false);
+                switch(this.tempState)
+                {
+                    case '0':
+                        break;
+                    case '1':
+                        break;
+                    case '2':
+                        break;
+                    case '3':
+                        this.$emit('updateState', {id:this.tempId,state:this.tempState,result:this.input,skip: (this.currentPage - 1) * this.limit, limit: this.limit, ...this.search});
+                        break;
+                    case '-2':
+                        this.$emit('updateState', {id:this.tempId,state:'1',result:this.input,skip: (this.currentPage - 1) * this.limit, limit: this.limit, ...this.search});
+                        break;
+                    case '9':
+                        this.$emit('updateState', {id:this.tempId,state:this.tempState,result:this.input,skip: (this.currentPage - 1) * this.limit, limit: this.limit, ...this.search});
+                        break;
+                }
+            },
+            cancelClick(){
+                this.$set(this, `dialogFormVisible`, false);
+                switch(this.tempState)
+                {
+                    case '0':
+                        break;
+                    case '1':
+                        break;
+                    case '2':
+                        break;
+                    case '3':
+                        break;
+                    case '-2':
+                        this.$emit('updateState', {id:this.tempId,state:'2',result:this.input,skip: (this.currentPage - 1) * this.limit, limit: this.limit, ...this.search});
+                        break;
+                    case '9':
+                        break;
+                }
+            },
+            updateState(row,state){
+                this.$set(this, `tempId`, row.id);
+                this.$set(this, `tempState`, state);
+                switch(state)
+                {
+                    case '0':
+                        break;
+                    case '1':
+                        break;
+                    case '2':
+                        break;
+                    case '3':
+                        if(row.current_state === state){
+                            this.$message.error('已停用');
+                        }else{
+                            this.$set(this, `confirm`, '停用');
+                            this.$set(this, `cancel`, '取消');
+                            this.$set(this, `dialogFormVisible`, true);
+                        }
+                        break;
+                    case '-2':
+                        this.$set(this, `confirm`, '审核通过');
+                        this.$set(this, `cancel`, '审核拒绝');
+                        this.$set(this, `dialogFormVisible`, true);
+                        break;
+                    case '9':
+                        this.$set(this, `confirm`, '完成');
+                        this.$set(this, `cancel`, '取消');
+                        this.$set(this, `dialogFormVisible`, true);
+                        break;
+                }
+            },
+            getState(val) {
+                switch(val)
+                {
+                    case '0':
+                        return '未审核';
+                    case '1':
+                        return '审核通过';
+                    case '2':
+                        return '审核拒绝';
+                    case '9':
+                        return '完成';
+                    case '3':
+                        return '停用';
+                }
+            },
+            getDemandState(val) {
+                let match = val.finance_follow.orcredit;
+                switch(match)
+                {
+                    case '0':
+                        return '已接单';
+                    case '1':
+                        return '已放款';
+                    case '2':
+                        return '已审批';
+                    case '3':
+                        return '已拒绝';
+                    case '9':
+                        return '已推送';
+                }
+            },
+            getTimeoutState(val) {
+                let match = val.finance_follow.orcredit;
+                let timeout = val.next_is_timeout === '1' ? '已超时' : '未超时';
+                switch(match)
+                {
+                    case '0':
+                        return '审批'+ timeout;
+                    case '1':
+                        return '';
+                    case '2':
+                        return '放款'+ timeout;
+                    case '3':
+                        return '';
+                    case '9':
+                        return '接单'+ timeout;
+                }
+            },
+            tableRowClassName({ row, rowIndex }) {
+                console.log(row.creditStatus, rowIndex);
+                if (row.next_is_timeout == '1') {
+                    return 'warning-row';
+                }
+                return '';
+            },
+        },
+    };
+</script>
+
+<style lang="less" scoped>
+    /deep/ .el-checkbox__input.is-checked .el-checkbox__inner {
+        background-color: red;
+        border-color: red;
+    }
+
+    /deep/ .el-checkbox__input.is-indeterminate .el-checkbox__inner {
+        background-color: red;
+        border-color: red;
+    }
+
+    /deep/ .el-table th {
+        background-color: #f5f6fa;
+        padding: 8px 0;
+    }
+
+    /deep/ .el-table td {
+        padding: 11px 0;
+    }
+    /deep/.el-table  .warning-row {
+        background:oldlace;
+    }
+
+    .other {
+        color: #f36302;
+    }
+
+    .view {
+        color: #f36302;
+    }
+
+    .edit {
+        color: #2ccc02;
+    }
+
+    .delete {
+        color: #e9021d;
+    }
+
+    /deep/ .el-pagination {
+        padding: 26px 20px;
+    }
+
+    /deep/ .el-pagination.is-background .el-pager li:not(.disabled).active {
+        background-color: red;
+    }
+
+    .input {
+        width: 150px;
+    }
+
+    /deep/ .el-input__inner {
+        height: 35px;
+        line-height: 35px;
+    }
+    /deep/  .el-table .cell {
+        overflow: hidden;
+        text-overflow: ellipsis;
+        white-space: nowrap;
+    }
+
+    .btnSearch {
+        width: 80px;
+        height: 34px;
+        background: rgba(233, 2, 29, 1);
+        border-radius: 4px;
+        padding: 0;
+        color: #fff;
+    }
+
+    .qing {
+        background: rgba(185, 185, 185, 1);
+    }
+
+    .top {
+        height: 50px;
+        margin: 0 0 10px 0;
+    }
+
+    .search {
+        background: #ffffff;
+        width: 97%;
+        height: 35px;
+        margin: 20px;
+        margin-left: 0px;
+    }
+
+    .list {
+        padding: 0 20px;
+    }
+</style>

+ 8 - 3
src/layout/tDeclarationApproval/tDeclarationApprovalList.vue

@@ -37,7 +37,7 @@
           >
             <!--<el-table-column type="selection" align="center"> </el-table-column>-->
             <el-table-column type="index" label="序号" width="50" align="center"></el-table-column>
-            <el-table-column property="company_name" label="企业名称" align="center"> </el-table-column>
+            <el-table-column property="company_name" label="企业名称" align="center" width="300" > </el-table-column>
             <el-table-column property="contact" label="联系人" align="center"> </el-table-column>
             <el-table-column property="phone" label="联系电话" align="center"> </el-table-column>
             <!--<el-table-column property="additional_explanation" label="补充说明" align="center"> </el-table-column>-->
@@ -46,7 +46,7 @@
                 <span>{{ getDate(scope.row.create_time) }}</span>
               </template>
             </el-table-column>
-            <el-table-column property="policy_declaration_title" label="政策名称" align="center"> </el-table-column>
+            <el-table-column property="policy_declaration_title" label="政策名称" align="center" width="300" > </el-table-column>
             <!--<el-table-column label="单位" align="center">
               <template slot-scope="scope">
                 <span>{{ scope.row.type === '1' ? '金融办' : scope.row.type === '2' ? '其他政府部门' : '工信厅'}}</span>
@@ -64,7 +64,7 @@
               </template>
             </el-table-column>
             <el-table-column property="current_approval" label="审核人" align="center"> </el-table-column>
-            <el-table-column label="操作" align="center" width="300px">
+            <el-table-column label="操作" align="center" width="150px">
               <template slot-scope="scope">
                 <el-button size="mini" type="text" class="other" @click="updateState(scope.row,'9')" v-if="scope.row.current_state === '1'">完成</el-button>
                 <el-button size="mini" type="text" class="other" @click="updateState(scope.row,'-2')" v-if="scope.row.current_state === '0'">审核</el-button>
@@ -301,6 +301,11 @@
   /deep/ .el-table td {
     padding: 11px 0;
   }
+  /deep/  .el-table .cell {
+    overflow: hidden;
+    text-overflow: ellipsis;
+    white-space: nowrap;
+  }
 
   .other {
     color: #f36302;

+ 4 - 4
src/layout/tNewAssign/tNewAssignForm.vue

@@ -28,7 +28,7 @@
                 <span>{{ ruleForm.ensure_name }}</span>
               </el-form-item>
             </el-col>
-            <el-col :span="12">
+            <!--<el-col :span="12">
               <el-form-item label="项目情况:">
                 <span>{{ ruleForm.project_status }}</span>
               </el-form-item>
@@ -37,8 +37,8 @@
               <el-form-item label="备注:">
                 <span>{{ ruleForm.remarks }}</span>
               </el-form-item>
-            </el-col>
-            <el-col :span="12">
+            </el-col>-->
+            <!--<el-col :span="12">
               <el-form-item label="期望利率范围:">
                 <span>{{ `${ruleForm.mongey_min_rate}%~${ruleForm.mongey_max_rate}%` }}</span>
               </el-form-item>
@@ -47,7 +47,7 @@
               <el-form-item label="期望融资期限(个月):">
                 <span>{{ `${ruleForm.claims_min_term}个月~${ruleForm.claims_max_term}个月` }}</span>
               </el-form-item>
-            </el-col>
+            </el-col>-->
 
             <el-col :span="12">
               <el-form-item label="金融机构名称:">

+ 22 - 1
src/layout/tNewAssign/tNewAssignList.vue

@@ -37,6 +37,11 @@
                         <el-table-column property="company_name" label="企业名称" align="center" width="300px"> </el-table-column>
                         <el-table-column property="money" label="融资金额(万元)" align="center"> </el-table-column>
                         <el-table-column property="use" label="融资用途" align="center"> </el-table-column>
+                       <!-- <el-table-column label="需求状态" align="center">
+                            <template slot-scope="scope">
+                                <span>{{ getDemandState(scope.row)}}</span>
+                            </template>
+                        </el-table-column>-->
                         <el-table-column property="institution_name" label="金融机构名称" align="center"> </el-table-column>
                         <el-table-column property="product_name" label="产品名称" align="center"> </el-table-column>
 
@@ -46,7 +51,7 @@
                             </template>
                         </el-table-column>
 
-                        <el-table-column label="操作" align="center" width="300px">
+                        <el-table-column label="操作" align="center" width="150px">
                             <template slot-scope="scope">
                                 <!--<el-button size="mini" type="text" class="other" @click="updateState(scope.row,'9')" v-if="scope.row.current_state === '1'">完成</el-button>
                                 <el-button size="mini" type="text" class="other" @click="updateState(scope.row,'-2')" v-if="scope.row.current_state === '0'">审核</el-button>
@@ -260,6 +265,22 @@
                         return '停用';
                 }
             },
+            getDemandState(val) {
+                let match = val.finance_follow.orcredit;
+                switch(match)
+                {
+                    case '0':
+                        return '已接单';
+                    case '1':
+                        return '已放款';
+                    case '2':
+                        return '已审批';
+                    case '3':
+                        return '已拒绝';
+                    case '9':
+                        return '已推送';
+                }
+            },
         },
     };
 </script>

+ 4 - 4
src/layout/tUrgeHandle/tUrgeHandleForm.vue

@@ -37,7 +37,7 @@
                 <span>{{ ruleForm.ensure_name }}</span>
               </el-form-item>
             </el-col>
-            <el-col :span="12">
+            <!--<el-col :span="12">
               <el-form-item label="项目情况:">
                 <span>{{ ruleForm.project_status }}</span>
               </el-form-item>
@@ -46,8 +46,8 @@
               <el-form-item label="备注:">
                 <span>{{ ruleForm.remarks }}</span>
               </el-form-item>
-            </el-col>
-            <el-col :span="12">
+            </el-col>-->
+            <!--<el-col :span="12">
               <el-form-item label="期望利率范围:">
                 <span>{{ `${ruleForm.mongey_min_rate}%~${ruleForm.mongey_max_rate}%` }}</span>
               </el-form-item>
@@ -56,7 +56,7 @@
               <el-form-item label="期望融资期限(个月):">
                 <span>{{ `${ruleForm.claims_min_term}个月~${ruleForm.claims_max_term}个月` }}</span>
               </el-form-item>
-            </el-col>
+            </el-col>-->
 
             <el-col :span="24" class="clickBtn">
               <el-button @click="submitForm">催办</el-button>

+ 21 - 0
src/router/index.js

@@ -137,6 +137,27 @@ const routes = [
     path: '/financingTNewAssign/detail',
     component: () => import('../views/financingTNewAssign/detail.vue'),
   },
+
+  // 金融超市
+  {
+    path: '/moneySupermarket/index',
+    component: () => import('../views/moneySupermarket/index.vue'),
+  },
+  {
+    path: '/moneySupermarket/detail',
+    component: () => import('../views/moneySupermarket/detail.vue'),
+  },
+  // 智能匹配
+  {
+    path: '/intelligentMatching/index',
+    component: () => import('../views/intelligentMatching/index.vue'),
+  },
+  {
+    path: '/intelligentMatching/detail',
+    component: () => import('../views/intelligentMatching/detail.vue'),
+  },
+
+
   //对接成果 金融产品
   {
     path: '/FinancialProducts',

+ 2 - 2
src/views/financingTNewAssign/detail.vue

@@ -125,8 +125,8 @@
           this.resetForm();
           return ;
         }
-        if(resFetch.data.refuse_times > 2){
-          this.$message.error('金融机构已拒绝3次,无法指派!');
+        if(resFetch.data.refuse_times > 4){
+          this.$message.error('金融机构已拒绝5次,无法指派!');
           this.resetForm();
           return ;
         }

+ 133 - 0
src/views/intelligentMatching/detail.vue

@@ -0,0 +1,133 @@
+<template>
+  <div id="detail">
+    <el-row>
+      <el-col :span="24">
+        <el-col :span="24" class="top">
+          <detailTopInfo :topTitle="topTitle" :display="display" @goBack="goBack"></detailTopInfo>
+        </el-col>
+        <el-col :span="24" class="main">
+          <tUrgeHandleForm :ruleForm="ruleForm" @submitForm="submitForm" @resetForm="resetForm"></tUrgeHandleForm>
+        </el-col>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+  import detailTopInfo from '@/layout/custom/detailTopInfo.vue';
+  import tUrgeHandleForm from '@/layout/intelligentMatching/tUrgeHandleForm.vue';
+  import { mapState, createNamespacedHelpers, mapGetters } from 'vuex';
+  const { mapActions: tUrgeHandle } = createNamespacedHelpers('tUrgeHandle');
+  const { mapActions: dictionary } = createNamespacedHelpers('dictionary');
+
+  export default {
+    name: 'detail',
+    props: {},
+    components: {
+      detailTopInfo, //头部导航
+      tUrgeHandleForm,
+    },
+    data: () => ({
+      display: 'block',
+      topTitle: '智能匹配',
+      ruleForm: {},
+      loading: true,
+      subject_classification_list: [],
+      subject_headings_list: [],
+      company_description_list: [],
+    }),
+    created() {
+      console.log(this.demand_id);
+      this.select();
+      /*this.selectDict(['subject_classification','subject_headings','company_description']);*/
+    },
+    computed: {
+      demand_id() {
+        return this.$route.query.demand_id;
+      },
+      ...mapState(['user']),
+    },
+    methods: {
+      ...tUrgeHandle({create:'create',delete:'delete',update:'update',fetch:'fetch',query:'financingSelect'}),
+      ...dictionary({dictQuery:'query'}),
+      // 返回
+      goBack() {
+        this.$router.go(-1);
+      },
+      async select() {
+        if (this.demand_id) {
+          const res = await this.query({ skip:0, limit:1, demand_id: this.demand_id});
+          this.$set(this, `ruleForm`, res.data[0]);
+        }
+      },
+      filterDict(dict){
+        return dict.filter((val) => {
+          return val.name !== '不限';
+        });
+      },
+      async selectDict(arr) {
+        for (let value of arr) {
+          let res = await this.dictQuery({skip:0,limit:100,type:value});
+          this.$set(this, `${value}_list`, this.filterDict(res.data));
+        }
+      },
+      // 提交
+      async submitForm({ data }) {
+        console.log(this.user);
+        data.type = '2';
+        data.government_id = this.user.uid;
+        data.government_name = this.user.name;
+        data.company_type = '1';
+        //console.log(data);
+        let res = await this.create(data);
+        this.$checkRes(res, '催办成功', '催办失败');
+        this.resetForm();
+
+        /*if(!data.image){
+          this.$message.error('请上传图片');
+          return ;
+        }*/
+       /* let res;
+        if (this.id) {
+          if(data.current_state !== '0'){
+            this.$message.error('只有"未审核"的政策允许修改');
+            return ;
+          }
+          res = await this.update(data);
+          if (res.errcode === 0) {
+            this.$message({
+              message: '信息修改成功',
+              type: 'success',
+            });
+          }
+        } else {
+          data.current_approval_id = this.user.uid;
+          res = await this.create(data);
+          if (res.errcode === 0) {
+            this.$message({
+              message: '信息创建成功',
+              type: 'success',
+            });
+          }
+        }
+        if (this.$checkRes(res)) this.resetForm();*/
+      },
+      // 取消
+      resetForm() {
+        this.$router.push({ path: '/intelligentMatching/index' });
+      },
+    },
+  };
+</script>
+
+<style lang="less" scoped>
+  .top {
+    height: 50px;
+    margin: 0 0 10px 0;
+  }
+  .main {
+    min-height: 765px;
+    background: #ffffff;
+    padding: 20px;
+  }
+</style>

+ 110 - 0
src/views/intelligentMatching/index.vue

@@ -0,0 +1,110 @@
+<template>
+  <div id="index">
+    <el-row>
+      <el-col :span="24" class="top">
+        <topInfo :topTitle="topTitle" :display="display" @add="add"></topInfo>
+      </el-col>
+      <el-col :span="24" class="main">
+        <el-col :span="24" class="list">
+          <tUrgeHandleList :tableData="tableData" :total="total" @deleteRow="deleteRow" @select="select" @updateState="updateState"></tUrgeHandleList>
+        </el-col>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+<script>
+  import topInfo from '@/layout/custom/topInfo.vue';
+  import tUrgeHandleList from '@/layout/intelligentMatching/tUrgeHandleList.vue';
+  import { mapState, createNamespacedHelpers, mapGetters } from 'vuex';
+  const { mapActions: tUrgeHandle } = createNamespacedHelpers('tUrgeHandle');
+  const { mapActions: dictionary } = createNamespacedHelpers('dictionary');
+
+  export default {
+    name: 'index',
+    props: {},
+    components: {
+      topInfo, //头部导航
+      tUrgeHandleList, //列表
+    },
+    data: () => ({
+      topTitle: '智能匹配',
+      display: '',
+      tableData: [],
+      total: 0,
+    }),
+    created() {
+      this.select();
+    },
+    computed: {
+      ...mapState(['user']),
+    },
+    methods: {
+      ...tUrgeHandle({query:'financingSelect'}),
+      ...dictionary({dictQuery:'query'}),
+      async select({ skip = 0, limit = 10, ...info } = {}) {
+        const res = await this.query({ skip, limit, ...info });
+        if (this.$checkRes(res)) {
+          this.$set(this, `tableData`, res.data);
+          this.$set(this, `total`, res.total);
+        }
+      },
+      add() {
+        this.$router.push({ path: '/tDeclarationApproval/detail' });
+      },
+      async deleteRow({ id, skip = 0, limit = 10, ...info } = {}) {
+        const res = await this.delete(id);
+        this.$checkRes(res, '删除成功', '删除失败');
+        this.select({ skip, limit, ...info });
+      },
+      async publish({ row ,skip = 0, limit = 10, ...info } = {}){
+        let res = await this.update({id:row.id,publish_state:1,publish_state_description:'已发布',publish_time:new Date().getTime()});
+        this.$checkRes(res, '发布成功', '发布失败');
+        this.select({ skip, limit, ...info });
+      },
+      async updateState({ id ,state ,result,skip = 0, limit = 10, ...info } = {}){
+        let res = null;
+        switch(state)
+        {
+          case '0':
+            break ;
+          case '1':
+            res = await this.state({id:id,current_approval_id:this.user.uid,state:state,state_description:'',result_description:result});
+            this.$checkRes(res, '审核成功', '审核失败');
+            break;
+          case '2':
+            res = await this.state({id:id,current_approval_id:this.user.uid,state:state,state_description:'',result_description:result});
+            this.$checkRes(res, '审核成功', '审核失败');
+            break;
+          case '3':
+            res = await this.state({id:id,current_approval_id:this.user.uid,state:state,state_description:'',result_description:result});
+            this.$checkRes(res, '停用成功', '停用失败');
+            break;
+          case '9':
+            res = await this.state({id:id,current_approval_id:this.user.uid,state:state,state_description:'',result_description:result});
+            this.$checkRes(res, '完成成功', '完成失败');
+            break;
+        }
+        this.select({ skip, limit, ...info });
+      },
+    },
+  };
+</script>
+
+<style lang="less" scoped>
+  .top {
+    height: 50px;
+    margin: 0 0 10px 0;
+  }
+  .main {
+    min-height: 765px;
+    background: #ffffff;
+  }
+  .search {
+    width: 97%;
+    height: 35px;
+    margin: 20px;
+  }
+  .list {
+    padding: 0 20px;
+  }
+</style>

+ 133 - 0
src/views/moneySupermarket/detail.vue

@@ -0,0 +1,133 @@
+<template>
+  <div id="detail">
+    <el-row>
+      <el-col :span="24">
+        <el-col :span="24" class="top">
+          <detailTopInfo :topTitle="topTitle" :display="display" @goBack="goBack"></detailTopInfo>
+        </el-col>
+        <el-col :span="24" class="main">
+          <tUrgeHandleForm :ruleForm="ruleForm" @submitForm="submitForm" @resetForm="resetForm"></tUrgeHandleForm>
+        </el-col>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+  import detailTopInfo from '@/layout/custom/detailTopInfo.vue';
+  import tUrgeHandleForm from '@/layout/moneySupermarket/tUrgeHandleForm.vue';
+  import { mapState, createNamespacedHelpers, mapGetters } from 'vuex';
+  const { mapActions: tUrgeHandle } = createNamespacedHelpers('tUrgeHandle');
+  const { mapActions: dictionary } = createNamespacedHelpers('dictionary');
+
+  export default {
+    name: 'detail',
+    props: {},
+    components: {
+      detailTopInfo, //头部导航
+      tUrgeHandleForm,
+    },
+    data: () => ({
+      display: 'block',
+      topTitle: '金融超市',
+      ruleForm: {},
+      loading: true,
+      subject_classification_list: [],
+      subject_headings_list: [],
+      company_description_list: [],
+    }),
+    created() {
+      console.log(this.demand_id);
+      this.select();
+      /*this.selectDict(['subject_classification','subject_headings','company_description']);*/
+    },
+    computed: {
+      demand_id() {
+        return this.$route.query.demand_id;
+      },
+      ...mapState(['user']),
+    },
+    methods: {
+      ...tUrgeHandle(['create', 'delete', 'update', 'fetch', 'query']),
+      ...dictionary({dictQuery:'query'}),
+      // 返回
+      goBack() {
+        this.$router.go(-1);
+      },
+      async select() {
+        if (this.demand_id) {
+          const res = await this.query({ skip:0, limit:1, demand_id: this.demand_id});
+          this.$set(this, `ruleForm`, res.data[0]);
+        }
+      },
+      filterDict(dict){
+        return dict.filter((val) => {
+          return val.name !== '不限';
+        });
+      },
+      async selectDict(arr) {
+        for (let value of arr) {
+          let res = await this.dictQuery({skip:0,limit:100,type:value});
+          this.$set(this, `${value}_list`, this.filterDict(res.data));
+        }
+      },
+      // 提交
+      async submitForm({ data }) {
+        console.log(this.user);
+        data.type = '1';
+        data.government_id = this.user.uid;
+        data.government_name = this.user.name;
+        data.company_type = '1';
+        //console.log(data);
+        let res = await this.create(data);
+        this.$checkRes(res, '催办成功', '催办失败');
+        this.resetForm();
+
+        /*if(!data.image){
+          this.$message.error('请上传图片');
+          return ;
+        }*/
+       /* let res;
+        if (this.id) {
+          if(data.current_state !== '0'){
+            this.$message.error('只有"未审核"的政策允许修改');
+            return ;
+          }
+          res = await this.update(data);
+          if (res.errcode === 0) {
+            this.$message({
+              message: '信息修改成功',
+              type: 'success',
+            });
+          }
+        } else {
+          data.current_approval_id = this.user.uid;
+          res = await this.create(data);
+          if (res.errcode === 0) {
+            this.$message({
+              message: '信息创建成功',
+              type: 'success',
+            });
+          }
+        }
+        if (this.$checkRes(res)) this.resetForm();*/
+      },
+      // 取消
+      resetForm() {
+        this.$router.push({ path: '/moneySupermarket/index' });
+      },
+    },
+  };
+</script>
+
+<style lang="less" scoped>
+  .top {
+    height: 50px;
+    margin: 0 0 10px 0;
+  }
+  .main {
+    min-height: 765px;
+    background: #ffffff;
+    padding: 20px;
+  }
+</style>

+ 110 - 0
src/views/moneySupermarket/index.vue

@@ -0,0 +1,110 @@
+<template>
+  <div id="index">
+    <el-row>
+      <el-col :span="24" class="top">
+        <topInfo :topTitle="topTitle" :display="display" @add="add"></topInfo>
+      </el-col>
+      <el-col :span="24" class="main">
+        <el-col :span="24" class="list">
+          <tUrgeHandleList :tableData="tableData" :total="total" @deleteRow="deleteRow" @select="select" @updateState="updateState"></tUrgeHandleList>
+        </el-col>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+<script>
+  import topInfo from '@/layout/custom/topInfo.vue';
+  import tUrgeHandleList from '@/layout/moneySupermarket/tUrgeHandleList.vue';
+  import { mapState, createNamespacedHelpers, mapGetters } from 'vuex';
+  const { mapActions: tUrgeHandle } = createNamespacedHelpers('tUrgeHandle');
+  const { mapActions: dictionary } = createNamespacedHelpers('dictionary');
+
+  export default {
+    name: 'index',
+    props: {},
+    components: {
+      topInfo, //头部导航
+      tUrgeHandleList, //列表
+    },
+    data: () => ({
+      topTitle: '金融超市',
+      display: '',
+      tableData: [],
+      total: 0,
+    }),
+    created() {
+      this.select();
+    },
+    computed: {
+      ...mapState(['user']),
+    },
+    methods: {
+      ...tUrgeHandle(['create', 'delete', 'update', 'fetch', 'query']),
+      ...dictionary({dictQuery:'query'}),
+      async select({ skip = 0, limit = 10, ...info } = {}) {
+        const res = await this.query({ skip, limit, ...info });
+        if (this.$checkRes(res)) {
+          this.$set(this, `tableData`, res.data);
+          this.$set(this, `total`, res.total);
+        }
+      },
+      add() {
+        this.$router.push({ path: '/tDeclarationApproval/detail' });
+      },
+      async deleteRow({ id, skip = 0, limit = 10, ...info } = {}) {
+        const res = await this.delete(id);
+        this.$checkRes(res, '删除成功', '删除失败');
+        this.select({ skip, limit, ...info });
+      },
+      async publish({ row ,skip = 0, limit = 10, ...info } = {}){
+        let res = await this.update({id:row.id,publish_state:1,publish_state_description:'已发布',publish_time:new Date().getTime()});
+        this.$checkRes(res, '发布成功', '发布失败');
+        this.select({ skip, limit, ...info });
+      },
+      async updateState({ id ,state ,result,skip = 0, limit = 10, ...info } = {}){
+        let res = null;
+        switch(state)
+        {
+          case '0':
+            break ;
+          case '1':
+            res = await this.state({id:id,current_approval_id:this.user.uid,state:state,state_description:'',result_description:result});
+            this.$checkRes(res, '审核成功', '审核失败');
+            break;
+          case '2':
+            res = await this.state({id:id,current_approval_id:this.user.uid,state:state,state_description:'',result_description:result});
+            this.$checkRes(res, '审核成功', '审核失败');
+            break;
+          case '3':
+            res = await this.state({id:id,current_approval_id:this.user.uid,state:state,state_description:'',result_description:result});
+            this.$checkRes(res, '停用成功', '停用失败');
+            break;
+          case '9':
+            res = await this.state({id:id,current_approval_id:this.user.uid,state:state,state_description:'',result_description:result});
+            this.$checkRes(res, '完成成功', '完成失败');
+            break;
+        }
+        this.select({ skip, limit, ...info });
+      },
+    },
+  };
+</script>
+
+<style lang="less" scoped>
+  .top {
+    height: 50px;
+    margin: 0 0 10px 0;
+  }
+  .main {
+    min-height: 765px;
+    background: #ffffff;
+  }
+  .search {
+    width: 97%;
+    height: 35px;
+    margin: 20px;
+  }
+  .list {
+    padding: 0 20px;
+  }
+</style>