田源
2025-03-05 d6f94d02fd033c1c0a68fe2d4e987eb233d2afb1
Source/UBCS-WEB/src/views/docking/task.vue
@@ -8,6 +8,7 @@
               :permission="permissionList"
               ref="crud"
               @search-change="searchChange"
               @cell-dblclick="cellDbClick"
               @search-reset="searchReset"
               @selection-change="selectionChange"
               @current-change="currentChange"
@@ -15,19 +16,23 @@
               @refresh-change="refreshChange"
               @on-load="onLoad">
      <template slot="menuLeft">
        <el-button type="primary"
                   size="small"
                   plain
                   icon="el-icon-refresh-right"
                   @click="handleSend">手动推送
        </el-button>
          <el-button type="primary"
                     size="small"
                     plain
                     icon="el-icon-refresh-right"
                       v-if="permissionList.sendPush"
                     @click="handleSend" >手动推送
          </el-button>
        <div style="float: right;margin-left: 10px">
          <vci-docking-search :formInline="formInline" :SearchObject="SearchObject" :page="page" :status="status" @getList="dockingGetList"></vci-docking-search>
        </div>
      </template>
    </avue-crud>
  </basic-container>
</template>
<script>
import {getList,sendData} from "@/api/docking/task";
import {getTaskList,sendData} from "@/api/docking/task";
import {validatenull} from "@/util/validate";
import {mapGetters} from "vuex";
import {remove} from "@/api/code/codeSynonym";
@@ -36,6 +41,74 @@
  name: "task",
  data(){
    return {
      //model绑定
      formInline:{
        type:'',
        stateTask:'',
        lastDate:'',
        Date:'',
        text:'',
        taskCut:''
      },
      //各个类型状态
      status:{
        type:'task',
        stateTaskDataFlag:false,
        dateFlag:false,
        lastDateFlag:false,
        sendTypeFlga:false
      },
      //集成类型死数据
      SearchObject:{
        searchData:[
          {
            label:'数据编码',
            prop: "id",
            value:0
          },
          {
            label:'分类代号',
            prop: 'classifyId',
            value:1
          },
          {
            label:'分类名称',
            prop: 'classifyName',
            value:2
          },
          {
            label:'集成系统编号',
            prop: 'systemCode',
            value:3
          },
          {
            label:'集成系统名称',
            prop: 'systemName',
            value:4
          },
          {
            label:'推送类型',
            prop: 'sendType',
            value:5
          },
          {
            label:'任务创建时间',
            prop: 'createTime',
            value:6
          },
          {
            label:'最后推送时间',
            prop: 'lastModifyTime',
            value:7
          },
          {
            label:'是否推送成功',
            prop: 'sendFlag',
            value:8
          }
        ]
      },
      value:'',
      loading: false,
      query: {},
      selectionList: [],
@@ -46,10 +119,14 @@
      },
      data:[],
      option: {
        calcHeight: 30,
        height:'auto',
        calcHeight: 0,
        columnBtn:false,
        tip: false,
        addBtn:false,
        searchShow: false,
        searchMenuSpan: 6,
        searchShowBtn:false,
        // searchMenuSpan: 6,
        border: true,
        index: true,
        viewBtn: true,
@@ -66,60 +143,53 @@
          },
          {
            label: "图号",
            prop: "uniquecode",
            prop: "uniqueCode",
            search: true,
            hide:true,
            sortable:true,
            width:150
          },
          {
            label: '分类id',
            prop: 'classifyid',
            label: '分类代号',
            prop: 'classifyId',
            search: true,
            sortable:true,
            width: 250
          },
          {
            label: '分类名称',
            prop: 'classifyname',
            prop: 'classifyName',
            search: true,
            sortable:true
            sortable:true,
            width: 200
          },
          {
            label: '系统编号',
            prop: 'systemcode',
            label: '集成系统编号',
            prop: 'systemCode',
            search: true,
            sortable:true,
            width: 150
          },
          {
            label: '系统名称',
            prop: 'systemname',
            label: '集成系统名称',
            prop: 'systemName',
            search: true,
            sortable:true,
            width: 150
          },
          {
            label: '数据情况',
            prop: 'sendtype',
            label: '推送类型',
            prop: 'sendType',
            sortable:true,
            width: 100
          },
          {
            label: '是否推送成功',
            prop: 'sendflag',
            search: true,
            sortable:true,
            width: 120,
            html:true,
            align:'center',
            type:'select',
            dicData: [{key:'true',value:'是'},{key:'false',value:'否'}],
            props: {
              label: "value",
              value: "key"
            },
            formatter : function (row, column) {
              return row.sendflag == 'true' || row.sendflag == '1' ? '<i class="el-icon-check"></i>' : '<i class="el-icon-close"></i>'
            width: 100,
            formatter: function (row, column) {
              if (row.sendType === 'Enabled') {
                return '发布';
              } else if (row.sendType === 'TakeBack') {
                return '回收';
              } else if (row.sendType === 'Disabled') {
                return '停用';
              }
            }
          },
          {
@@ -133,7 +203,26 @@
            prop: 'lastModifyTime',
            sortable:true,
            width: 150
          }
          },
          {
            label: '是否推送成功',
            prop: 'sendFlag',
            search: true,
            sortable:true,
            width: 120,
            html:true,
            align:'center',
            type:'select',
            searchLabelWidth:130,
            dicData: [{key:'true',value:'是'},{key:'false',value:'否'}],
            props: {
              label: "value",
              value: "key"
            },
            formatter : function (row, column) {
              return row.sendFlag == 'true' || row.sendFlag == '1' ? '<i class="el-icon-check" style="color: limegreen;font-size: 20px;font-weight: 800"></i>' : '<i class="el-icon-close" style="color: red;font-size: 20px;font-weight: 800"></i>'
            }
          },
        ]
      }
    }
@@ -142,10 +231,7 @@
    ...mapGetters([ "permission"]),
    permissionList() {
      return {
        addBtn: false,
        viewBtn: false,
        delBtn: false,
        editBtn: false
        sendPush: this.vaildData(this.permission.task.task_sendPush, false),
      };
    },
    oids() {
@@ -157,6 +243,25 @@
    }
  },
  methods: {
    dockingGetList(val){
      this.data=val.records;
      this.page.pageSize=val.size;
      this.page.currentPage=val.current;
      this.page.total=val.total;
    },
    async cellDbClick(row, column, cell, event) {
      for (const key in row) {
        if (key === column.property) {
          this.value = row[key];
        }
      }
      try {
        await this.$copyText(this.value);
        this.$message.success('复制成功');
      } catch (error) {
        this.$message.warning('复制失败');
      }
    },
    searchReset() {
      this.query = {};
      this.onLoad(this.page);
@@ -191,7 +296,7 @@
          query['conditionMap["' + key + '"]'] = this.query[key];
        }
      }
      getList(page.currentPage, page.pageSize, Object.assign(params, this.params, query, this.query)).then(res => {
      getTaskList(page.currentPage, page.pageSize, Object.assign(params, this.params, query, this.query)).then(res => {
        const data = res.data.data;
        this.page.total = data.total;
        this.data = data.records;