|
@@ -2,7 +2,7 @@
|
|
|
* @Author : yuanrunwei
|
|
|
* @Date : 2021-12-04 14:23:58
|
|
|
* @LastEditors: Please set LastEditors
|
|
|
- * @LastEditTime: 2022-01-06 17:06:48
|
|
|
+ * @LastEditTime: 2022-01-07 18:43:09
|
|
|
* @FilePath : \spfm-market-front\src\pages\main\performance\components\sheet.vue
|
|
|
-->
|
|
|
|
|
@@ -312,16 +312,59 @@ export default {
|
|
|
this.template_id = templateId;
|
|
|
this.issued_id = issuedId;
|
|
|
if (list && list.length) {
|
|
|
- const [{ type, allowEditingColumns, rowNum }] = list;
|
|
|
- this.form = {
|
|
|
- ...this.form,
|
|
|
- type: JSON.parse(type),
|
|
|
- array: allowEditingColumns ? allowEditingColumns.split(",") : [],
|
|
|
- charge: list.map(({ principalId, principalName, rowNum }) => ({
|
|
|
- value: `${principalId},${principalName}`,
|
|
|
- key: rowNum.split(","),
|
|
|
- })),
|
|
|
- };
|
|
|
+ const { type } = list[0];
|
|
|
+ if (type === "1") {
|
|
|
+ // 公共权限
|
|
|
+ const { allowEditingColumns, rowNum } = list[0];
|
|
|
+ this.form = {
|
|
|
+ permission_type: Number(type) - 1,
|
|
|
+ col_start: allowEditingColumns.split(",")[0],
|
|
|
+ col_end:
|
|
|
+ allowEditingColumns.split(",")[
|
|
|
+ allowEditingColumns.split(",").length - 1
|
|
|
+ ],
|
|
|
+ row_start: rowNum.split(",")[0],
|
|
|
+ row_end: rowNum.split(",")[rowNum.split(",").length - 1],
|
|
|
+ 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.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.form = {
|
|
|
+ // ...this.form,
|
|
|
+ // type: type,
|
|
|
+ // array: allowEditingColumns ? allowEditingColumns.split(",") : [],
|
|
|
+ // charge: list.map(({ principalId, principalName, rowNum }) => ({
|
|
|
+ // value: `${principalId},${principalName}`,
|
|
|
+ // key: rowNum.split(","),
|
|
|
+ // })),
|
|
|
+ // };
|
|
|
+ // this.form = {};
|
|
|
this.row_list =
|
|
|
this.type === "edit"
|
|
|
? rowNum.split(",").map((element) => JSON.parse(element) - 1)
|
|
@@ -350,7 +393,6 @@ export default {
|
|
|
}
|
|
|
return true;
|
|
|
} else if (permission_type === 1) {
|
|
|
- console.log("特殊权限");
|
|
|
// 特殊权限
|
|
|
let flag = 1;
|
|
|
const { charge } = this.form;
|
|
@@ -473,13 +515,30 @@ export default {
|
|
|
);
|
|
|
},
|
|
|
async handleAddAuth({ id }) {
|
|
|
- const object = {};
|
|
|
- const { array, charge, type } = this.form;
|
|
|
- charge.map(({ key, value }) => {
|
|
|
- if (key && value) {
|
|
|
- object[key] = value;
|
|
|
- }
|
|
|
- });
|
|
|
+ // 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 { col_start, col_end, row_start, row_end } = this.form;
|
|
|
+ reqdata.allowEditingColumns = this.paramsArr(col_start, col_end);
|
|
|
+ reqdata.rowNum = this.paramsArr(row_start, row_end);
|
|
|
+ } else {
|
|
|
+ const { charge } = this.form;
|
|
|
+ // 特殊权限
|
|
|
+ reqdata.specialAuth = charge.map((el) =>
|
|
|
+ JSON.stringify({
|
|
|
+ allowEditingColumns: this.paramsArr(el.col_start, el.col_end),
|
|
|
+ rowNum: this.paramsArr(el.row_start, el.row_end),
|
|
|
+ principalId: el.person.split(",")[0],
|
|
|
+ principalName: el.person.split(",")[1],
|
|
|
+ })
|
|
|
+ );
|
|
|
+ }
|
|
|
await this.$http({
|
|
|
url: this.id
|
|
|
? "/market/CMKFileTemplateAuthority/CMKFileTemplateAuthorityUpdate"
|
|
@@ -488,12 +547,7 @@ export default {
|
|
|
headers: {
|
|
|
"Content-Type": "application/json",
|
|
|
},
|
|
|
- data: {
|
|
|
- allowEditingColumns: array.join(","),
|
|
|
- auth: JSON.stringify(object),
|
|
|
- templateId: id,
|
|
|
- type,
|
|
|
- },
|
|
|
+ data: reqdata,
|
|
|
});
|
|
|
this.$message.success("操作成功");
|
|
|
},
|
|
@@ -543,7 +597,7 @@ export default {
|
|
|
this.$refs["form"].validate((valid) => {
|
|
|
if (valid) {
|
|
|
if (this.handleForbid()) {
|
|
|
- this.$message.error("请选择负责人编辑权限");
|
|
|
+ this.$message.error("请完善可编辑信息");
|
|
|
return false;
|
|
|
}
|
|
|
this.handleVisible();
|
|
@@ -555,6 +609,18 @@ export default {
|
|
|
}
|
|
|
});
|
|
|
},
|
|
|
+ // 通用方法用于转化全局
|
|
|
+ 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":
|