|
|
@@ -1,4 +1,4 @@
|
|
|
-<!-- 样地调查表 -->
|
|
|
+<!-- 样地调查表 外来入侵 -->
|
|
|
<template>
|
|
|
<div class="form-page">
|
|
|
<div class="form-page__search">
|
|
|
@@ -20,22 +20,7 @@
|
|
|
>
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
- <el-select
|
|
|
- v-model="queryInfo.user_name"
|
|
|
- placeholder="请选择调查人"
|
|
|
- size="mini"
|
|
|
- clearable
|
|
|
- @change="search"
|
|
|
- filterable
|
|
|
- >
|
|
|
- <el-option
|
|
|
- v-for="item in organizationList"
|
|
|
- :key="item.org_name"
|
|
|
- :label="item.org_name"
|
|
|
- :value="item.org_name"
|
|
|
- >
|
|
|
- </el-option>
|
|
|
- </el-select>
|
|
|
+ <UserIDSelectComponent v-model="queryInfo.user_id" />
|
|
|
<el-date-picker
|
|
|
v-model="queryInfo.select_time"
|
|
|
type="date"
|
|
|
@@ -68,25 +53,35 @@
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column
|
|
|
- prop="trap_number"
|
|
|
- label="样本编号"
|
|
|
+ prop="sample_addr"
|
|
|
+ label="标准样地地点"
|
|
|
></el-table-column>
|
|
|
- <el-table-column prop="point_name" label="样本名称">
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop="inducer_type" label="标识"> </el-table-column>
|
|
|
- <el-table-column prop="pest_type_num" label="数量"> </el-table-column>
|
|
|
- <el-table-column prop="pest_number" label="检测项目与方法">
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop="user_name" label="形态学鉴定">
|
|
|
+ <el-table-column
|
|
|
+ prop="sample_num"
|
|
|
+ label="标准样地编号"
|
|
|
+ ></el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="sample_area"
|
|
|
+ label="样地面积"
|
|
|
+ ></el-table-column>
|
|
|
+ <el-table-column prop="lng" label="经度"> </el-table-column>
|
|
|
+ <el-table-column prop="lat" label="纬度"> </el-table-column>
|
|
|
+ <el-table-column prop="height" label="海拔"> </el-table-column>
|
|
|
+ <el-table-column prop="occurs" label="发生境"> </el-table-column>
|
|
|
+ <el-table-column prop="pest_name" label="物种名称"> </el-table-column>
|
|
|
+ <el-table-column prop="pest_name_2" label="当地俗名">
|
|
|
</el-table-column>
|
|
|
- <el-table-column prop="operation_type" label="分子生物学鉴定">
|
|
|
+ <el-table-column prop="is_check" label="是否需要辅助调查">
|
|
|
</el-table-column>
|
|
|
- <el-table-column prop="operation_type" label="鉴定结果">
|
|
|
+ <el-table-column prop="harm_obj" label="危害对象"> </el-table-column>
|
|
|
+ <el-table-column prop="harm_place" label="危害部位">
|
|
|
</el-table-column>
|
|
|
- <el-table-column prop="operation_type" label="备注">
|
|
|
+ <el-table-column prop="is_gather" label="是否采集样本">
|
|
|
</el-table-column>
|
|
|
- <el-table-column prop="report_time" label="鉴定时间" width="200">
|
|
|
+ <el-table-column prop="user_name" label="调查人"> </el-table-column>
|
|
|
+ <el-table-column prop="submit_time" label="调查时间">
|
|
|
</el-table-column>
|
|
|
+
|
|
|
<el-table-column label="操作" width="200">
|
|
|
<template slot-scope="scope">
|
|
|
<el-button type="info" size="mini" @click="handleEdit(scope.row)">
|
|
|
@@ -116,57 +111,59 @@
|
|
|
:close-on-press-escape="false"
|
|
|
>
|
|
|
<el-form
|
|
|
- :model="ruleForm"
|
|
|
+ :model="baseForm"
|
|
|
:rules="rules"
|
|
|
- ref="ruleForm"
|
|
|
+ ref="baseForm"
|
|
|
label-width="140px"
|
|
|
>
|
|
|
- <el-form-item label-width="20px">
|
|
|
+ <el-form-item label-width="20px" v-if="baseForm.as_id">
|
|
|
<el-descriptions>
|
|
|
- <el-descriptions-item label="调查人">张三</el-descriptions-item>
|
|
|
- <el-descriptions-item label="调查时间"
|
|
|
- >2023年2月15日</el-descriptions-item
|
|
|
- >
|
|
|
+ <el-descriptions-item label="调查人">{{
|
|
|
+ baseForm.user_name
|
|
|
+ }}</el-descriptions-item>
|
|
|
+ <el-descriptions-item label="调查时间">{{
|
|
|
+ baseForm.submit_time
|
|
|
+ }}</el-descriptions-item>
|
|
|
</el-descriptions>
|
|
|
</el-form-item>
|
|
|
|
|
|
<!-- start -->
|
|
|
<el-row :gutter="20">
|
|
|
<el-col :span="8">
|
|
|
- <el-form-item label="标准样地地点:" prop="desc">
|
|
|
- <el-input v-model="ruleForm.desc"></el-input>
|
|
|
+ <el-form-item label="标准样地地点:" prop="sample_addr">
|
|
|
+ <el-input v-model="baseForm.sample_addr"></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="8">
|
|
|
- <el-form-item label="标准样地编号:" prop="region">
|
|
|
- <el-input v-model="ruleForm.desc"></el-input>
|
|
|
+ <el-form-item label="标准样地编号:" prop="sample_num">
|
|
|
+ <el-input v-model="baseForm.sample_num"></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="8">
|
|
|
- <el-form-item label="标准样地面积:" prop="region">
|
|
|
- <el-input v-model="ruleForm.desc"></el-input>
|
|
|
+ <el-form-item label="标准样地面积:" prop="sample_area">
|
|
|
+ <el-input v-model="baseForm.sample_area"></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
<el-row :gutter="20">
|
|
|
<el-col :span="8">
|
|
|
- <el-form-item label="经度:" prop="desc">
|
|
|
- <el-input v-model="ruleForm.desc"></el-input>
|
|
|
+ <el-form-item label="经度:" prop="lng">
|
|
|
+ <el-input v-model="baseForm.lng"></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="8">
|
|
|
- <el-form-item label="纬度:" prop="region">
|
|
|
- <el-input v-model="ruleForm.desc"></el-input>
|
|
|
+ <el-form-item label="纬度:" prop="lat">
|
|
|
+ <el-input v-model="baseForm.lat"></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="8">
|
|
|
- <el-form-item label="海拔:" prop="region">
|
|
|
- <el-input v-model="ruleForm.desc"></el-input>
|
|
|
+ <el-form-item label="海拔:" prop="height">
|
|
|
+ <el-input v-model="baseForm.height"></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
- <el-form-item label="发生生境:" prop="desc">
|
|
|
- <el-checkbox-group v-model="ruleForm.addressList">
|
|
|
+ <el-form-item label="发生生境:" prop="occurs_list">
|
|
|
+ <el-checkbox-group v-model="baseForm.occurs_list">
|
|
|
<el-row v-for="item in habitatList" :key="item.value">
|
|
|
<el-col>
|
|
|
<el-checkbox :label="item.value">{{ item.label }}</el-checkbox>
|
|
|
@@ -193,97 +190,104 @@
|
|
|
</el-form-item>
|
|
|
<el-row :gutter="20">
|
|
|
<el-col :span="8">
|
|
|
- <el-form-item label="物体名称(中文):" prop="desc">
|
|
|
- <el-input v-model="ruleForm.desc"></el-input>
|
|
|
+ <el-form-item label="物种名称(中文):" prop="pest_name">
|
|
|
+ <el-input v-model="baseForm.pest_name"></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="8">
|
|
|
- <el-form-item label="拉丁学名:" prop="region">
|
|
|
- <el-input v-model="ruleForm.desc"></el-input>
|
|
|
+ <el-form-item label="拉丁学名:" prop="pest_name_2">
|
|
|
+ <el-input v-model="baseForm.pest_name_2"></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="8">
|
|
|
- <el-form-item label="当地俗名:" prop="region">
|
|
|
- <el-input v-model="ruleForm.desc"></el-input>
|
|
|
+ <el-form-item label="当地俗名:" prop="pest_name_3">
|
|
|
+ <el-input v-model="baseForm.pest_name_3"></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
<el-row :gutter="20">
|
|
|
<el-col :span="8">
|
|
|
- <el-form-item label="是否需要辅助调查:" prop="desc">
|
|
|
- <el-input v-model="ruleForm.desc"></el-input>
|
|
|
+ <el-form-item label="是否需要辅助调查:" prop="is_check">
|
|
|
+ <el-input v-model="baseForm.is_check"></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="8">
|
|
|
- <el-form-item label="危害对象:" prop="region">
|
|
|
- <el-input v-model="ruleForm.desc"></el-input>
|
|
|
+ <el-form-item label="危害对象:" prop="harm_obj">
|
|
|
+ <el-input v-model="baseForm.harm_obj"></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
<el-row :gutter="20">
|
|
|
<el-col :span="8">
|
|
|
- <el-form-item label="危害植物:" prop="desc">
|
|
|
- <el-input v-model="ruleForm.desc"></el-input>
|
|
|
+ <el-form-item label="危害植物:" prop="harm_crop">
|
|
|
+ <el-input v-model="baseForm.harm_crop"></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="8">
|
|
|
- <el-form-item label="危害部位:" prop="region">
|
|
|
- <el-input v-model="ruleForm.desc"></el-input>
|
|
|
+ <el-form-item label="危害部位:" prop="harm_place">
|
|
|
+ <el-input v-model="baseForm.harm_place"></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
- <el-table :data="ruleForm.tableList" border style="margin-bottom:20px;">
|
|
|
+ <el-table :data="baseForm.tableList" border style="margin-bottom:20px;">
|
|
|
<el-table-column label="样方/样线编号" align="center">
|
|
|
<template slot-scope="scope">
|
|
|
- <el-checkbox :label="scope.row.id"></el-checkbox>
|
|
|
+ {{ scope.row.row_name }}
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column label="1" align="center" width="120">
|
|
|
<template slot-scope="scope">
|
|
|
- <el-checkbox :label="scope.row.id"></el-checkbox>
|
|
|
+ <el-input v-model="scope.row.num1"></el-input>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column label="2" align="center" width="120">
|
|
|
<template slot-scope="scope">
|
|
|
- <el-checkbox :label="scope.row.id"></el-checkbox>
|
|
|
+ <el-input v-model="scope.row.num1"></el-input>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column label="3" align="center" width="120">
|
|
|
<template slot-scope="scope">
|
|
|
- <el-checkbox :label="scope.row.id"></el-checkbox>
|
|
|
+ <el-input v-model="scope.row.num1"></el-input>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column label="4" align="center" width="120">
|
|
|
<template slot-scope="scope">
|
|
|
- <el-checkbox :label="scope.row.id"></el-checkbox>
|
|
|
+ <el-input v-model="scope.row.num1"></el-input>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column label="5" align="center" width="120">
|
|
|
<template slot-scope="scope">
|
|
|
- <el-checkbox :label="scope.row.id"></el-checkbox>
|
|
|
+ <el-input v-model="scope.row.num1"></el-input>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column label="平均值" align="center" width="120">
|
|
|
<template slot-scope="scope">
|
|
|
- <el-checkbox :label="scope.row.id"></el-checkbox>
|
|
|
+ <el-input v-model="scope.row.num1"></el-input>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
|
<el-row :gutter="20">
|
|
|
<el-col :span="8">
|
|
|
- <el-form-item label="是否采集标本:" prop="desc">
|
|
|
- <el-input v-model="ruleForm.desc"></el-input>
|
|
|
+ <el-form-item label="是否采集标本:" prop="is_gather">
|
|
|
+ <el-switch
|
|
|
+ v-model="baseForm.is_gather"
|
|
|
+ active-color="#13ce66"
|
|
|
+ inactive-color="#ff4949"
|
|
|
+ active-value="是"
|
|
|
+ inactive-value="否"
|
|
|
+ >
|
|
|
+ </el-switch>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
<!-- end -->
|
|
|
</el-form>
|
|
|
<span slot="footer" class="dialog-footer">
|
|
|
- <el-button @click="resetForm('ruleForm')">取 消</el-button>
|
|
|
+ <el-button @click="resetForm('baseForm')">取 消</el-button>
|
|
|
<el-button
|
|
|
:disabled="dialogSubmitLoading"
|
|
|
type="primary"
|
|
|
- @click="submitForm('ruleForm')"
|
|
|
+ @click="submitForm('baseForm')"
|
|
|
>确定</el-button
|
|
|
>
|
|
|
</span>
|
|
|
@@ -292,8 +296,10 @@
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
+import UserIDSelectComponent from './components/userSelect.vue';
|
|
|
+
|
|
|
export default {
|
|
|
- components: {},
|
|
|
+ components: { UserIDSelectComponent },
|
|
|
data() {
|
|
|
//这里存放数据
|
|
|
return {
|
|
|
@@ -301,7 +307,7 @@ export default {
|
|
|
page: 1,
|
|
|
select_time: '', //
|
|
|
org_name: '', //
|
|
|
- user_name: '' //
|
|
|
+ user_id: '' //
|
|
|
},
|
|
|
tableData: [],
|
|
|
total: 10,
|
|
|
@@ -322,6 +328,90 @@ export default {
|
|
|
addressList: [],
|
|
|
tableList: []
|
|
|
},
|
|
|
+ baseForm: {
|
|
|
+ as_id: '', //id
|
|
|
+ sample_addr: '', // 标准样地地点
|
|
|
+ sample_num: '', // 标准样地编号
|
|
|
+ lng: '', // 经度,
|
|
|
+ lat: '', // 纬度,
|
|
|
+ height: '', // 海拔
|
|
|
+ sample_area: '', //标准样地面积
|
|
|
+ occurs: '', // 发生境
|
|
|
+ occurs_list: [],
|
|
|
+ pest_name: '', //物种名称
|
|
|
+ pest_name_2: '', //拉丁学名
|
|
|
+ pest_name_3: '', //当地俗名
|
|
|
+ is_check: '是', // 是否需要辅助调查 是/否
|
|
|
+ harm_obj: '', //危害对象
|
|
|
+ harm_crop: '', //危害植物
|
|
|
+ sample_no_1: '1', // 样方/样线编号1
|
|
|
+ check_num_1: '', // 调查株数/样线长度
|
|
|
+ harm_num_1: '', // 受害株数
|
|
|
+ harm_rate_1: '', // 危害率
|
|
|
+ sample_no_2: '2', // 样方/样线编号2
|
|
|
+ check_num_2: '', // 调查株数/样线长度
|
|
|
+ harm_num_2: '', // 受害株数
|
|
|
+ harm_rate_2: '', // 危害率
|
|
|
+ sample_no_3: '3', // 样方/样线编号3
|
|
|
+ check_num_3: '', // 调查株数/样线长度
|
|
|
+ harm_num_3: '', // 受害株数
|
|
|
+ harm_rate_3: '', // 危害率
|
|
|
+ sample_no_4: '4', // 样方/样线编号4
|
|
|
+ check_num_4: '', // 调查株数/样线长度
|
|
|
+ harm_num_4: '', // 受害株数
|
|
|
+ harm_rate_4: '', // 危害率
|
|
|
+ sample_no_5: '5', // 样方/样线编号5
|
|
|
+ check_num_5: '', // 调查株数/样线长度
|
|
|
+ harm_num_5: '', // 受害株数
|
|
|
+ harm_rate_5: '', // 危害率
|
|
|
+ sample_no_6: '6', // 样方/样线编号 平均值
|
|
|
+ check_num_6: '', // 调查株数/样线长度
|
|
|
+ harm_num_6: '', // 受害株数
|
|
|
+ harm_rate_6: '', // 危害率
|
|
|
+ harm_place: '', // 危害部位
|
|
|
+ is_gather: '是', // 是否采集标本 是/否
|
|
|
+ tableList: [
|
|
|
+ // {
|
|
|
+ // row_key: 'sample_no',
|
|
|
+ // sample_no_1: '',
|
|
|
+ // sample_no_2: '',
|
|
|
+ // sample_no_3: '',
|
|
|
+ // sample_no_4: '',
|
|
|
+ // sample_no_5: '',
|
|
|
+ // sample_no_6: '',
|
|
|
+ // },
|
|
|
+ {
|
|
|
+ row_name: '调查株数/样线长度',
|
|
|
+ row_key: 'check_num',
|
|
|
+ num_1: '',
|
|
|
+ num_2: '',
|
|
|
+ num_3: '',
|
|
|
+ num_4: '',
|
|
|
+ num_5: '',
|
|
|
+ num_6: ''
|
|
|
+ },
|
|
|
+ {
|
|
|
+ row_name: '受害株数/受害病株所垮长度',
|
|
|
+ row_key: 'harm_num',
|
|
|
+ num_1: '',
|
|
|
+ num_2: '',
|
|
|
+ num_3: '',
|
|
|
+ num_4: '',
|
|
|
+ num_5: '',
|
|
|
+ num_6: ''
|
|
|
+ },
|
|
|
+ {
|
|
|
+ row_name: '危害率(%)',
|
|
|
+ row_key: 'harm_rate',
|
|
|
+ num_1: '',
|
|
|
+ num_2: '',
|
|
|
+ num_3: '',
|
|
|
+ num_4: '',
|
|
|
+ num_5: '',
|
|
|
+ num_6: ''
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ },
|
|
|
rules: {
|
|
|
name: [
|
|
|
{ required: true, message: '请输入活动名称', trigger: 'blur' },
|
|
|
@@ -432,20 +522,17 @@ export default {
|
|
|
//方法集合
|
|
|
methods: {
|
|
|
getDataList() {
|
|
|
- //获取设备列表
|
|
|
+ //列表
|
|
|
this.loading = true;
|
|
|
this.$axios({
|
|
|
method: 'POST',
|
|
|
- url: '/api/api_gateway?method=data_report.report.get_trap_list',
|
|
|
+ url: '/api/api_gateway?method=data_report.info.alien_specie_list',
|
|
|
data: this.qs.stringify({
|
|
|
page_item: 20,
|
|
|
page: this.queryInfo.page,
|
|
|
- trap_number: this.queryInfo.trap_number, // 非必传(string) 设备编号 搜索项
|
|
|
- point_name: this.queryInfo.point_name, // 非必传(string) 设备所属监测点 搜索项
|
|
|
- org_name: this.queryInfo.org_name, // 非必传(string) 设备所属组织 搜索项
|
|
|
- user_name: this.queryInfo.user_name, // 非必传(string) 填报人名字 搜索项
|
|
|
- start_time: this.queryInfo.start_time, // 非必传(string) 开始时间 搜索项
|
|
|
- end_time: this.queryInfo.end_time // 非必传(string) 结束时间 搜索项
|
|
|
+ user_id: this.queryInfo.user_id, //
|
|
|
+ select_time: this.queryInfo.select_time, //
|
|
|
+ org_name: this.queryInfo.org_name //
|
|
|
})
|
|
|
}).then(res => {
|
|
|
this.loading = false;
|
|
|
@@ -476,7 +563,51 @@ export default {
|
|
|
submitForm(formName) {
|
|
|
this.$refs[formName].validate(valid => {
|
|
|
if (valid) {
|
|
|
- alert('submit!');
|
|
|
+ this.dialogSubmitLoading = true;
|
|
|
+
|
|
|
+ if (!this.baseForm.as_id) {
|
|
|
+ // 添加
|
|
|
+ const payload = omit(this.baseForm, ['as_id']);
|
|
|
+ this.$axios({
|
|
|
+ method: 'POST',
|
|
|
+ url: '/api/api_gateway?method=data_report.info.alien_specie_add',
|
|
|
+ data: this.qs.stringify(payload)
|
|
|
+ })
|
|
|
+ .then(res => {
|
|
|
+ this.$message({
|
|
|
+ type: 'success',
|
|
|
+ message: '新增成功!',
|
|
|
+ duration: 1500
|
|
|
+ });
|
|
|
+ this.resetForm(formName);
|
|
|
+ this.search();
|
|
|
+ })
|
|
|
+ .finally(() => {
|
|
|
+ this.dialogSubmitLoading = false;
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ // 编辑
|
|
|
+ // 添加
|
|
|
+ const payload = omit(this.baseForm, ['check_time']);
|
|
|
+ this.$axios({
|
|
|
+ method: 'POST',
|
|
|
+ url:
|
|
|
+ '/api/api_gateway?method=data_report.info.alien_specie_modify',
|
|
|
+ data: this.qs.stringify(payload)
|
|
|
+ })
|
|
|
+ .then(res => {
|
|
|
+ this.$message({
|
|
|
+ type: 'success',
|
|
|
+ message: '更新成功!',
|
|
|
+ duration: 1500
|
|
|
+ });
|
|
|
+ this.resetForm(formName);
|
|
|
+ this.search();
|
|
|
+ })
|
|
|
+ .finally(() => {
|
|
|
+ this.dialogSubmitLoading = false;
|
|
|
+ });
|
|
|
+ }
|
|
|
} else {
|
|
|
console.log('error submit!!');
|
|
|
return false;
|