"use strict";
(self["webpackChunkpj_process"] = self["webpackChunkpj_process"] || []).push([[7948],{

/***/ 78913:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

// ESM COMPAT FLAG
__webpack_require__.r(__webpack_exports__);

// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  "default": () => (/* binding */ HomePage)
});

// EXTERNAL MODULE: ./node_modules/.pnpm/@vue+runtime-core@3.3.1/node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js
var runtime_core_esm_bundler = __webpack_require__(27520);
// EXTERNAL MODULE: ./node_modules/.pnpm/@vue+shared@3.3.1/node_modules/@vue/shared/dist/shared.esm-bundler.js
var shared_esm_bundler = __webpack_require__(45554);
// EXTERNAL MODULE: ./node_modules/.pnpm/@vue+reactivity@3.3.1/node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js
var reactivity_esm_bundler = __webpack_require__(83270);
;// CONCATENATED MODULE: ./src/assets/images/nimg62_1.jpg
const nimg62_1_namespaceObject = "data:image/jpeg;base64, ";
;// CONCATENATED MODULE: ./node_modules/.pnpm/thread-loader@3.0.4_webpack@5.75.0/node_modules/thread-loader/dist/cjs.js!./node_modules/.pnpm/babel-loader@8.4.1_@babel+core@7.26.0_webpack@5.75.0/node_modules/babel-loader/lib/index.js!./node_modules/.pnpm/ts-loader@9.5.1_typescript@5.6.2_webpack@5.75.0/node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!./node_modules/.pnpm/vue-loader@17.1.0_@vue+compiler-sfc@3.2.47_vue@3.3.1_webpack@5.75.0/node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/views/HomePage/ManageStatistics/components/PersonalGreeting.vue?vue&type=script&lang=ts&setup=true



var _hoisted_1 = {
  "class": "flex gap-[0.12rem]"
};
var _hoisted_2 = /*#__PURE__*/(0,runtime_core_esm_bundler/* createElementVNode */._)("img", {
  src: nimg62_1_namespaceObject,
  "class": "w-[0.62rem] h-[0.62rem] rounded-[50%]"
}, null, -1);
var _hoisted_3 = {
  "class": "ml-[0.04rem]"
};
var _hoisted_4 = {
  "class": "text-[0.22rem] leading-[0.4rem] text-[#333] font-[MiSans] font-bold"
};
var _hoisted_5 = {
  "class": "text-[0.16rem] leading-[0.16rem] text-[#838d9d]"
};

/* harmony default export */ const PersonalGreetingvue_type_script_lang_ts_setup_true = (/*#__PURE__*/(0,runtime_core_esm_bundler/* defineComponent */.aZ)({
  __name: 'PersonalGreeting',
  props: {
    userName: {
      type: String,
      "default": 'User Name'
    },
    userAvatar: {
      type: String,
      "default": ''
    }
  },
  setup: function setup(__props) {
    var currentDate = (0,runtime_core_esm_bundler/* computed */.Fl)(function () {
      return new Date().toLocaleDateString();
    });
    var dayOfWeek = (0,runtime_core_esm_bundler/* computed */.Fl)(function () {
      return new Date().toLocaleDateString('zh-CN', {
        weekday: 'long'
      });
    });
    return function (_ctx, _cache) {
      return (0,runtime_core_esm_bundler/* openBlock */.wg)(), (0,runtime_core_esm_bundler/* createElementBlock */.iD)("div", _hoisted_1, [_hoisted_2, (0,runtime_core_esm_bundler/* createElementVNode */._)("div", _hoisted_3, [(0,runtime_core_esm_bundler/* createElementVNode */._)("div", _hoisted_4, " Hey," + (0,shared_esm_bundler/* toDisplayString */.zw)(__props.userName), 1), (0,runtime_core_esm_bundler/* createElementVNode */._)("div", _hoisted_5, (0,shared_esm_bundler/* toDisplayString */.zw)(dayOfWeek.value) + "，" + (0,shared_esm_bundler/* toDisplayString */.zw)(currentDate.value), 1)])]);
    };
  }
}));
;// CONCATENATED MODULE: ./src/views/HomePage/ManageStatistics/components/PersonalGreeting.vue?vue&type=script&lang=ts&setup=true
 
;// CONCATENATED MODULE: ./src/views/HomePage/ManageStatistics/components/PersonalGreeting.vue



const __exports__ = PersonalGreetingvue_type_script_lang_ts_setup_true;

/* harmony default export */ const PersonalGreeting = (__exports__);
// EXTERNAL MODULE: ./node_modules/.pnpm/@vue+runtime-dom@3.3.1/node_modules/@vue/runtime-dom/dist/runtime-dom.esm-bundler.js
var runtime_dom_esm_bundler = __webpack_require__(41922);
;// CONCATENATED MODULE: ./node_modules/.pnpm/thread-loader@3.0.4_webpack@5.75.0/node_modules/thread-loader/dist/cjs.js!./node_modules/.pnpm/babel-loader@8.4.1_@babel+core@7.26.0_webpack@5.75.0/node_modules/babel-loader/lib/index.js!./node_modules/.pnpm/ts-loader@9.5.1_typescript@5.6.2_webpack@5.75.0/node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!./node_modules/.pnpm/vue-loader@17.1.0_@vue+compiler-sfc@3.2.47_vue@3.3.1_webpack@5.75.0/node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/views/HomePage/ManageStatistics/components/GenericDropdown.vue?vue&type=script&lang=ts&setup=true


var _withScopeId = function _withScopeId(n) {
  return _pushScopeId("data-v-1b3fd676"), n = n(), _popScopeId(), n;
};
var GenericDropdownvue_type_script_lang_ts_setup_true_hoisted_1 = {
  "class": "wrap"
};
var GenericDropdownvue_type_script_lang_ts_setup_true_hoisted_2 = {
  "class": "flex items-center justify-center"
};
var GenericDropdownvue_type_script_lang_ts_setup_true_hoisted_3 = {
  "class": "icon-wrap"
};
var GenericDropdownvue_type_script_lang_ts_setup_true_hoisted_4 = {
  "class": "text"
};
var GenericDropdownvue_type_script_lang_ts_setup_true_hoisted_5 = {
  key: 0,
  "class": "dropdown"
};
var _hoisted_6 = ["onClick"];

/* harmony default export */ const GenericDropdownvue_type_script_lang_ts_setup_true = (/*#__PURE__*/(0,runtime_core_esm_bundler/* defineComponent */.aZ)({
  __name: 'GenericDropdown',
  props: {
    icon: {
      type: String,
      "default": 'nimg19_2'
    },
    list: {
      type: Array,
      "default": function _default() {
        return [];
      }
    }
  },
  setup: function setup(__props) {
    var props = __props;
    var selectedItem = (0,reactivity_esm_bundler/* ref */.iH)(props.list[0]);
    var dropdownVisible = (0,reactivity_esm_bundler/* ref */.iH)(false);
    var toggleDropdown = function toggleDropdown() {
      dropdownVisible.value = !dropdownVisible.value;
    };
    var selectYear = function selectYear(item) {
      selectedItem.value = item;
      dropdownVisible.value = false;
    };
    return function (_ctx, _cache) {
      var _component_svgIcon = (0,runtime_core_esm_bundler/* resolveComponent */.up)("svgIcon");
      return (0,runtime_core_esm_bundler/* openBlock */.wg)(), (0,runtime_core_esm_bundler/* createElementBlock */.iD)("div", GenericDropdownvue_type_script_lang_ts_setup_true_hoisted_1, [(0,runtime_core_esm_bundler/* createElementVNode */._)("div", {
        "class": "selected",
        onClick: toggleDropdown
      }, [(0,runtime_core_esm_bundler/* createElementVNode */._)("div", GenericDropdownvue_type_script_lang_ts_setup_true_hoisted_2, [(0,runtime_core_esm_bundler/* createElementVNode */._)("span", GenericDropdownvue_type_script_lang_ts_setup_true_hoisted_3, [(0,runtime_core_esm_bundler/* createVNode */.Wm)(_component_svgIcon, {
        name: __props.icon,
        size: "18"
      }, null, 8, ["name"])]), (0,runtime_core_esm_bundler/* createElementVNode */._)("span", GenericDropdownvue_type_script_lang_ts_setup_true_hoisted_4, (0,shared_esm_bundler/* toDisplayString */.zw)(selectedItem.value), 1)]), (0,runtime_core_esm_bundler/* createElementVNode */._)("i", {
        "class": (0,shared_esm_bundler/* normalizeClass */.C_)(["arrow", {
          rotated: dropdownVisible.value
        }])
      }, null, 2)]), (0,runtime_core_esm_bundler/* createVNode */.Wm)(runtime_dom_esm_bundler/* Transition */.uT, {
        name: "dropdown"
      }, {
        "default": (0,runtime_core_esm_bundler/* withCtx */.w5)(function () {
          return [dropdownVisible.value ? ((0,runtime_core_esm_bundler/* openBlock */.wg)(), (0,runtime_core_esm_bundler/* createElementBlock */.iD)("ul", GenericDropdownvue_type_script_lang_ts_setup_true_hoisted_5, [((0,runtime_core_esm_bundler/* openBlock */.wg)(true), (0,runtime_core_esm_bundler/* createElementBlock */.iD)(runtime_core_esm_bundler/* Fragment */.HY, null, (0,runtime_core_esm_bundler/* renderList */.Ko)(props.list, function (item, index) {
            return (0,runtime_core_esm_bundler/* openBlock */.wg)(), (0,runtime_core_esm_bundler/* createElementBlock */.iD)("li", {
              key: index,
              "class": (0,shared_esm_bundler/* normalizeClass */.C_)({
                active: item === selectedItem.value
              }),
              onClick: function onClick($event) {
                return selectYear(item);
              }
            }, (0,shared_esm_bundler/* toDisplayString */.zw)(item), 11, _hoisted_6);
          }), 128))])) : (0,runtime_core_esm_bundler/* createCommentVNode */.kq)("", true)];
        }),
        _: 1
      })]);
    };
  }
}));
;// CONCATENATED MODULE: ./src/views/HomePage/ManageStatistics/components/GenericDropdown.vue?vue&type=script&lang=ts&setup=true
 
;// CONCATENATED MODULE: ./node_modules/.pnpm/mini-css-extract-plugin@2.9.2_webpack@5.75.0/node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-12.use[0]!./node_modules/.pnpm/css-loader@6.7.1_webpack@5.75.0/node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/.pnpm/vue-loader@17.1.0_@vue+compiler-sfc@3.2.47_vue@3.3.1_webpack@5.75.0/node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/.pnpm/postcss-loader@6.2.1_postcss@8.3.9_webpack@5.75.0/node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/.pnpm/vue-loader@17.1.0_@vue+compiler-sfc@3.2.47_vue@3.3.1_webpack@5.75.0/node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/views/HomePage/ManageStatistics/components/GenericDropdown.vue?vue&type=style&index=0&id=1b3fd676&scoped=true&lang=css
// extracted by mini-css-extract-plugin

;// CONCATENATED MODULE: ./src/views/HomePage/ManageStatistics/components/GenericDropdown.vue?vue&type=style&index=0&id=1b3fd676&scoped=true&lang=css

// EXTERNAL MODULE: ./node_modules/.pnpm/vue-loader@17.1.0_@vue+compiler-sfc@3.2.47_vue@3.3.1_webpack@5.75.0/node_modules/vue-loader/dist/exportHelper.js
var exportHelper = __webpack_require__(14890);
;// CONCATENATED MODULE: ./src/views/HomePage/ManageStatistics/components/GenericDropdown.vue



;


const GenericDropdown_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(GenericDropdownvue_type_script_lang_ts_setup_true, [['__scopeId',"data-v-1b3fd676"]])

/* harmony default export */ const GenericDropdown = (GenericDropdown_exports_);
;// CONCATENATED MODULE: ./src/assets/images/nimg244_1.png
const nimg244_1_namespaceObject = __webpack_require__.p + "img/nimg244_1.302b5a1f.png";
;// CONCATENATED MODULE: ./src/assets/images/nimg244_2.png
const nimg244_2_namespaceObject = __webpack_require__.p + "img/nimg244_2.c665030a.png";
;// CONCATENATED MODULE: ./node_modules/.pnpm/thread-loader@3.0.4_webpack@5.75.0/node_modules/thread-loader/dist/cjs.js!./node_modules/.pnpm/babel-loader@8.4.1_@babel+core@7.26.0_webpack@5.75.0/node_modules/babel-loader/lib/index.js!./node_modules/.pnpm/ts-loader@9.5.1_typescript@5.6.2_webpack@5.75.0/node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!./node_modules/.pnpm/vue-loader@17.1.0_@vue+compiler-sfc@3.2.47_vue@3.3.1_webpack@5.75.0/node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/views/HomePage/ManageStatistics/components/ContractStatistics.vue?vue&type=script&setup=true&lang=ts




var ContractStatisticsvue_type_script_setup_true_lang_ts_withScopeId = function _withScopeId(n) {
  return _pushScopeId("data-v-7cb2fcbc"), n = n(), _popScopeId(), n;
};
var ContractStatisticsvue_type_script_setup_true_lang_ts_hoisted_1 = {
  "class": "card"
};
var ContractStatisticsvue_type_script_setup_true_lang_ts_hoisted_2 = {
  "class": "header"
};
var ContractStatisticsvue_type_script_setup_true_lang_ts_hoisted_3 = {
  "class": "title"
};
var ContractStatisticsvue_type_script_setup_true_lang_ts_hoisted_4 = {
  "class": "trend-text"
};
var ContractStatisticsvue_type_script_setup_true_lang_ts_hoisted_5 = {
  "class": "content"
};
var ContractStatisticsvue_type_script_setup_true_lang_ts_hoisted_6 = {
  "class": "amount-container"
};
var _hoisted_7 = {
  "class": "amount"
};
var _hoisted_8 = {
  "class": "value"
};
var _hoisted_9 = {
  "class": "unit"
};
var _hoisted_10 = {
  "class": "footer"
};
var _hoisted_11 = {
  "class": "year"
};
var _hoisted_12 = {
  "class": "percentage"
};
var _hoisted_13 = {
  key: 0,
  "class": "rimg"
};
var _hoisted_14 = {
  key: 0,
  src: nimg244_1_namespaceObject,
  alt: "",
  "class": "chart-placeholder"
};
var _hoisted_15 = {
  key: 1,
  src: nimg244_2_namespaceObject,
  alt: "",
  "class": "chart-placeholder"
};
/* harmony default export */ const ContractStatisticsvue_type_script_setup_true_lang_ts = (/*#__PURE__*/(0,runtime_core_esm_bundler/* defineComponent */.aZ)({
  __name: 'ContractStatistics',
  props: {
    title: {
      type: String,
      "default": '收入类合同金额'
    },
    trendText: {
      type: String,
      "default": '往年趋势'
    },
    value: {
      type: String,
      "default": '1.8521'
    },
    unit: {
      type: String,
      "default": '(亿元)'
    },
    introText: {
      type: String,
      "default": '2024年比较上一年'
    },
    percentage: {
      type: String,
      "default": '20.5%'
    },
    isUp: {
      type: Boolean,
      "default": false
    },
    isTrend: {
      type: Boolean,
      "default": true
    }
  },
  setup: function setup(__props) {
    return function (_ctx, _cache) {
      var _component_svgIcon = (0,runtime_core_esm_bundler/* resolveComponent */.up)("svgIcon");
      return (0,runtime_core_esm_bundler/* openBlock */.wg)(), (0,runtime_core_esm_bundler/* createElementBlock */.iD)("div", ContractStatisticsvue_type_script_setup_true_lang_ts_hoisted_1, [(0,runtime_core_esm_bundler/* createElementVNode */._)("div", ContractStatisticsvue_type_script_setup_true_lang_ts_hoisted_2, [(0,runtime_core_esm_bundler/* createElementVNode */._)("span", ContractStatisticsvue_type_script_setup_true_lang_ts_hoisted_3, (0,shared_esm_bundler/* toDisplayString */.zw)(__props.title), 1), (0,runtime_core_esm_bundler/* createElementVNode */._)("div", {
        "class": "trend-icon",
        onClick: _cache[0] || (_cache[0] = function ($event) {
          return _ctx.$emit('showTrendChart');
        })
      }, [(0,runtime_core_esm_bundler/* createElementVNode */._)("span", ContractStatisticsvue_type_script_setup_true_lang_ts_hoisted_4, (0,shared_esm_bundler/* toDisplayString */.zw)(__props.trendText), 1), (0,runtime_core_esm_bundler/* createVNode */.Wm)(_component_svgIcon, {
        name: "nimg25_1"
      })])]), (0,runtime_core_esm_bundler/* createElementVNode */._)("div", ContractStatisticsvue_type_script_setup_true_lang_ts_hoisted_5, [(0,runtime_core_esm_bundler/* createElementVNode */._)("div", ContractStatisticsvue_type_script_setup_true_lang_ts_hoisted_6, [(0,runtime_core_esm_bundler/* createElementVNode */._)("div", _hoisted_7, [(0,runtime_core_esm_bundler/* createElementVNode */._)("span", _hoisted_8, (0,shared_esm_bundler/* toDisplayString */.zw)(__props.value), 1), (0,runtime_core_esm_bundler/* createElementVNode */._)("span", _hoisted_9, (0,shared_esm_bundler/* toDisplayString */.zw)(__props.unit), 1)]), (0,runtime_core_esm_bundler/* createElementVNode */._)("div", _hoisted_10, [(0,runtime_core_esm_bundler/* createElementVNode */._)("span", _hoisted_11, (0,shared_esm_bundler/* toDisplayString */.zw)(__props.introText), 1), __props.isTrend ? ((0,runtime_core_esm_bundler/* openBlock */.wg)(), (0,runtime_core_esm_bundler/* createElementBlock */.iD)("div", {
        key: 0,
        "class": (0,shared_esm_bundler/* normalizeClass */.C_)(["growth", __props.isUp ? 'up' : 'down'])
      }, [(0,runtime_core_esm_bundler/* createVNode */.Wm)(_component_svgIcon, {
        name: __props.isUp ? 'up' : 'down',
        size: "16"
      }, null, 8, ["name"]), (0,runtime_core_esm_bundler/* createElementVNode */._)("span", _hoisted_12, (0,shared_esm_bundler/* toDisplayString */.zw)(__props.percentage), 1)], 2)) : (0,runtime_core_esm_bundler/* createCommentVNode */.kq)("", true)])]), __props.isTrend ? ((0,runtime_core_esm_bundler/* openBlock */.wg)(), (0,runtime_core_esm_bundler/* createElementBlock */.iD)("div", _hoisted_13, [__props.isUp ? ((0,runtime_core_esm_bundler/* openBlock */.wg)(), (0,runtime_core_esm_bundler/* createElementBlock */.iD)("img", _hoisted_14)) : ((0,runtime_core_esm_bundler/* openBlock */.wg)(), (0,runtime_core_esm_bundler/* createElementBlock */.iD)("img", _hoisted_15))])) : (0,runtime_core_esm_bundler/* createCommentVNode */.kq)("", true)])]);
    };
  }
}));
;// CONCATENATED MODULE: ./src/views/HomePage/ManageStatistics/components/ContractStatistics.vue?vue&type=script&setup=true&lang=ts
 
;// CONCATENATED MODULE: ./node_modules/.pnpm/mini-css-extract-plugin@2.9.2_webpack@5.75.0/node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-32.use[0]!./node_modules/.pnpm/css-loader@6.7.1_webpack@5.75.0/node_modules/css-loader/dist/cjs.js??clonedRuleSet-32.use[1]!./node_modules/.pnpm/vue-loader@17.1.0_@vue+compiler-sfc@3.2.47_vue@3.3.1_webpack@5.75.0/node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/.pnpm/postcss-loader@6.2.1_postcss@8.3.9_webpack@5.75.0/node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-32.use[2]!./node_modules/.pnpm/less-loader@7.3.0_less@4.1.1_webpack@5.75.0/node_modules/less-loader/dist/cjs.js??clonedRuleSet-32.use[3]!./node_modules/.pnpm/vue-loader@17.1.0_@vue+compiler-sfc@3.2.47_vue@3.3.1_webpack@5.75.0/node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/views/HomePage/ManageStatistics/components/ContractStatistics.vue?vue&type=style&index=0&id=7cb2fcbc&lang=less&scoped=true
// extracted by mini-css-extract-plugin

;// CONCATENATED MODULE: ./src/views/HomePage/ManageStatistics/components/ContractStatistics.vue?vue&type=style&index=0&id=7cb2fcbc&lang=less&scoped=true

;// CONCATENATED MODULE: ./src/views/HomePage/ManageStatistics/components/ContractStatistics.vue



;


const ContractStatistics_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(ContractStatisticsvue_type_script_setup_true_lang_ts, [['__scopeId',"data-v-7cb2fcbc"]])

/* harmony default export */ const ContractStatistics = (ContractStatistics_exports_);
;// CONCATENATED MODULE: ./node_modules/.pnpm/thread-loader@3.0.4_webpack@5.75.0/node_modules/thread-loader/dist/cjs.js!./node_modules/.pnpm/babel-loader@8.4.1_@babel+core@7.26.0_webpack@5.75.0/node_modules/babel-loader/lib/index.js!./node_modules/.pnpm/ts-loader@9.5.1_typescript@5.6.2_webpack@5.75.0/node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!./node_modules/.pnpm/vue-loader@17.1.0_@vue+compiler-sfc@3.2.47_vue@3.3.1_webpack@5.75.0/node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/views/HomePage/ManageStatistics/components/PercentageBar.vue?vue&type=script&setup=true&lang=ts


var PercentageBarvue_type_script_setup_true_lang_ts_withScopeId = function _withScopeId(n) {
  return _pushScopeId("data-v-67b14d48"), n = n(), _popScopeId(), n;
};
var PercentageBarvue_type_script_setup_true_lang_ts_hoisted_1 = {
  "class": "wrap"
};
var PercentageBarvue_type_script_setup_true_lang_ts_hoisted_2 = {
  "class": "introText"
};
var PercentageBarvue_type_script_setup_true_lang_ts_hoisted_3 = {
  "class": "txt"
};
var PercentageBarvue_type_script_setup_true_lang_ts_hoisted_4 = {
  "class": "num"
};
/* harmony default export */ const PercentageBarvue_type_script_setup_true_lang_ts = (/*#__PURE__*/(0,runtime_core_esm_bundler/* defineComponent */.aZ)({
  __name: 'PercentageBar',
  props: {
    title: {
      "default": '300万元以上'
    },
    num: {
      "default": '100(个)'
    },
    percentage: {
      "default": '20'
    },
    strokeColor: {
      "default": '#00a8ff'
    }
  },
  setup: function setup(__props) {
    return function (_ctx, _cache) {
      var _component_a_progress = (0,runtime_core_esm_bundler/* resolveComponent */.up)("a-progress");
      return (0,runtime_core_esm_bundler/* openBlock */.wg)(), (0,runtime_core_esm_bundler/* createElementBlock */.iD)("div", PercentageBarvue_type_script_setup_true_lang_ts_hoisted_1, [(0,runtime_core_esm_bundler/* createElementVNode */._)("div", PercentageBarvue_type_script_setup_true_lang_ts_hoisted_2, [(0,runtime_core_esm_bundler/* createElementVNode */._)("div", PercentageBarvue_type_script_setup_true_lang_ts_hoisted_3, (0,shared_esm_bundler/* toDisplayString */.zw)(_ctx.title), 1), (0,runtime_core_esm_bundler/* createElementVNode */._)("div", PercentageBarvue_type_script_setup_true_lang_ts_hoisted_4, [(0,runtime_core_esm_bundler/* createElementVNode */._)("span", null, (0,shared_esm_bundler/* toDisplayString */.zw)(_ctx.num), 1), (0,runtime_core_esm_bundler/* createElementVNode */._)("em", null, (0,shared_esm_bundler/* toDisplayString */.zw)(_ctx.percentage) + "%", 1)])]), (0,runtime_core_esm_bundler/* createVNode */.Wm)(_component_a_progress, {
        showInfo: false,
        strokeWidth: 3,
        percent: _ctx.percentage,
        strokeColor: _ctx.strokeColor
      }, null, 8, ["percent", "strokeColor"])]);
    };
  }
}));
;// CONCATENATED MODULE: ./src/views/HomePage/ManageStatistics/components/PercentageBar.vue?vue&type=script&setup=true&lang=ts
 
;// CONCATENATED MODULE: ./node_modules/.pnpm/mini-css-extract-plugin@2.9.2_webpack@5.75.0/node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-32.use[0]!./node_modules/.pnpm/css-loader@6.7.1_webpack@5.75.0/node_modules/css-loader/dist/cjs.js??clonedRuleSet-32.use[1]!./node_modules/.pnpm/vue-loader@17.1.0_@vue+compiler-sfc@3.2.47_vue@3.3.1_webpack@5.75.0/node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/.pnpm/postcss-loader@6.2.1_postcss@8.3.9_webpack@5.75.0/node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-32.use[2]!./node_modules/.pnpm/less-loader@7.3.0_less@4.1.1_webpack@5.75.0/node_modules/less-loader/dist/cjs.js??clonedRuleSet-32.use[3]!./node_modules/.pnpm/vue-loader@17.1.0_@vue+compiler-sfc@3.2.47_vue@3.3.1_webpack@5.75.0/node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/views/HomePage/ManageStatistics/components/PercentageBar.vue?vue&type=style&index=0&id=67b14d48&scoped=true&lang=less
// extracted by mini-css-extract-plugin

;// CONCATENATED MODULE: ./src/views/HomePage/ManageStatistics/components/PercentageBar.vue?vue&type=style&index=0&id=67b14d48&scoped=true&lang=less

;// CONCATENATED MODULE: ./src/views/HomePage/ManageStatistics/components/PercentageBar.vue



;


const PercentageBar_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(PercentageBarvue_type_script_setup_true_lang_ts, [['__scopeId',"data-v-67b14d48"]])

/* harmony default export */ const PercentageBar = (PercentageBar_exports_);
;// CONCATENATED MODULE: ./node_modules/.pnpm/thread-loader@3.0.4_webpack@5.75.0/node_modules/thread-loader/dist/cjs.js!./node_modules/.pnpm/babel-loader@8.4.1_@babel+core@7.26.0_webpack@5.75.0/node_modules/babel-loader/lib/index.js!./node_modules/.pnpm/ts-loader@9.5.1_typescript@5.6.2_webpack@5.75.0/node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!./node_modules/.pnpm/vue-loader@17.1.0_@vue+compiler-sfc@3.2.47_vue@3.3.1_webpack@5.75.0/node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/views/HomePage/ManageStatistics/ProjectStatistics.vue?vue&type=script&setup=true&lang=ts


var ProjectStatisticsvue_type_script_setup_true_lang_ts_withScopeId = function _withScopeId(n) {
  return _pushScopeId("data-v-43f2530f"), n = n(), _popScopeId(), n;
};
var ProjectStatisticsvue_type_script_setup_true_lang_ts_hoisted_1 = {
  "class": "program"
};
var ProjectStatisticsvue_type_script_setup_true_lang_ts_hoisted_2 = {
  "class": "top-div"
};
var ProjectStatisticsvue_type_script_setup_true_lang_ts_hoisted_3 = {
  "class": "bot-dev"
};


/* harmony default export */ const ProjectStatisticsvue_type_script_setup_true_lang_ts = (/*#__PURE__*/(0,runtime_core_esm_bundler/* defineComponent */.aZ)({
  __name: 'ProjectStatistics',
  setup: function setup(__props) {
    var projectList = [{
      title: '300万元以上',
      num: '100(个)',
      percentage: '20',
      strokeColor: '#00a8ff'
    }, {
      title: '200-300万元',
      num: '280(个)',
      percentage: '50',
      strokeColor: '#003acf'
    }, {
      title: '100-200万元',
      num: '120(个)',
      percentage: '25',
      strokeColor: '#003acf'
    }, {
      title: '100万元以下',
      num: '19(个)',
      percentage: '5',
      strokeColor: '#00a8ff'
    }];
    return function (_ctx, _cache) {
      return (0,runtime_core_esm_bundler/* openBlock */.wg)(), (0,runtime_core_esm_bundler/* createElementBlock */.iD)("div", ProjectStatisticsvue_type_script_setup_true_lang_ts_hoisted_1, [(0,runtime_core_esm_bundler/* createElementVNode */._)("div", ProjectStatisticsvue_type_script_setup_true_lang_ts_hoisted_2, [(0,runtime_core_esm_bundler/* createVNode */.Wm)(ContractStatistics, {
        "class": "top-dev-bg",
        title: "项目数量",
        "trend-text": "往年趋势",
        value: "519",
        unit: "(个)",
        introText: "项目总数",
        "is-trend": false,
        onShowTrendChart: _cache[0] || (_cache[0] = function ($event) {
          return _ctx.$emit('showTrendChart');
        })
      })]), (0,runtime_core_esm_bundler/* createElementVNode */._)("div", ProjectStatisticsvue_type_script_setup_true_lang_ts_hoisted_3, [((0,runtime_core_esm_bundler/* openBlock */.wg)(), (0,runtime_core_esm_bundler/* createElementBlock */.iD)(runtime_core_esm_bundler/* Fragment */.HY, null, (0,runtime_core_esm_bundler/* renderList */.Ko)(projectList, function (item, index) {
        return (0,runtime_core_esm_bundler/* createVNode */.Wm)(PercentageBar, {
          key: index,
          title: item.title,
          num: item.num,
          percentage: item.percentage,
          "stroke-color": item.strokeColor,
          "class": "bot-dev-item"
        }, null, 8, ["title", "num", "percentage", "stroke-color"]);
      }), 64))])]);
    };
  }
}));
;// CONCATENATED MODULE: ./src/views/HomePage/ManageStatistics/ProjectStatistics.vue?vue&type=script&setup=true&lang=ts
 
;// CONCATENATED MODULE: ./node_modules/.pnpm/mini-css-extract-plugin@2.9.2_webpack@5.75.0/node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-32.use[0]!./node_modules/.pnpm/css-loader@6.7.1_webpack@5.75.0/node_modules/css-loader/dist/cjs.js??clonedRuleSet-32.use[1]!./node_modules/.pnpm/vue-loader@17.1.0_@vue+compiler-sfc@3.2.47_vue@3.3.1_webpack@5.75.0/node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/.pnpm/postcss-loader@6.2.1_postcss@8.3.9_webpack@5.75.0/node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-32.use[2]!./node_modules/.pnpm/less-loader@7.3.0_less@4.1.1_webpack@5.75.0/node_modules/less-loader/dist/cjs.js??clonedRuleSet-32.use[3]!./node_modules/.pnpm/vue-loader@17.1.0_@vue+compiler-sfc@3.2.47_vue@3.3.1_webpack@5.75.0/node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/views/HomePage/ManageStatistics/ProjectStatistics.vue?vue&type=style&index=0&id=43f2530f&scoped=true&lang=less
// extracted by mini-css-extract-plugin

;// CONCATENATED MODULE: ./src/views/HomePage/ManageStatistics/ProjectStatistics.vue?vue&type=style&index=0&id=43f2530f&scoped=true&lang=less

;// CONCATENATED MODULE: ./src/views/HomePage/ManageStatistics/ProjectStatistics.vue



;


const ProjectStatistics_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(ProjectStatisticsvue_type_script_setup_true_lang_ts, [['__scopeId',"data-v-43f2530f"]])

/* harmony default export */ const ProjectStatistics = (ProjectStatistics_exports_);
// EXTERNAL MODULE: external "echarts"
var external_echarts_ = __webpack_require__(99428);
;// CONCATENATED MODULE: ./node_modules/.pnpm/thread-loader@3.0.4_webpack@5.75.0/node_modules/thread-loader/dist/cjs.js!./node_modules/.pnpm/babel-loader@8.4.1_@babel+core@7.26.0_webpack@5.75.0/node_modules/babel-loader/lib/index.js!./node_modules/.pnpm/ts-loader@9.5.1_typescript@5.6.2_webpack@5.75.0/node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!./node_modules/.pnpm/vue-loader@17.1.0_@vue+compiler-sfc@3.2.47_vue@3.3.1_webpack@5.75.0/node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/views/HomePage/ManageStatistics/components/LineChart.vue?vue&type=script&lang=ts&setup=true
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }




