index.vue 24.7 KB
Newer Older
yaqizhang's avatar
yaqizhang committed
1
<template>
yaqizhang's avatar
yaqizhang committed
2 3 4 5
  <div class="app-container detail" style="background-color: rgb(238, 241, 245);">
    <!-- 工单信息 -->
    <div style="padding-top: 10px;background: #fff;height: 100%;">
      <el-row>
yaqizhang's avatar
yaqizhang committed
6
        <el-col :span="24" style="padding-left: 15px;margin-bottom: -10px;">
yaqizhang's avatar
yaqizhang committed
7 8 9 10 11 12 13 14
          <div style="height: 45px;" @click="$router.go(-1)">
            <el-button size="medium" type="text" style="font-size: 18px; color: rgb(7, 63, 112);float: left;">返回
            </el-button>
            <div style="float: left;margin-top: 8px;margin-left: 5px;"><img src="../../../assets/logo/fanhui.png"
                style="width: 25px;" alt=""></div>
          </div>
        </el-col>
      </el-row>
yaqizhang's avatar
yaqizhang committed
15
      <el-row style="width: 100%;height: 40px;">
yaqizhang's avatar
yaqizhang committed
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
        <el-col :span="24">
          <div style="">
            <ul>
              <li style="list-style: none;font-weight: 900;font-size: 20px;color: #053b6a;">工单基础信息详情</li>
            </ul>
          </div>
        </el-col>
      </el-row>
      <el-steps :active="active" finish-status="success" simple prop="orderStatus" style="margin-top: 5px">
        <el-step title="未接收"></el-step>
        <el-step title="已接收"></el-step>
        <!--  <el-step title="进行中" ></el-step>-->
        <el-step title="已反馈"></el-step>
        <el-step title="已归档"></el-step>
      </el-steps>

      <el-divider></el-divider>



yaqizhang's avatar
yaqizhang committed
36
      <el-row style="width: 100%;margin-top: -15px;">
yaqizhang's avatar
yaqizhang committed
37 38 39 40 41 42 43 44
        <el-col :span="24">
          <div style="color: #31EAEA;height: 25px;">
            <ul>
              <li>详细信息</li>
            </ul>
          </div>
        </el-col>
      </el-row>
yaqizhang's avatar
yaqizhang committed
45
      <el-row style="width: 100%;padding: 10px;padding-left: 40px;margin-bottom: -10px;">
yaqizhang's avatar
yaqizhang committed
46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83
        <el-col :span="6">
          <el-form ref="form" v-model="form" :rules="rules" style="width: 100%;">
            <el-form-item label="工单类型:" prop="orderType" style="margin-bottom: 0px;">
              <font v-if="form.orderType == 1">巡检信息</font>
              <font v-if="form.orderType == 2">隐患信息</font>
              <font v-if="form.orderType == 3">报警信息</font>
            </el-form-item>
            <el-form-item label="工单编号:" prop="orderId" style="margin-bottom: 0px;">
              <font>{{form.orderId}}</font>
            </el-form-item>
            <el-form-item label="工单名称:" prop="orderName" style="margin-bottom: 0px;">
              <font>{{form.orderName}}</font>
            </el-form-item>
            <el-form-item label="工单状态:" prop="orderStatus" style="margin-bottom: 0px;">
              <font v-if="form.orderStatus == 0">未接收</font>
              <font v-if="form.orderStatus == 1">已接收</font>
              <font v-if="form.orderStatus == 2">已反馈</font>
              <font v-if="form.orderStatus == 3">已归档</font>
            </el-form-item>
            <el-form-item label="指定执行人员:" prop="appointInspectorName" style="margin-bottom: 0px;">
              <font>{{form.appointInspectorName}}</font>
            </el-form-item>
            <el-form-item label="工单描述:" prop="remarks" style="margin-bottom: 0px;width: 170%;">
              <font>{{form.remarks}}</font>
            </el-form-item>
          </el-form>
        </el-col>
        <el-col :span="6">
          <el-form ref="form" v-model="form" :rules="rules" style="width: 100%;">
            <el-form-item label="设备类型:" prop="deviceType" v-if="form.orderType != 1" style="margin-bottom: 0px;">
              <font v-if="form.deviceType == 0">管道</font>
              <font v-if="form.deviceType == 1">调压阀</font>
              <font v-if="form.deviceType == 2">阀门井</font>
              <font v-if="form.deviceType == 3">流量计</font>
              <font v-if="form.deviceType == 4">压力表</font>
            </el-form-item>
            <el-form-item label="设备名称:" prop="deviceName" style="margin-bottom: 0px;">
              <font v-if="form.orderType != 1">{{form.deviceName}}</font>
