|  | @@ -1,81 +1,44 @@
 | 
	
		
			
				|  |  |  <template>
 | 
	
		
			
				|  |  |    <basic-container>
 | 
	
		
			
				|  |  | -    <avue-crud :option="option"
 | 
	
		
			
				|  |  | -               :data="dataList"
 | 
	
		
			
				|  |  | -               ref="crud"
 | 
	
		
			
				|  |  | -               v-model="form"
 | 
	
		
			
				|  |  | -               :page.sync="page"
 | 
	
		
			
				|  |  | -               :search.sync="search"
 | 
	
		
			
				|  |  | -               :table-loading="loading"
 | 
	
		
			
				|  |  | -               @search-change="searchChange"
 | 
	
		
			
				|  |  | -               @search-reset="searchReset"
 | 
	
		
			
				|  |  | -               @selection-change="selectionChange"
 | 
	
		
			
				|  |  | -               @current-change="currentChange"
 | 
	
		
			
				|  |  | -               @size-change="sizeChange"
 | 
	
		
			
				|  |  | -               @refresh-change="refreshChange"
 | 
	
		
			
				|  |  | -               @on-load="onLoad">
 | 
	
		
			
				|  |  | +    <avue-crud :option="option" :data="dataList" ref="crud" v-model="form" :page.sync="page" :search.sync="search"
 | 
	
		
			
				|  |  | +      :table-loading="loading" @search-change="searchChange" @search-reset="searchReset"
 | 
	
		
			
				|  |  | +      @selection-change="selectionChange" @current-change="currentChange" @size-change="sizeChange"
 | 
	
		
			
				|  |  | +      @refresh-change="refreshChange" @on-load="onLoad">
 | 
	
		
			
				|  |  |        <template slot="cornIdSearch">
 | 
	
		
			
				|  |  | -        <select-component
 | 
	
		
			
				|  |  | -          v-model="search.cornId"
 | 
	
		
			
				|  |  | -          :configuration="configuration"
 | 
	
		
			
				|  |  | -        ></select-component>
 | 
	
		
			
				|  |  | +        <select-component v-model="search.cornId" :configuration="configuration"></select-component>
 | 
	
		
			
				|  |  |        </template>
 | 
	
		
			
				|  |  |        <template slot-scope="scope" slot="cornId">
 | 
	
		
			
				|  |  |          {{ scope.row.cornName }}
 | 
	
		
			
				|  |  |        </template>
 | 
	
		
			
				|  |  |        <template slot="menuLeft">
 | 
	
		
			
				|  |  | -        <el-button
 | 
	
		
			
				|  |  | -          icon="el-icon-printer"
 | 
	
		
			
				|  |  | -          size="small"
 | 
	
		
			
				|  |  | -          type="primary"
 | 
	
		
			
				|  |  | -          :loading="exportLoading"
 | 
	
		
			
				|  |  | -          @click.stop="downFile"
 | 
	
		
			
				|  |  | -        >导 出
 | 
	
		
			
				|  |  | +        <el-button icon="el-icon-printer" size="small" type="primary" :loading="exportLoading" @click.stop="downFile">导出
 | 
	
		
			
				|  |  |          </el-button>
 | 
	
		
			
				|  |  |        </template>
 | 
	
		
			
				|  |  | -      <template slot-scope="scope" slot="menu">
 | 
	
		
			
				|  |  | -        <el-button
 | 
	
		
			
				|  |  | -          type="text"
 | 
	
		
			
				|  |  | -          icon="el-icon-view"
 | 
	
		
			
				|  |  | -          size="small"
 | 
	
		
			
				|  |  | -          @click.stop="copyTo"
 | 
	
		
			
				|  |  | -        >发送
 | 
	
		
			
				|  |  | +      <template slot="userid" slot-scope="{row,index}">
 | 
	
		
			
				|  |  | +        <user-select style="width:90% !important;" v-if="row.$cellEdit" v-model="row.userName"
 | 
	
		
			
				|  |  | +          @value="(values) => value(values, row)" :configuration="UConfiguration">
 | 
	
		
			
				|  |  | +        </user-select>
 | 
	
		
			
				|  |  | +        <span v-else>{{ row.userName }}</span>
 | 
	
		
			
				|  |  | +      </template>
 | 
	
		
			
				|  |  | +      <template slot-scope="{row,index}" slot="menu">
 | 
	
		
			
				|  |  | +        <el-button type="text" icon="el-icon-view" size="small" @click.stop="copyTo">发送
 | 
	
		
			
				|  |  | +        </el-button>
 | 
	
		
			
				|  |  | +        <el-button type="text" icon="el-icon-edit" :disabled="row.status != 5" size="small"
 | 
	
		
			
				|  |  | +          @click.stop="completion(row)">完工
 | 
	
		
			
				|  |  |          </el-button>
 | 
	
		
			
				|  |  | -        <el-button
 | 
	
		
			
				|  |  | -          type="text"
 | 
	
		
			
				|  |  | -          icon="el-icon-edit"
 | 
	
		
			
				|  |  | -          :disabled="scope.row.status != 1"
 | 
	
		
			
				|  |  | -          size="small"
 | 
	
		
			
				|  |  | -          @click.stop="completion(scope.row)"
 | 
	
		
			
				|  |  | -        >完工
 | 
	
		
			
				|  |  | +        <el-button type="text" icon="el-icon-edit" size="small" @click.stop="rowCell(row)">{{ row.$cellEdit ? "保存" :
 | 
	
		
			
				|  |  | +            "修改"
 | 
	
		
			
				|  |  | +        }}
 | 
	
		
			
				|  |  |          </el-button>
 | 
	
		
			
				|  |  |        </template>
 | 
	
		
			
				|  |  |      </avue-crud>
 | 
	
		
			
				|  |  | -    <el-dialog
 | 
	
		
			
				|  |  | -      append-to-body
 | 
	
		
			
				|  |  | -      title="消息"
 | 
	
		
			
				|  |  | -      class="el-dialogDeep"
 | 
	
		
			
				|  |  | -      :visible.sync="copyToDialog"
 | 
	
		
			
				|  |  | -      width="60%"
 | 
	
		
			
				|  |  | -      :close-on-click-modal="false"
 | 
	
		
			
				|  |  | -      :destroy-on-close="true"
 | 
	
		
			
				|  |  | -      :close-on-press-escape="false"
 | 
	
		
			
				|  |  | -      v-dialog-drag
 | 
	
		
			
				|  |  | -    >
 | 
	
		
			
				|  |  | +    <el-dialog append-to-body title="消息" class="el-dialogDeep" :visible.sync="copyToDialog" width="60%"
 | 
	
		
			
				|  |  | +      :close-on-click-modal="false" :destroy-on-close="true" :close-on-press-escape="false" v-dialog-drag>
 | 
	
		
			
				|  |  |        <avue-form class="trading-form" :option="optionMeg" ref="formMeg" v-model="formMeg">
 | 
	
		
			
				|  |  |          <template slot="toUserId">
 | 
	
		
			
				|  |  | -          <el-select v-model="formMeg.toUserId"
 | 
	
		
			
				|  |  | -                     remote
 | 
	
		
			
				|  |  | -                     filterable
 | 
	
		
			
				|  |  | -                     clearable
 | 
	
		
			
				|  |  | -                     @change="toUserChange"
 | 
	
		
			
				|  |  | -                     :remote-method="remoteMethod"
 | 
	
		
			
				|  |  | -          >
 | 
	
		
			
				|  |  | -            <el-option
 | 
	
		
			
				|  |  | -              v-for="item in userOption"
 | 
	
		
			
				|  |  | -              :key="item.value"
 | 
	
		
			
				|  |  | -              :label="item.realName"
 | 
	
		
			
				|  |  | -              :value="item.id">
 | 
	
		
			
				|  |  | +          <el-select v-model="formMeg.toUserId" remote filterable clearable @change="toUserChange"
 | 
	
		
			
				|  |  | +            :remote-method="remoteMethod">
 | 
	
		
			
				|  |  | +            <el-option v-for="item in userOption" :key="item.value" :label="item.realName" :value="item.id">
 | 
	
		
			
				|  |  |              </el-option>
 | 
	
		
			
				|  |  |            </el-select>
 | 
	
		
			
				|  |  |          </template>
 | 
	
	
		
			
				|  | @@ -89,227 +52,258 @@
 | 
	
		
			
				|  |  |  </template>
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  <script>
 | 
	
		
			
				|  |  | -  import option from "./configuration/mainList.json";
 | 
	
		
			
				|  |  | -  import { getFlowList } from "@/api/workManagement/mainProject";
 | 
	
		
			
				|  |  | -  import { updateItemStatus } from "@/api/workManagement/mainProject";
 | 
	
		
			
				|  |  | -  import { getUserList } from "@/api/workManagement/mainProject";
 | 
	
		
			
				|  |  | -  import { saveMessage } from "@/api/logs";
 | 
	
		
			
				|  |  | -  export default {
 | 
	
		
			
				|  |  | -    name: "customerInformation",
 | 
	
		
			
				|  |  | -    data() {
 | 
	
		
			
				|  |  | -      return {
 | 
	
		
			
				|  |  | -        loading : false,
 | 
	
		
			
				|  |  | -        exportLoading:false,
 | 
	
		
			
				|  |  | -        copyToDialog:false,
 | 
	
		
			
				|  |  | -        form: {},
 | 
	
		
			
				|  |  | -        search:{},
 | 
	
		
			
				|  |  | -        configuration:{
 | 
	
		
			
				|  |  | -          multipleChoices:false,
 | 
	
		
			
				|  |  | -          multiple:false,
 | 
	
		
			
				|  |  | -          disabled:false,
 | 
	
		
			
				|  |  | -          searchShow:true,
 | 
	
		
			
				|  |  | -          collapseTags:false,
 | 
	
		
			
				|  |  | -          clearable:true,
 | 
	
		
			
				|  |  | -          placeholder:'请点击右边按钮选择',
 | 
	
		
			
				|  |  | -          dicData:[]
 | 
	
		
			
				|  |  | -        },
 | 
	
		
			
				|  |  | -        option: option,
 | 
	
		
			
				|  |  | -        parentId:0,
 | 
	
		
			
				|  |  | -        dataList: [],
 | 
	
		
			
				|  |  | -        page: {
 | 
	
		
			
				|  |  | -          currentPage: 1,
 | 
	
		
			
				|  |  | -          total: 0,
 | 
	
		
			
				|  |  | -          pageSize: 10
 | 
	
		
			
				|  |  | -        },
 | 
	
		
			
				|  |  | -        query:{},
 | 
	
		
			
				|  |  | -        userOption:[],
 | 
	
		
			
				|  |  | -        optionMeg:{
 | 
	
		
			
				|  |  | -          emptyBtn: false,
 | 
	
		
			
				|  |  | -          submitBtn: false,
 | 
	
		
			
				|  |  | -          labelWidth: 120,
 | 
	
		
			
				|  |  | -          menuSpan: 8,
 | 
	
		
			
				|  |  | -          column: [
 | 
	
		
			
				|  |  | -            {
 | 
	
		
			
				|  |  | -              label: '抄送人',
 | 
	
		
			
				|  |  | -              prop: 'toUserId',
 | 
	
		
			
				|  |  | -              span: 12,
 | 
	
		
			
				|  |  | -              type:'select',
 | 
	
		
			
				|  |  | -              rules: [
 | 
	
		
			
				|  |  | -                {
 | 
	
		
			
				|  |  | -                  required: true,
 | 
	
		
			
				|  |  | -                  message: ' ',
 | 
	
		
			
				|  |  | -                  trigger: 'blur'
 | 
	
		
			
				|  |  | -                }
 | 
	
		
			
				|  |  | -              ]
 | 
	
		
			
				|  |  | -            },
 | 
	
		
			
				|  |  | -            {
 | 
	
		
			
				|  |  | -              label: '抄送日期',
 | 
	
		
			
				|  |  | -              prop: 'createTime',
 | 
	
		
			
				|  |  | -              type: "datetime",
 | 
	
		
			
				|  |  | -              span: 12,
 | 
	
		
			
				|  |  | -              disabled:true,
 | 
	
		
			
				|  |  | -              rules: [
 | 
	
		
			
				|  |  | -                {
 | 
	
		
			
				|  |  | -                  required: false,
 | 
	
		
			
				|  |  | -                  message: ' ',
 | 
	
		
			
				|  |  | -                  trigger: 'blur'
 | 
	
		
			
				|  |  | -                }
 | 
	
		
			
				|  |  | -              ]
 | 
	
		
			
				|  |  | -            },
 | 
	
		
			
				|  |  | -            {
 | 
	
		
			
				|  |  | -              label: '内容',
 | 
	
		
			
				|  |  | -              prop: 'messageBody',
 | 
	
		
			
				|  |  | -              span: 24,
 | 
	
		
			
				|  |  | -              rules: [
 | 
	
		
			
				|  |  | -                {
 | 
	
		
			
				|  |  | -                  required: true,
 | 
	
		
			
				|  |  | -                  message: ' ',
 | 
	
		
			
				|  |  | -                  trigger: 'blur'
 | 
	
		
			
				|  |  | -                }
 | 
	
		
			
				|  |  | -              ]
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -          ]
 | 
	
		
			
				|  |  | -        },
 | 
	
		
			
				|  |  | -        formMeg:{}
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -    },
 | 
	
		
			
				|  |  | -    created() {
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -    },
 | 
	
		
			
				|  |  | -    mounted() {
 | 
	
		
			
				|  |  | -      getUserList().then(res=>{
 | 
	
		
			
				|  |  | -        res.data.data.map((item,index)=>{
 | 
	
		
			
				|  |  | -          if(index <= 20){
 | 
	
		
			
				|  |  | -            this.userOption.push(item)
 | 
	
		
			
				|  |  | -          }
 | 
	
		
			
				|  |  | -        })
 | 
	
		
			
				|  |  | -      })
 | 
	
		
			
				|  |  | -      // option.height = window.innerHeight - 350 ;
 | 
	
		
			
				|  |  | -    },
 | 
	
		
			
				|  |  | -    methods: {
 | 
	
		
			
				|  |  | -      //抄送
 | 
	
		
			
				|  |  | -      copyTo(){
 | 
	
		
			
				|  |  | -        this.formMeg = {}
 | 
	
		
			
				|  |  | -        this.copyToDialog = true;
 | 
	
		
			
				|  |  | -        let date = new Date();
 | 
	
		
			
				|  |  | -        let strDate = date.getFullYear() + "-" + (date.getMonth() + 1) + "-" + date.getDate() + " " + date.getHours() + ":" + date.getMinutes() + ":" + date.getSeconds();
 | 
	
		
			
				|  |  | -        this.$set(this.formMeg,"createTime",strDate)
 | 
	
		
			
				|  |  | +import option from "./configuration/mainList.json";
 | 
	
		
			
				|  |  | +import { getFlowList } from "@/api/workManagement/mainProject";
 | 
	
		
			
				|  |  | +import { updateItemStatus } from "@/api/workManagement/mainProject";
 | 
	
		
			
				|  |  | +import { getUserList } from "@/api/workManagement/mainProject";
 | 
	
		
			
				|  |  | +import { saveMessage } from "@/api/logs";
 | 
	
		
			
				|  |  | +export default {
 | 
	
		
			
				|  |  | +  name: "customerInformation",
 | 
	
		
			
				|  |  | +  data() {
 | 
	
		
			
				|  |  | +    return {
 | 
	
		
			
				|  |  | +      loading: false,
 | 
	
		
			
				|  |  | +      exportLoading: false,
 | 
	
		
			
				|  |  | +      copyToDialog: false,
 | 
	
		
			
				|  |  | +      form: {},
 | 
	
		
			
				|  |  | +      search: {},
 | 
	
		
			
				|  |  | +      configuration: {
 | 
	
		
			
				|  |  | +        multipleChoices: false,
 | 
	
		
			
				|  |  | +        multiple: false,
 | 
	
		
			
				|  |  | +        disabled: false,
 | 
	
		
			
				|  |  | +        searchShow: true,
 | 
	
		
			
				|  |  | +        collapseTags: false,
 | 
	
		
			
				|  |  | +        clearable: true,
 | 
	
		
			
				|  |  | +        placeholder: '请点击右边按钮选择',
 | 
	
		
			
				|  |  | +        dicData: []
 | 
	
		
			
				|  |  |        },
 | 
	
		
			
				|  |  | -      //用户远程模糊
 | 
	
		
			
				|  |  | -      remoteMethod(query){
 | 
	
		
			
				|  |  | -        let params = {
 | 
	
		
			
				|  |  | -          realName : query
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        getUserList(params).then(res=>{
 | 
	
		
			
				|  |  | -          this.userOption = res.data.data
 | 
	
		
			
				|  |  | -        })
 | 
	
		
			
				|  |  | +      option: option,
 | 
	
		
			
				|  |  | +      parentId: 0,
 | 
	
		
			
				|  |  | +      dataList: [],
 | 
	
		
			
				|  |  | +      page: {
 | 
	
		
			
				|  |  | +        currentPage: 1,
 | 
	
		
			
				|  |  | +        total: 0,
 | 
	
		
			
				|  |  | +        pageSize: 10
 | 
	
		
			
				|  |  |        },
 | 
	
		
			
				|  |  | -      toUserChange(value){
 | 
	
		
			
				|  |  | -        this.userOption.forEach(item =>{
 | 
	
		
			
				|  |  | -          if(item.id == value){
 | 
	
		
			
				|  |  | -            this.formMeg.toUserName = item.realName
 | 
	
		
			
				|  |  | -          }
 | 
	
		
			
				|  |  | -        })
 | 
	
		
			
				|  |  | -      },
 | 
	
		
			
				|  |  | -      submitCopy(){
 | 
	
		
			
				|  |  | -        this.$refs["formMeg"].validate((valid) => {
 | 
	
		
			
				|  |  | -          if(valid){
 | 
	
		
			
				|  |  | -            saveMessage(this.formMeg).then(res=>{
 | 
	
		
			
				|  |  | -              if(res.data.success){
 | 
	
		
			
				|  |  | -                this.$message.success("抄送成功!")
 | 
	
		
			
				|  |  | -                this.copyToDialog = false
 | 
	
		
			
				|  |  | +      query: {},
 | 
	
		
			
				|  |  | +      userOption: [],
 | 
	
		
			
				|  |  | +      optionMeg: {
 | 
	
		
			
				|  |  | +        emptyBtn: false,
 | 
	
		
			
				|  |  | +        submitBtn: false,
 | 
	
		
			
				|  |  | +        labelWidth: 120,
 | 
	
		
			
				|  |  | +        menuSpan: 8,
 | 
	
		
			
				|  |  | +        column: [
 | 
	
		
			
				|  |  | +          {
 | 
	
		
			
				|  |  | +            label: '抄送人',
 | 
	
		
			
				|  |  | +            prop: 'toUserId',
 | 
	
		
			
				|  |  | +            span: 12,
 | 
	
		
			
				|  |  | +            type: 'select',
 | 
	
		
			
				|  |  | +            rules: [
 | 
	
		
			
				|  |  | +              {
 | 
	
		
			
				|  |  | +                required: true,
 | 
	
		
			
				|  |  | +                message: ' ',
 | 
	
		
			
				|  |  | +                trigger: 'blur'
 | 
	
		
			
				|  |  | +              }
 | 
	
		
			
				|  |  | +            ]
 | 
	
		
			
				|  |  | +          },
 | 
	
		
			
				|  |  | +          {
 | 
	
		
			
				|  |  | +            label: '抄送日期',
 | 
	
		
			
				|  |  | +            prop: 'createTime',
 | 
	
		
			
				|  |  | +            type: "datetime",
 | 
	
		
			
				|  |  | +            span: 12,
 | 
	
		
			
				|  |  | +            disabled: true,
 | 
	
		
			
				|  |  | +            rules: [
 | 
	
		
			
				|  |  | +              {
 | 
	
		
			
				|  |  | +                required: false,
 | 
	
		
			
				|  |  | +                message: ' ',
 | 
	
		
			
				|  |  | +                trigger: 'blur'
 | 
	
		
			
				|  |  | +              }
 | 
	
		
			
				|  |  | +            ]
 | 
	
		
			
				|  |  | +          },
 | 
	
		
			
				|  |  | +          {
 | 
	
		
			
				|  |  | +            label: '内容',
 | 
	
		
			
				|  |  | +            prop: 'messageBody',
 | 
	
		
			
				|  |  | +            span: 24,
 | 
	
		
			
				|  |  | +            rules: [
 | 
	
		
			
				|  |  | +              {
 | 
	
		
			
				|  |  | +                required: true,
 | 
	
		
			
				|  |  | +                message: ' ',
 | 
	
		
			
				|  |  | +                trigger: 'blur'
 | 
	
		
			
				|  |  |                }
 | 
	
		
			
				|  |  | -            })
 | 
	
		
			
				|  |  | +            ]
 | 
	
		
			
				|  |  |            }
 | 
	
		
			
				|  |  | -        })
 | 
	
		
			
				|  |  | +        ]
 | 
	
		
			
				|  |  |        },
 | 
	
		
			
				|  |  | -      downFile(){
 | 
	
		
			
				|  |  | -        this.exportLoading = true
 | 
	
		
			
				|  |  | -        let searchParams = Object.assign({},this.search);
 | 
	
		
			
				|  |  | -        let param = this.paramsAdjustment(searchParams)
 | 
	
		
			
				|  |  | -        getFlowList(1, 10000,param).then(res =>{
 | 
	
		
			
				|  |  | -          const fileData = this.deepClone(res.data.data.records)
 | 
	
		
			
				|  |  | -          fileData.map(item =>{
 | 
	
		
			
				|  |  | -            item.cornId = item.cornName
 | 
	
		
			
				|  |  | -          })
 | 
	
		
			
				|  |  | -          const fileColumn = this.deepClone(option.column)
 | 
	
		
			
				|  |  | -          fileColumn.shift();
 | 
	
		
			
				|  |  | -          this.$Export.excel({
 | 
	
		
			
				|  |  | -            title: "任务",
 | 
	
		
			
				|  |  | -            columns: fileColumn,
 | 
	
		
			
				|  |  | -            data: fileData,
 | 
	
		
			
				|  |  | -          });
 | 
	
		
			
				|  |  | -        }).finally(()=>{
 | 
	
		
			
				|  |  | -          this.exportLoading = false
 | 
	
		
			
				|  |  | -        })
 | 
	
		
			
				|  |  | +      formMeg: {},
 | 
	
		
			
				|  |  | +      UConfiguration: {
 | 
	
		
			
				|  |  | +        multipleChoices: false,
 | 
	
		
			
				|  |  | +        multiple: false,
 | 
	
		
			
				|  |  | +        disabled: false,
 | 
	
		
			
				|  |  | +        searchShow: true,
 | 
	
		
			
				|  |  | +        collapseTags: false,
 | 
	
		
			
				|  |  | +        placeholder: '请点击右边按钮选择',
 | 
	
		
			
				|  |  | +        dicData: []
 | 
	
		
			
				|  |  |        },
 | 
	
		
			
				|  |  | -      //完工
 | 
	
		
			
				|  |  | -      completion(row){
 | 
	
		
			
				|  |  | -        this.$confirm("确认将此任务完工?", {
 | 
	
		
			
				|  |  | -          confirmButtonText: "确定",
 | 
	
		
			
				|  |  | -          cancelButtonText: "取消",
 | 
	
		
			
				|  |  | -          type: "warning"
 | 
	
		
			
				|  |  | -        }).then(() => {
 | 
	
		
			
				|  |  | -          updateItemStatus(row.id,4).then(res =>{
 | 
	
		
			
				|  |  | -            if(res.data.success){
 | 
	
		
			
				|  |  | -              this.$message({
 | 
	
		
			
				|  |  | -                type: "success",
 | 
	
		
			
				|  |  | -                message: "操作成功!"
 | 
	
		
			
				|  |  | -              });
 | 
	
		
			
				|  |  | -              this.onLoad(this.page);
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  | +  created() {
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  | +  mounted() {
 | 
	
		
			
				|  |  | +    getUserList().then(res => {
 | 
	
		
			
				|  |  | +      res.data.data.map((item, index) => {
 | 
	
		
			
				|  |  | +        if (index <= 20) {
 | 
	
		
			
				|  |  | +          this.userOption.push(item)
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      })
 | 
	
		
			
				|  |  | +    })
 | 
	
		
			
				|  |  | +    // option.height = window.innerHeight - 350 ;
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  | +  methods: {
 | 
	
		
			
				|  |  | +    value(value, row) {
 | 
	
		
			
				|  |  | +      if (value) {
 | 
	
		
			
				|  |  | +        row.userid = value.id
 | 
	
		
			
				|  |  | +        row.deptid = value.deptId
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    rowCell(row, index) {
 | 
	
		
			
				|  |  | +      if (row.$cellEdit == true) {
 | 
	
		
			
				|  |  | +        this.$set(row, "$cellEdit", false);
 | 
	
		
			
				|  |  | +      } else {
 | 
	
		
			
				|  |  | +        this.$set(row, "$cellEdit", true);
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    //抄送
 | 
	
		
			
				|  |  | +    copyTo() {
 | 
	
		
			
				|  |  | +      this.formMeg = {}
 | 
	
		
			
				|  |  | +      this.copyToDialog = true;
 | 
	
		
			
				|  |  | +      let date = new Date();
 | 
	
		
			
				|  |  | +      let strDate = date.getFullYear() + "-" + (date.getMonth() + 1) + "-" + date.getDate() + " " + date.getHours() + ":" + date.getMinutes() + ":" + date.getSeconds();
 | 
	
		
			
				|  |  | +      this.$set(this.formMeg, "createTime", strDate)
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    //用户远程模糊
 | 
	
		
			
				|  |  | +    remoteMethod(query) {
 | 
	
		
			
				|  |  | +      let params = {
 | 
	
		
			
				|  |  | +        realName: query
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      getUserList(params).then(res => {
 | 
	
		
			
				|  |  | +        this.userOption = res.data.data
 | 
	
		
			
				|  |  | +      })
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    toUserChange(value) {
 | 
	
		
			
				|  |  | +      this.userOption.forEach(item => {
 | 
	
		
			
				|  |  | +        if (item.id == value) {
 | 
	
		
			
				|  |  | +          this.formMeg.toUserName = item.realName
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      })
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    submitCopy() {
 | 
	
		
			
				|  |  | +      this.$refs["formMeg"].validate((valid) => {
 | 
	
		
			
				|  |  | +        if (valid) {
 | 
	
		
			
				|  |  | +          saveMessage(this.formMeg).then(res => {
 | 
	
		
			
				|  |  | +            if (res.data.success) {
 | 
	
		
			
				|  |  | +              this.$message.success("抄送成功!")
 | 
	
		
			
				|  |  | +              this.copyToDialog = false
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |            })
 | 
	
		
			
				|  |  | -        });
 | 
	
		
			
				|  |  | -      },
 | 
	
		
			
				|  |  | -      //点击搜索按钮触发
 | 
	
		
			
				|  |  | -      searchChange(params, done) {
 | 
	
		
			
				|  |  | -        this.query = params;
 | 
	
		
			
				|  |  | -        this.page.currentPage = 1;
 | 
	
		
			
				|  |  | -        this.onLoad(this.page, params);
 | 
	
		
			
				|  |  | -        done()
 | 
	
		
			
				|  |  | -      },
 | 
	
		
			
				|  |  | -      searchReset() {
 | 
	
		
			
				|  |  | -        console.log('1')
 | 
	
		
			
				|  |  | -      },
 | 
	
		
			
				|  |  | -      selectionChange() {
 | 
	
		
			
				|  |  | -        console.log('1')
 | 
	
		
			
				|  |  | -      },
 | 
	
		
			
				|  |  | -      currentChange(val) {
 | 
	
		
			
				|  |  | -        this.page.currentPage = val
 | 
	
		
			
				|  |  | -        this.onLoad(this.page)
 | 
	
		
			
				|  |  | -      },
 | 
	
		
			
				|  |  | -      sizeChange() {
 | 
	
		
			
				|  |  | -        console.log('1')
 | 
	
		
			
				|  |  | -      },
 | 
	
		
			
				|  |  | -      refreshChange() {
 | 
	
		
			
				|  |  | -        this.onLoad(this.page)
 | 
	
		
			
				|  |  | -      },
 | 
	
		
			
				|  |  | -      paramsAdjustment(params){
 | 
	
		
			
				|  |  | -        params = Object.assign({},this.search);
 | 
	
		
			
				|  |  | -        if (params.beginTime &&  params.beginTime.length !=0) {  //发货
 | 
	
		
			
				|  |  | -          params.beginStartTime = params.beginTime[0]+ " " + "00:00:00";
 | 
	
		
			
				|  |  | -          params.beginEndTime = params.beginTime[1] + " " + "23:59:59";
 | 
	
		
			
				|  |  | -          this.$delete(params,'beginTime')
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | -        if(!params.status){
 | 
	
		
			
				|  |  | -          params.status = "1,4,5";
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        return params
 | 
	
		
			
				|  |  | -      },
 | 
	
		
			
				|  |  | -      onLoad(page, params = {}) {
 | 
	
		
			
				|  |  | -        params =  this.paramsAdjustment(params)
 | 
	
		
			
				|  |  | -        this.loading = true
 | 
	
		
			
				|  |  | -        getFlowList(page.currentPage, page.pageSize,params).then(res =>{
 | 
	
		
			
				|  |  | -          this.dataList = res.data.data.records
 | 
	
		
			
				|  |  | -          this.page.total = res.data.data.total
 | 
	
		
			
				|  |  | -        }).finally(()=>{
 | 
	
		
			
				|  |  | -          this.loading = false
 | 
	
		
			
				|  |  | +      })
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    downFile() {
 | 
	
		
			
				|  |  | +      this.exportLoading = true
 | 
	
		
			
				|  |  | +      let searchParams = Object.assign({}, this.search);
 | 
	
		
			
				|  |  | +      let param = this.paramsAdjustment(searchParams)
 | 
	
		
			
				|  |  | +      getFlowList(1, 10000, param).then(res => {
 | 
	
		
			
				|  |  | +        const fileData = this.deepClone(res.data.data.records)
 | 
	
		
			
				|  |  | +        fileData.map(item => {
 | 
	
		
			
				|  |  | +          item.cornId = item.cornName
 | 
	
		
			
				|  |  |          })
 | 
	
		
			
				|  |  | -      },
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | +        const fileColumn = this.deepClone(option.column)
 | 
	
		
			
				|  |  | +        fileColumn.shift();
 | 
	
		
			
				|  |  | +        this.$Export.excel({
 | 
	
		
			
				|  |  | +          title: "任务",
 | 
	
		
			
				|  |  | +          columns: fileColumn,
 | 
	
		
			
				|  |  | +          data: fileData,
 | 
	
		
			
				|  |  | +        });
 | 
	
		
			
				|  |  | +      }).finally(() => {
 | 
	
		
			
				|  |  | +        this.exportLoading = false
 | 
	
		
			
				|  |  | +      })
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    //完工
 | 
	
		
			
				|  |  | +    completion(row) {
 | 
	
		
			
				|  |  | +      this.$confirm("确认将此任务完工?", {
 | 
	
		
			
				|  |  | +        confirmButtonText: "确定",
 | 
	
		
			
				|  |  | +        cancelButtonText: "取消",
 | 
	
		
			
				|  |  | +        type: "warning"
 | 
	
		
			
				|  |  | +      }).then(() => {
 | 
	
		
			
				|  |  | +        updateItemStatus(row.id, 4).then(res => {
 | 
	
		
			
				|  |  | +          if (res.data.success) {
 | 
	
		
			
				|  |  | +            this.$message({
 | 
	
		
			
				|  |  | +              type: "success",
 | 
	
		
			
				|  |  | +              message: "操作成功!"
 | 
	
		
			
				|  |  | +            });
 | 
	
		
			
				|  |  | +            this.onLoad(this.page);
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +        })
 | 
	
		
			
				|  |  | +      });
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    //点击搜索按钮触发
 | 
	
		
			
				|  |  | +    searchChange(params, done) {
 | 
	
		
			
				|  |  | +      this.query = params;
 | 
	
		
			
				|  |  | +      this.page.currentPage = 1;
 | 
	
		
			
				|  |  | +      this.onLoad(this.page, params);
 | 
	
		
			
				|  |  | +      done()
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    searchReset() {
 | 
	
		
			
				|  |  | +      console.log('1')
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    selectionChange() {
 | 
	
		
			
				|  |  | +      console.log('1')
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    currentChange(val) {
 | 
	
		
			
				|  |  | +      this.page.currentPage = val
 | 
	
		
			
				|  |  | +      this.onLoad(this.page)
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    sizeChange() {
 | 
	
		
			
				|  |  | +      console.log('1')
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    refreshChange() {
 | 
	
		
			
				|  |  | +      this.onLoad(this.page)
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    paramsAdjustment(params) {
 | 
	
		
			
				|  |  | +      // params = Object.assign({}, this.search);
 | 
	
		
			
				|  |  | +      // if (params.beginTime && params.beginTime.length != 0) {  //发货
 | 
	
		
			
				|  |  | +      //   params.beginStartTime = params.beginTime[0] + " " + "00:00:00";
 | 
	
		
			
				|  |  | +      //   params.beginEndTime = params.beginTime[1] + " " + "23:59:59";
 | 
	
		
			
				|  |  | +      //   this.$delete(params, 'beginTime')
 | 
	
		
			
				|  |  | +      // }
 | 
	
		
			
				|  |  | +      let data = this.deepClone(Object.assign({}, params, this.search));
 | 
	
		
			
				|  |  | +      if (data.careteTime && data.careteTime.length > 0) {
 | 
	
		
			
				|  |  | +        data = {
 | 
	
		
			
				|  |  | +          ...data,
 | 
	
		
			
				|  |  | +          beginCreateTime: data.careteTime[0],
 | 
	
		
			
				|  |  | +          endCreateTime: data.careteTime[1]
 | 
	
		
			
				|  |  | +        };
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      if (!data.status) {
 | 
	
		
			
				|  |  | +        data.status = "1,4,5";
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      return data
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    onLoad(page, params) {
 | 
	
		
			
				|  |  | +      let data = this.paramsAdjustment(params)
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      delete data.careteTime;
 | 
	
		
			
				|  |  | +      this.loading = true;
 | 
	
		
			
				|  |  | +      getFlowList(page.currentPage, page.pageSize, data).then(res => {
 | 
	
		
			
				|  |  | +        this.dataList = res.data.data.records
 | 
	
		
			
				|  |  | +        this.page.total = res.data.data.total
 | 
	
		
			
				|  |  | +      }).finally(() => {
 | 
	
		
			
				|  |  | +        this.loading = false
 | 
	
		
			
				|  |  | +      })
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  |  </script>
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  <style scoped>
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |  </style>
 |