/* harmony default export */ const LineChartvue_type_script_lang_ts_setup_true = (/*#__PURE__*/(0,runtime_core_esm_bundler/* defineComponent */.aZ)({
  __name: 'LineChart',
  props: {
    tooltip: {
      type: Object
    },
    xAxisData: {
      type: Array,
      "default": function _default() {
        return ['2018', '2019', '2020', '2021', '2022', '2023', '2024'];
      },
      required: true
    },
    seriesData: {
      type: Array,
      "default": function _default() {
        return [3000, 5000, 4638.5495, 4100, 5500, 4600, 3800];
      },
      required: true
    }
  },
  setup: function setup(__props) {
    var props = __props;
    var chart = (0,reactivity_esm_bundler/* ref */.iH)(null);
    var initChart = function initChart() {
      if (chart.value) {
        var myChart = external_echarts_.init(chart.value);
        var option = {
          tooltip: _objectSpread({
            trigger: 'axis',
            formatter: '{b}年收入类合同金额</br> {c}万元',
            padding: [5, 10],
            axisPointer: {
              type: 'line',
              label: {
                backgroundColor: '#6a7985'
              }
            },
            confirm: true,
            order: 'valueDesc',
            backgroundColor: 'rgba(50,50,50,0.7)',
            textStyle: {
              color: 'rgba(255, 255, 255, 1)'
            }
          }, props.tooltip),
          grid: {
            top: '18%',
            right: '5%',
            bottom: '8%',
            left: '5%',
            containLabel: true
          },
          xAxis: [{
            type: 'category',
            data: props.xAxisData,
            splitLine: {
              show: false,
              lineStyle: {
                color: '#e6e6e6'
              }
            },
            axisTick: {
              show: false
            },
            axisLabel: {
              textStyle: {
                color: '#64667b',
                fontSize: 18
              },
              lineStyle: {
                color: '#519cff'
              },
              alignWithLabel: true,
              interval: 0
            }
          }],
          yAxis: [{
            type: 'value',
            name: '',
            nameTextStyle: {
              color: '#333'
            },
            interval: 2000,
            max: 8000,
            min: 0,
            splitLine: {
              show: true,
              lineStyle: {
                color: '#23303f'
              }
            },
            axisLine: {
              show: false,
              lineStyle: {
                color: '#115372'
              }
            },
            axisTick: {
              show: false
            },
            axisLabel: {
              textStyle: {
                color: '#64667b',
                fontSize: 18
              },
              alignWithLabel: true,
              interval: 0
            }
          }, {
            min: 0,
            max: 8000,
            interval: 2000,
            type: 'value',
            name: '',
            nameTextStyle: {
              color: '#333'
            },
            splitLine: {
              show: true,
              lineStyle: {
                color: '#e6e6e6'
              }
            },
            axisLine: {
              show: false,
              lineStyle: {
                color: '#115372'
              }
            },
            axisTick: {
              show: false
            },
            axisLabel: {
              textStyle: {
                color: '#64667b',
                fontSize: 18
              },
              alignWithLabel: true,
              interval: 0
            }
          }],
          color: '#2759cd',
          series: [{
            name: '收入类合同金额',
            type: 'line',
            yAxisIndex: 1,
            lineStyle: {
              normal: {
                color: '#2759cd'
              }
            },
            data: props.seriesData
          }]
        };
        myChart.setOption(option);
      }
    };
    (0,runtime_core_esm_bundler/* onMounted */.bv)(function () {
      (0,runtime_core_esm_bundler/* nextTick */.Y3)(function () {
        initChart();
      });
    });
    return function (_ctx, _cache) {
      return (0,runtime_core_esm_bundler/* openBlock */.wg)(), (0,runtime_core_esm_bundler/* createElementBlock */.iD)("div", {
        ref_key: "chart",
        ref: chart,
        style: {
          "width": "100%",
          "height": "400px"
        }
      }, null, 512);
    };
  }
}));
;// CONCATENATED MODULE: ./src/views/HomePage/ManageStatistics/components/LineChart.vue?vue&type=script&lang=ts&setup=true
 
