/******/ (function() { // webpackBootstrap
/******/ 	"use strict";
/******/ 	// The require scope
/******/ 	var __webpack_require__ = {};
/******/ 	
/************************************************************************/
/******/ 	/* webpack/runtime/compat get default export */
/******/ 	!function() {
/******/ 		// getDefaultExport function for compatibility with non-harmony modules
/******/ 		__webpack_require__.n = function(module) {
/******/ 			var getter = module && module.__esModule ?
/******/ 				function() { return module['default']; } :
/******/ 				function() { return module; };
/******/ 			__webpack_require__.d(getter, { a: getter });
/******/ 			return getter;
/******/ 		};
/******/ 	}();
/******/ 	
/******/ 	/* webpack/runtime/define property getters */
/******/ 	!function() {
/******/ 		// define getter functions for harmony exports
/******/ 		__webpack_require__.d = function(exports, definition) {
/******/ 			for(var key in definition) {
/******/ 				if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
/******/ 					Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
/******/ 				}
/******/ 			}
/******/ 		};
/******/ 	}();
/******/ 	
/******/ 	/* webpack/runtime/hasOwnProperty shorthand */
/******/ 	!function() {
/******/ 		__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }
/******/ 	}();
/******/ 	
/******/ 	/* webpack/runtime/make namespace object */
/******/ 	!function() {
/******/ 		// define __esModule on exports
/******/ 		__webpack_require__.r = function(exports) {
/******/ 			if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
/******/ 				Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
/******/ 			}
/******/ 			Object.defineProperty(exports, '__esModule', { value: true });
/******/ 		};
/******/ 	}();
/******/ 	
/************************************************************************/
var __webpack_exports__ = {};
// ESM COMPAT FLAG
__webpack_require__.r(__webpack_exports__);

// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  "default": function() { return /* binding */ opinion_list; }
});

