|
@@ -2,7 +2,7 @@
|
|
|
* @Author : yuanrunwei
|
|
|
* @Date : 2021-12-04 14:23:58
|
|
|
* @LastEditors: Please set LastEditors
|
|
|
- * @LastEditTime: 2022-02-10 15:05:23
|
|
|
+ * @LastEditTime: 2022-02-10 17:23:06
|
|
|
* @FilePath : \spfm-market-front\src\pages\main\performance\components\sheet.vue
|
|
|
-->
|
|
|
|
|
@@ -63,7 +63,10 @@
|
|
|
@cancel="handleVisible"
|
|
|
>
|
|
|
<el-form ref="form" :model="form" label-width="80px">
|
|
|
- <el-radio-group v-model="form.permission_type" :disabled="type!=='edit'">
|
|
|
+ <el-radio-group
|
|
|
+ v-model="form.permission_type"
|
|
|
+ :disabled="type !== 'edit'"
|
|
|
+ >
|
|
|
<el-form-item>
|
|
|
<el-radio :label="0"><span>无特殊权限</span></el-radio>
|
|
|
<div>
|
|
@@ -72,7 +75,7 @@
|
|
|
v-model="form.person"
|
|
|
multiple
|
|
|
placeholder="请选择负责人"
|
|
|
- :disabled="type!=='edit'"
|
|
|
+ :disabled="type !== 'edit'"
|
|
|
>
|
|
|
<el-option
|
|
|
v-for="({ label, value }, index) in charge_list"
|
|
@@ -102,7 +105,7 @@
|
|
|
placeholder="请选择负责人"
|
|
|
v-model="item.person"
|
|
|
filterable
|
|
|
- :disabled="type!=='edit'"
|
|
|
+ :disabled="type !== 'edit'"
|
|
|
>
|
|
|
<el-option
|
|
|
v-for="({ label, value }, index) in charge_list"
|
|
@@ -113,24 +116,42 @@
|
|
|
</el-select>
|
|
|
<div class="form-select">
|
|
|
<span class="form-content">可编辑行:从</span>
|
|
|
- <el-input v-model="item.row_start" :disabled="type!=='edit'" />
|
|
|
+ <el-input
|
|
|
+ v-model="item.row_start"
|
|
|
+ :disabled="type !== 'edit'"
|
|
|
+ />
|
|
|
<span class="form-content">到</span>
|
|
|
- <el-input v-model="item.row_end" :disabled="type!=='edit'" />
|
|
|
+ <el-input
|
|
|
+ v-model="item.row_end"
|
|
|
+ :disabled="type !== 'edit'"
|
|
|
+ />
|
|
|
</div>
|
|
|
<div class="form-select">
|
|
|
<span class="form-content">可编辑列:从</span>
|
|
|
- <el-input :disabled="type!=='edit'" v-model="item.col_start" />
|
|
|
+ <el-input
|
|
|
+ :disabled="type !== 'edit'"
|
|
|
+ v-model="item.col_start"
|
|
|
+ @input="handleInput"
|
|
|
+ />
|
|
|
<span class="form-content">到</span>
|
|
|
- <el-input :disabled="type!=='edit'" v-model="item.col_end" />
|
|
|
+ <el-input
|
|
|
+ :disabled="type !== 'edit'"
|
|
|
+ v-model="item.col_end"
|
|
|
+ @input="handleInput"
|
|
|
+ />
|
|
|
</div>
|
|
|
</div>
|
|
|
</el-form-item>
|
|
|
- <div >
|
|
|
- <el-button @click.prevent="handleCharge('add')" :disabled="type!=='edit'">添加</el-button>
|
|
|
+ <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'"
|
|
|
+ :disabled="type !== 'edit'"
|
|
|
>删除</el-button
|
|
|
>
|
|
|
</div>
|
|
@@ -230,7 +251,6 @@ export default {
|
|
|
],
|
|
|
array: [],
|
|
|
type: null,
|
|
|
-
|
|
|
permission_type: null,
|
|
|
col_start: "",
|
|
|
col_end: "",
|
|
@@ -257,6 +277,7 @@ export default {
|
|
|
},
|
|
|
// 可提交标志
|
|
|
addFlag: "0",
|
|
|
+ rowList: [],
|
|
|
isDisable: true,
|
|
|
issued_id: null,
|
|
|
template_id: null,
|
|
@@ -290,11 +311,12 @@ export default {
|
|
|
// console.log(e,'e');
|
|
|
// },
|
|
|
handleAllow({ row, column }) {
|
|
|
- let public_permisson = (!this.form.permission_type && this.type === "edit")
|
|
|
- let editable = this.row_list.includes(row) && this.column_list.includes(column)
|
|
|
- let isId = !this.id
|
|
|
- let totalBoolean = (public_permisson || editable) && !isId
|
|
|
- return totalBoolean
|
|
|
+ let public_permisson = !this.form.permission_type && this.type === "edit";
|
|
|
+ let editable =
|
|
|
+ this.row_list.includes(row) && this.column_list.includes(column);
|
|
|
+ let isId = !this.id;
|
|
|
+ let totalBoolean = (public_permisson || editable) && !isId;
|
|
|
+ return totalBoolean;
|
|
|
},
|
|
|
async handleQuery() {
|
|
|
let url = "";
|
|
@@ -444,6 +466,9 @@ export default {
|
|
|
that.$message.error("您没有编辑权限");
|
|
|
}
|
|
|
},
|
|
|
+ cellUpdated: function (row, column) {
|
|
|
+ that.rowList.push(row);
|
|
|
+ },
|
|
|
cellUpdateBefore: function (row, column) {
|
|
|
if (!that.handleAllow({ row, column })) {
|
|
|
return false;
|
|
@@ -451,6 +476,7 @@ export default {
|
|
|
},
|
|
|
cellRenderAfter: function (cell, position) {
|
|
|
const { r: row, c: column } = position;
|
|
|
+ console.log();
|
|
|
if (cell) {
|
|
|
if (!that.handleAllow({ row, column })) {
|
|
|
cell.bg = "#d5d5d5";
|
|
@@ -590,41 +616,55 @@ export default {
|
|
|
} else {
|
|
|
// 职位
|
|
|
let duty = JSON.parse(sessionStorage.userInfo).duty;
|
|
|
- let { permission_type, charge } = this.form;
|
|
|
- let reqdata = {};
|
|
|
- if (permission_type) {
|
|
|
- // 特殊权限
|
|
|
- reqdata = {
|
|
|
- ...reqdata,
|
|
|
- rowIndex: this.paramsArr(
|
|
|
- charge[0].row_start - 1,
|
|
|
- charge[0].row_end - 1
|
|
|
- ),
|
|
|
- rowContent: this.paramsArr(
|
|
|
- charge[0].row_start - 1,
|
|
|
- charge[0].row_end - 1
|
|
|
- )
|
|
|
- .split(",")
|
|
|
- .map((el) => {
|
|
|
- return data.data[el];
|
|
|
- }),
|
|
|
- };
|
|
|
- } else {
|
|
|
- // 公共权限
|
|
|
- const RowList = [];
|
|
|
- const RowContent = [];
|
|
|
- data.data.forEach((item, rowIndex) => {
|
|
|
- if (this.confirmArrayData(item)) {
|
|
|
- RowList.push(rowIndex);
|
|
|
- RowContent.push(item);
|
|
|
- }
|
|
|
- });
|
|
|
- reqdata = {
|
|
|
- ...reqdata,
|
|
|
- rowIndex: RowList.join(","),
|
|
|
- rowContent: RowContent,
|
|
|
- };
|
|
|
- }
|
|
|
+ // let { permission_type, charge } = this.form;
|
|
|
+ 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];
|
|
|
+ }),
|
|
|
+ };
|
|
|
+ console.log(reqdata, "reqdata");
|
|
|
+ // if (permission_type) {
|
|
|
+ // // 特殊权限
|
|
|
+ // reqdata = {
|
|
|
+ // ...reqdata,
|
|
|
+ // rowIndex: this.paramsArr(
|
|
|
+ // charge[0].row_start - 1,
|
|
|
+ // charge[0].row_end - 1
|
|
|
+ // ),
|
|
|
+ // rowContent: this.paramsArr(
|
|
|
+ // charge[0].row_start - 1,
|
|
|
+ // charge[0].row_end - 1
|
|
|
+ // )
|
|
|
+ // .split(",")
|
|
|
+ // .map((el) => {
|
|
|
+ // return data.data[el];
|
|
|
+ // }),
|
|
|
+ // };
|
|
|
+ // } else {
|
|
|
+ // // 公共权限
|
|
|
+ // const RowList = [];
|
|
|
+ // const RowContent = [];
|
|
|
+ // data.data.forEach((item, rowIndex) => {
|
|
|
+ // if (this.confirmArrayData(item)) {
|
|
|
+ // RowList.push(rowIndex);
|
|
|
+ // RowContent.push(item);
|
|
|
+ // }
|
|
|
+ // });
|
|
|
+ // reqdata = {
|
|
|
+ // ...reqdata,
|
|
|
+ // rowIndex: RowList.join(","),
|
|
|
+ // rowContent: RowContent,
|
|
|
+ // };
|
|
|
+ // }
|
|
|
if (duty === "7") {
|
|
|
this.manager_approve = true;
|
|
|
} else {
|
|
@@ -733,6 +773,12 @@ export default {
|
|
|
console.log(this.form, "aada");
|
|
|
this.visible = !this.visible;
|
|
|
},
|
|
|
+ handleInput(value) {
|
|
|
+ let reg = /^[0-9]*$/;
|
|
|
+ if (!reg.test(value)) {
|
|
|
+ this.$message.error("请输入纯数字");
|
|
|
+ }
|
|
|
+ },
|
|
|
async handleApprove(type) {
|
|
|
if (type) {
|
|
|
if (this.approveForm.type) {
|
|
@@ -747,41 +793,55 @@ export default {
|
|
|
const sheet_name = window.luckysheet.getSheet().name;
|
|
|
const data = window.luckysheet.getSheet(sheet_name);
|
|
|
const workbook_name = window.luckysheet.getWorkbookName();
|
|
|
- let { permission_type, charge } = this.form;
|
|
|
- let reqdata = {};
|
|
|
- if (permission_type) {
|
|
|
- // 特殊权限
|
|
|
- reqdata = {
|
|
|
- ...reqdata,
|
|
|
- rowIndex: this.paramsArr(
|
|
|
- charge[0].row_start - 1,
|
|
|
- charge[0].row_end - 1
|
|
|
- ),
|
|
|
- rowContent: this.paramsArr(
|
|
|
- charge[0].row_start - 1,
|
|
|
- charge[0].row_end - 1
|
|
|
- )
|
|
|
- .split(",")
|
|
|
- .map((el) => {
|
|
|
- return data.data[el];
|
|
|
- }),
|
|
|
- };
|
|
|
- } else {
|
|
|
- // 公共权限
|
|
|
- const RowList = [];
|
|
|
- const RowContent = [];
|
|
|
- data.data.forEach((item, rowIndex) => {
|
|
|
- if (this.confirmArrayData(item)) {
|
|
|
- RowList.push(rowIndex);
|
|
|
- RowContent.push(item);
|
|
|
- }
|
|
|
- });
|
|
|
- reqdata = {
|
|
|
- ...reqdata,
|
|
|
- rowIndex: RowList.join(","),
|
|
|
- rowContent: RowContent,
|
|
|
- };
|
|
|
- }
|
|
|
+ // let { permission_type, charge } = this.form;
|
|
|
+ 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];
|
|
|
+ }),
|
|
|
+ };
|
|
|
+ console.log(reqdata, "ada");
|
|
|
+ // if (permission_type) {
|
|
|
+ // // 特殊权限
|
|
|
+ // reqdata = {
|
|
|
+ // ...reqdata,
|
|
|
+ // rowIndex: this.paramsArr(
|
|
|
+ // charge[0].row_start - 1,
|
|
|
+ // charge[0].row_end - 1
|
|
|
+ // ),
|
|
|
+ // rowContent: this.paramsArr(
|
|
|
+ // charge[0].row_start - 1,
|
|
|
+ // charge[0].row_end - 1
|
|
|
+ // )
|
|
|
+ // .split(",")
|
|
|
+ // .map((el) => {
|
|
|
+ // return data.data[el];
|
|
|
+ // }),
|
|
|
+ // };
|
|
|
+ // } else {
|
|
|
+ // // 公共权限
|
|
|
+ // const RowList = [];
|
|
|
+ // const RowContent = [];
|
|
|
+ // data.data.forEach((item, rowIndex) => {
|
|
|
+ // if (this.confirmArrayData(item)) {
|
|
|
+ // RowList.push(rowIndex);
|
|
|
+ // RowContent.push(item);
|
|
|
+ // }
|
|
|
+ // });
|
|
|
+ // reqdata = {
|
|
|
+ // ...reqdata,
|
|
|
+ // rowIndex: RowList.join(","),
|
|
|
+ // rowContent: RowContent,
|
|
|
+ // };
|
|
|
+ // }
|
|
|
await this.$http({
|
|
|
url: "/market/CMKIssued/CMKIssuedSubmit", // 提交
|
|
|
method: "post",
|