;// CONCATENATED MODULE: ./src/views/HomePage/ManageStatistics/components/LineChart.vue



const LineChart_exports_ = LineChartvue_type_script_lang_ts_setup_true;

/* harmony default export */ const LineChart = (LineChart_exports_);
;// CONCATENATED MODULE: ./node_modules/.pnpm/thread-loader@3.0.4_webpack@5.75.0/node_modules/thread-loader/dist/cjs.js!./node_modules/.pnpm/babel-loader@8.4.1_@babel+core@7.26.0_webpack@5.75.0/node_modules/babel-loader/lib/index.js!./node_modules/.pnpm/ts-loader@9.5.1_typescript@5.6.2_webpack@5.75.0/node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!./node_modules/.pnpm/vue-loader@17.1.0_@vue+compiler-sfc@3.2.47_vue@3.3.1_webpack@5.75.0/node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/ModelWrap/index.vue?vue&type=script&setup=true&lang=ts



/* harmony default export */ const ModelWrapvue_type_script_setup_true_lang_ts = (/*#__PURE__*/(0,runtime_core_esm_bundler/* defineComponent */.aZ)({
  __name: 'index',
  props: {
    title: {
      type: String,
      "default": ''
    },
    footer: {
      type: Boolean,
      "default": false
    },
    width: {
      type: String,
      "default": '816px'
    },
    showHeader: {
      type: Boolean,
      "default": true
    }
  },
  setup: function setup(__props, _ref) {
    var __expose = _ref.expose;
    var clsForSearchModalRefEle = (0,reactivity_esm_bundler/* ref */.iH)(null);
    function getClsForSearchModalRefEle() {
      return clsForSearchModalRefEle.value;
    }
    var open = (0,reactivity_esm_bundler/* ref */.iH)(false);
    var handleOk = function handleOk() {
      open.value = false;
    };
    function showModel() {
      open.value = true;
    }
    function hideModel() {
      open.value = false;
    }
    __expose({
      showModel: showModel,
      hideModel: hideModel
    });
    return function (_ctx, _cache) {
      var _component_a_modal = (0,runtime_core_esm_bundler/* resolveComponent */.up)("a-modal");
      return (0,runtime_core_esm_bundler/* openBlock */.wg)(), (0,runtime_core_esm_bundler/* createElementBlock */.iD)("div", {
        ref_key: "clsForSearchModalRefEle",
        ref: clsForSearchModalRefEle
      }, [(0,runtime_core_esm_bundler/* createVNode */.Wm)(_component_a_modal, {
        open: open.value,
        "onUpdate:open": _cache[0] || (_cache[0] = function ($event) {
          return open.value = $event;
        }),
        title: __props.title,
        onOk: handleOk,
        footer: __props.footer,
        width: __props.width,
        closable: false,
        getContainer: getClsForSearchModalRefEle,
        wrapClassName: __props.showHeader ? '' : 'model-wrap',
        destroyOnClose: ""
      }, {
        "default": (0,runtime_core_esm_bundler/* withCtx */.w5)(function () {
          return [(0,runtime_core_esm_bundler/* renderSlot */.WI)(_ctx.$slots, "default")];
        }),
        _: 3
      }, 8, ["open", "title", "footer", "width", "wrapClassName"])], 512);
    };
  }
}));
;// CONCATENATED MODULE: ./src/components/ModelWrap/index.vue?vue&type=script&setup=true&lang=ts
 
