Browse Source

提交代码

chenpm 6 months ago
parent
commit
7fa03b0734

File diff suppressed because it is too large
+ 1017 - 0
report.20241121.143701.65338.0.001.json


+ 705 - 0
src/views/company/companyForm.vue

@@ -0,0 +1,705 @@
+<template>
+  <div v-loading="loading">
+    <el-form ref="form" :show-message="true" :model="form" style="width: 100%;padding: 5px" :rules="rules">
+      <el-row>
+        <el-col style="padding-bottom: 10px">
+          <span class="card_title">企业信息</span>
+          <el-card shadow="always" style="padding: 15px 5px 5px 15px">
+            <el-row>
+              <el-col :span="3" class="col-txt"><span>*企业名称</span></el-col>
+              <el-col :span="9" class="col-input">
+                <el-form-item prop="qymc">
+                  <el-input v-model="form.qymc" :readonly="!isHandle&&isView" />
+                </el-form-item>
+              </el-col>
+              <el-col :span="3" class="col-txt"><span>*统一社会信用代码</span></el-col>
+              <el-col :span="9" class="col-input">
+                <el-form-item prop="shxydm">
+                  <el-input v-model="form.shxydm" :readonly="!isHandle&&isView" />
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="3" class="col-txt"><span>注册资金(万元)</span></el-col>
+              <el-col :span="9" class="col-input">
+                <el-form-item>
+                  <el-input v-model="form.zczj" oninput="value=value.replace(/[^\d.]/g,'')" :readonly="!isHandle&&isView" />
+                </el-form-item>
+              </el-col>
+              <el-col :span="3" class="col-txt"><span>币种</span></el-col>
+              <el-col :span="9" class="col-input">
+                <el-form-item>
+                  <el-select v-model="form.currency" placeholder="" filterable :disabled="!isHandle&&isView">
+                    <el-option
+                      v-for="item in dc_data.CURRENCY"
+                      :key="item.value"
+                      :label="item.label"
+                      :value="item.value"
+                    />
+                  </el-select>
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="3" class="col-txt"><span>注册时间</span></el-col>
+              <el-col :span="9" class="col-input">
+                <el-form-item>
+                  <el-date-picker
+                    v-model="form.zcsj"
+                    style="width: 100%"
+                    :disabled="!isHandle&&isView"
+                    value-format="yyyy-MM-dd"
+                    format="yyyy-MM-dd"
+                    type="date"
+                  />
+                </el-form-item>
+              </el-col>
+              <el-col :span="3" class="col-txt"><span>法定代表人</span></el-col>
+              <el-col :span="9" class="col-input">
+                <el-form-item>
+                  <el-input v-model="form.fddbr" :readonly="!isHandle&&isView" />
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="3" class="col-txt"><span>法人电话</span></el-col>
+              <el-col :span="9" class="col-input">
+                <el-form-item>
+                  <el-input v-model="form.legalPersonPhone" oninput="value=value.replace(/[^\d-]/g,'')" :readonly="!isHandle&&isView" />
+                </el-form-item>
+              </el-col>
+              <el-col :span="3" class="col-txt"><span>法人邮箱</span></el-col>
+              <el-col :span="9" class="col-input">
+                <el-form-item>
+                  <el-input v-model="form.frEmail" :readonly="!isHandle&&isView" />
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="3" class="col-txt"><span>*企业联系人</span></el-col>
+              <el-col :span="9" class="col-input">
+                <el-form-item prop="qylxr">
+                  <el-input v-model="form.qylxr" :readonly="!isHandle&&isView" />
+                </el-form-item>
+              </el-col>
+              <el-col :span="3" class="col-txt"><span>*联系人手机</span></el-col>
+              <el-col :span="9" class="col-input">
+                <el-form-item prop="lxdh">
+                  <el-input v-model="form.lxdh" oninput="value=value.replace(/[^\d-]/g,'')" :readonly="!isHandle&&isView" />
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="3" class="col-txt"><span>*联系人邮箱</span></el-col>
+              <el-col :span="9" class="col-input">
+                <el-form-item prop="email">
+                  <el-input v-model="form.email" :readonly="!isHandle&&isView" />
+                </el-form-item>
+              </el-col>
+              <el-col :span="3" class="col-txt"><span>*财务负责人</span></el-col>
+              <el-col :span="9" class="col-input">
+                <el-form-item prop="cwfzr">
+                  <el-input v-model="form.cwfzr" :readonly="!isHandle&&isView" />
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="3" class="col-txt"><span>*负责人电话</span></el-col>
+              <el-col :span="9" class="col-input">
+                <el-form-item prop="cwfzrdh">
+                  <el-input v-model="form.cwfzrdh" oninput="value=value.replace(/[^\d-]/g,'')" :readonly="!isHandle&&isView" />
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="3" class="col-txt"><span>注册地址</span></el-col>
+              <el-col :span="21" class="col-input">
+                <el-form-item>
+                  <el-input v-model="form.zcdz" :readonly="!isHandle&&isView" />
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="3" class="col-txt"><span>经营地址</span></el-col>
+              <el-col :span="21" class="col-input">
+                <el-form-item>
+                  <el-input v-model="form.jydz" :readonly="!isHandle&&isView" />
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="3" class="col-txt"><span>经营范围</span></el-col>
+              <el-col :span="21" class="col-input">
+                <el-form-item>
+                  <el-input v-model="form.jyfw" type="textarea" :autosize="{ minRows: 6}" :readonly="!isHandle&&isView" />
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="3" class="col-txt"><span>营业执照</span></el-col>
+              <el-col :span="20" class="col-input">
+                <el-form-item>
+                  <el-upload
+                    ref="upload"
+                    action=""
+                    accept="image/png,image/gif,image/jpg,image/jpeg"
+                    list-type="picture-card"
+                    :file-list="fileList"
+                    :limit="1"
+                    :http-request="uploadFile"
+                    :on-preview="handlePictureCardPreview"
+                    :on-remove="handleRemove"
+                    :on-exceed="handleExceed"
+                    :disabled="!isHandle&&isView"
+                  >
+                    <i class="el-icon-plus" />
+                    <div slot="tip" class="el-upload__tip">
+                      只能上传jpg/png文件,限制上传1张
+                    </div>
+                  </el-upload>
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="3" class="col-txt"><span>荣誉信息</span></el-col>
+              <el-col :span="21" class="col-input">
+                <el-form-item>
+                  <el-input v-model="form.honorInformation" type="textarea" :autosize="{ minRows: 6}" :readonly="!isHandle&&isView" />
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="3" style="border:1px solid transparent"><span /></el-col>
+              <el-col :span="20" class="col-input">
+                <el-form-item>
+                  <el-upload
+                    ref="upload1"
+                    action=""
+                    accept="image/png,image/gif,image/jpg,image/jpeg"
+                    list-type="picture-card"
+                    :file-list="fileList1"
+                    :limit="6"
+                    :on-preview="handlePictureCardPreview"
+                    :http-request="uploadFile1"
+                    :on-remove="handleRemove1"
+                    :on-exceed="handleExceed"
+                    :disabled="!isHandle&&isView"
+                  >
+                    <i class="el-icon-plus" />
+                    <div slot="tip" class="el-upload__tip">
+                      只能上传jpg/png文件,限制上传6张
+                    </div>
+                  </el-upload>
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="3" class="col-txt"><span>法人身份证</span></el-col>
+              <el-col :span="20" class="col-input">
+                <el-form-item>
+                  <el-upload
+                    ref="upload2"
+                    action=""
+                    accept="image/png,image/gif,image/jpg,image/jpeg"
+                    list-type="picture-card"
+                    :file-list="fileList2"
+                    :limit="2"
+                    :http-request="uploadFile2"
+                    :on-preview="handlePictureCardPreview"
+                    :on-remove="handleRemove2"
+                    :on-exceed="handleExceed"
+                    :disabled="!isHandle&&isView"
+                  >
+                    <i class="el-icon-plus" />
+                    <div slot="tip" class="el-upload__tip">
+                      只能上传jpg/png文件,限制上传2张
+                    </div>
+                  </el-upload>
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="3" class="col-txt"><span>全年研发投入</span></el-col>
+              <el-col :span="18" class="col-input">
+                <el-form-item>
+                  <el-input v-model="form.rdInvestment" oninput="value=value.replace(/[^\d.]/g,'')" :readonly="!isHandle&&isView" />
+                </el-form-item>
+              </el-col>
+              <el-col :span="3" class="col-txt" style=" text-align: left;padding-left: 10px"><span>万元</span></el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="3" class="col-txt"><span>全年技改投入</span></el-col>
+              <el-col :span="18" class="col-input">
+                <el-form-item>
+                  <el-input v-model="form.jgInvestment" oninput="value=value.replace(/[^\d.]/g,'')" :readonly="!isHandle&&isView" />
+                </el-form-item>
+              </el-col>
+              <el-col :span="3" class="col-txt" style=" text-align: left;padding-left: 10px"><span>万元</span></el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="3" class="col-txt"><span>拥有知识产权个数</span></el-col>
+              <el-col :span="21" class="col-input">
+                <el-form-item>
+                  <el-input v-model="form.zscqgs" oninput="value=value.replace(/[^\d.]/g,'')" :readonly="!isHandle&&isView" />
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="3" class="col-txt"><span>四技合同金额(开发)</span></el-col>
+              <el-col :span="18" class="col-input">
+                <el-form-item>
+                  <el-input v-model="form.fourOpennessAmount" oninput="value=value.replace(/[^\d.]/g,'')" :readonly="!isHandle&&isView" />
+                </el-form-item>
+              </el-col>
+              <el-col :span="3" class="col-txt" style=" text-align: left;padding-left: 10px"><span>万元</span></el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="3" class="col-txt"><span>四技合同金额(转让)</span></el-col>
+              <el-col :span="18" class="col-input">
+                <el-form-item>
+                  <el-input v-model="form.fourTransferenceAmount " oninput="value=value.replace(/[^\d.]/g,'')" :readonly="!isHandle&&isView" />
+                </el-form-item>
+              </el-col>
+              <el-col :span="3" class="col-txt" style=" text-align: left;padding-left: 10px"><span>万元</span></el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="3" class="col-txt"><span>四技合同金额(服务)</span></el-col>
+              <el-col :span="18" class="col-input">
+                <el-form-item>
+                  <el-input v-model="form.fourServiceAmount" oninput="value=value.replace(/[^\d.]/g,'')" :readonly="!isHandle&&isView" />
+                </el-form-item>
+              </el-col>
+              <el-col :span="3" class="col-txt" style=" text-align: left;padding-left: 10px"><span>万元</span></el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="3" class="col-txt"><span>四技合同金额(咨询)</span></el-col>
+              <el-col :span="21" class="col-input">
+                <el-form-item>
+                  <el-input v-model="form.fourConsultAmount" oninput="value=value.replace(/[^\d.]/g,'')" :readonly="!isHandle&&isView" />
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="3" class="col-txt"><span>*入驻类型</span></el-col>
+              <el-col :span="21" class="col-input">
+                <el-form-item>
+                  <el-radio-group v-model="form.settleInType" :disabled="!isHandle&&isView">
+                    <el-radio
+                      v-for="item in dc_data.MNP_BUILDING_TYPE"
+                      :key="item.value"
+                      :label="item.value"
+                    >
+                      {{ item.label }}
+                    </el-radio>
+                  </el-radio-group>
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="3" class="col-txt"><span>招商经理</span></el-col>
+              <el-col :span="21" class="col-input">
+                <el-form-item>
+                  <user-select ref="userSelect" :disabled="!isHandle&&isView" :default-select="selectList" :multiple="false" width="700" @selectValue="parentMethod" />
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="3" class="col-txt"><span>关联企业</span></el-col>
+              <el-col :span="21" class="col-input">
+                <el-form-item>
+                  <el-select v-model="associationCompany" placeholder="" filterable multiple :disabled="!isHandle&&isView">
+                    <el-option
+                      v-for="item in companyList"
+                      :key="item.id"
+                      :label="item.qymc"
+                      :value="item.id"
+                    />
+                  </el-select>
+                </el-form-item>
+              </el-col>
+            </el-row>
+          </el-card>
+        </el-col>
+      </el-row>
+      <el-row v-if="isHandle&&(proveType==='2' || form.source === '2')">
+        <el-col style="padding-bottom: 10px">
+          <span class="card_title">企业标签</span>
+          <el-card shadow="always" style="padding: 15px 5px 5px 15px">
+            <el-row>
+              <el-col :span="20" class="col-input">
+                <span>该企业在企业库已有标签为:</span>{{ tagOptions.join(',') }}
+              </el-col>
+              <el-col :span="4" class="col-input">
+                <el-button size="small" type="primary" @click="toEditTag">去编辑</el-button>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="24" class="col-input"><span>企业本次勾选标签:</span>{{ selectedTag.join(',') }}</el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="24" class="col-input">
+                <el-form-item>
+                  <el-tabs v-model="activeName" type="card" @tab-click="handleTabClick">
+                    <el-tab-pane v-for="item in tagData" :key="item.id" :label="item.name" :name="item.id">
+                      <div v-for="tag in item.children" :key="tag.id">
+                        <el-checkbox v-model="tag.checked" @change="checkChange(tag)">{{ tag.name }}</el-checkbox>
+                        <div>{{ tag.explain }}</div>
+                      </div>
+                    </el-tab-pane>
+                  </el-tabs>
+                </el-form-item>
+              </el-col>
+            </el-row>
+          </el-card>
+        </el-col>
+      </el-row>
+      <el-row>
+        <el-col style="padding-bottom: 10px">
+          <span class="card_title">审核结果</span>
+          <el-card shadow="always" style="padding: 15px 5px 5px 15px">
+            <el-row>
+              <el-col :span="3" class="col-txt"><span>处理结果</span></el-col>
+              <el-col :span="21" class="col-input">
+                <el-form-item>
+                  <el-radio v-model="form.state" label="1" :disabled="isView">通过</el-radio>
+                  <el-radio v-model="form.state" label="2" :disabled="isView">不通过</el-radio>
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="3" class="col-txt"><span>处理意见</span></el-col>
+              <el-col :span="21" class="col-input">
+                <el-form-item>
+                  <el-input v-model="form.handleOpinions" :readonly="isView" />
+                </el-form-item>
+              </el-col>
+            </el-row>
+          </el-card>
+        </el-col>
+      </el-row>
+    </el-form>
+    <div class="el-dialog__footer">
+      <el-button @click="close">取 消</el-button>
+      <el-button v-if="!isView&&isHandle&&proveType==='2'" type="primary" @click="confirmSubmit()">提 交</el-button>
+      <el-button v-if="!isView&&isHandle&&proveType==='1'" type="primary" @click="confirmSubmit()">提交入库</el-button>
+    </div>
+    <!-- 企业标签相关 -->
+    <el-dialog
+      :title="'编辑标签'"
+      :visible.sync="dialogTagVisible"
+      :close-on-click-modal="false"
+      :close-on-press-escape="false"
+      width="90%"
+      top="20px"
+      append-to-body
+      @close="getChildrenData"
+    >
+      <bind-company-tag ref="bindCompanyTag" @childEventBug="getChildrenData" />
+    </el-dialog>
+    <el-dialog :visible.sync="visible" append-to-body>
+      <img width="100%" :src="imageUrl" alt="">
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import BaseData from '../base/baseData'
+import Base from '@/views/base/base.vue'
+import constant from '@/static/utils/constant'
+import UserSelect from '@/views/components/UserSelect'
+import bindCompanyTag from '@/views/company/dialog/bindCompanyTag.vue'
+export default {
+    name: 'CompanyForm',
+    components: { bindCompanyTag, UserSelect },
+    mixins: [Base, BaseData],
+    props: {
+        isView: {
+            type: Boolean,
+            default: false
+        },
+        isHandle: {
+            type: Boolean,
+            default: false
+        }
+    },
+    data() {
+        return {
+            activeName: '',
+            registerTime: '',
+            proveType: '',
+            selectList: [],
+            companyList: [],
+            associationCompany: [],
+            dc_key: ['MNP_COMPANY_TYPE', 'MNP_BUILDING_TYPE', 'FINANCING_PROGRESS', 'CURRENCY', 'SCALE'],
+            form: this.initForm(),
+            rules: [],
+            fileList: [],
+            fileList1: [],
+            fileList2: [],
+            tagOptions: [],
+            selectedTag: [],
+            selectedTagIds: [],
+            tagData: [],
+            loading: false,
+            dialogTagVisible: false,
+            imageUrl: '',
+            visible: false
+        }
+    },
+    mounted() {
+    },
+    methods: {
+        close() {
+            this.$emit('handleClose')
+        },
+        confirmSubmit() {
+            const _this = this
+            if (!_this.form.state || _this.form.state === '0') {
+                this.$message.warning('处理结果不能为空')
+                return
+            }
+            this.$confirm('提交入库后将更新企业库该企业信息,确认提交吗?', '提示', {
+                confirmButtonText: '确定',
+                cancelButtonText: '取消',
+                type: 'warning'
+            }).then(() => {
+                const reqData = {
+                    id: _this.form.id,
+                    state: _this.form.state,
+                    proveType: _this.form.proveType,
+                    handleOpinions: _this.form.handleOpinions
+                }
+                if (_this.form.proveType === '2') {
+                    reqData.qybq = _this.selectedTagIds.join(',')
+                }
+                this.loading = true
+                this.baseRequest('examine', reqData).then((res) => {
+                    this.loading = false
+                    if (res.data.key === 200) {
+                        this.$message.success('审核成功')
+                        this.dialogVisible = false
+                        this.$emit('handleClose', true)
+                    } else {
+                        this.$message.error(res.data.msg)
+                    }
+                }).catch(() => {
+                })
+            }).catch(() => {
+            })
+        },
+        initData(id, proveType) {
+            this.form.id = id
+            this.proveType = proveType
+            this.selectAllCompanyList()
+            this.initDict(this.dc_key).then(res => {
+              this.dlgOpen()
+            })
+        },
+        dlgOpen: function() {
+            const _this = this
+            this.checkList = []
+            this.fileList = []
+            this.fileList1 = []
+            this.fileList2 = []
+            this.optionsVal = []
+            if (_this.form.id !== '') {
+                const postData = {
+                    id: _this.form.id
+                }
+                this.baseRequest('getById', postData).then(res => {
+                    if (res.data) {
+                        _this.form = Object.assign({}, _this.form, res.data)
+                        _this.associationCompany = res.data.associationCompany ? res.data.associationCompany.split(',') : []
+                        _this.selectList = res.data.investmentManager ? res.data.investmentManager.split(',') : []
+                        this.$refs.userSelect.$refs.tree_1.setCheckedKeys(_this.selectList)
+                        _this.form.currency = _this.form.currency ? _this.form.currency.toString() : ''
+                        if (res.data.yyzzfbzp) {
+                            res.data.yyzzfbzp.split(',').forEach(v => {
+                                if (v) {
+                                    this.fileList.push({
+                                        url: constant.BASE_URI + '/FileController/download/' + v,
+                                        id: v
+                                    })
+                                }
+                            })
+                        }
+                        if (res.data.ryxxzp) {
+                            res.data.ryxxzp.split(',').forEach(v => {
+                                if (v) {
+                                    this.fileList1.push({
+                                        url: constant.BASE_URI + '/FileController/download/' + v,
+                                        id: v
+                                    })
+                                }
+                            })
+                        }
+                        if (res.data.frsfzh) {
+                            res.data.frsfzh.split(',').forEach(v => {
+                                if (v) {
+                                    this.fileList2.push({
+                                        url: constant.BASE_URI + '/FileController/download/' + v,
+                                        id: v
+                                    })
+                                }
+                            })
+                        }
+                        if ((_this.form.source === '2' || _this.proveType === '2') && _this.form.qybq) {
+                            this.selectedTagIds = _this.form.qybq.split(',')
+                            this.initTagInfo()
+                        }
+                    }
+                })
+            }
+        },
+        initTagInfo() {
+            this.tagOptions = []
+            this.mnpTagInfoRequest('getCompanyTags/' + this.form.companyId, {}).then((res) => {
+                const data = res.data || []
+                if (data.length) {
+                    data.forEach(item => {
+                        this.tagOptions.push(item.tagName)
+                    })
+                }
+            })
+            this.mnpTagInfoRequest('getCompanyTagsByQybq', { qybq: this.form.qybq }).then((res) => {
+                this.selectedTag = res.data || []
+            })
+            this.mnpTagInfoRequest('getTagInfo', {}).then((res) => {
+                this.tagData = res.data || []
+                if (this.tagData.length) {
+                    this.activeName = this.tagData[0].id
+                    this.tagData.forEach(item => {
+                        if (item.children && item.children.length) {
+                            item.children.forEach(x => {
+                                x.checked = this.selectedTagIds.includes(x.id)
+                            })
+                        }
+                    })
+                }
+            })
+        },
+        checkChange(val) {
+            if (val.checked) {
+                this.selectedTag.push(val.name)
+                this.selectedTagIds.push(val.id)
+            } else {
+                let index = this.selectedTag.findIndex(x => x === val.name)
+                this.selectedTag.splice(index, 1)
+                index = this.selectedTagIds.findIndex(x => x === val.id)
+                this.selectedTagIds.splice(index, 1)
+            }
+        },
+        selectAllCompanyList() {
+            const _this = this
+            this.companyRequest('listAll', {}).then(res => {
+                if (res.data) {
+                    _this.companyList = res.data
+                }
+            })
+        },
+        parentMethod: function(val) {
+            if (val.length > 0) {
+                this.form.investmentManager = val.join(',')
+            }
+        },
+        toEditTag() {
+            this.dialogTagVisible = true
+            this.$nextTick(() => {
+                const a = []
+                a.push({ id: this.form.companyId })
+                this.$refs.bindCompanyTag.initData(a)
+            })
+        },
+        getChildrenData() {
+            this.dialogTagVisible = false
+            this.tagOptions = []
+            this.mnpTagInfoRequest('getCompanyTags/' + this.form.id, {}).then((res) => {
+                const data = res.data || []
+                if (data.length) {
+                    data.forEach(item => {
+                        this.tagOptions.push(item.tagName)
+                    })
+                }
+            })
+        },
+        initForm: function() {
+            return {
+                id: '',
+                ssbk: '',
+                qymc: '',
+                shxydm: '',
+                zczj: '',
+                zcsj: '',
+                fddbr: '',
+                jyfw: '',
+                zcdz: '',
+                jydz: '',
+                zt: '',
+                rzsj: '',
+                qylxr: '',
+                lxdh: '',
+                email: '',
+                remark: '',
+                qylbbq: '',
+                sszt: '',
+                ssztmc: '',
+                ldmc: '',
+                lcqymc: '',
+                czrid: this.$common.currUser().id,
+                czr: this.$common.currUser().truename,
+                gxsj: '',
+                yyzzfbzp: '',
+                cwfzr: '',
+                cwfzrdh: '',
+                ryxxzp: '',
+                settleInType: '',
+                scale: '',
+                floorDiscId: '',
+                roomId: '',
+                isBusinessAccount: '0',
+                currency: '',
+                legalPersonPhone: '',
+                honorInformation: '',
+                rdInvestment: '',
+                jgInvestment: '',
+                fourOpennessAmount: '',
+                fourTransferenceAmount: '',
+                fourServiceAmount: '',
+                fourConsultAmount: '',
+                investmentManager: '',
+                associationCompany: '',
+                groupId: '',
+                area: '',
+                practiceNumber: '',
+                zscqgs: '',
+                rzjd: '',
+                gmsx: '',
+                qybq: '',
+                proveType: '',
+                applyTime: '',
+                state: '',
+                examineUserId: this.$common.currUser().id,
+                handleOpinions: ''
+            }
+        },
+        handlePictureCardPreview(file) {
+            this.visible = true
+            this.imageUrl = file.url
+        },
+        mnpTagInfoRequest(opUrl, postData) {
+            return this.$channel.globeRequest('MnpTagInfoController', opUrl, postData, 'project')
+        },
+        companyRequest(opUrl, postData) {
+            return this.$channel.globeRequest('MnpCompanyController', opUrl, postData, 'project')
+        },
+        baseRequest(opUrl, postData) {
+            return this.$channel.globeRequest('MnpCompanyExamineController', opUrl, postData, 'project')
+        }
+
+    }
+}
+</script>
+
+<style scoped>
+
+</style>

+ 320 - 0
src/views/company/companyTagManage.vue

