<template>
	<fullscreen :fullscreen.sync="fullscreen" class="container">
		<div class="container-box">
			<toolList @iconCli='iconCli' :tooltit='tooltit'></toolList>
			<div style="overflow: hidden;">
				<el-button style="float: right;margin-top: 10px;" type="primary" @click="dialogCheck(3)">添加</el-button>
			</div>
			<div class="tabbox">
				<el-table height="calc(100% - 40px)" class="com-table" ref="multipleTable" :data="tableData"
					tooltip-effect="dark" size="small" border style="width: 100%" v-loading="loading">
					<el-table-column prop="woTitle" label="业务名称">
					</el-table-column>
					<el-table-column prop="opName" label="申请姓名">
					</el-table-column>
					<el-table-column prop="createTime" label="申请时间">
					</el-table-column>
					<el-table-column prop="stsDesc" label="状态">
					</el-table-column>
					<el-table-column label="操作" width="120px" align="center">
						<template slot-scope="scope">
							<el-button size="mini" type="primary" @click="dialogCheck(1,scope.row)">查看</el-button>
							<el-button size="mini" type="danger" v-if="scope.row.sts != 1"
								@click="dialogCheck(2,scope.row)">处理</el-button>
						</template>
					</el-table-column>
				</el-table>
				<el-pagination class="pageBox" @current-change="currchange" layout="prev, pager, next" background
					:total="total">
				</el-pagination>
			</div>
		</div>

		<el-dialog :title="titname" :visible.sync="dialogStatus" width="50%" :destroy-on-close="true"
			:modal-append-to-body="false" :close-on-click-modal="false" :before-close="closedia" :fullscreen="true">
			<div v-loading="loadinged">
				<el-form :model="infolist" ref="infolist" :rules="rules"
					style="height: calc(100vh - 180px);overflow-y: scroll;">
					<div class="info-line">
						<el-form-item>
							<span>申请部门</span>
							<el-input v-model="infolist.groupName" disabled>
							</el-input>
						</el-form-item>
						<el-form-item>
							<span>拟稿人</span>
							<el-input v-model="infolist.loginName" disabled>
							</el-input>
						</el-form-item>
						<el-form-item>
							<span>拟稿日期</span>
							<el-input v-model="infolist.opTime" disabled>
							</el-input>
						</el-form-item>
						<el-form-item>
							<span>编号</span>
							<el-input v-model="infolist.woNo" disabled>
							</el-input>
						</el-form-item>
						<el-form-item prop="telNum">
							<span>联系电话</span>
							<el-input v-model="infolist.telNum" placeholder="联系电话"
								:disabled="titname != '添加'&&vision != '流程发起'">
							</el-input>
						</el-form-item>
						<el-form-item prop="mailBox">
							<span>邮箱</span>
							<el-input v-model="infolist.mailBox" placeholder="邮箱"
								:disabled="titname != '添加'&&vision != '流程发起'">
							</el-input>
						</el-form-item>
						<el-form-item prop="woName">
							<span>需求名称</span>
							<el-input v-model="infolist.woName" placeholder="需求名称"
								:disabled="titname != '添加'&&vision != '流程发起'">
							</el-input>
						</el-form-item>
						<!-- <el-form-item prop="terminal">
							<span>申请流程</span>
							<el-select clearable v-model="terminal" placeholder="申请流程"
								:disabled="titname != '添加'&&vision != '流程发起'">
								<el-option v-for="items in options" :key="items.procId" :label="items.procName"
									:value="items.procId">
								</el-option>
							</el-select>
						</el-form-item> -->

						<el-form-item prop="telType">
							<span>电话类型</span>
							<el-select clearable v-model="infolist.telType" placeholder="联系电话类型"
								:disabled="titname != '添加'&&vision != '流程发起'">
								<el-option v-for="items in telopt" :key="items.dataCode" :label="items.dataName"
									:value="items.dataCode">
								</el-option>
							</el-select>
						</el-form-item>
						<el-form-item prop="needType">
							<span>需求类型</span>
							<el-select clearable v-model="infolist.needType" placeholder="需求类型"
								:disabled="titname != '添加'&&vision != '流程发起'">
								<el-option v-for="items in needopt" :key="items.dataCode" :label="items.dataName"
									:value="items.dataCode">
								</el-option>
							</el-select>
						</el-form-item>
						<el-form-item prop="outType">
							<span>外呼平台</span>
							<el-select clearable v-model="infolist.outType" placeholder="外呼平台"
								:disabled="titname != '添加'&&vision != '流程发起'">
								<el-option v-for="items in outopt" :key="items.dataCode" :label="items.dataName"
									:value="items.dataCode">
								</el-option>
							</el-select>
						</el-form-item>
						<el-form-item prop="customer">
							<span>客户数量</span>
							<el-input v-model="infolist.customer" placeholder="外呼客户数量"
								:disabled="titname != '添加'&&vision != '流程发起'">
							</el-input>
						</el-form-item>
					</div>

					<el-form-item class="info-line online" prop="requirement">
						<span>需求描述</span>
						<el-input v-model="infolist.requirement" placeholder="需求描述" type="textarea"
							:autosize="{ minRows: 3, maxRows: 10}" :disabled="titname != '添加'&&vision != '流程发起'">
						</el-input>
					</el-form-item>

					<div class="info-line">
						<el-form-item prop="business">
							<span>涉及业务</span>
							<el-input v-model="infolist.business" placeholder="涉及业务"
								:disabled="titname != '添加'&&vision != '流程发起'">
							</el-input>
						</el-form-item>
						<el-form-item prop="completion">
							<span>完成标志</span>
							<el-input v-model="infolist.completion" placeholder="需求完成标志"
								:disabled="titname != '添加'&&vision != '流程发起'">
							</el-input>
						</el-form-item>
						<el-form-item prop="feedback">
							<span>反馈内容</span>
							<el-input v-model="infolist.feedback" placeholder="结果反馈内容"
								:disabled="titname != '添加'&&vision != '流程发起'">
							</el-input>
						</el-form-item>
						<el-form-item prop="outTime">
							<span>外呼时间</span>
							<el-date-picker v-model="infolist.outTime" type="daterange" placeholder="计划外呼时间"
								:disabled="titname != '添加'&&vision != '流程发起'">
							</el-date-picker>
						</el-form-item>
						<el-form-item prop="dataRemark">
							<span>数据描述</span>
							<el-input v-model="infolist.dataRemark" placeholder="呼出数据属性描述"
								:disabled="titname != '添加'&&vision != '流程发起'">
							</el-input>
						</el-form-item>
					</div>

					<el-form-item prop="technique" class="info-line online">
						<span>外呼话术</span>
						<el-input v-model="infolist.technique" placeholder="外呼话术" type="textarea"
							:autosize="{ minRows: 3, maxRows: 10}" :disabled="titname != '添加'&&vision != '流程发起'">
						</el-input>
					</el-form-item>

					<el-form-item prop="marketing" class="info-line online">
						<span>外呼营销</span>
						<el-input v-model="infolist.marketing" placeholder="外呼营销/服务政策" type="textarea"
							:autosize="{ minRows: 3, maxRows: 10}" :disabled="titname != '添加'&&vision != '流程发起'">
						</el-input>
					</el-form-item>

					<el-form-item prop="attention" class="info-line online">
						<span>注意事项</span>
						<el-input v-model="infolist.attention" placeholder="相关注意事项" type="textarea"
							:autosize="{ minRows: 3, maxRows: 10}" :disabled="titname != '添加'&&vision != '流程发起'">
						</el-input>
					</el-form-item>

					<div style="padding:0 20px 0 120px;margin-bottom: 20px;" v-if="disableStatus">
						<uploadDown :datalist="datalist" :dialogStatus="uploadstatus"></uploadDown>
					</div>

					<div v-if="!disableStatus">
						<myUpload @uploadBack="uploadBack" :fileInfo="fileInfo" :fileList="fileInfo.fileList">
						</myUpload>
					</div>

					<el-form-item class="info-line online" v-if="visionsts == '2'">
						<span>审批说明</span>
						<el-input v-model="remark" placeholder="审批说明" type="textarea" :rows="3"
							:disabled="titname == '查看'">
						</el-input>
					</el-form-item>

					<div style="margin-bottom: 20px;padding: 0 20px;" v-if="titname != '添加'">
						<el-table class="com-table" ref="multipleTable" :data="rovaList" tooltip-effect="dark"
							size="small" border style="width: 100%">
							<el-table-column prop="taskId" label="编号">
							</el-table-column>
							<el-table-column prop="taskName" label="环节">
							</el-table-column>
							<el-table-column prop="assigneeName" label="处理人">
							</el-table-column>
							<el-table-column prop="assigneeNo" label="处理人工号">
							</el-table-column>
							<el-table-column prop="opTime" label="处理时间">
							</el-table-column>
							<el-table-column prop="remark" label="备注">
							</el-table-column>
						</el-table>
					</div>
				</el-form>

				<div slot="footer" class="dialog-footer myfooter">
					<el-button v-if="titname != '查看' && vision == '流程发起'" type="primary" @click="checkexa = true">确 定
					</el-button>
					<el-button v-if="titname != '查看' && vision == '上刊用印'" type="primary" @click="dialogCli(2)">导 出
					</el-button>
					<el-button v-if="titname != '查看' && visionsts == '2'" type="primary" @click="checkexa = true">通 过
					</el-button>
					<el-button v-if="titname != '查看' && visionsts == '2'" type="primary" @click="dialogCli(1)">打 回
					</el-button>
					<el-button v-if="titname == '添加'" type="primary" @click="checkexa = true">确 定</el-button>
					<el-button v-if="titname == '查看'" @click="dialogCli(3)">确 定</el-button>
					<el-button @click="dialogCli(3)">取 消</el-button>
				</div>
			</div>
		</el-dialog>
		 <el-dialog
        title="选择审批人"
        :visible.sync="checkexa"
        width="100%"
        style="height: 100%"
        :fullscreen="true"
        :destroy-on-close="true"
        :modal-append-to-body="false"
        :close-on-click-modal="false"
      >
        <div style="height: 100%">
          <el-form :model="infolist" ref="infolist" style="height: 100%">
            <el-form-item prop="visiblec" style="height: 100%">
              <!-- <span style="width: 80px">审批人员</span> -->
              <deptTreeOnly
                @treeCheck="treeCheckonly"
                :defaultList="defaultList"
                :type="depttype"
                :closeList="closeList"
              ></deptTreeOnly>
              <div style="text-align: center; margin-top: 30px">
                <el-button type="primary" @click="checkProcessUser()"
                  >确 定</el-button
                >
				<!-- <el-button type="primary" @click="dialogCliadd" v-if="!visionchonly">确 定</el-button>
        			<el-button type="primary" @click="dialogCli(2)" v-if="visionchonly">确 定</el-button> -->
                <el-button @click="checkexa = false">取 消</el-button>
              </div>
              <!-- <div class="tree treeUser">
                <p>
                  {{ treeListonly.leaderAuditName }}
                  <i
                    v-if="treeListonly.leaderAuditName"
                    @click="treeDelete()"
                    class="el-icon-error"
                  ></i>
                </p>
              </div> -->
            </el-form-item>
          </el-form>
        </div>
      </el-dialog>
        <!-- <el-dialog title="选择审批人" :visible.sync="checkexa" width="50%" :destroy-on-close="true"
        	:modal-append-to-body="false" :close-on-click-modal="false">
        	<div>

        		<el-form :model="infolist" ref="infolist" :rules="rules">
        			<el-form-item prop="visiblec" class="info-line online">
        				<span>审批人员</span>
        				<deptTreeOnly class="tree" @treeCheck="treeCheckonly" :defaultList="defaultList"
        					:type="depttype" :closeList="closeList"></deptTreeOnly>
        				<div class="tree treeUser">
        					<p>{{treeListonly.leaderAuditName}}
        						<i v-if="treeListonly.leaderAuditName" @click="deletes()"
        							class="el-icon-error"></i>
        					</p>
        				</div>
        			</el-form-item>
        		</el-form>

        		<div slot="footer" style="text-align: right;padding-bottom: 20px;">
        			<el-button type="primary" @click="dialogCliadd" v-if="!visionchonly">确 定</el-button>
        			<el-button type="primary" @click="dialogCli(2)" v-if="visionchonly">确 定</el-button>
        			<el-button @click="checkexa = false">取 消</el-button>
        		</div>
        	</div>
        </el-dialog> -->

	</fullscreen>