;// CONCATENATED MODULE: ./node_modules/.pnpm/mini-css-extract-plugin@2.9.2_webpack@5.75.0/node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-32.use[0]!./node_modules/.pnpm/css-loader@6.7.1_webpack@5.75.0/node_modules/css-loader/dist/cjs.js??clonedRuleSet-32.use[1]!./node_modules/.pnpm/vue-loader@17.1.0_@vue+compiler-sfc@3.2.47_vue@3.3.1_webpack@5.75.0/node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/.pnpm/postcss-loader@6.2.1_postcss@8.3.9_webpack@5.75.0/node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-32.use[2]!./node_modules/.pnpm/less-loader@7.3.0_less@4.1.1_webpack@5.75.0/node_modules/less-loader/dist/cjs.js??clonedRuleSet-32.use[3]!./node_modules/.pnpm/vue-loader@17.1.0_@vue+compiler-sfc@3.2.47_vue@3.3.1_webpack@5.75.0/node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/ModelWrap/index.vue?vue&type=style&index=0&id=0686cf0e&scoped=true&lang=less
// extracted by mini-css-extract-plugin

;// CONCATENATED MODULE: ./src/components/ModelWrap/index.vue?vue&type=style&index=0&id=0686cf0e&scoped=true&lang=less

;// CONCATENATED MODULE: ./src/components/ModelWrap/index.vue



