Browse Source

完成招商辅助页面开发

littleblue55 1 month ago
parent
commit
b7add0c09d
1 changed files with 118 additions and 44 deletions
  1. 118 44
      src/views/investment/index.vue

+ 118 - 44
src/views/investment/index.vue

@@ -163,12 +163,7 @@
             </el-option>
           </el-select>
         </el-form-item>
-        <el-form-item
-          label="年度"
-          style="margin-bottom: 0"
-          label-width="200px"
-          prop="year"
-        >
+        <el-form-item label="年度" label-width="200px" prop="year">
           <span slot="label">
             年度
             <el-tooltip class="item" effect="light" placement="bottom">
@@ -185,19 +180,6 @@
               clearable
             />
           </div>
-          <!-- <el-select
-            v-model="form.year"
-            style="width: 100%"
-            filterable
-          >
-            <el-option
-              v-for="key in yearsOptions"
-              :key="key"
-              :label="key"
-              :value="key"
-            >
-            </el-option>
-          </el-select> -->
         </el-form-item>
         <el-form-item label-width="100px">
           <el-button type="primary" size="mini" @click="submitForm"
@@ -210,21 +192,20 @@
       </el-form>
     </div>
     <div ref="chart" :style="{ height: height, width: width }"></div>
-    <el-table :data="tableData" border style="width: 100%">
-      <el-table-column prop="id" label="企业ID"></el-table-column>
+    <el-table :data="tableData" border style="width: 100%" height="500">
+      <el-table-column prop="id" label="企业ID" width="100"></el-table-column>
       <el-table-column prop="enterpriseName" label="企业名称"></el-table-column>
-      <el-table-column
-        prop="landUsedInRecentThreeYears"
-        label="近三年用地/亩"
-        width="200"
-      >
+      <el-table-column prop="landUsedInRecentThreeYears" label="近三年用地/亩">
+        <template v-slot="scope">
+          <span>{{ scope.row.landUsedInRecentThreeYears.toFixed(2) }}</span>
+        </template>
       </el-table-column>
