|
|
@@ -21,68 +21,65 @@
|
|
|
:label="item.label"
|
|
|
:value="item.value"
|
|
|
>
|
|
|
- </el-option>
|
|
|
+ </el-option>
|
|
|
</el-select>
|
|
|
|
|
|
- <!-- 任务派发人 -->
|
|
|
- <el-select
|
|
|
- filterable
|
|
|
- v-model="input2"
|
|
|
- clearable
|
|
|
- @change="searchData"
|
|
|
- placeholder="请选择任务派发人"
|
|
|
- size="mini"
|
|
|
- >
|
|
|
- <el-option
|
|
|
- v-for="item in options"
|
|
|
- :key="item.value"
|
|
|
- :label="item.label"
|
|
|
- :value="item.value"
|
|
|
- >
|
|
|
- </el-option>
|
|
|
- </el-select>
|
|
|
-
|
|
|
- <!-- 任务状态 -->
|
|
|
- <el-select
|
|
|
- filterable
|
|
|
- v-model="value"
|
|
|
- @change="searchData"
|
|
|
- clearable
|
|
|
- placeholder="请选择任务状态"
|
|
|
- size="mini"
|
|
|
+ <!-- 任务监督人 -->
|
|
|
+ <el-select
|
|
|
+ filterable
|
|
|
+ v-model="input2"
|
|
|
+ clearable
|
|
|
+ @change="searchData"
|
|
|
+ placeholder="请选择任务监督人"
|
|
|
+ size="mini"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="item in options"
|
|
|
+ :key="item.value"
|
|
|
+ :label="item.label"
|
|
|
+ :value="item.value"
|
|
|
>
|
|
|
- <el-option
|
|
|
- v-for="item in options2"
|
|
|
- :key="item.value"
|
|
|
- :label="item.label"
|
|
|
- :value="item.value"
|
|
|
- >
|
|
|
- </el-option>
|
|
|
- </el-select>
|
|
|
-
|
|
|
- <!-- 时间筛选 -->
|
|
|
- <el-date-picker
|
|
|
- size="mini"
|
|
|
- v-model="value2"
|
|
|
- @change="searchData"
|
|
|
- type="datetimerange"
|
|
|
- range-separator="至"
|
|
|
- start-placeholder="开始日期"
|
|
|
- end-placeholder="结束日期"
|
|
|
- align="right"
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+
|
|
|
+ <!-- 任务状态 -->
|
|
|
+ <el-select
|
|
|
+ filterable
|
|
|
+ v-model="value"
|
|
|
+ @change="searchData"
|
|
|
+ clearable
|
|
|
+ placeholder="请选择任务状态"
|
|
|
+ size="mini"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="item in options2"
|
|
|
+ :key="item.value"
|
|
|
+ :label="item.label"
|
|
|
+ :value="item.value"
|
|
|
>
|
|
|
- </el-date-picker>
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
|
|
|
+ <!-- 时间筛选 -->
|
|
|
+ <el-date-picker
|
|
|
+ size="mini"
|
|
|
+ v-model="value2"
|
|
|
+ @change="searchData"
|
|
|
+ type="datetimerange"
|
|
|
+ range-separator="至"
|
|
|
+ start-placeholder="开始日期"
|
|
|
+ end-placeholder="结束日期"
|
|
|
+ align="right"
|
|
|
+ >
|
|
|
+ </el-date-picker>
|
|
|
|
|
|
- <div class="btn_box">
|
|
|
+ <div class="btn_box">
|
|
|
<el-button type="primary" size="mini" @click="searchData"
|
|
|
>搜索</el-button
|
|
|
>
|
|
|
- <el-button size="mini" @click="reset"
|
|
|
- >重置</el-button
|
|
|
- >
|
|
|
+ <el-button size="mini" @click="reset">重置</el-button>
|
|
|
|
|
|
- <el-button type="primary" size="mini" @click="reset"
|
|
|
+ <el-button type="primary" size="mini" @click="addTask"
|
|
|
>新增任务</el-button
|
|
|
>
|
|
|
|
|
|
@@ -99,64 +96,52 @@
|
|
|
:data="tableData"
|
|
|
v-loading="loading"
|
|
|
stripe
|
|
|
- style="width: 100%">
|
|
|
- <el-table-column
|
|
|
- prop="ind"
|
|
|
- label="序号"
|
|
|
- width="80">
|
|
|
- </el-table-column>
|
|
|
- <el-table-column
|
|
|
- prop="task_id"
|
|
|
- label="任务编号"
|
|
|
- width="100">
|
|
|
- </el-table-column>
|
|
|
- <el-table-column
|
|
|
- prop="task_type"
|
|
|
- label="任务类型">
|
|
|
- </el-table-column>
|
|
|
- <el-table-column
|
|
|
- prop="operator_user"
|
|
|
- label="任务处理人">
|
|
|
- </el-table-column>
|
|
|
- <el-table-column
|
|
|
- prop="owner_user"
|
|
|
- label="任务发布人">
|
|
|
+ style="width: 100%"
|
|
|
+ >
|
|
|
+ <el-table-column prop="ind" label="序号" width="80"> </el-table-column>
|
|
|
+ <el-table-column prop="task_id" label="任务编号" width="100">
|
|
|
</el-table-column>
|
|
|
- <el-table-column
|
|
|
- prop="supervisor_user"
|
|
|
- label="任务监督人">
|
|
|
+ <el-table-column prop="task_type" label="任务类型"> </el-table-column>
|
|
|
+ <el-table-column prop="operator_user" label="任务处理人">
|
|
|
</el-table-column>
|
|
|
- <el-table-column
|
|
|
- prop="start_time"
|
|
|
- label="任务时间">
|
|
|
+ <el-table-column prop="owner_user" label="任务发布人">
|
|
|
</el-table-column>
|
|
|
- <el-table-column
|
|
|
- prop="end_time"
|
|
|
- label="任务完成时间">
|
|
|
+ <el-table-column prop="supervisor_user" label="任务监督人">
|
|
|
</el-table-column>
|
|
|
- <el-table-column
|
|
|
- prop="task_status"
|
|
|
- label="任务状态">
|
|
|
+ <el-table-column prop="start_time" label="任务时间"></el-table-column>
|
|
|
+ <el-table-column prop="start_time" label="任务结束"></el-table-column>
|
|
|
+ <el-table-column prop="end_time" label="任务完成时间">
|
|
|
</el-table-column>
|
|
|
- <el-table-column
|
|
|
- label="操作">
|
|
|
- <template>
|
|
|
- <a
|
|
|
- class="reset"
|
|
|
- href="javascript:;"
|
|
|
- >查看</a
|
|
|
+ <el-table-column prop="task_status" label="任务状态">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <span
|
|
|
+ v-if="scope.row.task_status == '进行中'"
|
|
|
+ style="color: #E6A23C; font-weight: 550;"
|
|
|
+ >{{ scope.row.task_status }}</span
|
|
|
>
|
|
|
- <a
|
|
|
- class="reset"
|
|
|
- href="javascript:;"
|
|
|
- >编辑</a
|
|
|
+ <span
|
|
|
+ v-else-if="scope.row.task_status == '已完成'"
|
|
|
+ style="color: #67C23A; font-weight: 550;"
|
|
|
+ >{{ scope.row.task_status }}</span
|
|
|
>
|
|
|
+ <!-- <span
|
|
|
+ v-else-if="scope.row.is_overdue == true"
|
|
|
+ style="color: red;"
|
|
|
+ >{{ scocpe.row.task_status }}</span
|
|
|
+ > -->
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="操作">
|
|
|
+ <template slot-scope="scope">
|
|
|
<a
|
|
|
class="reset"
|
|
|
href="javascript:;"
|
|
|
- >删除</a
|
|
|
+ @click="examineDetail(scope.row)"
|
|
|
+ >查看</a
|
|
|
>
|
|
|
- </template>
|
|
|
+ <a class="reset" href="javascript:;">编辑</a>
|
|
|
+ <a class="reset" href="javascript:;">删除</a>
|
|
|
+ </template>
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
|
|
|
|
@@ -175,6 +160,221 @@
|
|
|
</el-pagination>
|
|
|
</el-card>
|
|
|
|
|
|
+ <!-- 新增任务 -->
|
|
|
+ <el-dialog
|
|
|
+ title="发布任务"
|
|
|
+ :visible.sync="dialogVisible"
|
|
|
+ width="45%"
|
|
|
+ :close-on-click-modal="false"
|
|
|
+ :close-on-press-escape="false"
|
|
|
+ >
|
|
|
+ <el-form
|
|
|
+ :model="ruleForm"
|
|
|
+ :rules="rules"
|
|
|
+ ref="ruleForm"
|
|
|
+ label-width="100px"
|
|
|
+ class="demo-ruleForm"
|
|
|
+ >
|
|
|
+ <div style="display: flex; flex-wrap: wrap;">
|
|
|
+ <!-- 任务处理人 -->
|
|
|
+ <el-form-item label="任务处理人" prop="region">
|
|
|
+ <el-select
|
|
|
+ clearable
|
|
|
+ multiple
|
|
|
+ filterable
|
|
|
+ size="mini"
|
|
|
+ v-model="ruleForm.region"
|
|
|
+ placeholder="请选择任务处理人"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="(item, index) in conductorList"
|
|
|
+ :key="index"
|
|
|
+ :label="item.label"
|
|
|
+ :value="item.value"
|
|
|
+ ></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+
|
|
|
+ <!-- 任务监督人 -->
|
|
|
+ <el-form-item label="任务监督人" prop="overseer">
|
|
|
+ <el-select
|
|
|
+ clearable
|
|
|
+ size="mini"
|
|
|
+ multiple
|
|
|
+ filterable
|
|
|
+ v-model="ruleForm.overseer"
|
|
|
+ placeholder="请选择任务监督人"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="(item, index) in options"
|
|
|
+ :key="index"
|
|
|
+ :label="item.label"
|
|
|
+ :value="item.value"
|
|
|
+ ></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+
|
|
|
+ <!-- 任务时间 -->
|
|
|
+ <el-form-item label="任务时间" required>
|
|
|
+ <el-col :span="11">
|
|
|
+ <el-form-item prop="date">
|
|
|
+ <el-date-picker
|
|
|
+ clearable
|
|
|
+ v-model="ruleForm.date"
|
|
|
+ type="date"
|
|
|
+ size="mini"
|
|
|
+ placeholder="选择日期"
|
|
|
+ >
|
|
|
+ </el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-form-item>
|
|
|
+
|
|
|
+ <!-- 任务类型 -->
|
|
|
+ <el-form-item label="任务类型" prop="type">
|
|
|
+ <el-select
|
|
|
+ size="mini"
|
|
|
+ v-model="ruleForm.type"
|
|
|
+ clearable
|
|
|
+ placeholder="请选择任务类型"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="(item, index) in typeList"
|
|
|
+ :key="index"
|
|
|
+ :label="item.label"
|
|
|
+ :value="item.value"
|
|
|
+ ></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <!-- 诱捕器 -->
|
|
|
+ <transition name="el-zoom-in-center">
|
|
|
+ <el-form-item
|
|
|
+ v-if="ruleForm.type == '有害生物监测'"
|
|
|
+ label="诱捕器"
|
|
|
+ prop="device"
|
|
|
+ style="width: 90%;"
|
|
|
+ >
|
|
|
+ <ul class="form_ul">
|
|
|
+ <li class="form_li">
|
|
|
+ <span class="form_li_tltie">+</span>
|
|
|
+ <span class="form_li_add" @click="addrDevice">去选择</span>
|
|
|
+ </li>
|
|
|
+
|
|
|
+ <!-- 设备列表 -->
|
|
|
+ <li class="form_li" v-for="item in 20" :key="item">
|
|
|
+ <div>
|
|
|
+ <img src="../../assets/images/taskRegulator/1.png" alt="" />
|
|
|
+ <span>设备编号</span>
|
|
|
+ </div>
|
|
|
+ </li>
|
|
|
+ </ul>
|
|
|
+ </el-form-item>
|
|
|
+ </transition>
|
|
|
+
|
|
|
+ <!-- 任务描述 -->
|
|
|
+ <el-form-item label="任务描述" prop="desc" style="width: 86%;">
|
|
|
+ <el-input
|
|
|
+ size="mini"
|
|
|
+ type="textarea"
|
|
|
+ resize="none"
|
|
|
+ v-model="ruleForm.desc"
|
|
|
+ :rows="5"
|
|
|
+ ></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item>
|
|
|
+ <el-button @click="resetForm('ruleForm')">取消</el-button>
|
|
|
+ <el-button type="primary" @click="submitForm('ruleForm')"
|
|
|
+ >发布</el-button
|
|
|
+ >
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ </el-dialog>
|
|
|
+
|
|
|
+ <!-- 选择诱捕器 -->
|
|
|
+ <el-dialog
|
|
|
+ title="选择诱捕器"
|
|
|
+ :close-on-click-modal="false"
|
|
|
+ :close-on-press-escape="false"
|
|
|
+ :visible.sync="deviceVisible"
|
|
|
+ width="45%"
|
|
|
+ >
|
|
|
+ <!-- 筛选 -->
|
|
|
+ <ul class="device_seek">
|
|
|
+ <!-- 监测点 -->
|
|
|
+ <li class="device_seek_list">
|
|
|
+ <el-select
|
|
|
+ clearable
|
|
|
+ multiple
|
|
|
+ filterable
|
|
|
+ size="mini"
|
|
|
+ v-model="deviceForm.monitorDot"
|
|
|
+ placeholder="监测点"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="(item, index) in conductorList"
|
|
|
+ :key="index"
|
|
|
+ :label="item.label"
|
|
|
+ :value="item.value"
|
|
|
+ ></el-option>
|
|
|
+ </el-select>
|
|
|
+ </li>
|
|
|
+
|
|
|
+ <!-- 组织 -->
|
|
|
+ <li class="device_seek_list">
|
|
|
+ <el-select
|
|
|
+ clearable
|
|
|
+ multiple
|
|
|
+ filterable
|
|
|
+ size="mini"
|
|
|
+ v-model="deviceForm.tissue"
|
|
|
+ placeholder="组织"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="(item, index) in conductorList"
|
|
|
+ :key="index"
|
|
|
+ :label="item.label"
|
|
|
+ :value="item.value"
|
|
|
+ ></el-option>
|
|
|
+ </el-select>
|
|
|
+ </li>
|
|
|
+
|
|
|
+ <!-- 设备编号 -->
|
|
|
+ <li class="device_seek_list">
|
|
|
+ <el-input
|
|
|
+ placeholder="设备编号"
|
|
|
+ v-model="deviceForm.serial"
|
|
|
+ size="mini"
|
|
|
+ clearable
|
|
|
+ >
|
|
|
+ </el-input>
|
|
|
+ </li>
|
|
|
+
|
|
|
+ <!-- 搜索 -->
|
|
|
+ <li class="device_seek_list">
|
|
|
+ <el-button type="success" size="mini">搜索</el-button>
|
|
|
+ </li>
|
|
|
+ </ul>
|
|
|
+
|
|
|
+ <!-- 设备列表 -->
|
|
|
+ <div>
|
|
|
+ <el-checkbox-group v-model="checkList">
|
|
|
+ <el-checkbox
|
|
|
+ label="设备编号12"
|
|
|
+ v-for="item in 130"
|
|
|
+ :key="item"
|
|
|
+ ></el-checkbox>
|
|
|
+ </el-checkbox-group>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <span slot="footer" class="dialog-footer">
|
|
|
+ <el-button size="mini" @click="deviceVisible = false">取 消</el-button>
|
|
|
+ <el-button size="mini" type="primary" @click="deviceVisible = false"
|
|
|
+ >确 定</el-button
|
|
|
+ >
|
|
|
+ </span>
|
|
|
+ </el-dialog>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
@@ -190,13 +390,22 @@ export default {
|
|
|
// 筛选
|
|
|
input: "", // 任务处理人
|
|
|
conductorList: [], // 任务处理人 - 列表
|
|
|
- input2: "", // 任务派发人
|
|
|
- options: [], // 任务派发人 - 列表
|
|
|
+ input2: "", // 任务监督人
|
|
|
+ options: [], // 任务监督人 - 列表
|
|
|
value: "", // 任务状态
|
|
|
- options2: [], // 任务状态 - 列表
|
|
|
- value2: '', //时间筛选
|
|
|
- startTime: '', // 开始时间
|
|
|
- endTime: '', // 结束时间
|
|
|
+ options2: [
|
|
|
+ {
|
|
|
+ value: "进行中",
|
|
|
+ label: "进行中"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ value: "已完成",
|
|
|
+ label: "已完成"
|
|
|
+ }
|
|
|
+ ], // 任务状态 - 列表
|
|
|
+ value2: "", //时间筛选
|
|
|
+ startTime: "", // 开始时间
|
|
|
+ endTime: "", // 结束时间
|
|
|
|
|
|
// 表格
|
|
|
tableData: [],
|
|
|
@@ -205,10 +414,85 @@ export default {
|
|
|
// 分页
|
|
|
page: 1, // 当前页码
|
|
|
tableSum: 0, // 总页码
|
|
|
+
|
|
|
+ // 新增任务弹框
|
|
|
+ dialogVisible: false,
|
|
|
+ ruleForm: {
|
|
|
+ region: [], // 任务处理人
|
|
|
+ overseer: [], // 任务监督人
|
|
|
+ date: "", // 任务时间
|
|
|
+ type: "", // 任务类型
|
|
|
+ device: "", // 诱捕器
|
|
|
+ desc: "" // 任务描述
|
|
|
+ },
|
|
|
+ rules: {
|
|
|
+ region: [
|
|
|
+ { required: true, message: "请选择任务处理人", trigger: "change" }
|
|
|
+ ],
|
|
|
+ overseer: [
|
|
|
+ { required: true, message: "请选择任务监督人", trigger: "change" }
|
|
|
+ ],
|
|
|
+ date: [
|
|
|
+ { required: true, message: "请选择任务时间", trigger: "change" }
|
|
|
+ ],
|
|
|
+ type: [
|
|
|
+ { required: true, message: "请选择任务类型", trigger: "change" }
|
|
|
+ ],
|
|
|
+ device: [
|
|
|
+ { required: true, message: "请选择诱捕器", trigger: "change" }
|
|
|
+ ],
|
|
|
+ desc: [{ required: true, message: "请填写任务描述", trigger: "blur" }]
|
|
|
+ },
|
|
|
+ // 任务类型
|
|
|
+ typeList: [
|
|
|
+ {
|
|
|
+ value: "有害生物监测",
|
|
|
+ label: "有害生物监测"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ value: "入境口岸监测调查",
|
|
|
+ label: "入境口岸监测调查"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ value: "外来有害杂草监测",
|
|
|
+ label: "外来有害杂草监测"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ value: "其他监测任务",
|
|
|
+ label: "其他监测任务"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ value: "挂放",
|
|
|
+ label: "挂放"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ value: "维护",
|
|
|
+ label: "维护"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+
|
|
|
+ // 选择诱捕器
|
|
|
+ deviceVisible: false,
|
|
|
+ deviceForm: {
|
|
|
+ monitorDot: "", // 监测点
|
|
|
+ tissue: "", // 组织
|
|
|
+ serial: "" // 设备编号
|
|
|
+ },
|
|
|
+ checkList: ["选中且禁用", "复选框 A"] // 设备列表
|
|
|
};
|
|
|
},
|
|
|
//监听属性 类似于data概念
|
|
|
- computed: {},
|
|
|
+ computed: {
|
|
|
+ // 新增任务 - 任务处理人
|
|
|
+ region() {
|
|
|
+ return this.ruleForm.region;
|
|
|
+ },
|
|
|
+
|
|
|
+ // 新增任务 - 任务监督人
|
|
|
+ overseer() {
|
|
|
+ return this.ruleForm.overseer;
|
|
|
+ }
|
|
|
+ },
|
|
|
//监控data中的数据变化
|
|
|
watch: {
|
|
|
fullHeight(val) {
|
|
|
@@ -223,6 +507,91 @@ export default {
|
|
|
}, 400);
|
|
|
}
|
|
|
},
|
|
|
+
|
|
|
+ // 任务处理人 - 筛选
|
|
|
+ input(val) {
|
|
|
+ if (val !== "") {
|
|
|
+ var name = "";
|
|
|
+ this.conductorList.forEach(item => {
|
|
|
+ if (item.value == val) {
|
|
|
+ name = item.label;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ for (var i = 0; i < this.options.length; i++) {
|
|
|
+ if (this.options[i].label == name) {
|
|
|
+ this.$delete(this.options, i);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else if (val == "") {
|
|
|
+ this.conductorAxios();
|
|
|
+ }
|
|
|
+ },
|
|
|
+
|
|
|
+ // 任务监督人 - 筛选
|
|
|
+ input2(val) {
|
|
|
+ if (val !== "") {
|
|
|
+ var name = "";
|
|
|
+ this.options.forEach(item => {
|
|
|
+ if (item.value == val) {
|
|
|
+ name = item.label;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ for (var i = 0; i < this.conductorList.length; i++) {
|
|
|
+ if (this.conductorList[i].label == name) {
|
|
|
+ this.$delete(this.conductorList, i);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else if (val == "") {
|
|
|
+ this.conductorAxios();
|
|
|
+ }
|
|
|
+ },
|
|
|
+
|
|
|
+ // 新增任务 - 任务处理人
|
|
|
+ region(newVal, oldVal) {
|
|
|
+ if (newVal.length !== 0) {
|
|
|
+ var ind = Number(newVal.length - 1);
|
|
|
+ this.conductorList.forEach((item, index) => {
|
|
|
+ var obj = {};
|
|
|
+ if (newVal[ind]) {
|
|
|
+ if (item.value == newVal[ind]) {
|
|
|
+ for (var i = 0; i < this.options.length; i++) {
|
|
|
+ if (this.options[i].label == item.label) {
|
|
|
+ this.$delete(this.options, i);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ this.conductorAxios();
|
|
|
+ }
|
|
|
+ },
|
|
|
+ // 新增任务 - 任务监督人
|
|
|
+ overseer(newVal, oldVal) {
|
|
|
+ if (newVal.length !== 0) {
|
|
|
+ var ind = Number(newVal.length - 1);
|
|
|
+ this.options.forEach((item, index) => {
|
|
|
+ if (newVal[ind]) {
|
|
|
+ if (item.value == newVal[ind]) {
|
|
|
+ for (var i = 0; i < this.conductorList.length; i++) {
|
|
|
+ if (this.conductorList[i].label == item.label) {
|
|
|
+ this.$delete(this.conductorList, i);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ this.conductorAxios();
|
|
|
+ }
|
|
|
+ },
|
|
|
+
|
|
|
+ // 新增任务弹框
|
|
|
+ dialogVisible(val) {
|
|
|
+ if (val == false) {
|
|
|
+ this.conductorAxios();
|
|
|
+ }
|
|
|
+ }
|
|
|
},
|
|
|
//方法集合
|
|
|
methods: {
|
|
|
@@ -238,14 +607,26 @@ export default {
|
|
|
},
|
|
|
|
|
|
// 筛选
|
|
|
- searchData() {},
|
|
|
+ searchData() {
|
|
|
+ if (this.value2) {
|
|
|
+ this.startTime = this.formatTime(this.value2[0], "yyyy-MM-dd");
|
|
|
+ this.endTime = this.formatTime(this.value2[1], "yyyy-MM-dd");
|
|
|
+ } else {
|
|
|
+ this.startTime = "";
|
|
|
+ this.endTime = "";
|
|
|
+ }
|
|
|
+
|
|
|
+ this.loading = true;
|
|
|
+ this.tableData = [];
|
|
|
+ this.tableList();
|
|
|
+ },
|
|
|
|
|
|
// 重置
|
|
|
reset() {},
|
|
|
|
|
|
// 分页
|
|
|
newPage(page) {
|
|
|
- this.page = page
|
|
|
+ this.page = page;
|
|
|
},
|
|
|
|
|
|
// 表格数据
|
|
|
@@ -255,49 +636,106 @@ export default {
|
|
|
url: "/api/api_gateway?method=control_center.task.task_list",
|
|
|
data: this.qs.stringify({
|
|
|
page: this.page, //当前页码
|
|
|
- page_item: '10',
|
|
|
+ page_item: "10",
|
|
|
operator_user_id: this.input, // 任务处理人id
|
|
|
owner_user_id: this.input2, // 任务发布id
|
|
|
start_time: this.startTime, // 开始时间
|
|
|
end_time: this.endTime, // 结束时间
|
|
|
- task_status: this.value, // 任务状态
|
|
|
+ task_status: this.value // 任务状态
|
|
|
})
|
|
|
- }).then((res) => {
|
|
|
- if (res.data.data.total_item !== 0) {
|
|
|
- var data = res.data.data.page_list
|
|
|
- this.tableSum = res.data.data.total_item
|
|
|
- var list = []
|
|
|
- data.forEach((item, index) => {
|
|
|
- item.ind = index
|
|
|
- list.push(item)
|
|
|
- });
|
|
|
- console.log(list)
|
|
|
- this.tableData = list
|
|
|
- this.loading = false
|
|
|
+ })
|
|
|
+ .then(res => {
|
|
|
+ if (res.data.data.total_item !== 0) {
|
|
|
+ var data = res.data.data.page_list;
|
|
|
+ this.tableSum = res.data.data.total_item;
|
|
|
+ var list = [];
|
|
|
+ data.forEach((item, index) => {
|
|
|
+ item.ind = index;
|
|
|
+ list.push(item);
|
|
|
+ });
|
|
|
+ console.log(list);
|
|
|
+ this.tableData = list;
|
|
|
+ }
|
|
|
+ this.loading = false;
|
|
|
+ })
|
|
|
+ .catch(err => {
|
|
|
+ this.loading = false;
|
|
|
+ console.log(err);
|
|
|
+ });
|
|
|
+ },
|
|
|
+
|
|
|
+ // 筛选列表 - 任务处理人
|
|
|
+ conductorAxios() {
|
|
|
+ this.$axios({
|
|
|
+ method: "POST",
|
|
|
+ url: "/api/api_gateway?method=control_center.task.task_user_list"
|
|
|
+ })
|
|
|
+ .then(res => {
|
|
|
+ if (res.data.data.operator_user_list.length !== 0) {
|
|
|
+ var data = res.data.data.operator_user_list; // 处理人
|
|
|
+ var data1 = res.data.data.supervisor_user_list; // 监督人
|
|
|
+ // 处理人
|
|
|
+ var list = [];
|
|
|
+ data.forEach(item => {
|
|
|
+ var obj = {};
|
|
|
+ obj["value"] = item.user_id;
|
|
|
+ obj["label"] = item.real_name;
|
|
|
+ list.push(obj);
|
|
|
+ });
|
|
|
+ this.conductorList = list;
|
|
|
+
|
|
|
+ // 监督人
|
|
|
+ var list1 = [];
|
|
|
+ data1.forEach(item => {
|
|
|
+ var obj = {};
|
|
|
+ obj["value"] = item.user_id;
|
|
|
+ obj["label"] = item.real_name;
|
|
|
+ list1.push(obj);
|
|
|
+ });
|
|
|
+ this.options = list1;
|
|
|
+ }
|
|
|
+ })
|
|
|
+ .catch(err => {});
|
|
|
+ },
|
|
|
+
|
|
|
+ // 新建任务 - 弹框
|
|
|
+ addTask() {
|
|
|
+ this.dialogVisible = true;
|
|
|
+ },
|
|
|
+
|
|
|
+ // 新建任务 - 发布
|
|
|
+ submitForm(formName) {
|
|
|
+ this.$refs[formName].validate(valid => {
|
|
|
+ if (valid) {
|
|
|
+ alert("submit!");
|
|
|
+ } else {
|
|
|
+ console.log("error submit!!");
|
|
|
+ return false;
|
|
|
}
|
|
|
- }).catch((err) => {
|
|
|
- this.loading = false
|
|
|
- console.log(err)
|
|
|
});
|
|
|
},
|
|
|
+
|
|
|
+ // 新建任务 - 取消
|
|
|
+ resetForm(formName) {
|
|
|
+ this.$refs[formName].resetFields();
|
|
|
+ },
|
|
|
+
|
|
|
+ // 新建任务 - 诱捕器 - 添加
|
|
|
+ addrDevice() {
|
|
|
+ this.deviceVisible = true;
|
|
|
+ }
|
|
|
},
|
|
|
//生命周期 - 创建完成(可以访问当前this实例)
|
|
|
created() {},
|
|
|
//生命周期 - 挂载完成(可以访问DOM元素)
|
|
|
mounted() {
|
|
|
- this.loading = true
|
|
|
+ this.loading = true;
|
|
|
this.tableList(); // 表格数据
|
|
|
- },
|
|
|
- beforeCreate() {}, //生命周期 - 创建之前
|
|
|
- beforeMount() {}, //生命周期 - 挂载之前
|
|
|
- beforeUpdate() {}, //生命周期 - 更新之前
|
|
|
- updated() {}, //生命周期 - 更新之后
|
|
|
- beforeDestroy() {}, //生命周期 - 销毁之前
|
|
|
- destroyed() {}, //生命周期 - 销毁完成
|
|
|
- activated() {} //如果页面有keep-alive缓存功能,这个函数会触发
|
|
|
+ this.conductorAxios(); // 筛选列表 - 任务处理人
|
|
|
+ }
|
|
|
};
|
|
|
</script>
|
|
|
-<style lang='less' scoped>
|
|
|
+<style lang="less" scoped>
|
|
|
.taskRegulator_box {
|
|
|
// 搜索
|
|
|
.search_box {
|
|
|
@@ -327,6 +765,59 @@ export default {
|
|
|
/deep/.el-card {
|
|
|
overflow: hidden;
|
|
|
overflow-y: auto;
|
|
|
- }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 新增弹框
|
|
|
+ /deep/.el-form-item {
|
|
|
+ width: 50%;
|
|
|
+ }
|
|
|
+ /deep/.el-date-editor {
|
|
|
+ width: 195px;
|
|
|
+ }
|
|
|
+ /deep/.el-form-item__error {
|
|
|
+ width: 130px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .form_ul {
|
|
|
+ // border: 1px solid #000;
|
|
|
+ display: flex;
|
|
|
+ flex-wrap: wrap;
|
|
|
+ .form_li {
|
|
|
+ margin: 0 25px 0 0;
|
|
|
+ div {
|
|
|
+ position: relative;
|
|
|
+ img {
|
|
|
+ cursor: pointer;
|
|
|
+ position: absolute;
|
|
|
+ right: -10px;
|
|
|
+ top: 4px;
|
|
|
+ width: 15px;
|
|
|
+ height: 15px;
|
|
|
+ }
|
|
|
+ span {
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .form_li_tltie {
|
|
|
+ cursor: pointer;
|
|
|
+ font-size: 15px;
|
|
|
+ }
|
|
|
+ .form_li_add {
|
|
|
+ cursor: pointer;
|
|
|
+ color: #1890ff;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 诱捕器选择弹框
|
|
|
+ .device_seek {
|
|
|
+ display: flex;
|
|
|
+ justify-content: space-between;
|
|
|
+ .device_seek_list {
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /deep/.el-checkbox {
|
|
|
+ margin: 10px 30px 10px 0;
|
|
|
+ }
|
|
|
}
|
|
|
-</style>
|
|
|
+</style>
|