;


const ModelWrap_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(ModelWrapvue_type_script_setup_true_lang_ts, [['__scopeId',"data-v-0686cf0e"]])

/* harmony default export */ const ModelWrap = (ModelWrap_exports_);
;// CONCATENATED MODULE: ./node_modules/.pnpm/thread-loader@3.0.4_webpack@5.75.0/node_modules/thread-loader/dist/cjs.js!./node_modules/.pnpm/babel-loader@8.4.1_@babel+core@7.26.0_webpack@5.75.0/node_modules/babel-loader/lib/index.js!./node_modules/.pnpm/ts-loader@9.5.1_typescript@5.6.2_webpack@5.75.0/node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!./node_modules/.pnpm/vue-loader@17.1.0_@vue+compiler-sfc@3.2.47_vue@3.3.1_webpack@5.75.0/node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/views/HomePage/ManageStatistics/index.vue?vue&type=script&setup=true&lang=ts


var ManageStatisticsvue_type_script_setup_true_lang_ts_withScopeId = function _withScopeId(n) {
  return _pushScopeId("data-v-b62620e6"), n = n(), _popScopeId(), n;
};
var ManageStatisticsvue_type_script_setup_true_lang_ts_hoisted_1 = {
  "class": "flex flex-col"
};
var ManageStatisticsvue_type_script_setup_true_lang_ts_hoisted_2 = {
  "class": "flex items-center justify-between mb-[0.5rem]"
};
var ManageStatisticsvue_type_script_setup_true_lang_ts_hoisted_3 = {
  "class": "flex items-center pt-[0.04rem]"
};
var ManageStatisticsvue_type_script_setup_true_lang_ts_hoisted_4 = {
  "class": "flex gap-[0.2rem]"
};
var ManageStatisticsvue_type_script_setup_true_lang_ts_hoisted_5 = {
  "class": "flex-1 flex flex-col gap-[0.2rem]"
};
var ManageStatisticsvue_type_script_setup_true_lang_ts_hoisted_6 = {
  "class": "flex-1 flex flex-col"
};
var ManageStatisticsvue_type_script_setup_true_lang_ts_hoisted_7 = {
  "class": "flex flex-col"
};
var ManageStatisticsvue_type_script_setup_true_lang_ts_hoisted_8 = {
  "class": "flex items-center justify-between"
};
var ManageStatisticsvue_type_script_setup_true_lang_ts_hoisted_9 = {
  "class": "text-[0.24rem] font-bold"
};