;// CONCATENATED MODULE: ./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./packages/opinion-list/src/main.vue?vue&type=template&id=4af68aba&
var render = function render() {
  var _vm = this,
    _c = _vm._self._c;
  return _c("div", {
    staticClass: "jdf-opinion-list"
  }, [_c("el-form", {
    staticClass: "search-container",
    nativeOn: {
      submit: function submit($event) {
        $event.preventDefault();
      }
    },
    model: {
      value: _vm.searchData,
      callback: function callback($$v) {
        _vm.searchData = $$v;
      },
      expression: "searchData"
    }
  }, [_c("el-form-item", {
    attrs: {
      label: ""
    }
  }, [_vm.showSearchInput ? _c("el-input", _vm._b({
    attrs: {
      "prefix-icon": "el-icon-search",
      size: "small"
    },
    model: {
      value: _vm.searchData.filterText,
      callback: function callback($$v) {
        _vm.$set(_vm.searchData, "filterText", $$v);
      },
      expression: "searchData.filterText"
    }
  }, "el-input", _vm.searchInputAttrs, false)) : _vm._e()], 1), _c("el-form-item", {
    attrs: {
      label: ""
    }
  }, [_vm.showHideRead ? _c("el-checkbox", {
    staticClass: "hide-readed jdf-ml30",
    model: {
      value: _vm.searchData.hideReaded,
      callback: function callback($$v) {
        _vm.$set(_vm.searchData, "hideReaded", $$v);
      },
      expression: "searchData.hideReaded"
    }
  }, [_vm._v("\n        隐藏已阅\n      ")]) : _vm._e()], 1), _c("el-form-item", {
    attrs: {
      label: ""
    }
  }, [_vm.showFilterDept ? _c("el-checkbox", {
    staticClass: "filter-dept jdf-ml30",
    model: {
      value: _vm.searchData.filterDept,
      callback: function callback($$v) {
        _vm.$set(_vm.searchData, "filterDept", $$v);
      },
      expression: "searchData.filterDept"
    }
  }, [_vm._v("\n        仅本部门意见\n      ")]) : _vm._e()], 1)], 1), _c("div", {
    staticClass: "opinion-container"
  }, [_c("el-descriptions", {
    attrs: {
      column: 1,
      border: ""
    }
  }, _vm._l(_vm.opinionList, function (item, index) {
    return _c("el-descriptions-item", {
      key: index,
      staticClass: "opinion-row",
      attrs: {
        label: item.opnDefName,
        labelClassName: "opinion-label",
        contentClassName: "opinion-content"
      }
    }, [_vm._l(item.list, function (opinionItem, opinionIndex) {
      return [opinionItem.show !== false ? _c("div", {
        key: opinionIndex,
        staticClass: "opinion-item",
        class: {
          "leader-opinion": !opinionItem.orgCode
        }
      }, [_c("div", {
        staticClass: "opinion-content"
      }, [_vm._v("\n              " + _vm._s(opinionItem.opnContent) + "\n            ")]), _c("div", {
        staticClass: "opinion-sign"
      }, [_c("span", [_c("span", {
        staticClass: "opinion-sign-text opinion-sign-user"
      }, [_c("i", {
        directives: [{
          name: "show",
          rawName: "v-show",
          value: _vm.showIcon,
          expression: "showIcon"
        }],
        staticClass: "el-icon-user"
      }), _c("span", [_vm._v(_vm._s(opinionItem.userName))])]), _c("span", {
        staticClass: "opinion-sign-text opinion-sign-dept"
      }, [_vm._v("\n                  ("), _c("i", {
        directives: [{
          name: "show",
          rawName: "v-show",
          value: _vm.showIcon,
          expression: "showIcon"
        }],
        staticClass: "el-icon-office-building"
      }), _c("span", [_vm._v(_vm._s(_vm.getOrgPath(opinionItem.paths)))]), _vm._v(")\n                ")])]), _c("span", {
        staticClass: "opinion-sign-text opinion-time-text"
      }, [_c("i", {
        directives: [{
          name: "show",
          rawName: "v-show",
          value: _vm.showIcon,
          expression: "showIcon"
        }],
        staticClass: "el-icon-alarm-clock"
      }), _c("span", [_vm._v(_vm._s(_vm.formatMillisecondToString(opinionItem.createTime, _vm.timeFormatter)))])])])]) : _vm._e()];
    })], 2);
  }), 1), _c("transition", {
    attrs: {
      name: "el-fade-in-linear"
    }
  }, [_c("el-descriptions", {
    directives: [{
      name: "show",
      rawName: "v-show",
      value: _vm.showMore,
      expression: "showMore"
    }],
    attrs: {
      column: 1,
      border: ""
    }
  }, _vm._l(_vm.moreOpinionList, function (item, index) {
    return _c("el-descriptions-item", {
      key: index,
      staticClass: "opinion-row",
      attrs: {
        label: item.opnDefName,
        labelClassName: "opinion-label",
        contentClassName: "opinion-content"
      }
    }, [_vm._l(item.list, function (opinionItem, opinionIndex) {
      return [opinionItem.show !== false ? _c("div", {
        key: opinionIndex,
        staticClass: "opinion-item",
        class: {
          "leader-opinion": !opinionItem.orgCode
        }
      }, [_c("div", {
        staticClass: "opinion-content"
      }, [_vm._v("\n                " + _vm._s(opinionItem.opnContent) + "\n              ")]), _c("div", {
        staticClass: "opinion-sign"
      }, [_c("span", {
        staticClass: "opinion-sign-text opinion-sign-user"
      }, [_c("i", {
        directives: [{
          name: "show",
          rawName: "v-show",
          value: _vm.showIcon,
          expression: "showIcon"
        }],
        staticClass: "el-icon-user"
      }), _c("span", [_vm._v(_vm._s(opinionItem.userName))])]), _c("span", {
        staticClass: "opinion-sign-text opinion-time-text"
      }, [_c("i", {
        directives: [{
          name: "show",
          rawName: "v-show",
          value: _vm.showIcon,
          expression: "showIcon"
        }],
        staticClass: "el-icon-alarm-clock"
      }), _c("span", [_vm._v(_vm._s(_vm.formatMillisecondToString(opinionItem.createTime, _vm.timeFormatter)))])]), _c("span", {
        staticClass: "opinion-sign-text opinion-sign-dept"
      }, [_c("i", {
        directives: [{
          name: "show",
          rawName: "v-show",
          value: _vm.showIcon,
          expression: "showIcon"
        }],
        staticClass: "el-icon-office-building"
      }), _c("span", [_vm._v(_vm._s(_vm.getOrgPath(opinionItem.paths)))])])])]) : _vm._e()];
    })], 2);
  }), 1)], 1), _vm.collapse && !_vm.isEmpty(_vm.moreOpinionList) ? _c("div", {
    staticClass: "view-more"
  }, [!_vm.showMore ? [_c("el-link", {
    attrs: {
      type: "info",
      underline: false
    },
    nativeOn: {
      click: function click($event) {
        return _vm.viewMore.apply(null, arguments);
      }
    }
  }, [_vm._v("点击查看更多信息"), _c("i", {
    staticClass: "el-icon-arrow-down"
  })])] : _vm._e()], 2) : _vm._e()], 1)], 1);
};
var staticRenderFns = [];
render._withStripped = true;