@@ -0,0 +1,320 @@
+<template>
+    <div>
+        <div class="custom-tree-container">
+            <div class="block-l">
+                <el-card shadow="hover">
+                    <div class="left_list">
+                        <div class="list_title">
+                            <el-row>
+                                <el-col :span="12"> 类别列表</el-col>
+                                <el-col :span="12">
+                                    <el-button
+                                        style="float: right"
+                                        type="primary"
+                                        size="mini"
+                                        icon="el-icon-document-add"
+                                        @click="openAddClass()"
+                                    >类别
+                                    </el-button>
+                                </el-col>
+                            </el-row>
+                        </div>
+                        <div class="list_title_row">
+                            <el-row>
+                                <div v-for="item in tagCategoryOption" :key="item" class="list_title_cell"
+                                     @click="selectTagList(item)"
+                                >
+                                    <el-col :span="17">{{ item.name }}</el-col>
+                                    <el-col :span="3">
+                                        <el-button
+                                            type="text"
+                                            style="float: right; padding: 0; margin: 0"
+                                            @click="openEditClass(item.id)"
+                                        >编辑
+                                        </el-button>
+                                    </el-col>
+                                    <el-col :span="1" style="border: 1px solid transparent"/>
+                                    <el-col :span="3">
+                                        <el-button
+                                            type="text"
+                                            style="float: right; padding: 0; margin: 0"
+                                            @click="handleDel(item)"
+                                        >删除
+                                        </el-button>
+                                    </el-col>
+                                </div>
+                            </el-row>
+                        </div>
+                    </div>
+                </el-card>
+            </div>
+            <div class="block-r">
+                <el-row class="handle-box">
+                    <div class="list_title">
+                        <el-row>
+                            <el-col :span="12"> {{ tagCategory }}</el-col>
+                            <el-col :span="12">
+                                <el-button
+                                    style="float: right"
+                                    type="primary"
+                                    size="mini"
+                                    icon="el-icon-document-add"
+                                    @click="openAddTags()"
+                                >标签
+                                </el-button>
+                            </el-col>
+                        </el-row>
+                    </div>
+                    <el-col :span="24">
+                        <el-table
+                            ref="singleTable"
+                            v-loading="loading"
+                            :data="AllData"
+                            highlight-current-row
+                        >
+                            <el-table-column label="序号" type="index" width="60"/>
+                            <el-table-column label="标签名称" prop="tagName"/>
+                            <el-table-column label="有无效期" prop="isEffective">
+                                <template slot-scope="scope">
+                                    {{ scope.row.isEffective == '1' ? '有' : '无' }}
+                                </template>
+                            </el-table-column>
+                            <el-table-column label="标签说明" prop="remark"/>
+                            <el-table-column label="操作" width="160">
+                                <template scope="scope">
+                                    <el-button
+                                        size="mini"
+                                        type="text"
+                                        @click="openEditTags(scope.row)"
+                                    >编辑
+                                    </el-button>
+                                    <el-button
+                                        size="mini"
+                                        type="text"
+                                        @click="tagInfoDel(scope.row)"
+                                    >删除
+                                    </el-button>
+                                </template>
+                            </el-table-column>
+                        </el-table>
+                        <!--            <div class="table-page">-->
+                        <!--              <el-pagination-->
+                        <!--                :current-page.sync="currentPage"-->
+                        <!--                :page-size="pageSize"-->
+                        <!--                background-->
+                        <!--                layout="total, prev, pager, next"-->
+                        <!--                :total="allpage"-->
+                        <!--                @size-change="handleSizeChange"-->
+                        <!--                @current-change="handleCurrentChange"-->
+                        <!--              />-->
+                        <!--            </div>-->
+                    </el-col>
+                </el-row>
+            </div>
+        </div>
+        <add-tags ref="addTags"/>
+        <add-class ref="addClass"/>
+    </div>
+</template>
+
+<script>
+import addClass from './dialog/addClass.vue'
+import addTags from './dialog/addTags.vue'
+import Base from '@/views/base/base'
+import BaseData from '@/views/base/baseData'
+
+export default {
+    name: 'User',
+    components: {
+        addClass,
+        addTags
+    },
+    mixins: [Base, BaseData],
+    data() {
+        return {
+            AllData: [],
+            loading: false,
+            tagCategoryOption: [],
+            tagCategoryId: '',
+            tagCategory: ''
+        }
+    },
+    mounted() {
+        this.getData()
+    },
+    methods: {
+        // 添加标签类别
+        openAddClass() {
+            this.$refs.addClass.setVisible(true, null, 'add', '添加类别')
+        },
+        // 编辑标签类别
+        openEditClass(id) {
+            this.$refs.addClass.setVisible(true, id, 'edit', '编辑类别')
+        },
+        // 添加标签
+        openAddTags() {
+            if (this.tagCategoryId) {
+                this.$refs.addTags.setVisible(true, null, this.tagCategoryId, this.tagCategory, 'add', '添加标签')
+            } else {
+                this.$message({
+                    message: '请先选择标签类别',
+                    type: 'warning'
+                })
+            }
+        },
+        // 编辑标签
+        openEditTags(row) {
+            this.$refs.addTags.setVisible(true, row.id, this.tagCategoryId, this.tagCategory, 'edit', '编辑标签')
+        },
+        // 查询标签类别
+        getData() {
+            this.tagCategory = ''
+            this.baseRequest('tagCategoryList', {}).then(res => {
+                const _this = this
+                _this.tagCategoryOption = res.data
+            })
+        },
+        // 根据标签类别查询标签
+        selectTagList(data) {
+            const _this = this
+            _this.tagCategory = data.name
+            _this.loading = true
+            _this.AllData = []
+            const postData = {
+                tagCategoryId: data.id
+            }
+            this.baseTagInfoRequest('tagInfoList', postData).then(res => {
+                _this.AllData = res.data
+                _this.loading = false
+            })
+            _this.tagCategoryId = data.id
+        },
+        tagInfoDel(val) {
+            this.baseTagInfoRequest('remove/' + val.id, {}).then(res => {
+                if (res.data.code == 200) {
+                    this.selectTagList({
+                        id: this.tagCategoryId,
+                        name: this.tagCategory
+                    })
+                    this.$message({
+                        type: 'success',
+                        message: '删除成功!'
+                    })
+                } else {
+                    this.$message({
+                        type: 'error',
+                        message: res.data.msg
+                    })
+                }
+            }
+            ).catch(e => {
+                // console.log(e)
+                this.$message({
+                    type: 'error',
+                    message: e
+                })
+            })
+        },
+        baseRequest(opUrl, postData) {
+            return this.$channel.globeRequest('MnpTagController', opUrl, postData, 'project')
+        }
+        ,
+        baseTagInfoRequest(opUrl, postData) {
+            return this.$channel.globeRequest('MnpTagInfoController', opUrl, postData, 'project')
+        }
+    }
+}
+</script>
+
+<style scoped>
+.custom-tree-container {
+    display: flex;
+}
+
+.list_title {
+    font-size: 18px;
+    font-weight: bold;
+    margin: 15px 0;
+}
+
+.list_title_cell {
+    height: 20px;
+    margin: 10px 0;
+}
+
+.left_list {
+    height: calc(100vh - 115px);
+    width: 100%;
+    background: white;
+}
+
+.custom-tree-node {
+    flex: 1;
+    display: flex;
+    align-items: center;
+    justify-content: space-between;
+    font-size: 16px;
+    padding-right: 8px;
+}
+
+.custom-tree-container .block-l {
+    /*flex-grow: 2 ;*/
+    /*float: left;*/
+    width: 20%;
+    padding: 0 8px 0 0;
+}
+
+.custom-tree-container .block-r {
+    /*flex-grow: 10;*/
+    /*float: left;*/
+    width: 80%;
+    /*padding: 0 0 0 8px;*/
+}
+</style>
+
+<style scoped>
+/*.ch-input .el-input__inner {*/
+/*border-radius: 0px;*/
+/*border-color: #32323A;*/
+/*}*/
+
+/*.ch-input-size {*/
+/*width: 200px;*/
+/*margin-right: 10px;*/
+/*}*/
+
+/*.ch-button {*/
+/*border-radius: 0px;*/
+/*border-color: #32323A;*/
+/*background-color: #32323A;*/
+/*color: #fff;*/
+/*}*/
+
+.ch-input .el-input__inner {
+    border-color: #32323a;
+}
+
+.ch-input-size {
+    width: 150px;
+}
+
+.ch-button {
+    border-color: #32323a;
+    background-color: #32323a;
+    color: #fff;
+}
+
+.ch-button-warning {
+    margin-left: 10px;
+    border-color: #e6a23c;
+    background-color: #e6a23c;
+    color: #fff;
+}
+
+.ch-button-export {
+    margin-left: 10px;
+    border-color: #98cc1f;
+    background-color: #98cc1f;
+    color: #fff;
+}
+</style>

+ 310 - 0
src/views/company/companyTags.vue

@@ -0,0 +1,310 @@
+<template>
+  <div>
+    <div class="block-r">
+      <el-row class="handle-box">
+        <el-button @click="tagManage">管理标签</el-button>
+        <el-button>
+          <a :href="downloadUrl" :download="fileName">
+            <el-link type="primary">下载模板</el-link>
+          </a>
+        </el-button>
+
+        <!--        <el-button>下载模板</el-button>-->
+      </el-row>
+      <el-row class="handle-box">
+        <el-col :span="24">
+          <el-table
+            ref="singleTable"
+            v-loading="loading"
+            :data="AllData"
+            highlight-current-row
+            :header-cell-style="{background:'#CCCCCC'}"
+          >
+            <el-table-column label="标签类别" prop="tagCategoryName" />
+            <el-table-column label="标签名称" prop="tagName" />
+            <el-table-column label="有无效期" prop="isEffective">
+              <template slot-scope="scope">
+                {{ scope.row.isEffective == '1' ? '有': '无' }}
+              </template>
+            </el-table-column>
+            <el-table-column label="标签说明" prop="remark" />
+            <el-table-column label="操作" header-align="center">
+              <template scope="scope">
+                <el-button
+                  size="mini"
+                  type="text"
+                  @click="handleImport(scope.row)"
+                >导入数据
+                </el-button>
+                <el-button
+                  size="mini"
+                  type="text"
+                  @click="handleExport(scope.row)"
+                >导出数据
+                </el-button>
+                <el-button
+                  size="mini"
+                  type="text"
+                  @click="showImportCompanyLog(scope.row)"
+                >导入历史
+                </el-button>
+              </template>
+            </el-table-column>
+          </el-table>
+          <!--          <div class="table-page">-->
+          <!--            <el-pagination-->
+          <!--              :current-page.sync="currentPage"-->
+          <!--              :page-size="pageSize"-->
+          <!--              background-->
+          <!--              layout="total, prev, pager, next"-->
+          <!--              :total="allpage"-->
+          <!--              @size-change="handleSizeChange"-->
+          <!--              @current-change="handleCurrentChange"-->
+          <!--            />-->
+          <!--          </div>-->
+        </el-col>
+      </el-row>
+
+    </div>
+    <el-dialog title="管理标签" :visible.sync="dialogTagVisible" width="75%" top="30px" append-to-body @close="getData">
+      <company-tag-manage
+        v-if="dialogTagVisible"
+        @handleClose="dialogTagVisible = false"
+      />
+    </el-dialog>
+    <el-dialog
+      title="导入数据"
+      :visible.sync="dialogImportTagVisible"
+      width="40%"
+      top="30px"
+      append-to-body
+      @close="getData"
+    >
+      <import-tag
+        v-if="dialogImportTagVisible"
+        :id="id"
+        :is-effective="isEffective"
+        @handleClose="dialogImportTagVisible = false"
+        @handleImportClose="handleImportClose"
+      />
+    </el-dialog>
+    <add-tags ref="addTags" />
+    <add-class ref="addClass" />
+
+    <el-dialog
+      :title="dialogTitle"
+      :visible.sync="dialogimportCompanyLogVisible"
+      :close-on-click-modal="false"
+      :close-on-press-escape="false"
+      width="90%"
+      top="20px"
+      append-to-body
+      @close="getData"
+    >
+      <importCompanyLog ref="refList" @childEventBug="getChildrenData" />
+    </el-dialog>
+
+  </div>
+
+</template>
+
+<script>
+import Base from '@/views/base/base'
+import BaseData from '@/views/base/baseData'
+import addClass from './dialog/addClass.vue'
+import addTags from './dialog/addTags.vue'
+import companyTagManage from './companyTagManage'
+import importTag from './dialog/importTag'
+import importCompanyLog from './dialog/importCompanyLog'
+
+export default {
+    name: 'User',
+    components: {
+        addClass,
+        addTags,
+        companyTagManage,
+        importTag,
+        importCompanyLog
+    },
+    mixins: [Base, BaseData],
+    data() {
+        return {
+            id: '',
+            isEffective: '',
+            AllData: [],
+            loading: false,
+            dialogTagVisible: false, // 管理标签
+            dialogImportTagVisible: false, // 导入数据
+            dialogimportCompanyLogVisible: false, // 历史数据
+            downloadUrl: '',
+            fileName: '',
+            dialogTitle: ''
+        }
+    },
+    mounted() {
+        this.downloadUrl = require('@/static/template/tag.png')
+        this.fileName = '标签导入模板.xlsx'
+        this.getData()
+    },
+    methods: {
+        // 显示历史数
+        showImportCompanyLog(row) {
+            this.dialogTitle = row.tagName + '导入历史'
+            this.dialogimportCompanyLogVisible = true
+            // 新vue时调用的方法
+            this.$nextTick(() => {
+                this.$refs.refList.initData(row)
+            })
+        },
+        // 子传父的方法(是否刷新页面)
+        getChildrenData(isRenew) {
+            console.log('子传父的方法:' + isRenew)
+            if (isRenew) {
+                // 刷新页面
+                this.getData()
+            } else {
+                // this.getData()
+            }
+            this.dialogimportCompanyLogVisible = false
+        },
+        openAddClass() {
+            this.$refs.addClass.setVisible(true, null)
+        },
+        openAddTags() {
+            console.log(this.$refs)
+            this.$refs.addTags.setVisible(true, null)
+        },
+        getData: function() {
+            const _this = this
+            _this.loading = true
+            _this.AllData = []
+            this.baseRequest('tagInfoList', this.search).then((res) => {
+                _this.AllData = res.data
+                _this.loading = false
+            })
+        },
+        tagManage() {
+            this.dialogTagVisible = true
+        },
+        handleImport(row) {
+            this.id = row.id
+            this.isEffective = row.isEffective
+            this.dialogImportTagVisible = true
+        },
+        handleImportClose() {
+            this.dialogImportTagVisible = false
+        },
+        handleExport(row) {
+            const _this = this
+            this.OutData = []
+            const title = [' 企业名称', ' 统一社会信用代码']
+            this.OutData.push(title)
+            this.baseRequest('exportTag/' + row.id, '').then(res => {
+                const data = res.data
+                data.forEach(function(item) {
+                    const jsonArray = []
+                    jsonArray.push(item.enterpriseName)
+                    jsonArray.push(item.creditCode)
+                    _this.OutData.push(jsonArray)
+                })
+                const OutSize = [{ wch: 15 }, { wch: 15 }]
+                const fileName = '标签导出 ' + new Date().Format('yyyyMMddhhmm')
+                this.$outputXlsxFile(this.OutData, OutSize, fileName)
+            })
+        },
+        baseRequest(opUrl, postData) {
+            return this.$channel.globeRequest('MnpTagInfoController', opUrl, postData, 'project')
+        }
+    }
+}
+</script>
+
+<style scoped>
+
+.list_title {
+    font-size: 18px;
+    font-weight: bold;
+    margin: 15px 0;
+}
+
+.list_title_cell {
+    height: 20px;
+    margin: 10px 0;
+}
+
+.left_list {
+    height: calc(100vh - 115px);
+    width: 100%;
+    background: white;
+}
+
+.custom-tree-node {
+    flex: 1;
+    display: flex;
+    align-items: center;
+    justify-content: space-between;
+    font-size: 16px;
+    padding-right: 8px;
+}
+
+.custom-tree-container .block-l {
+    /*flex-grow: 2 ;*/
+    float: left;
+    width: 20%;
+    padding: 0 8px 0 0;
+}
+
+.custom-tree-container .block-r {
+    /*flex-grow: 10;*/
+    float: left;
+    width: 80%;
+    /*padding: 0 0 0 8px;*/
+}
+</style>
+
+<style scoped>
+/*.ch-input .el-input__inner {*/
+/*border-radius: 0px;*/
+/*border-color: #32323A;*/
+/*}*/
+
+/*.ch-input-size {*/
+/*width: 200px;*/
+/*margin-right: 10px;*/
+/*}*/
+
+/*.ch-button {*/
+/*border-radius: 0px;*/
+/*border-color: #32323A;*/
+/*background-color: #32323A;*/
+/*color: #fff;*/
+/*}*/
+
+.ch-input .el-input__inner {
+    border-color: #32323a;
+}
+
+.ch-input-size {
+    width: 150px;
+}
+
+.ch-button {
+    border-color: #32323a;
+    background-color: #32323a;
+    color: #fff;
+}
+
+.ch-button-warning {
+    margin-left: 10px;
+    border-color: #e6a23c;
+    background-color: #e6a23c;
+    color: #fff;
+}
+
+.ch-button-export {
+    margin-left: 10px;
+    border-color: #98cc1f;
+    background-color: #98cc1f;
+    color: #fff;
+}
+</style>

+ 303 - 0
src/views/company/components/comp/riskCourse.vue

@@ -0,0 +1,303 @@
+<template>
+  <div class="riskCourse">
+    <el-row>
+      <el-col :span="24">
+        <span class="card_title">风险进展更新</span>
+        <el-card shadow="always" style="padding: 15px 5px 5px 15px">
+          <el-row>
+            <el-button size="mini" type="primary" style="float: right; margin-right: 0px;" @click="handleAdd()">添加进展</el-button>
+          </el-row>
+          <el-row>
+            <el-table v-loading="loading" :data="AllData" stripe row-class-name="g_table_row">
+              <el-table-column type="index" width="60" />
+              <el-table-column label="更新日期" prop="createdAt" />
+              <el-table-column label="进展说明" prop="brief" />
+              <el-table-column label="更新人" prop="handleName" />
+
+              <el-table-column label="操作" header-align="center" align="center" width="220">
+                <template scope="scope">
+                  <el-button size="mini" type="primary" @click="handleCopy(scope.row)">复制</el-button>
+                  <el-button size="mini" type="primary" @click="handleDel(scope.row)">删除</el-button>
+                </template>
+              </el-table-column>
+            </el-table>
+            <div class="table-page">
+              <el-pagination
+                :current-page.sync="currentPage"
+                :page-size="pageSize"
+                background
+                layout="total, prev, pager, next"
+                :total="allpage"
+                @current-change="handleCurrentChange"
+              />
+            </div>
+          </el-row>
+        </el-card>
+      </el-col>
+    </el-row>
+    <el-dialog :title="dialogTitle" :visible.sync="dialogVisible" width="70%" top="50px" append-to-body>
+      <el-form ref="form" :rules="rules" :model="form" style="width: 100%;padding: 5px">
+        <el-row>
+          <el-col style="padding-bottom: 10px">
+            <span class="card_title">基本信息</span>
+            <el-card shadow="always" style="padding: 15px 5px 5px 15px">
+              <el-row>
+                <el-col :span="3" class="col-txt"><span>进展说明</span></el-col>
+                <el-col :span="20" class="col-input">
+                  <el-form-item prop="brief">
+                    <el-input v-model="form.brief" type="textarea" :rows="6" />
+                  </el-form-item>
+                </el-col>
+
+                <el-col :span="3" class="col-txt"><span>附件上传</span></el-col>
+                <el-col :span="20" class="col-input">
+                  <el-form-item>
+                    <el-upload
+                      class="upload-demo"
+                      action="#"
+                      :http-request="upload"
+                      :before-remove="uploadRemove"
+                      :file-list="fileList"
+                    >
+                      <el-button size="small" type="primary" >点击上传</el-button>
+                      <div slot="tip" class="el-upload__tip">请上传50MB以内的文件</div>
+                    </el-upload>
+                  </el-form-item>
+                </el-col>
+
+                <el-col :span="3" class="col-txt"><span>风险当前状态</span></el-col>
+                <el-col :span="20" class="col-input">
+                  <el-form-item prop="state">
+                    <el-select v-model="form.state" placeholder="请选择">
+                      <el-option label="处理中" value="0" />
+                      <el-option label="已关闭" value="1" />
+                    </el-select>
+                  </el-form-item>
+                </el-col>
+              </el-row>
+            </el-card>
+          </el-col>
+        </el-row>
+      </el-form>
+      <div slot="footer">
+        <el-button @click="dialogVisible = false">取 消</el-button>
+        <el-button type="primary" @click="confirmSubmit()">发 布</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+<script>
+import axios from 'axios'
+import Base from '@/views/base/base'
+import BaseData from '@/views/base/baseData'
+import channel from '@/static/utils/channel'
+
+export default {
+    name: 'PendingAudit',
+    components: {
+
+    },
+    mixins: [Base, BaseData],
+    props: {
+        rId: {
+            type: String,
+            default: ''
+        }
+    },
+    data() {
+        return {
+            seachFrom: {},
+            AllData: [],
+            loading: false,
+            // 分页
+            currentPage: 1,
+            allpage: 0,
+            pageSize: 12,
+
+            form: {},
+            dialogTitle: '进展更新',
+            dialogVisible: false,
+
+            fileList: [],
+            rules: {
+              state: [
+                { required: true, message: '请选择风险状态', trigger: 'change' }
+              ],
+              brief: [
+                { required: true, message: '请输入进展说明', trigger: 'blur' }
+              ]
+            }
+        }
+    },
+    mounted() {
+        // this.getData()
+    },
+    methods: {
+        getData: function() {
+            const _this = this
+            _this.loading = true
+            _this.AllData = []
+            this.seachFrom.riskId = this.rId
+            this.seachFrom.pageNum = _this.currentPage
+            this.seachFrom.pageSize = _this.pageSize
+            this.baseRequest('list', this.seachFrom).then((res) => {
+                if (res.data.rows) {
+                    res.data.rows.forEach(function(item) {
+                        _this.AllData.push(item)
+                    })
+                    _this.allpage = res.data.total
+                }
+                _this.loading = false
+            }).catch(() => {
+            })
+        },
+        handleCopy: function(val) {
+            const reqData = {
+                id: val.id
+            }
+            this.fileList = []
+            this.baseRequest('getById', reqData).then((res) => {
+                // console.log("详情——:", res)
+                if (res.data) {
+                    this.form = res.data
+                    this.form.id = ''
+                    if (this.form.annex) { this.fileList = JSON.parse(this.form.annex) }
+                }
+                this.dialogVisible = true
+            }).catch(() => {
+            })
+        },
+        handleAdd: function() {
+            this.form = {}
+            this.fileList = []
+            this.dialogVisible = true
+        },
+        /* 删除*/
+        handleDel: function(val) {
+            const _this = this
+            _this.$confirm('是否确认删除?', '提示', {
+                confirmButtonText: '确定',
+                cancelButtonText: '取消',
+                type: 'warning'
+            }).then(function() {
+                const deleting = _this.$notify({
+                    title: '正在删除,请稍等',
+                    type: 'warning'
+                })
+                _this.baseRequest('remove/' + val.id, '').then((res) => {
+                    _this.getData()
+                    deleting.close()
+                    _this.$notify({
+                        title: '删除成功',
+                        type: 'info'
+                    })
+                }).catch((err) => {
+                    deleting.close()
+                    _this.$alert(err)
+                })
+            }).catch(function(error) {
+                console.error(error)
+            })
+        },
+        /* 分页设定*/
+        handleSizeChange: function(val) {
+            this.currentPage = val
+            this.getData()
+        },
+        handleCurrentChange: function(val) {
+            this.currentPage = val
+            this.getData()
+        },
+        confirmSubmit: function() {
+            const _this = this
+            this.$refs.form.validate(valid => {
+                if (valid) {
+                    let soaUrl = 'edit'
+                    const extraData = {}
+                    if (!_this.form.id) {
+                        soaUrl = 'add'
+                    }
+                    const postData = Object.assign({}, _this.form, extraData)
+                    postData.riskId = _this.rId
+                    postData.annex = JSON.stringify(_this.fileList)
+                    _this.baseRequest(soaUrl, postData).then((res) => {
+                        this.getData()
+                        this.$emit('closeViewData')
+                        if (res.data.msg === 'Success') {
+                            this.$message({
+                                type: 'success',
+                                message: '提交成功'
+                            })
+                        } else {
+                            this.$message({
+                                type: 'error',
+                                message: '提交失败'
+                            })
+                        }
+                        this.dialogVisible = false
+                    })
+                } else {
+                    console.log('error submit!!')
+                    return false
+                }
+            })
+        },
+        baseRequest(opUrl, postData) {
+            return channel.globleRequest('proRiskCourseController', opUrl, postData, 'project')
+        },
+
+        upload(param) {
+            const formParam = new FormData()
+            formParam.append('file', param.file)
+            const config = {
+                headers: {
+                    'Content-Type': 'multipart/form-data',
+                    'MVVM-Key': String(new Date().getTime()),
+                    'xx': 'anything',
+                    'Access-Control-Allow-Origin': '*'
+                }
+            }
+            axios.post(this.$constant.BASE_URI + '/FileController/upload', formParam, config)
+                .then(response => {
+                    const item = {
+                        name: param.file.name,
+                        url: this.$constant.BASE_URI + '/FileController/download/' + response.data.data
+                    }
+                    this.fileList[this.fileList.length] = item
+                }).catch((err, x) => {
+                    reject(err, x)
+                })
+        },
+
+        uploadRemove(file, fileList) {
+            this.fileList = fileList
+        }
+    }
+}
+</script>
+
+<style lang="scss" scoped>
+.riskCourse{
+    .ch-input .el-input__inner {
+        border-radius: 0px;
+        border-color: #32323A;
+    }
+    .ch-input-size {
+        width: 150px;
+    }
+    .ch-button {
+        border-radius: 0px;
+        border-color: #32323A;
+        background-color: #32323A;
+        color: #fff;
+    }
+    .ch-button-warning {
+        margin-left: 10px;
+        border-radius: 0px;
+        border-color: #E6A23C;
+        background-color: #E6A23C;
+        color: #fff;
+    }
+}
+
+</style>