/* harmony default export */ const ManageStatisticsvue_type_script_setup_true_lang_ts = (/*#__PURE__*/(0,runtime_core_esm_bundler/* defineComponent */.aZ)({
  __name: 'index',
  setup: function setup(__props) {
    var modelWrapRef = (0,reactivity_esm_bundler/* ref */.iH)();
    var modelTitle = (0,reactivity_esm_bundler/* ref */.iH)('');
    var xAxisData = (0,reactivity_esm_bundler/* ref */.iH)([]);
    var seriesData = (0,reactivity_esm_bundler/* ref */.iH)([]);
    var tooltip = (0,reactivity_esm_bundler/* ref */.iH)({});
    var showModal = function showModal(title) {
      modelTitle.value = title;
      modelWrapRef.value.showModel();
      // 获取数据
      if (title === '收入类合同金额') {
        xAxisData.value = ['2018', '2019', '2020', '2021', '2022', '2023', '2024'];
        seriesData.value = [3000, 5000, 4638.5495, 4100, 5500, 4600, 3800];
        tooltip.value = {
          formatter: '{b}年收入类合同金额</br> {c}万元'
        };
      } else if (title === '支出类合同金额') {
        xAxisData.value = ['2017', '2018', '2019', '2020', '2021', '2022', '2023', '2024'];
        seriesData.value = [3000, 5000, 4638.5495, 4100, 5500, 4600, 3800, 3000];
        tooltip.value = {
          formatter: '{b}年支出类合同金额</br> {c}万元'
        };
      } else if (title === '项目数量往年趋势') {
        xAxisData.value = ['2018', '2019', '2020', '2021', '2022', '2023', '2024'];
        seriesData.value = [80, 155, 463, 410, 500, 600, 700];
        tooltip.value = {
          formatter: '{b}年项目数量</br> {c}个'
        };
      }
    };
    return function (_ctx, _cache) {
      var _component_svgIcon = (0,runtime_core_esm_bundler/* resolveComponent */.up)("svgIcon");
      return (0,runtime_core_esm_bundler/* openBlock */.wg)(), (0,runtime_core_esm_bundler/* createElementBlock */.iD)("div", ManageStatisticsvue_type_script_setup_true_lang_ts_hoisted_1, [(0,runtime_core_esm_bundler/* createElementVNode */._)("div", ManageStatisticsvue_type_script_setup_true_lang_ts_hoisted_2, [(0,runtime_core_esm_bundler/* createVNode */.Wm)(PersonalGreeting), (0,runtime_core_esm_bundler/* createElementVNode */._)("div", ManageStatisticsvue_type_script_setup_true_lang_ts_hoisted_3, [(0,runtime_core_esm_bundler/* createVNode */.Wm)(GenericDropdown, {
        "class": "ml-[0.24rem]",
        icon: "nimg19_1",
        list: ['全院', '张院', '李院']
      }), (0,runtime_core_esm_bundler/* createVNode */.Wm)(GenericDropdown, {
        "class": "ml-[0.24rem]",
        icon: "nimg19_2",
        list: ['2024年', '2023年', '2022年']
      })])]), (0,runtime_core_esm_bundler/* createElementVNode */._)("div", ManageStatisticsvue_type_script_setup_true_lang_ts_hoisted_4, [(0,runtime_core_esm_bundler/* createElementVNode */._)("div", ManageStatisticsvue_type_script_setup_true_lang_ts_hoisted_5, [(0,runtime_core_esm_bundler/* createVNode */.Wm)(ContractStatistics, {
        "class": "flex-1",
        title: "收入类合同金额",
        "trend-text": "往年趋势",
        value: "1.8521",
        unit: "(亿元)",
        introText: "2024年比较上一年",
        percentage: "20.5%",
        "is-up": "",
        onShowTrendChart: _cache[0] || (_cache[0] = function ($event) {
          return showModal('收入类合同金额');
        })
      }), (0,runtime_core_esm_bundler/* createVNode */.Wm)(ContractStatistics, {
        "class": "flex-1",
        title: "支出类合同金额",
        "trend-text": "往年趋势",
        value: "2168.55",
        unit: "(万元)",
        introText: "2024年比较上一年",
        percentage: "10.3%",
        "is-up": false,
        onShowTrendChart: _cache[1] || (_cache[1] = function ($event) {
          return showModal('支出类合同金额');
        })
      })]), (0,runtime_core_esm_bundler/* createElementVNode */._)("div", ManageStatisticsvue_type_script_setup_true_lang_ts_hoisted_6, [(0,runtime_core_esm_bundler/* createVNode */.Wm)(ProjectStatistics, {
        "class": "flex-1",
        onShowTrendChart: _cache[2] || (_cache[2] = function ($event) {
          return showModal('项目数量往年趋势');
        })
      })])]), (0,runtime_core_esm_bundler/* createVNode */.Wm)(ModelWrap, {
        footer: false,
        ref_key: "modelWrapRef",
        ref: modelWrapRef,
        showHeader: false
      }, {
        "default": (0,runtime_core_esm_bundler/* withCtx */.w5)(function () {
          return [(0,runtime_core_esm_bundler/* createElementVNode */._)("div", ManageStatisticsvue_type_script_setup_true_lang_ts_hoisted_7, [(0,runtime_core_esm_bundler/* createElementVNode */._)("div", ManageStatisticsvue_type_script_setup_true_lang_ts_hoisted_8, [(0,runtime_core_esm_bundler/* createElementVNode */._)("div", ManageStatisticsvue_type_script_setup_true_lang_ts_hoisted_9, (0,shared_esm_bundler/* toDisplayString */.zw)(modelTitle.value), 1), (0,runtime_core_esm_bundler/* createVNode */.Wm)(_component_svgIcon, {
            name: "close",
            "class": "close-icon",
            size: "19",
            onClick: _cache[3] || (_cache[3] = function ($event) {
              return modelWrapRef.value.hideModel();
            })
          })]), (0,runtime_core_esm_bundler/* createVNode */.Wm)(LineChart, {
            xAxisData: xAxisData.value,
            seriesData: seriesData.value,
            tooltip: tooltip.value
          }, null, 8, ["xAxisData", "seriesData", "tooltip"])])];
        }),
        _: 1
      }, 512)]);
    };
  }
}));
;// CONCATENATED MODULE: ./src/views/HomePage/ManageStatistics/index.vue?vue&type=script&setup=true&lang=ts
 
