ソースを参照

Merge branch 'master' of https://git.nanodreamtech.com/Boss/yizhizan-h5

wkw 4 日 前
コミット
78ea8a1a67

+ 179 - 0
my/renzheng/companyDev.vue

@@ -0,0 +1,179 @@
+<template>
+  <view class="switch-roles">
+    <nav-bar title="选择公司规模" color="#000"></nav-bar>
+    <view class="roles-content">
+      <view class="content">
+        <view class="progress-num"> <text>2</text>/8 </view>
+        <view class="title">公司发展阶段</view>
+        <view class="desc">
+          公司融资状态是公司阶段的重要体现之一,使企业形象更加丰富和全面
+        </view>
+        <view class="check-box">
+          <view
+            class="check-item"
+            v-for="(item, index) in checkList"
+            :key="index"
+            @click="checkItem(index)"
+          >
+            <view
+              class="check-icon"
+              :class="{ 'check-icon-active': check == index }"
+            >
+            <u-icon name="checkmark" color="#fff" size="28" v-if="check == index"></u-icon>
+            </view>
+            <view class="check-txt">{{ item }}</view>
+          </view>
+        </view>
+      </view>
+    </view>
+
+    <view class="submit-btn" @click="goJobPostingSecond">下一步</view>
+  </view>
+</template>
+<script>
+import navBar from "@/components/nav-bar/index.vue";
+export default {
+  data() {
+    return {
+      checkList: [
+        "未融资",
+        "天使轮",
+        "A轮",
+        "B轮",
+        "C轮",
+        "D轮及以上",
+        "已上市",
+        "不需要融资",
+      ],
+      check: null,
+    };
+  },
+  components: {
+    navBar,
+  },
+  onLoad(options) {
+    if (options.text) {
+      this.text = options.text;
+    }
+  },
+  methods: {
+    checkItem(index) {
+      this.check = index;
+    },
+    goJobPostingSecond(){
+        uni.navigateTo({ url: '/my/renzheng/companyFund' })
+    }
+  },
+};
+</script>
+<style lang="scss" scoped>
+.switch-roles {
+  background-color: #fff;
+  position: absolute;
+  left: 0;
+  right: 0;
+  top: 0;
+  bottom: 0;
+  display: flex;
+  flex-direction: column;
+
+  .roles-content {
+    width: 100%;
+    flex: 1;
+    overflow: hidden;
+    overflow-y: auto;
+
+    .content {
+      padding: 40rpx;
+      box-sizing: border-box;
+      display: flex;
+      flex-direction: column;
+      align-items: center;
+      justify-content: center;
+      .progress-num {
+        color: #016bf6;
+        font-family: DM Sans;
+        font-size: 24rpx;
+        font-weight: 500;
+        width: 100%;
+        padding-bottom: 20rpx;
+        box-sizing: border-box;
+        text {
+          font-size: 48rpx;
+          font-weight: 700;
+        }
+      }
+      .title {
+        color: #333;
+        width: 100%;
+        font-family: DM Sans;
+        font-size: 48rpx;
+        font-weight: 700;
+      }
+
+      .desc {
+        color: rgba(102, 102, 102, 1);
+        width: 100%;
+        font-family: DM Sans;
+        font-size: 24rpx;
+        font-weight: 400;
+        line-height: 32rpx;
+        letter-spacing: 0.5%;
+        text-align: left;
+        padding: 20rpx 0;
+        box-sizing: border-box;
+      }
+      .check-box {
+        width: 100%;
+        .check-item {
+          padding: 24rpx 32rpx;
+          box-sizing: border-box;
+          border-radius: 100rpx;
+          border: 2rpx solid rgba(227, 231, 236, 1);
+          display: flex;
+          align-items: center;
+          gap: 32rpx;
+          margin-bottom: 20rpx;
+          .check-icon {
+            width: 48rpx;
+            height: 48rpx;
+            border-radius: 50%;
+            border: 2rpx solid rgba(227, 231, 236, 1);
+            display: flex;
+            justify-content: center;
+            align-items: center;
+          }
+          .check-icon-active {
+            background-color: #016bf6;
+            border-color: #016bf6;
+          }
+          .check-txt {
+            color: rgba(23, 23, 37, 1);
+            font-family: DM Sans;
+            font-size: 28rpx;
+            font-weight: 400;
+            line-height: 48rpx;
+          }
+        }
+      }
+    }
+  }
+
+  .submit-btn {
+    flex-shrink: 0;
+    border-radius: 999px;
+    background: #ff6600;
+    color: rgba(255, 255, 255, 1);
+    font-family: DM Sans;
+    font-size: 32rpx;
+    font-weight: 400;
+    line-height: 48rpx;
+    display: flex;
+    justify-content: center;
+    align-items: center;
+    padding: 16rpx 32rpx;
+    box-sizing: border-box;
+    margin: 60rpx 62rpx;
+  }
+}
+</style>

+ 370 - 0
my/renzheng/companyFund.vue

@@ -0,0 +1,370 @@
+<template>
+  <view class="switch-roles">
+    <nav-bar title="公司福利" color="#000"></nav-bar>
+    <view class="roles-content">
+      <view class="content">
+        <view class="progress-num"> <text>3</text>/8 </view>
+        <view class="title">
+          <view>公司福利</view>
+          <view class="check-num"> <text>{{ selectedCount }}</text>/{{ totalCount }} </view>
+        </view>
+        <view class="desc"> 选择公司提供的福利信息,以吸引更多求职者 </view>
+        
+        <!-- 福利分类 -->
+        <view class="welfare-category" v-for="(category, categoryIndex) in welfareList" :key="categoryIndex">
+          <view class="category-title">{{ category.title }}</view>
+          <view class="check-box">
+            <view
+              class="check-item"
+              v-for="(item, index) in category.items"
+              :key="index"
+              @click="checkItem(categoryIndex, index)"
+            >
+              <view class="check-icon" :class="{ 'check-icon-active': item.selected }">
+                <u-icon
+                  name="checkmark"
+                  color="#fff"
+                  size="28"
+                  v-if="item.selected"
+                ></u-icon>
+              </view>
+              <view class="check-txt">{{ item.name }}</view>
+            </view>
+          </view>
+        </view>
+      </view>
+    </view>
+    
+    <!-- 已选福利 -->
+    <view class="check-list" v-if="selectedWelfare.length > 0">
+      已选:
+      <view 
+        class="check-list-item" 
+        v-for="(item, index) in selectedWelfare" 
+        :key="index"
+        @click="removeSelected(item.categoryIndex, item.itemIndex)"
+      >
+        {{ item.name }}
+        <text class="remove-icon">×</text>
+      </view>
+    </view>
+    
+    <view class="submit-btn" @click="goJobPostingSecond">下一步</view>
+  </view>
+</template>
+
+<script>
+import navBar from "@/components/nav-bar/index.vue";
+export default {
+  data() {
+    return {
+      welfareList: [
+        {
+          title: "保险",
+          items: [
+            { name: "五险一金", selected: false },
+            { name: "补充医疗保险", selected: false },
+            { name: "意外险", selected: false },
+            { name: "定期体检", selected: false }
+          ]
+        },
+        {
+          title: "薪资期权",
+          items: [
+            { name: "年终奖", selected: false },
+            { name: "绩效奖金", selected: false },
+            { name: "保底工资", selected: false },
+            { name: "底薪加提成", selected: false },
+            { name: "股票期权", selected: false },
+            { name: "企业年金", selected: false }
+          ]
+        },
+        {
+          title: "补贴",
+          items: [
+            { name: "餐补", selected: false },
+            { name: "交通补贴", selected: false },
+            { name: "住房补贴", selected: false },
+            { name: "加班补贴", selected: false },
+            { name: "团建补贴", selected: false }
+          ]
+        },
+        {
+          title: "休假",
+          items: [
+            { name: "带薪年假", selected: false },
+            { name: "节假日加班费", selected: false },
+            { name: "法定节假日三薪", selected: false },
+            { name: "员工购房", selected: false }
+          ]
+        }
+      ],
+      selectedCount: 0,
+      totalCount: 20
+    };
+  },
+  components: {
+    navBar,
+  },
+  computed: {
+    // 计算已选的福利项目
+    selectedWelfare() {
+      const selected = [];
+      this.welfareList.forEach((category, categoryIndex) => {
+        category.items.forEach((item, itemIndex) => {
+          if (item.selected) {
+            selected.push({
+              name: item.name,
+              categoryIndex: categoryIndex,
+              itemIndex: itemIndex
+            });
+          }
+        });
+      });
+      return selected;
+    }
+  },
+  onLoad(options) {
+    if (options.text) {
+      this.text = options.text;
+    }
+  },
+  methods: {
+    // 选择/取消选择福利项目
+    checkItem(categoryIndex, itemIndex) {
+      const item = this.welfareList[categoryIndex].items[itemIndex];
+      item.selected = !item.selected;
+      
+      // 更新选中数量
+      this.updateSelectedCount();
+    },
+    
+    // 移除已选项目
+    removeSelected(categoryIndex, itemIndex) {
+      this.welfareList[categoryIndex].items[itemIndex].selected = false;
+      this.updateSelectedCount();
+    },
+    
+    // 更新选中数量
+    updateSelectedCount() {
+      let count = 0;
+      this.welfareList.forEach(category => {
+        category.items.forEach(item => {
+          if (item.selected) count++;
+        });
+      });
+      this.selectedCount = count;
+    },
+    
+    goJobPostingSecond() {
+      if (this.selectedCount === 0) {
+        uni.showToast({
+          title: '请至少选择一项福利',
+          icon: 'none'
+        });
+        return;
+      }
+      
+      // 获取选中的福利列表
+      const selectedBenefits = this.selectedWelfare.map(item => item.name);
+      console.log('选中的福利:', selectedBenefits);
+      
+      // 跳转到下一页,传递选中的福利数据
+      uni.navigateTo({ 
+        url: "/pages/my/jobPostingSecond?benefits=" + encodeURIComponent(JSON.stringify(selectedBenefits))
+      });
+    }
+  },
+  mounted() {
+    // 初始化总数量
+    this.totalCount = this.welfareList.reduce((total, category) => total + category.items.length, 0);
+  }
+};
+</script>
+
+<style lang="scss" scoped>
+.switch-roles {
+  background-color: #fff;
+  position: absolute;
+  left: 0;
+  right: 0;
+  top: 0;
+  bottom: 0;
+  display: flex;
+  flex-direction: column;
+
+  .roles-content {
+    width: 100%;
+    flex: 1;
+    overflow: hidden;
+    overflow-y: auto;
+
+    .content {
+      padding: 40rpx;
+      box-sizing: border-box;
+      display: flex;
+      flex-direction: column;
+      align-items: center;
+      justify-content: center;
+      
+      .progress-num {
+        color: #016bf6;
+        font-family: DM Sans;
+        font-size: 24rpx;
+        font-weight: 500;
+        width: 100%;
+        padding-bottom: 20rpx;
+        box-sizing: border-box;
+        text {
+          font-size: 48rpx;
+          font-weight: 700;
+        }
+      }
+      
+      .title {
+        color: #333;
+        width: 100%;
+        font-family: DM Sans;
+        font-size: 48rpx;
+        font-weight: 700;
+        display: flex;
+        justify-content: space-between;
+        align-items: center;
+        margin-bottom: 20rpx;
+        
+        .check-num {
+          font-family: DM Sans;
+          font-size: 32rpx;
+          font-weight: 500;
+          line-height: 60rpx;
+          color: #999;
+          text {
+            color: #016bf6;
+            font-size: 32rpx;
+          }
+        }
+      }
+
+      .desc {
+        color: rgba(102, 102, 102, 1);
+        width: 100%;
+        font-family: DM Sans;
+        font-size: 24rpx;
+        font-weight: 400;
+        line-height: 32rpx;
+        letter-spacing: 0.5%;
+        text-align: left;
+        padding: 20rpx 0;
+        box-sizing: border-box;
+        margin-bottom: 20rpx;
+      }
+      
+      .welfare-category {
+        width: 100%;
+        margin-bottom: 40rpx;
+        
+        .category-title {
+          color: #333;
+          font-family: DM Sans;
+          font-size: 32rpx;
+          font-weight: 600;
+          margin-bottom: 24rpx;
+          padding-left: 10rpx;
+          border-left: 6rpx solid #016bf6;
+        }
+        
+        .check-box {
+          width: 100%;
+          display: grid;
+          grid-template-columns: repeat(2, 1fr);
+          gap: 20rpx;
+          
+          .check-item {
+            padding: 20rpx 24rpx;
+            box-sizing: border-box;
+            border-radius: 16rpx;
+            border: 2rpx solid rgba(227, 231, 236, 1);
+            display: flex;
+            align-items: center;
+            gap: 20rpx;
+            background: #f8f9fa;
+            
+            .check-icon {
+              width: 40rpx;
+              height: 40rpx;
+              border-radius: 8rpx;
+              border: 2rpx solid rgba(227, 231, 236, 1);
+              display: flex;
+              justify-content: center;
+              align-items: center;
+              background: #fff;
+              flex-shrink: 0;
+            }
+            
+            .check-icon-active {
+              background-color: #016bf6;
+              border-color: #016bf6;
+            }
+            
+            .check-txt {
+              color: rgba(23, 23, 37, 1);
+              font-family: DM Sans;
+              font-size: 26rpx;
+              font-weight: 400;
+              line-height: 36rpx;
+              flex: 1;
+            }
+          }
+        }
+      }
+    }
+  }
+
+  .check-list {
+    flex-shrink: 0;
+    padding: 20rpx 40rpx;
+    background: #f8f9fa;
+    border-top: 1rpx solid #eee;
+    display: flex;
+    flex-wrap: wrap;
+    align-items: center;
+    gap: 16rpx;
+    
+    .check-list-item {
+      background: #016bf6;
+      color: #fff;
+      padding: 8rpx 20rpx;
+      border-radius: 20rpx;
+      font-size: 24rpx;
+      display: flex;
+      align-items: center;
+      gap: 8rpx;
+      
+      .remove-icon {
+        font-size: 28rpx;
+        font-weight: bold;
+        margin-left: 8rpx;
+        cursor: pointer;
+      }
+    }
+  }
+
+  .submit-btn {
+    flex-shrink: 0;
+    border-radius: 999px;
+    background: #ff6600;
+    color: rgba(255, 255, 255, 1);
+    font-family: DM Sans;
+    font-size: 32rpx;
+    font-weight: 400;
+    line-height: 48rpx;
+    display: flex;
+    justify-content: center;
+    align-items: center;
+    padding: 24rpx 32rpx;
+    box-sizing: border-box;
+    margin: 30rpx 40rpx;
+    margin-top: 20rpx;
+  }
+}
+</style>

+ 362 - 0
my/renzheng/companyMsg.vue