+ 259 - 0
src/views/company/components/comp/riskDetail.vue

@@ -0,0 +1,259 @@
+<template>
+  <div style="width: 100%;height: 100%;padding: 5px">
+    <el-form ref="fromData" :model="fromData" style="width: 100%;padding: 5px">
+      <el-row>
+        <el-col style="padding-bottom: 10px">
+          <span class="card_title">风险信息</span>
+          <el-card shadow="always" style="padding: 15px 5px 5px 15px">
+            <el-row>
+              <el-col :span="3" class="col-txt"><span>项目名称</span></el-col>
+              <el-col :span="20" class="col-input">
+                <el-form-item prop="title">
+                  <el-input v-model="fromData.proName" readonly />
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="3" class="col-txt"><span>风险标题</span></el-col>
+              <el-col :span="20" class="col-input">
+                <el-form-item>
+                  <el-input v-model="fromData.title" readonly />
+                </el-form-item>
+              </el-col>
+              <el-col :span="3" class="col-txt"><span>风险类别</span></el-col>
+              <el-col :span="8" class="col-input">
+                <el-form-item>
+                  <el-input v-model="fromData.rtype" readonly />
+                </el-form-item>
+              </el-col>
+              <el-col :span="3" class="col-txt"><span>风险等级</span></el-col>
+              <el-col :span="8" class="col-input">
+                <el-form-item>
+                  <el-input v-model="fromData.grade" readonly />
+                </el-form-item>
+              </el-col>
+              <el-col :span="3" class="col-txt"><span>风险内容说明</span></el-col>
+              <el-col :span="20" class="col-input">
+                <el-form-item>
+                  <!-- <el-input type="textarea" :rows="10" v-html="fromData.info.content" readonly /> -->
+                  <el-row style="height: 500px; border: 1px solid #ebebeb; overflow:auto;">
+                      <div class="htmlContent" v-html="fromData.content"></div>
+                  </el-row>
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="3" class="col-txt"><span>附件</span></el-col>
+              <el-col :span="20" class="col-input">
+                <el-form-item>
+                  <div v-if="fileInfoList && fileInfoList.length > 0">
+                    <div :key="file.url" v-for="file in fileInfoList">
+                      <a @click="fileDowload(file.url)" style="color: blue">{{ file.name }}</a>
+                    </div>
+                  </div>
+                  <div v-else>&nbsp;</div>
+                </el-form-item>
+              </el-col>
+              <el-col :span="3" class="col-txt"><span>查阅人</span></el-col>
+              <el-col :span="20" class="col-input">
+                <el-form-item>
+                  <el-input v-model="fromData.viewedByName" readonly />
+                </el-form-item>
+              </el-col>
+            </el-row>
+          </el-card>
+        </el-col>
+
+        <el-col style="padding-bottom: 10px">
+          <span class="card_title">风险进展更新列表</span>
+          <el-card shadow="always" style="padding: 15px 5px 5px 15px">
+            <el-row>
+              <el-table :data="AllData" stripe row-class-name="g_table_row">
+                <el-table-column type="index" width="60" />
+                <el-table-column label="更新日期" prop="createdAt" />
+                <el-table-column label="进展说明" prop="brief" />
+                <el-table-column label="更新人" prop="handleName" />
+              
+                <el-table-column label="操作" header-align="center" align="center" width="220">
+                  <template scope="scope">
+                    <el-button size="mini" type="primary" @click="handleShow(scope.row)">查看</el-button>
+                  </template>
+                </el-table-column>
+              </el-table>
+            </el-row>
+          </el-card>
+        </el-col>
+      </el-row>
+    </el-form>
+
+    <el-dialog title="进展更新详情" :visible.sync="dialogDetialVisible" width="70%" top="50px" append-to-body>
+      <el-form ref="form" :model="form" style="width: 100%;padding: 5px" :rules="rules">
+        <el-row>
+          <el-col style="padding-bottom: 10px">
+            <span class="card_title">基本信息</span>
+            <el-card shadow="always" style="padding: 15px 5px 5px 15px">
+              <el-row>
+                <el-col :span="3" class="col-txt"><span>进展说明</span></el-col>
+                <el-col :span="20" class="col-input">
+                  <el-form-item prop="title">
+                    <el-input type="textarea" :rows="6" v-model="courseFrom.brief" readonly />
+                  </el-form-item>
+                </el-col>
+                <el-col :span="3" class="col-txt"><span>附件</span></el-col>
+                <el-col :span="20" class="col-input">
+                  <el-form-item>
+                    <div v-if="fileCourseList && fileCourseList.length > 0">
+                      <div :key="file.url" v-for="file in fileCourseList">
+                        <a @click="fileDowload(file.url)"  style="color: blue">{{ file.name }}</a>
+                      </div>
+                    </div>
+                    <div v-else>&nbsp;</div>
+                  </el-form-item>
+                </el-col>
+                <el-col :span="3" class="col-txt"><span>风险当前状态</span></el-col>
+                <el-col :span="20" class="col-input">
+                  <el-form-item prop="title">
+                    <el-input v-model="courseFrom.state" readonly />
+                  </el-form-item>
+                </el-col>
+              </el-row>
+            </el-card>
+          </el-col>
+        </el-row>
+      </el-form>
+    </el-dialog>
+
+  </div>
+</template>
+<script>
+import Base from '@/views/base/base'
+import BaseData from '@/views/base/baseData'
+export default {
+    name: 'riskDetail',
+    mixins: [Base, BaseData],
+    props: {
+        rId: {
+            type: String,
+            default: ''
+        }
+    },
+    data() {
+        return {
+            fromData: {},
+            fileInfoList: [],
+            fileCourseList: [],
+            AllData: [],
+            dialogDetialVisible: false,
+            courseFrom: {}
+        }
+    },
+    watch: {
+    },
+    created() {
+        this.initData();
+    },
+    destroyed() {
+    },
+    methods: {
+        initData(){
+          this.getInfoData();
+          this.getItemData();
+        },
+        getInfoData(){
+            this.fromData = {};
+            const postData = {
+                id: this.rId
+            }
+            this.fileInfoList = [];
+            this.baseRequest('getById', postData).then((res) => {
+              console.log("res_info_:", res)
+                if (res.data) {
+                    this.fromData = res.data;
+                    if(this.fromData.annex)
+                      this.fileInfoList = JSON.parse(this.fromData.annex);
+                }
+            }).catch(() => {
+            })
+        },
+
+        getItemData(){
+            const postData = {
+                riskId: this.rId
+            }
+            this.AllData = [];
+            this.itemBaseRequest('listAll', postData).then((res) => {
+              console.log("res_item_:", res)
+              if(res.data){
+                this.AllData = res.data;
+              }
+            }).catch(() => {
+            })
+        },
+
+        handleShow(row){
+          const postData = {
+              id: row.id
+          }
+          this.courseFrom = {};
+          this.fileCourseList = [];
+          this.itemBaseRequest('getById', postData).then((res) => {
+              if (res.data) {
+                  this.courseFrom = res.data;
+                  if(this.courseFrom.annex)
+                    this.fileCourseList = JSON.parse(this.courseFrom.annex);
+                  if(this.courseFrom.state)
+                    this.courseFrom.state = this.courseFrom.state=='0'?'处理中':'已关闭'
+              }
+              this.dialogDetialVisible = true;
+          }).catch(() => {
+          })
+        },
+
+        fileDowload(url){
+            // alert(url);
+            location.href = url;
+        },
+
+        baseRequest(opUrl, postData) {
+            return this.$channel.globleRequest('ProRiskInfoController', opUrl, postData, 'project')
+        },
+
+        itemBaseRequest(opUrl, postData) {
+            return this.$channel.globleRequest('proRiskCourseController', opUrl, postData, 'project')
+        },
+    }
+}
+</script>
+
+<style scoped>
+    .ch-input .el-input__inner {
+        border-radius: 0px;
+        border-color: #32323A;
+    }
+    .ch-input-size {
+        width: 150px;
+    }
+    .ch-button {
+        border-radius: 0px;
+        border-color: #32323A;
+        background-color: #32323A;
+        color: #fff;
+    }
+    .ch-button-warning {
+        margin-left: 10px;
+        border-radius: 0px;
+        border-color: #E6A23C;
+        background-color: #E6A23C;
+        color: #fff;
+    }
+    .ch-button-export {
+        margin-left: 10px;
+        border-radius: 0px;
+        border-color: #98CC1F;
+        background-color: #98CC1F;
+        color: #fff;
+    }
+    .htmlContent {
+        word-break: break-all;
+    }
+</style>

+ 303 - 0
src/views/company/components/comp/riskOperateDetial.vue

@@ -0,0 +1,303 @@
+<template>
+  <div style="width: 100%;height: 100%;padding: 5px" class="riskOD">
+    <el-form ref="fromData" :model="fromData" style="width: 100%;padding: 5px">
+      <el-row>
+        <el-col style="padding-bottom: 10px">
+          <span class="card_title">风险信息</span>
+          <el-card shadow="always" style="padding: 15px 5px 5px 15px">
+            <el-row>
+              <el-col :span="3" class="col-txt"><span>企业名称</span></el-col>
+              <el-col :span="20" class="col-input">
+                <el-form-item prop="title">
+                  <el-input v-model="fromData.proName" readonly />
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="3" class="col-txt"><span>风险标题</span></el-col>
+              <el-col :span="20" class="col-input">
+                <el-form-item>
+                  <el-input v-model="fromData.title" />
+                </el-form-item>
+              </el-col>
+              <el-col :span="3" class="col-txt"><span>风险类别</span></el-col>
+              <el-col :span="8" class="col-input">
+                <el-form-item>
+                  <el-select v-model="fromData.rtype" placeholder="请选择">
+                    <el-option
+                      v-for="item in dc_data.riskWarnType"
+                      :key="item.value"
+                      :label="item.label"
+                      :value="item.value"
+                    />
+                  </el-select>
+                </el-form-item>
+              </el-col>
+              <el-col :span="3" class="col-txt"><span>风险等级</span></el-col>
+              <el-col :span="8" class="col-input">
+                <el-form-item>
+                  <el-select v-model="fromData.grade" placeholder="请选择">
+                    <el-option
+                      v-for="item in dc_data.riskGrade"
+                      :key="item.value"
+                      :label="item.label"
+                      :value="item.value"
+                    />
+                  </el-select>
+                </el-form-item>
+              </el-col>
+              <el-col :span="3" class="col-txt"><span>风险内容说明</span></el-col>
+              <el-col :span="20" class="col-input">
+                <el-form-item>
+                  <!-- <el-input type="textarea" :rows="10" v-model="fromData.content" /> -->
+                  <QuillEditor
+                    :height="300"
+                    :value="fromData.content"
+                    @input="getContent"
+                  />
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="3" class="col-txt"><span>附件</span></el-col>
+              <el-col :span="20" class="col-input">
+                <el-form-item>
+                  <el-upload
+                    class="upload-demo"
+                    action="#"
+                    :http-request="upload"
+                    :before-remove="uploadRemove"
+                    :file-list="fileList"
+                  >
+                    <el-button size="small" type="primary">点击上传</el-button>
+                    <!-- <div slot="tip" class="el-upload__tip">只能上传jpg/png文件,且不超过500kb</div> -->
+                  </el-upload>
+                </el-form-item>
+              </el-col>
+              <el-col :span="3" class="col-txt"><span>查阅人</span></el-col>
+              <el-col :span="20" class="col-input">
+                <el-form-item>
+                  <!-- <user-select :default-select="selectList" :multiple="true" width="700" @selectValue="parentMethod" /> -->
+                  <user-select-compon v-if="userSelectValue" :default-select="selectList" :multiple="true" width="700" @selectValue="parentMethod" />
+                </el-form-item>
+              </el-col>
+            </el-row>
+          </el-card>
+        </el-col>
+      </el-row>
+    </el-form>
+  </div>
+</template>
+<script>
+import axios from 'axios'
+import Base from '@/views/base/base'
+import BaseData from '@/views/base/baseData'
+import QuillEditor from '@/components/QuillEditor'
+// import UserSelect from '@/views/components/UserSelect'
+import userSelectCompon from '@/views/components/userSelectCompon'
+export default {
+    name: 'RiskOperateDetial',
+    components: {
+        QuillEditor,
+        // UserSelect
+        userSelectCompon
+    },
+    mixins: [Base, BaseData],
+    props: {
+        proId: {
+            type: String,
+            default: ''
+        },
+        rId: {
+            type: String,
+            default: ''
+        }
+    },
+    data() {
+        return {
+            dc_key: ['riskGrade', 'riskWarnType'],
+            fromData: {},
+            fileList: [],
+            selectList: [],
+            content: '',
+            userSelectValue: false
+        }
+    },
+    watch: {
+    },
+    created() {
+        this.initData()
+    },
+    destroyed() {
+    },
+    methods: {
+        initData: function() {
+            this.initDict(this.dc_key).then(res => {
+                this.getInfoData()
+            })
+        },
+        getInfoData() {
+            this.fromData = {}
+            this.content = "";
+            this.fromData.content = "";
+            this.fileList = []
+            this.selectList = []
+            this.$set(this, 'content', ' ')
+            if (this.rId) {
+                const postData = {
+                    id: this.rId
+                }
+                const _this = this
+                this.baseRequest('getById', postData).then((res) => {
+                    console.log('####res_:', res)
+                    if (res.data) {
+                        const { data } = res
+                        _this.fromData = Object.assign({}, _this.fromData, res.data)
+                        _this.content = _this.fromData.content
+                        if (_this.fromData.annex) {
+                            _this.$set(_this, 'fileList', JSON.parse(_this.fromData.annex))
+                        }
+                        if (_this.fromData.viewedBy) {
+                            _this.$set(_this, 'selectList', _this.fromData.viewedBy.split(','))
+                        }
+                        
+                        console.log('this.fileList_:', _this.fileList, _this.selectList)
+                    }
+                    this.userSelectValue = true;
+                }).catch(() => {
+                })
+            } else {
+                const postData = {
+                    id: this.proId
+                }
+                this.baseProRequest('getById', postData).then((res) => {
+                    console.log("项目信息——:", res)
+                    if (res.data) {
+                        // this.$set(this, 'selectList', res.data.users)
+                        this.$set(this.fromData, 'proId', res.data.id)
+                        this.$set(this.fromData, 'proName', res.data.qymc)
+                    }
+                    this.userSelectValue = true;
+                }).catch(() => {
+                })
+            }
+        },
+
+        upload(param) {
+            const formParam = new FormData()
+            formParam.append('file', param.file)
+            const config = {
+                headers: {
+                    'Content-Type': 'multipart/form-data',
+                    'MVVM-Key': String(new Date().getTime()),
+                    'xx': 'anything',
+                    'Access-Control-Allow-Origin': '*'
+                }
+            }
+            axios.post(this.$constant.BASE_URI + '/FileController/upload', formParam, config)
+                .then(response => {
+                    const item = {
+                        name: param.file.name,
+                        url: this.$constant.BASE_URI + '/FileController/download/' + response.data.data
+                    }
+                    this.fileList[this.fileList.length] = item
+                }).catch((err, x) => {
+                    console.log(err, x)
+                })
+        },
+
+        uploadRemove(file, fileList) {
+            this.fileList = fileList
+        },
+
+        getContent(content) {
+            this.content = content
+            this.fromData.content = content
+        },
+
+        parentMethod: function(val) {
+            if (val.length > 0) {
+              this.fromData.viewedBy = val.join(',')
+            }else{
+              this.fromData.viewedBy = "";
+            }
+        },
+
+        confirmSubmit: function(sta) {
+            const _this = this
+            this.$refs.fromData.validate(valid => {
+                if (valid) {
+                    let soaUrl = 'edit'
+                    const extraData = {}
+                    const postData = Object.assign({}, _this.fromData, extraData)
+                    if (!this.fromData.id) {
+                        postData.state = sta
+                        soaUrl = 'add'
+                    }
+                    postData.annex = JSON.stringify(_this.fileList)
+                    this.baseRequest(soaUrl, postData).then((res) => {
+                        if (res.data.msg === 'Success') {
+                            this.$message({
+                                type: 'success',
+                                message: '提交成功'
+                            })
+                            this.$emit('closeDialog')
+                        } else {
+                            this.$message({
+                                type: 'error',
+                                message: '提交失败'
+                            })
+                        }
+                    })
+                } else {
+                    console.log('error submit!!')
+                    return false
+                }
+            })
+        },
+
+        baseRequest(opUrl, postData) {
+            return this.$channel.globleRequest('ProRiskInfoController', opUrl, postData, 'project')
+        },
+
+        baseProRequest(opUrl, postData) {
+            return this.$channel.globleRequest('MnpCompanyController', opUrl, postData, 'project')
+        }
+    }
+}
+</script>
+
+<style lang="scss" scoped>
+.riskOD{
+    .el-upload{
+        width: 0 !important;
+    }
+    .ch-input .el-input__inner {
+        border-radius: 0px;
+        border-color: #32323A;
+    }
+    .ch-input-size {
+        width: 150px;
+    }
+    .ch-button {
+        border-radius: 0px;
+        border-color: #32323A;
+        background-color: #32323A;
+        color: #fff;
+    }
+    .ch-button-warning {
+        margin-left: 10px;
+        border-radius: 0px;
+        border-color: #E6A23C;
+        background-color: #E6A23C;
+        color: #fff;
+    }
+    .ch-button-export {
+        margin-left: 10px;
+        border-radius: 0px;
+        border-color: #98CC1F;
+        background-color: #98CC1F;
+        color: #fff;
+    }
+}
+</style>

+ 638 - 0
src/views/company/components/contractDetail.vue

