Browse Source

验收需求优化

liuxiangqi 2 years ago
parent
commit
d92a620a96

+ 33 - 0
src/assets/styles/index.scss

@@ -708,3 +708,36 @@ $border: #ddd;
     background: url(~@/assets/images/icon_audit.png) no-repeat center;
   }
 }
+.tips {
+  font-size: 14px;
+  line-height: 25px;
+}
+
+
+/* 详情表格 */
+.table_register {
+	width: 80%;
+  border-collapse: collapse;
+  table-layout: fixed;
+  border: 1px solid #4296d6;
+  font-size: 13px;
+  margin: 0 auto;
+  th,
+  td {
+      position: relative;
+      line-height: 19px;
+      padding: 10px 20px;
+      border: 1px solid #4296d6;
+      word-wrap: break-word;
+      word-break: break-all;
+  }
+  .tr_title {
+    background: #f2f6fc;
+  }
+  th {
+    width: 200px;
+    color: #313031;
+    text-align: right;
+    background: #fff;
+  }
+}

+ 220 - 0
src/utils/dataFormat.js

@@ -87,6 +87,226 @@ export const authStateEntOptions = [
   { dictLabel: '审核拒绝', dictValue: '3'}
 ]
 
+export const businessIndustryOptions = [
+  {
+    value: '农、林、牧、渔业',
+    label: '农、林、牧、渔业',
+    children: [
+      {value: '农业',label: '农业'},
+      {value: '林业',label: '林业'},
+      {value: '畜牧业',label: '畜牧业'},
+      {value: '渔业',label: '渔业'},
+      {value: '农林牧渔专业及辅助性活动',label: '农林牧渔专业及辅助性活动'}
+    ],
+  },
+  {
+    value: '采矿业',
+    label: '采矿业',
+    children: [
+      {value: '煤炭开采和洗选业',label: '煤炭开采和洗选业'},
+      {value: '石油和天然气开采业',label: '石油和天然气开采业'},
+      {value: '黑色金属矿采选业',label: '黑色金属矿采选业'},
+      {value: '有色金属矿采选业',label: '有色金属矿采选业'},
+      {value: '非金属矿采选业',label: '非金属矿采选业'},
+      {value: '开采专业及辅助性活动',label: '开采专业及辅助性活动'},
+      {value: '其他采矿业',label: '其他采矿业'}
+    ],
+  },
+  {
+    value: '制造业',
+    label: '制造业',
+    children: [
+      {value: '农副食品加工业',label: '农副食品加工业'},
+      {value: '食品制造业',label: '食品制造业'},
+      {value: '酒、饮料和精制茶制造业',label: '酒、饮料和精制茶制造业'},
+      {value: '烟草制品业',label: '烟草制品业'},
+      {value: '纺织业',label: '纺织业'},
+      {value: '纺织服装、服饰业',label: '纺织服装、服饰业',},
+      {value: '皮革、毛皮、羽毛及其制品和制鞋业',label: '皮革、毛皮、羽毛及其制品和制鞋业',},
+      {value: '木材加工和木、竹、藤、棕、草制品业',label: '木材加工和木、竹、藤、棕、草制品业',},
+      {value: '家具制造业',label: '家具制造业',},
+      {value: '造纸和纸制品业',label: '造纸和纸制品业',},
+      {value: '印刷和记录媒介复制业',label: '印刷和记录媒介复制业',},
+      {value: '文教、工美、体育和娱乐用品制造业',label: '文教、工美、体育和娱乐用品制造业',},
+      {value: '石油、煤炭及其他燃料加工业',label: '石油、煤炭及其他燃料加工业',},
+      {value: '化学原料和化学制品制造业',label: '化学原料和化学制品制造业',},
+      {value: '医药制造业',label: '医药制造业',},
+      {value: '化学纤维制造业',label: '化学纤维制造业',},
+      {value: '橡胶和塑料制品业',label: '橡胶和塑料制品业',},
+      {value: '非金属矿物制品业',label: '非金属矿物制品业',},
+      {value: '黑色金属冶炼和压延加工业',label: '黑色金属冶炼和压延加工业'},
+      {value: '有色金属冶炼和压延加工业', label: '有色金属冶炼和压延加工业'},
+      {value: '金属制品业', label: '金属制品业'},
+      {value: '通用设备制造业', label: '通用设备制造业'},
+      {value: '专用设备制造业', label: '专用设备制造业'},
+      {value: '汽车制造业', label: '汽车制造业'},
+      {value: '铁路、船舶、航空航天和其他运输设备制造业', label: '铁路、船舶、航空航天和其他运输设备制造业'},
+      {value: '电气机械和器材制造业', label: '电气机械和器材制造业'},
+      {value: '计算机、通信和其他电子设备制造业', label: '计算机、通信和其他电子设备制造业'},
+      {value: '仪器仪表制造业', label: '仪器仪表制造业'},
+      {value: '其他制造业', label: '其他制造业'},
+      {value: '废弃资源综合利用业', label: '废弃资源综合利用业'},
+      {value: '金属制品、机械和设备修理业', label: '金属制品、机械和设备修理业'}
+    ]
+  },
+  {
+    value: '电力、热力、燃气及水生产和供应业',
+    label: '电力、热力、燃气及水生产和供应业',
+    children: [
+      {value: '电力、热力生产和供应业',label: '电力、热力生产和供应业',},
+      {value: '燃气生产和供应业',label: '燃气生产和供应业',},
+      {value: '水的生产和供应业',label: '水的生产和供应业',}
+    ]
+  },
+  {
+    value: '建筑业',
+    label: '建筑业',
+    children: [
+      {value: '房屋建筑业',label: '房屋建筑业'},
+      {value: '土木工程建筑业',label: '土木工程建筑业'},
+      {value: '建筑安装业',label: '建筑安装业'},
+      {value: '建筑装饰、装修和其他建筑业',label: '建筑装饰、装修和其他建筑业'}
+    ]
+  },
+  {
+    value: '批发和零售业',
+    label: '批发和零售业',
+    children: [
+      {value: '批发业',label: '批发业'},
+      {value: '零售业',label: '零售业'}
+    ]
+  },
+  {
+    value: '交通运输、仓储和邮政业',
+    label: '交通运输、仓储和邮政业',
+    children: [
+      {value: '铁路运输业',label: '铁路运输业'},
+      {value: '道路运输业',label: '道路运输业'},
+      {value: '水上运输业',label: '水上运输业'},
+      {value: '航空运输业',label: '航空运输业'},
+      {value: '管道运输业',label: '管道运输业'},
+      {value: '多式联运和运输代理业',label: '多式联运和运输代理业'},
+      {value: '装卸搬运和仓储业',label: '装卸搬运和仓储业'},
+      {value: '邮政业',label: '邮政业'},
+    ]
+  },
+  {
+    value: '住宿和餐饮业',
+    label: '住宿和餐饮业',
+    children: [
+      {value: '住宿业',label: '住宿业'},
+      {value: '餐饮业',label: '餐饮业'}
+    ]
+  },
+  {
+    value: '信息传输、软件和信息技术服务业',
+    label: '信息传输、软件和信息技术服务业',
+    children: [
+      {value: '电信、广播电视和卫星传输服务',label: '电信、广播电视和卫星传输服务'},
+      {value: '互联网和相关服务',label: '互联网和相关服务'},
+      {value: '软件和信息技术服务业',label: '软件和信息技术服务业'}
+    ]
+  },
+  {
+    value: '金融业',
+    label: '金融业',
+    children: [
+      {value: '货币金融服务',label: '货币金融服务'},
+      {value: '资本市场服务',label: '资本市场服务'},
+      {value: '保险业',label: '保险业'},
+      {value: '其他金融业',label: '其他金融业'}
+    ]
+  },
+  {
+    value: '房地产业',
+    label: '房地产业',
+    children: [
+      {value: '房地产业',label: '房地产业'},
+    ]
+  },
+  {
+    value: '租赁和商务服务业',
+    label: '租赁和商务服务业',
+    children: [
+      {value: '租赁业',label: '租赁业',},
+      {value: '商务服务业',label: '商务服务业',},
+    ]
+  },
+  {
+    value: '科学研究和技术服务业',
+    label: '科学研究和技术服务业',
+    children: [
+      {value: '研究和试验发展',label: '研究和试验发展'},
+      {value: '专业技术服务业',label: '专业技术服务业'},
+      {value: '科技推广和应用服务业',label: '科技推广和应用服务业'},
+    ]
+  },
+  {
+    value: '水利、环境和公共设施管理业',
+    label: '水利、环境和公共设施管理业',
+    children: [
+      {value: '水利管理业',label: '水利管理业'},
+      {value: '生态保护和环境治理业',label: '生态保护和环境治理业'},
+      {value: '公共设施管理业',label: '公共设施管理业'},
+      {value: '土地管理业',label: '土地管理业'},
+    ]
+  },
+  {
+    value: '居民服务、修理和其他服务业',
+    label: '居民服务、修理和其他服务业',
+    children: [
+      {value: '居民服务业',label: '居民服务业'},
+      {value: '机动车、电子产品和日用产品修理业',label: '机动车、电子产品和日用产品修理业'},
+      {value: '其他服务业',label: '其他服务业'},
+    ]
+  },
+  {
+    value: '教育',
+    label: '教育',
+    children: [
+      {value: '教育',label: '教育'},
+    ]
+  },
+  {
+    value: '卫生和社会工作',
+    label: '卫生和社会工作',
+    children: [
+      {value: '卫生',label: '卫生'},
+      {value: '社会工作',label: '社会工作'}
+    ]
+  },
+  {
+    value: '文化、体育和娱乐业',
+    label: '文化、体育和娱乐业',
+    children: [
+      {value: '新闻和出版业',label: '新闻和出版业',},
+      {value: '广播、电视、电影和录音制作业',label: '广播、电视、电影和录音制作业',},
+      {value: '文化艺术业',label: '文化艺术业',},
+      {value: '体育',label: '体育',},
+      {value: '娱乐业',label: '娱乐业',},
+    ]
+  },
+  {
+    value: '公共管理、社会保障和社会组织',
+    label: '公共管理、社会保障和社会组织',
+    children: [
+      {value: '中国共产党机关',label: '中国共产党机关',},
+      {value: '国家机构',label: '国家机构',},
+      {value: '人民政协、民主党派',label: '人民政协、民主党派',},
+      {value: '社会保障',label: '社会保障',},
+      {value: '群众团体、社会团体和其他成员组织',label: '群众团体、社会团体和其他成员组织',},
+      {value: '基层群众自治组织',label: '基层群众自治组织',},
+    ]
+  },
+  {
+    value: '国际组织',
+    label: '国际组织',
+    children: [
+      {value: '国际组织', label: '国际组织'}
+    ]
+  }
+]
+
 /**
  * 申报状态
  */

