|  | @@ -0,0 +1,492 @@
 | 
	
		
			
				|  |  | +<template>
 | 
	
		
			
				|  |  | +  <div>
 | 
	
		
			
				|  |  | +    <basic-container>
 | 
	
		
			
				|  |  | +      <avue-crud
 | 
	
		
			
				|  |  | +        ref="crud"
 | 
	
		
			
				|  |  | +        :option="option"
 | 
	
		
			
				|  |  | +        :data="dataList"
 | 
	
		
			
				|  |  | +        v-model="form"
 | 
	
		
			
				|  |  | +        :page.sync="page"
 | 
	
		
			
				|  |  | +        :search.sync="search"
 | 
	
		
			
				|  |  | +        :table-loading="loading"
 | 
	
		
			
				|  |  | +        @on-load="onLoad"
 | 
	
		
			
				|  |  | +        @search-change="searchChange"
 | 
	
		
			
				|  |  | +        @current-change="currentChange"
 | 
	
		
			
				|  |  | +        @size-change="sizeChange"
 | 
	
		
			
				|  |  | +        @refresh-change="refreshChange"
 | 
	
		
			
				|  |  | +        @saveColumn="saveColumn"
 | 
	
		
			
				|  |  | +      >
 | 
	
		
			
				|  |  | +        <template slot-scope="scope" slot="status">
 | 
	
		
			
				|  |  | +          <span v-if="scope.row.status == 'N'">新建</span>
 | 
	
		
			
				|  |  | +          <span v-if="scope.row.status == 'A'">有效</span>
 | 
	
		
			
				|  |  | +          <span v-if="scope.row.status == 'S'">停用</span>
 | 
	
		
			
				|  |  | +          <span v-if="scope.row.status == 'Z'">暂存</span>
 | 
	
		
			
				|  |  | +        </template>
 | 
	
		
			
				|  |  | +        <template slot="menuLeft">
 | 
	
		
			
				|  |  | +          <el-button
 | 
	
		
			
				|  |  | +            type="primary"
 | 
	
		
			
				|  |  | +            icon="el-icon-plus"
 | 
	
		
			
				|  |  | +            size="small"
 | 
	
		
			
				|  |  | +            @click.stop="addHandle"
 | 
	
		
			
				|  |  | +          >创建单据</el-button>
 | 
	
		
			
				|  |  | +        </template>
 | 
	
		
			
				|  |  | +        <template slot-scope="scope" slot="menu">
 | 
	
		
			
				|  |  | +          <el-button
 | 
	
		
			
				|  |  | +            type="text"
 | 
	
		
			
				|  |  | +            icon="el-icon-edit"
 | 
	
		
			
				|  |  | +            size="small"
 | 
	
		
			
				|  |  | +            @click.stop="editOpen(scope.row)"
 | 
	
		
			
				|  |  | +          >编辑
 | 
	
		
			
				|  |  | +          </el-button>
 | 
	
		
			
				|  |  | +          <el-button
 | 
	
		
			
				|  |  | +            type="text"
 | 
	
		
			
				|  |  | +            icon="el-icon-delete"
 | 
	
		
			
				|  |  | +            size="small"
 | 
	
		
			
				|  |  | +            @click.stop="rowDel(scope.row, scope.index)"
 | 
	
		
			
				|  |  | +          >删除
 | 
	
		
			
				|  |  | +          </el-button>
 | 
	
		
			
				|  |  | +        </template>
 | 
	
		
			
				|  |  | +      </avue-crud>
 | 
	
		
			
				|  |  | +    </basic-container>
 | 
	
		
			
				|  |  | +    <el-dialog
 | 
	
		
			
				|  |  | +      append-to-body
 | 
	
		
			
				|  |  | +      :visible.sync="visible"
 | 
	
		
			
				|  |  | +      width="80%"
 | 
	
		
			
				|  |  | +      :close-on-click-modal="false"
 | 
	
		
			
				|  |  | +      :destroy-on-close="true"
 | 
	
		
			
				|  |  | +      :close-on-press-escape="false"
 | 
	
		
			
				|  |  | +      v-dialog-drag
 | 
	
		
			
				|  |  | +      :title="title"
 | 
	
		
			
				|  |  | +    >
 | 
	
		
			
				|  |  | +      <el-form :inline="true" :model="dataForm" :rules="dataRule" ref="dataForm">
 | 
	
		
			
				|  |  | +        <el-form-item label="审核路径名称" prop="pathName">
 | 
	
		
			
				|  |  | +          <el-input v-model="dataForm.pathName" placeholder="审核路径名称"></el-input>
 | 
	
		
			
				|  |  | +        </el-form-item>
 | 
	
		
			
				|  |  | +        <el-form-item label="状态" prop="status">
 | 
	
		
			
				|  |  | +          <el-select v-model="dataForm.status" placeholder="状态" style="width: 100%">
 | 
	
		
			
				|  |  | +            <el-option
 | 
	
		
			
				|  |  | +              v-for="item in optionsStatue"
 | 
	
		
			
				|  |  | +              :key="item.id"
 | 
	
		
			
				|  |  | +              :label="item.name"
 | 
	
		
			
				|  |  | +              :value="item.id">
 | 
	
		
			
				|  |  | +            </el-option>
 | 
	
		
			
				|  |  | +          </el-select>
 | 
	
		
			
				|  |  | +        </el-form-item>
 | 
	
		
			
				|  |  | +        <el-form-item label="维护人" prop="opUserName">
 | 
	
		
			
				|  |  | +          <el-input v-model="dataForm.opUserName" disabled placeholder="维护人"></el-input>
 | 
	
		
			
				|  |  | +        </el-form-item>
 | 
	
		
			
				|  |  | +        <el-form-item label="维护时间" prop="opDate">
 | 
	
		
			
				|  |  | +          <el-input v-model="dataForm.opDate" disabled placeholder="维护时间"></el-input>
 | 
	
		
			
				|  |  | +        </el-form-item>
 | 
	
		
			
				|  |  | +        <el-form-item label="类型名称" prop="businessType">
 | 
	
		
			
				|  |  | +          <el-input v-model="dataForm.businessType" placeholder="类型名称"></el-input>
 | 
	
		
			
				|  |  | +        </el-form-item>
 | 
	
		
			
				|  |  | +        <el-form-item label="备注" class="full" prop="remarks">
 | 
	
		
			
				|  |  | +          <el-input v-model="dataForm.remarks" placeholder="备注"></el-input>
 | 
	
		
			
				|  |  | +        </el-form-item>
 | 
	
		
			
				|  |  | +      </el-form>
 | 
	
		
			
				|  |  | +      <avue-crud
 | 
	
		
			
				|  |  | +        ref="dialogCrud"
 | 
	
		
			
				|  |  | +        :option="detailOption"
 | 
	
		
			
				|  |  | +        :data="detailData"
 | 
	
		
			
				|  |  | +      >
 | 
	
		
			
				|  |  | +        <template slot="levelName" slot-scope="{row,index}">
 | 
	
		
			
				|  |  | +          <el-input
 | 
	
		
			
				|  |  | +            v-model="row.levelName"
 | 
	
		
			
				|  |  | +            clearable
 | 
	
		
			
				|  |  | +            placeholder="请输入"
 | 
	
		
			
				|  |  | +          ></el-input>
 | 
	
		
			
				|  |  | +        </template>
 | 
	
		
			
				|  |  | +        <template slot="remarks" slot-scope="{row,index}">
 | 
	
		
			
				|  |  | +          <el-input
 | 
	
		
			
				|  |  | +            v-model="row.remarks"
 | 
	
		
			
				|  |  | +            clearable
 | 
	
		
			
				|  |  | +            placeholder="请输入"
 | 
	
		
			
				|  |  | +          ></el-input>
 | 
	
		
			
				|  |  | +        </template>
 | 
	
		
			
				|  |  | +        <template slot="iffixAuditUser" slot-scope="{row,index}">
 | 
	
		
			
				|  |  | +          <el-select
 | 
	
		
			
				|  |  | +            v-model="row.iffixAuditUser"
 | 
	
		
			
				|  |  | +          >
 | 
	
		
			
				|  |  | +            <el-option
 | 
	
		
			
				|  |  | +              label="是"
 | 
	
		
			
				|  |  | +              value="T"
 | 
	
		
			
				|  |  | +            ></el-option>
 | 
	
		
			
				|  |  | +            <el-option
 | 
	
		
			
				|  |  | +              label="否"
 | 
	
		
			
				|  |  | +              value="F"
 | 
	
		
			
				|  |  | +            ></el-option>
 | 
	
		
			
				|  |  | +          </el-select>
 | 
	
		
			
				|  |  | +        </template>
 | 
	
		
			
				|  |  | +        <template slot="iffinalItem" slot-scope="{row,index}">
 | 
	
		
			
				|  |  | +          <el-select
 | 
	
		
			
				|  |  | +            v-model="row.iffinalItem"
 | 
	
		
			
				|  |  | +          >
 | 
	
		
			
				|  |  | +            <el-option
 | 
	
		
			
				|  |  | +              label="是"
 | 
	
		
			
				|  |  | +              value="T"
 | 
	
		
			
				|  |  | +            ></el-option>
 | 
	
		
			
				|  |  | +            <el-option
 | 
	
		
			
				|  |  | +              label="否"
 | 
	
		
			
				|  |  | +              value="F"
 | 
	
		
			
				|  |  | +            ></el-option>
 | 
	
		
			
				|  |  | +          </el-select>
 | 
	
		
			
				|  |  | +        </template>
 | 
	
		
			
				|  |  | +        <template slot="userMold" slot-scope="{ row, index }">
 | 
	
		
			
				|  |  | +          <el-select
 | 
	
		
			
				|  |  | +            v-model="row.userMold"
 | 
	
		
			
				|  |  | +            filterable
 | 
	
		
			
				|  |  | +            placeholder="请选择规则"
 | 
	
		
			
				|  |  | +            @change="userMoldChange(row)"
 | 
	
		
			
				|  |  | +          >
 | 
	
		
			
				|  |  | +            <el-option
 | 
	
		
			
				|  |  | +              v-for="(item, index) in ruleData"
 | 
	
		
			
				|  |  | +              :key="index"
 | 
	
		
			
				|  |  | +              :value="item.value"
 | 
	
		
			
				|  |  | +              :label="item.label"
 | 
	
		
			
				|  |  | +            ></el-option>
 | 
	
		
			
				|  |  | +          </el-select>
 | 
	
		
			
				|  |  | +        </template>
 | 
	
		
			
				|  |  | +        <template slot="auditMoldId" slot-scope="{ row, index }">
 | 
	
		
			
				|  |  | +          <el-cascader
 | 
	
		
			
				|  |  | +            v-model="row.auditMoldId"
 | 
	
		
			
				|  |  | +            :disabled="!row.userMold || row.userMold == 3"
 | 
	
		
			
				|  |  | +            :options="row.userMold == 1? roleData: row.userMold == 2? deptData: []"
 | 
	
		
			
				|  |  | +            :props="props"
 | 
	
		
			
				|  |  | +            collapse-tags
 | 
	
		
			
				|  |  | +            clearable
 | 
	
		
			
				|  |  | +            filterable
 | 
	
		
			
				|  |  | +            @change="auditChange(row)"
 | 
	
		
			
				|  |  | +          ></el-cascader>
 | 
	
		
			
				|  |  | +        </template>
 | 
	
		
			
				|  |  | +        <template slot="auditUserId" slot-scope="{row,index}">
 | 
	
		
			
				|  |  | +          <el-select
 | 
	
		
			
				|  |  | +            v-model="row.auditUserId"
 | 
	
		
			
				|  |  | +            filterable
 | 
	
		
			
				|  |  | +            collapse-tags
 | 
	
		
			
				|  |  | +            multiple
 | 
	
		
			
				|  |  | +            placeholder="审核人"
 | 
	
		
			
				|  |  | +          >
 | 
	
		
			
				|  |  | +            <el-option v-for="(item,index) in row.userList"
 | 
	
		
			
				|  |  | +                       :key="index"
 | 
	
		
			
				|  |  | +                       :label="item.realName"
 | 
	
		
			
				|  |  | +                       :value="item.id"
 | 
	
		
			
				|  |  | +            ></el-option>
 | 
	
		
			
				|  |  | +          </el-select>
 | 
	
		
			
				|  |  | +        </template>
 | 
	
		
			
				|  |  | +        <template slot="salesCompanyId" slot-scope="{row,index}">
 | 
	
		
			
				|  |  | +          <el-select
 | 
	
		
			
				|  |  | +            v-model="row.salesCompanyId"
 | 
	
		
			
				|  |  | +            filterable
 | 
	
		
			
				|  |  | +            collapse-tags
 | 
	
		
			
				|  |  | +            placeholder="机构"
 | 
	
		
			
				|  |  | +          >
 | 
	
		
			
				|  |  | +            <el-option v-for="(item,index) in institutionList"
 | 
	
		
			
				|  |  | +                       :key="index"
 | 
	
		
			
				|  |  | +                       :label="item.deptName"
 | 
	
		
			
				|  |  | +                       :value="item.id"
 | 
	
		
			
				|  |  | +            ></el-option>
 | 
	
		
			
				|  |  | +          </el-select>
 | 
	
		
			
				|  |  | +        </template>
 | 
	
		
			
				|  |  | +        <template slot="menuLeft">
 | 
	
		
			
				|  |  | +          <el-button
 | 
	
		
			
				|  |  | +            type="primary"
 | 
	
		
			
				|  |  | +            icon="el-icon-plus"
 | 
	
		
			
				|  |  | +            size="small"
 | 
	
		
			
				|  |  | +            @click.stop="addDetail"
 | 
	
		
			
				|  |  | +          >新增</el-button>
 | 
	
		
			
				|  |  | +        </template>
 | 
	
		
			
				|  |  | +        <template slot-scope="{row,index}" slot="menu">
 | 
	
		
			
				|  |  | +          <el-button
 | 
	
		
			
				|  |  | +            type="text"
 | 
	
		
			
				|  |  | +            icon="el-icon-delete"
 | 
	
		
			
				|  |  | +            size="small"
 | 
	
		
			
				|  |  | +            @click="rowDetailDelete(detailData, index)"
 | 
	
		
			
				|  |  | +          >移除</el-button>
 | 
	
		
			
				|  |  | +        </template>
 | 
	
		
			
				|  |  | +      </avue-crud>
 | 
	
		
			
				|  |  | +      <span slot="footer" class="dialog-footer">
 | 
	
		
			
				|  |  | +        <el-button @click="closeDia">取消</el-button>
 | 
	
		
			
				|  |  | +        <el-button type="primary" @click="dataFormSubmit()">确定</el-button>
 | 
	
		
			
				|  |  | +      </span>
 | 
	
		
			
				|  |  | +    </el-dialog>
 | 
	
		
			
				|  |  | +  </div>
 | 
	
		
			
				|  |  | +</template>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +<script>
 | 
	
		
			
				|  |  | +import option from "./config/mainList.json";
 | 
	
		
			
				|  |  | +import detailOption from "./config/detail.json";
 | 
	
		
			
				|  |  | +import { getList,
 | 
	
		
			
				|  |  | +  modify,
 | 
	
		
			
				|  |  | +  removeList,
 | 
	
		
			
				|  |  | +  detailData ,userList,
 | 
	
		
			
				|  |  | +  getUserApprovalList} from "@/api/approvalH/processConfig";
 | 
	
		
			
				|  |  | +import _ from "lodash";
 | 
	
		
			
				|  |  | +import {getDeptTree} from "@/api/system/dept";
 | 
	
		
			
				|  |  | +import {getRoleTree} from "@/api/system/role";
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +import {topList} from "@/api/tirePartsMall/salesManagement/saleOrder";
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +export default {
 | 
	
		
			
				|  |  | +  name: "index",
 | 
	
		
			
				|  |  | +  data() {
 | 
	
		
			
				|  |  | +    return {
 | 
	
		
			
				|  |  | +      institutionList: [],
 | 
	
		
			
				|  |  | +      option: {},
 | 
	
		
			
				|  |  | +      dataList: [],
 | 
	
		
			
				|  |  | +      form: {},
 | 
	
		
			
				|  |  | +      page: {
 | 
	
		
			
				|  |  | +        pageSize: 10,
 | 
	
		
			
				|  |  | +        currentPage: 1,
 | 
	
		
			
				|  |  | +        total: 0,
 | 
	
		
			
				|  |  | +        pageSizes: [10, 50, 100, 200, 300, 400, 500]
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  | +      detailData: [],
 | 
	
		
			
				|  |  | +      auditUserIdDic:[],
 | 
	
		
			
				|  |  | +      loading: false,
 | 
	
		
			
				|  |  | +      search: {},
 | 
	
		
			
				|  |  | +      visible: false,
 | 
	
		
			
				|  |  | +      title: '',
 | 
	
		
			
				|  |  | +      detailOption: {},
 | 
	
		
			
				|  |  | +      optionsStatue: [
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  | +          id: 'A',
 | 
	
		
			
				|  |  | +          name: '有效'
 | 
	
		
			
				|  |  | +        },
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  | +          id: 'S',
 | 
	
		
			
				|  |  | +          name: '停用'
 | 
	
		
			
				|  |  | +        },
 | 
	
		
			
				|  |  | +      ],
 | 
	
		
			
				|  |  | +      dataForm: {
 | 
	
		
			
				|  |  | +        status: 'A',
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  | +      dataRule: {},
 | 
	
		
			
				|  |  | +      tenantId: null, // 租户
 | 
	
		
			
				|  |  | +      // dicData: [],
 | 
	
		
			
				|  |  | +      props: {
 | 
	
		
			
				|  |  | +        multiple: true,
 | 
	
		
			
				|  |  | +        value: 'id',
 | 
	
		
			
				|  |  | +        label: 'title',
 | 
	
		
			
				|  |  | +        emitPath: false,
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  | +      roleData: [],
 | 
	
		
			
				|  |  | +      deptData: [],
 | 
	
		
			
				|  |  | +      ruleData: [
 | 
	
		
			
				|  |  | +        {value: 1, label: '角色'},
 | 
	
		
			
				|  |  | +        {value: 2, label: '部门'},
 | 
	
		
			
				|  |  | +        {value: 3, label: '用户'},
 | 
	
		
			
				|  |  | +      ], //指定规则
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  | +  created() {
 | 
	
		
			
				|  |  | +    this.option = option
 | 
	
		
			
				|  |  | +    this.detailOption = detailOption
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    getUserApprovalList().then(res =>{
 | 
	
		
			
				|  |  | +      this.auditUserIdDic = res.data.data
 | 
	
		
			
				|  |  | +    })
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    this.tenantId = this.$store.getters.userInfo.tenant_id;
 | 
	
		
			
				|  |  | +    getRoleTree(this.tenantId).then(res => {
 | 
	
		
			
				|  |  | +      this.roleData = res.data.data;
 | 
	
		
			
				|  |  | +    });
 | 
	
		
			
				|  |  | +    getDeptTree(this.tenantId).then(res => {
 | 
	
		
			
				|  |  | +      this.deptData = res.data.data;
 | 
	
		
			
				|  |  | +    });
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    let i = 0;
 | 
	
		
			
				|  |  | +    this.option.column.forEach(item => {
 | 
	
		
			
				|  |  | +      if (item.search) i++
 | 
	
		
			
				|  |  | +    })
 | 
	
		
			
				|  |  | +    if (i % 3 !== 0){
 | 
	
		
			
				|  |  | +      const num = 3 - Number(i % 3)
 | 
	
		
			
				|  |  | +      this.option.searchMenuSpan = num * 8;
 | 
	
		
			
				|  |  | +      this.option.searchMenuPosition = "right";
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  | +  methods: {
 | 
	
		
			
				|  |  | +    onLoad(page, params) {
 | 
	
		
			
				|  |  | +      params = {
 | 
	
		
			
				|  |  | +        ...params,
 | 
	
		
			
				|  |  | +        current: page.currentPage,
 | 
	
		
			
				|  |  | +        size: page.pageSize,
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      this.loading = true
 | 
	
		
			
				|  |  | +      getList(params).then(res => {
 | 
	
		
			
				|  |  | +        this.dataList = res.data.data.records ? res.data.data.records : [];
 | 
	
		
			
				|  |  | +      }).finally(() => {
 | 
	
		
			
				|  |  | +        this.loading = false
 | 
	
		
			
				|  |  | +      })
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    addHandle() {
 | 
	
		
			
				|  |  | +      this.title = '新增';
 | 
	
		
			
				|  |  | +      this.visible = !this.visible
 | 
	
		
			
				|  |  | +      this.dataForm = {}
 | 
	
		
			
				|  |  | +      this.detailData = []
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    // 编辑
 | 
	
		
			
				|  |  | +    editOpen(row) {
 | 
	
		
			
				|  |  | +      topList().then(res => {
 | 
	
		
			
				|  |  | +        this.institutionList = res.data.data
 | 
	
		
			
				|  |  | +      })
 | 
	
		
			
				|  |  | +      detailData({id: row.id}).then(res => {
 | 
	
		
			
				|  |  | +        this.dataForm = res.data.data
 | 
	
		
			
				|  |  | +        this.detailData = res.data.data.pjAuditPathsLevels
 | 
	
		
			
				|  |  | +        this.detailData.map(e => {
 | 
	
		
			
				|  |  | +          let params = {};
 | 
	
		
			
				|  |  | +          if (e.auditMoldId && e.auditMoldId.length > 0) {
 | 
	
		
			
				|  |  | +            if (e.userMold === 1) {
 | 
	
		
			
				|  |  | +              this.$set(params, 'roleId', e.auditMoldId)
 | 
	
		
			
				|  |  | +            } else if (e.userMold === 2) {
 | 
	
		
			
				|  |  | +              this.$set(params, 'deptId', e.auditMoldId)
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            userList(params).then(response => {
 | 
	
		
			
				|  |  | +              this.$set(e, 'userList', response.data.data);
 | 
	
		
			
				|  |  | +            })
 | 
	
		
			
				|  |  | +          } else {
 | 
	
		
			
				|  |  | +            this.$set(e, 'userList', this.auditUserIdDic);
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +          if (e.auditMoldId) {
 | 
	
		
			
				|  |  | +            e.auditMoldId = e.auditMoldId.split(',')
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +          if (e.auditUserId) {
 | 
	
		
			
				|  |  | +            e.auditUserId = e.auditUserId.split(',')
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +        })
 | 
	
		
			
				|  |  | +      })
 | 
	
		
			
				|  |  | +      this.title = '修改';
 | 
	
		
			
				|  |  | +      this.visible = !this.visible
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    rowDel(row, index) {
 | 
	
		
			
				|  |  | +      this.$confirm("确定将选择数据删除?", {
 | 
	
		
			
				|  |  | +        confirmButtonText: "确定",
 | 
	
		
			
				|  |  | +        cancelButtonText: "取消",
 | 
	
		
			
				|  |  | +        type: "warning"
 | 
	
		
			
				|  |  | +      }).then(() => {
 | 
	
		
			
				|  |  | +        removeList(row.id).then(res =>{
 | 
	
		
			
				|  |  | +          if(res.data.success){
 | 
	
		
			
				|  |  | +            this.$message({
 | 
	
		
			
				|  |  | +              type: "success",
 | 
	
		
			
				|  |  | +              message: "操作成功!"
 | 
	
		
			
				|  |  | +            });
 | 
	
		
			
				|  |  | +            this.page.currentPage = 1;
 | 
	
		
			
				|  |  | +            this.onLoad(this.page);
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +        })
 | 
	
		
			
				|  |  | +      })
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    //点击搜索按钮触发
 | 
	
		
			
				|  |  | +    searchChange(params, done) {
 | 
	
		
			
				|  |  | +      this.page.currentPage = 1;
 | 
	
		
			
				|  |  | +      this.onLoad(this.page, params);
 | 
	
		
			
				|  |  | +      done();
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    currentChange(val) {
 | 
	
		
			
				|  |  | +      this.page.currentPage = val;
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    sizeChange(val) {
 | 
	
		
			
				|  |  | +      this.page.currentPage = 1;
 | 
	
		
			
				|  |  | +      this.page.pageSize = val;
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    refreshChange() {
 | 
	
		
			
				|  |  | +      this.onLoad(this.page, this.search);
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    async saveColumn() {
 | 
	
		
			
				|  |  | +      // const inSave = await this.saveColumnData(
 | 
	
		
			
				|  |  | +      //   this.getColumnName(50),
 | 
	
		
			
				|  |  | +      //   this.option
 | 
	
		
			
				|  |  | +      // );
 | 
	
		
			
				|  |  | +      if (inSave) {
 | 
	
		
			
				|  |  | +        this.$message.success("保存成功");
 | 
	
		
			
				|  |  | +        //关闭窗口
 | 
	
		
			
				|  |  | +        this.$refs.crud.$refs.dialogColumn.columnBox = false;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    addDetail() {
 | 
	
		
			
				|  |  | +      if(this.detailData === undefined) {
 | 
	
		
			
				|  |  | +        this.detailData = []
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      this.detailData.push({
 | 
	
		
			
				|  |  | +        // userList: this.auditUserIdDic,
 | 
	
		
			
				|  |  | +        // levelName: null,
 | 
	
		
			
				|  |  | +        // auditUserId: [],
 | 
	
		
			
				|  |  | +        // iffixAuditUser: 'T',
 | 
	
		
			
				|  |  | +        // iffinalItem: 'T',
 | 
	
		
			
				|  |  | +        // remarks: null,
 | 
	
		
			
				|  |  | +        // $cellEdit: true
 | 
	
		
			
				|  |  | +      })
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    rowDetailDelete(row, index) {
 | 
	
		
			
				|  |  | +      row.splice(index, 1)
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    closeDia() {
 | 
	
		
			
				|  |  | +      this.visible = false
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    dataFormSubmit() {
 | 
	
		
			
				|  |  | +      if (this.detailData.length === 0) {
 | 
	
		
			
				|  |  | +        this.$message.error('请维护审批级次')
 | 
	
		
			
				|  |  | +        return false
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      for (let x in this.detailData) {
 | 
	
		
			
				|  |  | +        if (this.detailData[x].iffixAuditUser === 'S') {
 | 
	
		
			
				|  |  | +          if (this.detailData[x].auditUserId === null || this.detailData[x].auditUserId === '' || this.dataList[x].auditUserId.length === 0) {
 | 
	
		
			
				|  |  | +            this.$message.error('请维护第' + (Number(x) + 1) + '级的审核人')
 | 
	
		
			
				|  |  | +            return false
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      let params ={
 | 
	
		
			
				|  |  | +        ...this.dataForm,
 | 
	
		
			
				|  |  | +        pjAuditPathsLevels: JSON.parse(JSON.stringify(this.detailData))
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      for (let item of params.pjAuditPathsLevels){
 | 
	
		
			
				|  |  | +        item.levelId = _.add(item.$index,1)
 | 
	
		
			
				|  |  | +        delete item.id
 | 
	
		
			
				|  |  | +        if (item.auditMoldId) {
 | 
	
		
			
				|  |  | +          item.auditMoldId = item.auditMoldId.join(',');
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        if (item.auditUserId) {
 | 
	
		
			
				|  |  | +          item.auditUserId = item.auditUserId.join(',');
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      modify(params).then(res =>{
 | 
	
		
			
				|  |  | +        if(res.data.success){
 | 
	
		
			
				|  |  | +          this.$message.success("操作成功!")
 | 
	
		
			
				|  |  | +          this.visible = false
 | 
	
		
			
				|  |  | +          this.refreshChange()
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      })
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    auditChange(row) {
 | 
	
		
			
				|  |  | +      let params = {};
 | 
	
		
			
				|  |  | +      row.auditUserId = null;
 | 
	
		
			
				|  |  | +      if (row.auditMoldId && row.auditMoldId.length > 0) {
 | 
	
		
			
				|  |  | +        const data = row.auditMoldId.join(',');
 | 
	
		
			
				|  |  | +        if (row.userMold === 1) {
 | 
	
		
			
				|  |  | +          this.$set(params, 'roleId', data)
 | 
	
		
			
				|  |  | +        } else if (row.userMold === 2) {
 | 
	
		
			
				|  |  | +          this.$set(params, 'deptId', data)
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        userList(params).then(res => {
 | 
	
		
			
				|  |  | +          this.$set(row, 'userList', res.data.data);
 | 
	
		
			
				|  |  | +          // 选完角色部门默认全部带上
 | 
	
		
			
				|  |  | +          this.$set(row, 'auditUserId', res.data.data.map(item => item = item.id));
 | 
	
		
			
				|  |  | +        })
 | 
	
		
			
				|  |  | +      } else {
 | 
	
		
			
				|  |  | +        this.$set(row, 'userList', [])
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    userMoldChange(row) {
 | 
	
		
			
				|  |  | +      row.auditUserId = null;
 | 
	
		
			
				|  |  | +      row.auditMoldId = null;
 | 
	
		
			
				|  |  | +      this.$set(row, 'userList', row.userMold == 3? this.auditUserIdDic: []);
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +</script>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +<style scoped>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +</style>
 |