@@ -0,0 +1,638 @@
+<template>
+  <div>
+    <el-form ref="form" :model="form" style="width: 100%;padding: 5px" :rules="rules">
+      <el-row>
+        <el-col style="padding-bottom: 10px">
+          <el-card shadow="always" style="padding: 15px 5px 5px 15px">
+            <el-row>
+              <el-col :span="5" class="col-txt">
+                合同编号:{{ form.contractNo }}
+              </el-col>
+              <el-col :span="3" class="col-txt"><span>合同原件</span></el-col>
+              <el-col :span="3" class="col-input">
+                <el-form-item>
+                  <el-upload
+                    class="upload-demo"
+                    action=""
+                    :file-list="contractOriginalList"
+                    :disabled="true"
+                  >
+                    <div slot="file" slot-scope="{file}">
+                      <a :href="file.url">{{ file.name }}</a>
+                    </div>
+                  </el-upload>
+                </el-form-item>
+              </el-col>
+              <el-col :span="3" class="col-txt"><span>其他附件</span></el-col>
+              <el-col :span="3" class="col-input">
+                <el-form-item>
+                  <el-upload
+                    class="upload-demo"
+                    action=""
+                    :file-list="contractOtherList"
+                    :disabled="true"
+                  >
+                    <div slot="file" slot-scope="{file}">
+                      <a :href="file.url">{{ file.name }}</a>
+                    </div>
+                  </el-upload>
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="5" class="col-txt"><span>*合同类型</span></el-col>
+              <el-col :span="18" class="col-input">
+                <el-form-item prop="contractType">
+                  <el-select v-model="form.contractType" placeholder="请选择" :disabled="true">
+                    <el-option
+                      v-for="item in dc_data.CONTRACT_TYPE"
+                      :key="item.value"
+                      :label="item.label"
+                      :value="item.value"
+                    />
+                  </el-select>
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="5" class="col-txt"><span>关联项目</span></el-col>
+              <el-col :span="15" class="col-input">
+                <el-form-item>
+                  <el-input v-model="form.projectName" readonly />
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="5" class="col-txt"><span>甲方</span></el-col>
+              <el-col :span="18" class="col-txt">
+                <el-form-item>
+                  <el-input value="无锡微纳产业发展有限公司" readonly />
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="5" class="col-txt"><span>*乙方</span></el-col>
+              <el-col :span="15" class="col-input">
+                <el-form-item prop="enterpriseObject">
+                  <el-input v-model="form.enterpriseName" readonly />
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="5" class="col-txt"><span>丙方</span></el-col>
+              <el-col :span="18" class="col-input">
+                <el-form-item>
+                  <el-input v-model="form.partyC" readonly />
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="5" class="col-txt"><span>*出租载体(可多选)</span></el-col>
+              <el-col :span="18" class="col-input">
+                <el-form-item prop="estateBuildingRoomNoList">
+                  <el-cascader
+                    v-model="form.estateBuildingRoomNoList"
+                    class="full"
+                    :options="TreeData"
+                    :props="{ multiple: true}"
+                  />
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="5" class="col-txt"><span>*模板类型</span></el-col>
+              <el-col :span="18" class="col-input">
+                <el-form-item prop="templateType">
+                  <el-select v-model="form.templateType" :disabled="true">
+                    <el-option
+                      v-for="item in dc_data.TEMPLATE_TYPE"
+                      :key="item.value"
+                      :label="item.label"
+                      :value="item.value"
+                    />
+                  </el-select>
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="5" class="col-txt"><span>*合同面积(m²)</span></el-col>
+              <el-col :span="18" class="col-txt">
+                <el-form-item prop="area">
+                  <el-input v-model="form.area" readonly />
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="5" class="col-txt"><span>*缴费方式</span></el-col>
+              <el-col :span="18" class="col-txt">
+                <el-form-item prop="payType">
+                  <el-select v-model="form.payType" placeholder="缴费方式" :disabled="true">
+                    <el-option v-for="item in dc_data.PAYMENT_CYCLE" :key="item.value" :label="item.label" :value="item.value" />
+                  </el-select>
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="5" class="col-txt"><span>*合同日期起止</span></el-col>
+              <el-col :span="7" class="col-input">
+                <el-form-item prop="startDate">
+                  <el-date-picker
+                    v-model="form.startDate"
+                    value-format="yyyy-MM-dd"
+                    type="date"
+                    placeholder="选择日期"
+                    :disabled="true"
+                  />
+                </el-form-item>
+              </el-col>
+              <el-col :span="1" class="col-txt"><span>~</span></el-col>
+              <el-col :span="7" class="col-input">
+                <el-form-item prop="endDate">
+                  <el-date-picker
+                    v-model="form.endDate"
+                    value-format="yyyy-MM-dd"
+                    type="date"
+                    placeholder="选择日期"
+                    :disabled="true"
+                  />
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="5" class="col-txt"><span>*筹备期(天)</span></el-col>
+              <el-col :span="18" class="col-txt">
+                <el-form-item prop="preparationPeriod">
+                  <el-input v-model="form.preparationPeriod" readonly />
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="5" class="col-txt"><span>*签约日期</span></el-col>
+              <el-col :span="18" class="col-input">
+                <el-form-item prop="signingDate">
+                  <el-date-picker
+                    v-model="form.signingDate"
+                    type="date"
+                    placeholder="签约日期"
+                    value-format=" yyyy-MM-dd"
+                    :disabled="true"
+                  />
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="5" class="col-txt"><span>*签约人</span></el-col>
+              <el-col :span="18" class="col-input">
+                <el-form-item prop="signingName">
+                  <el-input v-model="form.signingName" readonly />
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="5" class="col-txt"><span>备注说明</span></el-col>
+              <el-col :span="18" class="col-input">
+                <el-form-item>
+                  <el-input v-model="form.remark" readonly />
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-divider />
+            </el-row>
+            <el-row>
+              <el-col :span="5" class="col-txt"><span style="font-weight: bold;font-size: large">租赁条款</span></el-col>
+              <el-col :span="18" class="col-input">
+                {{ form.contractNoLease }}
+              </el-col>
+            </el-row>
+            <div v-if="typeAFlag">
+              <el-row>
+                <el-col :span="5" class="col-txt"><span>*租金单价(元/平方米/月)</span></el-col>
+                <el-col :span="18" class="col-input">
+                  <el-form-item prop="price">
+                    <el-input v-model="form.price" readonly />
+                  </el-form-item>
+                </el-col>
+              </el-row>
+              <el-row>
+                <el-col :span="5" class="col-txt"><span>*月租金(元)</span></el-col>
+                <el-col :span="18" class="col-input">
+                  <el-form-item prop="monthPrice">
+                    <el-input v-model="form.monthPrice" readonly />
+                  </el-form-item>
+                </el-col>
+              </el-row>
+              <el-row>
+                <el-col :span="5" class="col-txt"><span>*周期(月)</span></el-col>
+                <el-col :span="18" class="col-input">
+                  <el-form-item prop="leaseCycle">
+                    <el-input v-model="form.leaseCycle" readonly />
+                  </el-form-item>
+                </el-col>
+              </el-row>
+            </div>
+            <div v-if="typeBFlag">
+              <el-row>
+                <el-col :span="24" class="col-txt">
+                  <el-form ref="tableForm" :model="rents" :rules="rules">
+                    <el-table
+                      ref="elTable"
+                      style="margin: 15px auto"
+                      :data="rents"
+                      border
+                      lazy
+                      :tree-props="{ children: 'children', hasChildren: 'hasChildren' }"
+                      :header-cell-style="{background:'#CCCCCC'}"
+                    >
+                      <el-table-column label="开始时间" prop="startDate" align="center" />
+                      <el-table-column label="结束时间" prop="endDate" align="center" />
+                      <el-table-column label="该时间段租金单价(元/平方米/月)" prop="price" align="center" />
+                      <el-table-column label="该时间段月租(元)" align="center" prop="monthPrice" />
+                      <el-table-column label="阶段周期" align="center" prop="leaseCycle" />
+                      <el-table-column label="该时间段租金合计" align="center" prop="totalRent" />
+                    </el-table>
+                  </el-form>
+                </el-col>
+              </el-row>
+            </div>
+            <el-row>
+              <el-col :span="5" class="col-txt"><span>总租金额(万元)</span></el-col>
+              <el-col :span="18" class="col-input">
+                <el-form-item>
+                  <el-input v-model="form.totalRent" readonly />
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="5" class="col-txt"><span>第一期租金(元)</span></el-col>
+              <el-col :span="18" class="col-input">
+                <el-form-item>
+                  <el-input v-model="form.firstRent" readonly />
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-divider />
+            </el-row>
+            <el-row>
+              <el-col :span="5" class="col-txt"><span style="font-weight: bold;font-size: large">物业条款</span></el-col>
+              <el-col :span="18" class="col-input">
+                {{ form.contractNoProperty }}
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="5" class="col-txt"><span>*物业费单价(元/平方米/月)</span></el-col>
+              <el-col :span="18" class="col-input">
+                <el-form-item prop="propertyManagementFeePrice">
+                  <el-input v-model="form.propertyManagementFeePrice" readonly />
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="5" class="col-txt"><span>*月物业费(元)</span></el-col>
+              <el-col :span="18" class="col-input">
+                <el-form-item prop="monthlyPropertyManagementFee">
+                  <el-input v-model="form.monthlyPropertyManagementFee" readonly />
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="5" class="col-txt"><span>*周期(月)</span></el-col>
+              <el-col :span="18" class="col-input">
+                <el-form-item prop="propertyCycle">
+                  <el-input v-model="form.propertyCycle" readonly />
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="5" class="col-txt"><span>*总物业费金额(万元)</span></el-col>
+              <el-col :span="18" class="col-input">
+                <el-form-item prop="totalPropertyCost">
+                  <el-input v-model="form.totalPropertyCost" readonly />
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="5" class="col-txt"><span>*房屋保证金(元)</span></el-col>
+              <el-col :span="18" class="col-input">
+                <el-form-item prop="bond">
+                  <el-input v-model="form.bond" disabled />
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="5" class="col-txt"><span>*第一期物业费(元)</span></el-col>
+              <el-col :span="18" class="col-input">
+                <el-form-item prop="firstPropertyManagementFee">
+                  <el-input v-model="form.firstPropertyManagementFee" readonly />
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-divider />
+            </el-row>
+            <el-row>
+              <el-col :span="5" class="col-txt"><span style="font-weight: bold;font-size: large">入驻款</span></el-col>
+              <el-col :span="18" class="col-input">
+                <el-form-item prop="settlementPayment">
+                  <el-input v-model="form.settlementPayment" readonly />
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="5" class="col-txt"><span>入驻款缴费截至日期</span></el-col>
+              <el-col :span="18" class="col-input">
+                <el-form-item prop="settlementPaymentDeadline">
+                  <el-date-picker
+                    v-model="form.settlementPaymentDeadline"
+                    class="_wth"
+                    value-format="yyyy-MM-dd"
+                    type="date"
+                    placeholder="选择日期"
+                    :disabled="true"
+                  />
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="5" class="col-txt"><span>签约资料</span></el-col>
+              <el-col :span="18" class="col-input">
+                <el-form-item>
+                  <el-upload
+                    class="upload-demo"
+                    action="/server/wx/fileController/uploadImage"
+                    :file-list="signingMaterialsList"
+                  >
+                    <div slot="file" slot-scope="{file}">
+                      <a :href="file.url">{{ file.name }}</a>
+                    </div>
+                  </el-upload>
+                </el-form-item>
+              </el-col>
+            </el-row>
+          </el-card>
+        </el-col>
+      </el-row>
+    </el-form>
+    <div slot="footer" style="text-align: right">
+      <el-button @click="handleClose">关 闭</el-button>
+    </div>
+  </div>
+</template>
+<script>
+import Base from '@/views/base/base'
+export default {
+    name: 'ContractDetail',
+    mixins: [Base],
+    data() {
+        return {
+            form: {},
+            rents: {},
+            rules: {},
+            contractOriginalList: [],
+            contractOtherList: [],
+            signingMaterialsList: [],
+            TreeData: [],
+            typeAFlag: false,
+            typeBFlag: false,
+            id: '',
+            dc_key: ['CONTRACT_STATUS', 'PAYMENT_CYCLE', 'TEMPLATE_TYPE', 'SETTLE_IN_STATUS', 'BOND_STATUS', 'CONTRACT_TYPE']
+        }
+    },
+    methods: {
+        initData(id) {
+            this.id = id || ''
+            this.findRoomTree()
+            this.initDict(this.dc_key).then(res => {
+                this.getData()
+            })
+        },
+        getData() {
+            const _this = this
+            this.baseRequest('getById', { id: this.id }).then((res) => {
+                if (res.data) {
+                    const { data } = res
+                    _this.form = Object.assign({}, _this.form, res.data)
+                    // 合同原件
+                    _this.contractOriginalList = data.contractOriginal ? _this.$common.castEval(data.contractOriginal) : []
+                    // 其他附件
+                    _this.contractOtherList = data.contractOther ? _this.$common.castEval(data.contractOther) : []
+                    // 签约资料
+                    _this.signingMaterialsList = data.projectSigningMaterials ? _this.$common.castEval(data.projectSigningMaterials) : []
+                    if (_this.contractOriginalList.length > 0 && _this.contractOtherList.length > 0 && _this.form.contractStatus == '1') {
+                        _this.effectFlag = false
+                    } else {
+                        _this.effectFlag = true
+                    }
+                    // 填充出租载体
+                    _this.form.estateBuildingRoomNoList = []
+                    const roomList = _this.form.estateBuildingRoomNo.split(',')
+                    roomList.forEach((item) => {
+                        _this.form.estateBuildingRoomNoList.push(item.split('/'))
+                    })
+                    this.$forceUpdate()
+                    const templateType = _this.form.templateType
+                    // 租赁模板A
+                    if (templateType == 1) {
+                        _this.typeAFlag = true
+                        _this.typeBFlag = false
+                    } else {
+                        _this.typeAFlag = false
+                        _this.typeBFlag = true
+                        // 合同分段
+                        this.baseRentRequest('listAll', { contractId: _this.form.id }).then(res => {
+                            const data = res.data
+                            _this.rents = data
+                        })
+                    }
+                    // 项目名称
+                    _this.form.projectId = data.projectId
+                    _this.form.projectName = data.projectName
+                    // 乙方
+                    _this.enterpriseObject = data.enterpriseName
+                    _this.form.enterpriseName = data.enterpriseName
+                    _this.form.enterpriseId = data.enterpriseId
+                    // 签约日期
+                    _this.form.signingDate = data.signingDate
+                }
+            })
+        },
+        findRoomTree: function() {
+            const _this = this
+            this.pubRequest('getTreeData4', '').then((res) => {
+                _this.TreeData = res.data.data
+            })
+        },
+        handleClose() {
+            this.$emit('dlgClose')
+        },
+        baseRentRequest(opUrl, postData) {
+            return this.$channel.globeRequest('ContractRentController', opUrl, postData, 'project')
+        },
+        pubRequest(opUrl, postData) {
+            return this.$channel.globeRequest('ParkInfoController', opUrl, postData, 'project')
+        },
+        baseRequest(opUrl, postData) {
+            return this.$channel.globeRequest('ParkContractManageController', opUrl, postData, 'project')
+        }
+    }
+}
+</script>
+
+<style scoped>
+.fuck_switch{
+	height: 27px;
+	width: 27px;
+	line-height: 27px;
+	border-radius: 50%;
+	background: white;
+	text-align: center;
+	position: absolute;
+	z-index: 100;
+	top: 96%;
+	left: 50%;
+}
+.list_total_row{
+	margin-left: 15px;
+}
+.handle-box_xufeng{
+	padding: 10px;
+	background-color: white;
+	line-height: 31px;
+}
+.handle-box_button{
+	background-color: white;
+	padding: 20px 1px 0 20px;
+}
+.search-label{
+	height: 28px;
+	width: 90%;
+	line-height: 28px;
+	text-align-last: justify;
+	text-justify:inter-ideograph;
+	text-align:justify;
+}
+.ch-input .el-input__inner {
+    border-color: #32323a;
+}
+
+.ch-input-size {
+    width: 150px;
+}
+
+.ch-button {
+    border-color: #32323a;
+    background-color: #32323a;
+    color: #fff;
+}
+
+.ch-button-warning {
+    margin-left: 10px;
+    border-color: #e6a23c;
+    background-color: #e6a23c;
+    color: #fff;
+}
+
+.ch-button-export {
+    margin-left: 10px;
+    border-color: #98cc1f;
+    background-color: #98cc1f;
+    color: #fff;
+}
+.mast_button{
+	color: #fff;
+	padding: 0;
+	background: #1D18BC;
+	height: 37px;
+	width: 15%;
+	line-height: 37px;
+	text-align: center;
+}
+.list_total{
+	height: 37px;
+	line-height: 37px;
+	font-size: 16px;
+	color: #333333;
+	display: flex;
+	float: right;
+	margin-right: 30px;
+}
+.second_button{
+	color: #fff;
+	padding: 0;
+	background: #567CFF;
+	height: 37px;
+	width: 15%;
+	line-height: 37px;
+	text-align: center;
+}
+.listBox {
+    display: flex;
+    flex-wrap: wrap;
+}
+.list {
+
+    border-radius: 4px;
+    margin-right: 20px;
+    cursor: pointer;
+	width: 138px;
+	height: 28px;
+	text-align: center;
+    line-height: 28px;
+    background: #EBEBEB;
+    color: #777777;
+}
+.checked {
+    color: #2C27D0;
+		background: rgba(44,39,208,0.1);
+    /*border: 1px solid #3377ff;*/
+}
+/deep/ .el-dialog__header {
+    padding: 10px 20px;
+}
+
+/deep/ .el-dialog__body {
+    padding: 10px 20px;
+}
+.company_title {
+    margin: 18px 0;
+    font-size: 24px;
+    font-weight: bold;
+    width: 50%;
+    float: left;
+}
+.company_info {
+    float: left;
+    font-size: 18px;
+    margin-left: 30px;
+}
+.company_info :first {
+    margin-left: 0;
+}
+.comapny_tags_row {
+    float: right;
+    margin: 16px 0;
+}
+
+.comapny_tags {
+    border: 1px solid #0099ff;
+    background: #b3d9f8;
+    margin-left: 15px;
+    height: 25px;
+    float: left;
+    padding: 0 10px;
+    text-align: center;
+    line-height: 25px;
+    border-radius: 15px;
+    color: #0099ff;
+}
+.comapny_tags_row {
+    color: #0099ff;
+    border-color: rgba(0, 153, 255, 1);
+}
+.el-icon-edit-outline .el-icon-refresh {
+    font-weight: bold;
+    font-size: 25px;
+    height: 40px;
+}
+</style>

+ 846 - 0
src/views/company/components/indexDetail.vue

