Commit 274fed3b authored by Kimber's avatar Kimber

'update'

parents a862e28f ae0078a3
......@@ -558,19 +558,22 @@ var reqApis = function(){
return reqPublic('api/incubatorRevenue', type, param)
},
},
basicInfo: { // 企业基本信息
basicInfo: { // 企业基本信息 mode:7(默认元素隐藏,通过其他元素改变主动触发显示)
name: '企业基本信息',
Dict: {
baseInfo: {
"companyName": {name:"企业名称", must:true },
"incubatorId": {name:"所属孵化器", must:true, 'type':'select', key:'name', },
"incubatorId": {name:"所属孵化器", must:true, table:0, 'type':'select', key:'name', },
"technicalField": {name:"所属技术领域", must:true, 'type':'select', key:'name', },
"entryDate": {
name:"时间", must:true, table:0, 'type':'date', 'format':'yyyy-MM-dd',
name:"时间", must:true, table:0, 'type':'date', 'format':'yyyy-MM-dd',
},
"founderCharacteristics": {name:"主要负责人创业特征", must:true, table:0, 'type':'select', key:'name', },
"companyType": {name:"企业类型", must:true, 'type':'select', key:'name', },
"address":{
name:"地址",/* must:true, */disabled: true, type:'map', style:"display:flex",
name:"地址",/* must:true, disabled: true,type:'map',style:"display:flex",*/ table:0,
mapConfig: {
options: {
zoom: 12,
......@@ -641,17 +644,40 @@ var reqApis = function(){
"contactPhone": {name:"联系方式", must:true },
"intellectualProperty": {name:"知识产权", table:0, 'type':'select', key:'name',},
"totalFunding": {name:"累计获得融资总额(万元)", table:0},
"incubationStatus": {name:"企业孵化状态", table:0, 'type':'select',
"incubationStatus": {name:"企业孵化状态", 'type':'select',
change: function (val){
var Dict = this.Dict, slist = Dict.selectList, fitem = this.form.item;
Dict.baseInfo.graduationDate.form = ~~(val === 2);
}
},
"graduationDate": {name:"毕业日期", type:"date", table:0, form:0},
"isHighTech": {name:"是否是高新技术企业", table:0, 'type':'select'},
"isTechSme": {name:"是否是科技型中小企业", table:0, 'type':'select'},
"isHighGrowthInnovative": {name:"是否高成长创新型企业", table:0, 'type':'select'},
"isAdvancedTechService": {name:"是否是技术先进型服务企业", table:0, 'type':'select'},
// 新增字段
"companyLevel": { 'type': 'select', 'name': '企业级别', table:0 },
"technicalField": { 'type': 'select', 'name': '所属技术领域', table:0, },
"registeredCapital": { 'type': '', 'name': '注册资金(万元)', table:0, },
"inventionPatentsNumber": { 'type': '', 'name': '发明专利数(件)', table:0, },
"inventionApplicationsNumber": { 'type': '', 'name': '发明申请数(件)', table:0, },
"utilityModelsNumber": { 'type': '', 'name': '实用新型数(件)', table:0, },
"softwareCopyrightNumber": { 'type': '', 'name': '软件著作权数(件)', table:0, },
"isHighGrowthInnovative": { 'type': 'select', 'name': '是否高成长创新型企业', table:0, },
"highGrowthInnovativeDate": { 'type': 'date', 'name': '最新评选日期', table:0, mode:7,},
"isHighTech": { 'type': 'select', 'name': '是否高新技术企业', table:0, },
"highTechDate": { 'type': 'date', 'name': '最新评选日期', table:0, mode:7, },
"isAdvancedTechService": { 'type': 'select', 'name': '是否技术先进型服务企业', table:0, },
"advancedTechServiceDate": { 'type': 'date', 'name': '最新评选日期', table:0, mode:7, },
"isSpecializedSpecialEnterprises": { 'type': 'select', 'name': '是否专精特新企业', table:0, },
"specializedSpecialEnterprisesDate": { 'type': 'date', 'name': '最新评选日期', table:0, mode:7, },
"isTechSme": { 'type': 'select', 'name': '是否科技型中小企业', table:0, },
"techSmeDate": { 'type': 'date', 'name': '最新评选日期', table:0, mode:7, },
"isLittleGiant": { 'type': 'select', 'name': '是否小巨人企业', table:0, },
"littleGiantDate": { 'type': 'date', 'name': '最新评选日期', table:0, mode:7, },
"isGazelle": { 'type': 'select', 'name': '是否瞪羚企业', table:0, },
"gazelleDate": { 'type': 'date', 'name': '最新评选日期', table:0, mode:7, },
// "isHighTech": {name:"是否是高新技术企业", table:0, 'type':'select'},
// "isTechSme": {name:"是否是科技型中小企业", table:0, 'type':'select'},
// "isHighGrowthInnovative": {name:"是否高成长创新型企业", table:0, 'type':'select'},
// "isAdvancedTechService": {name:"是否是技术先进型服务企业", table:0, 'type':'select'},
"introduction": {
name:"企业介绍", table:0, style:"display:block", 'type':'editor',
'change': function (file, pathBack) {
......@@ -661,6 +687,12 @@ var reqApis = function(){
});
}
},
//"createBy": {name:"创建人ID", table:0},
//"createTime": {name:"创建时间", },
},
......@@ -679,6 +711,13 @@ var reqApis = function(){
isTechSme: [{ name: '', value: true, }, { name: '', value: false, },],
isHighGrowthInnovative: [{ name: '', value: true, }, { name: '', value: false, },],
isAdvancedTechService: [{ name: '', value: true, }, { name: '', value: false, },],
isGazelle: [{ name: '', value: true, }, { name: '', value: false, },],
isLittleGiant: [{ name: '', value: true, }, { name: '', value: false, },],
isSpecializedSpecialEnterprises: [{ name: '', value: true, }, { name: '', value: false, },],
companyType:[{"name":"服务企业","value":2},{"name":"中介机构","value":1}],
incubationStatus:[{"name":"在孵化企业","value":1},{"name":"毕业企业","value":2}],
},
......@@ -813,6 +852,10 @@ var reqApis = function(){
{ 'type': 'select', 'name': '在孵状态', 'word': 'incubationStatus', 'mode': 1, 'width': '140px' },
{ 'type': 'select', 'name': '企业类型', 'word': 'companyType', 'mode': 1, 'width': '140px' },
{ 'type':'daterange', 'defaultTime':['00:00:00', '23:59:59'], 'name':'日期范围', 'word':'daterange', 'mode': 0, 'width':'300px', format:'yyyy-MM-dd' },
{ 'type': 'select', 'name': '企业级别', 'word': 'companyLevel', 'mode': 1, 'width': '140px' },
{ 'type': 'select', 'name': '所属技术领域', 'word': 'technicalField', 'mode': 9, 'width': '140px' },
{ 'type': 'select', 'name': '创新创业类型', 'word': 'innovationEntrepreneurship', 'mode': 1, 'width': '140px' },
{ 'type': 'daterange', 'defaultTime': ['00:00:00', '23:59:59'], 'name': '日期范围', 'word': 'daterange', 'mode': 0, 'width': '300px', format: 'yyyy-MM-dd' },
{
'type': 'button', 'label': '查询', 'width': '140px', 'icon': 'el-icon-search', 'click': function (e) {
this.table.page = 1;
......
<!--
/**
* 表单通用组件
* @example1:
1, 引入
import cuTable from '@/components/cuTable';
2, 注册
export default {
components: {
cuTable
},
data() {
return {
Dict:{selectList:[]},
table:{
page: 1,
size: 10,
total: 0,
loading: false,
dataList:[],
},
rules: {},
}
},
mounted(){
// 获取基本信息
this.pageApi = Config.getModuleInfo(this);
this.Dict = this.pageApi.Dict;
this.form.config = this.pageApi.config;
this.rules = reqApi.getRules(this.Dict.baseInfo) || (this.Dict.rules || {});
},
methods: {
loadData(searchItem) {
var that = this;
//reqApi.common.getRequst.call(this, searchItem);
},
}
}
3, 创建
<cu-table
ref="cuTable"
:table="table"
:Dict="Dict"
:config="form.config"
/>
#4, 使用
* @author: Kimber
* @createtime: 2022/4/22(周五)
*/
-->
<template>
<!--工具栏-->
<div class="head-container" v-if="form.config.search && form.config.search[0]">
<!-- 搜索 -->
<template v-for="(item, index) in form.config.search">
<!-- <label v-if="item.name" class="el-form-item-label">{{item.name}}</label> -->
<template v-if="item.type==='string'">
<el-input v-model="form.query[item.word]" clearable :placeholder="item.name" :style="'width:'+item.width" @clear="item.clear && item.clear.call(_self.$parent)"/>
</template>
<template v-if="item.type==='select'">
<el-select v-model="form.query[item.word]" :placeholder="item.name" size="small" :style="'width:'+(item.width || 'auto')" :disabled="item.disabled" :multiple="(item.mode===9)" clearable @change="onEventInfos(item.change)" @clear="item.clear && item.clear.call(_self.$parent)">
<el-option v-for="obj in Dict.selectList[item.word]" :label="obj[item.key] || obj.name" :value="obj[item.val] || obj.value" ></el-option>
</el-select>
</template>
<template v-else-if="item.type === 'checkbox'">
<el-checkbox v-model="form.query[item.word]" :label="item.label"></el-checkbox>
</template>
<template v-else-if="item.type.indexOf('date') > -1">
<el-date-picker
v-model="form.query[item.word]"
:style="'width:'+item.width"
:type="item.datetype || item.type"
:value-format="item.format || 'yyyy-MM-dd'"
:default-time="item.defaultTime"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
clearable
@change="item.change && item.change.call(_self.$parent, $event)"
:placeholder="'请选择'+item.name"
>
</el-date-picker>
</template>
<el-button v-else-if="item.type==='button'" size="mini" :type="item.btntype || 'success'" :icon="item.icon" @click="item.click && item.click.call(_self.$parent, $event)">{{item.label}}</el-button>
</template>
</div>
</template>
<script>
export default {
data() {
return {
}
},
props:{
form: {
type: Object,
default: {},
},
Dict: {
type: Object,
default: {},
},
},
beforeCreate(){
},
created(){
},
mounted() {
},
methods: {
onEventInfos:qf.Vue.onEventInfos,
},
}
</script>
<style lang="scss" scope>
.head-container{
.el-form-item-label{
font-weight:500;margin-left:15px;line-height:normal;
&:first-child{margin-left:0;}
}
.el-button{margin-left:20px;}
.el-checkbox{margin-right:5px;}
}
</style>
<!--
/**
* 表单通用组件
* @example1:
1, 引入
import cuForm from '@/components/cuForm';
2, 注册
export default {
components: {
cuForm
},
data() {
return {
Dict:{selectList:[]},
rules: {},
form: {
title:'', visible:false, reqType:'add', historyDialog:false,
status:{cu:0},
query:{},
search:{},
item:{},
file:0,
config:{},
},
}
},
mounted(){
// 获取基本信息
this.pageApi = Config.getModuleInfo(this);
this.Dict = this.pageApi.Dict;
this.form.search = this.Dict.search;
this.form.config = this.pageApi.config;
this.rules = reqApi.getRules(this.Dict.baseInfo) || (this.Dict.rules || {});
},
methods: {
upload(e, key){
},
submitForm(form, item){
},
}
}
3, 创建
<cu-form
ref="cuForm"
:form="form"
:Dict="Dict"
:rules="rules"
:submit="submitForm"
:upload="upload"
/>
#4, 使用
* @author: Kimber
* @updatetime: 2022/5/19(周四)
* @createtime: 2021/12/09
*/
-->
<template>
<el-dialog id="printJS-form" class="qyzz-dialog" append-to-body :close-on-click-modal="false" :before-close="cancelForm" :visible.sync="form.visible" :title="form.title" :width="form.config.formWidth || '50%'">
<el-form :model="form.item" :rules="rules" :ref="ref" :inline="true" size="small" :label-width="(form.config.labelWidth || 80) + 'px'">
<el-form-item v-for="(item, key) in Dict.baseInfo" :prop="item.rule || key" :label="item.name" v-if="item.form !== 0" :style="item.style" :class="{'isHide': item.mode===7, [key]: item.mode===7}" :ref="key">
<template v-if="item.type === 'img'">
<div class="img-upload">
<label class="upload-area" for="imgUpload">
<div class="img-box" v-show="form.item[key]">
<img :src="item.src ? item.src.call(_self, form.item, key) : form.item[key]" v-model="form.item[key]">
</div>
<div class="upload-layer el-icon-plus" :class="{'show':!form.item[key]}">
<input type="file" style="display:none" id="imgUpload" @change="item.change && item.change.call(_self.$parent, $event, key)">
</div>
</label>
</div>
</template>
<template v-else-if="new String(item.type).indexOf('date') === 0">
<el-date-picker
v-model="form.item[key]"
:type="item.datetype || item.type"
:value-format="item.format || 'yyyy-MM-dd'"
:disabled="item.disabled"
placeholder="选择日期时间">
</el-date-picker>
</template>
<template v-else-if="item.type === 'select'">
<el-select v-model="form.item[key]" :placeholder="item.name" size="small" :style="'width:'+(item.width || 'auto')" :disabled="item.disabled" :multiple="item.multiple || false" @change="eventTransmit(item.change)">
<el-option v-for="obj in Dict.selectList[key]" :label="obj[item.key||'name']" :value="obj[item.val] || obj.value" ></el-option>
</el-select>
</template>
<template v-else-if="item.type === 'filename'">
<div class="file-box">
<div v-if="!!form.item[key]" style="width:260px;">
{{form.item[key]}} <label class="el-icon-edit btn2" for="cufilename"></label>
</div>
<label v-else class="upload-area el-icon-folder-add" for="cufilename" style="width:260px;font-size:30px"></label>
<input type="file" style="display:none" id="cufilename" @change="item.change && item.change.call(_self.$parent, $event, key)">
</div>
</template>
<template v-else-if="item.type === 'textarea'">
<el-input v-model="form.item[key]" :style="'width:'+(item.width || 380)+'px;'" type="textarea" :rows="item.rows" :disabled="item.disabled"/>
</template>
<template v-else-if="item.type === 'number'">
<el-input-number v-model.number="form.item[key]" :min="0" controls-position="right" />
</template>
<template v-else-if="item.type === 'text'">
<div class="form-text">{{form.item[key]}}</div>
</template>
<template v-else-if="item.type === 'radio'">
<el-radio-group v-model="form.item[key]" @change="eventTransmit(item.change)">
<el-radio v-for="obj in Dict.selectList[key]" :label="obj[item.val]" >{{obj[item.key]}}</el-radio>
</el-radio-group>
</template>
<template v-else-if="item.type === 'checkbox'">
<el-checkbox-group v-model="form.item[key]" @change="eventTransmit(item.change)">
<el-checkbox v-for="obj in Dict.selectList[key]" :label="obj[item.val]" >{{obj[item.key]}}</el-checkbox>
</el-checkbox-group>
</template>
<template v-else-if="item.type === 'map'">
<el-input v-model="form.item[key]" :style="'width:'+(item.width || 260)+'px;'" :placeholder="item.placeholder || ('请输入' + item.name)" :disabled="item.disabled"/>
<div class="map-ctn" :style="'width:'+(item.width || '80%')+';'+'height:'+(item.mapHeight || '180px')+';'">
<cu-amap
ref="amap"
:options="item.mapConfig.options"
:parent="_self"
/>
</div>
</template>
<!-- 富文本 -->
<template v-else-if="item.type === 'editor'">
<wang-editor
style="height:500px; overflow-y:hidden;"
:item="form.item"
:name="key"
:Dict="Dict"
:upload="item.change"
:formvue="_self.$parent"
/>
</template>
<template v-else>
<el-input v-if="item.ruleType==='number'" v-model.number="form.item[key]" :style="'width:'+(item.width || 260)+'px;'" :placeholder="item.placeholder || ('请输入' + item.name)" :disabled="item.disabled" @input="item.input && item.input.call(_self, $event)"/>
<el-input v-else v-model="form.item[key]" :style="'width:'+(item.width || 260)+'px;'" :placeholder="item.placeholder || ('请输入' + item.name)" :disabled="item.disabled" @input="item.input && item.input.call(_self, $event)"/>
</template>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="text" @click="cancelForm">取消</el-button>
<el-button :loading="form.status.cu === 2" type="primary" @click="submit($refs[ref], form.item)">确认</el-button>
<!-- <el-button v-for="(item, i) in form.config.formBtn" :type="item.type" @click="item.callback && item.callback.call(_self, $refs[ref], form.item)">{{item.name}}</el-button> -->
</div>
</el-dialog>
</template>
<script>
import cuAmap from '@/components/AMap';
import WangEditor from '@/components/WangEditor/index'
export default {
data() {
return {
ref:'form1',
}
},
components: {cuAmap, WangEditor},
props:{
form: {
type: Object,
default: {},
},
rules: {
type: Object,
default: {},
},
Dict: {
type: Object,
default: {},
},
submit: {
type: Function,
default: () => {}
},
},
beforeCreate(){
},
created(){
},
mounted() {
},
methods: {
eventTransmit:qf.Vue.onEventInfos,
cancelForm(){this.$parent.form.visible = false;},
},
}
</script>
<style lang="scss" scope>
.qyzz-dialog{
display:flex;justify-content:center;align-items:center;
.el-form .block{display:block;}
.el-form .flex{display:flex;}
.img-upload{
position:relative;
.img-box{width:300px;height:200px;}
img{display:block;border:0;height:100%;width:100%;}
.upload-layer{
width:250px;height:100px;display:none;justify-content:center;align-items:center;
background-color:#fff;
border:1px dashed rgba(0, 0, 0, 0.1);background-color:rgba(0, 0, 0, 0.05);cursor:pointer;color:#999;
flex-direction:column;justify-content:center;align-items:center;
&:before{display:block;font-size:34px;}
&:after{display:block;content:"上传图片,支持小于2MB的图片";line-height:18px;}
}
.upload-area{
height:100%;width:100%;
}
.upload-layer.show{display:flex;}
}
.el-dialog{
margin-top:0 !important;
.el-dialog__body{
overflow-y:auto;max-height:78vh;
.el-form-item{
display:inline-flex;align-items:center;
.el-form-item__content{flex:1;}
}
.form-text{line-height:20px;}
.el-form-item__label{line-height:1.5;}
}
}
.file-box{
.btn2{font-size:23px;margin-left:10px;color:#48A2FF;cursor:pointer;}
}
.isHide{
display: none !important;
}
.isShow{
display: inline-flex !important;
}
}
</style>
\ No newline at end of file
......@@ -16,10 +16,25 @@
<div class="content-fix">
<div class="toolbar">
<div>
<el-button v-for="(item, key) in form.config.otherBtn" size="mini" :type="item.type" :icon="item.icon" @click="item.callback.call(_self, $event)">{{item.name}}</el-button>
<el-button type="text" style="font-size: 18px;">公司数:{{ table.total }}</el-button>
<el-button
v-for="(item, key) in form.config.otherBtn"
size="mini"
:type="item.type"
:icon="item.icon"
@click="item.callback.call(_self, $event)"
>{{ item.name }}</el-button
>
</div>
<div>
<el-button v-for="(item, key) in form.config.rightBtn" size="mini" :type="item.type" :icon="item.icon" @click="item.callback.call(_self, $event)">{{item.name}}</el-button>
<el-button
v-for="(item, key) in form.config.rightBtn"
size="mini"
:type="item.type"
:icon="item.icon"
@click="item.callback.call(_self, $event)"
>{{ item.name }}</el-button
>
</div>
</div>
<!-- 表格渲染 -->
......@@ -46,24 +61,45 @@
:watchKeys="['paperfilename']"
/>
<div id="basicView" class="el-message-box__wrapper " style="z-index:2001;background-color:rgba(0, 0, 0, 0.5);" v-if="basicActv" ><div class="kmb-message-box custom-alert"><div class="el-message-box__content" style="min-width:300px;width:undefined"><div class="alert-ctbox">
<div style="width:15rem;min-height:85vh;position:relative;">
<div class="p-head" style="padding-top:5px;display:flex;">
<el-tabs v-model="tabindex" type="card" @tab-click="handleClick">
<div
id="basicView"
class="el-message-box__wrapper"
style="z-index: 2001; background-color: rgba(0, 0, 0, 0.5)"
v-if="basicActv"
>
<div class="kmb-message-box custom-alert">
<div
class="el-message-box__content"
style="min-width: 300px; width: undefined"
>
<div class="alert-ctbox">
<div style="width: 15rem; min-height: 85vh; position: relative">
<div class="p-head" style="padding-top: 5px; display: flex">
<el-tabs
v-model="tabindex"
type="card"
@tab-click="handleClick"
>
<el-tab-pane label="企业基本信息" name="0">
<div class="rel-flex">
<div class="scrolling4">
<div v-for="(item, key) in Dict.baseInfo" style="">
<div class="item">
<span class="name">{{item.name}}</span>
<span class="name">{{ item.name }}</span>
<template v-if="item.type === 'select'">
<font v-for="obj in Dict.selectList[key]" v-if="obj.value === catchItem[key]">{{obj.name}}</font>
<font
v-for="obj in Dict.selectList[key]"
v-if="obj.value === catchItem[key]"
>{{ obj.name }}</font
>
<!-- <el-select v-model="catchItem[key]" :placeholder="item.name" size="small" :style="'width:'+(item.width || 'auto')" :disabled="true" :multiple="item.multiple || false" @change="eventTransmit(item.change)">
<el-option v-for="obj in Dict.selectList[key]" :label="obj[item.key||'name']" :value="obj[item.val] || obj.value" ></el-option>
</el-select> -->
</template>
<template v-else>
<font v-if="key !== 'introduction'">{{catchItem[key]}}</font>
<font v-if="key !== 'introduction'">{{
catchItem[key]
}}</font>
<div v-else v-html="catchItem[key]"></div>
</template>
</div>
......@@ -71,14 +107,19 @@
</div>
</div>
</el-tab-pane>
<el-tab-pane label="产品图片与简介" name="1">
</el-tab-pane>
<el-tab-pane label="产品图片与简介" name="1"> </el-tab-pane>
<el-tab-pane label="企业经营信息管理" name="2"></el-tab-pane>
</el-tabs>
</div>
</div>
</div></div><button class="el-message-box__headerbtn el-icon-close" @click="close"></button></div></div>
</div>
</div>
<button
class="el-message-box__headerbtn el-icon-close"
@click="close"
></button>
</div>
</div>
<!-- <div id="basicView" class="el-message-box__wrapper " style="z-index:2000;background-color:rgba(0, 0, 0, 0.5);" v-if="popupTabel.status.cu" ><div class="kmb-message-box custom-alert"><div class="el-message-box__content" style="min-width:300px;width:undefined"><div class="alert-ctbox">
<div style="width:15rem;min-height:85vh;position:relative;">
......@@ -91,60 +132,67 @@
</template>
<script>
import { reqApi, Config } from '@/assets/js/httpApi.js';
import { Tools } from '@/assets/js/common.js';
import DateRangePicker from '@/components/DateRangePicker';
import TableFilter from '@/components/TableFilter';
import cuForm from '@/components/cuForm';
import cuTable from '@/components/cuTable';
import { reqApi, Config } from "@/assets/js/httpApi.js";
import { Tools } from "@/assets/js/common.js";
import DateRangePicker from "@/components/DateRangePicker";
import TableFilter from "@/components/TableFilter/index2";
import cuForm from "@/components/cuForm/index2";
import cuTable from "@/components/cuTable";
export default {
name: 'Dashboard',
name: "Dashboard",
components: {
DateRangePicker, TableFilter, cuForm, cuTable
DateRangePicker,
TableFilter,
cuForm,
cuTable,
},
data() {
return {
Dict:{selectList:[]},
table:{
Dict: { selectList: [] },
table: {
page: 1,
size: 10,
total: 0,
loading: false,
dataList:[],
dataList: [],
},
rules: {},
form: {
title:'', visible:false, reqType:'add', historyDialog:false,
status:{cu:0},
query:{},
search:{},
item:{},
file:0,
config:{},
title: "",
visible: false,
reqType: "add",
historyDialog: false,
status: { cu: 0 },
query: {},
search: {},
item: {},
file: 0,
config: {},
},
basicActv: false,
tabindex:0,
catchItem:{},
tabindex: 0,
catchItem: {},
popupTabel:{
status:{cu:0},
popupTabel: {
status: { cu: 0 },
page: 1,
size: 10,
total: 0,
loading: false,
dataList:[],
dataList: [],
},
iframeSrc:'',
}
iframeSrc: "",
};
},
created(){
created() {
// 获取基本信息
this.pageApi = Config.getModuleInfo(this);
this.Dict = this.pageApi.Dict;
this.form.config = this.pageApi.config;
this.rules = reqApi.getRules(this.Dict.baseInfo) || (this.Dict.rules || {});
this.rules = reqApi.getRules(this.Dict.baseInfo) || this.Dict.rules || {};
this.pageApi.created && this.pageApi.created();
},
mounted() {
......@@ -155,93 +203,250 @@ export default {
// 获取选择列表字典
var selectList = this.Dict.selectList;
Tools.asyncLoop.call(this, selectList, function(key, value, next){
(typeof value.request === 'function') && (value = value.request);
if(typeof value === 'function'){
value.call(this.Dict).then(function(res){
Tools.asyncLoop.call(this, selectList, function (key, value, next) {
typeof value.request === "function" && (value = value.request);
if (typeof value === "function") {
value.call(this.Dict).then(function (res) {
res.request = value;
selectList[key] = res; next();
})
}else{next()};
selectList[key] = res;
next();
});
} else {
next();
}
});
},
watch: {
// "form.item.isHighGrowthInnovative"(newVal, oldVal) {
// this.toggleDateElement("highGrowthInnovativeDate");
// },
"form.item.isHighGrowthInnovative": {
handler(newValue) {
this.toggleDateElement("highGrowthInnovativeDate", newValue);
},
immediate: true // 立即调用处理函数
},
// "form.item.isHighTech"(newVal, oldVal) {
// this.toggleDateElement("highTechDate");
// },
"form.item.isHighTech": {
handler(newValue) {
this.toggleDateElement("highTechDate", newValue);
},
immediate: true // 立即调用处理函数
},
"form.item.isAdvancedTechService": {
handler(newValue) {
this.toggleDateElement("advancedTechServiceDate", newValue);
},
immediate: true // 立即调用处理函数
},
// "form.item.isAdvancedTechService"(newVal, oldVal) {
// this.toggleDateElement("advancedTechServiceDate");
// },
"form.item.isSpecializedSpecialEnterprises": {
handler(newValue) {
this.toggleDateElement("specializedSpecialEnterprisesDate", newValue);
},
immediate: true // 立即调用处理函数
},
// "form.item.isSpecializedSpecialEnterprises"(newVal, oldVal) {
// this.toggleDateElement("specializedSpecialEnterprisesDate");
// },
"form.item.isTechSme": {
handler(newValue) {
this.toggleDateElement("techSmeDate", newValue);
},
immediate: true // 立即调用处理函数
},
// "form.item.isTechSme"(newVal, oldVal) {
// this.toggleDateElement("techSmeDate");
// },
"form.item.isLittleGiant": {
handler(newValue) {
this.toggleDateElement("littleGiantDate", newValue);
},
immediate: true // 立即调用处理函数
},
// "form.item.isLittleGiant"(newVal, oldVal) {
// this.toggleDateElement("littleGiantDate");
// },
"form.item.isGazelle": {
handler(newValue) {
this.toggleDateElement("gazelleDate", newValue);
},
immediate: true // 立即调用处理函数
},
// "form.item.isGazelle"(newVal, oldVal) {
// this.toggleDateElement("gazelleDate");
// },
},
methods: {
loadData:reqApi.common.getRequst,
cancelForm(){
toggleDateElement(targetEleClass, flag) {
const elements = document.getElementsByClassName(targetEleClass);
if (elements.length) {
const element = elements[0];
// console.log('值改变了,日期切换', element.classList,element.classList.contains("isHide"))
// if (element.classList.contains("isHide")) {
// element.classList.remove("isHide"); // 移除 'hidden' 类
// } else {
// element.classList.add("isHide");
// }
flag ? element.classList.remove("isHide") : element.classList.add("isHide");
}
},
loadData: reqApi.common.getRequst,
cancelForm() {
this.form.visible = false;
},
submitForm(form, item){
submitForm(form, item) {
if (this.form.item.isHighGrowthInnovative) {
if (!this.form.item.highGrowthInnovativeDate) {
this.$message.warning("请填写评选日期");
return;
}
} else {
this.form.item.highGrowthInnovativeDate = "";
}
if (this.form.item.isHighTech) {
if (!this.form.item.highTechDate) {
this.$message.warning("请填写评选日期");
return;
}
} else {
this.form.item.highTechDate = "";
}
if (this.form.item.isAdvancedTechService) {
if (!this.form.item.advancedTechServiceDate) {
this.$message.warning("请填写评选日期");
return
}
} else {
this.form.item.advancedTechServiceDate = "";
}
if (this.form.item.isSpecializedSpecialEnterprises) {
if (!this.form.item.specializedSpecialEnterprisesDate) {
this.$message.warning("请填写评选日期");
return;
}
} else {
this.form.item.specializedSpecialEnterprisesDate = "";
}
if (this.form.item.isLittleGiant) {
if (!this.form.item.littleGiantDate) {
this.$message.warning("请填写评选日期");
return;
}
} else {
this.form.item.littleGiantDate = "";
}
if (this.form.item.isTechSme) {
if (!this.form.item.techSmeDate) {
this.$message.warning("请填写评选日期");
return;
}
} else {
this.form.item.techSmeDate = "";
}
if (this.form.item.isGazelle) {
if (!this.form.item.gazelleDate) {
this.$message.warning("请填写评选日期");
return;
}
} else {
this.form.item.gazelleDate = "";
}
reqApi.common.submitForm.call(this, form, item);
},
handleClick:function(tab, event){
handleClick: function (tab, event) {
var self = this;
if(~~tab.index === 1){
if(self.i1 && self.i1.contentWindow){
self.i1 && self.i1.contentWindow.location.reload()
}else{
var i1 = self.i1 = document.createElement("iframe");
if (~~tab.index === 1) {
if (self.i1 && self.i1.contentWindow) {
self.i1 && self.i1.contentWindow.location.reload();
} else {
var i1 = (self.i1 = document.createElement("iframe"));
var companyId = this.catchItem.id;
i1.src = '/business/product?companyId=' + companyId;
i1.style.cssText = 'display:none;border:0;height:100%;width:100%;';
i1.onload = function(){
i1.style.display = 'block';
i1.src = "/business/product?companyId=" + companyId;
i1.style.cssText = "display:none;border:0;height:100%;width:100%;";
i1.onload = function () {
i1.style.display = "block";
};
tab.$el.appendChild(i1);
};
}else if(~~tab.index === 2){
if(self.i2 && self.i2.contentWindow){
self.i2 && self.i2.contentWindow.location.reload()
}else{
var i2 = self.i2 = document.createElement("iframe");
}
} else if (~~tab.index === 2) {
if (self.i2 && self.i2.contentWindow) {
self.i2 && self.i2.contentWindow.location.reload();
} else {
var i2 = (self.i2 = document.createElement("iframe"));
var companyId = this.catchItem.id;
i2.src = '/business/achievement?companyId=' + companyId;
i2.style.cssText = 'display:none;border:0;height:100%;width:100%;';
i2.onload = function(){
i2.style.display = 'block';
i2.src = "/business/achievement?companyId=" + companyId;
i2.style.cssText = "display:none;border:0;height:100%;width:100%;";
i2.onload = function () {
i2.style.display = "block";
};
tab.$el.appendChild(i2);
};
};
}
}
},
close: function(){
close: function () {
this.basicActv = false;
},
close2: function(){
close2: function () {
this.popupTabel.status.cu = 0;
},
iload: function(){
iload: function () {},
},
}
}
};
</script>
<style rel="stylesheet/scss" lang="scss" scope>
.p-head{
.p-head {
position: absolute;
height: 100%;
width: 100%;
display: flex;
position:absolute;height:100%;width:100%;
display:flex;
.el-tabs{
flex:1;display:flex;width:100%;margin:0;flex-direction:column;
.el-tabs {
flex: 1;
display: flex;
width: 100%;
margin: 0;
flex-direction: column;
}
.el-tabs__content{
flex:1;display:flex;
>div{
flex:1;
.el-tabs__content {
flex: 1;
display: flex;
> div {
flex: 1;
}
.rel-flex {
height: 100%;
}
.rel-flex{height:100%;}
.scrolling4{
position:absolute;top:0;left:0;height:100%;width:100%;overflow-y:auto;
display:grid;grid-template-columns:50% 50%;
.item{
line-height:3;
.scrolling4 {
position: absolute;
top: 0;
left: 0;
height: 100%;
width: 100%;
overflow-y: auto;
display: grid;
grid-template-columns: 50% 50%;
.item {
line-height: 3;
//span{color:#C0C4CC;}
//font{color:#000;}
}
}
.scrolling4::-webkit-scrollbar{width:6px;height:8px;cursor:pointer;}
.scrolling4::-webkit-scrollbar {
width: 6px;
height: 8px;
cursor: pointer;
}
}
}
</style>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment