123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986 |
- <!--
- * @Author : yuanrunwei
- * @Date : 2021-12-04 14:23:58
- * @LastEditors: daiqisheng
- * @LastEditTime: 2022-03-07 17:40:14
- * @FilePath : \spfm-market-front\src\pages\main\performance\components\sheet.vue
- -->
- <template>
- <div class="sheet-container">
- <div class="flex-justify-align-end margin-bottom-20">
- <el-button
- type="primary"
- @click="handleVisible"
- v-if="['template'].includes(attribute)"
- >权限设置</el-button
- >
- <el-button type="primary" @click="handleDownload">导出</el-button>
- <el-button type="primary" @click="handleFullscreen()">全屏显示</el-button>
- <template v-if="['edit'].includes(type)">
- <el-upload
- v-if="!id"
- class="margin-right-10 margin-left-10"
- action
- :on-change="handleChange"
- :show-file-list="false"
- >
- <el-button type="primary">上传</el-button>
- </el-upload>
- <el-button
- v-if="!status || status === '2'"
- type="primary"
- @click="handleSave('2')"
- :disabled="handleForbid()"
- >暂存</el-button
- >
- <el-button
- v-if="status === '2' || status === '3'"
- type="primary"
- @click="handleResave"
- :disabled="handleForbid()"
- >保存</el-button
- >
- <el-button
- v-if="addFlag === '0'"
- type="primary"
- @click="handleSave('0')"
- :disabled="handleForbid()"
- ><span>{{ id ? "提交" : "新增" }}</span
- ><span>{{
- handleForbid() ? `(请先设置权限)` : ""
- }}</span></el-button
- >
- </template>
- </div>
- <div id="luckysheet" class="sheet-container-block"></div>
- <simple-dialog
- title="权限设置"
- :visible="visible"
- :modal="false"
- width="1400px"
- @confirm="handleAuth"
- @cancel="handleVisible"
- >
- <el-form ref="form" :model="form" label-width="80px">
- <el-radio-group
- v-model="form.permission_type"
- :disabled="type !== 'edit'"
- >
- <el-form-item>
- <el-radio :label="0"><span>无特殊权限</span></el-radio>
- <div>
- <span class="form-content">负责人</span>
- <el-select
- v-model="form.person"
- multiple
- placeholder="请选择负责人"
- :disabled="type !== 'edit'"
- >
- <el-option
- v-for="({ label, value }, index) in charge_list"
- :key="index"
- :label="label"
- :value="value"
- ></el-option>
- </el-select>
- </div>
- </el-form-item>
- <el-form-item>
- <el-radio :label="1"><span>特殊权限:</span></el-radio>
- <el-form-item
- label="负责人"
- prop="charge"
- v-for="(item, index) in form.charge"
- :key="index"
- :rules="{
- required: true,
- message: '负责人不能为空',
- trigger: 'blur',
- }"
- >
- <div class="flex">
- <el-select
- class="margin-bottom-20 margin-right-10"
- placeholder="请选择负责人"
- v-model="item.person"
- filterable
- :disabled="type !== 'edit'"
- >
- <el-option
- v-for="({ label, value }, index) in charge_list"
- :key="index"
- :label="label"
- :value="value"
- ></el-option>
- </el-select>
- <div class="form-select">
- <span class="form-content">可编辑行:从</span>
- <el-input
- v-model="item.row_start"
- @input="(params) => handleInput(index, 'row_start', params)"
- :disabled="type !== 'edit'"
- />
- <span class="form-content">到</span>
- <el-input
- v-model="item.row_end"
- @input="(params) => handleInput(index, 'row_end', params)"
- :disabled="type !== 'edit'"
- />
- </div>
- <div class="form-select">
- <span class="form-content">可编辑列:从</span>
- <el-input
- :disabled="type !== 'edit'"
- v-model="item.col_start"
- />
- <!-- @input="(params) => handleInput(index, 'col_start', params)" -->
- <span class="form-content">到</span>
- <el-input
- :disabled="type !== 'edit'"
- v-model="item.col_end"
- />
- </div>
- </div>
- </el-form-item>
- <div>
- <el-button
- @click.prevent="handleCharge('add')"
- :disabled="type !== 'edit'"
- >添加</el-button
- >
- <el-button
- v-if="form.charge.length - 1"
- @click.prevent="handleCharge('delete')"
- :disabled="type !== 'edit'"
- >删除</el-button
- >
- </div>
- </el-form-item>
- </el-radio-group>
- </el-form>
- <template v-if="id && status !== '2' && status !== '3'" v-slot:footer
- ><div></div
- ></template>
- </simple-dialog>
- <simpleDialog
- title="提交"
- :visible="manager_approve"
- :modal="false"
- @cancel="handleApprove(0)"
- >
- <el-form :model="approveForm" label-width="120px">
- <el-form-item
- label="审批意见:"
- :rules="{
- required: true,
- message: '请选择审批意见',
- trigger: 'change',
- }"
- >
- <el-select v-model="approveForm.type">
- <el-option
- v-for="item in approveForm.list"
- :key="item.value"
- :label="item.label"
- :value="item.value"
- >
- </el-option>
- </el-select>
- </el-form-item>
- <el-form-item
- v-if="approveForm.type === '3'"
- label="其它审批意见:"
- :rules="{
- required: true,
- message: '请输入审批意见',
- trigger: 'blur',
- }"
- ><el-input v-model="approveForm.comments"
- /></el-form-item>
- </el-form>
- <template v-slot:footer>
- <div>
- <el-button @click.prevent="handleApprove('1')">结束</el-button>
- <el-button @click.prevent="handleApprove('4')" type="primary"
- >转副总审批</el-button
- >
- <el-button @click.prevent="handleApprove('3')" type="primary"
- >转总经理审批</el-button
- >
- </div>
- </template>
- </simpleDialog>
- </div>
- </template>
- <script>
- import luckyexcel from "luckyexcel";
- import { exportExcel } from "../common/export";
- import simpleDialog from "./dialog.vue";
- export default {
- components: {
- simpleDialog,
- },
- props: {
- type: {
- type: String,
- default: "view", // view 查看 edit 编辑
- },
- attribute: {
- type: String,
- default: "template", // template 模板 order 工单 file 文件
- },
- id: {
- default: null,
- },
- receiver: {
- type: String,
- default: "",
- },
- status: { type: String, default: "" },
- },
- data() {
- return {
- form: {
- charge: [
- {
- person: [],
- col_start: "",
- col_end: "",
- row_start: "",
- row_end: "",
- },
- ],
- array: [],
- type: null,
- permission_type: null,
- col_start: "",
- col_end: "",
- row_start: "",
- row_end: "",
- },
- approveForm: {
- type: "",
- comments: "",
- list: [
- {
- label: "同意",
- value: "同意",
- },
- {
- label: "不同意",
- value: "不同意",
- },
- {
- label: "其他",
- value: "3",
- },
- ],
- },
- // 可提交标志
- addFlag: "0",
- rowList: [],
- isDisable: true,
- issued_id: null,
- template_id: null,
- visible: false,
- manager_approve: false,
- row_list: [],
- column_list: [],
- charge_list: [],
- type_options: [
- {
- value: 1,
- label: "按行",
- },
- // {
- // value: 2,
- // label: "按列",
- // },
- ],
- };
- },
- methods: {
- handleInit() {
- if (this.id) {
- this.handleQuery();
- } else {
- this.handleCreate();
- }
- },
- // // 权限选择
- // handleRadio(e){
- // console.log(e,'e');
- // },
- handleAllow({ row, column }) {
- let public_permisson =
- (!this.form.permission_type ||
- this.status === "2" ||
- this.status === "3") &&
- this.type === "edit";
- let editable =
- this.row_list.includes(row) && this.column_list.includes(column);
- // let totalBoolean = (public_permisson || editable) && this.id;
- let totalBoolean = public_permisson || editable;
- return totalBoolean;
- },
- async handleQuery() {
- let url = "";
- let params = {};
- switch (this.attribute) {
- case "template":
- url = "/market/CMKFileTemplate/QueryCMKFileTemplateById";
- params = {
- templateId: this.id,
- };
- break;
- case "order":
- url = "/market/CMKIssued/CMKQueryIssuedById";
- params = {
- id: this.id,
- };
- break;
- case "file":
- url = "/market/CMKIssued/CMKIssuedProcessByUser";
- params = {
- id: this.id,
- receiverId: this.receiver,
- };
- break;
- }
- const {
- data: {
- templateContent,
- templateName,
- issuedId,
- templateId,
- list,
- addFlag,
- },
- } = await this.$http({
- url,
- method: "post",
- headers: {
- "Content-Type": "application/json",
- },
- data: params,
- });
- this.template_id = templateId;
- this.issued_id = issuedId;
- this.addFlag = addFlag;
- console.log(JSON.parse(templateContent), "123123");
- if (list && list.length) {
- const { type } = list[0];
- if (type === "1") {
- // 公共权限
- // const { allowEditingColumns, rowNum } = list[0];
- this.form = {
- permission_type: Number(type) - 1,
- person: list.map((el) => {
- return `${el.principalMent}-${el.principalId},${el.principalName}`;
- }),
- charge: [
- {
- person: "",
- col_start: "",
- col_end: "",
- row_start: "",
- row_end: "",
- },
- ],
- };
- } else {
- // 特殊权限
- this.form = {
- permission_type: Number(type) - 1,
- col_start: "",
- col_end: "",
- row_start: "",
- row_end: "",
- charge: list.map((el) => ({
- person: `${el.principalMent}-${el.principalId},${el.principalName}`,
- col_start: el.allowEditingColumns.split(",")[0],
- col_end:
- el.allowEditingColumns.split(",")[
- el.allowEditingColumns.split(",").length - 1
- ],
- row_start: el.rowNum.split(",")[0],
- row_end: el.rowNum.split(",")[el.rowNum.split(",").length - 1],
- })),
- };
- }
- this.row_list =
- this.type === "edit" && list[0].rowNum
- ? list[0].rowNum
- .split(",")
- .map((element) => JSON.parse(element) - 1)
- : [];
- if (this.type === "edit" && list[0].allowEditingColumns) {
- // this.column_list = list[0].allowEditingColumns
- // .split(",")
- // .map((element) => JSON.parse(element) - 1);
- this.column_list =
- list[0].allowEditingColumnsFlag === "1"
- ? list[0].allowEditingColumnsShuzi
- .split(",")
- .map((element) => JSON.parse(element) - 1)
- : list[0].allowEditingColumns
- .split(",")
- .map((element) => JSON.parse(element) - 1);
- } else {
- this.column_list = [];
- }
- // this.formateNumber(list[0].allowEditingColumns);
- }
- this.handleCreate({
- json: templateContent ? JSON.parse(templateContent) : {},
- name: templateName,
- type: "json",
- });
- },
- handleForbid() {
- // const object = {};
- const { permission_type } = this.form;
- if (permission_type === 0) {
- // 公共权限 暂时不用可编辑行和列
- const { person } = this.form;
- if (person.length) {
- return false;
- }
- return true;
- } else if (permission_type === 1) {
- // 特殊权限
- let flag = 1;
- const { charge } = this.form;
- charge.forEach((el) => {
- if (
- Object.values(el).filter((v) => {
- return v !== "";
- }).length === 5
- ) {
- flag = flag * 1;
- } else {
- flag = flag * 0;
- }
- });
- return !flag;
- } else {
- return true;
- }
- },
- async handleCreate({ file, json, type, name } = {}) {
- let that = this;
- const options = {
- container: "luckysheet",
- lang: "zh",
- showsheetbar: false,
- hook: {
- cellEditBefore: function ([
- { row_focus: row, column_focus: column },
- ]) {
- if (!that.handleAllow({ row, column })) {
- that.$message.error("您没有编辑权限");
- }
- },
- // cellUpdated: function (row, column) {
- // that.rowList.push(row);
- // },
- cellUpdateBefore: function (row, column) {
- if (!that.handleAllow({ row, column })) {
- return false;
- }
- },
- cellRenderAfter: function (cell, position) {
- const { r: row, c: column } = position;
- console.log();
- if (cell) {
- if (!that.handleAllow({ row, column })) {
- cell.bg = "#d5d5d5";
- } else {
- cell.bg = "#ffffff";
- }
- }
- },
- updated: function ({ range }) {
- const middle = range.map((el) => {
- return that.paramsArr(el.row[0], el.row[1]);
- });
- let changedList = middle.join(",").split(",");
- that.rowList.push(...changedList);
- console.log(that.rowList, "that.rowList");
- },
- },
- };
- switch (type) {
- case "file":
- if (file) {
- await new Promise((resolve) => {
- luckyexcel.transformExcelToLucky(file, (export_json) => {
- options.data = [
- ...export_json.sheets.map((element) => ({
- ...element,
- zoomRatio: 0.75,
- })),
- ];
- options.title = export_json.info.name;
- resolve();
- });
- });
- }
- break;
- case "json":
- if (json) {
- options.data = [
- {
- ...json,
- zoomRatio: 0.75,
- },
- ];
- options.title = name;
- }
- break;
- }
- window.luckysheet.create(options);
- let clock = setInterval(() => {
- if (window.luckysheet) {
- window.luckysheet.refresh();
- clearInterval(clock);
- }
- }, 1000);
- },
- async handleChange(response) {
- this.handleCreate({ file: response.raw, type: "file" });
- },
- handleDownload() {
- exportExcel(
- window.luckysheet.getAllSheets(),
- window.luckysheet.getWorkbookName()
- );
- },
- async handleAddAuth({ id }) {
- // const object = {};
- const { permission_type } = this.form;
- console.log(id, permission_type);
- let reqdata = {
- templateId: id,
- type: permission_type ? 2 : 1,
- };
- if (!permission_type) {
- // 公共权限
- const { person } = this.form;
- const principalId = [];
- const principalName = [];
- const principalMent = [];
- person.forEach((el) => {
- principalMent.push(el.split(",")[0].split("-")[0]);
- principalId.push(el.split(",")[0].split("-")[1]);
- principalName.push(el.split(",")[1]);
- });
- reqdata.principalId = principalId.join(",");
- reqdata.principalName = principalName.join(",");
- reqdata.principalMent = principalName.join(",");
- } else {
- const { charge } = this.form;
- // 特殊权限
- reqdata.specialAuth = charge.map((el) =>
- JSON.stringify({
- allowEditingColumns: `${el.col_start},${el.col_end}`,
- rowNum: `${el.row_start},${el.row_end}`,
- principalMent: el.person.split(",")[0].split("-")[0],
- principalId: el.person.split(",")[0].split("-")[1],
- principalName: el.person.split(",")[1],
- })
- );
- }
- const {
- data: { result, desc },
- } = await this.$http({
- url: this.id
- ? "/market/CMKFileTemplateAuthority/CMKFileTemplateAuthorityUpdate"
- : "/market/CMKFileTemplateAuthority/CMKFileTemplateAuthorityAdd",
- method: "post",
- headers: {
- "Content-Type": "application/json",
- },
- data: reqdata,
- });
- if (result) {
- this.$message.error(desc);
- } else {
- this.$message.success(desc);
- }
- return result;
- },
- async handleSave(type) {
- let edit_url = "";
- switch (this.attribute) {
- case "template":
- edit_url = "";
- break;
- case "order":
- edit_url = "";
- break;
- case "file":
- edit_url = "/market/CMKIssued/CMKIssuedSubmit";
- break;
- }
- const sheet_name = window.luckysheet.getSheet().name;
- const data = window.luckysheet.getSheet(sheet_name);
- const workbook_name = window.luckysheet.getWorkbookName();
- if (!this.id) {
- // 新增时添加权限
- const {
- data: { body },
- } = await this.$http({
- url: "/market/CMKFileTemplate/CMKFileTemplateAdd", // 新增
- method: "post",
- headers: {
- "Content-Type": "application/json",
- },
- data: {
- id: this.template_id,
- templateContent: JSON.stringify(data),
- templateName: workbook_name,
- issuedId: this.issued_id,
- status: type,
- },
- });
- await this.handleAddAuth({ id: body });
- this.$emit("save");
- } else {
- // 职位
- let duty = JSON.parse(sessionStorage.userInfo).duty;
- if (duty === "7") {
- this.manager_approve = true;
- } else {
- if (type === "2") {
- // 暂存
- await this.$http({
- url: "/market/CMKFileTemplate/UptateCMKFileTemplateById", // 新增
- method: "post",
- headers: {
- "Content-Type": "application/json",
- },
- data: {
- templateId: this.id,
- templateContent: JSON.stringify(data),
- templateName: workbook_name,
- status: type,
- },
- });
- this.$emit("save");
- return;
- }
- // 员工提交
- this.rowList.shift();
- let reqdata = {
- rowIndex: [...new Set(this.rowList)]
- .sort(function (a, b) {
- return a - b;
- })
- .join(","),
- rowContent: [...new Set(this.rowList)]
- .sort(function (a, b) {
- return a - b;
- })
- .map((el) => {
- return data.data[el];
- }),
- };
- await this.$http({
- url: edit_url, //提交
- method: "post",
- headers: {
- "Content-Type": "application/json",
- },
- data: {
- id: this.template_id,
- templateContent: JSON.stringify(data),
- templateName: workbook_name,
- issuedId: this.issued_id,
- rowJson: JSON.stringify(reqdata),
- },
- });
- this.$emit("save");
- }
- }
- },
- // 判断数组是否有值
- confirmArrayData(data) {
- if (data instanceof Array) {
- let flag = 0;
- if (data.length) {
- data.forEach((el) => {
- if (el instanceof Object) {
- flag = flag + 1;
- }
- });
- if (flag) {
- return true;
- } else {
- return false;
- }
- } else {
- return false;
- }
- } else {
- return false;
- }
- },
- async handleAuth() {
- this.$refs["form"].validate((valid) => {
- if (valid) {
- if (this.handleForbid()) {
- this.$message.error("请完善可编辑信息");
- return false;
- }
- if (this.id) {
- this.handleAddAuth({ id: this.id });
- }
- this.handleVisible();
- }
- });
- },
- // 通用方法用于转化全局
- paramsArr(start, end) {
- const arr = [];
- console.log(start, end);
- for (let i = Number(start); i <= Number(end); i++) {
- arr.push(i);
- }
- return arr.join(",");
- },
- filterName(id, arr) {
- return arr.filter((el) => el.secLeaderLogin === id)[0].secLeaderName;
- },
- handleCharge(type) {
- switch (type) {
- case "add":
- this.form.charge.push({
- person: "",
- });
- this.handleForbid();
- break;
- case "delete":
- this.form.charge.pop();
- this.handleForbid();
- break;
- }
- },
- handleVisible() {
- this.visible = !this.visible;
- },
- handleInput(index, name, value) {
- let reg = /^[0-9]*$/;
- if (!reg.test(value)) {
- this.form.charge[index][name] = this.form.charge[index][name].substr(
- 0,
- this.form.charge[index][name].length - 1
- );
- this.$message.error("该处只能填写数字");
- }
- },
- async handleApprove(type) {
- if (type) {
- if (this.approveForm.type) {
- if (this.approveForm.type === "3" && !this.approveForm.comments) {
- this.$message.error("请输入其他审批意见");
- return;
- }
- } else {
- this.$message.error("请选择审批意见");
- return;
- }
- const sheet_name = window.luckysheet.getSheet().name;
- const data = window.luckysheet.getSheet(sheet_name);
- const workbook_name = window.luckysheet.getWorkbookName();
- // 经理提交
- this.rowList.shift();
- let reqdata = {
- rowIndex: [...new Set(this.rowList)]
- .sort(function (a, b) {
- return a - b;
- })
- .join(","),
- rowContent: [...new Set(this.rowList)]
- .sort(function (a, b) {
- return a - b;
- })
- .map((el) => {
- return data.data[el];
- }),
- };
- await this.$http({
- url: "/market/CMKIssued/CMKIssuedSubmit", // 提交
- method: "post",
- headers: {
- "Content-Type": "application/json",
- },
- data: {
- id: this.template_id,
- templateContent: JSON.stringify(data),
- templateName: workbook_name,
- issuedId: this.issued_id,
- rowJson: JSON.stringify(reqdata),
- },
- });
- let params = {
- id: this.issued_id,
- reviewOpinion:
- this.approveForm.type === "3"
- ? this.approveForm.comments
- : this.approveForm.type,
- };
- switch (type) {
- case "1":
- params = {
- ...params,
- operateName: "结束",
- status: 3,
- };
- break;
- case "4":
- params = {
- ...params,
- operateName: "转副总审批",
- reviewType: 2,
- };
- break;
- case "3":
- params = {
- ...params,
- operateName: "转总经理审批",
- reviewType: 3,
- };
- break;
- }
- await this.$http({
- url: "/market/CMKIssued/CMKIssuedCheck", // 审批
- method: "post",
- headers: {
- "Content-Type": "application/json",
- },
- data: params,
- });
- this.$message({
- type: "success",
- message: "审批成功",
- });
- this.manager_approve = false;
- this.$emit("save");
- } else {
- this.manager_approve = false;
- }
- },
- handleFullscreen() {
- const element = document.body;
- const is_fullscreen =
- document.fullScreen ||
- document.mozFullScreen ||
- document.webkitIsFullScreen;
- if (!is_fullscreen) {
- //进入全屏,多重短路表达式
- (element.requestFullscreen && element.requestFullscreen()) ||
- (element.mozRequestFullScreen && element.mozRequestFullScreen()) ||
- (element.webkitRequestFullscreen &&
- element.webkitRequestFullscreen()) ||
- (element.msRequestFullscreen && element.msRequestFullscreen());
- } else {
- //退出全屏,三目运算符
- document.exitFullscreen
- ? document.exitFullscreen()
- : document.mozCancelFullScreen
- ? document.mozCancelFullScreen()
- : document.webkitExitFullscreen
- ? document.webkitExitFullscreen()
- : "";
- }
- },
- handleResave() {
- const sheet_name = window.luckysheet.getSheet().name;
- const data = window.luckysheet.getSheet(sheet_name);
- const workbook_name = window.luckysheet.getWorkbookName();
- this.$http({
- url: "/market/CMKFileTemplate/UptateCMKFileTemplateById",
- method: "post",
- headers: {
- "Content-Type": "application/json",
- },
- data: {
- templateId: this.id,
- templateContent: JSON.stringify(data),
- templateName: workbook_name,
- status: "0",
- },
- }).then(() => {
- this.$emit("save");
- });
- },
- handleChargeList() {
- this.$http({
- url: "/market/techcentergj/queryLeaderList",
- method: "post",
- headers: {
- "Content-Type": "application/json",
- },
- data: {},
- }).then((response) => {
- this.charge_list = response.data.map((element) => ({
- label: `${element.ou} ${element.secLeaderName}`,
- value: `${element.ou}-${element.secLeaderLogin},${element.secLeaderName}`,
- }));
- });
- },
- },
- mounted() {
- console.log(this.destroy, "destroy");
- this.handleInit();
- this.handleChargeList();
- },
- destroyed() {
- window.luckysheet.destroy();
- },
- };
- </script>
- <style lang="scss" scope>
- .sheet-container {
- position: fixed;
- width: calc(100% - 40px);
- height: 100%;
- &-block {
- overflow: hidden;
- position: absolute;
- width: 100%;
- height: 75%;
- }
- }
- .form {
- &-input {
- margin-top: 5px;
- .el-input {
- width: 150px;
- .el-input__inner {
- height: 30px !important;
- line-height: 30px !important;
- }
- }
- }
- &-content {
- margin: 0px 10px;
- }
- &-select {
- .el-input {
- width: 100px;
- .el-input__inner {
- height: 30px !important;
- line-height: 30px !important;
- }
- }
- }
- }
- </style>
|