+ 370 - 342
src/views/common/registerFirst.vue

@@ -9,19 +9,22 @@
       </div>
     </div>
     <div class="content">
-      <el-form ref="registerForm" :model="registerForm" :rules="registerRules" label-width="190px">
-      <el-collapse v-model="activeNames">
+      <el-form ref="registerForm" :model="registerForm" :rules="registerRules" label-width="200px">
         <template v-if="tokenVisile">
-          <el-collapse-item title="账户信息" name="1">
-            <el-row :gutter="40">
-              <el-col :span="12">
-                <el-form-item label="账户名称" prop="userName">
+          <table class="table_register">
+            <!-- 注册通过统一信用代码和默认密码123456去登录 -->
+            <!-- <tr>
+              <th rowspan="2">账户信息</th>
+              <th><span style="color: red;">*</span>账户名称</th>
+              <td>
+                <el-form-item label-width="0" prop="userName">
                   <el-input v-model="registerForm.userName" type="text" auto-complete="off" placeholder="账号">
                   </el-input>
                 </el-form-item>
-              </el-col>
-              <el-col :span="12">
-                <el-form-item label="密码" prop="password">
+              </td>
+              <th><span style="color: red;">*</span>密码</th>
+              <td>
+                <el-form-item label-width="0" prop="password">
                   <el-input
                     v-model="registerForm.password"
                     type="password"
@@ -29,9 +32,12 @@
                     placeholder="密码">
                   </el-input>
                 </el-form-item>
-              </el-col>
-              <el-col :span="12">
-                <el-form-item label="确认密码" prop="confirmPassword">
+              </td>
+            </tr>
+            <tr>
+              <th><span style="color: red;">*</span>确认密码</th>
+              <td>
+                <el-form-item label-width="0" prop="confirmPassword">
                   <el-input
                     v-model="registerForm.confirmPassword"
                     type="password"
@@ -39,292 +45,354 @@
                     placeholder="确认密码">
                   </el-input>
                 </el-form-item>
-              </el-col>
-            </el-row>
-          </el-collapse-item>
-          <el-collapse-item title="账户联系人信息" name="2">
-            <el-row :gutter="40">
-              <el-col :span="12">
-                <el-form-item label="姓名" prop="nickName">
+              </td>
+            </tr> -->
+
+            <tr>
+              <th rowspan="6">企业信息</th>
+              <th><span style="color: red;">*</span>企业名称</th>
+              <td>
+                <el-form-item label-width="0" prop="entName">
+                  <el-input v-model="registerForm.entName" type="text" auto-complete="off" placeholder="请输入企业名称">
+                  </el-input>
+                </el-form-item>
+              </td>
+              <th><span style="color: red;">*</span>统一社会信用代码</th>
+              <td>
+                <el-form-item label-width="0" prop="license">
+                  <el-input type="text" @change="validLicense"
+                    v-model="registerForm.license"
+                    placeholder="请输入统一社会信用代码">
+                  </el-input>
+                </el-form-item>
+              </td>
+            </tr>
+            <tr>
+              <th><span style="color: red;">*</span>注册资金</th>
+              <td>
+                <el-form-item label-width="0" prop="regCapital">
+                  <el-input type="text"
+                    v-model="registerForm.regCapital"
+                    placeholder="请输入注册资金">
+                    <template slot="append">万元</template>
+                  </el-input>
+                </el-form-item>
+              </td>
+              <th><span style="color: red;">*</span>工商注册时间</th>
+              <td>
+                <el-form-item label-width="0" prop="regDate">
+                  <el-date-picker v-model="registerForm.regDate" type="date" placeholder="选择日期" value-format="yyyy-MM-dd"></el-date-picker>
+                </el-form-item>
+              </td>
+            </tr>
+            <tr>
+              <th><span style="color: red;">*</span>工商注册类型</th>
+              <td>
+                <el-form-item label-width="0" prop="regType">
+                  <el-select v-model="registerForm.regType" filterable>
+                    <el-option v-for="item in regTypeOptions" :key="item.dictValue" :label="item.dictLabel" :value="item.dictValue"></el-option>
+                  </el-select>
+                </el-form-item>
+              </td>
+              <th><span style="color: red;">*</span>主营产品(服务)所属技术领域</th>
+              <td>
+                <el-form-item label-width="0" prop="mainProducts">
+                  <el-select v-model="registerForm.mainProducts" style="width: 220px;" filterable>
+                    <el-option v-for="(item,index) in mainProductsOptions" :label="item.dictLabel" :key="index" :value="item.dictValue">{{item.dictLabel}}</el-option>
+                  </el-select>
+                </el-form-item>
+              </td>
+            </tr>
+            <tr>
+              <th><span style="color: red;">*</span>通信地址</th>
+              <td>
+                <el-form-item label-width="0" prop="address">
+                  <el-input v-model="registerForm.address" type="text" auto-complete="off" placeholder="请输入通信地址">
+                  </el-input>
+                </el-form-item>
+              </td>
+              <th><span style="color: red;">*</span>邮政编码</th>
+              <td>
+                <el-form-item label-width="0" prop="zipCode">
+                  <el-input v-model="registerForm.zipCode" type="text" auto-complete="off" placeholder="请输入邮政编码">
+                  </el-input>
+                </el-form-item>
+              </td>
+            </tr>
+            <tr>
+              <th><span style="color: red;">*</span>企业所属行政区域</th>
+              <td colspan="3">
+                <el-col :span="8">
+                  <el-form-item label-width="0" prop="provinceId">
+                    <el-select v-model="registerForm.provinceId" placeholder="省" @change="getCityData" style="width: 220px;" filterable>
+                      <el-option v-for="(item,index) in provinceDataList" :key="index" :label="item.name" :value="item.id"></el-option>
+                    </el-select>
+                  </el-form-item>
+                </el-col>
+                <el-col :span="8">
+                  <el-form-item prop="cityId" label-width="0px">
+                    <el-select v-model="registerForm.cityId" placeholder="市" @change="getDistrictData" style="width: 220px;" filterable>
+                      <el-option v-for="(item, index) in cityDataList" :key="index" :label="item.name" :value="item.id"></el-option>
+                    </el-select>
+                  </el-form-item>
+                </el-col>
+                <el-col :span="8">
+                  <el-form-item label-width="0px" prop="districtId">
+                    <el-select v-model="registerForm.districtId" placeholder="区" style="width: 220px;" filterable>
+                      <el-option v-for="(item, index) in districtDataList" :key="index" :label="item.name" :value="item.id"></el-option>
+                    </el-select>
+                  </el-form-item>
+                </el-col>
+              </td>
+            </tr>
+            <tr>
+              <th><span style="color: red;">*</span>企业所得税主管税务机关</th>
+              <td colspan="3">
+                <el-form-item label-width="0" prop="taxOffice">
+                  <el-input v-model="registerForm.taxOffice" type="text" auto-complete="off" placeholder="请输入企业所得税主管税务机关" disabled>
+                  </el-input>
+                </el-form-item>
+              </td>
+            </tr>
+            <tr>
+              <th rowspan="2">账户联系人信息</th>
+              <th><span style="color: red;">*</span>姓名</th>
+              <td>
+                <el-form-item label-width="0" prop="nickName">
                   <el-input v-model="registerForm.nickName" type="text" auto-complete="off" placeholder="姓名">
                   </el-input>
                 </el-form-item>
-              </el-col>
-              <el-col :span="12">
-                <el-form-item label="手机号码" prop="phonenumber">
+              </td>
+              <th><span style="color: red;">*</span>手机号码</th>
+              <td>
+                <el-form-item label-width="0" prop="phonenumber">
                   <el-input v-model="registerForm.phonenumber" type="text" auto-complete="off" placeholder="手机号码">
                   </el-input>
                 </el-form-item>