yaqizhang's avatar
yaqizhang committed
84
              <el-tree style="margin-top: 5px;margin-left: 70px;" :data="deviceOptions" :props="defaultProps" :expand-on-click-node="false" ref="tree"
yaqizhang's avatar
yaqizhang committed
85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111
                @node-click="handleNodeClick" v-if="form.orderType == 1" />
            </el-form-item>
            <el-form-item label="设备位置:" v-if="form.orderType != 1" style="margin-bottom: 0px;">
              <font v-if="form.deviceType == 0">{{form.pipeList?form.pipeList[0].pipeAddr:"-"}}</font>
              <font v-if="form.deviceType != 0">{{form.deviceInfoList?form.deviceInfoList[0].deviceAddr:"-"}}</font>
            </el-form-item>
            <el-form-item label="工单进度:" v-if="form.orderType == 1" style="margin-bottom: 0px;">
              <font>{{form.finishNum}}/{{form.deviceNum}}</font>
            </el-form-item>
            <el-form-item label="下发时间:" prop="allotTime" style="margin-bottom: 0px;">
              <font>{{form.allotTime}}</font>
            </el-form-item>
          </el-form>
        </el-col>
        <el-col :span="12">
          <div id="marbox" style="width: 100%;height: 250px;margin-top: -35px; border: 1px solid rgb(218, 213, 213);">
            <div style="width: 100%;height: 100%" id="container"></div>
          </div>
        </el-col>
      </el-row>


      <!-- 接单信息 -->


      <div v-if="form.actualTime != '' && form.actualTime != null">
        <el-divider></el-divider>
yaqizhang's avatar
yaqizhang committed
112
          <el-col :span="24" style="margin-top: -15px;margin-bottom: -10px;">
yaqizhang's avatar
yaqizhang committed
113 114 115 116
            <div style="color: #31EAEA;width: 100%;height: 40px;">
              <ul>
                <li>接单信息</li>
              </ul>
yaqizhang's avatar
yaqizhang committed
117 118
            </div>
          </el-col>
yaqizhang's avatar
yaqizhang committed
119
        <el-row>
yaqizhang's avatar
yaqizhang committed
120
          <el-col :span="6"style="margin-bottom: 15px;">
yaqizhang's avatar
yaqizhang committed
121 122 123 124
            <el-form ref="form" v-model="form" :rules="rules" label-width="100px" style="height: 30px;width: 100%;">
              <el-form-item label="接单人:" prop="actualInspectorName">
                <font>{{form.actualInspectorName}}</font>
              </el-form-item>
yaqizhang's avatar
yaqizhang committed
125
            </el-form>
yaqizhang's avatar
yaqizhang committed
126 127 128 129 130 131
          </el-col>
          <el-col :span="6">
            <el-form ref="form" v-model="form" :rules="rules" label-width="100px" style="height: 30px;width: 100%;">
              <el-form-item label="接单时间:" prop="actualTime">
                <font>{{form.actualTime}}</font>
              </el-form-item>
yaqizhang's avatar
yaqizhang committed
132
            </el-form>
yaqizhang's avatar
yaqizhang committed
133 134 135
          </el-col>
        </el-row>
      </div>
王晓倩's avatar
王晓倩 committed
136

yaqizhang's avatar
yaqizhang committed
137 138
      <!-- 反馈信息 -->
      <div style="width: 100%;font-weight: 600;" v-if="form.feedbackList != null">