@@ -0,0 +1,846 @@
+<template>
+  <div>
+    <!-- 详情页面 -->
+    <el-row>
+      <el-col :span="24">
+        <div class="company_title" style="display: flex;align-items: center">
+          {{ form.qymc }}
+          <div class="" style="margin-left: 20px;margin-top: 10px">
+            <img v-if="form.isListingReserve === '是'" :src="require('../../../static/images/listingReserve.png')" style="width: 100px" alt="">
+            <img v-if="form.isImportantCompany === '是'" :src="require('../../../static/images/importantCompany.png')" style="width: 100px" alt="">
+          </div>
+        </div>
+      </el-col>
+      <el-col :span="24">
+        <div style="min-height: 10px;float: left">
+          <div v-if="!tagOptions.length" class="comapny_tags">{{ '暂无标签' }}</div>
+          <div v-for="item in tagOptions" :key="item.id" class="comapny_tags">
+            {{ item.tagName }}
+          </div>
+        </div>
+        <div style="margin-bottom: 20px">
+          <el-tooltip v-if="fromAddress!=='getBillManagementCollecte'" class="item" effect="dark" content="编辑标签" placement="top-end">
+            <img :src="require('../../../static/images/editTag.png')" style="width: 25px;" alt="" @click="toEditTag">
+          </el-tooltip>
+          <el-tooltip class="item" effect="dark" content="标签历史" placement="top-end">
+            <img :src="require('../../../static/images/editHistory.png')" style="width: 25px;;" alt="" @click="toTagHistory">
+          </el-tooltip>
+        </div>
+      </el-col>
+      <el-col :span="24">
+          <div class="company_info">所属园区:{{ form.groupId }}</div>
+          <div class="company_info">所属行业:{{ form.industry }}</div>
+          <div class="company_info">入驻类型:{{ form.settleInTypeName }}</div>
+          <div class="company_info">从业人数:{{ form.practiceNumber }}</div>
+          <div class="company_info">当前企服专员:{{ form.serviceCommissionerName }}</div>
+          <div class="company_info">企业经营面积(㎡):{{ form.manageArea }}</div>
+
+<!--        <div class="company_info" style="margin-left: 0">所属楼盘:{{ form.areaName }}</div>-->
+<!--        <div class="company_info">所属行业:{{ form.industry }}</div>-->
+<!--        <div class="company_info">入驻类型:{{ form.settleInTypeName }}</div>-->
+<!--          <div class="company_info">法定代表人:{{ form.fddbr }}</div>-->
+<!--          <div class="company_info">联系人:{{ form.qylxr }}</div>-->
+<!--          <div class="company_info">联系电话:{{ form.lxdh }}</div>-->
+<!--          <div class="company_info">所属园区:{{ form.groupId }}</div>-->
+<!--        <div class="company_info">从业人数:{{ form.practiceNumber }}</div>-->
+<!--        <div class="company_info">入驻状态:{{ entryStatusName }}</div>-->
+<!--        <div class="company_info">入驻园区日期:{{ form.rzsj }}</div>-->
+<!--        <div class="company_info">当前企服专员:{{ form.serviceCommissionerName }}</div>-->
+      </el-col>
+    </el-row>
+    <el-tabs v-model="activeName" style="font-size: 16px" @tab-click="handleClick">
+      <el-tab-pane label="基本信息" name="基本信息">
+<!--        <el-button v-if="fromAddress!=='getBillManagementCollecte'" size="small" type="primary" @click="handleEdit()"><i class="el-icon-edit" />&nbsp;编辑</el-button>-->
+        <index-edit v-if="activeName==='基本信息'" ref="indexEdit" />
+      </el-tab-pane>
+      <el-tab-pane label="经发数据" name="经发数据">
+        <el-row>
+          <el-col :span="16">
+            <el-date-picker
+              v-model="yearSearch"
+              size="small"
+              type="year"
+              value-format="yyyy"
+              placeholder="选择年"
+              :clearable="false"
+              @change="getGrowthData"
+            />
+          </el-col>
+          <el-col :span="16">
+            <el-table :data="tableData" style="width: 100%" size="mini">
+              <el-table-column prop="month" label="月份" />
+              <el-table-column prop="ysYb" label="营收(预报)" />
+              <el-table-column prop="ysYbLastYear" label="去年同期" />
+              <el-table-column label="同比增长">
+                <template v-slot="scope">
+                  {{ scope.row.ysTbzz === '--' ? scope.row.ysTbzz : (parseFloat(scope.row.ysTbzz).toFixed(2) + '%') }}
+                  <i v-if="scope.row.ysTbzz > 0 && scope.row.ysTbzz !== '--'" class="el-icon-top" style="color:#74D118;" />
+                  <i v-if="scope.row.ysTbzz < 0 && scope.row.ysTbzz !== '--'" class="el-icon-bottom" style="color:#F61C1C;" />
+                </template>
+              </el-table-column>
+              <el-table-column label="环比增长">
+                <template v-slot="scope">
+                  {{ scope.row.ysHbzz === '--' ? scope.row.ysHbzz : (parseFloat(scope.row.ysHbzz).toFixed(2) + '%') }}
+                  <i v-if="scope.row.ysHbzz > 0 && scope.row.ysHbzz !== '--'" class="el-icon-top" style="color:#74D118;" />
+                  <i v-if="scope.row.ysHbzz < 0 && scope.row.ysHbzz !== '--'" class="el-icon-bottom" style="color:#F61C1C;" />
+                </template>
+              </el-table-column>
+              <el-table-column prop="ysDr" label="营收(导入)" width="100" />
+              <el-table-column prop="ysCyz" label="差异值" />
+              <el-table-column prop="ssYb" label="税收(预报)" width="100" />
+              <el-table-column prop="ssYbLastYear" label="去年同期" />
+              <el-table-column label="同比增长">
+                <template v-slot="scope">
+                  {{ scope.row.ssTbzz === '--' ? scope.row.ssTbzz : (parseFloat(scope.row.ssTbzz).toFixed(2) + '%') }}
+                  <i v-if="scope.row.ssTbzz > 0 && scope.row.ssTbzz !== '--'" class="el-icon-top" style="color:#74D118;" />
+                  <i v-if="scope.row.ssTbzz < 0 && scope.row.ssTbzz !== '--'" class="el-icon-bottom" style="color:#F61C1C;" />
+                </template>
+              </el-table-column>
+              <el-table-column label="环比增长">
+                <template v-slot="scope">
+                  {{ scope.row.ssHbzz === '--' ? scope.row.ssHbzz : (parseFloat(scope.row.ssHbzz).toFixed(2) + '%') }}
+                  <i v-if="scope.row.ssHbzz > 0 && scope.row.ssHbzz !== '--'" class="el-icon-top" style="color:#74D118;" />
+                  <i v-if="scope.row.ssHbzz < 0 && scope.row.ssHbzz !== '--'" class="el-icon-bottom" style="color:#F61C1C;" />
+                </template>
+              </el-table-column>
+              <el-table-column prop="ssDr" label="税收(导入)" width="100" />
+              <el-table-column prop="ssCyz" label="差异值" />
+            </el-table>
+          </el-col>
+          <el-col :span="8">
+            <div
+              v-if="activeName === '经发数据'"
+              id="charts"
+              style="height: 490px; width: 100%"
+            />
+          </el-col>
+        </el-row>
+      </el-tab-pane>
+<!--      <el-tab-pane label="合同信息" name="合同信息">-->
+<!--        <el-row>-->
+<!--          <el-col :span="24">-->
+<!--            <el-table :data="tableData" style="width: 100%" size="mini">-->
+<!--              <el-table-column type="index" label="序号" />-->
+<!--              <el-table-column prop="enterpriseName" label="乙方名称" />-->
+<!--              <el-table-column prop="contractNo" label="合同编号" />-->
+<!--              <el-table-column prop="contractType" label="合同类型" />-->
+<!--              <el-table-column prop="address" label="合同日期起止">-->
+<!--                <template v-slot="scope">-->
+<!--                  {{ scope.row.startDate + ' ~ ' + scope.row.endDate }}-->
+<!--                </template>-->
+<!--              </el-table-column>-->
+<!--              <el-table-column prop="estateBuildingRoomNo" label="载体" />-->
+<!--              <el-table-column prop="limitMonth" label="租期(月)" />-->
+<!--              <el-table-column prop="area" label="面积(平米)" />-->
+<!--              <el-table-column prop="totalRent" label="合同总金额(万元)" />-->
+<!--              <el-table-column prop="" label="应收结余(万元)" />-->
+<!--              <el-table-column prop="totalPropertyCost" label="总物业费金额(万元)" />-->
+<!--              <el-table-column prop="contractStatus" label="合同状态" />-->
+<!--              <el-table-column label="操作" align="center" width="90">-->
+<!--                <template scope="scope">-->
+<!--                  <el-button size="mini" type="text" @click="handleView(scope.row)">查看</el-button>-->
+<!--                </template>-->
+<!--              </el-table-column>-->
+<!--            </el-table>-->
+<!--          </el-col>-->
+<!--        </el-row>-->
+<!--      </el-tab-pane>-->
+<!--      <el-tab-pane label="入驻情况" name="入驻情况">-->
+<!--        <el-row>-->
+<!--          <el-col :span="24">-->
+<!--            当前入驻状态:{{ entryStatusName }}-->
+<!--          </el-col>-->
+<!--          <el-col :span="24">-->
+<!--            <el-table :data="tableData" style="width: 100%" size="mini">-->
+<!--              <el-table-column align="center" type="index" label="序号" />-->
+<!--              <el-table-column align="center" prop="orderType" label="类型" />-->
+<!--              <el-table-column align="center" prop="orderNo" label="对应单号" />-->
+<!--              <el-table-column align="center" prop="completionDate" label="办结日期" />-->
+<!--              <el-table-column label="操作" align="center" width="90">-->
+<!--                <template scope="scope">-->
+<!--                  <el-button size="mini" type="text" @click="handleEntryView(scope.row)">查看</el-button>-->
+<!--                </template>-->
+<!--              </el-table-column>-->
+<!--            </el-table>-->
+<!--          </el-col>-->
+<!--        </el-row>-->
+<!--      </el-tab-pane>-->
+<!--      <el-tab-pane label="缴费记录" name="缴费记录">-->
+<!--        <el-row>-->
+<!--          <el-col :span="24">-->
+<!--            <el-table :data="tableData" style="width: 100%" size="mini">-->
+<!--              <el-table-column prop="date" label="序号" />-->
+<!--              <el-table-column prop="name" label="合同编号" />-->
+<!--              <el-table-column prop="address" label="企业名称" />-->
+<!--              <el-table-column prop="address" label="联系人" />-->
+<!--              <el-table-column prop="address" label="联系电话" />-->
+<!--              <el-table-column prop="address" label="账单归属" />-->
+<!--              <el-table-column prop="address" label="账单日期" />-->
+<!--              <el-table-column prop="address" label="缴费日期" />-->
+<!--              <el-table-column prop="address" label="费用类型" />-->
+<!--              <el-table-column prop="address" label="支付金额" />-->
+<!--              <el-table-column prop="address" label="支付方式" />-->
+<!--              <el-table-column prop="address" label="支付凭证" />-->
+<!--              <el-table-column prop="address" label="开票状态" />-->
+<!--              <el-table-column prop="address" label="发票类型" />-->
+<!--              <el-table-column prop="address" label="发票号" />-->
+<!--            </el-table>-->
+<!--          </el-col>-->
+<!--        </el-row>-->
+<!--      </el-tab-pane>-->
+<!--      <el-tab-pane label="补贴信息" name="补贴信息">-->
+<!--        <el-row>-->
+<!--          <el-col :span="24" style="text-align: right">-->
+<!--            累计补贴金额:{{ subsidyMoneyTotal }}万元-->
+<!--          </el-col>-->
+<!--        </el-row>-->
+<!--        <el-row>-->
+<!--          <el-col :span="24">-->
+<!--            <el-table :data="tableData" style="width: 100%" size="mini">-->
+<!--              <el-table-column align="center" type="index" label="序号" />-->
+<!--              <el-table-column align="center" prop="enterpriseName" label="企业名称" />-->
+<!--              <el-table-column align="center" prop="projectName" label="项目名称" />-->
+<!--              <el-table-column align="center" prop="subsidyMonth" label="补贴月份" />-->
+<!--              <el-table-column align="center" prop="subsidyMoney" label="补贴金额(万元)" />-->
+<!--            </el-table>-->
+<!--          </el-col>-->
+<!--        </el-row>-->
+<!--      </el-tab-pane>-->
+      <el-tab-pane label="走访信息" name="走访信息">
+        <el-row>
+          <el-col :span="24">
+            <el-table :data="tableData" style="width: 100%" size="mini">
+              <el-table-column align="center" type="index" label="序号" />
+              <el-table-column align="center" prop="interviewTime" label="走访时间" />
+              <el-table-column align="center" prop="interviewUserName" label="走访人" />
+              <el-table-column align="center" prop="interviewRecord" label="走访记录" />
+              <el-table-column align="center" prop="interviewType" label="走访类型" />
+              <el-table-column align="center" prop="isStatus" label="是否需要处理" />
+              <el-table-column align="center" prop="handleResult" label="处理结果" />
+              <el-table-column align="center" prop="handleUserName" label="处理人" />
+            </el-table>
+          </el-col>
+        </el-row>
+      </el-tab-pane>
+<!--      <el-tab-pane label="上市进展" name="上市进展">-->
+<!--        <el-card>-->
+<!--          <el-row>-->
+<!--            <el-col :span="3" class="col-txt">新增时间:</el-col>-->
+<!--            <el-col :span="10" class="col-input">-->
+<!--              <el-input v-model="formData.createDate" readonly />-->
+<!--            </el-col>-->
+<!--            <el-col :span="5" class="col-txt">当前是否上市后备企业:</el-col>-->
+<!--            <el-col :span="5" class="col-input">-->
+<!--              {{ form.isListingReserve === '是' ? form.isListingReserve: '否' }}-->
+<!--            </el-col>-->
+<!--          </el-row>-->
+<!--          <el-row style="margin-top: 10px">-->
+<!--            <el-col :span="3" class="col-txt">公司简介:</el-col>-->
+<!--            <el-col :span="20" class="col-input">-->
+<!--              <el-input v-model="formData.companyProfile" type="textarea" autosize readonly />-->
+<!--            </el-col>-->
+<!--          </el-row>-->
+<!--          <el-row style="margin-top: 10px">-->
+<!--            <el-col :span="3" class="col-txt">上市板块:</el-col>-->
+<!--            <el-col :span="20" class="col-input">-->
+<!--              <el-input v-model="formData.listSector" readonly />-->
+<!--            </el-col>-->
+<!--          </el-row>-->
+<!--          <el-row style="margin-top: 10px">-->
+<!--            <el-col :span="3" class="col-txt">挂钩领导:</el-col>-->
+<!--            <el-col :span="20" class="col-input">-->
+<!--              <el-input v-model="formData.linkedLeadership" readonly />-->
+<!--            </el-col>-->
+<!--          </el-row>-->
+<!--          <el-row style="margin-top: 10px">-->
+<!--            <el-col :span="3" class="col-txt">上市进度:</el-col>-->
+<!--            <el-col :span="20" class="col-input">-->
+<!--              <el-input v-model="formData.listProgress" type="textarea" autosize readonly />-->
+<!--            </el-col>-->
+<!--          </el-row>-->
+<!--          <el-row style="margin-top: 10px">-->
+<!--            <el-col :span="3" class="col-txt">最新进展:</el-col>-->
+<!--            <el-col :span="20" class="col-input">-->
+<!--              <el-input v-model="formData.latestDevelopments" type="textarea" autosize readonly />-->
+<!--            </el-col>-->
+<!--          </el-row>-->
+<!--          <el-row style="margin-top: 10px">-->
+<!--            <el-col :span="3" class="col-txt">更新时间:</el-col>-->
+<!--            <el-col :span="20" class="col-input">-->
+<!--              <el-input v-model="formData.updateDate" readonly />-->
+<!--            </el-col>-->
+<!--          </el-row>-->
+<!--          <el-row style="margin-top: 10px">-->
+<!--            <el-col :span="3" class="col-txt">更新人:</el-col>-->
+<!--            <el-col :span="20" class="col-input">-->
+<!--              <el-input v-model="formData.updateBy" readonly />-->
+<!--            </el-col>-->
+<!--          </el-row>-->
+<!--        </el-card>-->
+<!--      </el-tab-pane>-->
+<!--      <el-tab-pane label="能耗情况" name="能耗情况">-->
+<!--        <el-row>-->
+<!--          <el-col :span="24">-->
+<!--            <el-table :data="tableData" style="width: 100%" size="mini">-->
+<!--              <el-table-column prop="date" label="序号" />-->
+<!--              <el-table-column prop="name" label="账单日期" />-->
+<!--              <el-table-column prop="address" label="能耗类型" />-->
+<!--              <el-table-column prop="address" label="账单归属" />-->
+<!--              <el-table-column prop="address" label="数量" />-->
+<!--              <el-table-column prop="address" label="单位" />-->
+<!--              <el-table-column prop="address" label="单价(元)" />-->
+<!--              <el-table-column prop="address" label="已收金额(元)" />-->
+<!--              <el-table-column prop="address" label="欠费金额(元)" />-->
+<!--            </el-table>-->
+<!--          </el-col>-->
+<!--        </el-row>-->
+<!--      </el-tab-pane>-->
+<!--      <el-tab-pane label="风险预警" name="风险预警">-->
+<!--        <risk ref="risk" :from-address="fromAddress" />-->
+<!--      </el-tab-pane>-->
+    </el-tabs>
+    <div slot="footer" style="text-align: right">
+      <el-button @click="handleClose">关 闭</el-button>
+    </div>
+    <el-dialog
+      :title="dialogTitle"
+      :visible.sync="dialogVisible"
+      width="75%"
+      top="50px"
+      :close-on-press-escape="false"
+      :close-on-click-modal="false"
+      append-to-body
+      @close="handleEditClose"
+    >
+      <index-edit v-if="dialogVisible" ref="indexEdit2" @editClose="handleEditClose" />
+    </el-dialog>
+    <!-- 企业标签相关 -->
+    <el-dialog
+      :title="tagName"
+      :visible.sync="dialogBindCompanyLogVisible"
+      :close-on-click-modal="false"
+      :close-on-press-escape="false"
+      width="90%"
+      top="20px"
+      append-to-body
+      @close="getChildrenData"
+    >
+      <bind-company-tag ref="bindCompanyTag" @childEventBug="getChildrenData" />
+    </el-dialog>
+    <el-dialog
+      :title="'合同详情'"
+      :visible.sync="dialogContractVisible"
+      :close-on-click-modal="false"
+      :close-on-press-escape="false"
+      width="90%"
+      top="20px"
+      append-to-body
+      @close="contractClose"
+    >
+      <contract-detail v-if="dialogContractVisible" ref="contractDetail" @dlgClose="contractClose" />
+    </el-dialog>
+    <el-dialog
+      :title="'入驻详情'"
+      :visible.sync="dialogSettleInVisible"
+      :close-on-click-modal="false"
+      :close-on-press-escape="false"
+      width="90%"
+      top="20px"
+      append-to-body
+      @close="settleInClose"
+    >
+      <settle-in-view v-if="dialogSettleInVisible" ref="settleInDetail" @checkClose="settleInClose" />
+    </el-dialog>
+    <el-dialog
+      title="快速清退单详情"
+      :visible.sync="clearVisible"
+      :close-on-click-modal="false"
+      :close-on-press-escape="false"
+      width="90%"
+      top="20px"
+      append-to-body
+      @close="clearClose"
+    >
+      <clear-view v-if="clearVisible" ref="clearDetail" @cancel="clearClose" />
+    </el-dialog>
+    <el-dialog
+      title="退租单详情"
+      :visible.sync="retreatVisible"
+      :close-on-click-modal="false"
+      :close-on-press-escape="false"
+      width="90%"
+      top="20px"
+      append-to-body
+      @close="clearClose"
+    >
+      <retreat-view v-if="retreatVisible" ref="retreatDetail" @cancel="retreatClose" />
+    </el-dialog>
+    <tag-record ref="tagRecord" />
+  </div>
+</template>
+<script>
+import Base from '@/views/base/base'
+import risk from './risk.vue'
+import IndexEdit from '@/views/company/components/indexEdit.vue'
+import bindCompanyTag from '@/views/company/dialog/bindCompanyTag.vue'
+import tagRecord from '@/views/company/dialog/tagRecord.vue'
+import ContractDetail from '@/views/company/components/contractDetail.vue'
+
+export default {
+    name: 'IndexDetail',
+    components: { ContractDetail, tagRecord, bindCompanyTag, IndexEdit, risk, },
+    mixins: [Base],
+    props: {
+        // 确认从哪个页面跳转过来的,这样可以做相应的操作
+        fromAddress: {
+            type: String,
+            default: ''
+        }
+    },
+    data() {
+        return {
+            form: {},
+            formData: {},
+            tagOptions: [],
+            tableData: [],
+            activeName: '基本信息',
+            dc_key: ['MNP_BUILDING_TYPE', 'CURRENCY', 'MNP_BUILDING_LCQY', 'CONTRACT_STATUS', 'CONTRACT_TYPE', 'SETTLE_IN_STATUS'],
+            // 弹框相关
+            closeRefresh: false,
+            dialogVisible: false,
+            dialogTitle: '',
+            tagName: '',
+            dialogContractVisible: false,
+            dialogBindCompanyLogVisible: false,
+            dialogSettleInVisible: false,
+            clearVisible: false,
+            retreatVisible: false,
+            yearSearch: '',
+            entryStatusName: '',
+            subsidyMoneyTotal: 0
+        }
+    },
+    mounted() {
+    },
+    methods: {
+        initData(data) {
+            this.baseRequest('getById', { id: data.id }).then(res => {
+                this.form = res.data || {}
+                this.initDict(this.dc_key).then(res => {
+                    this.form.area = this.form.area ? this.dc_map.MNP_BUILDING_LCQY[this.form.area] : ''
+                    this.form.settleInTypeName = this.form.settleInType ? this.dc_map.MNP_BUILDING_TYPE[this.form.settleInType] : ''
+                    this.entryStatusName = this.form.entryStatus ? this.dc_map.SETTLE_IN_STATUS[this.form.entryStatus] : ''
+                })
+                this.$nextTick(() => {
+                    this.$refs.indexEdit.initData(this.form.id, false, true)
+                })
+                this.initTagInfo()
+            })
+        },
+        initTagInfo() {
+            this.tagOptions = []
+            if (this.form.id) {
+                this.mnpTagInfoRequest('getCompanyTags/' + this.form.id, {}).then((res) => {
+                    this.tagOptions = res.data || []
+                })
+            }
+        },
+        handleClose() {
+            this.$emit('detailClose', this.closeRefresh)
+        },
+        initChart() {
+            // 基于准备好的dom,初始化echarts实例  这个和上面的main对应
+            const myChart = this.$echarts.init(document.getElementById('charts'))
+            window.addEventListener('resize', myChart.resize)
+            const month = []
+            const ss = []
+            const ys = []
+            this.tableData.forEach(item => {
+                month.push(item.month)
+                ss.push(item.ssDr === '--' ? 0 : item.ssDr)
+                ys.push(item.ysDr === '--' ? 0 : item.ysDr)
+            })
+            // 指定图表的配置项和数据
+            const option = {
+                color: ['#4C77FE', '#1860FF'],
+                tooltip: {
+                    trigger: 'axis',
+                    axisPointer: {
+                        // Use axis to trigger tooltip
+                        type: 'shadow' // 'shadow' as default; can also be 'line' or 'shadow'
+                    }
+                },
+                legend: {
+                    x: 'center', // 可设定图例在左、右、居中
+                    y: 'bottom' // 可设定图例在上、下、居中
+                },
+                grid: {
+                    left: '3%',
+                    right: '4%',
+
+                    containLabel: true
+                },
+                xAxis: {
+                    type: 'value'
+                },
+                yAxis: {
+                    type: 'category',
+                    data: month
+                },
+                series: [
+                    {
+                        name: '税收',
+                        type: 'bar',
+                        stack: 'total',
+                        label: {
+                            show: true
+                        },
+                        emphasis: {
+                            focus: 'series'
+                        },
+                        data: ss
+                    },
+                    {
+                        name: '营收',
+                        type: 'bar',
+                        stack: 'total',
+                        label: {
+                            show: true
+                        },
+                        emphasis: {
+                            focus: 'series'
+                        },
+                        data: ys
+                    }
+                ]
+            }
+            // 使用刚指定的配置项和数据显示图表。
+            myChart.setOption(option)
+        },
+        handleClick(tab, event) {
+            this.tableData = []
+            if (tab.name === '基本信息') {
+                this.$nextTick(() => {
+                    this.$refs.indexEdit.initData(this.form.id, false, true)
+                })
+            } else if (tab.name === '经发数据') {
+                this.yearSearch = this.$common.formatDate('yyyy', new Date())
+                this.getGrowthData()
+            } else if (tab.name === '走访信息') {
+                this.getInterviewData()
+            } else if (tab.name === '合同信息') {
+                this.getContractData()
+            } else if (tab.name === '入驻情况') {
+                this.getEntryData()
+            } else if (tab.name === '补贴信息') {
+                this.getSubsidyData()
+            } else if (tab.name === '上市进展') {
+                this.getReserveData()
+            } else if (tab.name === '风险预警') {
+                this.$nextTick(() => {
+                    this.$refs.risk.initData(this.form.id)
+                })
+            }
+        },
+        getGrowthData() {
+            this.parkFillInfoRequest('getGrowthData', { id: this.form.id, year: this.yearSearch }).then(res => {
+                this.tableData = res.data || []
+                this.initChart()
+            })
+        },
+        getSubsidyData() {
+            this.subsidyMoneyTotal = 0
+            this.baseRequest('getSubsidyData', { id: this.form.id }).then(res => {
+                this.tableData = res.data || []
+                this.tableData.forEach(item => {
+                    if (item.subsidyMonth) {
+                        item.subsidyMonth = this.$common.formatDate('yyyy-MM', new Date(item.subsidyMonth))
+                    }
+                    this.subsidyMoneyTotal += item.subsidyMoney
+                })
+            })
+        },
+        getReserveData() {
+            this.baseRequest('getReserveData', { id: this.form.id }).then(res => {
+                this.formData = res.data || {}
+                if (this.formData.createDate) {
+                    this.formData.createDate = this.$common.formatDate('yyyy-MM-dd hh:mm:ss', new Date(this.formData.createDate))
+                }
+                if (this.formData.updateDate) {
+                    this.formData.updateDate = this.$common.formatDate('yyyy-MM-dd hh:mm:ss', new Date(this.formData.updateDate))
+                }
+            })
+        },
+        getInterviewData() {
+            this.baseRequest('getInterviewData', { id: this.form.id }).then(res => {
+                this.tableData = res.data || []
+                if (this.tableData.length) {
+                    this.tableData.forEach(item => {
+                        if (item.isStatus) {
+                            item.isStatus = item.isStatus === '1' ? '否' : item.isStatus === '2' ? '是' : ''
+                            if (item.isStatus === '否') {
+                                item.handleResult = ''
+                                item.handleUserName = ''
+                            }
+                        }
+                    })
+                }
+            })
+        },
+        getContractData() {
+            this.baseRequest('getContractData', { code: this.form.shxydm }).then(res => {
+                this.tableData = res.data || []
+                this.tableData.forEach(item => {
+                    item.contractStatus = item.contractStatus ? this.dc_map.CONTRACT_STATUS[item.contractStatus] : ''
+                    item.contractType = item.contractType ? this.dc_map.CONTRACT_TYPE[item.contractType] : ''
+                })
+            })
+        },
+        getEntryData() {
+            this.baseRequest('getMnpCompanyEntryData', { id: this.form.id }).then(res => {
+                this.tableData = res.data || []
+            })
+        },
+        handleView(row) {
+            this.dialogContractVisible = true
+            this.$nextTick(() => {
+                this.$refs.contractDetail.initData(row.id)
+            })
+        },
+        handleEntryView(row) {
+            if (row.orderType === '入驻单') {
+                this.dialogSettleInVisible = true
+                this.$nextTick(() => {
+                    this.$refs.settleInDetail.initData(row, 'complete')
+                })
+            } else if (row.orderType === '快速清退单') {
+                this.clearVisible = true
+                this.$nextTick(() => {
+                    this.$refs.clearDetail.initData(row, 'clearanceComplete')
+                })
+            } else if (row.orderType === '退租单') {
+                this.retreatVisible = true
+                this.$nextTick(() => {
+                    this.$refs.retreatDetail.initData(row, 'rentOutEnd')
+                })
+            }
+        },
+        settleInClose() {
+            this.dialogSettleInVisible = false
+        },
+        clearClose() {
+            this.clearVisible = false
+        },
+        retreatClose() {
+            this.retreatVisible = false
+        },
+        contractClose() {
+            this.dialogContractVisible = false
+        },
+        handleEdit() {
+            this.dialogVisible = true
+            this.dialogTitle = '编辑'
+            this.$nextTick(() => {
+                this.$refs.indexEdit2.initData(this.form.id, false, false)
+            })
+        },
+        handleEditClose(refresh) {
+            this.dialogVisible = false
+            if (refresh) {
+                this.baseRequest('getById', { id: this.form.id }).then(res => {
+                    this.form = res.data || {}
+                    this.$nextTick(() => {
+                        this.$refs.indexEdit.initData(this.form.id, false, true)
+                    })
+                })
+                this.closeRefresh = true
+            }
+        },
+        toEditTag() {
+            this.tagName = this.form.qymc + '标签'
+            this.dialogBindCompanyLogVisible = true
+            // 新vue时调用的方法
+            this.$nextTick(() => {
+                const a = []
+                a.push({ id: this.form.id })
+                this.$refs.bindCompanyTag.initData(a)
+            })
+        },
+        getChildrenData() {
+            this.dialogBindCompanyLogVisible = false
+            this.initTagInfo()
+            this.closeRefresh = true
+        },
+        toTagHistory() {
+            this.$refs.tagRecord.setVisible(true, this.form.id)
+        },
+        mnpTagInfoRequest(opUrl, postData) {
+            return this.$channel.globeRequest('MnpTagInfoController', opUrl, postData, 'project')
+        },
+        parkFillInfoRequest(opUrl, postData) {
+            return this.$channel.globeRequest('ParkFillInfoController', opUrl, postData, 'project')
+        },
+        baseRequest(opUrl, postData) {
+            return this.$channel.globeRequest('MnpCompanyController', opUrl, postData, 'project')
+        }
+    }
+}
+</script>
+
+<style scoped>
+.fuck_switch{
+	height: 27px;
+	width: 27px;
+	line-height: 27px;
+	border-radius: 50%;
+	background: white;
+	text-align: center;
+	position: absolute;
+	z-index: 100;
+	top: 96%;
+	left: 50%;
+}
+.list_total_row{
+	margin-left: 15px;
+}
+.handle-box_xufeng{
+	padding: 10px;
+	background-color: white;
+	line-height: 31px;
+}
+.handle-box_button{
+	background-color: white;
+	padding: 20px 1px 0 20px;
+}
+.search-label{
+	height: 28px;
+	width: 90%;
+	line-height: 28px;
+	text-align-last: justify;
+	text-justify:inter-ideograph;
+	text-align:justify;
+}
+.ch-input .el-input__inner {
+    border-color: #32323a;
+}
+
+.ch-input-size {
+    width: 150px;
+}
+
+.ch-button {
+    border-color: #32323a;
+    background-color: #32323a;
+    color: #fff;
+}
+
+.ch-button-warning {
+    margin-left: 10px;
+    border-color: #e6a23c;
+    background-color: #e6a23c;
+    color: #fff;
+}
+
+.ch-button-export {
+    margin-left: 10px;
+    border-color: #98cc1f;
+    background-color: #98cc1f;
+    color: #fff;
+}
+.mast_button{
+	color: #fff;
+	padding: 0;
+	background: #1D18BC;
+	height: 37px;
+	width: 15%;
+	line-height: 37px;
+	text-align: center;
+}
+.list_total{
+	height: 37px;
+	line-height: 37px;
+	font-size: 16px;
+	color: #333333;
+	display: flex;
+	float: right;
+	margin-right: 30px;
+}
+.second_button{
+	color: #fff;
+	padding: 0;
+	background: #567CFF;
+	height: 37px;
+	width: 15%;
+	line-height: 37px;
+	text-align: center;
+}
+.listBox {
+    display: flex;
+    flex-wrap: wrap;
+}
+.list {
+
+    border-radius: 4px;
+    margin-right: 20px;
+    cursor: pointer;
+	width: 138px;
+	height: 28px;
+	text-align: center;
+    line-height: 28px;
+    background: #EBEBEB;
+    color: #777777;
+}
+.checked {
+    color: #2C27D0;
+		background: rgba(44,39,208,0.1);
+    /*border: 1px solid #3377ff;*/
+}
+/deep/ .el-dialog__header {
+    padding: 10px 20px;
+}
+
+/deep/ .el-dialog__body {
+    padding: 10px 20px;
+}
+.company_title {
+    margin: 18px 0;
+    font-size: 16px;
+    font-weight: bold;
+    width: 50%;
+    float: left;
+}
+.company_info {
+    float: left;
+    font-size: 14px;
+    margin-left: 30px;
+}
+.company_info :first {
+    margin-left: 0;
+}
+.comapny_tags_row {
+    //float: right;
+    margin: 50px ;
+}
+
+.comapny_tags {
+    border: 1px solid #0099ff;
+    background: #b3d9f8;
+    margin: 0 20px 20px 0;
+    height: 25px;
+    float: left;
+    padding: 0 10px;
+    text-align: center;
+    line-height: 25px;
+    border-radius: 15px;
+    color: #0099ff;
+}
+.comapny_tags_row {
+    color: #0099ff;
+    border-color: rgba(0, 153, 255, 1);
+}
+.el-icon-edit-outline .el-icon-refresh {
+    font-weight: bold;
+    font-size: 25px;
+    height: 40px;
+}
+</style>

+ 770 - 0
src/views/company/components/indexEdit.vue