-              </el-col>
-              <el-col :span="12">
-                <el-form-item label="邮箱地址" prop="email">
+              </td>
+            </tr>
+            <tr>
+              <th><span style="color: red;">*</span>邮箱地址</th>
+              <td>
+                <el-form-item label-width="0" prop="email">
                   <el-input v-model="registerForm.email" type="text" auto-complete="off" placeholder="邮箱地址">
                   </el-input>
                 </el-form-item>
-              </el-col>
-            </el-row>
-          </el-collapse-item>
+              </td>
+            </tr>
+            <tr>
+              <th rowspan="3">法人信息</th>
+              <th><span style="color: red;">*</span>姓名</th>
+              <td>
+                <el-form-item label-width="0" prop="legalName">
+                  <el-input v-model="registerForm.legalName" type="text" auto-complete="off" placeholder="请输入法人姓名">
+                  </el-input>
+                </el-form-item>
+              </td>
+              <th><span style="color: red;">*</span>身份证号码</th>
+              <td>
+                <el-form-item label-width="0" prop="legalIdCard">
+                  <el-input v-model="registerForm.legalIdCard" type="text" auto-complete="off" placeholder="请输入法人身份证号码">
+                  </el-input>
+                </el-form-item>
+              </td>
+            </tr>
+            <tr>
+              <th><span style="color: red;">*</span>手机号码</th>
+              <td>
+                <el-form-item label-width="0" prop="legalMobile">
+                  <el-input v-model="registerForm.legalMobile" type="text" auto-complete="off" placeholder="手机号码">
+                  </el-input>
+                </el-form-item>
+              </td>
+              <th>固定电话</th>
+              <td>
+                <el-form-item label-width="0" prop="legalPhone">
+                  <el-input v-model="registerForm.legalPhone" type="text" auto-complete="off" placeholder="请输入固定电话">
+                  </el-input>
+                </el-form-item>
+              </td>
+            </tr>
+            <tr>
+              <th>传真</th>
+              <td>
+                <el-form-item label-width="0" prop="legalFax">
+                  <el-input v-model="registerForm.legalFax" type="text" auto-complete="off" placeholder="请输入法人传真">
+                  </el-input>
+                </el-form-item>
+              </td>
+              <th>E-mail</th>
+              <td>
+                <el-form-item label-width="0" prop="legalEmail">
+                  <el-input v-model="registerForm.legalEmail" type="text" auto-complete="off" placeholder="请输入法人邮箱">
+                  </el-input>
+                </el-form-item>
+              </td>
+            </tr>
+
+            <tr>
+              <th rowspan="3">联系人信息</th>
+              <th><span style="color: red;">*</span>姓名</th>
+              <td>
+                <el-form-item label-width="0" prop="linkName">
+                  <el-input v-model="registerForm.linkName" type="text" auto-complete="off" placeholder="请输入联系人姓名">
+                  </el-input>
+                </el-form-item>
+              </td>
+              <th><span style="color: red;">*</span>身份证号码</th>
+              <td>
+                <el-form-item label-width="0" prop="linkIdCard">
+                  <el-input v-model="registerForm.linkIdCard" type="text" auto-complete="off" placeholder="请输入联系人身份证号码">
+                  </el-input>
+                </el-form-item>
+              </td>
+            </tr>
+            <tr>
+              <th><span style="color: red;">*</span>手机号码</th>
+              <td>
+                <el-form-item label-width="0" prop="linkMobile">
+                  <el-input v-model="registerForm.linkMobile" type="text" auto-complete="off" placeholder="请填入手机号码">
+                  </el-input>
+                </el-form-item>
+              </td>
+              <th>固定电话</th>
+              <td>
+                <el-form-item label-width="0" prop="linkPhone">
+                  <el-input v-model="registerForm.linkPhone" type="text" auto-complete="off" placeholder="请输入联系人固定电话">
+                  </el-input>
+                </el-form-item>
+              </td>
+            </tr>
+            <tr>
+              <th>传真</th>
+              <td>
+                <el-form-item label-width="0" prop="linkFax">
+                  <el-input v-model="registerForm.linkFax" type="text" auto-complete="off" placeholder="请输入联系人传真">
+                  </el-input>
+                </el-form-item>
+              </td>
+              <th>E-mail</th>
+              <td>
+                <el-form-item label-width="0" prop="linkEmail">
+                  <el-input v-model="registerForm.linkEmail" type="text" auto-complete="off" placeholder="请输入联系人邮箱">
+                  </el-input>
+                </el-form-item>
+              </td>
+            </tr>
+            <tr>
+              <th>企业上市信息</th>
+              <th><span style="color: red;">*</span>企业是否上市</th>
+              <td>
+                <el-form-item label-width="0" prop="listedFlag">
+                  <el-radio-group v-model="registerForm.listedFlag">
+                    <el-radio v-for="(item, index) in yesOrNoOptions" :key="index" :label="item.dictValue">{{item.dictLabel}}</el-radio>
+                  </el-radio-group>
+                </el-form-item>
+              </td>
+              <template v-if="registerForm.listedFlag == 1">
+                <th><span style="color: red;">*</span>企业上市代码</th>
+                <td>
+                  <el-form-item label-width="0" prop="listingCode">
+                    <el-input v-model="registerForm.listingCode" type="text" auto-complete="off" placeholder="请输入企业上市代码">
+                    </el-input>
+                  </el-form-item>
+                </td>
+              </template>
+            </tr>
+            <tr>
+              <th>风险投资信息</th>
+              <th><span style="color: red;">*</span>是否引入风险投资</th>
+              <td>
+                <el-form-item label-width="0" prop="investFlag">
+                  <el-radio-group v-model="registerForm.investFlag">
+                    <el-radio v-for="(item, index) in yesOrNoOptions" :key="index" :label="item.dictValue">{{item.dictLabel}}</el-radio>
+                  </el-radio-group>
+                </el-form-item>
+              </td>
+              <template v-if="registerForm.investFlag == 1">
+                <th><span style="color: red;">*</span>风险投资金额</th>
+                <td>
+                  <el-form-item label-width="0" prop="investCapital">
+                    <el-input v-model="registerForm.investCapital" type="text" auto-complete="off" placeholder="请输入风险投资金额">
+                      <template slot="append">万元</template>
+                    </el-input>
+                  </el-form-item>
+                </td>
+              </template>
+            </tr>
+            <tr>
+              <th>高新企业</th>
+              <th><span style="color: red;">*</span>是否为高新企业</th>
+              <td>
+                <el-form-item label-width="0" prop="techFlag">
+                  <el-radio-group v-model="registerForm.techFlag">
+                    <el-radio v-for="(item, index) in yesOrNoOptions" :key="index" :label="item.dictValue">{{item.dictLabel}}</el-radio>
+                  </el-radio-group>
+                </el-form-item>
+              </td>
+              <template v-if="registerForm.techFlag == 1">
+                <th><span style="color: red;">*</span>高新企业编号</th>
+                <td>
+                  <el-form-item label-width="0" prop="techCode">
+                    <el-input v-model="registerForm.techCode" type="text" auto-complete="off" placeholder="请输入高新企业编号">
+                    </el-input>
+                  </el-form-item>
+                </td>
+              </template>
+            </tr>
+            <tr>
+              <th>上年度是否做加计扣除</th>
+              <th><span style="color: red;">*</span>上年度是否做加计扣除</th>
+              <td>
+                <el-form-item label-width="0" prop="deductionFlag">
+                  <el-radio-group v-model="registerForm.deductionFlag">
+                    <el-radio v-for="(item, index) in yesOrNoOptions" :key="index" :label="item.dictValue">{{item.dictLabel}}</el-radio>
+                  </el-radio-group>
+                </el-form-item>
+              </td>
+            </tr>
+            <tr>
+              <th rowspan="2">附件</th>
+              <th><span style="color: red;">*</span>企业营业执照</th>
+              <td colspan="3">
+                <el-form-item label-width="3" prop="licensePath" ref="licenseUpload">
+                  <ImageUpload @input="handleLicenseSuccess" :params="params" :limit="limit" :value="registerForm.licensePath" :fileSize="fileSize"></ImageUpload>
+                  <!-- <FileUpload :file="{url: registerForm.licensePath, name: registerForm.fileName}" @input="handleSuccess">上传材料</FileUpload> -->
+                </el-form-item>
+              </td>
+            </tr>
+            <tr>
+              <th>其他附件</th>
+              <td colspan="3">
+                <el-form-item label-width="0" prop="attachIds">
+                  <FileUpload :files="registerForm.fileList" @input="handleSaleSuccess" :multiple="true" :params="params">上传材料</FileUpload>
+                  <el-table v-loading="loading" :data="list" border style="width: 100%;margin-top: 5px;" v-if="dataId">
+                    <el-table-column label="序号" type="index" width="50" align="center"></el-table-column>
+                    <el-table-column label="文件名称" prop="fileName" align="center"></el-table-column>
+                    <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+                      <template slot-scope="scope">
+                        <el-button type="text" @click="handleView(scope.row)">查看</el-button>
+                        <el-button type="text" @click="handleDelete(scope.row)">删除</el-button>
+                      </template>
+                    </el-table-column>
+                  </el-table>
+                  <!-- <FileUpload :files="registerForm.attachIds" @input="handleSaleSuccess" :multiple="true">上传材料</FileUpload> -->
+                </el-form-item>
+              </td>
+            </tr>
+            <tr>
+              <th>文件水印</th>
+              <th>文件水印</th>
+              <td colspan="3">
+                <el-form-item label-width="0" prop="logo" ref="logoUpload">
+                  <ImageUpload @input="handleLogoSuccess" :params="params" :limit="limit" :value="registerForm.logo" :fileSize="fileSize"></ImageUpload>
+                  <!-- <ImageUpload @input="handleLogoSuccess"></ImageUpload> -->
+                </el-form-item>
+              </td>
+            </tr>
+          </table>
         </template>
