222
schangxiang@126.com
2025-06-13 6a8393408d8cefcea02b7a598967de8dc1e565c2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
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
84
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
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
<template>
  <div class="page-list-container">
    <!--数据Table-->
    <yrt-data-list :ref="dataListRef" :editor-ref="editorRef" :data-options="dataOptions" :fields.sync="dataListOptions.fields" :buttons="dataListOptions.buttons" :button-click="buttonClick" :auth-nodes="authNodes" :data-list-selections.sync="dataListSelections">
    </yrt-data-list>
 
    <!--数据编辑器Editor-->
    <yrt-editor :ref="editorRef" :data-list-ref="dataListRef" v-bind="editorOptions" :data-options="dataOptions" :action.sync="editorOptions.action" :visible.sync="editorOptions.config.visible" :detail-button-click="detailButtonClick" :auth-nodes="authNodes">
    </yrt-editor>
    <!-- 修改状态对话框 -->
    <el-dialog :visible.sync="portDialogVisible" width="500px" title="修改状态">
      <el-form :model="formData">
        <el-form-item label="运单状态">
          <el-select v-model="formData.orderStatus" filterable clearable placeholder="请选择运单状态">
            <el-option v-for="(item, index) in orderStatusList" :key="index" :label="item.label" :value="item.label">
            </el-option>
          </el-select>
        </el-form-item>
        <el-form-item label="任务状态">
          <el-select v-model="formData.taskStatus" filterable clearable placeholder="请选择任务状态">
            <el-option v-for="(item, index) in TaskStatusList" :key="index" :label="item.label" :value="item.label">
            </el-option>
          </el-select>
        </el-form-item>
      </el-form>
      <div slot="footer" class="dialog-footer">
        <el-button @click="portDialogVisible = false">取 消</el-button>
        <el-button type="primary" @click="saveUpdatePort">确 定</el-button>
      </div>
    </el-dialog>
  </div>
</template>
<script>
import baseLayout from "@/components/common/base-layout.vue";
 
export default {
  name: "tms-way-routertask",
  components: {},
  mixins: [baseLayout],
  data() {
    return {
      // 修改状态对话框数据集合
      formData: {
        orderStatus: "航空已发运",
        taskStatus: "执行完成"
      },
      // 显示修改状态对话框
      portDialogVisible: false,
      // 运单状态下拉框数据列表
      orderStatusList: [],
      // 运单状态下拉框数据列表
      TaskStatusList: []
    };
  },
  methods: {
    // 列表页面按钮点击事件
    buttonClick(authNode) {
      switch (authNode) {
        case "router":
          // 获取路由
          this.getRouter();
          break;
        case "editState":
          // 修改状态
          this.showUpdatePortDialog();
          break;
      }
    },
    // 修改状态弹出对话框
    showUpdatePortDialog() {
      const selectIDs = this.dataListSelections.map((item, index, Array) => {
        return item.wayBillCode;
      });
      if (!selectIDs) {
        this.$message.error("请至少选择一行数据!");
        return false;
      }
      this.portDialogVisible = true;
      this.orderStatusList = this.dataList.getDropDownData(934);
      this.TaskStatusList = this.dataList.getDropDownData(958);
    },
    // 保存修改状态
    saveUpdatePort() {
      const selectIDs = this.dataListSelections.map((item, index, Array) => {
        return item.wayBillCode;
      });
      if (!this.formData.orderStatus) {
        this.$message.error("请选择快递类型!");
        return;
      }
 
      if (!this.formData.taskStatus) {
        this.$message.error("请选择快递!");
        return;
      }
      var url = "/api/tms/routerTask/editStatus";
      const ref = this.dataList;
      const params = {
        wayBillCodes: selectIDs,
        orderStatus: this.formData.orderStatus,
        taskStatus: this.formData.taskStatus
      };
      var callback = res => {
        this.common.showMsg(res);
        if (res.result) {
          ref.loadData();
          this.portDialogVisible = false;
        }
      };
      this.common.ajax(url, params, callback, true);
    },
    // 获取路由
    getRouter() {
      const selectIDs = this.dataListSelections.map((item, index, Array) => {
        return item.wayBillCode;
      });
      if (!selectIDs) {
        this.$message.error("请至少选择一行数据!");
        return false;
      }
 
      var url = "/api/tms/routerTask/getRouter";
      const ref = this.dataList;
      const params = {
        wayBillCodes: selectIDs,
        orderStatus: this.formData.orderStatus,
        taskStatus: this.formData.taskStatus
      };
      var callback = res => {
        this.common.showMsg(res);
        if (res.result) {
          ref.loadData();
        }
      };
      this.common.ajax(url, params, callback, true);
    }
  }
};
</script>
 
<style lang="scss" scoped>
.page-list-container {
  min-height: calc(100vh - 110px);
  overflow: hidden;
  position: relative;
}
 
@media screen and (max-height: 900px) {
  .page-list-container {
    min-height: 600px;
  }
}
</style>