@@ -0,0 +1,362 @@
+<template>
+  <view class="switch-roles">
+    <nav-bar title="选择公司规模" color="#000"></nav-bar>
+    <view class="roles-content">
+      <view class="content">
+        <view class="progress-num"> <text>1</text>/8 </view>
+        <view class="title">公司标准工作时间</view>
+        <view class="desc">
+          开始完善公司主页吧,让求职者了解公司、信任职位
+          添加工作时间,标准时间仅为求职者提供参考;不代表公司下所有职位工作时间
+        </view>
+
+        <view class="check-title-big">工作时间</view>
+        <view class="time-picker-container">
+          <view class="time-item-box" @click="showStartTime = true">
+            <view class="time-label">开始时间</view>
+            <view class="time-value time-item">{{ startTime || "请选择开始时间" }}</view>
+          </view>
+          <text class="time-separator">至</text>
+          <view class="time-item-box" @click="showEndTime = true">
+            <view class="time-label">结束时间</view>
+            <view class="time-value time-item">{{ endTime || "请选择结束时间" }}</view>
+          </view>
+        </view>
+
+        <view class="selected-time" v-if="startTime && endTime">
+          已选择:{{ startTime }} - {{ endTime }}
+        </view>
+
+        <view class="check-title-big">休息时间(可选)</view>
+        <view class="check-box">
+          <view
+            class="check-item"
+            :class="{ 'is-check': check == index }"
+            v-for="(item, index) in peopleList"
+            :key="index"
+            @click="checkPeople(index)"
+          >
+            {{ item }}
+          </view>
+        </view>
+        <view class="check-title-big">加班情况(可选)</view>
+        <view class="check-box grid-three">
+          <view
+            class="check-item"
+            :class="{ 'is-check': work == index }"
+            v-for="(item, index) in workList"
+            :key="index"
+            @click="checkWork(index)"
+          >
+            {{ item }}
+          </view>
+        </view>
+      </view>
+    </view>
+
+    <view class="submit-btn" @click="goJobPostingSecond">下一步</view>
+
+    <!-- 开始时间选择器 -->
+    <u-picker
+      mode="time"
+      v-model="showStartTime"
+      @confirm="onStartTimeConfirm"
+      :params="timeParams"
+    ></u-picker>
+
+    <!-- 结束时间选择器 -->
+    <u-picker
+      mode="time"
+      v-model="showEndTime"
+      @confirm="onEndTimeConfirm"
+      :params="timeParams"
+    ></u-picker>
+  </view>
+</template>
+<script>
+import navBar from "@/components/nav-bar/index.vue";
+export default {
+  data() {
+    return {
+      peopleList: ["双休", "排版轮休"],
+      workList: ["不加班", "偶尔加班", "弹性工作"],
+      check: 0,
+      work: 0,
+      text: "",
+      showStartTime: false,
+      showEndTime: false,
+      startTime: "",
+      endTime: "",
+      timeParams: {
+        year: false,
+        month: false,
+        day: false,
+        hour: true,
+        minute: true,
+        second: false,
+      },
+      numList: [
+        {
+          name: "填写基本信息",
+        },
+        {
+          name: "选择职位要求",
+        },
+      ],
+    };
+  },
+  components: {
+    navBar,
+  },
+  onLoad(options) {
+    if (options.text) {
+      this.text = options.text;
+    }
+  },
+  methods: {
+    goBusinessLicense() {
+      uni.navigateTo({ url: "/pages/my/businessLicense" });
+    },
+    checkPeople(index) {
+      this.check = index;
+    },
+    checkWork(index) {
+      this.work = index;
+    },
+    // 开始时间确认
+    onStartTimeConfirm(e) {
+      this.startTime = `${e.hour}:${e.minute}`;
+    },
+
+    // 结束时间确认
+    onEndTimeConfirm(e) {
+      this.endTime = `${e.hour}:${e.minute}`;
+    },
+
+    goJobPostingSecond() {
+      // 验证时间选择
+      if (!this.startTime || !this.endTime) {
+        uni.showToast({
+          title: "请选择完整的工作时间",
+          icon: "none",
+        });
+        return;
+      }
+
+      // 这里可以添加时间逻辑验证,比如结束时间不能早于开始时间
+      if (this.compareTime(this.startTime, this.endTime) >= 0) {
+        uni.showToast({
+          title: "结束时间必须晚于开始时间",
+          icon: "none",
+        });
+        return;
+      }
+
+      // 将选择的时间数据传递到下一页或保存
+      const workTimeData = {
+        workTime: `${this.startTime}-${this.endTime}`,
+        restTime: this.peopleList[this.check],
+      };
+
+      uni.navigateTo({
+        url:
+          "/my/renzheng/companyDev?workTime=" +
+          encodeURIComponent(workTimeData.workTime),
+      });
+    },
+
+    // 比较时间大小
+    compareTime(time1, time2) {
+      const [h1, m1] = time1.split(":").map(Number);
+      const [h2, m2] = time2.split(":").map(Number);
+
+      if (h1 !== h2) {
+        return h1 - h2;
+      }
+      return m1 - m2;
+    },
+  },
+};
+</script>
+<style lang="scss" scoped>
+.switch-roles {
+  background-color: #fff;
+  position: absolute;
+  left: 0;
+  right: 0;
+  top: 0;
+  bottom: 0;
+  display: flex;
+  flex-direction: column;
+
+  .roles-content {
+    width: 100%;
+    flex: 1;
+    overflow: hidden;
+    overflow-y: auto;
+
+    .content {
+      padding: 40rpx;
+      box-sizing: border-box;
+      display: flex;
+      flex-direction: column;
+      align-items: center;
+      justify-content: center;
+      .progress-num {
+        color: #016bf6;
+        font-family: DM Sans;
+        font-size: 24rpx;
+        font-weight: 500;
+        width: 100%;
+        padding-bottom: 20rpx;
+        box-sizing: border-box;
+        text {
+            font-size: 48rpx;
+            font-weight: 700;
+        }
+      }
+      .title {
+        color: #333;
+        width: 100%;
+        font-family: DM Sans;
+        font-size: 48rpx;
+        font-weight: 700;
+      }
+
+      .desc {
+        color: rgba(102, 102, 102, 1);
+        width: 100%;
+        font-family: DM Sans;
+        font-size: 24rpx;
+        font-weight: 400;
+        line-height: 32rpx;
+        letter-spacing: 0.5%;
+        text-align: left;
+        padding: 20rpx 0;
+        box-sizing: border-box;
+      }
+
+      .time-picker-container {
+        width: 100%;
+        display: flex;
+        align-items: center;
+        justify-content: space-between;
+        margin-bottom: 20rpx;
+        .time-item-box {
+          text-align: center;
+          min-width: 40%;
+        }
+        .time-item {
+          flex: 1;
+          border-radius: 100rpx;
+          padding: 20rpx 32rpx;
+          box-sizing: border-box;
+          border: 2rpx solid rgba(227, 231, 236, 1);
+          display: flex;
+          flex-direction: column;
+          align-items: center;
+        }
+
+        .time-label {
+          color: rgba(153, 153, 153, 1);
+          font-family: DM Sans;
+          font-size: 20rpx;
+          font-weight: 400;
+          padding-bottom: 20rpx;
+          box-sizing: border-box;
+        }
+
+        .time-value {
+          color: rgba(51, 51, 51, 1);
+          font-family: DM Sans;
+          font-size: 24rpx;
+          font-weight: 500;
+        }
+
+        .time-separator {
+          margin: 0 20rpx;
+          padding-top: 40rpx;
+          box-sizing: border-box;
+          color: rgba(102, 102, 102, 1);
+          font-family: DM Sans;
+          font-size: 24rpx;
+          font-weight: 500;
+        }
+      }
+
+      .selected-time {
+        width: 100%;
+        text-align: center;
+        color: #016bf6;
+        font-family: DM Sans;
+        font-size: 28rpx;
+        font-weight: 500;
+        margin-bottom: 20rpx;
+        padding: 16rpx;
+        background: rgba(245, 248, 254, 1);
+        border-radius: 16rpx;
+      }
+
+      .check-title-big {
+        color: rgba(31, 44, 55, 1);
+        font-family: DM Sans;
+        font-size: 28rpx;
+        font-weight: 500;
+        line-height: 44rpx;
+        letter-spacing: 0.5%;
+        width: 100%;
+        padding: 20rpx 0;
+        box-sizing: border-box;
+      }
+
+      .check-box {
+        width: 100%;
+        display: grid;
+        grid-template-columns: repeat(2, 1fr);
+        gap: 24rpx;
+
+        .check-item {
+          border-radius: 16rpx;
+          background: rgba(245, 248, 254, 1);
+          color: rgba(153, 153, 153, 1);
+          font-family: DM Sans;
+          font-size: 28rpx;
+          font-weight: 400;
+          line-height: 44rpx;
+          text-align: center;
+          padding: 12rpx 48rpx;
+          box-sizing: border-box;
+        }
+
+        .is-check {
+          box-sizing: border-box;
+          border: 1rpx solid #016bf6;
+          border-radius: 16rpx;
+          background: rgba(252, 233, 220, 1);
+          color: #016bf6;
+        }
+      }
+      .grid-three {
+        grid-template-columns: repeat(3, 1fr) !important;
+      }
+    }
+  }
+
+  .submit-btn {
+    flex-shrink: 0;
+    border-radius: 999px;
+    background: #ff6600;
+    color: rgba(255, 255, 255, 1);
+    font-family: DM Sans;
+    font-size: 32rpx;
+    font-weight: 400;
+    line-height: 48rpx;
+    display: flex;
+    justify-content: center;
+    align-items: center;
+    padding: 16rpx 32rpx;
+    box-sizing: border-box;
+    margin: 60rpx 62rpx;
+  }
+}
+</style>

+ 4 - 1
my/renzheng/editCompany.vue

@@ -77,7 +77,7 @@
             />
           </view>
         </view>
-        <view class="ms-item-content" v-if="companyFund">
+        <view class="ms-item-content" v-if="companyFund" @click="goCompanyMsg">
           <view class="name-content-item">
             <view class="name-item">标准工作时间</view>
             <view class="value-item">
@@ -277,6 +277,9 @@ export default {
     checkPeopleDev() {
       this.peopleDev = !this.peopleDev;
     },
+    goCompanyMsg(){
+        uni.navigateTo({ url: '/my/renzheng/companyMsg' })
+    }
   },
 };
 </script>

+ 52 - 0
pages.json

@@ -443,6 +443,30 @@
 				"navigationStyle": "custom"
 			}
 		},
+		{
+			"path": "pages/recruitmentData/index",
+			"style": {
+				"navigationBarTitleText": "招聘数据",
+				"enablePullDownRefresh": false,
+				"navigationStyle": "custom"
+			}
+		},
+		{
+			"path": "pages/recruitmentData/dataCenter",
+			"style": {
+				"navigationBarTitleText": "招聘数据中心",
+				"enablePullDownRefresh": false,
+				"navigationStyle": "custom"
+			}
+		},
+		{
+			"path": "pages/recruitmentData/communicationRecords",
+			"style": {
+				"navigationBarTitleText": "沟通记录",
+				"enablePullDownRefresh": false,
+				"navigationStyle": "custom"
+			}
+		},
 		{
 			"path": "pages/msg/interviewInvitation",
 			"style": {
@@ -871,6 +895,34 @@
 						"navigationStyle": "custom"
 					}
 				},