-        <el-collapse-item title="企业信息" name="3">
-          <el-row :gutter="40">
-            <el-col :span="12">
-              <el-form-item label="企业名称" prop="entName">
-                <el-input v-model="registerForm.entName" type="text" auto-complete="off" placeholder="请输入企业名称">
-                </el-input>
-              </el-form-item>
-            </el-col>
-            <el-col :span="12">
-              <el-form-item label="统一社会信用代码" prop="license">
-                <el-input type="text" @change="validLicense"
-                  v-model="registerForm.license"
-                  placeholder="请输入统一社会信用代码">
-                </el-input>
-              </el-form-item>
-            </el-col>
-            <el-col :span="12">
-              <el-form-item label="注册资金" prop="regCapital">
-                <el-input type="text"
-                  v-model="registerForm.regCapital"
-                  placeholder="请输入注册资金">
-                  <template slot="append">万元</template>
-                </el-input>
-              </el-form-item>
-            </el-col>
-            <el-col :span="12">
-              <el-form-item label="工商注册时间" prop="regDate">
-                <el-date-picker v-model="registerForm.regDate" type="date" placeholder="选择日期" value-format="yyyy-MM-dd"></el-date-picker>
-              </el-form-item>
-            </el-col>
-            <el-col :span="12">
-              <el-form-item label="工商注册类型" prop="regType">
-                <el-select v-model="registerForm.regType" filterable>
-                  <el-option v-for="item in regTypeOptions" :key="item.dictValue" :label="item.dictLabel" :value="item.dictValue"></el-option>
-                </el-select>
-              </el-form-item>
-            </el-col>
-            <el-col :span="24">
-              <el-form-item label="主营产品(服务)所属技术领域" prop="mainProductArray">
-                <el-checkbox-group v-model="registerForm.mainProductArray">
-                  <el-checkbox v-for="(item, index) in mainProductsOptions" :label="item.dictLabel" :key="index">{{item.dictLabel}}</el-checkbox>
-                </el-checkbox-group>
-              </el-form-item>
-            </el-col>
-            <el-col :span="12">
-              <el-form-item label="通信地址" prop="address">
-                <el-input v-model="registerForm.address" type="text" auto-complete="off" placeholder="请输入通信地址">
-                </el-input>
-              </el-form-item>
-            </el-col>
-            <el-col :span="12">
-              <el-form-item label="邮政编码" prop="zipCode">
-                <el-input v-model="registerForm.zipCode" type="text" auto-complete="off" placeholder="请输入邮政编码">
-                </el-input>
-              </el-form-item>
-            </el-col>
-            <el-col :span="8">
-              <el-form-item label="企业所属行政区域" prop="provinceId">
-                <el-select v-model="registerForm.provinceId" placeholder="省" @change="getCityData" style="width: 220px;" filterable>
-                  <el-option v-for="(item,index) in provinceDataList" :key="index" :label="item.name" :value="item.id"></el-option>
-                </el-select>
-              </el-form-item>
-            </el-col>
-            <el-col :span="7">
-              <el-form-item prop="cityId" label-width="60px">
-                <el-select v-model="registerForm.cityId" placeholder="市" @change="getDistrictData" style="width: 220px;" filterable>
-                  <el-option v-for="(item, index) in cityDataList" :key="index" :label="item.name" :value="item.id"></el-option>
-                </el-select>
-              </el-form-item>
-            </el-col>
-            <el-col :span="8">
-              <el-form-item label-width="0px" prop="districtId">
-                <el-select v-model="registerForm.districtId" placeholder="区" style="width: 220px;" filterable>
-                  <el-option v-for="(item, index) in districtDataList" :key="index" :label="item.name" :value="item.id"></el-option>
-                </el-select>
-              </el-form-item>
-            </el-col>
-            <el-col :span="24">
-              <el-form-item label="企业所得税主管税务机关" prop="taxOffice">
-                <el-input v-model="registerForm.taxOffice" type="text" auto-complete="off" placeholder="请输入企业所得税主管税务机关">
-                </el-input>
-              </el-form-item>
-            </el-col>
-          </el-row>
-        </el-collapse-item>
-        <el-collapse-item title="法人信息" name="4">
-          <el-row :gutter="40">
-            <el-col :span="12">
-              <el-form-item label="姓名" prop="legalName">
-                <el-input v-model="registerForm.legalName" type="text" auto-complete="off" placeholder="请输入法人姓名">
-                </el-input>
-              </el-form-item>
-            </el-col>
-            <el-col :span="12">
-              <el-form-item label="身份证号码" prop="legalIdCard">
-                <el-input v-model="registerForm.legalIdCard" type="text" auto-complete="off" placeholder="请输入法人身份证号码">
-                </el-input>
-              </el-form-item>
-            </el-col>
-            <el-col :span="12">
-              <el-form-item label="手机号码" prop="legalMobile">
-                <el-input v-model="registerForm.legalMobile" type="text" auto-complete="off" placeholder="手机号码">
-                </el-input>
-              </el-form-item>
-            </el-col>
-            <el-col :span="12">
-              <el-form-item label="固定电话" prop="legalPhone">
-                <el-input v-model="registerForm.legalPhone" type="text" auto-complete="off" placeholder="请输入固定电话">
-                </el-input>
-              </el-form-item>
-            </el-col>
-            <el-col :span="12">
-              <el-form-item label="传真" prop="legalFax">
-                <el-input v-model="registerForm.legalFax" type="text" auto-complete="off" placeholder="请输入法人传真">
-                </el-input>
-              </el-form-item>
-            </el-col>
-            <el-col :span="12">
-              <el-form-item label="E-mail" prop="legalEmail">
-                <el-input v-model="registerForm.legalEmail" type="text" auto-complete="off" placeholder="请输入法人邮箱">
-                </el-input>
-              </el-form-item>
-            </el-col>
-          </el-row>
-        </el-collapse-item>
-        <el-collapse-item title="联系人信息" name="5">
-          <el-row :gutter="40">
-            <el-col :span="12">
-              <el-form-item label="姓名" prop="linkName">
-                <el-input v-model="registerForm.linkName" type="text" auto-complete="off" placeholder="请输入联系人姓名">
-                </el-input>
-              </el-form-item>
-            </el-col>
-            <el-col :span="12">
-              <el-form-item label="身份证号码" prop="linkIdCard">
-                <el-input v-model="registerForm.linkIdCard" type="text" auto-complete="off" placeholder="请输入联系人身份证号码">
-                </el-input>
-              </el-form-item>
-            </el-col>
-            <el-col :span="12">
-              <el-form-item label="手机号码" prop="linkMobile">
-                <el-input v-model="registerForm.linkMobile" type="text" auto-complete="off" placeholder="请填入手机号码">
-                </el-input>
-              </el-form-item>
-            </el-col>
-            <el-col :span="12">
-              <el-form-item label="固定电话" prop="linkPhone">
-                <el-input v-model="registerForm.linkPhone" type="text" auto-complete="off" placeholder="请输入联系人固定电话">
-                </el-input>
-              </el-form-item>
-            </el-col>
-            <el-col :span="12">
-              <el-form-item label="传真" prop="linkFax">
-                <el-input v-model="registerForm.linkFax" type="text" auto-complete="off" placeholder="请输入联系人传真">
-                </el-input>
-              </el-form-item>
-            </el-col>
-            <el-col :span="12">
-              <el-form-item label="E-mail" prop="linkEmail">
-                <el-input v-model="registerForm.linkEmail" type="text" auto-complete="off" placeholder="请输入联系人邮箱">
-                </el-input>
-              </el-form-item>
-            </el-col>
-          </el-row>
-        </el-collapse-item>
-        <el-collapse-item title="企业上市信息" name="6">
-          <el-row :gutter="40">
-            <el-col :span="12">
-              <el-form-item label="企业是否上市" prop="listedFlag">
-                <el-radio-group v-model="registerForm.listedFlag">
-                  <el-radio v-for="(item, index) in yesOrNoOptions" :key="index" :label="item.dictValue">{{item.dictLabel}}</el-radio>
-                </el-radio-group>
-              </el-form-item>
-            </el-col>
-            <el-col :span="12" v-if="registerForm.listedFlag == 1">
-              <el-form-item label="企业上市代码" prop="listingCode">
-                <el-input v-model="registerForm.listingCode" type="text" auto-complete="off" placeholder="请输入企业上市代码">
-                </el-input>
-              </el-form-item>
-            </el-col>
-          </el-row>
-        </el-collapse-item>
-        <el-collapse-item title="风险投资信息" name="7">
-          <el-row :gutter="40">
-            <el-col :span="12">
-              <el-form-item label="是否引入风险投资" prop="investFlag">
-                <el-radio-group v-model="registerForm.investFlag">
-                  <el-radio v-for="(item, index) in yesOrNoOptions" :key="index" :label="item.dictValue">{{item.dictLabel}}</el-radio>
-                </el-radio-group>
-              </el-form-item>
-            </el-col>
-            <el-col :span="12" v-if="registerForm.investFlag == 1">
-              <el-form-item label="风险投资金额" prop="investCapital">
-                <el-input v-model="registerForm.investCapital" type="text" auto-complete="off" placeholder="请输入风险投资金额">
-                  <template slot="append">万元</template>
-                </el-input>
-              </el-form-item>
-            </el-col>
-          </el-row>
-        </el-collapse-item>
-        <el-collapse-item title="高新企业" name="8">
-          <el-row :gutter="40">
-            <el-col :span="12">
-              <el-form-item label="是否为高新企业" prop="techFlag">
-                <el-radio-group v-model="registerForm.techFlag">
-                  <el-radio v-for="(item, index) in yesOrNoOptions" :key="index" :label="item.dictValue">{{item.dictLabel}}</el-radio>
-                </el-radio-group>
-              </el-form-item>
-            </el-col>
-            <el-col :span="12" v-if="registerForm.techFlag == 1">
-              <el-form-item label="高新企业编号" prop="techCode">
-                <el-input v-model="registerForm.techCode" type="text" auto-complete="off" placeholder="请输入高新企业编号">
-                </el-input>
-              </el-form-item>
-            </el-col>
-          </el-row>
-        </el-collapse-item>
-        <el-collapse-item title="上年度是否做加计扣除" name="9">
-          <el-row :gutter="40">
-            <el-col :span="12">
-              <el-form-item label="上年度是否做加计扣除" prop="deductionFlag">
-                <el-radio-group v-model="registerForm.deductionFlag">
-                  <el-radio v-for="(item, index) in yesOrNoOptions" :key="index" :label="item.dictValue">{{item.dictLabel}}</el-radio>
-                </el-radio-group>
-              </el-form-item>
-            </el-col>
-          </el-row>
-        </el-collapse-item>
-        <el-collapse-item title="附件" name="10">
-          <el-form-item label="企业营业执照" prop="licensePath" ref="licenseUpload">
-            <ImageUpload @input="handleLicenseSuccess" :params="params" :limit="limit" :value="registerForm.licensePath" :fileSize="fileSize"></ImageUpload>
-            <!-- <FileUpload :file="{url: registerForm.licensePath, name: registerForm.fileName}" @input="handleSuccess">上传材料</FileUpload> -->
-          </el-form-item>
-          <el-form-item label="其他附件" prop="attachIds">
-            <FileUpload :files="registerForm.fileList" @input="handleSaleSuccess" :multiple="true" :params="params">上传材料</FileUpload>
-            <el-table v-loading="loading" :data="list" border style="width: 100%;margin-top: 5px;" v-if="dataId">
-              <el-table-column label="序号" type="index" width="50" align="center"></el-table-column>
-              <el-table-column label="文件名称" prop="fileName" align="center"></el-table-column>
-              <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
-                <template slot-scope="scope">
-                  <el-button type="text" @click="handleView(scope.row)">查看</el-button>
-                  <el-button type="text" @click="handleDelete(scope.row)">删除</el-button>
-                </template>
-              </el-table-column>
-            </el-table>
-            <!-- <FileUpload :files="registerForm.attachIds" @input="handleSaleSuccess" :multiple="true">上传材料</FileUpload> -->
-          </el-form-item>
-        </el-collapse-item>
-        <el-collapse-item title="文件水印" name="11">
-          <el-row :gutter="40">
-            <el-col :span="24">
-              <el-form-item label="文件水印" prop="logo" ref="logoUpload">
-                <ImageUpload @input="handleLogoSuccess" :params="params" :limit="limit" :value="registerForm.logo" :fileSize="fileSize"></ImageUpload>
-                <!-- <ImageUpload @input="handleLogoSuccess"></ImageUpload> -->
-              </el-form-item>
-            </el-col>
-          </el-row>
-        </el-collapse-item>
-      </el-collapse>
-      <el-row :gutter="40">
+      <el-row :gutter="40" style="margin-top: 20px;">
         <el-col :span="24">
           <el-form-item style="width:100%;text-align: center;" label-width="0px">
             <el-button