</template>
<script>
	import mySearch from "../../../components/search.vue";
	import myMessage from "../../../components/myMessage.vue"
	import toolList from '../../../components/toolList'
	import myUpload from '../../../components/upload'
	import uploadDown from '../../../components/uploadDown.vue'
    // import deptTreeOnly from "../../../components/deptTreeOnly.vue"
	import deptTreeOnly from "../../../components/newTree.vue";

	export default {
		components: {
			mySearch,
			myMessage,
			toolList,
			myUpload,
			uploadDown,
            deptTreeOnly
		},
		data() {
			const woName = (rule, value, callback) => {
				if (!this.infolist.woName) {
					callback(new Error('不能为空'))
				} else {
					callback()
				}
			}
			const telNum = (rule, value, callback) => {
				if (!this.infolist.telNum) {
					callback(new Error('不能为空'))
				} else {
					callback()
				}
			}
			const mailBox = (rule, value, callback) => {
				if (!this.infolist.mailBox) {
					callback(new Error('不能为空'))
				} else {
					callback()
				}
			}
			const telType = (rule, value, callback) => {
				if (!this.infolist.telType) {
					callback(new Error('不能为空'))
				} else {
					callback()
				}
			}
			const needType = (rule, value, callback) => {
				if (!this.infolist.needType) {
					callback(new Error('不能为空'))
				} else {
					callback()
				}
			}
			const outType = (rule, value, callback) => {
				if (!this.infolist.outType) {
					callback(new Error('不能为空'))
				} else {
					callback()
				}
			}
			const customer = (rule, value, callback) => {
				if (!this.infolist.customer) {
					callback(new Error('不能为空'))
				} else {
					callback()
				}
			}
			const requirement = (rule, value, callback) => {
				if (!this.infolist.requirement) {
					callback(new Error('不能为空'))
				} else {
					callback()
				}
			}
			const business = (rule, value, callback) => {
				if (!this.infolist.business) {
					callback(new Error('不能为空'))
				} else {
					callback()
				}
			}
			const completion = (rule, value, callback) => {
				if (!this.infolist.completion) {
					callback(new Error('不能为空'))
				} else {
					callback()
				}
			}
			const feedback = (rule, value, callback) => {
				if (!this.infolist.feedback) {
					callback(new Error('不能为空'))
				} else {
					callback()
				}
			}
			const outTime = (rule, value, callback) => {
				if (!this.infolist.outTime) {
					callback(new Error('不能为空'))
				} else {
					callback()
				}
			}
			const dataRemark = (rule, value, callback) => {
				if (!this.infolist.dataRemark) {
					callback(new Error('不能为空'))
				} else {
					callback()
				}
			}
			const technique = (rule, value, callback) => {
				if (!this.infolist.technique) {
					callback(new Error('不能为空'))
				} else {
					callback()
				}
			}
			return {
				rules: {
					woName: [{
						required: true,
						trigger: 'blur',
						validator: woName
					}],
					telNum: [{
						required: true,
						trigger: 'blur',
						validator: telNum
					}],
					mailBox: [{
						required: true,
						trigger: 'blur',
						validator: mailBox
					}],
					telType: [{
						required: true,
						trigger: 'change',
						validator: telType
					}],
					needType: [{
						required: true,
						trigger: 'change',
						validator: needType
					}],
					outType: [{
						required: true,
						trigger: 'change',
						validator: outType
					}],
					customer: [{
						required: true,
						trigger: 'blur',
						validator: customer
					}],
					requirement: [{
						required: true,
						trigger: 'blur',
						validator: requirement
					}],
					business: [{
						required: true,
						trigger: 'blur',
						validator: business
					}],
					completion: [{
						required: true,
						trigger: 'blur',
						validator: completion
					}],
					feedback: [{
						required: true,
						trigger: 'blur',
						validator: feedback
					}],
					outTime: [{
						required: true,
						trigger: 'blur',
						validator: outTime
					}],
					dataRemark: [{
						required: true,
						trigger: 'blur',
						validator: dataRemark
					}],
					technique: [{
						required: true,
						trigger: 'blur',
						validator: technique
					}],
				},
				tooltit: '外呼需求',
				fullscreen: false,
				total: 0,
				pageSize: 1,
				tableData: [{}],
				dialogStatus: false,
				disableStatus: false,
				titname: '',
				infolist: {
					groupName: "",
					loginName: "",
					opTime: ''
				},
				userInfo: {},
				params: {},
				messTit: '',
				delid: '',
				loading: false,
				loadinged: false,
				fileInfo: {
					limit: 5,
					url: '/bpm/api/upload',
					fileList: []
				},
				rovaList: [],
				vision: '',
				datalist: {
					url: '/bpm/api/download',
					type: 1
				},
				uploadstatus: false,
				opname: '',
				opno: '',
				attList: [],
				options: [],
				terminal: '729292981242601472',
				// terminal: '727707168239054848',
				remark: '',
				visionsts: '1',

				telopt: [{
						dataCode: '1',
						dataName: '普通外呼需求'
					},
					{
						dataCode: '2',
						dataName: '特殊外呼需求'
					}
				],
				needopt: [{
						dataCode: '1',
						dataName: '服务类'
					},
					{
						dataCode: '2',
						dataName: '家庭业务类'
					},
					{
						dataCode: '3',
						dataName: '存量营销类'
					}
				],
				outopt: [{
						dataCode: '1',
						dataName: '10085常客维系平台'
					},
					{
						dataCode: '2',
						dataName: '10086自有人员'
					},
					{
						dataCode: '3',
						dataName: '10085众包人员'
					}
				],
                checkexa: false,
                treeListonly: {},
                defaultList: [],
                closeList: false,
                visionchonly: false,
                depttype: 0,
			}
		},
		methods: {
			checkProcessUser() {
                let _this = this;
                if (_this.treeListonly.length > 1) {
                    _this.$message({
                    message: "只能选择一个人",
                    type: "error",
                    });
                } else {
                    _this.dialogCliadd();
                }
                },
            deletes() {
            	this.treeListonly = {};
            	this.closeList = !this.closeList;
            },
            treeCheckonly(v) {
            	this.treeListonly = v;
				this.treeListonly.leaderAuditName = v[0].label;
				this.treeListonly.leaderAuditNo = v[0].key;
            },
			closedia() {
				this.infolist = {
					groupName: "",
					loginName: "",
					opTime: ''
				};
				this.attList = [];
				this.fileInfo.fileList = [];
				this.dialogStatus = false;
                this.checkexa = false;
			},
			//获取列表
			getList(v, n) {
				this.pageSize = n;
				let _this = this;
				this.loading = true;
				v.procName = "外呼需求申请";
				this.$http({
					url: "/bpm/api/queryToDoAndFinishTaskList",
					method: "post",
					headers: {
						"Content-Type": "application/json",
						"page": '{"pageNo":"' + n + '","pageSize":"10"}'
					},
					data: v,
				}).then((res) => {
					this.tableData = res.data.data;
					this.total = res.data.totalRecord;
					this.loading = false;
				});
			},
			// 分页
			currchange(v) {
				this.pageSize = v;
				this.getList(this.params, this.pageSize);
			},
			//申请
			dialogCheck(v, n) {
				this.dialogStatus = true;
				let infolist = Object.assign({}, n);
				this.vision = '';
				this.visionsts = '';
				this.infodatas = [{}, {}];
				if (v === 1) {
					this.titname = '查看';
					this.disableStatus = true;
				} else if (v === 2) {
					this.titname = '审批';
					this.disableStatus = true;
				} else if (v === 3) {
					this.titname = '添加';
					this.disableStatus = false;
					this.$http({
						url: "/sysmgr/csysuserinfo/queryUserInfoByLoginNo",
						method: "post",
						headers: {
							"Content-Type": "application/json",
						},
						data: {},
					}).then((res) => {
						this.infolist.groupName = res.data.groupName;
						this.infolist.loginName = res.data.loginName;
						console.log(this.infolist)
					});
					this.$http({
						url: "/sysmgr/csysuserinfo/queryUserInfoByLoginNo",
						method: "post",
						headers: {
							"Content-Type": "application/json",
						},
						data: {},
					}).then((res) => {
						console.log(res.data)
					});
					return
				}
				this.$http({
					url: '/bpm/api/taskInit',
					method: "post",
					headers: {
						"Content-Type": "application/json",
					},
					data: {
						woNo: n.woNo
					},
				}).then((res) => {
					// this.infolist = Object.assign({}, res.data);
					this.terminal = infolist.procId;
					this.opname = res.data.opName;
					this.opno = res.data.opNo;
					this.infolist = JSON.parse(res.data.params.terminalRes);
					this.infolist.procId = infolist.procId;
					this.infolist.procVersion = infolist.procVersion;
					this.remark = infolist.remark;
					this.infolist.stepId = infolist.stepId;
					this.infolist.taskId = infolist.taskId;
					this.infolist.taskName = infolist.taskName;
					this.infolist.opName = infolist.opName;
					this.infolist.opNo = infolist.opNo;
					// this.infolist.opTime = infolist.opTime;
					this.infolist.woNo = infolist.woNo;
                    this.visionchonly = true;
					if (res.data.taskList[res.data.taskList.length - 1].taskName == '流程发起') {
						this.vision = '流程发起';
						if (this.titname == '审批') {
							this.disableStatus = false;
						}
					} else {
						this.vision = '审批';
						this.visionsts = '2';
					}
					this.datalist.attList = JSON.parse(res.data.params.attList);
					this.attList = [];
					this.fileInfo.fileList = [];
					this.datalist.attList.forEach(item => {
						item.id = item.attchFileId;
						this.fileInfo.fileList.push({
							name: item.fileName,
							url: '',
							id: item.id,
							attchFileId: item.attchFileId,
							fileName: item.fileName
						});
						this.attList.push({
							name: item.fileName,
							url: '',
							id: item.id,
							attchFileId: item.attchFileId,
							fileName: item.fileName
						});
					})
					this.rovaList = res.data.taskList;
					this.uploadstatus = true;
				});
			},
			//审批
			dialogCli(v, n) {
				this.dialogStatus = false;
				if (v === 3) {
					this.infolist = {
						groupName: "",
						loginName: "",
						opTime: ''
					};
					this.attList = [];
					this.fileInfo.fileList = [];
                    this.checkexa = false;
					return
				}
				let _this = this;
				// this.infolist.opTime = _this.$formatDate(new Date(), "YYYY-MM-DD")
				if (v === 1) {
					let params = {
						dealType: '1',
						dealTypeDesc: '打回',
						procId: this.infolist.procId,
						procVersion: this.infolist.procVersion,
						remark: this.remark,
						stepId: this.infolist.stepId,
						taskId: this.infolist.taskId,
						taskName: this.infolist.taskName,
						opName: this.infolist.opName,
						opNo: this.opno,
						opTime: this.infolist.opTime,
						params: {
							procExeCondiVal: '不同意',
							terminalRes: JSON.stringify(this.infolist),
						},
						woNo: this.infolist.woNo,
					}
					this.submitInfo("/bpm/api/submitTask", params);
				} else if (v === 2) {
					let param = {
						dealType: '0',
						dealTypeDesc: '提交',
						procId: this.infolist.procId,
						procVersion: this.infolist.procVersion,
						remark: this.remark,
						stepId: this.infolist.stepId,
						taskId: this.infolist.taskId,
						taskName: this.infolist.taskName,
						opName: this.infolist.opName,
						opNo: this.opno,
						opTime: this.infolist.opTime,
						params: {
							woType: this.infolist.woType,
							terminalRes: JSON.stringify(this.infolist),
						},
						woNo: this.infolist.woNo,

					}
                    param.params.assigneeNo = this.treeListonly.leaderAuditNo;
                    param.params.assigneeName = this.treeListonly.leaderAuditName;
                    console.log(this.treeListonly)
					// if (this.vision == '审批' && this.visionsts == '2') {
					// 	param.params.assigneeNo = this.opno;
					// 	param.params.assigneeName = this.opname;
					// }
					if (this.vision == '流程发起') {
						let attList = [];
						for (let i = 0; i < this.attList.length; i++) {
							attList.push({
								id: this.attList[i].id,
								fileCode: this.attList[i].fileCode,
								fileName: this.attList[i].fileName,
								opName: this.attList[i].opName,
								opNo: this.attList[i].opNo,
								opTime: this.attList[i].opTime,
								woNo: this.infolist.woNo,
								attchFileId: this.attList[i].attchFileId,
							});
						}
						param.params.attList = JSON.stringify(attList)
					}
					if (this.vision == '上刊用印') {
						let param = new FormData();
						param.append("woNo", this.infolist.woNo);
						this.$http({
							url: "/market/cAdvPubWo/excelExport",
							method: "post",
							headers: {
								"Content-Type": "application/json",
							},
							responseType: "blob",
							data: param,
						}).then((response) => {
							if (window.navigator && window.navigator.msSaveOrOpenBlob) {
								let blob = new Blob([response.data], {
									type: 'application/vnd.ms-excel'
								})
								window.navigator.msSaveOrOpenBlob(blob,
									new Date().getTime() + '.xlsx')
							} else {
								/* 火狐谷歌的文件下载方式 */
								var blob = new Blob([response.data])
								var downloadElement = document.createElement('a')
								var href = window.URL.createObjectURL(blob)
								downloadElement.href = href
								downloadElement.download = new Date().getTime() + '.xlsx'
								document.body.appendChild(downloadElement)
								downloadElement.click()
								document.body.removeChild(downloadElement)
								window.URL.revokeObjectURL(href)
							}
						});
					}
					this.submitInfo("/bpm/api/submitTask", param);
				}
			},
			//添加
			dialogCliadd(v) {
				let _this = this;
				let info = {};
				info.opTime = _this.$formatDate(new Date(), "YYYY-MM-DD");
				this.infolist.opTime = _this.$formatDate(new Date(), "YYYY-MM-DD");
				info.opNo = this.userInfo.loginNo;
				info.opName = this.userInfo.loginName;
				info.woTitle = this.infolist.woName;
				info.params = {};
				info.params.terminalRes = this.infolist;
				info.procId = this.terminal;
				for (let i = 0; i < this.options.length; i++) {
					if (this.terminal == this.options[i].procId) {
						info.procName = this.options[i].procName;
						info.procVersion = this.options[i].procVersion;
					}
				}
				let attList = [];
				for (let i = 0; i < this.attList.length; i++) {
					attList.push({
						id: this.attList[i].id,
						fileCode: this.attList[i].fileCode,
						fileName: this.attList[i].fileName,
						opName: this.attList[i].opName,
						opNo: this.attList[i].opNo,
						opTime: this.attList[i].opTime,
						woNo: this.infolist.woNo,
						attchFileId: this.attList[i].attchFileId,
					});
				}
                info.params.assigneeNo = this.treeListonly.leaderAuditNo;
                info.params.assigneeName = this.treeListonly.leaderAuditName;
				info.params.attList = JSON.stringify(attList)
				info.params.terminalRes = JSON.stringify(info.params.terminalRes);
				this.submitInfo("/bpm/api/startProc", info);
			},

			submitInfo(u, v) {
				let _this = this;
				this.$refs.infolist.validate(valid => {
					if (valid) {
						this.$http({
							url: u,
							method: "post",
							headers: {
								"Content-Type": "application/json",
							},
							data: v,
						}).then((res) => {
							if (res.data.result === 1) {
								_this.$message({
									message: res.data.desc,
									type: 'error'
								});
							} else {
								_this.$message({
									message: '成功',
									type: 'success'
								});
								_this.closedia();
								_this.infolist = {
									groupName: "",
									loginName: "",
									opTime: ''
								};
								_this.attList = [];
                                _this.checkexa = false;
								_this.fileInfo.fileList = [];
								_this.getList(this.params, this.pageSize);
							}

						});
					}
				})
			},
			getStanding(v) {
				if (v == 1) {
					this.$router.push({
						path: '/advgys',
					});
					this.setabList('供应商管理', '/advgys');
				} else {
					this.$router.push({
						path: '/advysx',
					});
					this.setabList('预算及上限', '/advysx');
				}
			},
			setabList(n, p) {
				let params = {
					children: "",
					name: n,
					rountPath: p,
					target: "_self",
				};
				for (let i = 0; i < this.$store.state.tabList.length; i++) {
					if (this.$store.state.tabList[i].name === params.name) {
						this.$store.state.tabList[i] = params;
					}
				}
				let set = new Set([...this.$store.state.tabList, params]);
				set.add(params);
				this.$store.commit("setDefaultActive", params.rountPath);
				this.$store.commit("setTabList", Array.from(set));
			},
			//流程
			getTermianl() {
				this.$http({
					url: "/bpm/api/queryBpmProcList",
					method: "post",
					headers: {
						"Content-Type": "application/json",
						"page": '{"pageNo":"' + 1 + '","pageSize":"100"}'
					},
					data: {},
				}).then((res) => {
					this.options = res.data.data;
				});
			},
			//文件返回值
			uploadBack(v) {
				this.attList = v;
			},
			//功能栏
			iconCli(v) {
				if (v === 1) {
					this.getList(this.params, this.pageSize);
				}
				if (v === 2) {
					this.fullscreen = !this.fullscreen
				}
			},
			getUser() {
				this.userInfo = JSON.parse(window.sessionStorage.userInfo);

			}
		},
		mounted() {
			this.getList({}, 1);
			this.getUser();
			this.getTermianl();
		},
		created() {

		}
	}