yaqizhang's avatar
yaqizhang committed
139
        <el-divider></el-divider>
yaqizhang's avatar
yaqizhang committed
140 141 142 143
        <div style="color: #31EAEA;width: 100%;height: 40px;">
          <ul>
            <li>反馈信息</li>
          </ul>
王晓倩's avatar
王晓倩 committed
144
        </div>
yaqizhang's avatar
yaqizhang committed
145
        <div class="block" style="width: 95%;">
yaqizhang's avatar
yaqizhang committed
146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183
          <el-timeline ref="timeline">
            <el-timeline-item v-for="(activity, index) in form.feedbackList" v-show='index>1?false:true' :key="index"
              :timestamp="activity.feedbackTime">
              <el-card>

                <el-row>
                  <el-col :span="6">
                    <p>设备类型:
                      <span v-if="activity.deviceType == 0">管道</span>
                      <span v-if="activity.deviceType == 1">调压箱</span>
                      <span v-if="activity.deviceType == 2">阀门井</span>
                      <span v-if="activity.deviceType == 3">流量计</span>
                      <span v-if="activity.deviceType == 4">压力表</span>
                    </p>

                    <p>是否有隐患:
                      <span v-if="activity.isHiddenDanger == 1"></span>
                      <span v-if="activity.isHiddenDanger == 2"></span>
                    </p>
                    <p v-if="activity.isHiddenDanger == 1">处理状态:
                      <span v-if="activity.dealStatus == 1">不需要处理</span>
                      <span v-if="activity.dealStatus == 2">已处理完成</span>
                      <span v-if="activity.dealStatus == 3">未处理完成</span>
                    </p>
                    <div style="width: 600px;">
                      <p>反馈信息:
                        <span>{{activity.contents}}</span>
                      </p>
                    </div>
                  </el-col>
                  <el-col :span="6">
                    <p>设备名称:{{activity.deviceName}}</p>
                    <p>反馈时间:{{activity.feedbackTime}}</p>
                  </el-col>
                  <el-col :span="12">
                    <div class="feedbackTime-div">
                      <div class="feedbackTime">
                        <el-image :src="activity.pictureUrl1" :preview-src-list="[activity.pictureUrl1]"
yaqizhang's avatar
yaqizhang committed
184
                          v-if="activity.pictureUrl1 != null && activity.pictureUrl1 != ''" style="width: 100%;">
yaqizhang's avatar
yaqizhang committed
185 186 187 188
                        </el-image>
                      </div>
                      <div class="feedbackTime">
                        <el-image :src="activity.pictureUrl2" :preview-src-list="[activity.pictureUrl2]"
yaqizhang's avatar
yaqizhang committed
189
                          v-if="activity.pictureUrl2 != null && activity.pictureUrl2 != ''" style="width: 100%;">
yaqizhang's avatar
yaqizhang committed
190 191 192 193
                        </el-image>
                      </div>
                      <div class="feedbackTime">
                        <el-image :src="activity.pictureUrl3" :preview-src-list="[activity.pictureUrl3]"
yaqizhang's avatar
yaqizhang committed
194
                          v-if="activity.pictureUrl3 != null && activity.pictureUrl3 != ''" style="width: 100%;">
yaqizhang's avatar
yaqizhang committed
195 196 197 198 199
                        </el-image>
                      </div>
                    </div>
                  </el-col>
                </el-row>
王晓倩's avatar
王晓倩 committed
200

yaqizhang's avatar
yaqizhang committed
201 202 203
              </el-card>
            </el-timeline-item>
          </el-timeline>
yaqizhang's avatar
yaqizhang committed
204
        </div>
yaqizhang's avatar
yaqizhang committed
205 206 207 208 209 210 211 212 213 214
        <div style="width: 95%;position: relative;" @click="changeDisplay(scope)">
          <!-- <el-button type="primary"> -->
          <i class="el-icon-arrow-down" v-if="isDisplay==false"
            style="margin-left: 100px;color: #909399;font-size: 14px;">
            <span style="text-decoration:underline">显示全部</span>
          </i>
          <i class="el-icon-arrow-up" v-else style="color: #909399;font-size: 14px;margin-left: 100px;">
            <span style="text-decoration:underline">收起</span>
          </i>
          <!-- </el-button> -->