+				{
+					"path": "renzheng/editCompany",
+					"style": {
+						"navigationBarTitleText": "编辑公司信息",
+						"navigationStyle": "custom"
+					}
+				},
+				{
+					"path": "renzheng/companyMsg",
+					"style": {
+						"navigationBarTitleText": "公司信息",
+						"navigationStyle": "custom"
+					}
+				},
+							{
+					"path": "renzheng/companyDev",
+					"style": {
+						"navigationBarTitleText": "公司信息",
+						"navigationStyle": "custom"
+					}
+				},
+									{
+					"path": "renzheng/companyFund",
+					"style": {
+						"navigationBarTitleText": "公司信息",
+						"navigationStyle": "custom"
+					}
+				},
 				{
 					"path": "renzheng/zhuanrang",
 					"style": {

+ 3 - 3
pages/my/index.vue

@@ -480,15 +480,15 @@
             class="info-box-num flex align-center justify-between"
             v-if="XCXIsSelect != '否'"
           >
-            <view class="info-box-num-td" @click="goNav('/pages/my/onlineResume')">
+            <view class="info-box-num-td" @click="goNav('/pages/recruitmentData/communicationRecords')">
               <view class="info-box-num-td-num"> 0 </view>
               <view class="info-box-num-td-name">沟通过</view>
             </view>
-            <view class="info-box-num-td" @click="goNav('/pages/my/onlineResume')">
+            <view class="info-box-num-td" @click="goNav('/pages/recruitmentData/communicationRecords')">
               <view class="info-box-num-td-num"> 0 </view>
               <view class="info-box-num-td-name">面试</view>
             </view>
-            <view class="info-box-num-td" @click="goNav('/pages/my/onlineResume')">
+            <view class="info-box-num-td" @click="goNav('/pages/recruitmentData/communicationRecords')">
               <view class="info-box-num-td-num"> 0 </view>
               <view class="info-box-num-td-name">收藏</view>
             </view>

+ 837 - 0
pages/recruitmentData/communicationRecords.vue

@@ -0,0 +1,837 @@
+<template>
+  <view class="page">
+    <!-- Custom Navbar -->
+    <view class="custom-navbar">
+      <view class="navbar-content">
+        <view class="navbar-left" @click="goBack">
+          <u-icon name="arrow-leftward" color="color: rgba(51, 51, 51, 1);" size="36"></u-icon>
+        </view>
+        <view class="navbar-title">沟通记录</view>
+        <view class="navbar-right"></view>
+      </view>
+    </view>
+
+    <view class="tab-section-bg">沟通记录</view>
+
+    <!-- Tab Navigation -->
+    <view class="tab-section">
+      <u-tabs 
+        :list="tabs" 
+        :current="activeTab" 
+        @change="switchTab"
+        :is-scroll="false"
+        :height="88"
+        :font-size="24"
+        active-color="rgba(1, 107, 246, 1)"
+        inactive-color="rgba(102, 102, 102, 1)"
+        :bar-width="80"
+        :bar-height="4"
+        :gutter="40"
+        bg-color="#ffffff"
+        :bar-style="{
+          borderRadius: '2rpx'
+        }"
+      ></u-tabs>
+    </view>
+
+     <!-- Content Section -->
+     <view class="content-section">
+       <!-- Communication Records List -->
+       <view class="communication-list" v-if="activeTab === 0">
+         <!-- 有数据时显示列表 -->
+         <view v-if="communicationRecords.length > 0">
+           <!-- Date Group -->
+           <view class="date-group" v-for="(group, groupIndex) in groupedRecords" :key="groupIndex">
+             <view class="date-header">
+               <text class="date-text">{{ group.date }}</text>
+             </view>
+             
+             <!-- Records for this date -->
+             <view 
+               class="talent-card" 
+               v-for="(record, recordIndex) in group.records" 
+               :key="recordIndex"
+               @click="goToResumeDetail(record)"
+             >
+               <view class="talent-content">
+                 <!-- 头像和基本信息 -->
+                 <view class="talent-header">
+                   <image :src="record.avatar" class="talent-avatar" mode="aspectFill"></image>
+                   <view class="talent-info">
+                     <view class="talent-name-section">
+                       <view class="talent-name">{{ record.name }}</view>
+                       <view class="talent-tags">
+                         <view class="status-tag online" v-if="record.isOnline">在线</view>
+                         <view class="status-tag hot" v-if="record.isHot">热门搜索</view>
+                         <view class="status-tag active" v-if="record.lastActive">{{ record.lastActive }}</view>
+                       </view>
+                     </view>
+                     <!-- 经验和薪资 -->
+                     <view class="talent-experience">
+                       <text class="experience-text">{{ record.experience }}</text>
+                       <text class="education-salary">{{ record.education }} {{ record.salary }}</text>
+                       <text class="status-text">{{ record.jobStatus }}</text>
+                     </view>
+                   </view>
+                 </view>
+                 
+                 <!-- 当前职位 -->
+                 <view class="current-job" v-if="record.currentJob">
+                   <image src="../../static/images/aixin.svg" class="job-icon" mode="aspectFit"></image>
+                   <text class="job-text">{{ record.currentJob }}</text>
+                   <text class="work-period">{{ record.workPeriod }}</text>
+                 </view>
+                 
+                 <!-- 求职期望 -->
+                 <view class="job-expectation">
+                   <image src="../../static/images/xiangzi.svg" class="job-icon" mode="aspectFit"></image>
+                   <text class="expectation-text">求职期望: {{ record.jobExpectation }}</text>
+                 </view>
+                 
+                 <!-- 技能标签 -->
+                 <view class="skill-tags">
+                   <view 
+                     class="skill-tag" 
+                     v-for="(skill, skillIndex) in record.skills" 
+                     :key="skillIndex"
+                   >
+                     {{ skill }}
+                   </view>
+                 </view>
+                 
+                 <!-- 工作描述 -->
+                 <view class="job-description">
+                   <text class="description-text">{{ record.description }}</text>
+                 </view>
+               </view>
+             </view>
+           </view>
+         </view>
+         
+         <!-- 空状态显示 -->
+         <view class="empty-state" v-else>
+           <view class="empty-illustration">
+             <image src="../../static/images/index/Hrempty.svg" class="empty-image" mode="aspectFit" />
+           </view>
+         </view>
+       </view>
+
+       <!-- Interview Records List -->
+       <view class="interview-list" v-if="activeTab === 1">
+         <!-- Date Selector -->
+         <view class="date-selector">
+           <view class="week-days">
+             <text class="day-name" v-for="day in currentWeekDays" :key="day.name">{{ day.name }}</text>
+           </view>
+           <view class="week-dates">
+             <view 
+               class="date-item" 
+               :class="{ active: date.isSelected }" 
+               v-for="date in currentWeekDates" 
+               :key="date.value"
+               @click="selectDate(date)"
+             >
+               <text class="date-value">{{ date.value }}</text>
+             </view>
+           </view>
+         </view>
+
+         <!-- Interview Records -->
+         <view class="interview-records">
+           <!-- 有数据时显示列表 -->
+           <view v-if="interviewRecords.length > 0">
+             <view 
+               class="interview-record" 
+               :class="{ 'today': record.isToday, 'tomorrow': record.isTomorrow }"
+               v-for="(record, index) in interviewRecords" 
+               :key="index"
+               @click="goToInterviewDetail(record)"
+             >
+               <view class="record-content">
+                 <view class="record-left">
+                   <text class="date-label">{{ record.dateLabel }}</text>
+                   <text class="time-label">{{ record.time }}</text>
+                 </view>
+                 <view class="record-divider"></view>
+                 <view class="record-right">
+                   <text class="candidate-name">{{ record.candidateName }}</text>
+                   <text class="candidate-details">{{ record.experience }} {{ record.education }} {{ record.salary }}</text>
+                 </view>
+               </view>
+             </view>
+           </view>
+           
+           <!-- 空状态显示 -->
+           <view class="empty-state" v-else>
+             <view class="empty-illustration">
+               <image src="../../static/images/index/Hrempty.svg" class="empty-image" mode="aspectFit" />
+             </view>
+           </view>
+         </view>
+       </view>
+
+       <!-- 收藏标签页 -->
+       <view class="favorite-list" v-if="activeTab === 2">
+         <!-- 有数据时显示列表 -->
+         <view v-if="favoriteRecords.length > 0">
+           <!-- 收藏记录列表内容 -->
+         </view>
+         
+         <!-- 空状态显示 -->
+         <view class="empty-state" v-else>
+           <view class="empty-illustration">
+             <image src="../../static/images/index/Hrempty.svg" class="empty-image" mode="aspectFit" />
+           </view>
+         </view>
+       </view>
+
+       <!-- 收藏职位标签页 -->
+       <view class="favorite-jobs-list" v-if="activeTab === 3">
+         <!-- 有数据时显示列表 -->
+         <view v-if="favoriteJobs.length > 0">
+           <!-- 收藏职位列表内容 -->
+         </view>
+         
+         <!-- 空状态显示 -->
+         <view class="empty-state" v-else>
+           <view class="empty-illustration">
+             <image src="../../static/images/index/Hrempty.svg" class="empty-image" mode="aspectFit" />
+           </view>
+         </view>
+       </view>
+     </view>
+   </view>
+ </template>
+
+<script>
+export default {
+  data() {
+    return {
+      statusBarHeight: 0,
+      activeTab: 0,
+      tabs: [
+        { name: '沟通过' },
+        { name: '面试' },
+        { name: '收藏' },
+        { name: '收藏职位' }
+      ],
+      communicationRecords: [
+        {
+          id: 1,
+          name: '刘先生',
+          avatar: '../../static/images/avator.png',
+          isOnline: true,
+          isHot: true,
+          experience: '8年',
+          education: '本科',
+          salary: '10-15K',
+          jobStatus: '在职&考虑机会',
+          currentJob: '通拓集团·店铺运营',
+          jobExpectation: '亚马逊运营',
+          skills: ['精品', '铺货', 'TikTok', '平台运营', '投放策略', '3C数码'],
+          description: '负责Amazon英国、欧洲站、制定推广与销售计划,达成团队要求的销售业绩;做好数据的统计分析工作,收集、分析...',
+          workPeriod: '1年10个月',
+          date: '07-24'
+        },
+        {
+          id: 2,
+          name: '刘先生',
+          avatar: '../../static/images/avator.png',
+          isOnline: true,
+          isHot: true,
+          experience: '8年',
+          education: '本科',
+          salary: '10-15K',
+          jobStatus: '在职&考虑机会',
+          currentJob: '通拓集团·店铺运营',
+          jobExpectation: '亚马逊运营',
+          skills: ['精品', '铺货', 'TikTok', '平台运营', '投放策略', '3C数码'],
+          description: '负责Amazon英国、欧洲站、制定推广与销售计划,达成团队要求的销售业绩;做好数据的统计分析工作,收集、分析...',
+          workPeriod: '1年10个月',
+           date: '07-25'
+         }
+       ],
+       // 面试相关数据
+       selectedDate: null, // 当前选中的日期
+       // 收藏相关数据
+       favoriteRecords: [], // 收藏记录(空数组,显示空状态)
+       favoriteJobs: [], // 收藏职位(空数组,显示空状态)
+       interviewRecords: [
+         {
+           dateLabel: '今天',
+           time: '20:40',
+           candidateName: '刘先生',
+           experience: '8年',
+           education: '本科',
+           salary: '10-15K',
+           isToday: true,
+           isTomorrow: false
+         },
+         {
+           dateLabel: '明天',
+           time: '20:40',
+           candidateName: '刘先生',
+           experience: '8年',
+           education: '本科',
+           salary: '10-15K',
+           isToday: false,
+           isTomorrow: true
+         },
+         {
+           dateLabel: '8月15日',
+           time: '20:40',
+           candidateName: '刘先生',
+           experience: '8年',
+           education: '本科',
+           salary: '10-15K',
+           isToday: false,
+           isTomorrow: false
+         }
+       ]
+     }
+  },
+   computed: {
+     groupedRecords() {
+       const groups = {}
+       this.communicationRecords.forEach(record => {
+         if (!groups[record.date]) {
+           groups[record.date] = {
+             date: record.date,
+             records: []
+           }
+         }
+         groups[record.date].records.push(record)
+       })
+       return Object.values(groups)
+     },
+     // 当前周的星期名称
+     currentWeekDays() {
+       const weekDays = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
+       return weekDays.map(name => ({ name }))
+     },
+     // 当前周的日期
+     currentWeekDates() {
+       const today = new Date()
+       const currentDay = today.getDay() // 0-6,0是周日
+       
+       // 获取本周一的日期(周一开始)
+       const monday = new Date(today)
+       // 如果今天是周日(0),则往前推6天到周一
+       // 如果今天是周一(1),则往前推0天
+       // 如果今天是周二(2),则往前推1天
+       const daysToMonday = currentDay === 0 ? 6 : currentDay - 1
+       monday.setDate(today.getDate() - daysToMonday)
+       
+       // 生成本周7天的日期
+       const weekDates = []
+       for (let i = 0; i < 7; i++) {
+         const date = new Date(monday)
+         date.setDate(monday.getDate() + i)
+         
+         const isToday = date.toDateString() === today.toDateString()
+         const isSelected = this.selectedDate ? 
+           date.toDateString() === this.selectedDate.toDateString() : isToday
+         
+         weekDates.push({
+           value: date.getDate().toString(),
+           date: date,
+           isSelected: isSelected
+         })
+       }
+       
+       return weekDates
+     }
+   },
+  onLoad() {
+    const systemInfo = uni.getSystemInfoSync()
+    this.statusBarHeight = systemInfo.statusBarHeight || 0
+  },
+  methods: {
+    goBack() {
+      uni.navigateBack()
+    },
+    switchTab(index) {
+      this.activeTab = index
+    },
+     goToResumeDetail(record) {
+       console.log('查看简历详情:', record)
+       uni.navigateTo({
+         url: `/pages/talentSearch/resumeDetail?resumeId=${record.id}`
+       })
+     },
+     selectDate(date) {
+       // 选中当前点击的日期
+       this.selectedDate = date.date
+       console.log('选中日期:', date.date)
+     },
+     goToInterviewDetail(record) {
+       console.log('查看面试详情:', record)
+       // uni.navigateTo({
+       //   url: `/pages/interview/detail?id=${record.id}`
+       // })
+     }
+  }
+}
+</script>
+
+<style lang="scss" scoped>
+.page {
+  height: 100vh;
+  overflow: hidden;
+}
+
+.tab-section-bg {
+    position: fixed;
+    top: 150rpx;
+    left: 0;
+    right: 0;
+    z-index: 1000;
+    background-color: #ffffff;
+    padding: 32rpx;
+    color: rgba(51, 51, 51, 1);
+    font-family: DM Sans;
+    font-size: 48rpx;
+    font-weight: 700;
+    line-height: 60rpx;
+    letter-spacing: 0px;
+    text-align: left;  
+}
+
+/* Custom Navbar */
+.custom-navbar {
+  position: fixed;
+  top: 0;
+  left: 0;
+  right: 0;
+  z-index: 1000;
+  background-color: #ffffff;
+  padding-top: 80rpx;
+}
+
+.navbar-content {
+  display: flex;
+  align-items: center;
+  justify-content: space-between;
+  height: 44px;
+  padding: 20rpx;
+}
+
+.navbar-left {
+  width: 44px;
+  height: 44px;
+  display: flex;
+  align-items: center;
+  justify-content: center;
+}
+
+.navbar-title {
+  color: rgba(51, 51, 51, 1);
+  font-family: DM Sans;
+  font-size: 30rpx;
+  font-weight: 700;
+  line-height: 52rpx;
+  letter-spacing: 0.5%;
+  text-align: center;
+}
+
+.navbar-right {
+  width: 44px;
+}
+
+/* Tab Section */
+.tab-section {
+  position: fixed;
+  top: 250rpx;
+  left: 0;
+  right: 0;
+  background: white;
+  z-index: 99;
+}
+
+/* Content Section */
+.content-section {
+  margin-top: 330rpx;
+  padding: 20rpx;
+  height: calc(100vh - 330rpx) !important;
+  overflow-y: auto;
+}
+
+/* Date Group */
+.date-group {
+  margin-bottom: 20rpx;
+}
+
+.date-header {
+  margin-bottom: 16rpx;
+}
+
+.date-text {
+  color: rgba(153, 153, 153, 1);
+  font-family: DM Sans;
+  font-size: 24rpx;
+  font-weight: 400;
+  line-height: 32rpx;
+  margin-left: 32rpx;
+}
+
+/* Talent Card */
+.talent-card {
+  background-color: #ffffff;
+  border-radius: 16rpx;
+  margin-bottom: 20rpx;
+  padding: 30rpx;
+//   box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.1);
+}
+
+.talent-content {
+  .talent-header {
+    display: flex;
+    align-items: flex-start;
+    
+    .talent-avatar {
+      width: 80rpx;
+      height: 80rpx;
+      border-radius: 50%;
+      margin-right: 20rpx;
+    }
+    
+    .talent-info {
+      flex: 1;
+      
+      .talent-name-section {
+        display: flex;
+        align-items: center;
+        justify-content: flex-start;
+        width: 100%;
+        margin-bottom: 6rpx;
+      }
+      
+      .talent-name {
+        color: rgba(51, 51, 51, 1);
+        font-family: DM Sans;
+        font-size: 28rpx;
+        font-weight: 500;
+        line-height: 36rpx;
+        letter-spacing: 0.5%;
+        text-align: left;
+        margin-right: 16rpx;
+      }
+      
+      .talent-tags {
+        display: flex;
+        flex-wrap: wrap;
+        gap: 10rpx;
+        
+        .status-tag {
+          padding: 8rpx;
+          border-radius: 12rpx;
+          font-size: 18rpx;
+          font-family: DM Sans;
+          font-weight: 400;
+          line-height: 20rpx;
+          letter-spacing: -0.5px;
+          text-align: left;
+          
+          &.online {
+            background: rgba(213, 255, 231, 1);
+            color: rgba(29, 209, 104, 1);
+          }
+          
+          &.hot {
+            background: rgba(252, 233, 220, 1);
+            color: rgba(1, 107, 246, 1);
+          }
+          
+          &.active {
+            color: rgba(153, 153, 153, 1);
+          }
+        }
+      }
+    }
+  }
+  
+  .talent-experience {
+    display: flex;
+    align-items: center;
+    margin-bottom: 12rpx;
+    gap: 16rpx;
+    color: rgba(156, 164, 171, 1);
+    font-family: DM Sans;
+    font-size: 24rpx;
+    font-weight: 400;
+    line-height: 32rpx;
+    letter-spacing: 0.5%;
+    text-align: left;
+  }
+  
+  .current-job {
+    display: flex;
+    align-items: center;
+    margin-bottom: 12rpx;
+    
+    .job-icon {
+      width: 40rpx;
+      height: 40rpx;
+      margin-right: 8rpx;
+    }
+    
+    .job-text {
+      color: rgba(156, 164, 171, 1);
+      font-family: DM Sans;
+      font-size: 24rpx;
+      font-weight: 400;
+      line-height: 40rpx;
+      letter-spacing: 0.5%;
+      text-align: left;
+      flex: 1;
+    }
+    
+    .work-period {
+      color: rgba(153, 153, 153, 1);
+      font-family: DM Sans;
+      font-size: 22rpx;
+      font-weight: 400;
+      line-height: 28rpx;
+    }
+  }
+  
+  .job-expectation {
+    display: flex;
+    align-items: center;
+    margin-bottom: 16rpx;
+
+    .job-icon {
+      width: 40rpx;
+      height: 40rpx;
+      margin-right: 8rpx;
+    }
+    
+    .expectation-text {
+      color: rgba(156, 164, 171, 1);
+      font-family: DM Sans;
+      font-size: 24rpx;
+      font-weight: 400;
+      line-height: 40rpx;
+      letter-spacing: 0.5%;
+      text-align: left;
+    }
+  }
+  
+  .skill-tags {
+    display: flex;
+    flex-wrap: wrap;
+    gap: 10rpx;
+    margin-bottom: 16rpx;
+    
+    .skill-tag {
+      padding: 8rpx;
+      background: rgba(198, 198, 198, 0.1);
+      border-radius: 12rpx;
+      color: rgba(153, 153, 153, 1);
+      font-family: DM Sans;
+      font-size: 20rpx;
+      font-weight: 400;
+      line-height: 20rpx;
+      letter-spacing: -0.5px;
+      text-align: left;
+    }
+  }
+  
+  .job-description {
+    margin-bottom: 12rpx;
+    
+    .description-text {
+      color: rgba(97, 110, 124, 1);
+      font-family: DM Sans;
+      font-size: 24rpx;
+      font-weight: 400;
+      line-height: 32rpx;
+      letter-spacing: 0px;
+      text-align: left;
+    }
+   }
+ }
+
+ /* Interview List Styles */
+ .interview-list {
+   padding: 0 20rpx;
+ }
+
+ /* Date Selector */
+ .date-selector {
+   background: #ffffff;
+   border-radius: 12rpx;
+   padding: 24rpx 0;
+//    margin-bottom: 20rpx;
+//    border: 0.5px solid rgba(227, 231, 236, 1);
+ }
+
+ .week-days {
+   display: flex;
+   justify-content: space-between;
+   margin-bottom: 16rpx;
+ }
+
+ .day-name {
+   color: rgba(153, 153, 153, 1);
+   font-family: DM Sans;
+   font-size: 24rpx;
+   font-weight: 400;
+   line-height: 32rpx;
+   text-align: center;
+   flex: 1;
+ }
+
+ .week-dates {
+   display: flex;
+   justify-content: space-between;
+ }
+
+ .date-item {
+   flex: 1;
+   display: flex;
+   justify-content: center;
+   align-items: center;
+   height: 60rpx;
+   border-radius: 50%;
+   cursor: pointer;
+   min-width: 60rpx;
+   max-width: 60rpx;
+ }
+
+ .date-item.active {
+   background: rgba(1, 107, 246, 1);
+ }
+
+ .date-value {
+   color: rgba(51, 51, 51, 1);
+   font-family: DM Sans;
+   font-size: 28rpx;
+   font-weight: 400;
+   line-height: 36rpx;
+   text-align: center;
+ }
+
+ .date-item.active .date-value {
+   color: #ffffff;
+ }
+
+ /* Interview Records */
+ .interview-records {
+   background: #ffffff;
+   border-radius: 12rpx;
+   padding: 24rpx 0;
+//    border: 0.5px solid rgba(227, 231, 236, 1);
+ }
+
+ .interview-record {
+   display: flex;
+   position: relative;
+   border-radius: 8rpx;
+   margin-bottom: 16rpx;
+ }
+
+ .interview-record.today {
+   background: rgba(250, 187, 143, 1);
+ }
+
+ .interview-record:not(.today) {
+   background: rgba(221, 221, 221, 1);
+ }
+
+ .interview-record:last-child {
+   margin-bottom: 0;
+ }
+
+
+ /* Record Content */
+ .record-content {
+   flex: 1;
+   display: flex;
+   align-items: center;
+   gap: 24rpx;
+ }
+
+ .record-left {
+   display: flex;
+   flex-direction: column;
+   min-width: 80rpx;
+   padding: 32rpx;
+ }
+
+ .record-divider {
+   width: 10rpx;
+   height: 100%;
+   background: rgba(1, 107, 246, 1);
+ }
+
+ .record-right {
+   flex: 1;
+   display: flex;
+   flex-direction: column;
+   gap: 8rpx;
+ }
+
+ .date-label {
+    color: rgba(106, 106, 106, 1);
+    font-family: DM Sans;
+    font-size: 16rpx;
+    font-weight: 400;
+    line-height: 40rpx;
+    letter-spacing: 0.5%;
+    text-align: right;
+ }
+
+ .time-label {
+    color: rgba(106, 106, 106, 1);
+    font-family: DM Sans;
+    font-size: 24rpx;
+    font-weight: 400;
+    line-height: 32rpx;
+    letter-spacing: 0.5%;
+    text-align: left;
+ }
+
+ .candidate-name {
+   color: rgba(51, 51, 51, 1);
+   font-family: DM Sans;
+   font-size: 32rpx;
+   font-weight: 600;
+   line-height: 40rpx;
+ }
+
+ .candidate-details {
+   color: rgba(102, 102, 102, 1);
+   font-family: DM Sans;
+   font-size: 24rpx;
+   font-weight: 400;
+   line-height: 32rpx;
+ }
+
+ /* Empty State - 与jobManagement页面保持一致 */
+ .empty-state {
+   display: flex;
+   align-items: center;
+   justify-content: center;
+   padding: 40rpx;
+   
+   .empty-illustration {
+     margin-bottom: 40rpx;
+     
+     .empty-image {
+       width: 700rpx;
+       height: 800rpx;
+     }
+   }
+   
+   .empty-text {
+     color: rgba(120, 130, 138, 1);
+     font-family: DM Sans;
+     font-size: 28rpx;
+     font-weight: 400;
+     line-height: 36rpx;
+     letter-spacing: 0.5%;
+     text-align: center;
+   }
+ }
+ </style>

+ 384 - 0
pages/recruitmentData/dataCenter.vue

@@ -0,0 +1,384 @@
+<template>
+  <view class="page">
+    <!-- Custom Navbar -->
+    <view class="custom-navbar" :style="{ paddingTop: statusBarHeight + 'px' }">
+      <view class="navbar-content">
+        <view class="navbar-left" @click="goBack">
+          <u-icon name="arrow-leftward" color="white" size="36"></u-icon>
+        </view>
+        <view class="navbar-title">招聘数据中心</view>
+        <view class="navbar-right"></view>
+      </view>
+    </view>
+
+    <!-- Filter Section -->
+    <view class="filter-section">
+      <view class="filter-buttons">
+        <view class="filter-btn" @click="selectDateRange">
+          <text class="filter-text">2025.07.30-08.06</text>
+          <u-icon name="arrow-down" color="#016BF6" size="16"></u-icon>
+        </view>
+        <view class="filter-btn" @click="selectPosition">
+          <text class="filter-text">亚马逊运营总监</text>
+          <u-icon name="arrow-down" color="#016BF6" size="16"></u-icon>
+        </view>
+      </view>
+    </view>
+
+     <!-- Content Section -->
+     <view class="content-section">
+       <!-- Recruitment Progress Card -->
+       <view class="card-header">
+         <text class="hearder-title">招聘进展</text>
+       </view>
+
+       <!-- New Card -->
+       <view class="data-card">
+         <view class="card-header">
+           <view class="card-title">
+             <view class="card-icon-wrapper">
+               <image src="/static/images/eye.svg" class="card-icon" mode="aspectFit"></image>
+             </view>
+             <text>查看</text>
+           </view>
+         </view>
+         <view class="card-content">
+           <view class="data-row">
+             <view class="data-item">
+               <text class="data-label">我看过</text>
+               <view class="data-value-wrapper">
+                 <text class="data-value">1120</text>
+                 <text class="data-unit">人</text>
+               </view>
+             </view>
+             <view class="data-item">
+               <text class="data-label">看过我</text>
+               <view class="data-value-wrapper">
+                 <text class="data-value">2120</text>
+                 <text class="data-unit">人</text>
+               </view>
+             </view>
+           </view>
+         </view>
+       </view>
+
+       <view class="data-card">
+         <view class="card-header">
+           <view class="card-title">
+             <view class="card-icon-wrapper">
+               <image src="/static/images/goutong.svg" class="card-icon" mode="aspectFit"></image>
+             </view>
+             <text>沟通</text>
+           </view>
+         </view>
+         <view class="card-content">
+           <view class="data-row">
+             <view class="data-item">
+               <text class="data-label">我沟通</text>
+               <view class="data-value-wrapper">
+                 <text class="data-value">1120</text>
+                 <text class="data-unit">人</text>
+               </view>
+             </view>
+             <view class="data-item">
+               <text class="data-label">求职者</text>
+               <view class="data-value-wrapper">
+                 <text class="data-value">2120</text>
+                 <text class="data-unit">人</text>
+               </view>
+             </view>
+           </view>
+         </view>
+       </view>
+
+       <view class="data-card">
+         <view class="card-header">
+           <view class="card-title">
+             <view class="card-icon-wrapper">
+               <image src="/static/images/lianxi.svg" class="card-icon" mode="aspectFit"></image>
+             </view>
+             <text>获取简历联系方式</text>
+           </view>
+         </view>
+         <view class="card-content">
+           <view class="data-row">
+             <view class="data-item">
+               <text class="data-label">合计</text>
+               <view class="data-value-wrapper">
+                 <text class="data-value">1120</text>
+                 <text class="data-unit">人</text>
+               </view>
+             </view>
+             <view class="data-item">
+               <text class="data-label">获取简历</text>
+               <view class="data-value-wrapper">
+                 <text class="data-value">2120</text>
+                 <text class="data-unit">人</text>
+               </view>
+             </view>
+             <view class="data-item">
+               <text class="data-label">交换电话</text>
+               <view class="data-value-wrapper">
+                 <text class="data-value">2120</text>
+                 <text class="data-unit">人</text>
+               </view>
+             </view>
+             <view class="data-item">
+               <text class="data-label">交换微信</text>
+               <view class="data-value-wrapper">
+                 <text class="data-value">2120</text>
+                 <text class="data-unit">人</text>
+               </view>
+             </view>
+           </view>
+         </view>
+       </view>
+
+       <view class="data-card">
+         <view class="card-header">
+           <view class="card-title">
+             <view class="card-icon-wrapper">
+               <image src="/static/images/huoqu.svg" class="card-icon" mode="aspectFit"></image>
+             </view>
+             <text>获取简历联系方式</text>
+           </view>
+         </view>
+         <view class="card-content">
+           <view class="data-row">
+             <view class="data-item">
+               <text class="data-label">邀约面试</text>
+               <view class="data-value-wrapper">
+                 <text class="data-value">1120</text>
+                 <text class="data-unit">人</text>
+               </view>
+             </view>
+             <view class="data-item">
+               <text class="data-label">接受面试</text>
+               <view class="data-value-wrapper">
+                 <text class="data-value">2120</text>
+                 <text class="data-unit">人</text>
+               </view>
+             </view>
+           </view>
+         </view>
+       </view>
+     </view>
+  </view>
+</template>
+
+<script>
+export default {
+  data() {
+    return {
+      statusBarHeight: 0
+    }
+  },
+  onLoad() {
+    const systemInfo = uni.getSystemInfoSync()
+    this.statusBarHeight = systemInfo.statusBarHeight || 0
+  },
+  methods: {
+    goBack() {
+      uni.navigateBack()
+    },
+    goToCommunicationRecords() {
+      uni.navigateTo({
+        url: '/pages/recruitmentData/communicationRecords'
+      })
+    },
+    selectDateRange() {
+      console.log('选择日期范围')
+    },
+    selectPosition() {
+      console.log('选择职位')
+    }
+  }
+}
+</script>
+
+<style lang="scss" scoped>
+.page {
+  background: linear-gradient(180.00deg, rgba(255, 102, 0, 1),rgba(255, 102, 0, 0) 100%);
+  background-size: 100% 35%;
+  background-position: center top;
+  background-repeat: no-repeat;
+  min-height: 100vh;
+}
+
+/* Custom Navbar */
+.custom-navbar {
+  position: fixed;
+  top: 80rpx;
+  left: 0;
+  right: 0;
+  z-index: 1000;
+}
+
+.navbar-content {
+  display: flex;
+  align-items: center;
+  justify-content: space-between;
+  height: 44px;
+}
+
+.navbar-left {
+  width: 44px;
+  height: 44px;
+  display: flex;
+  align-items: center;
+  justify-content: center;
+}
+
+.navbar-title {
+  color: rgba(255, 255, 255, 1);
+  font-family: DM Sans;
+  font-size: 30rpx;
+  font-weight: 700;
+  line-height: 52rpx;
+  letter-spacing: 0.5%;
+  text-align: center;
+}
+
+.navbar-right {
+  width: 44px;
+}
+
+/* Filter Section */
+.filter-section {
+  padding: 180rpx 32rpx 32rpx 32rpx;
+}
+
+.filter-buttons {
+  display: flex;
+  gap: 20rpx;
+}
+
+.filter-btn {
+  flex: 1;
+  padding: 16rpx 20rpx;
+  background: rgba(255, 255, 255, 1);
+  border-radius: 12rpx;
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  gap: 12rpx;
+}
+
+.filter-text {
+    color: rgba(1, 107, 246, 1);
+    font-family: DM Sans;
+    font-size: 24rpx;
+    font-weight: 400;
+    line-height: 32rpx;
+    letter-spacing: -0.5px;
+    text-align: center;
+}
+
+/* Content Section */
+.content-section {
+  margin: 0 32rpx 32rpx 32rpx;
+  box-sizing: border-box;
+  background: rgba(255, 255, 255, 1);
+  border-radius: 12rpx;
+  border: 0.5px solid rgba(227, 231, 236, 1);
+  padding: 32rpx 20rpx;
+}
+
+.data-card {
+  background: rgba(255, 255, 255, 1);
+  border-radius: 12rpx;
+  padding: 24rpx; 
+  border: 0.5px solid rgba(227, 231, 236, 1);
+  margin-top: 24rpx;
+}
+
+.hearder-title {
+    color: rgba(23, 23, 37, 1);
+    font-family: DM Sans;
+    font-size: 28rpx;
+    font-weight: 400;
+    line-height: 44rpx;
+    letter-spacing: 0.5%;
+    text-align: left;
+}
+
+ .card-title {
+   display: flex;
+   align-items: center;
+   gap: 12rpx;
+ }
+
+ .card-icon-wrapper {
+   width: 32rpx;
+   height: 32rpx;
+   display: flex;
+   align-items: center;
+   justify-content: center;
+ }
+
+ .card-icon {
+   width: 32rpx;
+   height: 32rpx;
+ }
+
+ .card-title text {
+    color: rgba(102, 102, 102, 1);
+    font-family: DM Sans;
+    font-size: 24rpx;
+    font-weight: 400;
+    line-height: 32rpx;
+    letter-spacing: 0%;
+    text-align: left;
+ }
+
+ .card-content {
+   margin-top: 12rpx;
+ }
+
+ .data-row {
+   display: flex;
+   gap: 24rpx;
+ }
+
+ .data-item {
+//    flex: 1;
+//    display: flex;
+//    flex-direction: column;
+//    align-items: flex-start;
+ }
+
+ .data-label {
+    color: rgba(102, 102, 102, 1);
+    font-family: DM Sans;
+    font-size: 24rpx;
+    font-weight: 400;
+    line-height: 32rpx;
+    letter-spacing: 0%;
+    text-align: left;
+   margin-bottom: 12rpx;
+ }
+
+ .data-value-wrapper {
+   display: flex;
+   align-items: baseline;
+   gap: 4rpx;
+ }
+
+ .data-value {
+    color: rgba(51, 51, 51, 1);
+    font-family: DM Sans;
+    font-size: 40rpx;
+    font-weight: 400;
+    line-height: 52rpx;
+    letter-spacing: 0%;
+    text-align: left;
+ }
+
+ .data-unit {
+   color: rgba(153, 153, 153, 1);
+   font-family: DM Sans;
+   font-size: 24rpx;
+   font-weight: 400;
+   line-height: 32rpx;
+ }
+</style>

+ 506 - 0
pages/recruitmentData/index.vue

@@ -0,0 +1,506 @@
+<template>
+  <view class="page">
+    <!-- 自定义导航栏 -->
+    <view class="custom-navbar" :style="{ paddingTop: statusBarHeight + 'px' }">
+      <view class="navbar-content">
+        <view class="navbar-left" @click="goBack">
+          <u-icon name="arrow-leftward" color="white" size="36"></u-icon>
+        </view>
+        <view class="navbar-title">招聘数据</view>
+        <view class="navbar-right"></view>
+      </view>
+    </view>
+
+    <!-- 头部区域 -->
+    <view class="header-section">
+      <view class="header-content">
+        <view class="main-title">我的招聘数据</view>
+        <view class="week-data-btn" @click="toggleWeekData">
+          <image src="/static/images/zhoushuju.svg" class="week-icon" mode="aspectFit"></image>
+          <text class="btn-text">周数据</text>
+        </view>
+      </view>
+    </view>
+
+    <!-- 内容区域 -->
+    <view class="content-section">
+      <!-- 今日数据卡片 -->
+      <view class="today-data-card">
+        <view class="card-header">
+          <view class="card-title">
+            <text>今日数据</text>
+            <image src="/static/images/qiehuan.svg" class="switch-icon" mode="aspectFit" @click="goToDataCenter"></image>
+          </view>
+          <view class="filter-btn" @click="goToDataCenter">
+            <text class="filter-text">亚马逊运营总监</text>
+            <u-icon name="arrow-down" color="#016BF6" size="16"></u-icon>
+          </view>
+        </view>
+        
+        <view class="data-grid">
+          <view 
+            class="data-item" 
+            v-for="(item, index) in todayData" 
+            :key="index"
+            @click="showDetail(item)"
+        >
+            <view class="data-title">{{ item.title }}</view>
+              <view class="data-compare">
+                <view class="data-number">{{ item.number }}</view>
+                    <view class="data-compare-text">
+                        <text class="compare-text">较昨日</text>
+                        <text class="compare-change">{{ item.change }}</text>
+                        <u-icon name="arrow-right" color="#999" size="24"></u-icon>
+                    </view>
+               </view>
+            </view>
+        </view>
+      </view>
+
+      <!-- 今日权益使用量卡片 -->
+      <view class="benefits-card">
+        <view class="card-title">今日权益使用量</view>
+        
+        <view class="benefits-list">
+          <view 
+            class="benefit-item" 
+            v-for="(benefit, index) in benefitsData" 
+            :key="index"
+          >
+            <!-- 图标、查看和急聘标签区域 -->
+            <view class="benefit-header">
+              <view class="benefit-icon-container">
+                <image src="/static/images/eye.svg" class="benefit-icon" mode="aspectFit"></image>
+                <text class="benefit-action">{{ benefit.action }}</text>
+                <text v-if="benefit.isUrgent" class="urgent-tag">急聘</text>
+              </view>
+            </view>
+            
+            <!-- 招聘职位和进度条区域 -->
+            <view class="benefit-content">
+              <view class="benefit-type-container">
+                <text class="benefit-type">{{ benefit.type }}</text>
+              </view>
+              
+              <view class="progress-container">
+                <u-line-progress 
+                  :percent="(benefit.used / benefit.total * 100)"
+                  :show-percent="false"
+                  :height="12"
+                  active-color="#016BF6"
+                  inactive-color="#E3E7EC"
+                ></u-line-progress>
+                <text class="progress-text">{{ benefit.used }}/{{ benefit.total }}</text>
+              </view>
+            </view>
+          </view>
+        </view>
+      </view>
+    </view>
+  </view>
+</template>
+
+<script>
+export default {
+  data() {
+    return {
+      statusBarHeight: 0,
+      todayData: [
+        { title: '我看过', number: 1120, change: -9 },
+        { title: '看过我', number: 1120, change: -9 },
+        { title: '我沟通', number: 1120, change: -9 },
+        { title: '求职者沟通', number: 1120, change: -9 },
+        { title: '收获简历', number: 1120, change: -9 },
+        { title: '交换电话微信', number: 1120, change: -9 },
+        { title: '接受面试', number: 1120, change: -9 }
+      ],
+      benefitsData: [
+        {
+          action: '查看',
+          type: '招聘职位',
+          used: 4,
+          total: 10,
+          isUrgent: false
+        },
+        {
+          action: '沟通',
+          type: '招聘职位',
+          used: 4,
+          total: 10,
+          isUrgent: false
+        },
+        {
+          action: '查看',
+          type: '急聘职位',
+          used: 4,
+          total: 10,
+          isUrgent: true
+        },
+        {
+          action: '沟通',
+          type: '急聘职位',
+          used: 4,
+          total: 10,
+          isUrgent: true
+        }
+      ]
+    }
+  },
+  onLoad() {
+    // 获取状态栏高度
+    const systemInfo = uni.getSystemInfoSync()
+    this.statusBarHeight = systemInfo.statusBarHeight || 0
+  },
+  methods: {
+    goBack() {
+      uni.navigateBack()
+    },
+    goToDataCenter() {
+      uni.navigateTo({
+        url: '/pages/recruitmentData/dataCenter'
+      })
+    },
+    toggleWeekData() {
+      // 切换周数据视图
+      console.log('切换周数据')
+    },
+    showDetail(item) {
+      // 显示详情
+      console.log('显示详情:', item)
+    }
+  }
+}
+</script>
+
+<style lang="scss" scoped>
+.page {
+    background: linear-gradient(180.00deg, rgba(255, 102, 0, 1),rgba(255, 102, 0, 0) 100%);
+    background-size: 100% 40%;
+    background-position: center top;
+    background-repeat: no-repeat;
+}
+
+/* 自定义导航栏 */
+.custom-navbar {
+  position: fixed;
+  top: 80rpx;
+  left: 0;
+  right: 0;
+  z-index: 1000;
+}
+
+.navbar-content {
+  display: flex;
+  align-items: center;
+  justify-content: space-between;
+  height: 44px;
+  padding: 0 20rpx;
+}
+
+.navbar-left {
+  width: 44px;
+  height: 44px;
+  display: flex;
+  align-items: center;
+  justify-content: center;
+}
+
+
+.navbar-title {
+    color: rgba(255, 255, 255, 1);  
+    font-family: DM Sans;
+    font-size: 30rpx;
+    font-weight: 700;
+    line-height: 52rpx;
+    letter-spacing: 0.5%;
+    text-align: center;
+}
+
+.navbar-right {
+  width: 44px;
+}
+
+/* 头部区域 */
+.header-section {
+  padding: 180rpx 32rpx  0rpx 32rpx;
+}
+
+.header-content {
+  display: flex;
+  align-items: center;
+  justify-content: space-between;
+}
+
+.main-title {
+    color: rgba(255, 255, 255, 1);
+    font-family: DM Sans;
+    font-size: 48rpx;
+    font-weight: 700;
+    line-height: 60rpx;
+    letter-spacing: 0px;
+    text-align: left;
+}
+
+.week-data-btn {
+  background: rgba(255, 255, 255, 1);
+  border-radius: 20px;
+  padding: 12rpx 28rpx;
+  display: flex;
+  align-items: center;
+  gap: 8rpx;
+}
+
+.week-icon {
+  width: 32rpx;
+  height: 32rpx;
+}
+
+.btn-text {
+    color: rgba(1, 107, 246, 1);
+    font-family: DM Sans;
+    font-size: 24rpx;
+    font-weight: 400;
+    line-height: 32rpx;
+    letter-spacing: 0%;
+    text-align: left;
+}
+
+.calendar-icon {
+  color: white;
+  font-size: 12px;
+}
+
+/* 内容区域 */
+.content-section {
+  padding: 32rpx;
+}
+
+/* 今日数据卡片 */
+.today-data-card {
+    padding: 32rpx 20rpx;
+    box-sizing: border-box;
+    border: 0.5px solid rgba(227, 231, 236, 1);
+    border-radius: 6px;
+    background: rgba(255, 255, 255, 1);
+    margin-bottom: 20rpx;
+}
+
+.card-header {
+  display: flex;
+  align-items: center;
+  justify-content: space-between;
+  margin-bottom: 16px;
+}
+
+.card-title {
+    color: rgba(23, 23, 37, 1);
+    font-family: DM Sans;
+    font-size: 28rpx;
+    font-weight: 400;
+    line-height: 44rpx;
+    letter-spacing: 0.5%;
+    text-align: left;
+}
+
+.switch-icon {
+  width: 18rpx;
+  height: 18rpx;
+  margin-left: 12rpx;
+}
+
+.filter-btn {
+    padding: 8rpx;
+    box-sizing: border-box;
+    border: 0.5px solid rgba(1, 107, 246, 1);
+    border-radius: 8rpx;
+    background: rgba(252, 233, 220, 1);
+    display: flex;
+    align-items: center;
+    justify-content: center;
+    gap: 8rpx;
+}
+
+.filter-text {
+    color: rgba(1, 107, 246, 1);
+    font-family: DM Sans;
+    font-size: 16rpx;
+    font-weight: 400;
+    line-height: 20rpx;
+}
+
+/* 数据网格 */
+.data-grid {
+  display: grid;
+  grid-template-columns: 1fr 1fr;
+  gap: 12px;
+}
+
+.data-item {
+    padding: 24rpx;
+    box-sizing: border-box;
+    border: 0.5px solid rgba(227, 231, 236, 1);
+    border-radius: 6px;
+    background: rgba(255, 255, 255, 1);
+}
+
+.data-title {
+    color: rgba(102, 102, 102, 1);
+    font-family: DM Sans;
+    font-size: 24rpx;
+    font-weight: 400;
+    line-height: 32rpx;
+    letter-spacing: 0%;
+    text-align: left;
+}
+
+.data-number {
+    color: rgba(51, 51, 51, 1);
+    font-family: DM Sans;
+    font-size: 40rpx;
+    font-weight: 400;
+    line-height: 52rpx;
+    letter-spacing: 0%;
+    text-align: left;
+}
+
+.data-compare-text {
+    gap: 8rpx;
+    display: flex;
+    align-items: center;
+    justify-content: space-between;
+}
+
+.data-compare {
+  display: flex;
+  align-items: center;
+  justify-content: space-between;
+}
+
+.compare-text {
+    color: rgba(153, 153, 153, 1);
+    font-family: DM Sans;
+    font-size: 20rpx;
+    font-weight: 400;
+    line-height: 26rpx;
+    letter-spacing: 0%;
+    text-align: left;
+}
+
+.compare-change {
+    color: var(--016BF6, rgba(1, 107, 246, 1));
+    font-family: DM Sans;
+    font-size: 20rpx;
+    font-weight: 400;
+    line-height: 26rpx;
+    letter-spacing: 0%;
+    text-align: left;
+}
+
+
+/* 权益使用量卡片 */
+.benefits-card {
+    padding: 32rpx 20rpx;
+    box-sizing: border-box;
+    border: 0.5px solid rgba(227, 231, 236, 1);
+    border-radius: 6px;
+    background: rgba(255, 255, 255, 1);
+}
+
+.benefits-list {
+  margin-top: 32rpx;
+}
+
+.benefit-item {
+  background: rgba(255, 255, 255, 1);
+  border: 0.5px solid rgba(227, 231, 236, 1);
+  border-radius: 6px;
+  padding: 24rpx;
+  margin-bottom: 16rpx;
+}
+
+.benefit-item:last-child {
+  margin-bottom: 0;
+}
+
+.benefit-header {
+  display: flex;
+  align-items: center;
+  gap: 16rpx;
+  margin-bottom: 16rpx;
+}
+
+.benefit-icon-container {
+  display: flex;
+  align-items: center;
+  gap: 16rpx;
+}
+
+.benefit-action {
+    color: rgba(102, 102, 102, 1);
+    font-family: DM Sans;
+    font-size: 24rpx;
+    font-weight: 400;
+    line-height: 32rpx;
+    letter-spacing: 0%;
+    text-align: left;
+}
+
+.benefit-icon {
+  width: 32rpx;
+  height: 32rpx;
+}
+
+.benefit-content {
+  display: flex;
+  align-items: center;
+  justify-content: space-between;
+  gap: 16rpx;
+}
+
+.benefit-type-container {
+  display: flex;
+  align-items: center;
+  gap: 8rpx;
+}
+
+.benefit-type {
+    color: rgba(153, 153, 153, 1);
+    font-family: DM Sans;   
+    font-size: 20rpx;
+    font-weight: 400;
+    line-height: 26rpx;
+    letter-spacing: 0%;
+    text-align: left;
+}
+
+.urgent-tag {
+  background: rgba(236, 225, 253, 1);
+  padding: 8rpx;
+  border: 1px solid rgba(106, 84, 214, 1);
+  border-radius: 8rpx;
+  color: rgba(106, 84, 214, 1);
+  font-family: DM Sans;
+  font-size: 16rpx;
+  font-weight: 400;
+  line-height: 20rpx;
+  letter-spacing: 0%;
+  text-align: left;
+}
+
+.progress-container {
+  display: flex;
+  align-items: center;
+  gap: 16rpx;
+  flex: 1;
+}
+
+.progress-text {
+  color: rgba(153, 153, 153, 1);
+  font-family: DM Sans;
+  font-size: 20rpx;
+  font-weight: 400;
+  line-height: 26rpx;
+  min-width: 60rpx;
+  text-align: right;
+}
+</style>

ファイルの差分が大きいため隠しています
+ 8 - 0
static/images/eye.svg


+ 113 - 0
static/images/goutong.svg

@@ -0,0 +1,113 @@
+<svg viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16.000000" height="16.000000" fill="none">
+	<rect id="svg 76" width="16.000000" height="16.000000" x="0.000000" y="0.000000" />
+	<path id="矢量 73" d="M6.24512 0.217055L9.74273 0.217055C9.17905 0.0905791 8.59351 0.0234375 7.99236 0.0234375C7.39277 0.0249989 6.80723 0.0921405 6.24512 0.217055L6.24512 0.217055Z" fill="rgb(0,217,149)" fill-rule="nonzero" />
+	<path id="矢量 74" d="M5.33447 0.477948L10.6543 0.481071C10.3576 0.376455 10.0547 0.289014 9.7424 0.21875L6.24479 0.21875C5.93406 0.285892 5.62958 0.373332 5.33447 0.477948L5.33447 0.477948Z" fill="rgb(1,217,150)" fill-rule="nonzero" />
+	<path id="矢量 75" d="M4.68652 0.738883L11.3008 0.740445C11.09 0.645197 10.8729 0.557757 10.6543 0.478124L5.33452 0.476562C5.11436 0.556196 4.89732 0.643636 4.68652 0.738883L4.68652 0.738883Z" fill="rgb(1,217,151)" fill-rule="nonzero" />
+	<path id="矢量 76" d="M4.16357 1.0006L11.8208 1.00216C11.6506 0.910039 11.4773 0.822599 11.2978 0.739843L4.68353 0.738281C4.50865 0.821037 4.33533 0.906916 4.16357 1.0006Z" fill="rgb(1,216,152)" fill-rule="nonzero" />
+	<path id="矢量 77" d="M3.72168 1.26232L12.2658 1.26388C12.1206 1.17332 11.9739 1.08588 11.824 1.00156L4.16669 1C4.01367 1.08432 3.86689 1.17176 3.72168 1.26232L3.72168 1.26232Z" fill="rgb(1,216,153)" fill-rule="nonzero" />
+	<path id="矢量 78" d="M3.33447 1.52404L12.6531 1.5256C12.5266 1.43504 12.3986 1.3476 12.2659 1.26328L3.72171 1.26172C3.59055 1.34604 3.46095 1.43348 3.33447 1.52404Z" fill="rgb(1,216,154)" fill-rule="nonzero" />
+	<path id="矢量 79" d="M2.99072 1.78576L12.9948 1.78732C12.8824 1.69676 12.7684 1.61088 12.6513 1.525L3.33268 1.52344C3.21869 1.60775 3.10315 1.6952 2.99072 1.78576L2.99072 1.78576Z" fill="rgb(1,215,155)" fill-rule="nonzero" />
+	<path id="矢量 80" d="M2.68164 2.04357L13.3041 2.04513C13.2041 1.95613 13.1011 1.86869 12.9949 1.78281L2.9908 1.78125C2.88775 1.86713 2.78313 1.95301 2.68164 2.04357L2.68164 2.04357Z" fill="rgb(1,215,156)" fill-rule="nonzero" />
+	<path id="矢量 81" d="M2.40381 2.30529L13.5852 2.30685C13.4947 2.21785 13.401 2.13041 13.3057 2.04453L2.68331 2.04297C2.58806 2.12885 2.49437 2.21629 2.40381 2.30529L2.40381 2.30529Z" fill="rgb(2,215,157)" fill-rule="nonzero" />
+	<path id="矢量 82" d="M2.14941 2.56701L13.8399 2.56857C13.7555 2.47957 13.6728 2.39213 13.5853 2.30625L2.40237 2.30469C2.31649 2.39057 2.23061 2.47801 2.14941 2.56701L2.14941 2.56701Z" fill="rgb(2,215,158)" fill-rule="nonzero" />
+	<path id="矢量 83" d="M1.91504 2.83107L14.0708 2.83263C13.9958 2.74363 13.9178 2.65619 13.8397 2.57031L2.14925 2.57031C2.06806 2.65619 1.99155 2.74207 1.91504 2.83107L1.91504 2.83107Z" fill="rgb(2,214,159)" fill-rule="nonzero" />
+	<path id="矢量 84" d="M1.70117 3.09045L14.2848 3.09201C14.2145 3.00301 14.1442 2.91557 14.0708 2.82969L1.91509 2.82812C1.8417 2.914 1.77144 3.00144 1.70117 3.09045L1.70117 3.09045Z" fill="rgb(2,214,160)" fill-rule="nonzero" />
+	<path id="矢量 85" d="M1.50439 3.35216L14.4799 3.35373C14.4159 3.26472 14.3519 3.17728 14.2832 3.09141L1.69957 3.08984C1.63555 3.17885 1.56841 3.26629 1.50439 3.35216L1.50439 3.35216Z" fill="rgb(2,214,161)" fill-rule="nonzero" />
+	<path id="矢量 86" d="M1.32471 3.61388L14.6609 3.61544C14.6016 3.52644 14.5407 3.44056 14.4813 3.35312L1.50583 3.35156C1.44494 3.43744 1.38404 3.52488 1.32471 3.61388L1.32471 3.61388Z" fill="rgb(2,213,162)" fill-rule="nonzero" />
+	<path id="矢量 87" d="M1.15918 3.87404L14.8264 3.87716C14.7733 3.78816 14.7171 3.70228 14.6609 3.61484L1.32469 3.61328C1.26692 3.69916 1.21227 3.7866 1.15918 3.87404L1.15918 3.87404Z" fill="rgb(2,213,163)" fill-rule="nonzero" />
+	<path id="矢量 88" d="M1.00781 4.13732L14.9795 4.14044C14.9295 4.053 14.8796 3.96556 14.8281 3.87812L1.16083 3.875C1.10774 3.96244 1.05778 4.04832 1.00781 4.13732L1.00781 4.13732Z" fill="rgb(2,213,164)" fill-rule="nonzero" />
+	<path id="矢量 89" d="M0.869141 4.39513L15.1188 4.39826C15.0735 4.31082 15.0282 4.22338 14.9798 4.13594L1.00811 4.13281C0.959704 4.22025 0.912861 4.30769 0.869141 4.39513L0.869141 4.39513Z" fill="rgb(3,212,165)" fill-rule="nonzero" />
+	<path id="矢量 90" d="M0.742676 4.66076L15.2453 4.66388C15.2047 4.57644 15.1609 4.489 15.1188 4.40156L0.869152 4.39844C0.825432 4.48588 0.783273 4.57332 0.742676 4.66076L0.742676 4.66076Z" fill="rgb(3,212,166)" fill-rule="nonzero" />
+	<path id="矢量 91" d="M0.625489 4.91857L15.3592 4.92169C15.3217 4.83425 15.2842 4.74681 15.2436 4.65937L0.741034 4.65625C0.701998 4.74525 0.662963 4.83113 0.625488 4.91857L0.625489 4.91857Z" fill="rgb(3,212,167)" fill-rule="nonzero" />
+	<path id="矢量 92" d="M0.522461 5.18029L15.4654 5.18341C15.431 5.09597 15.3982 5.00853 15.3623 4.92109L0.628638 4.91797C0.589603 5.00541 0.555251 5.09285 0.522461 5.18029L0.522461 5.18029Z" fill="rgb(3,212,168)" fill-rule="nonzero" />
+	<path id="矢量 93" d="M0.427246 5.44201L15.5575 5.44513C15.5279 5.35769 15.4966 5.27025 15.4623 5.18281L0.519371 5.17969C0.488142 5.26557 0.458475 5.35301 0.427246 5.44201L0.427246 5.44201Z" fill="rgb(3,211,169)" fill-rule="nonzero" />
+	<path id="矢量 94" d="M0.344239 5.70373L15.6416 5.70685C15.615 5.61941 15.5885 5.53197 15.5573 5.44453L0.426994 5.44141C0.398888 5.52885 0.370783 5.61629 0.344238 5.70373L0.344239 5.70373Z" fill="rgb(3,211,170)" fill-rule="nonzero" />
+	<path id="矢量 95" d="M0.270996 5.96545L15.7151 5.96857C15.6917 5.88113 15.6667 5.79369 15.6417 5.70625L0.344383 5.70312C0.3194 5.79057 0.294418 5.87644 0.270996 5.96545L0.270996 5.96545Z" fill="rgb(3,211,171)" fill-rule="nonzero" />
+	<path id="矢量 96" d="M0.207031 6.22716L15.7792 6.23029C15.7589 6.14285 15.7386 6.05541 15.7152 5.96797L0.27105 5.96484C0.247629 6.05228 0.225768 6.13972 0.207031 6.22716L0.207031 6.22716Z" fill="rgb(4,210,172)" fill-rule="nonzero" />
+	<path id="矢量 97" d="M0.150879 6.48888L15.8339 6.49201C15.8167 6.40457 15.798 6.31713 15.7793 6.22969L0.207091 6.22656C0.186792 6.314 0.168055 6.40144 0.150879 6.48888L0.150879 6.48888Z" fill="rgb(4,210,173)" fill-rule="nonzero" />
+	<path id="矢量 98" d="M0.105469 6.7467L15.8806 6.74982C15.8666 6.66238 15.8525 6.57494 15.8338 6.4875L0.15075 6.48438C0.133575 6.57182 0.119522 6.65926 0.105469 6.7467Z" fill="rgb(4,210,174)" fill-rule="nonzero" />
+	<path id="矢量 99" d="M0.0678711 7.01232L15.9164 7.01544C15.9055 6.928 15.893 6.84056 15.8789 6.75312L0.103784 6.75C0.0912926 6.83744 0.0788011 6.92488 0.0678711 7.01232Z" fill="rgb(4,209,175)" fill-rule="nonzero" />
+	<path id="矢量 100" d="M0.0400391 7.27013L15.9464 7.27326C15.937 7.18582 15.9292 7.09838 15.9182 7.01094L0.0681448 7.00781C0.0572148 7.09525 0.0478462 7.18269 0.0400391 7.27013L0.0400391 7.27013Z" fill="rgb(4,209,176)" fill-rule="nonzero" />
+	<path id="矢量 101" d="M0.0195312 7.53576L15.9649 7.53888C15.9602 7.45144 15.9524 7.364 15.9446 7.27812L0.0398299 7.27344C0.0320227 7.36088 0.0242155 7.44832 0.0195313 7.53576L0.0195312 7.53576Z" fill="rgb(4,209,177)" fill-rule="nonzero" />
+	<path id="矢量 102" d="M0.00878906 7.79592L15.976 7.79904C15.9744 7.7116 15.9713 7.62416 15.9651 7.53828L0.0197191 7.53516C0.0150348 7.6226 0.0103505 7.70848 0.00878906 7.79592Z" fill="rgb(4,209,178)" fill-rule="nonzero" />
+	<path id="矢量 103" d="M0.00849395 7.79297C0.00693252 7.86323 0.00537109 7.93662 0.00537109 8.01001L0.00537109 8.05529L15.9773 8.05841L15.9773 8.01001C15.9773 7.93818 15.9757 7.86792 15.9741 7.79609" fill="rgb(5,208,179)" fill-rule="nonzero" />
+	<path id="矢量 104" d="M0.0115202 8.31701L15.9725 8.32013C15.9756 8.23269 15.9772 8.14525 15.9772 8.05781L0.00683594 8.05469C0.00683594 8.14213 0.00839737 8.22957 0.0115202 8.31701L0.0115202 8.31701Z" fill="rgb(5,208,180)" fill-rule="nonzero" />
+	<path id="矢量 105" d="M0.0273331 8.57873L15.9602 8.58185C15.9649 8.49441 15.9711 8.40697 15.9742 8.31953L0.0117188 8.31641C0.0148416 8.40541 0.0195259 8.49129 0.0273331 8.57873L0.0273331 8.57873Z" fill="rgb(5,208,181)" fill-rule="nonzero" />
+	<path id="矢量 106" d="M0.0476424 8.84045L15.9352 8.84357C15.9446 8.75613 15.9508 8.66869 15.9586 8.58125L0.0273438 8.57812C0.032028 8.66557 0.0398352 8.75301 0.0476424 8.84045Z" fill="rgb(5,207,182)" fill-rule="nonzero" />
+	<path id="矢量 107" d="M0.0805451 9.10217L15.9057 9.10529C15.9182 9.01785 15.9275 8.93041 15.9385 8.84297L0.0493164 8.83984C0.0571236 8.92885 0.0680536 9.01629 0.0805451 9.10216L0.0805451 9.10217Z" fill="rgb(5,207,183)" fill-rule="nonzero" />
+	<path id="矢量 108" d="M0.119602 9.36388L15.8651 9.36701C15.8791 9.27957 15.8932 9.19369 15.9057 9.10469L0.0805664 9.10156C0.0914964 9.189 0.105549 9.27644 0.119602 9.36388Z" fill="rgb(5,207,184)" fill-rule="nonzero" />
+	<path id="矢量 109" d="M0.169595 9.62248L15.8167 9.6256C15.8339 9.53816 15.8511 9.45228 15.8667 9.36328L0.119629 9.36328C0.135243 9.45072 0.150858 9.53816 0.169595 9.62248L0.169595 9.62248Z" fill="rgb(5,206,185)" fill-rule="nonzero" />
+	<path id="矢量 110" d="M0.225742 9.88732L15.7558 9.89044C15.7776 9.80457 15.7963 9.71712 15.8151 9.62812L0.167969 9.625C0.186706 9.71244 0.207005 9.79988 0.225742 9.88732L0.225742 9.88732Z" fill="rgb(6,206,186)" fill-rule="nonzero" />
+	<path id="矢量 111" d="M0.294289 10.1451L15.6885 10.1483C15.7119 10.0624 15.7353 9.97494 15.7556 9.88594L0.225586 9.88281C0.247446 9.97181 0.270867 10.0593 0.294289 10.1451Z" fill="rgb(6,206,187)" fill-rule="nonzero" />
+	<path id="矢量 112" d="M0.370943 10.4069L15.6121 10.41C15.6386 10.3241 15.6652 10.2367 15.6886 10.1477L0.294434 10.1445C0.319417 10.2335 0.344399 10.3194 0.370944 10.4069L0.370943 10.4069Z" fill="rgb(6,206,189)" fill-rule="nonzero" />
+	<path id="矢量 113" d="M0.458046 10.6686L15.5243 10.6717C15.554 10.5858 15.5836 10.4984 15.6117 10.4094L0.370605 10.4062C0.398711 10.4953 0.426817 10.5827 0.458046 10.6686L0.458046 10.6686Z" fill="rgb(6,205,190)" fill-rule="nonzero" />
+	<path id="矢量 114" d="M0.556769 10.9303L15.4279 10.9334C15.4622 10.8475 15.4934 10.7601 15.5262 10.6711L0.459961 10.668C0.489628 10.757 0.522418 10.8444 0.55677 10.9303L0.556769 10.9303Z" fill="rgb(6,205,191)" fill-rule="nonzero" />
+	<path id="矢量 115" d="M0.664379 11.192L15.32 11.1951C15.3575 11.1093 15.3934 11.0218 15.4293 10.9328L0.556641 10.9297C0.589431 11.0171 0.626905 11.1046 0.664379 11.192L0.664379 11.192Z" fill="rgb(6,205,192)" fill-rule="nonzero" />
+	<path id="矢量 116" d="M0.782829 11.4537L15.1995 11.4568C15.2401 11.371 15.2792 11.2835 15.3198 11.1945L0.662598 11.1914C0.701633 11.2804 0.742231 11.3678 0.782828 11.4537L0.782829 11.4537Z" fill="rgb(6,204,193)" fill-rule="nonzero" />
+	<path id="矢量 117" d="M0.91446 11.7154L15.0688 11.7186C15.1141 11.6327 15.1578 11.5452 15.1984 11.4562L0.781738 11.4531C0.825458 11.5421 0.87074 11.628 0.91446 11.7154Z" fill="rgb(7,204,194)" fill-rule="nonzero" />
+	<path id="矢量 118" d="M1.05781 11.9772L14.9249 11.9803C14.9749 11.8944 15.0233 11.807 15.067 11.718L0.912598 11.7148C0.961002 11.8038 1.00941 11.8913 1.05781 11.9772L1.05781 11.9772Z" fill="rgb(7,204,195)" fill-rule="nonzero" />
+	<path id="矢量 119" d="M1.21415 12.2389L14.7689 12.242C14.822 12.1561 14.8736 12.0687 14.9267 11.9797L1.05957 11.9766C1.10954 12.0656 1.16106 12.153 1.21415 12.2389L1.21415 12.2389Z" fill="rgb(7,203,196)" fill-rule="nonzero" />
+	<path id="矢量 120" d="M1.38562 12.5006L14.5985 12.5037C14.6578 12.4178 14.714 12.3304 14.7702 12.2414L1.21387 12.2383C1.27008 12.3273 1.32629 12.4147 1.38562 12.5006L1.38562 12.5006Z" fill="rgb(7,203,197)" fill-rule="nonzero" />
+	<path id="矢量 121" d="M1.57146 12.7584L14.4142 12.7615C14.4783 12.6757 14.5392 12.5882 14.6 12.4992L1.38721 12.4961C1.44498 12.5867 1.50588 12.6741 1.57146 12.7584L1.57146 12.7584Z" fill="rgb(7,203,198)" fill-rule="nonzero" />
+	<path id="矢量 122" d="M1.77291 13.0217L14.2097 13.0233C14.28 12.9374 14.3471 12.8499 14.4111 12.7609L1.56836 12.7578C1.6355 12.8499 1.70264 12.9374 1.77291 13.0217L1.77291 13.0217Z" fill="rgb(7,203,199)" fill-rule="nonzero" />
+	<path id="矢量 123" d="M1.99155 13.2819L13.988 13.2834C14.063 13.1975 14.1364 13.1101 14.2098 13.0211L1.77295 13.0195C1.84321 13.1085 1.9166 13.196 1.99155 13.2819L1.99155 13.2819Z" fill="rgb(7,202,200)" fill-rule="nonzero" />
+	<path id="矢量 124" d="M2.23206 13.5436L13.7492 13.5451C13.8319 13.4593 13.9116 13.3718 13.9897 13.2828L1.99316 13.2812C2.06967 13.3703 2.15087 13.4577 2.23206 13.5436L2.23206 13.5436Z" fill="rgb(8,202,201)" fill-rule="nonzero" />
+	<path id="矢量 125" d="M2.49582 13.8076L13.4867 13.8092C13.5757 13.7233 13.6647 13.6359 13.7506 13.5469L2.23193 13.5469C2.31781 13.6359 2.40525 13.7233 2.49582 13.8076Z" fill="rgb(8,202,202)" fill-rule="nonzero" />
+	<path id="矢量 126" d="M2.78506 14.067L13.1967 14.0686C13.2951 13.9827 13.3903 13.8968 13.4856 13.8062L2.49463 13.8047C2.58988 13.8937 2.68825 13.9811 2.78506 14.067Z" fill="rgb(8,201,203)" fill-rule="nonzero" />
+	<path id="矢量 127" d="M3.10476 14.3272L12.8762 14.3287C12.9855 14.2444 13.0917 14.157 13.1979 14.0664L2.78467 14.0664C2.88928 14.157 2.99546 14.2444 3.10476 14.3272Z" fill="rgb(8,201,204)" fill-rule="nonzero" />
+	<path id="矢量 128" d="M3.2907 14.4671L12.6921 14.4687C12.7545 14.4234 12.817 14.3765 12.8779 14.3297L3.10645 14.3281C3.16578 14.3765 3.22824 14.4234 3.29069 14.4671L3.2907 14.4671ZM7.99217 16.0004C9.74878 16.0004 11.3742 15.4336 12.6921 14.4718L3.2907 14.4702C4.61011 15.4305 6.234 16.0004 7.99217 16.0004Z" fill="rgb(8,201,204)" fill-rule="nonzero" />
+	<path id="矢量 129" d="M9.75053 3.96484L4.4885 3.96484C4.19495 3.96484 3.95605 4.20374 3.95605 4.49729L3.95605 10.7196L5.0553 11.544L5.84227 10.9554L6.69168 11.5503L7.43961 10.8929L7.43961 8.60698C7.43961 8.07922 7.86901 7.64826 8.39833 7.64826L10.2814 7.64826L10.2814 4.49729C10.283 4.20374 10.0441 3.96484 9.75053 3.96484M4.93976 5.12343L6.85251 5.12343C6.97118 5.12343 7.06643 5.21867 7.06643 5.33578C7.06643 5.45289 6.97118 5.54814 6.85251 5.54814L4.93976 5.54814C4.82265 5.54814 4.7274 5.45289 4.7274 5.33578C4.7274 5.21867 4.82265 5.12343 4.93976 5.12343ZM6.85407 7.72165L4.93976 7.72165C4.82265 7.72165 4.7274 7.6264 4.7274 7.5093C4.7274 7.39219 4.82265 7.29694 4.93976 7.29694L6.85251 7.29694C6.97118 7.29694 7.06643 7.39219 7.06643 7.5093C7.06643 7.6264 6.97118 7.72165 6.85407 7.72165ZM7.59419 6.60054L4.93976 6.60054C4.82265 6.60054 4.7274 6.5053 4.7274 6.38819C4.7274 6.27108 4.82265 6.17583 4.93976 6.17583L7.59419 6.17583C7.7113 6.17583 7.80811 6.27108 7.80811 6.38819C7.80811 6.5053 7.7113 6.60054 7.59419 6.60054Z" fill="rgb(255,255,255)" fill-rule="nonzero" />
+	<path id="矢量 130" d="M11.88 8.07422L8.4011 8.07422C8.10755 8.07422 7.86865 8.31312 7.86865 8.60667L7.86865 11.1534C7.86865 11.4469 8.10755 11.6858 8.4011 11.6858L9.88915 11.6858L11.2429 12.365C11.3085 12.4041 11.3819 12.4244 11.4568 12.4244C11.5208 12.4244 11.5864 12.4088 11.6473 12.3775C11.7863 12.3057 11.8737 12.1652 11.8737 12.0075L11.8737 11.6858L11.8831 11.6858C12.1766 11.6858 12.4155 11.4469 12.4155 11.1534L12.4155 8.60667C12.4124 8.31312 12.1735 8.07422 11.88 8.07422ZM9.55812 10.1337C9.3848 10.1337 9.24428 9.99322 9.24428 9.8199C9.24428 9.64658 9.3848 9.50449 9.55812 9.50449C9.73144 9.50449 9.87197 9.64502 9.87197 9.8199C9.87197 9.99322 9.73144 10.1337 9.55812 10.1337ZM10.723 10.1337C10.5496 10.1337 10.4091 9.99322 10.4091 9.8199C10.4091 9.64658 10.5496 9.50449 10.723 9.50449C10.8963 9.50449 11.0368 9.64502 11.0368 9.8199C11.0368 9.99322 10.8963 10.1337 10.723 10.1337Z" fill="rgb(255,255,255)" fill-rule="nonzero" />
+	<path id="矢量 131" d="M7.86719 9.96343L9.2756 9.96343C9.25374 9.92127 9.24281 9.87287 9.24281 9.82134C9.24281 9.64802 9.38334 9.50749 9.55666 9.50749C9.72998 9.50749 9.87051 9.64802 9.87051 9.82134C9.87051 9.87287 9.85802 9.91971 9.83772 9.96343L10.442 9.96343C10.4201 9.92127 10.4092 9.87287 10.4092 9.82134C10.4092 9.64802 10.5497 9.50749 10.723 9.50749C10.8964 9.50749 11.0369 9.64802 11.0369 9.82134C11.0369 9.87287 11.0244 9.91971 11.0041 9.96343L12.4125 9.96343L12.4125 9.04843L7.86719 9.03906L7.86719 9.96343L7.86719 9.96343Z" fill="rgb(255,255,255)" fill-rule="nonzero" />
+	<path id="矢量 132" d="M7.86719 9.03903L12.4125 9.0484L12.4125 9.00937L7.86719 9L7.86719 9.03903Z" fill="rgb(255,255,255)" fill-rule="nonzero" />
+	<path id="矢量 133" d="M7.86719 8.99997L12.4125 9.00934L12.4125 8.97031L7.86719 8.96094L7.86719 8.99997Z" fill="rgb(252,255,254)" fill-rule="nonzero" />
+	<path id="矢量 134" d="M7.86719 8.96091L12.4125 8.97028L12.4125 8.92968L7.86719 8.92188L7.86719 8.96091Z" fill="rgb(250,255,254)" fill-rule="nonzero" />
+	<path id="矢量 135" d="M7.86719 8.92341L12.4125 8.93122L12.4125 8.89218L7.86719 8.88281L7.86719 8.92341Z" fill="rgb(247,254,253)" fill-rule="nonzero" />
+	<path id="矢量 136" d="M7.86719 8.88279L12.4125 8.89215L12.4125 8.85312L7.86719 8.84375L7.86719 8.88279Z" fill="rgb(244,254,253)" fill-rule="nonzero" />
+	<path id="矢量 137" d="M7.86719 8.84372L12.4125 8.85309L12.4125 8.81406L7.86719 8.80469L7.86719 8.84372Z" fill="rgb(241,254,252)" fill-rule="nonzero" />
+	<path id="矢量 138" d="M7.86719 8.80466L12.4125 8.81403L12.4125 8.77499L7.86719 8.76562L7.86719 8.80466Z" fill="rgb(239,254,252)" fill-rule="nonzero" />
+	<path id="矢量 139" d="M7.86719 8.76325L12.4125 8.77262L12.4125 8.73203L7.86719 8.72266L7.86719 8.76325Z" fill="rgb(236,254,251)" fill-rule="nonzero" />
+	<path id="矢量 140" d="M7.86719 8.72263L12.4125 8.732L12.4125 8.69296L7.86719 8.68359L7.86719 8.72263Z" fill="rgb(233,254,251)" fill-rule="nonzero" />
+	<path id="矢量 141" d="M7.86719 8.68357L12.4125 8.69294L12.4125 8.6539L7.86719 8.64453L7.86719 8.68357Z" fill="rgb(231,253,250)" fill-rule="nonzero" />
+	<path id="矢量 142" d="M7.86719 8.60703L7.86719 8.6445L12.4125 8.65387L12.4125 8.61484L7.86719 8.60547C7.86875 8.60547 7.86719 8.60703 7.86719 8.60703L7.86719 8.60703Z" fill="rgb(228,253,250)" fill-rule="nonzero" />
+	<path id="矢量 143" d="M7.87021 8.56641C7.86865 8.5789 7.86865 8.59295 7.86865 8.60544L12.414 8.61481L12.414 8.60857C12.414 8.59764 12.414 8.58671 12.4124 8.57578L7.87021 8.56641Z" fill="rgb(225,253,249)" fill-rule="nonzero" />
+	<path id="矢量 144" d="M12.4077 8.53671L7.87334 8.52734C7.87178 8.53983 7.87021 8.55389 7.86865 8.56638L12.4109 8.57575C12.4109 8.56326 12.4093 8.55077 12.4077 8.53671L12.4077 8.53671Z" fill="rgb(223,253,249)" fill-rule="nonzero" />
+	<path id="矢量 145" d="M12.4016 8.49765L7.88281 8.48828C7.87968 8.50077 7.87656 8.51483 7.875 8.52732L12.4094 8.53669C12.4063 8.52419 12.4032 8.51014 12.4016 8.49765Z" fill="rgb(220,253,248)" fill-rule="nonzero" />
+	<path id="矢量 146" d="M12.3908 8.45859L7.89228 8.44922C7.88759 8.46171 7.88447 8.47576 7.88135 8.48825L12.4001 8.49762C12.3986 8.48357 12.3954 8.47108 12.3908 8.45859Z" fill="rgb(217,252,247)" fill-rule="nonzero" />
+	<path id="矢量 147" d="M12.3781 8.41953L7.90614 8.41016C7.90146 8.42265 7.89677 8.4367 7.89209 8.44919L12.3906 8.45856C12.3875 8.44451 12.3828 8.43202 12.3781 8.41953L12.3781 8.41953Z" fill="rgb(215,252,247)" fill-rule="nonzero" />
+	<path id="矢量 148" d="M12.3609 8.38046L7.92489 8.37109C7.91864 8.38358 7.9124 8.39764 7.90771 8.41013L12.3781 8.4195C12.3719 8.40701 12.3672 8.39295 12.3609 8.38046L12.3609 8.38046Z" fill="rgb(212,252,246)" fill-rule="nonzero" />
+	<path id="矢量 149" d="M12.339 8.3414L7.94666 8.33203C7.93886 8.34452 7.93105 8.35858 7.9248 8.37107L12.3608 8.38043C12.3546 8.36794 12.3468 8.35389 12.339 8.3414L12.339 8.3414Z" fill="rgb(209,252,246)" fill-rule="nonzero" />
+	<path id="矢量 150" d="M12.3141 8.30234L7.97332 8.29297C7.96395 8.30546 7.95458 8.31951 7.94678 8.332L12.3391 8.34137C12.3313 8.32732 12.3235 8.31483 12.3141 8.30234L12.3141 8.30234Z" fill="rgb(207,252,245)" fill-rule="nonzero" />
+	<path id="矢量 151" d="M12.2832 8.26171L8.00642 8.25391C7.99549 8.2664 7.98456 8.27889 7.97363 8.29294L12.3144 8.30231C12.3035 8.2867 12.2941 8.27421 12.2832 8.26171L12.2832 8.26171Z" fill="rgb(204,251,245)" fill-rule="nonzero" />
+	<path id="矢量 152" d="M12.2456 8.22265L8.04538 8.21484C8.03133 8.22733 8.01884 8.23983 8.00635 8.25388L12.2831 8.26169C12.2706 8.2492 12.2581 8.23514 12.2456 8.22265L12.2456 8.22265Z" fill="rgb(201,251,244)" fill-rule="nonzero" />
+	<path id="矢量 153" d="M12.1974 8.18359L8.09391 8.17578C8.07674 8.18827 8.05956 8.20076 8.04395 8.21482L12.2442 8.22262C12.2301 8.20857 12.2145 8.19608 12.1974 8.18359L12.1974 8.18359Z" fill="rgb(199,251,244)" fill-rule="nonzero" />
+	<path id="矢量 154" d="M12.1363 8.14453L8.15933 8.13672C8.13591 8.14765 8.11561 8.1617 8.09375 8.17575L12.1972 8.18356C12.1785 8.16951 12.1582 8.15546 12.1363 8.14453Z" fill="rgb(196,251,243)" fill-rule="nonzero" />
+	<path id="矢量 155" d="M12.0456 8.10156L8.26067 8.09375C8.22476 8.10312 8.19197 8.11717 8.15918 8.13279L12.1361 8.14059C12.108 8.12498 12.0768 8.11249 12.0456 8.10156L12.0456 8.10156Z" fill="rgb(193,251,243)" fill-rule="nonzero" />
+	<path id="矢量 156" d="M11.8801 8.07422L8.39971 8.07422C8.35131 8.07422 8.30446 8.08047 8.26074 8.09296L12.0457 8.10076C11.9926 8.08359 11.9379 8.07422 11.8801 8.07422L11.8801 8.07422Z" fill="rgb(191,251,242)" fill-rule="nonzero" />
+	<path id="矢量 157" d="M11.2415 12.3662C11.3071 12.4068 11.3805 12.4255 11.4554 12.4255C11.521 12.4255 11.585 12.4099 11.6459 12.3803C11.7677 12.3178 11.8489 12.2023 11.8676 12.0695L10.645 12.0664L11.2415 12.3662L11.2415 12.3662Z" fill="rgb(255,255,255)" fill-rule="nonzero" />
+	<path id="矢量 158" d="M10.6435 12.0664L11.8661 12.0695C11.8661 12.0648 11.8677 12.0586 11.8677 12.0539L10.6123 12.0508L10.6435 12.0664Z" fill="rgb(255,255,255)" fill-rule="nonzero" />
+	<path id="矢量 159" d="M10.6123 12.0508L11.8677 12.0539C11.8677 12.0492 11.8692 12.043 11.8692 12.0383L10.5811 12.0352L10.6123 12.0508Z" fill="rgb(252,255,254)" fill-rule="nonzero" />
+	<path id="矢量 160" d="M10.581 12.0351L11.8692 12.0383L11.8692 12.0227L10.5498 12.0195L10.581 12.0351L10.581 12.0351Z" fill="rgb(250,255,254)" fill-rule="nonzero" />
+	<path id="矢量 161" d="M10.5499 12.0195L11.8693 12.0226L11.8693 12.007L10.5171 12.0039L10.5499 12.0195Z" fill="rgb(247,254,253)" fill-rule="nonzero" />
+	<path id="矢量 162" d="M10.52 12.0039L11.8706 12.0055L11.8706 11.9898L10.4888 11.9883L10.52 12.0039Z" fill="rgb(244,254,253)" fill-rule="nonzero" />
+	<path id="矢量 163" d="M10.4887 11.9883L11.8706 11.9898L11.8706 11.9742L10.4575 11.9727L10.4887 11.9883Z" fill="rgb(241,254,252)" fill-rule="nonzero" />
+	<path id="矢量 164" d="M10.4575 11.9726L11.8706 11.9742L11.8706 11.9586L10.4263 11.957L10.4575 11.9726Z" fill="rgb(239,254,252)" fill-rule="nonzero" />
+	<path id="矢量 165" d="M10.4262 11.957L11.8706 11.9586L11.8706 11.943L10.395 11.9414L10.4262 11.957Z" fill="rgb(236,254,251)" fill-rule="nonzero" />
+	<path id="矢量 166" d="M10.395 11.9414L11.8706 11.943L11.8706 11.9289L10.3638 11.9258L10.395 11.9414Z" fill="rgb(233,254,251)" fill-rule="nonzero" />
+	<path id="矢量 167" d="M10.3642 11.9258L11.871 11.9289L11.871 11.9133L10.333 11.9102L10.3642 11.9258Z" fill="rgb(231,253,250)" fill-rule="nonzero" />
+	<path id="矢量 168" d="M10.333 11.9101L11.871 11.9133L11.871 11.8977L10.3018 11.8945L10.333 11.9101Z" fill="rgb(228,253,250)" fill-rule="nonzero" />
+	<path id="矢量 169" d="M10.3017 11.8945L11.871 11.8976L11.871 11.882L10.2705 11.8789L10.3017 11.8945Z" fill="rgb(225,253,249)" fill-rule="nonzero" />
+	<path id="矢量 170" d="M10.2705 11.8789L11.871 11.882L11.871 11.8664L10.2393 11.8633L10.2705 11.8789Z" fill="rgb(223,253,249)" fill-rule="nonzero" />
+	<path id="矢量 171" d="M10.2392 11.8633L11.8709 11.8664L11.8709 11.8508L10.208 11.8477L10.2392 11.8633Z" fill="rgb(220,253,248)" fill-rule="nonzero" />
+	<path id="矢量 172" d="M10.208 11.8476L11.8709 11.8508L11.8709 11.8352L10.1768 11.832L10.208 11.8476Z" fill="rgb(217,252,247)" fill-rule="nonzero" />
+	<path id="矢量 173" d="M10.1767 11.832L11.8709 11.8351L11.8709 11.8195L10.1455 11.8164L10.1767 11.832Z" fill="rgb(215,252,247)" fill-rule="nonzero" />
+	<path id="矢量 174" d="M10.1455 11.8164L11.8709 11.8195L11.8709 11.8039L10.1143 11.8008L10.1455 11.8164Z" fill="rgb(212,252,246)" fill-rule="nonzero" />
+	<path id="矢量 175" d="M10.1141 11.8008L11.8708 11.8039L11.8708 11.7883L10.0845 11.7852L10.1141 11.8008Z" fill="rgb(209,252,246)" fill-rule="nonzero" />
+	<path id="矢量 176" d="M10.0845 11.7851L11.8707 11.7883L11.8707 11.7727L10.0532 11.7695L10.0845 11.7851Z" fill="rgb(207,252,245)" fill-rule="nonzero" />
+	<path id="矢量 177" d="M10.0532 11.7695L11.8707 11.7726L11.8707 11.757L10.022 11.7539L10.0532 11.7695Z" fill="rgb(204,251,245)" fill-rule="nonzero" />
+	<path id="矢量 178" d="M10.022 11.7539L11.8707 11.757L11.8707 11.7414L9.99072 11.7383L10.022 11.7539Z" fill="rgb(201,251,244)" fill-rule="nonzero" />
+	<path id="矢量 179" d="M9.9907 11.7383L11.8707 11.7414L11.8707 11.7258L9.95947 11.7227L9.9907 11.7383Z" fill="rgb(199,251,244)" fill-rule="nonzero" />
+	<path id="矢量 180" d="M9.95945 11.7226L11.8706 11.7258L11.8706 11.7102L9.92822 11.707L9.95945 11.7226Z" fill="rgb(196,251,243)" fill-rule="nonzero" />
+	<path id="矢量 181" d="M9.9282 11.707L11.8706 11.7101L11.8706 11.6945L9.89697 11.6914L9.9282 11.707Z" fill="rgb(193,251,243)" fill-rule="nonzero" />
+	<path id="矢量 182" d="M8.37012 11.6875C8.37949 11.6875 8.39042 11.6891 8.40135 11.6891L9.88939 11.6891L9.89876 11.6937L11.8724 11.6984L11.8724 11.6906L11.9021 11.6906L8.37012 11.6906L8.37012 11.6875Z" fill="rgb(191,251,242)" fill-rule="nonzero" />
+</svg>

+ 5 - 0
static/images/huoqu.svg

@@ -0,0 +1,5 @@
+<svg viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16.000000" height="16.000000" fill="none">
+	<rect id="svg 78" width="16.000000" height="16.000000" x="0.000000" y="0.000000" />
+	<path id="矢量 74" d="M14.9687 4.56827C14.9687 4.25988 14.6287 4.0622 14.3598 4.22034L10.3666 7.27258L10.3666 4.91619C10.3666 4.2757 9.85262 3.76172 9.22004 3.76172L2.19832 3.76172C1.56573 3.76172 1.05176 4.2757 1.05176 4.91619L1.05176 11.0918C1.05176 11.7323 1.56573 12.2463 2.19832 12.2463L9.22004 12.2463C9.85262 12.2463 10.3666 11.7323 10.3666 11.0918L10.3666 8.76706L14.3835 11.7877C14.6524 11.9458 14.9845 11.7481 14.9845 11.4318L14.9687 4.56827L14.9687 4.56827Z" fill="rgb(242,99,51)" fill-rule="nonzero" />
+	<path id="矢量 75" d="M3.88257 10.0812C3.88257 10.0812 3.93001 10.1998 3.99327 10.0812C3.99327 10.0812 4.6733 8.00945 6.33384 8.53133L6.33384 9.17183C6.33384 9.17183 6.36547 9.55138 6.68967 9.30625L8.32649 7.89084C8.32649 7.89084 8.67441 7.70106 8.30277 7.44012L6.65014 6.0168C6.65014 6.0168 6.40501 5.83493 6.34175 6.1275L6.34175 6.82335C6.34175 6.82335 3.24207 6.97359 3.88257 10.0812Z" fill="rgb(255,255,255)" fill-rule="nonzero" />
+</svg>

ファイルの差分が大きいため隠しています
+ 2 - 0
static/images/index/shuju.svg


ファイルの差分が大きいため隠しています
+ 7 - 0
static/images/lianxi.svg


+ 4 - 0
static/images/qiehuan.svg

@@ -0,0 +1,4 @@
+<svg viewBox="0 0 6.3999 6" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="6.399902" height="6.000000" fill="none">
+	<rect id="svg 75" width="6.400002" height="6.000000" x="0.000000" y="0.000000" />
+	<path id="矢量 73" d="M5.53834 3.54234L0.86084 3.54234C0.722715 3.54234 0.61084 3.64723 0.61084 3.77672C0.61084 3.82594 0.62709 3.87164 0.65459 3.90914C0.666465 3.93551 0.68459 3.96012 0.70709 3.9818L1.80897 5.01422C1.85772 5.05992 1.92147 5.08277 1.98584 5.08277C2.05022 5.08277 2.11397 5.05992 2.16271 5.01422C2.26022 4.92281 2.26022 4.77457 2.16271 4.68258L1.44521 4.01109L5.53772 4.01109C5.67584 4.01109 5.78772 3.90621 5.78772 3.77672C5.78772 3.64723 5.67647 3.54234 5.53834 3.54234L5.53834 3.54234ZM0.86084 2.45484L5.53834 2.45484C5.67647 2.45484 5.78834 2.34996 5.78834 2.22047C5.78834 2.17125 5.77209 2.12555 5.74459 2.08805C5.73584 2.06871 5.72334 2.04996 5.70834 2.03238L4.80709 0.99996C4.71959 0.899764 4.56209 0.885116 4.45522 0.967147C4.34834 1.04918 4.33272 1.19683 4.42022 1.29703L5.02209 1.98609L0.86084 1.98609C0.722715 1.98609 0.61084 2.09098 0.61084 2.22047C0.61084 2.34996 0.722715 2.45484 0.86084 2.45484L0.86084 2.45484Z" fill="rgb(23,23,37)" fill-rule="nonzero" />
+</svg>

+ 7 - 0
static/images/zhoushuju.svg

@@ -0,0 +1,7 @@
+<svg viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16.000000" height="16.000000" fill="none">
+	<rect id="svg 77" width="16.000000" height="16.000000" x="0.000000" y="0.000000" />
+	<path id="矢量 73" d="M12.786 11.4047L12.3188 11.4047L12.3188 10.3125C12.3188 10.1406 12.1798 10 12.0063 10C11.8345 10 11.6938 10.1391 11.6938 10.3125L11.6938 11.7156C11.6938 11.8875 11.8329 12.0281 12.0063 12.0281L12.786 12.0281C12.9579 12.0281 13.0985 11.8891 13.0985 11.7156C13.0985 11.5437 12.9579 11.4047 12.786 11.4047L12.786 11.4047Z" fill="rgb(254,119,67)" fill-rule="nonzero" />
+	<path id="矢量 74" d="M11.4482 3.65625L10.4061 3.65625L10.4061 4.15938C10.4061 4.52188 10.1092 4.81719 9.74824 4.81719C9.38574 4.81719 9.09043 4.52031 9.09043 4.15938L9.09043 3.65625L5.07012 3.65625L5.07012 4.15938C5.07012 4.52188 4.77324 4.81719 4.4123 4.81719C4.0498 4.81719 3.75449 4.52031 3.75449 4.15938L3.75449 3.65625L2.62793 3.65625C2.1123 3.65625 1.69043 4.07813 1.69043 4.59375L1.69043 11.7344C1.69043 12.25 2.1123 12.6719 2.62793 12.6719L10.3357 12.6719C10.1154 12.3266 9.9873 11.9172 9.9873 11.4781C9.9873 10.2531 10.9811 9.25937 12.2061 9.25937C12.267 9.25937 12.3279 9.2625 12.3873 9.26719L12.3873 4.59375C12.3857 4.07812 11.9639 3.65625 11.4482 3.65625ZM8.84043 6.87344C8.57793 7.10156 8.34824 7.38125 8.14355 7.71406C7.94199 8.04688 7.77481 8.40156 7.63887 8.77656C7.50293 9.15156 7.39824 9.53125 7.32481 9.91719C7.25137 10.3016 7.21074 10.6594 7.20762 10.9922L6.12324 10.9922C6.18262 10.2453 6.35606 9.52812 6.64668 8.83906C6.94043 8.15156 7.32324 7.51875 7.79824 6.94375L5.43418 6.94375L5.43418 6.00312L8.84199 6.00312L8.84199 6.87344L8.84043 6.87344Z" fill="rgb(249,181,160)" fill-rule="nonzero" />
+	<path id="矢量 75" d="M11.4483 3.30547L11.003 3.30547L11.003 2.81641C11.003 2.12266 10.439 1.55859 9.74522 1.55859C9.05147 1.55859 8.4874 2.12266 8.4874 2.81641L8.4874 3.30547L5.66865 3.30547L5.66865 2.81641C5.66865 2.12266 5.10459 1.55859 4.41084 1.55859C3.71709 1.55859 3.15303 2.12266 3.15303 2.81641L3.15303 3.30547L2.62646 3.30547C1.91553 3.30547 1.3374 3.88359 1.3374 4.59453L1.3374 11.7352C1.3374 12.4461 1.91553 13.0242 2.62646 13.0242L8.89522 13.0242C9.08897 13.0242 9.24678 12.8664 9.24678 12.6727C9.24678 12.4789 9.08897 12.3211 8.89522 12.3211L2.62647 12.3211C2.30303 12.3211 2.04053 12.0586 2.04053 11.7352L2.04053 4.59453C2.04053 4.27109 2.30303 4.00859 2.62647 4.00859L3.15303 4.00859L3.15303 4.21016C3.15303 4.90391 3.71709 5.46797 4.41084 5.46797C5.10459 5.46797 5.66865 4.90391 5.66865 4.21016L5.66865 4.00859L8.48897 4.00859L8.48897 4.21016C8.48897 4.90391 9.05303 5.46797 9.74678 5.46797C10.4405 5.46797 11.0046 4.90391 11.0046 4.21016L11.0046 4.00859L11.4499 4.00859C11.7733 4.00859 12.0358 4.27109 12.0358 4.59453L12.0358 8.03203C12.0358 8.22578 12.1937 8.38359 12.3874 8.38359C12.5812 8.38359 12.739 8.22578 12.739 8.03203L12.739 4.59453C12.7374 3.88359 12.1593 3.30547 11.4483 3.30547L11.4483 3.30547ZM4.96553 4.21016C4.96553 4.51641 4.71709 4.76484 4.41084 4.76484C4.10459 4.76484 3.85615 4.51641 3.85615 4.21016L3.85615 2.81641C3.85615 2.51016 4.10459 2.26172 4.41084 2.26172C4.71709 2.26172 4.96553 2.51016 4.96553 2.81641L4.96553 4.21016ZM10.3015 4.21016C10.3015 4.51641 10.053 4.76484 9.74678 4.76484C9.44053 4.76484 9.19209 4.51641 9.19209 4.21016L9.19209 2.81641C9.19209 2.51016 9.44053 2.26172 9.74678 2.26172C10.053 2.26172 10.3015 2.51016 10.3015 2.81641L10.3015 4.21016Z" fill="rgb(254,119,67)" fill-rule="nonzero" />
+	<path id="矢量 76" d="M12.1529 13.925C10.7654 13.925 9.63574 12.7953 9.63574 11.4078C9.63574 10.0203 10.7654 8.89062 12.1529 8.89062C13.5404 8.89062 14.6701 10.0203 14.6701 11.4078C14.6701 12.7953 13.5404 13.925 12.1529 13.925L12.1529 13.925ZM12.1529 9.59219C11.1529 9.59219 10.3389 10.4062 10.3389 11.4062C10.3389 12.4062 11.1529 13.2203 12.1529 13.2203C13.1529 13.2203 13.967 12.4062 13.967 11.4062C13.967 10.4062 13.1529 9.59219 12.1529 9.59219Z" fill="rgb(254,119,67)" fill-rule="nonzero" />
+</svg>

この差分においてかなりの量のファイルが変更されているため、一部のファイルを表示していません