;// CONCATENATED MODULE: ./packages/opinion-list/src/main.vue?vue&type=template&id=4af68aba&

;// CONCATENATED MODULE: external "lodash/take"
var take_namespaceObject = require("lodash/take");
var take_default = /*#__PURE__*/__webpack_require__.n(take_namespaceObject);
;// CONCATENATED MODULE: external "lodash/drop"
var drop_namespaceObject = require("lodash/drop");
var drop_default = /*#__PURE__*/__webpack_require__.n(drop_namespaceObject);
;// CONCATENATED MODULE: external "lodash/groupBy"
var groupBy_namespaceObject = require("lodash/groupBy");
var groupBy_default = /*#__PURE__*/__webpack_require__.n(groupBy_namespaceObject);
;// CONCATENATED MODULE: external "lodash/reduce"
var reduce_namespaceObject = require("lodash/reduce");
var reduce_default = /*#__PURE__*/__webpack_require__.n(reduce_namespaceObject);
;// CONCATENATED MODULE: external "lodash/map"
var map_namespaceObject = require("lodash/map");
var map_default = /*#__PURE__*/__webpack_require__.n(map_namespaceObject);
;// CONCATENATED MODULE: external "@babel/runtime/helpers/asyncToGenerator"
var asyncToGenerator_namespaceObject = require("@babel/runtime/helpers/asyncToGenerator");
var asyncToGenerator_default = /*#__PURE__*/__webpack_require__.n(asyncToGenerator_namespaceObject);
;// CONCATENATED MODULE: external "@babel/runtime/helpers/slicedToArray"
var slicedToArray_namespaceObject = require("@babel/runtime/helpers/slicedToArray");
var slicedToArray_default = /*#__PURE__*/__webpack_require__.n(slicedToArray_namespaceObject);
;// CONCATENATED MODULE: external "@babel/runtime/helpers/defineProperty"
var defineProperty_namespaceObject = require("@babel/runtime/helpers/defineProperty");
var defineProperty_default = /*#__PURE__*/__webpack_require__.n(defineProperty_namespaceObject);
;// CONCATENATED MODULE: external "@babel/runtime/regenerator"
var regenerator_namespaceObject = require("@babel/runtime/regenerator");
var regenerator_default = /*#__PURE__*/__webpack_require__.n(regenerator_namespaceObject);
;// CONCATENATED MODULE: external "pinyin-pro"
var external_pinyin_pro_namespaceObject = require("pinyin-pro");
;// CONCATENATED MODULE: external "xregexp"
var external_xregexp_namespaceObject = require("xregexp");
var external_xregexp_default = /*#__PURE__*/__webpack_require__.n(external_xregexp_namespaceObject);
;// CONCATENATED MODULE: external "lodash/slice"
var slice_namespaceObject = require("lodash/slice");
var slice_default = /*#__PURE__*/__webpack_require__.n(slice_namespaceObject);
;// CONCATENATED MODULE: external "lodash/toLower"
var toLower_namespaceObject = require("lodash/toLower");
var toLower_default = /*#__PURE__*/__webpack_require__.n(toLower_namespaceObject);
;// CONCATENATED MODULE: external "lodash/isEmpty"
var isEmpty_namespaceObject = require("lodash/isEmpty");
var isEmpty_default = /*#__PURE__*/__webpack_require__.n(isEmpty_namespaceObject);
;// CONCATENATED MODULE: external "lodash/isFunction"
var isFunction_namespaceObject = require("lodash/isFunction");
var isFunction_default = /*#__PURE__*/__webpack_require__.n(isFunction_namespaceObject);
;// CONCATENATED MODULE: external "lodash/transform"
var transform_namespaceObject = require("lodash/transform");
var transform_default = /*#__PURE__*/__webpack_require__.n(transform_namespaceObject);
;// CONCATENATED MODULE: external "lodash/orderBy"
var orderBy_namespaceObject = require("lodash/orderBy");
var orderBy_default = /*#__PURE__*/__webpack_require__.n(orderBy_namespaceObject);
;// CONCATENATED MODULE: external "dayjs"
var external_dayjs_namespaceObject = require("dayjs");
var external_dayjs_default = /*#__PURE__*/__webpack_require__.n(external_dayjs_namespaceObject);
;// CONCATENATED MODULE: ./src/utils/day-util.js
/*
 * @Author: lirl
 * @Date: 2020-04-21 10:08:54
 * @LastEditTime: 2022-04-21 09:40:22
 * @Description: 日期转换工具方法
 */