yaqizhang's avatar
yaqizhang committed
215

yaqizhang's avatar
yaqizhang committed
216
        </div>
yaqizhang's avatar
yaqizhang committed
217
      </div>
yaqizhang's avatar
yaqizhang committed
218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250

      <!-- 归档信息 -->
      <div v-if="form.orderStatus == 3">
        <el-divider></el-divider>
        <el-row>
          <el-col :span="24">
            <div style="color: #31EAEA;width: 100%;height: 40px;">
              <ul>
                <li>归档信息</li>
              </ul>
            </div>
          </el-col>
        </el-row>
        <el-row style="padding-left: 40px;">
          <el-col :span="6">
            <el-form ref="form" v-model="form" :rules="rules" label-width="100px" style="height: 30px;width: 100%;">
              <el-form-item label="归档信息:" prop="archiving">
                <font>{{form.archiving}}</font>
              </el-form-item>
            </el-form>
          </el-col>
          <el-col :span="6">
            <el-form ref="form" v-model="form" :rules="rules" label-width="100px" style="height: 30px;width: 100%;">
              <el-form-item label="归档时间:" prop="updateTime">
                <font>{{form.updateTime}}</font>
              </el-form-item>
            </el-form>
          </el-col>
        </el-row>
      </div>

      <!-- 归档 -->

yaqizhang's avatar
yaqizhang committed
251
      <div class="" style="width: 95%;margin-left: 50px;text-align: center;margin-top: 10px;">
yaqizhang's avatar
yaqizhang committed
252
        <el-button style="margin-bottom: 15px;margin-top: 10px;" type="primary" size="normal" icon="el-icon-edit" @click="handleUpdate(form.orderId)"
yaqizhang's avatar
yaqizhang committed
253
          v-hasPermi="['workOrder:basicsInfo:edit']" v-if="form.orderStatus == 0">修改</el-button>
yaqizhang's avatar
yaqizhang committed
254
        <el-button style="margin-bottom: 15px;margin-top: 10px;" type="primary" size="normal" icon="el-icon-edit" @click="handleFinish(form.orderId)"
yaqizhang's avatar
yaqizhang committed
255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295
          v-hasPermi="['workOrder:basicsInfo:editStatus']" v-if="form.orderStatus == 2">归档</el-button>
        <el-dialog :title="title" :visible.sync="open" width="800px" append-to-body>
          <el-form ref="form" :model="form" :rules="rules" label-width="100px">
            <div v-if="this.title == '工单信息修改'">
              <el-form-item label="工单名称" prop="orderName">
                <el-input v-model="form.orderName" placeholder="请输入工单名称" />
              </el-form-item>
              <el-form-item label="指定执行人员" prop="appointInspector">
                <el-select v-model="form.appointInspector" placeholder="请选择执行人员" filterable clearable size="small"
                  @change="setUserId">
                  <el-option v-for="item in inspector" :key="item.userId" :label="item.nickName" :value="item.userId">
                  </el-option>
                </el-select>
              </el-form-item>
              <el-form-item label="工单描述" prop="remarks">
                <el-input v-model="form.remarks" type="textarea" placeholder="请输入工单描述" />
              </el-form-item>
            </div>
            <div v-if="this.title == '工单信息归档'">
              <el-form-item label="工单名称" prop="orderName">
                <font>{{form.orderName}}</font>
              </el-form-item>
              <el-form-item label="工单类型" prop="orderType">
                <span type="primary" v-if="form.orderType == 1">巡检信息</span>
                <span type="primary" v-if="form.orderType == 2">隐患信息</span>
                <span type="primary" v-if="form.orderType == 3">报警信息</span>
              </el-form-item>
              <el-form-item label="工单编号" prop="orderId">
                <font>{{form.orderId}}</font>
              </el-form-item>
              <el-form-item label="归档信息" prop="archiving">
                <el-input v-model="form.archiving" type="textarea" placeholder="请输入归档信息" />
              </el-form-item>
            </div>
          </el-form>
          <div slot="footer" class="dialog-footer">
            <el-button type="primary" @click="submitForm">确 定</el-button>
            <el-button @click="cancel">取 消</el-button>
          </div>
        </el-dialog>
      </div>