;// CONCATENATED MODULE: ./node_modules/.pnpm/mini-css-extract-plugin@2.9.2_webpack@5.75.0/node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-32.use[0]!./node_modules/.pnpm/css-loader@6.7.1_webpack@5.75.0/node_modules/css-loader/dist/cjs.js??clonedRuleSet-32.use[1]!./node_modules/.pnpm/vue-loader@17.1.0_@vue+compiler-sfc@3.2.47_vue@3.3.1_webpack@5.75.0/node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/.pnpm/postcss-loader@6.2.1_postcss@8.3.9_webpack@5.75.0/node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-32.use[2]!./node_modules/.pnpm/less-loader@7.3.0_less@4.1.1_webpack@5.75.0/node_modules/less-loader/dist/cjs.js??clonedRuleSet-32.use[3]!./node_modules/.pnpm/vue-loader@17.1.0_@vue+compiler-sfc@3.2.47_vue@3.3.1_webpack@5.75.0/node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/views/HomePage/ManageStatistics/index.vue?vue&type=style&index=0&id=b62620e6&lang=less&scoped=true
// extracted by mini-css-extract-plugin

;// CONCATENATED MODULE: ./src/views/HomePage/ManageStatistics/index.vue?vue&type=style&index=0&id=b62620e6&lang=less&scoped=true

;// CONCATENATED MODULE: ./src/views/HomePage/ManageStatistics/index.vue



;


const ManageStatistics_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(ManageStatisticsvue_type_script_setup_true_lang_ts, [['__scopeId',"data-v-b62620e6"]])

/* harmony default export */ const ManageStatistics = (ManageStatistics_exports_);
// EXTERNAL MODULE: ./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/get.js
var get = __webpack_require__(54029);
;// CONCATENATED MODULE: ./node_modules/.pnpm/thread-loader@3.0.4_webpack@5.75.0/node_modules/thread-loader/dist/cjs.js!./node_modules/.pnpm/babel-loader@8.4.1_@babel+core@7.26.0_webpack@5.75.0/node_modules/babel-loader/lib/index.js!./node_modules/.pnpm/ts-loader@9.5.1_typescript@5.6.2_webpack@5.75.0/node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!./node_modules/.pnpm/vue-loader@17.1.0_@vue+compiler-sfc@3.2.47_vue@3.3.1_webpack@5.75.0/node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/views/HomePage/ManageTracking/ProjectList.vue?vue&type=script&lang=ts&setup=true


var ProjectListvue_type_script_lang_ts_setup_true_withScopeId = function _withScopeId(n) {
  return _pushScopeId("data-v-381bcdcc"), n = n(), _popScopeId(), n;
};
var ProjectListvue_type_script_lang_ts_setup_true_hoisted_1 = {
  "class": "wrap"
};

/* harmony default export */ const ProjectListvue_type_script_lang_ts_setup_true = (/*#__PURE__*/(0,runtime_core_esm_bundler/* defineComponent */.aZ)({
  __name: 'ProjectList',
  setup: function setup(__props) {
    var columns = [{
      title: '项目名称',
      dataIndex: 'projectName',
      width: '40%'
    }, {
      title: '任务进度',
      dataIndex: 'taskProgress',
      width: '15%'
    }, {
      title: '负责人',
      dataIndex: 'responsiblePerson',
      width: '10%'
    }, {
      title: '项目成果',
      dataIndex: 'projectResults',
      width: '11.5%'
    }, {
      title: '项目金额',
      dataIndex: 'projectAmountFt',
      sorter: function sorter(a, b) {
        return a.projectAmount - b.projectAmount;
      },
      width: '13%'
    }, {
      title: '操作',
      customRender: function customRender() {
        return '收藏';
      },
      width: '8.5%'
    }];
    // 定义随机数据生成函数
    function generateRandomData() {
      var projectName = "2023\u5E74\u793E\u533A\u836F\u54C1\u5B89\u5168\u670D\u52A1\u7F51\u7EFC\u5408\u670D\u52A1\u9879\u76EE\u836F\u54C1\u6D41\u901A\u548C\u96F6\u552E\u73AF\u8282\u98CE\u9669\u7814\u7A76\u670D\u52A1\u59D4\u6258\u5408\u540C".concat(Math.floor(Math.random() * 100));
      var taskProgress = ['正常推进', '已完成', '项目滞后', '未完成'][Math.floor(Math.random() * 4)];
      var responsiblePerson = ['吴序一', '陈启惠', '廖增陆', '余兴'][Math.floor(Math.random() * 4)];
      var projectResults = Math.floor(Math.random() * 100);
      var projectAmount = Math.floor(Math.random() * 10000000);
      var projectAmountFt = projectAmount.toLocaleString();
      return {
        projectName: projectName,
        taskProgress: taskProgress,
        responsiblePerson: responsiblePerson,
        projectResults: "".concat(projectResults, "\u4E2A"),
        projectAmount: projectAmount,
        projectAmountFt: projectAmountFt
      };
    }
    // 生成42条随机数据
    var list = (0,reactivity_esm_bundler/* reactive */.qj)([]);
    for (var i = 0; i < 42; i++) {
      list.push(generateRandomData());
    }
    var selectedRowKeys = (0,reactivity_esm_bundler/* ref */.iH)([]);
    var onSelectChange = function onSelectChange(changableRowKeys) {
      console.log('selectedRowKeys changed: ', changableRowKeys);
      selectedRowKeys.value = changableRowKeys;
    };
    var rowSelection = (0,runtime_core_esm_bundler/* computed */.Fl)(function () {
      return {
        selectedRowKeys: (0,reactivity_esm_bundler/* unref */.SU)(selectedRowKeys),
        onChange: onSelectChange
      };
    });
    return function (_ctx, _cache) {
      var _component_a_table = (0,runtime_core_esm_bundler/* resolveComponent */.up)("a-table");
      return (0,runtime_core_esm_bundler/* openBlock */.wg)(), (0,runtime_core_esm_bundler/* createElementBlock */.iD)("div", ProjectListvue_type_script_lang_ts_setup_true_hoisted_1, [(0,runtime_core_esm_bundler/* createVNode */.Wm)(_component_a_table, {
        "row-selection": rowSelection.value,
        columns: columns,
        "data-source": list,
        pagination: {
          pageSize: 10,
          position: ['bottomCenter'],
          showSizeChanger: true,
          showTotal: function showTotal(total) {
            return "\u5171 ".concat(total, " \u6761");
          }
        }
      }, null, 8, ["row-selection", "data-source", "pagination"])]);
    };
  }
}));
;// CONCATENATED MODULE: ./src/views/HomePage/ManageTracking/ProjectList.vue?vue&type=script&lang=ts&setup=true
 
;// CONCATENATED MODULE: ./node_modules/.pnpm/mini-css-extract-plugin@2.9.2_webpack@5.75.0/node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-32.use[0]!./node_modules/.pnpm/css-loader@6.7.1_webpack@5.75.0/node_modules/css-loader/dist/cjs.js??clonedRuleSet-32.use[1]!./node_modules/.pnpm/vue-loader@17.1.0_@vue+compiler-sfc@3.2.47_vue@3.3.1_webpack@5.75.0/node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/.pnpm/postcss-loader@6.2.1_postcss@8.3.9_webpack@5.75.0/node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-32.use[2]!./node_modules/.pnpm/less-loader@7.3.0_less@4.1.1_webpack@5.75.0/node_modules/less-loader/dist/cjs.js??clonedRuleSet-32.use[3]!./node_modules/.pnpm/vue-loader@17.1.0_@vue+compiler-sfc@3.2.47_vue@3.3.1_webpack@5.75.0/node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/views/HomePage/ManageTracking/ProjectList.vue?vue&type=style&index=0&id=381bcdcc&lang=less&scoped=true
// extracted by mini-css-extract-plugin

;// CONCATENATED MODULE: ./src/views/HomePage/ManageTracking/ProjectList.vue?vue&type=style&index=0&id=381bcdcc&lang=less&scoped=true

;// CONCATENATED MODULE: ./src/views/HomePage/ManageTracking/ProjectList.vue



;


const ProjectList_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(ProjectListvue_type_script_lang_ts_setup_true, [['__scopeId',"data-v-381bcdcc"]])

/* harmony default export */ const ProjectList = (ProjectList_exports_);
// EXTERNAL MODULE: ./node_modules/.pnpm/vue-router@4.0.8_vue@3.3.1/node_modules/vue-router/dist/vue-router.esm-bundler.js
var vue_router_esm_bundler = __webpack_require__(3689);
;// CONCATENATED MODULE: ./node_modules/.pnpm/thread-loader@3.0.4_webpack@5.75.0/node_modules/thread-loader/dist/cjs.js!./node_modules/.pnpm/babel-loader@8.4.1_@babel+core@7.26.0_webpack@5.75.0/node_modules/babel-loader/lib/index.js!./node_modules/.pnpm/ts-loader@9.5.1_typescript@5.6.2_webpack@5.75.0/node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!./node_modules/.pnpm/vue-loader@17.1.0_@vue+compiler-sfc@3.2.47_vue@3.3.1_webpack@5.75.0/node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/views/HomePage/ManageTracking/index.vue?vue&type=script&lang=ts&setup=true