/**
 * 将毫秒值的时间格式化为format格式.
 * @param {Number} millisecond 毫秒
 * @param {String} format 要转换的格式
 */
var formatMillisecondToString = function formatMillisecondToString(millisecond) {
  var format = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'YYYY-MM-DD HH:mm:ss';
  return millisecond ? external_dayjs_default()(millisecond).format(format) : '';
};

/**
 * 获取当前时间的毫秒值
 */
var getCurrentMillisecond = function getCurrentMillisecond() {
  return dayjs().valueOf();
};

;// CONCATENATED MODULE: ./src/mixins/opinionListMixin.js




function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { defineProperty_default()(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
/* eslint-disable max-len */
/*
 * @Author: lirl
 * @Date: 2022-10-10 15:10:43
 * @Description: 意见列表展示公共混入文件
 */










/* harmony default export */ var opinionListMixin = ({
  props: {
    // 日期格式
    timeFormatter: {
      type: String,
      default: 'YYYY-MM-DD HH:mm:ss'
    },
    // 是否显示搜索框
    showSearchInput: {
      type: Boolean,
      default: true
    },
    // 是否显示隐藏已阅
    showHideRead: {
      type: Boolean,
      default: true
    },
    // 是否显示过滤本部门意见
    showFilterDept: {
      type: Boolean,
      default: true
    },
    // 部门是否显示顶级组织
    showTopLevelOrg: Boolean,
    // 是否显示图标
    showIcon: {
      type: Boolean,
      default: false
    },
    // 根据部门过滤时部门名称
    deptName: String,
    // 是否折叠
    collapse: {
      type: Boolean,
      default: false
    },
    // 折叠条数
    collapseNum: {
      type: Number,
      default: 2
    },
    // 是否记住用户的选择
    rememberCheck: {
      type: Boolean,
      default: true
    },
    // 顶级组织的层级
    topOrgLevel: {
      type: Number,
      default: 1
    },
    // 领导意见域标识
    leaderOpinionMark: {
      type: String,
      default: 'leader-opinion'
    },
    // 搜索输入框属性
    searchInputAttrs: {
      type: Object,
      default: function _default() {
        return {
          placeholder: '搜索：姓名（汉字/拼音）、组织、意见',
          'prefix-icon': 'el-icon-search'
        };
      }
    }
  },
  data: function data() {
    var _this$$JDF$hideReadTe;
    return {
      isEmpty: (isEmpty_default()),
      formatMillisecondToString: formatMillisecondToString,
      searchData: {
        filterText: '',
        hideReaded: false,
        filterDept: false
      },
      showMore: false,
      moreOpinionList: [],
      opinionList: [],
      originMoreList: [],
      // 隐藏已阅时匹配的字段
      hideTexts: (_this$$JDF$hideReadTe = this.$JDF.hideReadTexts) !== null && _this$$JDF$hideReadTe !== void 0 ? _this$$JDF$hideReadTe : ['已阅', '已阅。', '已阅知', '已阅知。'],
      pinyinEngine: null,
      opnFlowNodeSign: {
        nameIsDisplay: 1,
        nameIsHigh: 1,
        orgStartRank: 1,
        orgEndRank: 10,
        orgIsDisplay: 1,
        sortRule: '["name","org","time"]',
        timeIsDisplay: 1,
        timeType: 'YYYY-MM-DD HH:mm:ss',
        useSign: 1
      },
      // 分组标识##
      groupTag: external_xregexp_default()(/#(\S*)#/)
    };
  },
  watch: {
    data: {
      handler: function handler(val) {
        if (!isEmpty_default()(val)) {
          this.getOpinionList(val);
        }
      },
      immediate: true,
      deep: true
    },
    searchData: {
      handler: function handler(val) {
        if (this.rememberCheck) {
          localStorage.setItem('hideReaded', val.hideReaded);
          localStorage.setItem('filterDept', val.filterDept);
        }
      },
      deep: true
    },
    showMore: function showMore(val) {
      if (val) {
        this.expand();
      }
    }
  },
  computed: {
    /**
     * 根据条件过滤的展示的意见
     */
    showList: function showList() {
      return this.filterByCondition(this.searchData, this.opinionList);
    },
    /**
     * 根据条件过滤的折叠的意见
     */
    collapseList: function collapseList() {
      return this.filterByCondition(this.searchData, this.moreOpinionList);
    }
  },
  created: function created() {
    if (this.rememberCheck) {
      var searchData = this.searchData;
      this.$set(searchData, 'hideReaded', localStorage.getItem('hideReaded') === 'true');
      this.$set(searchData, 'filterDept', localStorage.getItem('filterDept') === 'true');
    }
  },
  methods: {
    getOrgPath: function getOrgPath(paths) {
      var topOrgLevel = this.topOrgLevel;
      if (this.showTopLevelOrg && paths.length <= this.topOrgLevel) {
        return '';
      }
      return paths.slice(topOrgLevel).join('/');
    },
    /**
     * 构建意见过滤方法
     */
    filterFn: function filterFn(filterText, hideReaded, filterDept) {
      var _this = this;
      var deptName = this.deptName;
      // 判断意见是否展示的方法
      var condition = function condition(opn) {
        var opnContent = opn.opnContent;
        // 取三个条件的交集
        return !(hideReaded && _this.hideTexts.includes(opnContent)) && (!filterText || opnContent.includes(filterText) || opn.userName.includes(filterText) || opn.orgName.includes(filterText) || opn.formatterCreateTime.includes(filterText) || opn.pinyinName.includes(toLower_default()(filterText))) && (!filterDept || opn.paths.includes(deptName));
      };
      return condition;
    },
    /**
     * 根据条件过滤
     */
    filterByCondition: function filterByCondition(searchData, opinionList) {
      var _this2 = this;
      var filterFn = this.filterFn(searchData.filterText, searchData.hideReaded, searchData.filterDept);
      var leaderOpinionMark = this.leaderOpinionMark;
      // 根据条件过滤意见
      return opinionList.map(function (t) {
        return _objectSpread(_objectSpread({}, t), {}, {
          groupList: t.groupList.map(function (m) {
            return _objectSpread(_objectSpread({}, m), {}, {
              // 截取分组标识后，再进行领导意见域标识判断
              formOpinionList: m.opinionFieldDesc.replace(_this2.groupTag, '') === leaderOpinionMark ? m.formOpinionList : m.formOpinionList.filter(filterFn)
            });
          })
        });
      });
    },
    /**
     * 获取分组后数组
     */
    getGroupList: function getGroupList(opinionList) {
      var _this3 = this;
      // 根据标识进行分组
      var listByGroup = groupBy_default()(opinionList, function (t) {
        var _t$opinionFieldDesc, _t$opinionFieldDesc$m;
        return (_t$opinionFieldDesc = t.opinionFieldDesc) === null || _t$opinionFieldDesc === void 0 ? void 0 : (_t$opinionFieldDesc$m = _t$opinionFieldDesc.match(_this3.groupTag)) === null || _t$opinionFieldDesc$m === void 0 ? void 0 : _t$opinionFieldDesc$m[1];
      });
      // 将对象转为数组
      var groupListData = transform_default()(Object.entries(listByGroup), function (result, value) {
        var _value = slicedToArray_default()(value, 2),
          groupName = _value[0],
          groupList = _value[1];
        result.push({
          // match后不包含标识符的值被对象属性转为为'undefined'，将'undefined'置为空字符串进行排序
          groupName: groupName === 'undefined' ? '' : groupName,
          groupList: groupList
        });
      }, []);
      // 将数组根据分组名进行升序排列，无分组的元素置顶
      return orderBy_default()(groupListData, function (m) {
        return m.groupName;
      });
    },
    /**
     * 获取签名配置
     */
    getSignText: function getSignText(opinionItem) {
      var _signConf;
      var signConf = opinionItem.opnFlowNodeSign;
      if (!((_signConf = signConf) !== null && _signConf !== void 0 && _signConf.useSign)) {
        signConf = this.opnFlowNodeSign;
      }
      var signTextConf = {
        name: function name(isHigh) {
          return "<span class=\"opinion-sign-text opinion-sign-user ".concat(isHigh ? 'name-high' : '', "\">\n                <span>").concat(opinionItem.userName, "</span>\n              </span>");
        },
        time: function time() {
          return "<span class=\"opinion-sign-text opinion-time-text\"><span>".concat(opinionItem.formatterCreateTime, "</span></span>");
        },
        org: function org(path) {
          return "<span class=\"opinion-sign-text opinion-sign-dept\">\n                <span class=\"left-brackets\">(</span><span class=\"center-path\">".concat(path, "</span><span class=\"right-brackets\">)</span>\n              </span>");
        }
      };
      var sortRule = JSON.parse(signConf.sortRule);
      return sortRule.map(function (v) {
        var show = signConf["".concat(v, "IsDisplay")];
        if (!show) {
          return '';
        }
        if (v === 'org') {
          var path = slice_default()(opinionItem.paths, signConf.orgStartRank, signConf.orgEndRank).join('/');
          return path ? signTextConf.org(path) : '';
        }
        return signTextConf[v](signConf["".concat(v, "IsHigh")]);
      }).join('');
    },
    /**
     * 查看更多信息
     */
    viewMore: function viewMore(callback) {
      var _this4 = this;
      return asyncToGenerator_default()( /*#__PURE__*/regenerator_default().mark(function _callee() {
        return regenerator_default().wrap(function _callee$(_context) {
          while (1) switch (_context.prev = _context.next) {
            case 0:
              _this4.showMore = true;
              _context.next = 3;
              return _this4.$nextTick();
            case 3:
              isFunction_default()(callback) && callback();
            case 4:
            case "end":
              return _context.stop();
          }
        }, _callee);
      }))();
    },
    /**
     * 构建意见域
     */
    buildOpinionArea: function buildOpinionArea(array) {
      var buildOpinionItem = this.buildOpinionItem;
      return array.map(function (v) {
        return _objectSpread(_objectSpread({}, v), {}, {
          groupList: v.groupList.map(function (t) {
            var _t$opinionFieldDesc2;
            return _objectSpread(_objectSpread({}, t), {}, {
              opinionFieldDesc: (_t$opinionFieldDesc2 = t.opinionFieldDesc) !== null && _t$opinionFieldDesc2 !== void 0 ? _t$opinionFieldDesc2 : '',
              formOpinionList: t.formOpinionList.map(buildOpinionItem)
            });
          })
        });
      });
    },
    /**
     * 构建单条意见对象
     * @param {Object} opinion 单条意见对象
     */
    buildOpinionItem: function buildOpinionItem(opinion) {
      var _pinyinName;
      var opnFlowNodeSign = opinion.opnFlowNodeSign;
      var userName = opinion.outAuthUserName ? "".concat(opinion.userName, "\u4EE3").concat(opinion.outAuthUserName) : opinion.userName;
      var pinyinName = opinion.pinyinName;
      if (!pinyinName) {
        var translate = (0,external_pinyin_pro_namespaceObject.pinyin)(userName, {
          toneType: 'none'
        });
        translate && (pinyinName = translate.replace(/\s/g, ''));
      }
      return _objectSpread(_objectSpread({}, opinion), {}, {
        userName: userName,
        pinyinName: (_pinyinName = pinyinName) !== null && _pinyinName !== void 0 ? _pinyinName : '',
        paths: JSON.parse(opinion.orgPath),
        formatterCreateTime: formatMillisecondToString(opinion.createTime, opnFlowNodeSign !== null && opnFlowNodeSign !== void 0 && opnFlowNodeSign.useSign ? opnFlowNodeSign.timeType : this.timeFormatter)
      });
    },
    /**
     * 展开查看更多意见
     */
    expand: function expand() {
      if (isEmpty_default()(this.moreOpinionList)) {
        this.moreOpinionList = this.buildOpinionArea(this.originMoreList);
      }
    }
  }
});
;// CONCATENATED MODULE: ./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./packages/opinion-list/src/main.vue?vue&type=script&lang=js&






/* harmony default export */ var mainvue_type_script_lang_js_ = ({
  name: 'JdfOpinionList',
  mixins: [opinionListMixin],
  props: {
    // 意见展示列表所绑定的数据
    data: {
      type: Array,
      default: function _default() {
        return [];
      }
    }
  },
  data: function data() {
    return {};
  },
  methods: {
    /**
     * 构建要展示的意见列表
     */
    getOpinionList: function getOpinionList(data) {
      var group = groupBy_default()(data, 'opnDefName');
      var buildOpinionItem = this.buildOpinionItem;
      var list = reduce_default()(group, function (result, value, key) {
        result.push({
          opnDefName: key,
          list: map_default()(value, function (v) {
            return buildOpinionItem(v);
          })
        });
        return result;
      }, []);
      if (this.collapse) {
        this.opinionList = take_default()(list, this.collapseNum);
        this.moreOpinionList = drop_default()(list, this.collapseNum);
      } else {
        this.opinionList = list;
      }
    }
  }
});
;// CONCATENATED MODULE: ./packages/opinion-list/src/main.vue?vue&type=script&lang=js&
 /* harmony default export */ var src_mainvue_type_script_lang_js_ = (mainvue_type_script_lang_js_); 
;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
/* globals __VUE_SSR_CONTEXT__ */

// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).
// This module is a runtime utility for cleaner component module output and will
// be included in the final webpack user bundle.

function normalizeComponent(
  scriptExports,
  render,
  staticRenderFns,
  functionalTemplate,
  injectStyles,
  scopeId,
  moduleIdentifier /* server only */,
  shadowMode /* vue-cli only */
) {
  // Vue.extend constructor export interop
  var options =
    typeof scriptExports === 'function' ? scriptExports.options : scriptExports

  // render functions
  if (render) {
    options.render = render
    options.staticRenderFns = staticRenderFns
    options._compiled = true
  }

  // functional template
  if (functionalTemplate) {
    options.functional = true
  }

  // scopedId
  if (scopeId) {
    options._scopeId = 'data-v-' + scopeId
  }

  var hook
  if (moduleIdentifier) {
    // server build
    hook = function (context) {
      // 2.3 injection
      context =
        context || // cached call
        (this.$vnode && this.$vnode.ssrContext) || // stateful
        (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional
      // 2.2 with runInNewContext: true
      if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {
        context = __VUE_SSR_CONTEXT__
      }
      // inject component styles
      if (injectStyles) {
        injectStyles.call(this, context)
      }
      // register component module identifier for async chunk inferrence
      if (context && context._registeredComponents) {
        context._registeredComponents.add(moduleIdentifier)
      }
    }
    // used by ssr in case component is cached and beforeCreate
    // never gets called
    options._ssrRegister = hook
  } else if (injectStyles) {
    hook = shadowMode
      ? function () {
          injectStyles.call(
            this,
            (options.functional ? this.parent : this).$root.$options.shadowRoot
          )
        }
      : injectStyles
  }

  if (hook) {
    if (options.functional) {
      // for template-only hot-reload because in that case the render fn doesn't
      // go through the normalizer
      options._injectStyles = hook
      // register for functional component in vue file
      var originalRender = options.render
      options.render = function renderWithStyleInjection(h, context) {
        hook.call(context)
        return originalRender(h, context)
      }
    } else {
      // inject component registration as beforeCreate hook
      var existing = options.beforeCreate
      options.beforeCreate = existing ? [].concat(existing, hook) : [hook]
    }
  }

  return {
    exports: scriptExports,
    options: options
  }
}

;// CONCATENATED MODULE: ./packages/opinion-list/src/main.vue





/* normalize component */
;
var component = normalizeComponent(
  src_mainvue_type_script_lang_js_,
  render,
  staticRenderFns,
  false,
  null,
  null,
  null
  
)

/* harmony default export */ var main = (component.exports);
;// CONCATENATED MODULE: ./packages/opinion-list/index.js
/*
 * @Author: wangjr
 * @Date: 2020-05-14 14:37:50
 * @LastEditTime: 2022-04-21 09:43:13
 * @Description: 意见展示列表
 */
// 导入组件，组件必须声明 name


// 为组件提供 install 安装方法，供按需引入
main.install = function (Vue) {
  Vue.component(main.name, main);
};
// 默认导出组件
/* harmony default export */ var opinion_list = (main);
module.exports = __webpack_exports__;
/******/ })()
;