王晓倩's avatar
王晓倩 committed
296
    </div>
yaqizhang's avatar
yaqizhang committed
297 298
  </div>
</template>
王晓倩's avatar
王晓倩 committed
299

yaqizhang's avatar
yaqizhang committed
300
<script>
王晓倩's avatar
王晓倩 committed
301

302
  import { listBasicsInfo, getBasicsInfo, delBasicsInfo, addBasicsInfo, updateBasicsInfo, updateOrderStatus, exportBasicsInfo } from "@/api/workOrder/basicsInfo";
303 304
  import { deviceTree } from "@/api/device/deviceInfo";
  import gaodeMap from "utils/gaodeMap.js";
yaqizhang's avatar
yaqizhang committed
305
  import { map, DEVICE_TYPE } from "utils/gaodeMap.js";
yaqizhang's avatar
yaqizhang committed
306
  import { inspectorList } from "@/api/system/user";
307

yaqizhang's avatar
yaqizhang committed
308
  export default {
yaqizhang's avatar
yaqizhang committed
309 310 311 312 313
    name: "BasicsInfo",
    components: {
    },
    data() {
      return {
yaqizhang's avatar
yaqizhang committed
314
        inspector: [],
yaqizhang's avatar
yaqizhang committed
315
        isDisplay: false,
yaqizhang's avatar
yaqizhang committed
316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335
        dialogImageUrl: '',
        dialogVisible: false,
        disabled: false,
        imageUrl: '',
        // 遮罩层
        loading: true,
        // 导出遮罩层
        exportLoading: false,
        // 选中数组
        ids: [],
        // 非单个禁用
        single: true,
        // 非多个禁用
        multiple: true,
        // 显示搜索条件
        showSearch: true,
        // 总条数
        total: 0,
        // 工单基础信息表格数据
        basicsInfoList: [],
yaqizhang's avatar
yaqizhang committed
336
        // feedbackList: [],
yaqizhang's avatar
yaqizhang committed
337 338 339 340 341 342
        // 弹出层标题
        title: "",
        // 是否显示弹出层
        open: false,
        // 工单状态字典
        typeOptions: [],
yaqizhang's avatar
yaqizhang committed
343
        pickerOptions: [],
yaqizhang's avatar
yaqizhang committed
344 345
        // 工单类型字典
        ordertypeOptions: [],
346 347 348 349 350 351 352 353 354 355 356
        // 设备树选项
        deviceOptions: [
          {
            label: "设备列表",
            childList: []
          }
        ],
        defaultProps: {
          children: "childList",
          label: "label"
        },
yaqizhang's avatar
yaqizhang committed
357 358 359 360 361 362 363 364 365 366 367 368 369 370 371
        // 查询参数
        queryParams: {
          pageNum: 1,
          pageSize: 10,
          orderType: null,
          orderName: null,
          orderStatus: null,
          appointInspector: null,
          allotTime: null,
          actualInspector: null,
          actualTime: null,
          remarks: null
        },
        // 表单参数
        form: {},
372
        activity: {},
yaqizhang's avatar
yaqizhang committed
373 374 375
        // 表单校验
        rules: {
        },
yaqizhang's avatar
yaqizhang committed
376 377 378
        active: 0,
        orderId: "",
        showAndHide: false
yaqizhang's avatar
yaqizhang committed
379 380 381 382 383 384 385 386 387 388 389 390 391
      };
    },
    created() {
      // 如果是跳转来的,则接受初始化参数
      // this.user_id = this.$route.query.id; //详细信息页接收参数
      this.orderId = this.$route.query.orderId;
      this.getList();
      this.getDicts("t_order_status").then(response => {
        this.typeOptions = response.data;
      });
      this.getDicts("t_order_type").then(response => {
        this.ordertypeOptions = response.data;
      });
yaqizhang's avatar
yaqizhang committed
392
      // this.getBasicsInfo();
yaqizhang's avatar
yaqizhang committed
393
    },
yaqizhang's avatar
yaqizhang committed
394 395
    mounted() {

yaqizhang's avatar
yaqizhang committed
396
      this.getBasicsInfo();
yaqizhang's avatar
yaqizhang committed
397 398
    },
    methods: {
yaqizhang's avatar
yaqizhang committed
399
      getInspectorList() {
yaqizhang's avatar
yaqizhang committed
400 401 402 403 404 405
        this.loading = true;
        inspectorList().then(response => {
          this.inspector = response.data;
          this.loading = false;
        });
      },
406
      // 点击按钮显示隐藏
yaqizhang's avatar
yaqizhang committed
407
      changeDisplay(e) {
408 409
        this.isDisplay = !this.isDisplay
        let $timeline = this.$refs.timeline;
yaqizhang's avatar
yaqizhang committed
410 411 412
        if (!this.showAndHide) {
          for (let i = 0; i < $timeline.$children.length; i++) {
            if (i > 1) {
413 414 415 416
              $timeline.$children[i].$el.style.display = "block";
            }
          }
          this.showAndHide = true;
yaqizhang's avatar
yaqizhang committed
417 418 419
        } else {
          for (let i = 0; i < $timeline.$children.length; i++) {
            if (i > 1) {
420 421 422 423 424
              $timeline.$children[i].$el.style.display = "none";
            }
          }
          this.showAndHide = false;
        }
425 426


427 428 429 430
        //$timeline.toggleRowExpansion(row,true)
      },


yaqizhang's avatar
yaqizhang committed
431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449
      handleRemove(file) {
        console.log(file);
      },
      handlePictureCardPreview(file) {
        this.dialogImageUrl = file.url;
        this.dialogVisible = true;
      },
      handleDownload(file) {
        console.log(file);
      },
      /** 查询工单基础信息列表 */
      getList() {
        this.loading = true;
        listBasicsInfo(this.queryParams).then(response => {
          this.basicsInfoList = response.rows;
          this.total = response.total;
          this.loading = false;
        });
      },
yaqizhang's avatar
yaqizhang committed
450 451 452
      getBasicsInfo() {
        !
        getBasicsInfo(this.orderId).then(response => {
yaqizhang's avatar
yaqizhang committed
453 454
          this.form = response.data;
          this.active = parseInt(response.data.orderStatus) + 1;
yaqizhang's avatar
yaqizhang committed
455

yaqizhang's avatar
yaqizhang committed
456 457 458 459 460 461 462 463
          if (this.form.deviceInfoList.length > 0) {
            console.log("this.form.deviceInfoList", this.form.deviceInfoList)
            let gaoMap = new gaodeMap("石家庄", [this.form.deviceInfoList[0].longitude, this.form.deviceInfoList[0].latitude]);
            this.gaoMap = gaoMap;
            // this.gaoMap.resetMapCenter([this.form.deviceInfoList[0].longitude, this.form.deviceInfoList[0].latitude]);
            for (var i = 0; i < this.form.deviceInfoList.length; i++) {
              let obj = this.form.deviceInfoList[i];
              this.gaoMap.addMarker(DEVICE_TYPE.WORKORDER, obj);
yaqizhang's avatar
yaqizhang committed
464
            }
465
          }
yaqizhang's avatar
yaqizhang committed
466 467 468 469 470 471 472 473 474 475 476

          if (this.form.pipeList != null) {
            console.log("this.form.pipeList",this.form.pipeList[0].coordinates)
            const {coordinates} = this.form.pipeList[0];
            const path1 = eval(coordinates)[0];
            const path2 = eval(coordinates)[1];
            const path3 = [(Number(path1[0]) + Number(path2[0])) / 2, (Number(path1[1]) + Number(path2[1])) / 2];
            let gaoMap = new gaodeMap("石家庄",path3);
            this.gaoMap = gaoMap;

            for (var i = 0; i < this.form.pipeList.length; i++) {
yaqizhang's avatar
yaqizhang committed
477 478 479
              let obj = this.form.pipeList[i];
              this.gaoMap.onlyLine(obj);
            }
480
          }
王晓倩's avatar
王晓倩 committed
481

yaqizhang's avatar
yaqizhang committed
482
          if (this.form.orderType == '1') {
483
            // 获取设备列表树
484
            let data = {
yaqizhang's avatar
yaqizhang committed
485 486
              key1: this.form.deviceInfoList,
              key2: this.form.pipeList
487
            };
488 489 490
            deviceTree(data).then(response => {
              this.deviceOptions[0].childList = response.data;
            });
yaqizhang's avatar
yaqizhang committed
491
          }
yaqizhang's avatar
yaqizhang committed
492
        });
493 494 495 496 497 498 499 500
      },
      // 筛选节点
      // filterNode(value, data) {
      //   if (!value) return true;
      //   return data.label.indexOf(value) !== -1;
      // },
      // 节点单击事件
      handleNodeClick(data) {
yaqizhang's avatar
yaqizhang committed
501

502
      },
yaqizhang's avatar
yaqizhang committed
503
      setUserId(val) {
504
        this.form.appointInspector = val;
yaqizhang's avatar
yaqizhang committed
505 506 507 508
      },
      // 取消按钮
      cancel() {
        this.open = false;
yaqizhang's avatar
yaqizhang committed
509
        // this.reset();
yaqizhang's avatar
yaqizhang committed
510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539
      },
      // 表单重置
      reset() {
        this.form = {
          orderId: null,
          orderType: null,
          orderName: null,
          orderStatus: "0",
          createTime: null,
          appointInspector: null,
          allotTime: null,
          actualInspector: null,
          actualTime: null,
          remarks: null
        };
        this.resetForm("form");
      },
      /** 搜索按钮操作 */
      handleQuery() {
        this.queryParams.pageNum = 1;
        this.getList();
      },
      /** 重置按钮操作 */
      resetQuery() {
        this.resetForm("queryForm");
        this.handleQuery();
      },
      // 多选框选中数据
      handleSelectionChange(selection) {
        this.ids = selection.map(item => item.orderId)
yaqizhang's avatar
yaqizhang committed
540
        this.single = selection.length !== 1
yaqizhang's avatar
yaqizhang committed
541 542 543 544 545 546 547 548
        this.multiple = !selection.length
      },
      /** 新增按钮操作 */
      handleAdd() {
        this.reset();
        this.open = true;
        this.title = "添加工单基础信息";
      },
yaqizhang's avatar
yaqizhang committed
549
      /** 归档按钮操作 */
550 551 552 553 554 555 556 557
      handleFinish(res) {
        // this.reset();
        getBasicsInfo(res).then(response => {
          this.form = response.data;
          this.open = true;
          this.title = "工单信息归档";
        });
      },
yaqizhang's avatar
yaqizhang committed
558
      /** 修改按钮操作 */
yaqizhang's avatar
yaqizhang committed
559
      handleUpdate(res) {
560 561 562 563 564 565 566 567
        // this.reset();
        this.getInspectorList();
        getBasicsInfo(this.orderId).then(response => {
          this.form = response.data;
          this.open = true;
          this.title = "工单信息修改";
        });
      },
yaqizhang's avatar
yaqizhang committed
568
      /** 提交按钮 */
569 570 571 572 573 574 575 576 577
      submitForm() {
        this.$refs["form"].validate(valid => {
          if (valid) {
            if (this.form.orderStatus == '0') {
              updateBasicsInfo(this.form).then(response => {
                this.msgSuccess("修改成功");
                this.open = false;
                location.reload();
              });
yaqizhang's avatar
yaqizhang committed
578
            } else if (this.form.orderStatus == '2') {
579 580 581 582 583 584
              updateOrderStatus(this.form).then(response => {
                this.msgSuccess("操作成功");
                this.open = false;
                location.reload();
              });
            }
yaqizhang's avatar
yaqizhang committed
585
          }
586 587
        });
      },
yaqizhang's avatar
yaqizhang committed
588 589 590 591
      /** 删除按钮操作 */
      handleDelete(row) {
        const orderIds = row.orderId || this.ids;
        this.$confirm('是否确认删除工单基础信息编号为"' + orderIds + '"的数据项?', "警告", {
yaqizhang's avatar
yaqizhang committed
592 593 594 595 596 597 598 599 600
          confirmButtonText: "确定",
          cancelButtonText: "取消",
          type: "warning"
        }).then(function () {
          return delBasicsInfo(orderIds);
        }).then(() => {
          this.getList();
          this.msgSuccess("删除成功");
        }).catch(() => { });
yaqizhang's avatar
yaqizhang committed
601 602 603 604 605
      },
      /** 导出按钮操作 */
      handleExport() {
        const queryParams = this.queryParams;
        this.$confirm('是否确认导出所有工单基础信息数据项?', "警告", {
yaqizhang's avatar
yaqizhang committed
606 607 608 609 610 611 612 613 614 615
          confirmButtonText: "确定",
          cancelButtonText: "取消",
          type: "warning"
        }).then(() => {
          this.exportLoading = true;
          return exportBasicsInfo(queryParams);
        }).then(response => {
          this.download(response.msg);
          this.exportLoading = false;
        }).catch(() => { });
yaqizhang's avatar
yaqizhang committed
616 617 618
      }
    }
  }