-      <el-table-column
-        prop="averageAnnualOutputValue"
-        label="年均产值/万元"
-        width="200"
-      ></el-table-column>
-      <el-table-column prop="output" label="年均亩均产值" width="200"
+      <el-table-column prop="averageAnnualOutputValue" label="年均产值/万元">
+        <template v-slot="scope">
+          <span>{{ scope.row.averageAnnualOutputValue.toFixed(2) }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column prop="output" label="年均亩均产值"
         ><template slot="header">
           <el-tooltip
             class="item"
@@ -235,8 +216,11 @@
             <span>年均亩均产值</span>
           </el-tooltip>
         </template>
+        <template v-slot="scope">
+          <span>{{ scope.row.output.toFixed(2) }}</span>
+        </template>
       </el-table-column>
-      <el-table-column prop="outputScore" label="亩均产值得分" width="200">
+      <el-table-column prop="outputScore" label="亩均产值得分">
         <template slot="header">
           <el-tooltip
             class="item"
@@ -246,14 +230,21 @@
           >
             <span>亩均产值得分</span>
           </el-tooltip>
-        </template></el-table-column
-      >
+        </template>
+        <template v-slot="scope">
+          <span>{{ scope.row.outputScore.toFixed(2) }}</span>
+        </template>
+      </el-table-column>
       <el-table-column
         prop="averageAnnualTaxPaid"
         label="年均实缴税金/万元"
-        width="200"
-      ></el-table-column>
-      <el-table-column prop="tax" label="年均亩均税收" width="200"
+        width="140"
+      >
+        <template v-slot="scope">
+          <span>{{ scope.row.averageAnnualTaxPaid.toFixed(2) }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column prop="tax" label="年均亩均税收"
         ><template slot="header">
           <el-tooltip
             class="item"
@@ -264,8 +255,11 @@
             <span>年均亩均税收</span>
           </el-tooltip>
         </template>
+        <template v-slot="scope">
+          <span>{{ scope.row.averageAnnualTaxPaid.toFixed(2) }}</span>
+        </template>
       </el-table-column>
-      <el-table-column prop="taxpaidScore" label="亩均税收得分" width="200">
+      <el-table-column prop="taxpaidScore" label="亩均税收得分">
         <template slot="header">
           <el-tooltip
             class="item"
@@ -275,9 +269,12 @@
           >
             <span>亩均税收得分</span>
           </el-tooltip>
-        </template></el-table-column
-      >
-      <el-table-column prop="scoreTotal" label="企业综合得分" width="200"
+        </template>
+        <template v-slot="scope">
+          <span>{{ scope.row.taxpaidScore.toFixed(2) }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column prop="scoreTotal" label="企业综合得分"
         ><template slot="header">
           <el-tooltip
             class="item"
@@ -288,6 +285,9 @@
             <span>企业综合得分</span>
           </el-tooltip>
         </template>
+        <template v-slot="scope">
+          <span>{{ scope.row.scoreTotal.toFixed(2) }}</span>
+        </template>
       </el-table-column>
     </el-table>
   </div>
@@ -332,7 +332,80 @@ export default {
         averageOutputValuePerMuInRecentThreeYears: null, // 近三年亩均产值
         averageTaxPerMuInRecentThreeYears: null, // 近三年亩均税收
       },
-      rules: {},
+      rules: {
+        annualOutputValue: [
+          { required: true, message: "请输入新增企业年产值", trigger: "blur" },
+          {
+            type: "number",
+            message: "企业年产值必须是数字",
+            trigger: ["blur", "change"],
+          },
+        ],
+        taxPaid: [
+          {
+            required: true,
+            message: "请输入新增企业年缴税收",
+            trigger: "blur",
+          },
+          {
+            type: "number",
+            message: "企业年缴税收必须是数字",
+            trigger: ["blur", "change"],
+          },
+        ],
+        landArea: [
+          {
+            required: true,
+            message: "请输入新增企业占地面积",
+            trigger: "blur",
+          },
+          {
+            type: "number",
+            message: "企业占地面积必须是数字",
+            trigger: ["blur", "change"],
+          },
+        ],
+        code: [
+          { required: true, message: "请选择行业代码", trigger: "change" },
+        ],
+        year: [
+          { required: true, message: "请输入年度", trigger: "blur" },
+          {
+            type: "number",
+            message: "年度必须是数字",
+            trigger: ["blur", "change"],
+          },
+          {
+            validator: (rule, value, callback) => {
+              const currentYear = new Date().getFullYear();
+              if (value < 1900 || value > currentYear) {
+                callback(
+                  new Error(`请输入合理的年度,示例:2025`)
+                );
+              } else {
+                callback();
+              }
+            },
+            trigger: ["blur"],
+          },
+        ],
+        averageOutputValuePerMuInRecentThreeYears: [
+          { required: true, message: "请输入近三年亩均产值", trigger: "blur" },
+          {
+            type: "number",
+            message: "近三年亩均产值必须是数字",
+            trigger: ["blur", "change"],
+          },
+        ],
+        averageTaxPerMuInRecentThreeYears: [
+          { required: true, message: "请输入近三年亩均税收", trigger: "blur" },
+          {
+            type: "number",
+            message: "近三年亩均税收必须是数字",
+            trigger: ["blur", "change"],
+          },
+        ],
+      },
       industryData: [],
       yearsOptions: [],
       enterTypeList: [],
@@ -443,7 +516,8 @@ export default {
       }
       // 更新图表数据
       that.chartData = that.handleData(that.BaseData);
-      console.log(that.chartData);
+      // console.log(that.chartData);
+      that.tableData = [];
       let totalValues = that.chartData
         .map((item) => item.scoreTotal)
         .filter((value) => {