浏览代码

取消单独设置工料,删除工料含量关联权限更新

laiguoran 2 年之前
父节点
当前提交
f44c626d0d
共有 3 个文件被更改,包括 39 次插入6 次删除
  1. 36 3
      app/public/js/material_list.js
  2. 2 2
      app/service/material_list_self.js
  3. 1 1
      app/view/setting/fun.ejs

+ 36 - 3
app/public/js/material_list.js

@@ -599,7 +599,7 @@ $(document).ready(() => {
             // 是否本期添加的工料
             // return data.order === stage_order && !openMaterialChecklist;
             let flag = true;
-            if (type === 'del') {
+            if (type === 'del' || !editListPermission) {
                 flag = data.order === stage_order;
             }
             return flag;
@@ -884,7 +884,8 @@ $(document).ready(() => {
                     materialListData = result;
                     $('#cancel-self').modal('hide');
                 } else {
-                    selfList.push(result);
+                    selfList.push(result.info);
+                    materialListData = result.materialListData;
                 }
                 gclGatherData[iGclRow].leafXmjs[iRow].jiacha = calcOneBQJC(select);
                 calculateJiaCha(gclGatherData, iGclRow);
@@ -995,6 +996,38 @@ $(document).ready(() => {
                                 return true;
                             }
                         },
+                        disabled: function (key, opt) {
+                            // const sheet = ledgerSpread.getActiveSheet();
+                            // const select = SpreadJsObj.getSelectObject(sheet);
+                            // const index = gclGatherData.indexOf(select);
+                            // const leafXmjSheet = leafXmjSpread.getActiveSheet();
+                            // const leafXmjSelect = SpreadJsObj.getSelectObject(leafXmjSheet);
+                            // const iRow = gclGatherData[index].leafXmjs.indexOf(leafXmjSelect);
+                            // const leafXmjs = gclGatherData[index].leafXmjs.filter(item => {
+                            //     return item.qc_qty || item.contract_qty
+                            // });
+                            // const nRow = leafXmjs.indexOf(leafXmjSelect);
+                            // const leafXmjColor = findNotJoinLeafXmj(leafXmjSelect) ? '#d6d8db' : '';
+                            // return [index, iRow, nRow, leafXmjSheet, leafXmjSelect, leafXmjColor];
+                            const [iGclRow, iRow, nRow, sheet, select, color] = leafXmjSpreadObj.getSelect();
+                            const gcl = gclGatherData[iGclRow];
+                            const leafXmjs = gcl && gcl.leafXmjs ? gcl.leafXmjs.filter(item => {
+                                return item.qc_qty || item.contract_qty
+                            }) : null;
+                            let flag = false;
+                            if (leafXmjs) {
+                                const xmj = leafXmjs[nRow];
+                                if (_.findIndex(selfList, { gcl_id: xmj.gcl_id, xmj_id: xmj.id, mx_id: (xmj.mx_id ? xmj.mx_id : '') }) != -1) {
+                                    for (const m of materialListData) {
+                                        if (m.gcl_id === xmj.gcl_id && m.xmj_id === xmj.id && ((xmj.mx_id !==undefined && m.mx_id === xmj.mx_id) || xmj.mx_id === undefined) && m.order !== stage_order) {
+                                            flag = true;
+                                            break;
+                                        }
+                                    }
+                                }
+                            }
+                            return flag;
+                        },
                     },
                 }
             });
@@ -1745,7 +1778,7 @@ $(document).ready(() => {
                                 if (!select) {
                                     return true;
                                 }
-                                if (!readOnly && select) {
+                                if (!readOnly && select && materialSelfBase.isEdit(select, 'del')) {
                                     return false;
                                 } else {
                                     return true;

+ 2 - 2
app/service/material_list_self.js

@@ -41,7 +41,7 @@ module.exports = app => {
                     in_time: new Date(),
                 };
                 // 更新list表为is_self为1
-                await transaction.update(this.ctx.service.materialList.tableName, { is_self: 1 }, {
+                await transaction.update(this.ctx.service.materialList.tableName, { is_self: 1, order: this.ctx.material.order, in_time: new Date() }, {
                     where: {
                         tid: this.ctx.tender.id,
                         mid: this.ctx.material.id,
@@ -59,7 +59,7 @@ module.exports = app => {
                     throw '新增不参与调差清单数据失败';
                 }
                 await transaction.commit();
-                return await this.getDataById(result.insertId);
+                return { info: await this.getDataById(result.insertId), materialListData: await this.ctx.service.materialList.getMaterialData(this.ctx.tender.id, this.ctx.material.id) };
             } catch (err) {
                 await transaction.rollback();
                 throw err;

+ 1 - 1
app/view/setting/fun.ejs

@@ -103,7 +103,7 @@
                                         <div class="form-group mb-1">
                                             <div class="form-check form-check-inline">
                                                 <input class="form-check-input" type="checkbox" id="openMaterialSelf" <% if(ctx.session.sessionProject.page_show.openMaterialSelf) { %>checked<% } %> onchange="updateSetting();">
-                                                <label class="form-check-label" for="openMaterialSelf">开启调差清单-所属项目节「单独添加工料」功能
+                                                <label class="form-check-label" for="openMaterialSelf">开启调差清单-所属项目节「单独添加工料」功能
                                                     <a href="javascript:void(0);"  data-toggle="tooltip" data-placement="bottom" title="" data-original-title="开启该选项,调差清单的所属项目节,允许单独添加工料"><i class="fa fa-question-circle "></i></a></label>
                                             </div>
                                         </div>