riku
2025-09-17 4aa86b1ec441c4e358e1cc488d8f021fb80f1355
src/views/fysp/scene/SceneInspectFile.vue
@@ -53,9 +53,9 @@
        <el-button type="primary" :loading="docLoading" @click="handelDownload">
          下载
        </el-button>
        <el-button type="default" :loading="docLoading" @click="handelPrint">
        <!-- <el-button type="default" :loading="docLoading" @click="handelPrint">
          打印
        </el-button>
        </el-button> -->
      </div>
    </template>
  </el-dialog>
@@ -124,6 +124,20 @@
  emits('update:modelValue', value);
}
function setParam(value, length) {
  const _value = value ? value : '';
  const offset = length - _value.length;
  if (offset > 0) {
    let str = _value;
    for (let i = 0; i < offset; i++) {
      str += ' ';
    }
    return str;
  } else {
    return _value;
  }
}
// 格式化场景信息,生成参数结构
function parseParam() {
  const selected = sceneInfoList.value.filter((v, i) => {
@@ -137,16 +151,22 @@
          type: v.scense.typeid,
          params: {
            district: v.scense.districtname,
            name: v.scense.name,
            employerUnit: v.scense.csEmployerUnit,
            constructionUnit: v.subScene.csConstructionUnit,
            timeRange: v.subScene.csStartTime
              ? `${v.subScene.csStartTime}至${v.subScene.csEndTime}`
              : undefined,
            stage: v.subScene.siExtension1,
            contacts: v.subScene.csConstructionContacts,
            contactsTel: v.subScene.csConstructionContactsTel,
            location: v.scense.location
            name: setParam(v.scense.name, 57),
            employerUnit: setParam(v.scense.csEmployerUnit, 30),
            constructionUnit: setParam(
              v.subScene ? v.subScene.csConstructionUnit : '',
              36
            ),
            timeRange: setParam(
              v.subScene && v.subScene.csStartTime
                ? `${v.subScene.csStartTime}至${v.subScene.csEndTime}`
                : '',
              26
            ),
            stage: setParam(v.subScene ? v.subScene.siExtension1 : '', 36),
            contacts: setParam(v.scense.contacts, 27),
            contactsTel: setParam(v.scense.contactst, 40),
            location: setParam(v.scense.location, 27)
          }
        };
      // 餐饮
@@ -155,10 +175,10 @@
          type: v.scense.typeid,
          params: {
            district: v.scense.districtname,
            location: v.scense.location,
            name: v.scense.name,
            contacts: v.scense.contacts,
            contactsTel: v.scense.contactst
            location: setParam(v.scense.location, 63),
            name: setParam(v.scense.name, 64),
            contacts: setParam(v.scense.contacts, 67),
            contactsTel: setParam(v.scense.contactst, 62)
          }
        };
      // default:
@@ -167,15 +187,15 @@
    }
  });
  param.forEach((p) => {
    for (const key in p.params) {
      let value = p.params[key];
      if (value == undefined) {
        // 若属性缺失,则改为20个空格符,对应word中10个中文字符的长度
        p.params[key] = '                    ';
      }
    }
  });
  // param.forEach((p) => {
  //   for (const key in p.params) {
  //     let value = p.params[key];
  //     if (value == undefined) {
  //       // 若属性缺失,则改为20个空格符,对应word中10个中文字符的长度
  //       p.params[key] = '                    ';
  //     }
  //   }
  // });
  return param;
}
@@ -192,6 +212,8 @@
        break;
      // 餐饮
      case 5:
        template = '/餐饮巡查单据模板.docx';
        _param = p.params;
        break;
      default:
        break;