var ManageTrackingvue_type_script_lang_ts_setup_true_withScopeId = function _withScopeId(n) {
  return _pushScopeId("data-v-20cd292a"), n = n(), _popScopeId(), n;
};
var ManageTrackingvue_type_script_lang_ts_setup_true_hoisted_1 = {
  key: 0,
  "class": "manageTable"
};
var ManageTrackingvue_type_script_lang_ts_setup_true_hoisted_2 = {
  "class": "h-[1rem]"
};
var ManageTrackingvue_type_script_lang_ts_setup_true_hoisted_3 = {
  "class": "flex h-full"
};
var ManageTrackingvue_type_script_lang_ts_setup_true_hoisted_4 = (/* unused pure expression or super */ null && (["onClick"]));
var ManageTrackingvue_type_script_lang_ts_setup_true_hoisted_5 = {
  "class": "flex items-center justify-center"
};
var ManageTrackingvue_type_script_lang_ts_setup_true_hoisted_6 = {
  "class": "text-[0.24rem]"
};





/* harmony default export */ const ManageTrackingvue_type_script_lang_ts_setup_true = (/*#__PURE__*/(0,runtime_core_esm_bundler/* defineComponent */.aZ)({
  __name: 'index',
  setup: function setup(__props) {
    var activeKey = (0,reactivity_esm_bundler/* ref */.iH)('');
    var _useRouter = (0,vue_router_esm_bundler/* useRouter */.tv)(),
      currentRoute = _useRouter.currentRoute;
    var options = {
      myCourse: {
        key: 'myCourse',
        tab: '我的课程',
        component: ProjectList,
        icon: 'calendar'
      },
      myDocument: {
        key: 'myDocument',
        tab: '我的文档',
        component: ProjectList,
        icon: 'document'
      },
      myScore: {
        key: 'myScore',
        tab: '我的评分',
        component: ProjectList,
        icon: 'myscore'
      },
      myChart: {
        key: 'myChart',
        tab: '统计查看',
        component: ProjectList,
        icon: 'chart',
        role: 100
      }
    };
    var getOptions = (0,runtime_core_esm_bundler/* computed */.Fl)(function () {
      var result = {};
      for (var key in options) {
        var option = options[key];
        var check = true;
        if (option.role) check = true;
        if (check) result[key] = option;
      }
      return result;
    });
    (0,runtime_core_esm_bundler/* onMounted */.bv)(function () {
      var _tab = (0,get/* default */.Z)(currentRoute.value, 'query.tab') || 'myCourse';
      activeClick(_tab);
    });
    function activeClick(key) {
      activeKey.value = key;
    }
    return function (_ctx, _cache) {
      var _component_svg_icon = (0,runtime_core_esm_bundler/* resolveComponent */.up)("svg-icon");
      return  false ? (0) : (0,runtime_core_esm_bundler/* createCommentVNode */.kq)("", true);
    };
  }
}));
;// CONCATENATED MODULE: ./src/views/HomePage/ManageTracking/index.vue?vue&type=script&lang=ts&setup=true
 
;// CONCATENATED MODULE: ./node_modules/.pnpm/mini-css-extract-plugin@2.9.2_webpack@5.75.0/node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-32.use[0]!./node_modules/.pnpm/css-loader@6.7.1_webpack@5.75.0/node_modules/css-loader/dist/cjs.js??clonedRuleSet-32.use[1]!./node_modules/.pnpm/vue-loader@17.1.0_@vue+compiler-sfc@3.2.47_vue@3.3.1_webpack@5.75.0/node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/.pnpm/postcss-loader@6.2.1_postcss@8.3.9_webpack@5.75.0/node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-32.use[2]!./node_modules/.pnpm/less-loader@7.3.0_less@4.1.1_webpack@5.75.0/node_modules/less-loader/dist/cjs.js??clonedRuleSet-32.use[3]!./node_modules/.pnpm/vue-loader@17.1.0_@vue+compiler-sfc@3.2.47_vue@3.3.1_webpack@5.75.0/node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/views/HomePage/ManageTracking/index.vue?vue&type=style&index=0&id=20cd292a&lang=less&scoped=true
// extracted by mini-css-extract-plugin

;// CONCATENATED MODULE: ./src/views/HomePage/ManageTracking/index.vue?vue&type=style&index=0&id=20cd292a&lang=less&scoped=true

;// CONCATENATED MODULE: ./src/views/HomePage/ManageTracking/index.vue



;


const ManageTracking_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(ManageTrackingvue_type_script_lang_ts_setup_true, [['__scopeId',"data-v-20cd292a"]])

/* harmony default export */ const ManageTracking = (ManageTracking_exports_);
;// CONCATENATED MODULE: ./node_modules/.pnpm/thread-loader@3.0.4_webpack@5.75.0/node_modules/thread-loader/dist/cjs.js!./node_modules/.pnpm/babel-loader@8.4.1_@babel+core@7.26.0_webpack@5.75.0/node_modules/babel-loader/lib/index.js!./node_modules/.pnpm/ts-loader@9.5.1_typescript@5.6.2_webpack@5.75.0/node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!./node_modules/.pnpm/vue-loader@17.1.0_@vue+compiler-sfc@3.2.47_vue@3.3.1_webpack@5.75.0/node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/views/HomePage/index.vue?vue&type=script&setup=true&lang=ts


var HomePagevue_type_script_setup_true_lang_ts_withScopeId = function _withScopeId(n) {
  return _pushScopeId("data-v-7c02f752"), n = n(), _popScopeId(), n;
};
var HomePagevue_type_script_setup_true_lang_ts_hoisted_1 = {
  "class": "bg-wrap"
};


/* harmony default export */ const HomePagevue_type_script_setup_true_lang_ts = (/*#__PURE__*/(0,runtime_core_esm_bundler/* defineComponent */.aZ)({
  __name: 'index',
  setup: function setup(__props) {
    return function (_ctx, _cache) {
      return (0,runtime_core_esm_bundler/* openBlock */.wg)(), (0,runtime_core_esm_bundler/* createElementBlock */.iD)("div", HomePagevue_type_script_setup_true_lang_ts_hoisted_1, [(0,runtime_core_esm_bundler/* createVNode */.Wm)(ManageStatistics), (0,runtime_core_esm_bundler/* createVNode */.Wm)(ManageTracking)]);
    };
  }
}));
;// CONCATENATED MODULE: ./src/views/HomePage/index.vue?vue&type=script&setup=true&lang=ts
 
;// CONCATENATED MODULE: ./node_modules/.pnpm/mini-css-extract-plugin@2.9.2_webpack@5.75.0/node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-32.use[0]!./node_modules/.pnpm/css-loader@6.7.1_webpack@5.75.0/node_modules/css-loader/dist/cjs.js??clonedRuleSet-32.use[1]!./node_modules/.pnpm/vue-loader@17.1.0_@vue+compiler-sfc@3.2.47_vue@3.3.1_webpack@5.75.0/node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/.pnpm/postcss-loader@6.2.1_postcss@8.3.9_webpack@5.75.0/node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-32.use[2]!./node_modules/.pnpm/less-loader@7.3.0_less@4.1.1_webpack@5.75.0/node_modules/less-loader/dist/cjs.js??clonedRuleSet-32.use[3]!./node_modules/.pnpm/vue-loader@17.1.0_@vue+compiler-sfc@3.2.47_vue@3.3.1_webpack@5.75.0/node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/views/HomePage/index.vue?vue&type=style&index=0&id=7c02f752&lang=less&scoped=true
// extracted by mini-css-extract-plugin

;// CONCATENATED MODULE: ./src/views/HomePage/index.vue?vue&type=style&index=0&id=7c02f752&lang=less&scoped=true

;// CONCATENATED MODULE: ./src/views/HomePage/index.vue



;


const HomePage_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(HomePagevue_type_script_setup_true_lang_ts, [['__scopeId',"data-v-7c02f752"]])

/* harmony default export */ const HomePage = (HomePage_exports_);

/***/ })

}]);