@@ -0,0 +1,770 @@
+<template>
+  <div v-loading="loading">
+    <el-form ref="form" :show-message="true" :model="form" style="width: 100%; padding: 5px" :rules="rules">
+      <el-row>
+        <el-col style="padding-bottom: 10px">
+          <span v-if="!isDetail" class="card_title">企业信息</span>
+          <el-card shadow="always" style="padding: 15px 5px 5px 15px">
+            <el-row>
+              <el-col :span="3" class="col-txt"><span>*企业名称</span></el-col>
+              <el-col :span="9" class="col-input">
+                <el-form-item prop="qymc">
+                  <el-input v-model="form.qymc" :readonly="isDetail" @blur="checkCompanyName" />
+                </el-form-item>
+              </el-col>
+              <el-col :span="3" class="col-txt"><span>*统一社会信用代码</span></el-col>
+              <el-col :span="9" class="col-input">
+                <el-form-item prop="shxydm">
+                  <el-input v-model="form.shxydm" :readonly="isDetail" />
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="3" class="col-txt"><span>注册资金(万元)</span></el-col>
+              <el-col :span="9" class="col-input">
+                <el-form-item>
+                  <el-input v-model="form.zczj" :readonly="isDetail" onchange="value=value.replace(/[^\d.]/g,'')" />
+                </el-form-item>
+              </el-col>
+              <el-col :span="3" class="col-txt"><span>币种</span></el-col>
+              <el-col :span="9" class="col-input">
+                <el-form-item>
+                  <el-select
+                    v-model="form.currency"
+                    placeholder=""
+                    filterable
+                    :disabled="isDetail"
+                  >
+                    <el-option
+                      v-for="item in CURRENCY"
+                      :key="item.value"
+                      :label="item.label"
+                      :value="item.value"
+                    />
+                  </el-select>
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="3" class="col-txt"><span>*注册时间</span></el-col>
+              <el-col :span="9" class="col-input">
+                <el-form-item prop="zcsj">
+                  <el-date-picker
+                    v-model="form.zcsj"
+                    style="width: 100%"
+                    value-format="yyyy-MM-dd"
+                    format="yyyy-MM-dd"
+                    type="date"
+                    :disabled="isDetail"
+                  />
+                </el-form-item>
+              </el-col>
+              <el-col :span="3" class="col-txt"><span>法定代表人</span></el-col>
+              <el-col :span="9" class="col-input">
+                <el-form-item>
+                  <el-input v-model="form.fddbr" :readonly="isDetail" />
+                </el-form-item>
+              </el-col>
+            </el-row>
+<!--            <el-row>-->
+<!--              <el-col :span="3" class="col-txt"><span>法人电话</span></el-col>-->
+<!--              <el-col :span="9" class="col-input">-->
+<!--                <el-form-item>-->
+<!--                  <el-input v-model="form.legalPersonPhone" onchange="value=value.replace(/[^\d-]/g,'')" :readonly="isDetail" />-->
+<!--                </el-form-item>-->
+<!--              </el-col>-->
+<!--              <el-col :span="3" class="col-txt"><span>法人邮箱</span></el-col>-->
+<!--              <el-col :span="9" class="col-input">-->
+<!--                <el-form-item>-->
+<!--                  <el-input v-model="form.frEmail" :readonly="isDetail" />-->
+<!--                </el-form-item>-->
+<!--              </el-col>-->
+<!--            </el-row>-->
+            <el-row>
+              <el-col :span="3" class="col-txt"><span>*企业联系人</span></el-col>
+              <el-col :span="9" class="col-input">
+                <el-form-item prop="qylxr">
+                  <el-input v-model="form.qylxr" :readonly="isDetail" />
+                </el-form-item>
+              </el-col>
+              <el-col :span="3" class="col-txt"><span>*联系人手机</span></el-col>
+              <el-col :span="9" class="col-input">
+                <el-form-item prop="lxdh">
+                  <el-input v-model="form.lxdh" onchange="value=value.replace(/[^\d-]/g,'')" :readonly="isDetail" />
+                </el-form-item>
+              </el-col>
+            </el-row>
+<!--            <el-row>-->
+<!--              <el-col :span="3" class="col-txt"><span>*联系人邮箱</span></el-col>-->
+<!--              <el-col :span="9" class="col-input">-->
+<!--                <el-form-item prop="email">-->
+<!--                  <el-input v-model="form.email" :readonly="isDetail" />-->
+<!--                </el-form-item>-->
+<!--              </el-col>-->
+<!--              <el-col :span="3" class="col-txt"><span>*财务负责人</span></el-col>-->
+<!--              <el-col :span="9" class="col-input">-->
+<!--                <el-form-item prop="cwfzr">-->
+<!--                  <el-input v-model="form.cwfzr" :readonly="isDetail" />-->
+<!--                </el-form-item>-->
+<!--              </el-col>-->
+<!--            </el-row>-->
+<!--            <el-row>-->
+<!--              <el-col :span="3" class="col-txt"><span>*负责人电话</span></el-col>-->
+<!--              <el-col :span="9" class="col-input">-->
+<!--                <el-form-item prop="cwfzrdh">-->
+<!--                  <el-input v-model="form.cwfzrdh" onchange="value=value.replace(/[^\d-]/g,'')" :readonly="isDetail" />-->
+<!--                </el-form-item>-->
+<!--              </el-col>-->
+<!--            </el-row>-->
+            <el-row>
+              <el-col :span="3" class="col-txt"><span>注册地址</span></el-col>
+              <el-col :span="21" class="col-input">
+                <el-form-item>
+                  <el-input v-model="form.zcdz" :readonly="isDetail" maxlength="250" show-word-limit />
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="3" class="col-txt"><span>经营地址</span></el-col>
+              <el-col :span="21" class="col-input">
+                <el-form-item>
+                  <el-input v-model="form.jydz" :readonly="isDetail" maxlength="250" show-word-limit />
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="3" class="col-txt"><span>经营范围</span></el-col>
+              <el-col :span="21" class="col-input">
+                <el-form-item>
+                  <el-input v-model="form.jyfw" type="textarea" :autosize="{ minRows: 6 }" :readonly="isDetail" maxlength="2000" show-word-limit />
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="3" class="col-txt"><span>营业执照</span></el-col>
+<!--                fileList:{{fileList}}-->
+              <el-col :span="20" class="col-input">
+                <el-form-item>
+                  <el-upload
+                    ref="upload"
+                    action=""
+                    accept="image/png,image/gif,image/jpg,image/jpeg"
+                    list-type="picture-card"
+                    :file-list="fileList"
+                    :limit="1"
+                    :http-request="uploadFile"
+                    :on-preview="handlePictureCardPreview"
+                    :on-remove="handleRemove"
+                    :on-exceed="handleExceed"
+                    :disabled="isDetail"
+                  >
+                    <i class="el-icon-plus" />
+                    <div slot="tip" class="el-upload__tip">
+                      只能上传jpg/png文件,限制上传1张
+                    </div>
+                  </el-upload>
+                </el-form-item>
+              </el-col>
+            </el-row>
+              <el-row>
+                  <el-col :span="3" class="col-txt"><span>企业类型</span></el-col>
+                  <el-col :span="8" class="col-input">
+                      <el-form-item>
+                          <el-input v-model="form.enterpriseType" readonly />
+                      </el-form-item>
+                  </el-col>
+                  <el-col :span="3" class="col-txt"><span>是否总部</span></el-col>
+                  <el-col :span="8" class="col-input">
+                      <el-form-item>
+                          <el-input v-model="form.isHead=='1'?'是':'否'" readonly />
+                      </el-form-item>
+                  </el-col>
+              </el-row>
+              <el-row>
+                  <el-col :span="3" class="col-txt"><span>是否进出口</span></el-col>
+                  <el-col :span="8" class="col-input">
+                      <el-form-item>
+                          <el-input v-model="form.isImout=='1'?'是':'否'" readonly />
+                      </el-form-item>
+                  </el-col>
+
+                  <el-col :span="3" class="col-txt"><span>是否外资</span></el-col>
+                  <el-col :span="8" class="col-input">
+                      <el-form-item>
+                          <el-input v-model="form.isForeign=='1'?'是':'否'" readonly />
+                      </el-form-item>
+                  </el-col>
+              </el-row>
+              <el-row>
+                  <el-col :span="3" class="col-txt"><span>行业分类</span></el-col>
+                  <el-col :span="8" class="col-input">
+                      <el-form-item>
+                          <el-input v-model="form.industry" readonly />
+                      </el-form-item>
+                  </el-col>
+
+                  <el-col :span="3" class="col-txt"><span>注册标识</span></el-col>
+                  <el-col :span="8" class="col-input">
+                      <el-form-item>
+                          <el-input v-model="form.registrationCode=='1'?'是':'否'" readonly />
+                      </el-form-item>
+                  </el-col>
+              </el-row>
+<!--            <el-row>-->
+<!--              <el-col :span="3" class="col-txt"><span>荣誉信息</span></el-col>-->
+<!--              <el-col :span="21" class="col-input">-->
+<!--                <el-form-item>-->
+<!--                  <el-input v-model="form.honorInformation" type="textarea" :autosize="{ minRows: 6 }" :readonly="isDetail" maxlength="2000" show-word-limit />-->
+<!--                </el-form-item>-->
+<!--              </el-col>-->
+<!--            </el-row>-->
+<!--            <el-row>-->
+<!--              <el-col :span="3" style="border: 1px solid transparent"><span /></el-col>-->
+<!--              <el-col :span="20" class="col-input">-->
+<!--                <el-form-item>-->
+<!--                  <el-upload-->
+<!--                    ref="upload1"-->
+<!--                    action=""-->
+<!--                    accept="image/png,image/gif,image/jpg,image/jpeg"-->
+<!--                    list-type="picture-card"-->
+<!--                    :file-list="fileList1"-->
+<!--                    :limit="6"-->
+<!--                    :on-preview="handlePictureCardPreview"-->
+<!--                    :http-request="uploadFile1"-->
+<!--                    :on-remove="handleRemove1"-->
+<!--                    :on-exceed="handleExceed"-->
+<!--                    :disabled="isDetail"-->
+<!--                  >-->
+<!--                    <i class="el-icon-plus" />-->
+<!--                    <div slot="tip" class="el-upload__tip">-->
+<!--                      只能上传jpg/png文件,限制上传6张-->
+<!--                    </div>-->
+<!--                  </el-upload>-->
+<!--                </el-form-item>-->
+<!--              </el-col>-->
+<!--            </el-row>-->
+<!--            <el-row>-->
+<!--              <el-col :span="3" class="col-txt"><span>法人身份证</span></el-col>-->
+<!--              <el-col :span="20" class="col-input">-->
+<!--                <el-form-item>-->
+<!--                  <el-upload-->
+<!--                    ref="upload2"-->
+<!--                    action=""-->
+<!--                    accept="image/png,image/gif,image/jpg,image/jpeg"-->
+<!--                    list-type="picture-card"-->
+<!--                    :file-list="fileList2"-->
+<!--                    :limit="2"-->
+<!--                    :http-request="uploadFile2"-->
+<!--                    :on-preview="handlePictureCardPreview"-->
+<!--                    :on-remove="handleRemove2"-->
+<!--                    :on-exceed="handleExceed"-->
+<!--                    :disabled="isDetail"-->
+<!--                  >-->
+<!--                    <i class="el-icon-plus" />-->
+<!--                    <div slot="tip" class="el-upload__tip">-->
+<!--                      只能上传jpg/png文件,限制上传2张-->
+<!--                    </div>-->
+<!--                  </el-upload>-->
+<!--                </el-form-item>-->
+<!--              </el-col>-->
+<!--            </el-row>-->
+<!--            <el-row>-->
+<!--              <el-col :span="3" class="col-txt"><span>全年研发投入</span></el-col>-->
+<!--              <el-col :span="20" class="col-input">-->
+<!--                <el-form-item>-->
+<!--                  <el-input v-model="form.rdInvestment" onchange="value=value.replace(/[^\d.]/g,'')" :readonly="isDetail" />-->
+<!--                </el-form-item>-->
+<!--              </el-col>-->
+<!--              <el-col :span="1" class="col-txt" style="text-align: left; padding-left: 10px"><span>万元</span></el-col>-->
+<!--            </el-row>-->
+<!--            <el-row>-->
+<!--              <el-col :span="3" class="col-txt"><span>全年技改投入</span></el-col>-->
+<!--              <el-col :span="20" class="col-input">-->
+<!--                <el-form-item>-->
+<!--                  <el-input v-model="form.jgInvestment" onchange="value=value.replace(/[^\d.]/g,'')" :readonly="isDetail" />-->
+<!--                </el-form-item>-->
+<!--              </el-col>-->
+<!--              <el-col :span="1" class="col-txt" style="text-align: left; padding-left: 10px"><span>万元</span></el-col>-->
+<!--            </el-row>-->
+<!--            <el-row>-->
+<!--              <el-col :span="3" class="col-txt"><span>拥有知识产权个数</span></el-col>-->
+<!--              <el-col :span="21" class="col-input">-->
+<!--                <el-form-item>-->
+<!--                  <el-input v-model="form.zscqgs" onchange="value=value.replace(/[^\d.]/g,'')" :readonly="isDetail" />-->
+<!--                </el-form-item>-->
+<!--              </el-col>-->
+<!--            </el-row>-->
+<!--            <el-row>-->
+<!--              <el-col :span="3" class="col-txt"><span>四技合同金额(开发)</span></el-col>-->
+<!--              <el-col :span="20" class="col-input">-->
+<!--                <el-form-item>-->
+<!--                  <el-input v-model="form.fourOpennessAmount" onchange="value=value.replace(/[^\d.]/g,'')" :readonly="isDetail" />-->
+<!--                </el-form-item>-->
+<!--              </el-col>-->
+<!--              <el-col :span="1" class="col-txt" style="text-align: left; padding-left: 10px"><span>万元</span></el-col>-->
+<!--            </el-row>-->
+<!--            <el-row>-->
+<!--              <el-col :span="3" class="col-txt"><span>四技合同金额(转让)</span></el-col>-->
+<!--              <el-col :span="20" class="col-input">-->
+<!--                <el-form-item>-->
+<!--                  <el-input v-model="form.fourTransferenceAmount" onchange="value=value.replace(/[^\d.]/g,'')" :readonly="isDetail" />-->
+<!--                </el-form-item>-->
+<!--              </el-col>-->
+<!--              <el-col :span="1" class="col-txt" style="text-align: left; padding-left: 10px"><span>万元</span></el-col>-->
+<!--            </el-row>-->
+<!--            <el-row>-->
+<!--              <el-col :span="3" class="col-txt"><span>四技合同金额(服务)</span></el-col>-->
+<!--              <el-col :span="20" class="col-input">-->
+<!--                <el-form-item>-->
+<!--                  <el-input v-model="form.fourServiceAmount" onchange="value=value.replace(/[^\d.]/g,'')" :readonly="isDetail" />-->
+<!--                </el-form-item>-->
+<!--              </el-col>-->
+<!--              <el-col :span="1" class="col-txt" style="text-align: left; padding-left: 10px"><span>万元</span></el-col>-->
+<!--            </el-row>-->
+<!--            <el-row>-->
+<!--              <el-col :span="3" class="col-txt"><span>四技合同金额(咨询)</span></el-col>-->
+<!--              <el-col :span="21" class="col-input">-->
+<!--                <el-form-item>-->
+<!--                  <el-input v-model="form.fourConsultAmount" onchange="value=value.replace(/[^\d.]/g,'')" :readonly="isDetail" />-->
+<!--                </el-form-item>-->
+<!--              </el-col>-->
+<!--            </el-row>-->
+            <el-row>
+              <el-col :span="3" class="col-txt"><span>*入驻类型</span></el-col>
+              <el-col :span="21" class="col-input">
+                <el-form-item prop="settleInType">
+                  <el-radio-group v-model="form.settleInType">
+                    <el-radio
+                      v-for="item in MNP_BUILDING_TYPE"
+                      :key="item.value"
+                      :label="item.value"
+                      :disabled="isDetail"
+                    >
+                      {{ item.label }}
+                    </el-radio>
+                  </el-radio-group>
+                </el-form-item>
+              </el-col>
+            </el-row>
+<!--            <el-row>-->
+<!--              <el-col :span="3" class="col-txt"><span>招商经理</span></el-col>-->
+<!--              <el-col :span="21" class="col-input">-->
+<!--                <el-form-item>-->
+<!--                  <user-select-->
+<!--                    ref="userSelect"-->
+<!--                    :default-select="selectList"-->
+<!--                    :disabled="isDetail"-->
+<!--                    :multiple="false"-->
+<!--                    width="700"-->
+<!--                    @selectValue="parentMethod"-->
+<!--                  />-->
+<!--                </el-form-item>-->
+<!--              </el-col>-->
+<!--            </el-row>-->
+<!--            <el-row>-->
+<!--              <el-col :span="3" class="col-txt"><span>关联企业</span></el-col>-->
+<!--              <el-col :span="21" class="col-input">-->
+<!--                <el-form-item>-->
+<!--                  <el-select-->
+<!--                    v-model="associationCompany"-->
+<!--                    placeholder=""-->
+<!--                    filterable-->
+<!--                    multiple-->
+<!--                    :disabled="isDetail"-->
+<!--                  >-->
+<!--                    <el-option-->
+<!--                      v-for="item in companyList"-->
+<!--                      :key="item.id"-->
+<!--                      :label="item.qymc"-->
+<!--                      :value="item.id"-->
+<!--                    />-->
+<!--                  </el-select>-->
+<!--                </el-form-item>-->
+<!--              </el-col>-->
+<!--            </el-row>-->
+          </el-card>
+        </el-col>
+      </el-row>
+    </el-form>
+    <div v-if="!isDetail" slot="footer" style="text-align: right">
+      <el-button @click="handleClose">取 消</el-button>
+      <el-button type="primary" @click="confirmSubmit()">提 交</el-button>
+    </div>
+    <el-dialog :visible.sync="visible" append-to-body>
+      <img width="100%" :src="imageUrl" alt="">
+    </el-dialog>
+  </div>
+</template>
+<script>
+import Base from '@/views/base/base'
+import BaseData from '@/views/base/baseData'
+import constant from '@/static/utils/constant'
+// import UserSelect from '@/views/components/UserSelect'
+export default {
+    name: 'IndexEdit',
+    // components: { UserSelect },
+    mixins: [Base, BaseData],
+    data() {
+        return {
+            companyList: [],
+            dc_key: ['MNP_BUILDING_TYPE', 'CURRENCY'],
+            loading: false,
+            isAdd: true,
+            form: this.initForm(),
+            selectList: [],
+            associationCompany: [],
+            rules: {
+                qymc: [{ required: true, message: '请输入企业名称', trigger: 'blur' }],
+                shxydm: [{ required: true, message: '请输入统一社会信用代码', trigger: 'blur' }],
+                qylxr: [{ required: true, message: '请输入企业联系人', trigger: 'blur' }],
+                lxdh: [{ required: true, message: '请输入联系人手机', trigger: 'blur' }],
+                email: [{ required: true, message: '请输入联系人邮箱', trigger: 'blur' }],
+                cwfzr: [{ required: true, message: '请输入财务负责人', trigger: 'blur' }],
+                cwfzrdh: [{ required: true, message: '请输入负责人电话', trigger: 'blur' }],
+                zcsj: [{ required: true, message: '请选择注册时间', trigger: 'change' }],
+                settleInType: [{ required: true, message: '请选择入驻类型', trigger: 'change' }]
+            },
+            settleInType: [],
+            CURRENCY: [],
+            MNP_BUILDING_TYPE: [],
+            id: '',
+            isDetail: false,
+            imageUrl: '',
+            visible: false
+        }
+    },
+    methods: {
+        initData(id, isAdd, isDetail) {
+            this.isDetail = isDetail
+            this.isAdd = isAdd
+            this.id = id
+            this.fileList = []
+            this.fileList1 = []
+            this.fileList2 = []
+            this.selectAllCompanyList()
+            this.initDict(this.dc_key).then(res => {
+                this.CURRENCY = this.dc_data.CURRENCY
+                this.MNP_BUILDING_TYPE = this.dc_data.MNP_BUILDING_TYPE
+            })
+            if (this.id) {
+                this.getData()
+            }
+        },
+        handleClose() {
+            this.$emit('editClose')
+        },
+        checkCompanyName() {
+            if (this.form.qymc) {
+                this.baseRequest('checkCompanyName', { id: this.form.id, name: this.form.qymc }).then(res => {
+                    if (res.data.key !== 200) {
+                        this.$message.warning(res.data.msg)
+                        this.form.qymc = ''
+                    }
+                })
+            }
+        },
+        // parentMethod(val) {
+        //     if (val.length > 0) {
+        //         this.form.investmentManager = val.join(',')
+        //     }
+        // },
+        selectAllCompanyList() {
+            const _this = this
+            this.baseRequest('listAll', {}).then(res => {
+                if (res.data) {
+                    _this.companyList = res.data
+                }
+            })
+        },
+        initForm() {
+            return {
+                id: '',
+                ssbk: '',
+                qymc: '',
+                shxydm: '',
+                zczj: '',
+                zcsj: '',
+                fddbr: '',
+                jyfw: '',
+                zcdz: '',
+                jydz: '',
+                zt: '',
+                rzsj: '',
+                qylxr: '',
+                lxdh: '',
+                email: '',
+                remark: '',
+                qylbbq: '',
+                sszt: '',
+                ssztmc: '',
+                ldmc: '',
+                lcqymc: '',
+                czrid: this.$common.currUser().id,
+                czr: this.$common.currUser().truename,
+                gxsj: '',
+                yyzzfbzp: '',
+                cwfzr: '',
+                cwfzrdh: '',
+                ryxxzp: '',
+                settleInType: '1',
+                scale: '',
+                floorDiscId: '',
+                roomId: '',
+                isBusinessAccount: '0',
+                currency: '1',
+                legalPersonPhone: '',
+                honorInformation: '',
+                rdInvestment: '',
+                jgInvestment: '',
+                fourOpennessAmount: '',
+                fourTransferenceAmount: '',
+                fourServiceAmount: '',
+                fourConsultAmount: '',
+                investmentManager: '',
+                associationCompany: '',
+                frEmail: '',
+                groupId: '',
+                area: '',
+                practiceNumber: '',
+                zscqgs: '',
+                rzjd: '',
+                gmsx: '',
+                qybq: ''
+            }
+        },
+        getData() {
+            const _this = this
+            if (_this.id !== '') {
+                const postData = {
+                    id: _this.id
+                }
+                this.loading = true
+                this.baseRequest('getById', postData).then(res => {
+                    if (res.data) {
+                        _this.form = Object.assign({}, _this.form, res.data)
+                        _this.form.currency = res.data.currency ? res.data.currency.toString() : ''
+                        _this.form.settleInType = res.data.settleInType ? res.data.settleInType.toString() : ''
+                        _this.associationCompany = res.data.associationCompany ? res.data.associationCompany.split(',') : []
+                        _this.selectList = res.data.investmentManager ? res.data.investmentManager.split(',') : []
+                        // _this.$refs.userSelect.$refs.tree_1.setCheckedKeys(_this.selectList)
+                        // if (res.data.yyzzfbzp) {
+                        //     res.data.yyzzfbzp.split(',').forEach(v => {
+                        //         if (v) {
+                        //             this.fileList.push({
+                        //                 url: constant.BASE_URI + '/FileController/download/' + v,
+                        //                 id: v
+                        //             })
+                        //         }
+                        //     })
+                        // }
+                        if (res.data.yyzz) {
+                            res.data.yyzz.split(',').forEach(v => {
+                                if (v) {
+                                    this.fileList.push({
+                                        url: constant.BASE_URI + '/FileController/download/' + v,
+                                        id: v
+                                    })
+                                }
+                            })
+                        }
+                        if (res.data.ryxxzp) {
+                            res.data.ryxxzp.split(',').forEach(v => {
+                                if (v) {
+                                    this.fileList1.push({
+                                        url: constant.BASE_URI + '/FileController/download/' + v,
+                                        id: v
+                                    })
+                                }
+                            })
+                        }
+                        if (res.data.frsfzh) {
+                            res.data.frsfzh.split(',').forEach(v => {
+                                if (v) {
+                                    this.fileList2.push({
+                                        url: constant.BASE_URI + '/FileController/download/' + v,
+                                        id: v
+                                    })
+                                }
+                            })
+                        }
+                    }
+                    this.loading = false
+                })
+            }
+        },
+        confirmSubmit() {
+            const _this = this
+            this.$refs.form.validate(valid => {
+                if (valid) {
+                    let soaUrl = 'edit'
+                    const extraData = {}
+                    const postData = Object.assign({}, _this.form, extraData)
+                    postData.associationCompany = this.associationCompany ? this.associationCompany.join(',') : ''
+                    if (this.isAdd) {
+                        soaUrl = 'add'
+                    }
+                    let yyzzfbzp = ''
+                    this.fileList.forEach(v => {
+                        if (yyzzfbzp) {
+                            yyzzfbzp = yyzzfbzp + ',' + v.id
+                        } else {
+                            yyzzfbzp = v.id
+                        }
+                    })
+                    postData.yyzzfbzp = yyzzfbzp
+                    let ryxxzp = ''
+                    this.fileList1.forEach(v => {
+                        if (ryxxzp) {
+                            ryxxzp = ryxxzp + ',' + v.id
+                        } else {
+                            ryxxzp = v.id
+                        }
+                    })
+                    postData.ryxxzp = ryxxzp
+                    let qylbbq = ''
+                    this.fileList2.forEach(v => {
+                        if (qylbbq) {
+                            qylbbq = qylbbq + ',' + v.id
+                        } else {
+                            qylbbq = v.id
+                        }
+                    })
+                    postData.frsfzh = qylbbq
+                    this.loading = true
+                    this.baseRequest(soaUrl, postData).then(res => {
+                        this.loading = false
+                        if (res.data.key === 200) {
+                            this.$message.success('保存成功')
+                            this.$emit('editClose', true)
+                        } else {
+                            this.$message.error(res.data.msg)
+                        }
+                    })
+                }
+            })
+        },
+        handlePictureCardPreview(file) {
+            this.visible = true
+            this.imageUrl = file.url
+        },
+        baseRequest(opUrl, postData) {
+            return this.$channel.globeRequest('MnpCompanyController', opUrl, postData, 'project')
+        }
+    }
+}
+</script>
+
+<style scoped>
+.ch-input .el-input__inner {
+    border-color: #32323a;
+}
+
+.ch-input-size {
+    width: 150px;
+}
+
+.ch-button {
+    border-color: #32323a;
+    background-color: #32323a;
+    color: #fff;
+}
+
+.ch-button-warning {
+    margin-left: 10px;
+    border-color: #e6a23c;
+    background-color: #e6a23c;
+    color: #fff;
+}
+
+.ch-button-export {
+    margin-left: 10px;
+    border-color: #98cc1f;
+    background-color: #98cc1f;
+    color: #fff;
+}
+
+.listBox {
+    display: flex;
+    flex-wrap: wrap;
+}
+.list {
+    border: 1px solid #bec3cb;
+    padding: 0px 40px;
+    border-radius: 10px;
+    margin-right: 20px;
+    cursor: pointer;
+    height: 30px;
+    line-height: 30px;
+    background: #f2f2f2;
+    color: #333333;
+}
+.checked {
+    color: #ffffff;
+    background: #6600ff;
+    border: 1px solid #3377ff;
+}
+/deep/ .el-dialog__header {
+    padding: 10px 20px;
+}
+
+/deep/ .el-dialog__body {
+    padding: 10px 20px;
+}
+.company_title {
+    margin: 18px 0;
+    font-size: 24px;
+    font-weight: bold;
+    width: 50%;
+    float: left;
+}
+.company_info {
+    float: left;
+    font-size: 18px;
+    margin-left: 30px;
+}
+.company_info :first {
+    margin-left: 0;
+}
+.comapny_tags_row {
+    float: right;
+    margin: 16px 0;
+}
+
+.comapny_tags {
+    border: 1px solid #5dc23d;
+    background: #bee7b1;
+    margin-left: 15px;
+    height: 25px;
+    float: left;
+    padding: 0 10px;
+    text-align: center;
+    line-height: 25px;
+    border-radius: 15px;
+    color: #5dc23d;
+}
+.comapny_tags_row :nth-child(2) {
+    color: #0099ff;
+    border-color: rgba(0, 153, 255, 1);
+    background: #b3d9f8;
+}
+.comapny_tags_row :nth-child(3) {
+    color: #0000ff;
+    border-color: #0000ff;
+    background-color: rgba(0, 0, 255, 0.356862745098039);
+}
+.comapny_tags_row :nth-child(4) {
+    color: white;
+    border-color: rgba(0, 0, 255, 1);
+    background-color: rgba(0, 0, 255, 1);
+}
+.comapny_tags_row :nth-child(5) {
+    color: #ff0000;
+    border-color: rgba(255, 0, 0, 1);
+    background-color: rgba(255, 0, 0, 0.47843137254902);
+}
+.el-icon-edit-outline .el-icon-refresh {
+    font-weight: bold;
+    font-size: 25px;
+    height: 40px;
+}
+</style>