yaqizhang's avatar
yaqizhang committed
619 620 621 622 623 624 625 626 627 628 629 630 631 632
</script>
<style>
  .el-tree-node__content {
    width: 150px;
  }

  .el-divider--horizontal {
    display: block;
    height: 1px;
    width: 100%;
    margin: 20px 0;
  }

  .feedbackTime-div {
yaqizhang's avatar
yaqizhang committed
633
    width: 100%;
yaqizhang's avatar
yaqizhang committed
634 635 636 637 638 639
    float: left;
    margin-left: 150px;
    margin-top: 10px;
  }

  .feedbackTime {
yaqizhang's avatar
yaqizhang committed
640
    width: 15%;
yaqizhang's avatar
yaqizhang committed
641 642 643
    float: left;
    margin-left: 15px;
    margin-top: 5px;
yaqizhang's avatar
yaqizhang committed
644
    margin-bottom: 5px;
yaqizhang's avatar
yaqizhang committed
645 646 647 648 649 650 651 652 653 654 655 656 657 658
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .el-card__body {
    padding: 5px 20px 20px 20px;
  }

  .avatar-uploader {
    width: 25%;
    float: left;
  }

  .avatar-uploader .el-upload {
yaqizhang's avatar
yaqizhang committed
659 660 661 662 663 664
    border: 1px dashed #d9d9d9;
    border-radius: 6px;
    cursor: pointer;
    position: relative;
    overflow: hidden;
  }
yaqizhang's avatar
yaqizhang committed
665

yaqizhang's avatar
yaqizhang committed
666 667 668
  .avatar-uploader .el-upload:hover {
    border-color: #409EFF;
  }
yaqizhang's avatar
yaqizhang committed
669

yaqizhang's avatar
yaqizhang committed
670 671 672 673 674 675 676 677
  .avatar-uploader-icon {
    font-size: 28px;
    color: #8c939d;
    width: 178px;
    height: 178px;
    line-height: 178px;
    text-align: center;
  }
yaqizhang's avatar
yaqizhang committed
678

yaqizhang's avatar
yaqizhang committed
679 680 681 682 683
  .avatar {
    width: 178px;
    height: 178px;
    display: block;
  }
yaqizhang's avatar
yaqizhang committed
684 685

  li {
yaqizhang's avatar
yaqizhang committed
686 687 688
    font-size: 15px;
    font-weight: 900;
  }
yaqizhang's avatar
yaqizhang committed
689
</style>