@@ -342,9 +410,9 @@
     </el-form>
     </div>
     <!--  底部  -->
-    <div class="el-register-footer">
+    <!-- <div class="el-register-footer">
       <span>Copyright © 2022 All Rights Reserved.</span>
-    </div>
+    </div> -->
     <el-dialog
       :visible.sync="dialogVisible"
       title="预览"
@@ -413,7 +481,6 @@ export default {
         provinceId: '',
         cityId: '',
         districtId: '',
-        mainProductArray: ['电子信息'],
         mainProducts: '',
         userName: "",
         password: "",
@@ -469,8 +536,8 @@ export default {
         regType: [
           { required: true, trigger: "change", message: "请选择工商注册类型" },
         ],
-        mainProductArray: [
-          { type: 'array', required: true, message: '请至少选择一个主营产品(服务)所属技术领域', trigger: 'change' }
+        mainProducts: [
+          { required: true, message: '请至少选择一个主营产品(服务)所属技术领域', trigger: 'change' }
         ],
         address: [
           { required: true, trigger: "blur", message: "请输入通信地址" },
@@ -553,9 +620,9 @@ export default {
         licensePath: [
           { required: true, trigger: "change", message: "请上传营业执照附件" },
         ],
-        logo: [
-          { required: true, trigger: "change", message: "请上传文件水印" },
-        ]
+        // logo: [
+        //   { required: true, trigger: "change", message: "请上传文件水印" },
+        // ]
       },
       loading: false,
       captchaOnOff: true
@@ -597,8 +664,8 @@ export default {
         if(this.dataId) {
           this.getEnclosureData()
         }
-        let mainProductArray = this.registerForm.mainProducts.split(',') || ['电子信息'];
-        this.$set(this.registerForm, 'mainProductArray', mainProductArray);
+        // let mainProductArray = this.registerForm.mainProducts.split(',') || ['电子信息'];
+        // this.$set(this.registerForm, 'mainProductArray', mainProductArray);
         this.registerForm.provinceId = res.data.provinceId
         if(this.registerForm.provinceId) {
           getRegionChildrenApi(this.registerForm.provinceId).then(res => {
@@ -737,14 +804,15 @@ export default {
       this.$router.go(-1);
     },
     handleRegister() {
-      this.registerForm.mainProducts = this.registerForm.mainProductArray.join(',')
+      // this.registerForm.mainProducts = this.registerForm.mainProductArray.join(',')
       validLicenseApi(this.registerForm.license).then(res => {
         // true存在
         if(res.data) {
           this.$message.error('统一社会信用代码已经存在,不可以重复注册');
           return
         }
-      })
+      })
+
       this.$refs.registerForm.validate((valid,obj) => {
         if (valid) {
           this.loading = true;
@@ -760,9 +828,6 @@ export default {
               }).catch(() => {});
             }).catch(() => {
               this.loading = false;
-              // if (this.captchaOnOff) {
-              //   this.getCode();
-              // }
             })
           }else {
             registerEntApi(this.registerForm).then(res => {
@@ -775,9 +840,6 @@ export default {
               }).catch(() => {});
             }).catch(() => {
               this.loading = false;
-              // if (this.captchaOnOff) {
-              //   this.getCode();
-              // }
             })
           }
         }else {
@@ -885,41 +947,7 @@ export default {
 .register-code-img {
   height: 38px;
 }
-/* =============自定义样式============== */
-$border: #ddd;
-/* 工具栏 */
-.toolbar {
-  margin: 0 0 15px;
-  &>.title {
-    position: relative;
-    padding-left: 15px;
-    margin-right: 15px;
-    font-size: 16px;
-    line-height: 28px;
-    font-weight: bold;
-    color: #363636;
-    &:before {
-      content: "";
-      display: block;
-      position: absolute;
-      left: 0;
-      top: 50%;
-      transform: translate(0, -50%);
-      width: 5px;
-      height: 16px;
-      background-color: #409EFF;
-    }
-  }
-  &:after {
-    content: "";
-    clear: both;
-    display: block;
-  }
-  &>.tip {
-    display: inline-block;
-    font-size: 14px;
-    font-weight: normal;
-    color: #666;
-  }
+.el-form-item {
+  margin-bottom: 8px;
 }
 </style>

+ 4 - 4
src/views/enterprise/employee/index.vue

@@ -1,6 +1,6 @@
 <template>
   <div class="app-container">
-    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch">
+    <!-- <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch">
       <el-form-item label="登录账号" prop="userName">
         <el-input
           v-model="queryParams.userName"
@@ -32,7 +32,7 @@
         <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
         <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
       </el-form-item>
-    </el-form>
+    </el-form> -->
     <el-row :gutter="10" class="mb8">
       <el-col :span="1.5">
         <el-button
@@ -46,10 +46,10 @@
     </el-row>
 
     <el-table v-loading="loading" :data="roleList">
-      <el-table-column label="登录账号" prop="userName"/>
+      <el-table-column label="登录账号" prop="userName" width="200"/>
       <el-table-column label="姓名" prop="nickName"/>
       <el-table-column label="手机号码" prop="phonenumber" width="150" />
-      <el-table-column label="邮箱" prop="email"/>
+      <el-table-column label="邮箱" prop="email" width="200"/>
       <el-table-column label="用户角色" prop="userType" width="150" :formatter="userTypeFormat"/>
       <el-table-column label="状态" align="center" width="100">
         <template slot-scope="scope">

+ 43 - 70
src/views/enterprise/ent/edit.vue

@@ -1,62 +1,7 @@
 <template>
   <div class="app-container" v-loading="loading">
-    <el-form ref="form" :model="form" :rules="registerRules" label-width="180px">
-      <template v-if="type == 'add'">
-        <h3 class="toolbar">
-          <span class="title">账户信息</span>
-        </h3>
-        <el-row :gutter="40">
-          <el-col :span="12">
-            <el-form-item label="账户名称" prop="userName">
-              <el-input v-model="form.userName" type="text" auto-complete="off" placeholder="账号">
-              </el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="密码" prop="password">
-              <el-input
-                v-model="form.password"
-                type="password"
-                auto-complete="new-password"
-                placeholder="密码">
-              </el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="确认密码" prop="confirmPassword">
-              <el-input
-                v-model="form.confirmPassword"
-                type="password"
-                auto-complete="new-password"
-                placeholder="确认密码">
-              </el-input>
-            </el-form-item>
-          </el-col>
-        </el-row>
-        <h3 class="toolbar">
-          <span class="title">账户联系人信息</span>
-        </h3>
-        <el-row :gutter="40">
-          <el-col :span="12">
-            <el-form-item label="姓名" prop="nickName">
-              <el-input v-model="form.nickName" type="text" auto-complete="off" placeholder="姓名">
-              </el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="手机号码" prop="phonenumber">
-              <el-input v-model="form.phonenumber" type="text" auto-complete="off" placeholder="手机号码">
-              </el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="邮箱地址" prop="email">
-              <el-input v-model="form.email" type="text" auto-complete="off" placeholder="邮箱地址">
-              </el-input>
-            </el-form-item>
-          </el-col>
-        </el-row>
-      </template>
+    <el-form ref="form" :model="form" :rules="registerRules" label-width="200px">
+
       <h3 class="toolbar">
         <span class="title">企业信息</span>
       </h3>
@@ -97,10 +42,13 @@
           </el-form-item>
         </el-col>
         <el-col :span="24">
-          <el-form-item label="主营产品(服务)所属技术领域" prop="mainProductArray">
-            <el-checkbox-group v-model="form.mainProductArray">
+          <el-form-item label="主营产品(服务)所属技术领域" prop="mainProducts">
+            <!-- <el-checkbox-group v-model="form.mainProductArray">
               <el-checkbox v-for="(item, index) in mainProductsOptions" :label="item.dictLabel" :key="index">{{item.dictLabel}}</el-checkbox>
-            </el-checkbox-group>
+            </el-checkbox-group> -->
+            <el-select v-model="form.mainProducts" style="width: 220px;" filterable>
+              <el-option v-for="(item,index) in mainProductsOptions" :label="item.dictLabel" :key="index" :value="item.dictValue">{{item.dictLabel}}</el-option>
+            </el-select>
           </el-form-item>
         </el-col>
         <el-col :span="12">
@@ -138,11 +86,36 @@
         </el-col>
         <el-col :span="12">
           <el-form-item label="企业所得税主管税务机关" prop="taxOffice">
-            <el-input v-model="form.taxOffice" type="text" auto-complete="off" placeholder="请输入企业所得税主管税务机关">
+            <el-input v-model="form.taxOffice" type="text" auto-complete="off" placeholder="请输入企业所得税主管税务机关" disabled>
             </el-input>
           </el-form-item>
         </el-col>
       </el-row>
+      <template v-if="type == 'add'">
+        <h3 class="toolbar">
+          <span class="title">账户联系人信息</span>
+        </h3>
+        <el-row :gutter="40">
+          <el-col :span="12">
+            <el-form-item label="姓名" prop="nickName">
+              <el-input v-model="form.nickName" type="text" auto-complete="off" placeholder="姓名">
+              </el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="手机号码" prop="phonenumber">
+              <el-input v-model="form.phonenumber" type="text" auto-complete="off" placeholder="手机号码">
+              </el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="邮箱地址" prop="email">
+              <el-input v-model="form.email" type="text" auto-complete="off" placeholder="邮箱地址">
+              </el-input>
+            </el-form-item>
+          </el-col>
+        </el-row>
+      </template>
       <h3 class="toolbar">
         <span class="title">法人信息</span>
       </h3>
@@ -442,7 +415,7 @@ export default {
         provinceId: '',
         cityId: '',
         districtId: '',
-        mainProductArray: ['电子信息'],
+        mainProducts: '',
         mainProducts: '',
         userName: "",
         password: "",
@@ -495,8 +468,8 @@ export default {
         regType: [
           { required: true, trigger: "change", message: "请选择工商注册类型" },
         ],
-        mainProductArray: [
-          { type: 'array', required: true, message: '请至少选择一个主营产品(服务)所属技术领域', trigger: 'change' }
+        mainProducts: [
+          { required: true, message: '请至少选择一个主营产品(服务)所属技术领域', trigger: 'change' }
         ],
         address: [
           { required: true, trigger: "blur", message: "请输入通信地址" },
@@ -580,9 +553,9 @@ export default {
         licensePath: [
           { required: true, trigger: "change", message: "请上传营业执照附件" },
         ],
-        logo: [
-          { required: true, trigger: "change", message: "请上传文件水印" },
-        ],
+        // logo: [
+        //   { required: true, trigger: "change", message: "请上传文件水印" },
+        // ],
         serviceDate: [
           { type: 'array', required: true, message: '请选择服务时间', trigger: 'change' }
         ]
@@ -642,8 +615,8 @@ export default {
       getEntInfoByIdApi(this.form.id).then(res => {
         this.loading = false
         this.form = res.data || {}
-        let mainProductArray = this.form.mainProducts.split(',') || ['电子信息'];
-        this.$set(this.form, 'mainProductArray', mainProductArray);
+        // let mainProductArray = this.form.mainProducts.split(',') || ['电子信息'];
+        // this.$set(this.form, 'mainProductArray', mainProductArray);
         this.form.serviceDate = []
         if(this.form.startDate) {
           this.form.serviceDate[0] = this.form.startDate
@@ -769,7 +742,7 @@ export default {
       this.$router.go(-1);
     },
     handleRegister() {
-      this.form.mainProducts = this.form.mainProductArray.join(',')
+      // this.form.mainProducts = this.form.mainProductArray.join(',')
       if(this.type == 'update') {
         this.$refs.form.validate((valid, obj) => {
           if (valid) {

+ 9 - 9
src/views/enterprise/ent/index.vue

@@ -64,19 +64,19 @@
       </div>
     </h3>
     <el-table v-loading="loading" :data="list" border>
-      <el-table-column label="账户" prop="userName" width="150" align="center" />
-      <el-table-column label="企业名称" prop="entName" align="center" width="150"></el-table-column>
-      <el-table-column label="省市区" prop="provinceName" align="center" width="180">
+      <el-table-column label="账户" prop="userName" width="240" align="center" />
+      <el-table-column label="企业名称" prop="entName" align="center" width="240"></el-table-column>
+      <el-table-column label="省市区" prop="provinceName" align="center" width="240">
         <template slot-scope="scope">
           <span>{{scope.row.provinceName}}{{scope.row.cityName}}{{scope.row.districtName}}</span>
         </template>
       </el-table-column>
-      <el-table-column label="社会信用代码" prop="license" align="center" width="160"></el-table-column>
-      <el-table-column label="联系人" align="center" prop="nickName" width="150"></el-table-column>
-      <el-table-column label="联系人手机号" prop="phonenumber" align="center" width="160"></el-table-column>
-      <el-table-column label="联系人邮箱" prop="email" align="center" width="180"></el-table-column>
-      <el-table-column label="创建时间" prop="createTime" align="center" width="160"></el-table-column>
-      <el-table-column label="服务时间" align="center" width="200">
+      <el-table-column label="社会信用代码" prop="license" align="center" width="240"></el-table-column>
+      <el-table-column label="联系人" align="center" prop="nickName" width="240"></el-table-column>
+      <el-table-column label="联系人手机号" prop="phonenumber" align="center" width="240"></el-table-column>
+      <el-table-column label="联系人邮箱" prop="email" align="center" width="240"></el-table-column>
+      <el-table-column label="创建时间" prop="createTime" align="center" width="240"></el-table-column>
+      <el-table-column label="服务时间" align="center" width="240">
         <template slot-scope="scope">
           <template v-if="scope.row.entState == '1'">
             <div>--</div>

+ 36 - 13
src/views/enterprise/project/components/EntBasic.vue

@@ -39,33 +39,35 @@
           </el-form-item>
         </el-col>
         <el-col :span="12">
-          <el-form-item label="年度企业销售收入(万元)" prop="sales">
-            <el-input v-model="form.sales" type="text" auto-complete="off" placeholder="请输入年度企业销售收入(万元)" :disabled="disabledVisible">
+          <el-form-item label="年度研发投入(万元)" prop="techInvest">
+            <el-input v-model="form.techInvest" type="text" auto-complete="off" placeholder="请输入年度研发投入(万元)" :disabled="disabledVisible">
             </el-input>
           </el-form-item>
         </el-col>
         <el-col :span="12">
-          <el-form-item label="研发人数" prop="techPersons">
-            <el-input v-model="form.techPersons" type="text" auto-complete="off" placeholder="请输入研发人数" :disabled="disabledVisible">
+          <el-form-item label="年度企业销售收入(万元)" prop="sales">
+            <el-input v-model="form.sales" type="text" auto-complete="off" placeholder="请输入年度企业销售收入(万元)" :disabled="disabledVisible">
             </el-input>
           </el-form-item>
         </el-col>
         <el-col :span="12">
-          <el-form-item label="年度研发投入(万元)" prop="techInvest">
-            <el-input v-model="form.techInvest" type="text" auto-complete="off" placeholder="请输入年度研发投入(万元)" :disabled="disabledVisible">
+          <el-form-item label="研发人数" prop="techPersons">
+            <el-input v-model="form.techPersons" type="text" auto-complete="off" placeholder="请输入研发人数" :disabled="disabledVisible">
             </el-input>
           </el-form-item>
         </el-col>
         <el-col :span="12">
           <el-form-item label="占销售收入比例(%)" prop="techRate">
-            <el-input v-model="form.techRate" type="text" auto-complete="off" placeholder="请输入占销售收入比例(%)" :disabled="disabledVisible">
+            <el-input v-model="form.techRate" type="text" auto-complete="off" placeholder="请输入占销售收入比例(%)" disabled>
             </el-input>
           </el-form-item>
         </el-col>
         <el-col :span="12">
-          <el-form-item label="企业所属行业" prop="industry">
-            <el-input v-model="form.industry" type="text" auto-complete="off" placeholder="请输入企业所属行业" :disabled="disabledVisible">
-            </el-input>
+          <el-form-item label="企业所属行业" prop="industryArray">
+            <el-cascader
+                v-model="form.industryArray"
+                :options="options"
+                @change="handleChange" :disabled="disabledVisible" style="width: 310px;"></el-cascader>
           </el-form-item>
         </el-col>
         <el-col :span="12">
@@ -152,7 +154,7 @@
 
 <script>
 import { editProjectApi,getProjectInfoApi } from "@/api/enterprise/project/project"
-import { techScopeOptions,yesOrNoOptions } from "@/utils/dataFormat"
+import { techScopeOptions,yesOrNoOptions,businessIndustryOptions } from "@/utils/dataFormat"
 import FileUpload from '@/components/FileUpload'
 import { listEntUserApi } from "@/api/ent/ent"
 import { validAmount,validNumber,validPercentage} from '@/utils/validate'
@@ -168,6 +170,11 @@ export default {
     userType() {
       return this.$store.state.user.userType
     },
+    tempVariable() {
+      let invest = this.form.techInvest
+      let sales = this.form.sales
+      return {invest, sales}
+    }
   },
   data() {
     return {
@@ -181,6 +188,7 @@ export default {
       codeUrl: "",
       techScopeOptions: techScopeOptions,
       yesOrNoOptions: yesOrNoOptions,
+      options: businessIndustryOptions,
       provinceDataList: [],
       cityDataList: [],
       districtDataList: [],
@@ -197,7 +205,8 @@ export default {
         overYearFlag: 1,
         techFlag: 1,
         innovateFlag: 1,
-        smallFlag: 1
+        smallFlag: 1,
+        industryArray: []
       },
       rules: {
         userName: [
@@ -248,7 +257,7 @@ export default {
           { required: true, trigger: "blur", message: "请输入占销售收入比例(%)" },
           { validator: validPercentage, trigger: 'blur'}
         ],
-        industry: [
+        industryArray: [
           { required: true, trigger: "blur", message: "请输入企业所属行业" }
         ],
         innovateFlag: [
@@ -293,6 +302,9 @@ export default {
     }, 500);
   },
   methods: {
+    handleChange(e) {
+      console.log(e)
+    },
     getEntData() {
       listEntUserApi().then(res => {
         this.form.entName = res.data.entName
@@ -309,6 +321,11 @@ export default {
         this.form.fileName = '高新证书'
         let arr = ['电子信息']
         this.$set(this.form, 'techScopeArray', arr)
+        if(this.form.industry) {
+          let industryArray = this.form.industry.split(',') || [];
+          this.$set(this.form, 'industryArray', industryArray);
+        }
+
         if(obj.techScope) {
           this.form.techScopeArray = obj.techScope.split(',') || ['电子信息']
         }
@@ -345,6 +362,7 @@ export default {
         if(valid) {
           this.loading = true
           this.form.techScope = this.form.techScopeArray.join(',')
+          this.form.industry = this.form.industryArray.join(',')
           editProjectApi(this.form).then(res => {
             this.loading = false
             this.$store.dispatch("tagsView/delView", this.$route);
@@ -378,6 +396,11 @@ export default {
         this.form.techStartDate = ''
         this.form.techEndDate = ''
       }
+    },
+    'tempVariable'(val) {
+      if(val.invest && val.sales) {
+        this.form.techRate = ((val.invest / val.sales)*100).toFixed(2)
+      }
     }
   }
 };

File diff suppressed because it is too large
+ 3 - 0
src/views/enterprise/project/components/EntEnclosure.vue


+ 27 - 7
src/views/enterprise/project/components/FinBasic.vue

@@ -58,14 +58,16 @@
         </el-col>
         <el-col :span="12">
           <el-form-item label="占销售收入比例(%)" prop="techRate">
-            <el-input v-model="form.techRate" type="text" auto-complete="off" placeholder="请输入占销售收入比例(%)" :disabled="disabledVisible">
+            <el-input v-model="form.techRate" type="text" auto-complete="off" placeholder="请输入占销售收入比例(%)" disabled>
             </el-input>
           </el-form-item>
         </el-col>
         <el-col :span="12">
-          <el-form-item label="企业所属行业" prop="industry">
-            <el-input v-model="form.industry" type="text" auto-complete="off" placeholder="请输入企业所属行业" :disabled="disabledVisible">
-            </el-input>
+          <el-form-item label="企业所属行业" prop="industryArray">
+            <el-cascader
+                v-model="form.industryArray"
+                :options="options"
+                :disabled="disabledVisible" style="width: 310px;"></el-cascader>
           </el-form-item>
         </el-col>
         <el-col :span="12">
@@ -154,7 +156,7 @@
 
 <script>
 import { editProjectApi,getProjectInfoApi,synFinApi } from "@/api/enterprise/project/project"
-import { techScopeOptions,yesOrNoOptions } from "@/utils/dataFormat"
+import { techScopeOptions,yesOrNoOptions,businessIndustryOptions } from "@/utils/dataFormat"
 import FileUpload from '@/components/FileUpload'
 import { listEntUserApi } from "@/api/ent/ent"
 import { validAmount,validNumber,validPercentage} from '@/utils/validate'
@@ -168,11 +170,17 @@ export default {
     userType() {
       return this.$store.state.user.userType
     },
+    tempVariable() {
+      let invest = this.form.techInvest
+      let sales = this.form.sales
+      return {invest, sales}
+    }
   },
   props: {
   },
   data() {
     return {
+      options: businessIndustryOptions,
       techId: undefined,
       adminId: undefined,
       disabledVisible: false,
@@ -197,7 +205,9 @@ export default {
         projectTime: [],
         projectStartDate: '',
         projectEndDate: '',
-        techScopeArray: ['电子信息']
+        techScopeArray: ['电子信息'],
+        industry: '',
+        industryArray: []
       },
       rules: {
         userName: [
@@ -248,7 +258,7 @@ export default {
           { required: true, trigger: "blur", message: "请输入占销售收入比例(%)" },
           { validator: validPercentage, trigger: 'blur'}
         ],
-        industry: [
+        industryArray: [
           { required: true, trigger: "blur", message: "请选择企业所属行业" }
         ],
         innovateFlag: [
@@ -336,6 +346,10 @@ export default {
         this.form.fileName = '高新证书'
         let arr = ['电子信息']
         this.$set(this.form, 'techScopeArray', arr)
+        if(this.form.industry) {
+          let industryArray = this.form.industry.split(',') || [];
+          this.$set(this.form, 'industryArray', industryArray);
+        }
         if(obj.techScope) {
           this.form.techScopeArray = obj.techScope.split(',') || ['电子信息']
         }
@@ -375,6 +389,7 @@ export default {
         if(valid) {
           this.loading = true
           this.form.techScope = this.form.techScopeArray.join(',')
+          this.form.industry = this.form.industryArray.join(',')
           editProjectApi(this.form).then(res => {
             this.loading = false
             this.$store.dispatch("tagsView/delView", this.$route);
@@ -408,6 +423,11 @@ export default {
         this.form.techStartDate = ''
         this.form.techEndDate = ''
       }
+    },
+    'tempVariable'(val) {
+      if(val.invest && val.sales) {
+        this.form.techRate = ((val.invest / val.sales)*100).toFixed(2)
+      }
     }
   }
 };

File diff suppressed because it is too large
+ 3 - 0
src/views/enterprise/project/components/FinEnclosure.vue


+ 26 - 6
src/views/enterprise/project/components/TechBasic.vue

@@ -60,14 +60,16 @@
         </el-col>
         <el-col :span="12">
           <el-form-item label="占销售收入比例(%)" prop="techRate">
-            <el-input v-model="form.techRate" type="text" auto-complete="off" placeholder="请输入占销售收入比例(%)" :disabled="disabledVisible">
+            <el-input v-model="form.techRate" type="text" auto-complete="off" placeholder="请输入占销售收入比例(%)" disabled>
             </el-input>
           </el-form-item>
         </el-col>
         <el-col :span="12">
-          <el-form-item label="企业所属行业" prop="industry">
-            <el-input v-model="form.industry" type="text" auto-complete="off" placeholder="请输入企业所属行业" :disabled="disabledVisible">
-            </el-input>
+          <el-form-item label="企业所属行业" prop="industryArray">
+            <el-cascader
+                v-model="form.industryArray"
+                :options="options"
+                :disabled="disabledVisible" style="width: 310px;"></el-cascader>
           </el-form-item>
         </el-col>
         <el-col :span="12">
@@ -155,7 +157,7 @@
 
 <script>
 import { editProjectApi,getProjectInfoApi,synTechApi } from "@/api/enterprise/project/project"
-import { techScopeOptions,yesOrNoOptions } from "@/utils/dataFormat"
+import { techScopeOptions,yesOrNoOptions,businessIndustryOptions } from "@/utils/dataFormat"
 import FileUpload from '@/components/FileUpload'
 import { listEntUserApi } from "@/api/ent/ent"
 import { validAmount,validNumber,validPercentage} from '@/utils/validate'
@@ -169,9 +171,15 @@ export default {
     userType() {
       return this.$store.state.user.userType
     },
+    tempVariable() {
+      let invest = this.form.techInvest
+      let sales = this.form.sales
+      return {invest, sales}
+    }
   },
   data() {
     return {
+      options: businessIndustryOptions,
       disabledVisible: false,
       adminId: undefined,
       techId: undefined,
@@ -196,7 +204,9 @@ export default {
         techStartDate: '',
         techEndDate: '',
         projectStartDate: '',
-        projectEndDate: ''
+        projectEndDate: '',
+        industryArray: [],
+        industry: ''
       },
       rules: {
         userName: [
@@ -321,6 +331,10 @@ export default {
         if(obj.techScope) {
           this.form.techScopeArray = obj.techScope.split(',') || ['电子信息']
         }
+        if(this.form.industry) {
+          let industryArray = this.form.industry.split(',') || [];
+          this.$set(this.form, 'industryArray', industryArray);
+        }
         if(obj.projectStartDate) {
           this.form.projectTime = []
           this.form.projectTime[0] = obj.projectStartDate
@@ -350,6 +364,7 @@ export default {
         if(valid) {
           this.loading = true
           this.form.techScope = this.form.techScopeArray.join(',')
+          this.form.industry = this.form.industryArray.join(',')
           editProjectApi(this.form).then(res => {
             this.loading = false
             this.$store.dispatch("tagsView/delView", this.$route);
@@ -383,6 +398,11 @@ export default {
         this.form.techStartDate = ''
         this.form.techEndDate = ''
       }
+    },
+    'tempVariable'(val) {
+      if(val.invest && val.sales) {
+        this.form.techRate = ((val.invest / val.sales)*100).toFixed(2)
+      }
     }
   }
 };

File diff suppressed because it is too large
+ 3 - 0
src/views/enterprise/project/components/TechEnclosure.vue


+ 2 - 2
src/views/enterprise/project/components/addProject.vue

@@ -11,12 +11,12 @@
         <el-date-picker v-model="form.projectYear" placeholder="选择项目年份" type="year" value-format="yyyy"></el-date-picker>
       </el-form-item>
       <el-form-item label="技术员分配" prop="techUserId">
-        <el-select v-model="form.techUserId">
+        <el-select v-model="form.techUserId" filterable>
           <el-option v-for="(item, index) in techUserOptions" :key="index" :value="item.userId" :label="item.nickName"></el-option>
         </el-select>
       </el-form-item>
       <el-form-item label="财务员分配" prop="finUserId">
-        <el-select v-model="form.finUserId">
+        <el-select v-model="form.finUserId" filterable>
           <el-option v-for="(item, index) in finUserOptions" :key="index" :value="item.userId" :label="item.nickName"></el-option>
         </el-select>
       </el-form-item>

+ 16 - 10
src/views/enterprise/project/index.vue

@@ -18,7 +18,11 @@
           </el-select>
         </el-form-item>
         <el-form-item label="年份" prop="year">
-          <el-date-picker v-model="queryParams.year" type="year" placeholder="选择年" style="width: 200px;" clearable value-format="yyyy"></el-date-picker>
+          <el-date-picker
+                type="years"
+                v-model="years"
+                placeholder="选择一个或多个年" value-format="yyyy">
+              </el-date-picker>
         </el-form-item>
         <el-form-item label="企业名称" prop="entName">
           <el-input v-model="queryParams.entName" clearable style="width: 200px;" placeholder="请填入企业名称"></el-input>
@@ -41,6 +45,7 @@
     <h3 class="toolbar">
       <span class="title">列表</span>
       <div class="tool">
+        <el-button type="text" style="color: red">当技术、财务资料达到 100%时,可提交项目申报</el-button>
         <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd" v-if="roleType == 'entAdmin' || roleType == 'entUser'">新增</el-button>
         <el-button type="primary" plain icon="el-icon-download" size="mini" @click="handleDownloadBatch">下载</el-button>
         <el-button type="primary" plain icon="el-icon-delete" size="mini" @click="handleBatchDel" v-if="roleType == 'entAdmin' || roleType == 'entUser' || roleType == 'manager'">批量删除</el-button>
@@ -50,10 +55,10 @@
       <el-table-column type="selection" width="55" align="center" />
       <el-table-column label="项目编号" prop="projectNo" width="150" align="center" />
       <el-table-column label="项目名称" prop="projectName" align="center" width="180"></el-table-column>
-      <el-table-column label="企业名称" prop="entName" align="center" width="180"/>
-      <el-table-column label="社会信用代码" prop="license" align="center" width="180" />
+      <!-- <el-table-column label="企业名称" prop="entName" align="center" width="180"/> -->
+      <!-- <el-table-column label="社会信用代码" prop="license" align="center" width="180" /> -->
       <el-table-column label="项目年份" prop="projectYear" align="center" width="120" />
-      <el-table-column label="项目周期" align="center" width="200">
+      <el-table-column label="项目起止时间" align="center" width="200">
         <template slot-scope="scope">
           <span>{{scope.row.projectStartDate}} - {{scope.row.projectEndDate}}</span>
         </template>
@@ -93,8 +98,11 @@
             <el-button type="text" @click="handleDownload(scope.row)">下载</el-button>
           </template>
           <el-button type="text" @click="handleDelete(scope.row)">删除</el-button>
-          <template v-if="roleType == 'entAdmin' || roleType == 'entUser'">
+          <template v-if="roleType == 'entAdmin' || roleType == 'entUser' || roleType == 'manager'">
             <el-button type="text" @click="handleEdit(scope.row)">编辑</el-button>
+          </template>
+          <template v-if="roleType == 'entAdmin' || roleType == 'entUser'">
+
             <template v-if="scope.row.finCompRate == '100.0%' && scope.row.reportState == '1'">
               <el-button type="text" @click="handleDeclare(scope.row)">提交申报</el-button>
             </template>
@@ -146,6 +154,7 @@
     // ADMIN,GOV_PROV,GOV_CITY,GOV_DISTRI,ENT_ADMIN,ENT_TECH,ENT_ADMIN_TECH,ENT_FIN,ENT_ADMIN_FIN
     data () {
       return {
+        years: [],
         loading: false,
         addProjectVisible: false,
         declareVisible: false,
@@ -248,6 +257,7 @@
       },
       getList() {
         this.loading = true;
+        this.queryParams.year = this.years.join(',')
         if(this.userType == 'ENT_ADMIN' || this.userType == 'ENT_TECH' || this.userType == 'ENT_ADMIN_TECH' || this.userType == 'ENT_FIN' || this.userType == 'ENT_ADMIN_FIN') {
           listProjectApi(this.queryParams).then(response => {
             this.list = response.data.records;
@@ -280,9 +290,6 @@
         const delIds = this.ids.join(',')
         downLoadZip('/project/download/' +delIds, "项目附件")
       },
-      handleUpload() {
-
-      },
       handleDeclare(row) {
         this.declareVisible = true
         this.$nextTick(() => {
@@ -316,7 +323,6 @@
         this.$nextTick(() => {
           this.$refs.auditProject.init(row.id)
         })
-
       },
       // 查看
       handleView(row) {
@@ -341,7 +347,7 @@
       },
       // 重置
       resetQuery() {
-        this.dateRange = [];
+        this.years = [];
         this.resetForm("queryForm");
         this.handleQuery();
       },

+ 2 - 2
src/views/login.vue

@@ -1,7 +1,7 @@
 <template>
   <div class="login">
     <el-form ref="loginForm" :model="loginForm" :rules="loginRules" class="login-form">
-      <h3 class="login-title">科德科研系统</h3>
+      <h3 class="login-title">科德企业科研项目信息管理系统</h3>
       <el-form-item prop="username">
         <el-input
           v-model="loginForm.username"
@@ -51,7 +51,7 @@
         </el-button>
         <div>
           <div style="float: left;">
-            <router-link class="link-type" :to="'/registerFirst'">企业账号注册</router-link>
+            <router-link class="link-type" :to="'/registerFirst'">注册</router-link>
           </div>
           <div style="float: right;">
             <el-button type="text" @click="forgetPwd" class="link-type">忘记密码</el-button>