</script>
<style scoped lang="scss">
	::v-deep .el-dialog .flex-box{
        height: 400px;
    }
	.onetab {
		margin-bottom: 20px;
		padding: 0 20px;
	}

	.titbox {
		div {
			float: right;

			i {
				font-size: 22px;
				margin-left: 20px;
				cursor: pointer;
			}
		}
	}

	.tabbox {
		margin-top: 15px;
	}

	.pageBox {
		text-align: right;
		margin-top: 10px;
	}

	.info-line {
		width: 100%;
		display: block;
		padding-left: 20px;

		div {
			width: 50%;
			display: inline-block;
		}

		span {
			width: 100px;
			display: inline-block;
			text-align: left;

			i {
				color: red;
				display: inline-block;
				padding-right: 5px;
			}
		}

		.el-select,
		.el-input {
			width: calc(100% - 120px);
		}
		.el-date-editor{
			display: inline-flex;
			width: calc(100% - 120px);
		}
	}

	.online {
		width: 100%;

		.el-select {
			width: calc(100% - 120px);
		}

		span {
			vertical-align: top;
		}

		.el-textarea {
			width: calc(100% - 120px);
		}
	}

	.adv-type {
		margin-top: 20px;
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		// border: 1px solid #ddd;
		border-radius: 5px;
		padding: 20px;
		box-shadow: 0 2px 12px 0 rgba(0, 0, 0, .1);

		div {
			width: 33%;
			text-align: center;
			height: 80px;
			overflow: hidden;
			min-width: 100px;
			cursor: pointer;
			padding-top: 10px;
			margin: 10px 0;
		}

		div:hover {
			background: #CFE8FC;
			border-radius: 5px;
		}

		span {
			width: 100%;
			display: inline-block;
			height: 40px;

			// line-height: 40px;
			i {
				color: #0074D9;
				font-size: 36px;
			}
		}
	}
    .online {
    	width: 100%;

    	.el-select {
    		width: calc(100% - 100px);
    	}

    	span {
    		vertical-align: top;
    	}

    	.el-textarea {
    		width: calc(100% - 120px);
    	}

    	.tree {
    		width: calc(50% - 60px);
    		display: inline-block;
    		margin-right: 20px;
    		height: 300px;
    		overflow-y: scroll;

    		.el-icon-error {
    			float: right;
    			font-size: 20px;
    			margin-top: 9px;
    			cursor: pointer;
    		}
    	}

    	.treeUser {
    		margin: 0;
    		border: 1px solid #ddd;

    		p {
    			background: #f4f4f4;
    			padding: 0 20px;
    			margin-bottom: 5px;
    		}
    	}

    	.treeUserb {
    	    width: calc(100% - 100px);
    	    border: 1px solid #ddd;
    	    background: #f4f4f4;
    	    border-radius: 3px;
    	    height: auto;
    	    overflow: hidden;

    	    p {
    	        display: inline-block;
    	        padding: 0 20px;
    	        margin-bottom: 5px;
    	    }
    	}
    }
</style>