+ 476 - 0
src/views/company/components/risk.vue

@@ -0,0 +1,476 @@
+<template>
+  <div ref="qua" class="risk">
+    <el-row style="display: flex;justify-content: flex-end;margin-right: 10px">
+      <el-button v-if="fromAddress != 'getBillManagementCollecte'" style="margin-bottom: 10px" size="mini" type="primary" @click="handleAdd()">
+        新增
+      </el-button>
+    </el-row>
+    <div class="itemBox">
+      <el-table :data="dtList" width="100%">
+        <el-table-column type="index" label="序号" width="60" />
+        <!-- <el-table-column align="center" type="selection" width="55" /> -->
+        <el-table-column align="left" prop="title" label="风险标题">
+
+          <template scope="scope">
+            <el-tooltip class="item" effect="dark" :content="scope.row.title" placement="top">
+              <div class="chaochuyingcang">
+                {{ scope.row.title }}
+              </div>
+            </el-tooltip>
+          </template>
+
+        </el-table-column>
+        <el-table-column align="left" prop="rtype" label="风险类别" />
+        <!-- <el-table-column align="center" prop="czsj" label="当前状态" /> -->
+        <el-table-column align="left" label="当前状态">
+          <template scope="scope">
+            <span
+              :style="{'color':scope.row.stateDec==='待发布'?'#5ABF68':scope.row.stateDec==='待处理'?'#1890FF':scope.row.stateDec==='处理中'?'#684EFF':'#BFBFBF'}"
+            >{{ scope.row.stateDec }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column align="left" prop="czsj" label="关闭时间" />
+        <el-table-column v-if="fromAddress!=='getBillManagementCollecte'" align="left" label="操作" header-align="center" width="200">
+          <template scope="scope">
+            <div class="itemRight">
+              <div class="tagBox">
+                <span style="cursor: pointer" @click.stop="handleEdit(scope.row)">编辑</span>
+              </div>
+              <div v-if="scope.row.state == '0'" class="tagBox">
+                <span style="cursor: pointer" @click.stop="handlePush(scope.row)">发布</span>
+              </div>
+              <div v-if="scope.row.state != '0' && scope.row.state != '3'" class="tagBox">
+                <span style="cursor: pointer" @click.stop="handleUpdate(scope.row)">更新</span>
+              </div>
+              <div class="timeBox">
+                <span style="cursor: pointer" @click.stop="handleDel(scope.row)">删除</span>
+              </div>
+            </div>
+          </template>
+        </el-table-column>
+        <el-table-column v-if="fromAddress ==='getBillManagementCollecte'" align="left" label="操作" header-align="center" width="200">
+          <template scope="scope">
+            <div class="itemRight">
+              <div class="tagBox">
+                <span style="cursor: pointer" @click.stop="handleShow(scope.row)">查看</span>
+              </div>
+            </div>
+          </template>
+        </el-table-column>
+      </el-table>
+    </div>
+    <div v-if="dtList.length > 0" class="fenye">
+      <el-pagination
+        background
+        :current-page.sync="search.pageNum"
+        :page-size="search.pageSize"
+        layout="prev, pager, next"
+        :total="total"
+        @current-change="pageChange"
+      />
+    </div>
+
+    <!-- <div v-for="(item, index) in dtList" :key="index" class="itemBox">
+            <div class="itemTime">{{ item.createdAt }}</div>
+            <div class="itemShadow" @click="handleShow(item)">
+                <img :src="item.urgency==='high'?high:item.urgency==='mid'?mid:item.urgency==='low'?low:''"
+                     class="urImg"
+                >
+                <div class="itemLeft">
+                    <div class="itemTitBox">
+                        <div style="color:#333333;font-size:0.92vw">
+                            {{ item.title }}
+                        </div>
+                        <div style="color:#666666;font-size:0.75vw;margin: 0.5vw 0">
+                            风险类别:{{ item.rtype }}
+                        </div>
+                        <div style="color:#666666;font-size:0.75vw">
+                            当前状态:<span
+                            :style="{'color':item.stateDec==='待发布'?'#5ABF68':item.stateDec==='待处理'?'#1890FF':item.stateDec==='处理中'?'#684EFF':'#BFBFBF'}"
+                        >{{ item.stateDec }}</span>
+                        </div>
+                        <div style="color:#666666;font-size:0.75vw;margin: 0.5vw 0">
+                            关闭时间:{{ item.closeAt }}
+                        </div>
+                    </div>
+                </div>
+                <div class="itemRight">
+                    <div class="tagBox">
+                        <span style="cursor: pointer" @click.stop="handleEdit(item)">编辑</span>
+                    </div>
+                    <div v-if="item.state == '0'" class="tagBox">
+                        <span style="cursor: pointer" @click.stop="handlePush(item)">发布</span>
+                    </div>
+                    <div v-if="fromAddress!=='getBillManagementCollecte'">
+                        <div v-if="item.state != '0' && item.state != '3'" class="tagBox">
+                            <span style="cursor: pointer" @click.stop="handleUpdate(item)">更新</span>
+                        </div>
+                    </div>
+                    <div class="timeBox">
+                        <span style="cursor: pointer" @click.stop="handleDel(item)">删除</span>
+                    </div>
+                </div>
+            </div>
+            <div class="leftIcon"/>
+            <div v-show="index != dtList.length - 1" class="line"/>
+        </div>
+        <div class="fenye" v-if="dtList.length > 0">
+            <el-pagination
+                background
+                :current-page.sync="search.pageNum"
+                :page-size="search.pageSize"
+                layout="prev, pager, next"
+                :total="total"
+                @current-change="pageChange"
+            />
+        </div>
+        <div class="itemBox" style="text-align: center;" v-if="dtList.length <= 0">
+            暂无数据
+        </div> -->
+    <el-dialog v-if="dialogOperateVisible" :title="dialogTitle" :visible.sync="dialogOperateVisible" width="70%" top="50px" append-to-body>
+      <riskOperateDetial ref="riskOperateDetial" :pro-id="proId" :r-id="rId" @closeDialog="closeDialog" />
+      <div slot="footer">
+        <el-button @click="dialogOperateVisible = false">取 消</el-button>
+        <el-button type="primary" @click="confirmSubmit(0)">保 存</el-button>
+        <el-button type="primary" @click="confirmSubmit(1)">发 布</el-button>
+      </div>
+    </el-dialog>
+
+    <el-dialog title="更新" :visible.sync="dialogUpdateVisible" width="70%" top="50px" append-to-body>
+      <riskCourse ref="riskCourse" :r-id="rId" @closeViewData="closeViewData" />
+    </el-dialog>
+
+    <el-dialog title="风险上报查看" :visible.sync="dialogDetialVisible" width="70%" top="50px" append-to-body>
+      <riskDetail ref="riskDetail" :r-id="rId" />
+    </el-dialog>
+  </div>
+</template>
+<script>
+import riskCourse from './comp/riskCourse'
+import riskOperateDetial from './comp/riskOperateDetial'
+import riskDetail from './comp/riskDetail'
+
+export default {
+    components: {
+        riskOperateDetial,
+        riskCourse,
+        riskDetail
+    },
+    props: {
+        // 确认从哪个页面跳转过来的,这样可以做相应的操作
+        fromAddress: {
+            type: String,
+            default: ''
+        }
+    },
+    data() {
+        return {
+            proId: '',
+            search: {
+                proId: '',
+                pageNum: 1,
+                pageSize: 5
+            },
+            total: 0,
+            high: require('@/static/images/high.svg'),
+            mid: require('@/static/images/mid.svg'),
+            low: require('@/static/images/low.svg'),
+            total: 0,
+            dtList: [],
+            rId: '',
+            dialogTitle: '',
+            dialogOperateVisible: false,
+            dialogUpdateVisible: false,
+            dialogDetialVisible: false
+        }
+    },
+    created() {
+        // this.getData()
+    },
+    methods: {
+        getHeight(height) {
+            this.$refs.qua.style.height = height
+        },
+        initData: function(id) {
+            this.proId = id
+            this.getData()
+        },
+        // 获取数据
+        getData: function() {
+            this.dtList = []
+            this.search.proId = this.proId
+            this.baseRequest('list', this.search).then((res) => {
+                if (res.data) {
+                    this.total = res.data.total
+                    res.data.rows.forEach(element => {
+                        const item = this.getItemData(element)
+                        this.dtList.push(item)
+                    })
+                }
+            }).catch(() => {
+            })
+        },
+        pageChange(val) {
+            this.search.pageNum = val
+            this.getData()
+        },
+        // 新增
+        handleAdd: function() {
+            this.rId = ''
+            this.initAssembly()
+            this.dialogTitle = '新增'
+            this.dialogOperateVisible = true
+        },
+        // 修改
+        handleEdit: function(row) {
+            this.rId = row.id
+            this.initAssembly()
+            this.dialogTitle = '修改'
+            this.dialogOperateVisible = true
+        },
+        // 详情
+        handleShow: function(row) {
+            this.rId = row.id
+            this.$nextTick(() => {
+                this.$refs.riskDetail.initData()
+            })
+            this.dialogDetialVisible = true
+        },
+        initAssembly() {
+            this.$nextTick(() => {
+                this.$refs.riskOperateDetial.initData()
+            })
+        },
+        // 提交
+        confirmSubmit: function(sta) {
+            this.$refs.riskOperateDetial.confirmSubmit(sta)
+        },
+        // 关闭
+        closeDialog: function() {
+            this.getData()
+            this.dialogOperateVisible = false
+        },
+        handleDel: function(val) {
+            const _this = this
+            this.$confirm('删除后该风险及关联的更新内容均无法找回,确定删除吗?', '提示', {
+                confirmButtonText: '确定',
+                cancelButtonText: '取消',
+                type: 'warning'
+            }).then(function() {
+                _this.baseRequest('remove/' + val.id, '').then((res) => {
+                    if (res.data.code === 200) {
+                        _this.$notify({
+                            title: '删除成功',
+                            type: 'info'
+                        })
+                        _this.getData()
+                    }
+                })
+            }).catch(function(error) {
+                console.error(error)
+            })
+        },
+        // 发布
+        handlePush: function(val) {
+            const _this = this
+            this.$confirm('是否确认发布?', '提示', {
+                confirmButtonText: '确定',
+                cancelButtonText: '取消',
+                type: 'warning'
+            }).then(function() {
+                _this.baseRequest('publish/' + val.id, '').then((res) => {
+                    if (res.data.code === 200) {
+                        _this.$notify({
+                            title: '发布成功',
+                            type: 'info'
+                        })
+                        _this.getData()
+                    }
+                })
+            }).catch(function(error) {
+                console.error(error)
+            })
+        },
+        // 更新
+        handleUpdate: function(val) {
+            this.rId = val.id
+            this.$nextTick(() => {
+                this.$refs.riskCourse.getData()
+            })
+            this.dialogUpdateVisible = true
+        },
+        closeViewData: function() {
+            this.getData()
+            this.dialogUpdateVisible = false
+        },
+        getItemData(item) {
+            if (item.state == '0') {
+                item.stateDec = '待发布'
+            } else if (item.state == '1') {
+                item.stateDec = '待处理'
+            } else if (item.state == '2') {
+                item.stateDec = '处理中'
+            } else if (item.state == '3') {
+                item.stateDec = '已关闭'
+            }
+            if (item.grade == '高') {
+                item.urgency = 'high'
+            } else if (item.grade == '中') {
+                item.urgency = 'mid'
+            } else if (item.grade == '低') {
+                item.urgency = 'low'
+            }
+            return item
+        },
+
+        baseRequest(opUrl, postData) {
+            return this.$channel.globleRequest('ProRiskInfoController', opUrl, postData, 'project')
+        }
+    }
+}
+</script>
+<style lang="scss">
+.risk {
+
+	.chaochuyingcang{
+		width: 100%;
+		white-space: nowrap;
+		overflow: hidden;
+		text-overflow: ellipsis;}
+    width: 100%;
+    //margin: 1vw 4% 0 4%;
+    background: white;
+    border-radius: 2px;
+    //padding-bottom: 1vw;
+    //height: 1225px;
+
+    .itemBox {
+        display: flex;
+        flex-direction: column;
+        //justify-content: space-between;
+        //padding: 0vw 1vw 0vw 1vw;
+        position: relative;
+        z-index: 1;
+
+        .itemShadow {
+            display: flex;
+            justify-content: space-between;
+            box-shadow: 0px 2px 2px 1px rgba(235, 235, 235, 1);
+            padding: 0.75vw 0vw 0.75vw 2.9vw;
+            margin-left: 2vw;
+            margin-top: 3.5vw;
+            position: relative;
+
+            .urImg {
+                position: absolute;
+                left: 0;
+                top: 0;
+            }
+        }
+
+        .itemTime {
+            color: rgba(153, 153, 153, 1);
+            font-size: 0.85vw;
+            position: absolute;
+            top: 2vw;
+            left: 3.2vw;
+        }
+
+        .leftIcon {
+            width: 0.85vw;
+            height: 0.85vw;
+            margin-right: 1.5vw;
+            background: white;
+            border-radius: 50%;
+            border: 5px solid rgba(160, 143, 255, 1);
+            position: absolute;
+            top: 2vw;
+        }
+
+        .itemLeft {
+            display: flex;
+            //align-items: center;
+            .itemTitBox {
+                //margin-top: 1.5vw;
+                //height: 2.3vw;
+                display: flex;
+                flex-direction: column;
+                justify-content: space-between;
+            }
+        }
+
+        .itemRight {
+            display: flex;
+            //height: 2.8vw;
+            justify-content: space-evenly;
+            align-items: center;
+            font-size: 0.85vw;
+            white-space: nowrap;
+
+            .tagBox {
+                text-align: center;
+                padding: 0 1vw;
+                //border-right: 1px solid rgba(204, 204, 204, 1);
+                color: rgba(76, 127, 238, 1);
+            }
+
+            .tagBox:hover {
+                color: rgba(76, 127, 238, 0.8);
+            }
+
+            .timeBox {
+                display: flex;
+                padding: 0 1vw;
+                color: rgba(244, 83, 32, 1);
+            }
+
+            .timeBox:hover {
+                display: flex;
+                padding: 0 1vw;
+                color: rgba(244, 83, 32, 0.8);
+            }
+        }
+
+        .line {
+            width: 10px;
+            height: 8.5vw;
+            border-left: 2px dashed #e6e6e6;
+            position: absolute;
+            background: rgba(0, 0, 0, 0);
+            left: 1.375vw;
+            z-index: -1;
+            top: 2.5vw;
+        }
+    }
+
+    .el-pagination {
+        text-align: center !important;
+    }
+
+    .fenye {
+        padding: 10px 0 20px 0;
+        display: flex;
+        justify-content: center;
+
+        .btn-next {
+            background: rgba(0, 0, 0, 0);
+        }
+
+        .btn-prev {
+            background: rgba(0, 0, 0, 0);
+        }
+
+        .el-pager li:not(.disabled).active {
+            background: rgba(244, 83, 32, 1) !important;
+        }
+
+        .el-pager li:not(.disabled):hover {
+            color: rgba(244, 83, 32, 1) !important;
+        }
+
+        .el-pager li:not(.disabled).active:hover {
+            color: white !important;
+        }
+    }
+}
+</style>

+ 201 - 0
src/views/company/daibExamine.vue

@@ -0,0 +1,201 @@
+<template>
+  <div>
+    <el-row class="handle-box" style="margin-bottom: 10px;padding-left: 0">
+      <el-col :span="24">
+        <el-select v-model="search.proveType" size="small" clearable placeholder="流程名称" class="ch-input-size" @change="handleSearch()">
+          <el-option v-for="item in sourceList" :key="item.value" :value="item.value" :label="item.label" />
+        </el-select>
+        <el-input v-model="search.qymc" size="small" placeholder="企业名" class="ch-input-size" @keyup.enter.native="handleSearch()" />
+        <el-input v-model="search.czr" size="small" placeholder="发起人" class="ch-input-size" @keyup.enter.native="handleSearch()" />
+        <el-button size="small" class="ch-button-warning" @click="handleReset()"><i class="el-icon-refresh" />&nbsp;重置</el-button>
+        <el-button size="small" class="ch-button" @click="handleSearch()"><i class="el-icon-search" />&nbsp;查询</el-button>
+      </el-col>
+    </el-row>
+    <el-row class="handle-box" style="padding-left: 0">
+      <el-col :span="24">
+        <el-table v-loading="loading" :data="AllData" stripe row-class-name="g_table_row">
+          <el-table-column label="编号" type="index" width="60" />
+          <el-table-column label="流程名称" prop="sourceName" />
+          <el-table-column label="主题" prop="allTitle" />
+          <el-table-column label="发起人" prop="czr" />
+          <el-table-column label="所在部门">
+            <template v-slot="scope">
+              {{ scope.row.deptName ? scope.row.deptName : '--' }}
+            </template>
+          </el-table-column>
+          <el-table-column label="发起时间" prop="applyTime" />
+          <el-table-column label="操作" width="100">
+            <template scope="scope">
+              <el-button v-if="scope.row.state !== 1" size="mini" type="primary" @click="handleExamine(scope.row)">审核</el-button>
+            </template>
+          </el-table-column>
+        </el-table>
+        <div class="table-page">
+          <el-pagination
+            :current-page.sync="currentPage"
+            :page-size="pageSize"
+            background
+            layout="total, prev, pager, next"
+            :total="allpage"
+            @current-change="handleCurrentChange"
+          />
+        </div>
+      </el-col>
+    </el-row>
+    <el-dialog
+      :title="dialogTitle"
+      :visible.sync="dialogVisible"
+      width="75%"
+      top="50px"
+    >
+      <company-form v-if="dialogVisible" ref="companyForm" :is-handle="true" :is-view="false" @handleClose="handleClose" />
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import Base from '@/views/base/base'
+import CompanyForm from '@/views/company/companyForm.vue'
+export default {
+    name: 'DaibExamine',
+    components: { CompanyForm },
+    mixins: [Base],
+    data() {
+        return {
+            activeName: 'first',
+            sourceList: [
+                { value: '1', label: '企业入库审核' },
+                { value: '2', label: '企业信息完善审核' }
+            ],
+            // 列表相关
+            search: {
+                proveType: '',
+                qymc: '',
+                czrid: '',
+                state: '0'
+            },
+            AllData: [],
+            loading: false,
+            // 弹框相关
+            dialogVisible: false,
+            dialogTitle: '企业认证审核'
+        }
+    },
+    mounted() {
+        this.getLocalUrl();
+        this.getData()
+    },
+    methods: {
+        // 获取URL参数
+        getLocalUrl(){
+          let urlParam = {};
+          let urlPars = window.location.href.split("?");
+          if(urlPars.length > 1){
+            let parms = urlPars[1].split("&");
+            parms.forEach(element => {
+              let detil = element.split("=");
+              this.$set(urlParam, detil[0], detil[1]);
+            });
+          }
+          if(urlParam.id && urlParam.proveType){
+            this.dialogTitle = '企业认证审核'
+            this.dialogVisible = true
+            this.$nextTick(() => {
+                this.$refs.companyForm.initData(urlParam.id, urlParam.proveType)
+            })
+          }
+        },
+        //
+        handleClose(refresh) {
+            this.dialogVisible = false
+            if (refresh) {
+                this.getData()
+            }
+        },
+        getData() {
+            const _this = this
+            _this.loading = true
+            _this.AllData = []
+            this.search.pageNum = this.currentPage
+            this.search.pageSize = this.pageSize
+            this.baseRequest('list', this.search).then((res) => {
+                if (res.data.rows) {
+                    res.data.rows.forEach(function(item) {
+                        const json = _this.getItemJson(item)
+                        _this.AllData.push(json)
+                    })
+                    _this.allpage = res.data.total
+                }
+                _this.loading = false
+            })
+        },
+        handleSearch() {
+            this.currentPage = 1
+            this.getData()
+        },
+        handleReset() {
+            for (const i in this.search) {
+                if (i !== 'pageNum' && i !== 'pageSize') {
+                    this.search[i] = ''
+                }
+            }
+            this.search.state = '0'
+            this.handleSearch()
+        },
+        getItemJson(item) {
+            item.sourceName = item.proveType === '1' ? '企业入库审核' : item.proveType === '2' ? '企业信息完善审核' : ''
+            item.deptName = item.title
+            item.allTitle = item.proveType === '1' ? item.qymc + '-企业入库审核' : item.proveType === '2' ? item.qymc + '-企业信息完善审核' : ''
+            item.createdAt = item.czsj
+            return item
+        },
+        handleExamine(row) {
+            if (row.proveType === '1') {
+                this.dialogTitle = '企业认证审核'
+            } else if (row.proveType === '2') {
+                this.dialogTitle = '企业信息完善审核'
+            }
+            this.dialogVisible = true
+            this.$nextTick(() => {
+                this.$refs.companyForm.initData(row.id, row.proveType)
+            })
+        },
+        baseRequest(opUrl, postData) {
+            return this.$channel.globeRequest('MnpCompanyExamineController', opUrl, postData, 'project')
+        }
+
+    }
+}
+</script>
+
+ <style scoped>
+ .ch-input .el-input__inner {
+     border-color: #32323A;
+ }
+ .ch-input-size {
+     width: 150px;
+ }
+ .ch-button {
+     border-color: #32323A;
+     background-color: #32323A;
+     color: #fff;
+ }
+ .ch-button-warning {
+     margin-left: 10px;
+     border-color: #E6A23C;
+     background-color: #E6A23C;
+     color: #fff;
+ }
+ .ch-button-export {
+     margin-left: 10px;
+     border-color: #98CC1F;
+     background-color: #98CC1F;
+     color: #fff;
+ }
+ /deep/.el-dialog__header {
+     padding: 10px 20px;
+ }
+ /deep/.el-dialog__body {
+     padding: 10px 20px;
+ }
+ </style>

+ 0 - 0
src/views/company/dialog/addClass.vue


+ 0 - 0
src/views/company/dialog/addCompanyTag.vue


+ 0 - 0
src/views/company/dialog/addTags.vue


+ 397 - 0
src/views/company/dialog/bindCompanyTag.vue

@@ -0,0 +1,397 @@
+<template>
+  <!--    企业标签/修改标签-->
+  <div class="history_data">
+    <el-container>
+      <!--      <el-aside style="overflow: visible">-->
+      <!--        <el-row>-->
+      <!--          <el-button style="float: right" type="primary" @click="addCompanyTag">继续添加</el-button>-->
+      <!--        </el-row>-->
+      <!--        <el-row style="margin-top: 20px;margin-left: 20px;display: flex;align-items: center">-->
+      <!--          <el-col :span="12" style="white-space: nowrap">已选择:</el-col>-->
+      <!--          <el-col :span="12" style="display: flex;width: 100%">-->
+      <!--            <el-tag-->
+      <!--              v-for="tag in tagOptions"-->
+      <!--              :key="tag"-->
+      <!--              closable-->
+      <!--              :disable-transitions="false"-->
+      <!--              style="margin:0 5px"-->
+      <!--              @close="tagClose(tag)"-->
+      <!--            >-->
+      <!--              {{ tag.tagName }}-->
+      <!--            </el-tag>-->
+      <!--          </el-col>-->
+
+      <!--        </el-row>-->
+      <!--        &lt;!&ndash;        <el-row class="handle-box" style="border: 1px solid #e4e4e4;margin-top: 28px">&ndash;&gt;-->
+      <!--        &lt;!&ndash;          <el-col :span="24">&ndash;&gt;-->
+      <!--        &lt;!&ndash;            <el-table&ndash;&gt;-->
+      <!--        &lt;!&ndash;              v-loading="loadingLeft"&ndash;&gt;-->
+      <!--        &lt;!&ndash;              :show-header="false"&ndash;&gt;-->
+      <!--        &lt;!&ndash;              :data="AllDataLeft"&ndash;&gt;-->
+      <!--        &lt;!&ndash;              style="height: 550px; overflow: auto;"&ndash;&gt;-->
+      <!--        &lt;!&ndash;              @row-click="getTagInfo"&ndash;&gt;-->
+      <!--        &lt;!&ndash;            >&ndash;&gt;-->
+      <!--        &lt;!&ndash;              <el-table-column label="标签类别" prop="name" />&ndash;&gt;-->
+      <!--        &lt;!&ndash;            </el-table>&ndash;&gt;-->
+
+      <!--        &lt;!&ndash;          </el-col>&ndash;&gt;-->
+      <!--        &lt;!&ndash;        </el-row>&ndash;&gt;-->
+      <!--      </el-aside>-->
+      <el-main>
+        <el-container>
+          <el-header>
+            <el-row>
+              <span>
+                企业已有标签
+              </span>
+<!--              <el-tag-->
+<!--                v-for="tag in tagOptions"-->
+<!--                :key="tag"-->
+<!--                closable-->
+<!--                :disable-transitions="false"-->
+<!--                style="margin:0 5px"-->
+<!--                @close="tagClose(tag)"-->
+<!--              >-->
+<!--                {{ tag.tagName }}-->
+<!--              </el-tag>-->
+              <el-button style="float: right;margin-bottom: 20px" type="primary" @click="addCompanyTag">继续添加</el-button>
+            </el-row>
+          </el-header>
+          <el-main>
+            <el-row class="handle-box" style="border: 1px solid #e4e4e4;">
+              <el-col :span="24">
+                <el-table
+                  ref="tableRight"
+                  v-loading="loading"
+                  :data="AllData"
+                  :header-cell-style="{background:'#CCCCCC'}"
+                  stripe
+                  style="height: 400px; overflow: auto;"
+                  border
+                >
+                  <el-table-column type="index" label="序号" />
+                  <el-table-column label="标签名称" prop="tagOriginName" />
+                  <el-table-column label="标签效期" prop="effectiveDate" />
+                  <el-table-column label="操作" header-align="" width="180">
+                    <template scope="scope">
+                      <el-button size="mini" type="text" @click="handleRemove(scope.$index,scope.row)">删除</el-button>
+                    </template>
+                  </el-table-column>
+                </el-table>
+              </el-col>
+            </el-row>
+          </el-main>
+        </el-container>
+      </el-main>
+    </el-container>
+    <div slot="footer" style="text-align: right;">
+      <el-button @click="handleClose()">关闭</el-button>
+      <el-button type="primary" @click="confirmSubmit()">保存</el-button>
+    </div>
+    <el-dialog
+      title="效期选择"
+      :visible.sync="dialogEffectiveDateVisible"
+      width="30%"
+      append-to-body
+    >
+      <el-form ref="form" :model="form" :rules="rules" label-width="120px">
+        <el-form-item label="请选择生效年月" prop="effectiveDate">
+          <el-date-picker
+            v-model="form.effectiveDate"
+            value-format="yyyy-MM-dd"
+            type="date"
+            placeholder="开始生效年月"
+          />
+        </el-form-item>
+      </el-form>
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="dialogEffectiveDateVisible = false">取 消</el-button>
+        <el-button type="primary" @click="effectiveDateSubmit">确 定</el-button>
+      </span>
+    </el-dialog>
+
+    <el-dialog
+      :visible.sync="dialogAddCompanyTagVisible"
+      :close-on-click-modal="false"
+      :close-on-press-escape="false"
+      width="90%"
+      top="20px"
+      append-to-body
+    >
+      <add-company-tag ref="addCompanyTag" @addCompanyClose="addCompanyClose" />
+    </el-dialog>
+
+  </div>
+</template>
+<script>
+import Base from '@/views/base/base'
+import BaseData from '@/views/base/baseData'
+import addCompanyTag from './addCompanyTag'
+export default {
+    name: 'BindCompanyTag',
+    components: {
+        addCompanyTag
+    },
+    mixins: [Base, BaseData],
+    data() {
+        return {
+            dc_key: [],
+            // 列表相关
+            search: {
+
+            },
+            AllDataLeft: [],
+            AllData: [],
+            loading: false,
+            loadingLeft: false,
+            // 弹框相关
+            dialogVisible: false,
+            dialogTitle: '新增',
+            isAdd: true,
+            form: this.initForm(),
+            rules: {
+                effectiveDate: [
+                    { required: true, message: '请选择生效年月', trigger: 'blur' }
+                ]
+            },
+            // 标签主页面跳转带过来的值
+            row: {},
+            tagOptions: [],
+            // 用来回显表格的数据
+            checkedRow: [],
+            dialogEffectiveDateVisible: false,
+            tagInfoId: '',
+            tagCategoryId: '',
+            dialogAddCompanyTagVisible: false
+        }
+    },
+    mounted() {
+
+    },
+    methods: {
+        // 初始化
+        initData(row) {
+            this.initDict(this.dc_key).then((res) => {
+                this.row = row
+                // this.getData()
+                this.getCompanyTags()
+            })
+        },
+        // 关闭
+        handleClose() {
+            this.$emit('childEventBug', false)
+        },
+        handleRemove(index, row) {
+            const _this = this
+            _this.AllData.splice(index, 1)
+            console.log('index', index)
+        },
+        // getData: function() {
+        //     const _this = this
+        //     _this.loadingLeft = true
+        //     _this.AllDataLeft = []
+        //     this.baseRequest('tagCategoryList', {}).then((res) => {
+        //         if (res.data) {
+        //             _this.AllDataLeft = res.data
+        //         }
+        //         _this.loadingLeft = false
+        //     }).catch(() => {
+        //     })
+        // },
+        // getTagInfo(row, event, column) {
+        //     const _this = this
+        //     _this.loading = true
+        //     _this.AllData = []
+        //     _this.tagCategoryId = row.id
+        //     this.search.tagCategoryId = row.id
+        //     this.baseInfoRequest('tagInfoList', this.search).then((res) => {
+        //         if (res.data) {
+        //             res.data.forEach(function(item) {
+        //                 const json = _this.getItemJson(item)
+        //                 // 企业标签和表格标签比对
+        //                 _this.tagOptions.forEach(tag => {
+        //                     if (tag.id == item.id) {
+        //                         _this.checkedRow.push(item)
+        //                     }
+        //                 })
+        //                 _this.AllData.push(json)
+        //             })
+        //             this.$nextTick(() => {
+        //                 _this.checkedRow.forEach(row => {
+        //                     _this.$refs.tableRight.toggleRowSelection(row, true) // 回显
+        //                 })
+        //             })
+        //         }
+        //         _this.loading = false
+        //     }).catch(() => {
+        //     })
+        // },
+        // 获取企业绑定的标签
+        getCompanyTags() {
+            const _this = this
+            _this.loading = true
+            _this.AllData = []
+            this.baseInfoRequest('getCompanyTags/' + this.row[0].id, {}).then((res) => {
+                const data = res.data
+                // 标签
+                _this.tagOptions = data
+                // 表格
+                _this.AllData = data
+                _this.loading = false
+            }).catch(() => {
+            })
+        },
+        tagClose(tag) {
+            const _this = this
+            _this.tagOptions.splice(this.tagOptions.indexOf(tag), 1)
+            // const row = {
+            //     id: _this.tagCategoryId
+            // }
+            // this.getTagInfo(row)
+        },
+        // tableSelect(val, row) {
+        //     console.log('val', val)
+        //     console.log('row', row)
+        //     let flag = 0
+        //     for (const i in val) {
+        //         if (row.id === val[i].id) {
+        //             flag = 1
+        //             break
+        //         }
+        //     }
+        //     if (flag === 1) {
+        //         // 如果判断当前为添加则将当前勾选数据push到指定数组中
+        //         this.tagOptions.push(row)
+        //         // 如果该标签为有效期,需弹出效期选择弹框,填写开始生效年月
+        //         if (row.isEffective === '无') {
+        //             this.tagInfoId = row.id
+        //             this.dialogEffectiveDateVisible = true
+        //         }
+        //     } else {
+        //         console.log('取消')
+        //         this.tagOptions.splice(this.tagOptions.indexOf(row), 1)
+        //     }
+        // },
+        // getItemJson: function(item) {
+        //     item.isEffective = item.isEffective == 1 ? '有' : '无'
+        //     return item
+        // },
+        initForm: function() {
+            return {
+                id: ''
+            }
+        },
+        confirmSubmit: function() {
+            const _this = this
+            const postData = {
+                enterpriseId: _this.row[0].id,
+                tagInfo: JSON.stringify(_this.tagOptions)
+            }
+            this.baseInfoRequest('removeBind', postData).then(res => {
+                if (res.data.code == 200) {
+                    _this.$notify({
+                        title: '操作成功',
+                        type: 'info'
+                    })
+                    this.handleClose()
+                } else {
+                    _this.$notify({
+                        title: res.data.msg,
+                        type: 'error'
+                    })
+                }
+            })
+        },
+        // 更新生效年月
+        effectiveDateSubmit() {
+            this.$refs.form.validate(valid => {
+                if (valid) {
+                    const _this = this
+                    const postData = {
+                        id: _this.tagInfoId,
+                        effectiveDate: _this.form.effectiveDate,
+                        isEffective: '1'
+
+                    }
+
+                    this.baseInfoRequest('edit', postData).then(res => {
+                        if (res.data.code == 200) {
+                            _this.$notify({
+                                title: '操作成功',
+                                type: 'info'
+                            })
+                            // 清空id
+                            _this.tagInfoId = ''
+                            // 回显
+                            const row = {
+                                id: _this.tagCategoryId
+                            }
+                            _this.getTagInfo(row)
+                            _this.dialogEffectiveDateVisible = false
+                        } else {
+                            _this.$notify({
+                                title: res.msg,
+                                type: 'error'
+                            })
+                        }
+                    })
+                }
+            })
+        },
+        addCompanyTag() {
+            this.dialogAddCompanyTagVisible = true
+            this.$nextTick(() => {
+                this.$refs.addCompanyTag.initData(this.row)
+            })
+        },
+        addCompanyClose() {
+            this.dialogAddCompanyTagVisible = false
+            this.getCompanyTags()
+        },
+        baseRequest(opUrl, postData) {
+            return this.$channel.globeRequest('MnpTagController', opUrl, postData, 'project')
+        },
+        baseInfoRequest(opUrl, postData) {
+            return this.$channel.globeRequest('MnpTagInfoController', opUrl, postData, 'project')
+        }
+    }
+}
+</script>
+<style lang="scss">
+.history_data{
+    .el-table::before{
+        display: none;
+    }
+}
+
+</style>
+<style scoped>
+.ch-input {
+    border-color: #32323A;
+}
+
+.ch-input-size {
+    width: 350px;
+}
+
+.ch-button {
+    border-color: #32323A;
+    background-color: #32323A;
+    color: #fff;
+}
+
+.ch-button-warning {
+    margin-left: 10px;
+    border-color: #E6A23C;
+    background-color: #E6A23C;
+    color: #fff;
+}
+
+.ch-button-export {
+    margin-left: 10px;
+    border-color: #98CC1F;
+    background-color: #98CC1F;
+    color: #fff;
+}
+
+</style>

+ 0 - 0
src/views/company/dialog/importCompanyLog.vue


+ 143 - 0
src/views/company/dialog/importTag.vue

@@ -0,0 +1,143 @@
+<template>
+  <div>
+    <el-form ref="form" :model="form" style="width: 100%;padding: 5px" :rules="rules">
+      <el-row v-if="isEffective == '1'">
+        <el-col :span="6" class="col-txt"><span>*请选择生效年月</span></el-col>
+        <el-col :span="14" class="col-input">
+          <el-form-item prop="effectiveDate">
+            <el-date-picker
+              v-model="form.effectiveDate"
+              value-format="yyyy-MM"
+              type="month"
+              placeholder="开始生效年月"
+            />
+          </el-form-item>
+        </el-col>
+      </el-row>
+      <el-row>
+        <el-col :span="6" class="col-txt"><span>*上传文件</span></el-col>
+        <el-col :span="14" class="col-input">
+          <el-form-item>
+            <el-upload
+              ref="upload"
+              class="upload-demo"
+              action="#"
+              :on-preview="handlePreview"
+              :on-remove="handleRemove"
+              :file-list="fileList"
+              :auto-upload="false"
+              :limit="1"
+              accept=".xls,.XLS,.xlsx,.XLSX"
+              :on-change="onChange"
+            >
+              <el-button slot="trigger" size="small" type="primary">选取文件</el-button>
+<!--              <div slot="tip" class="el-upload__tip">只能上传jpg/png文件,且不超过500kb</div>-->
+            </el-upload>
+          </el-form-item>
+
+        </el-col>
+      </el-row>
+      <el-row>
+        <el-button type="primary" style="float: right" @click="submitUpload">确定</el-button>
+        <el-button style="float: right;margin-right: 20px" @click="cancel">取消</el-button>
+      </el-row>
+    </el-form>
+
+  </div>
+</template>
+
+<script>
+import Base from '@/views/base/base'
+import BaseData from '@/views/base/baseData'
+import constant from '@/static/utils/constant'
+export default {
+    name: 'ImportTag',
+    components: {
+    },
+    mixins: [Base, BaseData],
+    props: {
+        id: String,
+        isEffective: String
+    },
+    data() {
+        return {
+            form: { effectiveDate: '' },
+            rules: {
+                effectiveDate: [
+                    { required: this.isEffective == '1', message: '请选择生效年月', trigger: 'blur' }
+                ]
+            },
+            fileList: []
+        }
+    },
+    mounted() {
+    },
+    methods: {
+        onChange(file, fileList) {
+            this.fileList[0] = file
+            console.log('文件二进制', file)
+        },
+
+        submitUpload() {
+            if (this.fileList.length < 1) {
+                this.$message({
+                    message: '请选择文件',
+                    type: 'error'
+                })
+            }
+            this.$refs['form'].validate((valid) => {
+                if (valid) {
+                    // 自定义上传
+                    const FormDatas = new FormData()
+                    // 将选取的文件插入formdata中
+                    FormDatas.append('file', this.fileList[0].raw)
+                    if (this.form.effectiveDate) {
+                        FormDatas.append('date', this.form.effectiveDate)
+                    }
+                    FormDatas.append('tagId', this.id)
+                    this.$axios({
+                        headers: {
+                            'Content-Type': 'multipart/form-data'
+                        },
+                        method: 'post',
+                        url: constant.BASE_URI + '/MnpTagInfoController/importTag',
+                        data: FormDatas
+                    }).then(res => {
+                        const data = res.data
+                        if (data.code == 200) {
+                            this.$message({
+                                message: '导入成功',
+                                type: 'success'
+                            })
+                            this.cancel()
+                        } else {
+                            this.$message({
+                                message: data.msg,
+                                type: 'error'
+                            })
+                        }
+                    })
+                }
+            })
+        },
+        handleRemove(file, fileList) {
+            console.log(file, fileList)
+        },
+        handlePreview(file) {
+            console.log(file)
+        },
+        cancel() {
+            this.$emit('handleImportClose')
+        },
+        baseRequest(opUrl, postData) {
+            return this.$channel.globeRequest('MnpTagInfoController', opUrl, postData, 'project')
+        }
+
+    }
+
+}
+</script>
+
+<style scoped>
+
+</style>

+ 60 - 0
src/views/company/dialog/tagRecord.vue

@@ -0,0 +1,60 @@
+<template>
+  <el-dialog
+    :title="title"
+    :visible.sync="dialogTagRecordVisible"
+    width="50%"
+    append-to-body
+  >
+    <el-form ref="form" :model="form" :rules="rules" label-width="120px">
+      <el-table
+        v-loading="loading"
+        :show-header="true"
+        :data="AllData"
+        style="height: 550px; overflow: auto;"
+        :header-cell-style="{background:'#CCCCCC'}"
+      >
+        <el-table-column label="更新时间" prop="updateAt" />
+        <el-table-column label="标签" prop="tagName" />
+      </el-table>
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="dialogTagRecordVisible = false">关闭</el-button>
+
+      </span>
+    </el-form>
+  </el-dialog>
+</template>
+<script>
+export default {
+    data() {
+        return {
+            loading: false,
+            AllData: [],
+            dialogTagRecordVisible: false,
+            title: '标签历史'
+        }
+    },
+    mounted() {},
+    methods: {
+        setVisible(status, id) {
+            this.dialogTagRecordVisible = status
+            if (id) {
+                const _this = this
+                _this.loading = true
+                _this.AllData = []
+                this.baseRequest('tagHistory/' + id, {}).then(res => {
+                    if (res.data) {
+                        _this.AllData = res.data
+                    }
+                    _this.loading = false
+                })
+            }
+        },
+        cancel() {
+            this.dialogTagRecordVisible = false
+        },
+        baseRequest(opUrl, postData) {
+            return this.$channel.globeRequest('MnpTagController', opUrl, postData, 'project')
+        }
+    }
+}
+</script>

+ 25 - 0
src/views/company/examine.vue

@@ -0,0 +1,25 @@
+<template>
+  <div>
+    <el-tabs v-model="activeName" style="margin-left: 25px;">
+      <el-tab-pane label="待办" name="first">
+        <daib-examine v-if="activeName === 'first'" />
+      </el-tab-pane>
+      <el-tab-pane label="已办" name="second">
+        <yib-examine v-if="activeName === 'second'" />
+      </el-tab-pane>
+    </el-tabs>
+  </div>
+</template>
+<script>
+import DaibExamine from '@/views/company/daibExamine.vue'
+import YibExamine from '@/views/company/yibExamine.vue'
+export default {
+    name: 'Examine',
+    components: { DaibExamine, YibExamine },
+    data() {
+        return {
+            activeName: 'first'
+        }
+    }
+}
+</script>

File diff suppressed because it is too large
+ 1241 - 0
src/views/company/index.vue


+ 178 - 0
src/views/company/yibExamine.vue

@@ -0,0 +1,178 @@
+<template>
+  <div>
+    <el-row class="handle-box" style="margin-bottom: 10px;padding-left: 0">
+      <el-col :span="24">
+        <el-select v-model="search.proveType" size="small" clearable placeholder="流程名称" class="ch-input-size" @keyup.enter.native="handleSearch()">
+          <el-option v-for="item in sourceList" :key="item.value" :value="item.value" :label="item.label" />
+        </el-select>
+        <el-input v-model="search.qymc" size="small" clearable placeholder="企业名" class="ch-input-size" @keyup.enter.native="handleSearch()" />
+        <el-input v-model="search.czr" size="small" placeholder="发起人" class="ch-input-size" @keyup.enter.native="handleSearch()" />
+        <el-button size="small" class="ch-button-warning" @click="handleReset()"><i class="el-icon-refresh" />&nbsp;重置</el-button>
+        <el-button size="small" class="ch-button" @click="handleSearch()"><i class="el-icon-search" />&nbsp;查询</el-button>
+      </el-col>
+    </el-row>
+    <el-row class="handle-box" style="padding-left: 0">
+      <el-col :span="24">
+        <el-table v-loading="loading" :data="AllData" stripe row-class-name="g_table_row">
+          <el-table-column label="编号" type="index" width="60" />
+          <el-table-column label="流程名称" prop="sourceName" />
+          <el-table-column label="主题" prop="allTitle" />
+          <el-table-column label="发起人" prop="czr" />
+          <el-table-column label="所在部门">
+            <template v-slot="scope">
+              {{ scope.row.deptName ? scope.row.deptName : '--' }}
+            </template>
+          </el-table-column>
+          <el-table-column label="发起时间" prop="applyTime" />
+          <el-table-column label="处理结果">
+            <template v-slot="scope">
+              {{ scope.row.state === '1' ? '通过' : scope.row.state === '2' ? '不通过' : '' }}
+            </template>
+          </el-table-column>
+          <el-table-column label="操作" width="100">
+            <template scope="scope">
+              <el-button size="mini" type="primary" @click="handleShow(scope.row)">查看</el-button>
+            </template>
+          </el-table-column>
+        </el-table>
+        <div class="table-page">
+          <el-pagination
+            :current-page.sync="currentPage"
+            :page-size="pageSize"
+            background
+            layout="total, prev, pager, next"
+            :total="allpage"
+            @current-change="handleCurrentChange"
+          />
+        </div>
+      </el-col>
+    </el-row>
+    <el-dialog
+      :title="dialogTitle"
+      :visible.sync="dialogVisible"
+      width="75%"
+      top="50px"
+    >
+      <company-form ref="companyForm" :is-handle="false" :is-view="true" @handleClose="handleClose" />
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import Base from '@/views/base/base'
+import CompanyForm from '@/views/company/companyForm.vue'
+export default {
+    name: 'YibExamine',
+    components: { CompanyForm },
+    mixins: [Base],
+    data() {
+        return {
+            activeName: 'first',
+            sourceList: [
+                { value: '1', label: '企业入库审核' },
+                { value: '2', label: '企业信息完善审核' }
+            ],
+            // 列表相关
+            search: {
+                proveType: '',
+                qymc: '',
+                czrid: '',
+                status: '3'
+            },
+            AllData: [],
+            loading: false,
+            // 弹框相关
+            dialogVisible: false,
+            dialogTitle: ''
+        }
+    },
+    mounted() {
+        this.getData()
+    },
+    methods: {
+        handleClose() {
+            this.dialogVisible = false
+        },
+        getData() {
+            const _this = this
+            _this.loading = true
+            _this.AllData = []
+
+            this.search.pageNum = this.currentPage
+            this.search.pageSize = this.pageSize
+            this.baseRequest('list', this.search).then((res) => {
+                if (res.data.rows) {
+                    res.data.rows.forEach(function(item) {
+                        const json = _this.getItemJson(item)
+                        _this.AllData.push(json)
+                    })
+                    _this.allpage = res.data.total
+                }
+                _this.loading = false
+            })
+        },
+        handleSearch() {
+            this.currentPage = 1
+            this.getData()
+        },
+        handleReset() {
+            for (const i in this.search) {
+                if (i !== 'pageNum' && i !== 'pageSize') {
+                    this.search[i] = ''
+                }
+            }
+            this.search.status = '3'
+            this.handleSearch()
+        },
+        getItemJson(item) {
+            item.sourceName = item.proveType === '1' ? '企业入库审核' : item.proveType === '2' ? '企业信息完善审核' : ''
+            item.deptName = item.title
+            item.allTitle = item.proveType === '1' ? item.qymc + '-企业入库审核' : item.proveType === '2' ? item.qymc + '-企业信息完善审核' : ''
+            item.createdAt = item.czsj
+            return item
+        },
+        handleShow(row) {
+            this.dialogTitle = '详情'
+            this.dialogVisible = true
+            this.$nextTick(() => {
+                this.$refs.companyForm.initData(row.id, row.proveType)
+            })
+        },
+        baseRequest(opUrl, postData) {
+            return this.$channel.globeRequest('MnpCompanyExamineController', opUrl, postData, 'project')
+        }
+    }
+}
+</script>
+
+<style scoped>
+.ch-input .el-input__inner {
+    border-color: #32323A;
+}
+.ch-input-size {
+    width: 150px;
+}
+.ch-button {
+    border-color: #32323A;
+    background-color: #32323A;
+    color: #fff;
+}
+.ch-button-warning {
+    margin-left: 10px;
+    border-color: #E6A23C;
+    background-color: #E6A23C;
+    color: #fff;
+}
+.ch-button-export {
+    margin-left: 10px;
+    border-color: #98CC1F;
+    background-color: #98CC1F;
+    color: #fff;
+}
+/deep/.el-dialog__header {
+    padding: 10px 20px;
+}
+/deep/.el-dialog__body {
+    padding: 10px 20px;
+}
+</style>