提交 9c7e67c2 编写于 作者: qian.jie's avatar qian.jie

代码合并

{
// 是否允许自定义的snippet片段提示
"editor.snippetSuggestions": "top",
// vscode默认启用了根据文件类型自动设置tabsize的选项
"editor.detectIndentation": false,
// 重新设定tabsize
"editor.tabSize": 2,
// #每次保存的时候自动格式化
"editor.formatOnSave": false,
// #每次保存的时候将代码按eslint格式进行修复
"eslint.autoFixOnSave": true,
"editor.fontWeight": "300",
"editor.formatOnType": false,
"workbench.iconTheme": "material-icon-theme",
"git.confirmSync": false,
"team.showWelcomeMessage": false,
"window.zoomLevel": 0,
// "editor.renderWhitespace": "boundary",
"editor.cursorBlinking": "smooth",
"editor.minimap.enabled": true,
// "editor.minimap.renderCharacters": false,
"window.title": "${dirty}${activeEditorMedium}${separator}${rootName}",
"editor.codeLens": true,
//eslint 代码自动检查相关配置
"eslint.enable": true,
"eslint.run": "onType",
"eslint.options": {
"extensions": [
".js",
".vue"
]
},
// 添加 vue 支持
"eslint.validate": [
"javascriptreact",
"vue",
"javascript",
{
"language": "vue",
"autoFix": true
},
"html",
{
"language": "html",
"autoFix": true
}
],
// #让prettier使用eslint的代码格式进行校验
"prettier.eslintIntegration": true,
// #去掉代码结尾的分号
"prettier.semi": false,
// #使用带引号替代双引号
"prettier.singleQuote": true,
// #让函数(名)和后面的括号之间加个空格
"javascript.format.insertSpaceBeforeFunctionParenthesis": true,
// #这个按用户自身习惯选择
"vetur.format.defaultFormatter.html": "js-beautify-html",
// #让vue中的js按编辑器自带的ts格式进行格式化
"vetur.format.defaultFormatter.js": "vscode-typescript",
"explorer.confirmDelete": false,
"vetur.format.defaultFormatterOptions": {
"js-beautify-html": {
"wrap_attributes": "force-aligned"
// #vue组件中html代码格式化样式
}
},
"files.associations": {
"*.cjson": "jsonc",
"*.wxss": "css",
"*.wxs": "javascript"
},
"emmet.includeLanguages": {
"wxml": "html"
},
"minapp-vscode.disableAutoConfig": true,
"window.menuBarVisibility": "visible",
"git.enableSmartCommit": true,
"git.autofetch": true,
"liveServer.settings.donotShowInfoMsg": true,
"[html]": {
"editor.defaultFormatter": "vscode.html-language-features"
},
"javascript.updateImportsOnFileMove.enabled": "always",
"workbench.colorTheme": "SynthWave '84",
"editor.fontSize": 16,
"search.followSymlinks": false,
"workbench.sideBar.location": "left",
// 是否开启保存自动格式化
"zenMode.restore": true,
"breadcrumbs.enabled": true,
"gitlens.advanced.messages": {
"suppressLineUncommittedWarning": true
},
"javascript.format.placeOpenBraceOnNewLineForControlBlocks": true,
"editor.formatOnPaste": false,
"editor.cursorStyle": "line-thin",
"editor.codeActionsOnSave": {
"source.fixAll.eslint": true
}
}
......@@ -19,6 +19,10 @@
"tinypng": "pica-cli-service tinypng"
},
"dependencies": {
"@fullcalendar/daygrid": "^5.10.0",
"@fullcalendar/interaction": "^5.10.0",
"@fullcalendar/timegrid": "^5.10.0",
"@fullcalendar/vue": "^5.10.0",
"axios": "^0.19.2",
"clipboard": "^2.0.6",
"core-js": "^3.6.5",
......
......@@ -127,7 +127,7 @@
</div>
<div
class="download-btn"
@click="addSchedule(scope.row, 2)"
@click="addSchedule(scope.row, 3)"
>
查看
</div>
......
......@@ -35,6 +35,11 @@ export const DIAGNOS_LIST_NEW = [
label: '状态备注',
showtooltip: true,
},
{
prop: 'matchingWay',
label: '匹配方式',
showtooltip: true,
},
{
prop: 'toFollowReason',
label: '稍后跟进状态',
......
......@@ -81,7 +81,17 @@ export const ORDER_PRICE = [
value: 9999,
},
];
// 匹配方式
export const MATCHING_LIST = [
{
label: '自动匹配',
value: 1,
},
{
label: '人工匹配',
value: 2,
},
];
// 订单状态
export const STATUS_LIST = [
{
......
......@@ -208,6 +208,26 @@
/>
</el-form-item>
</div>
<div>
<el-form-item
label="匹配方式"
class="t-b"
>
<el-select
v-model="searchParam.matchingWay"
placeholder="请选择匹配方式"
clearable
style="width: 220px"
>
<el-option
v-for="item of matchingWayList"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</div>
</div>
<div class="form-li">
<div>
......@@ -475,6 +495,7 @@
RUN_TAB_LIST,
MATCH_TAB_LIST,
ORDER_PRICE,
MATCHING_LIST,
} from '@/utils/constants';
import {
getCountQuery,
......@@ -549,6 +570,7 @@
status: '',
price: '',
refundRemark: '',
matchingWay: null,
},
noteList: [],
alltabslist: [],
......@@ -556,6 +578,7 @@
fllowList: IS_FLLOW,
sourceList: SOURCE_LIST,
priceList: ORDER_PRICE,
matchingWayList: MATCHING_LIST,
tabpaneList: [],
rematchingOptions: [], // 备注信息
Raw_tabpaneList: [],
......@@ -627,7 +650,9 @@
methods: {
changeStartTime(time) {
this.rangeTimeData = time
? time.time ? new Date(time.time).format('yyyy-MM-dd hh:mm:ss') : ''
? time.time
? new Date(time.time).format('yyyy-MM-dd hh:mm:ss')
: ''
: '';
console.log(this.rangeTimeData, 'this.rangeTimeData');
},
......@@ -925,6 +950,7 @@
triageDepartmentId: '',
price: '',
refundRemark: '',
matchingWay: null,
diagnoseType: '', // 预约问诊类型:1、音频 2、视频 3、图文
createdTimeBegin: '',
createdTimeEnd: '',
......
.agment-box {
height: 100%;
background: #fff;
overflow: hidden;
padding: 20px;
border-radius: 6px;
flex: 3.8;
}
.agment-box-left {
flex: 1;
height: 100%;
padding: 20px;
margin-left: 12px;
background: #fff;
border-radius: 6px;
}
.agment-left-con {
margin-top: 70px;
background: #f0f2f5;
height: auto;
padding: 20px;
overflow: hidden;
border-radius: 8px;
}
.agment-head {
border-radius: 5px;
display: flex;
justify-content: flex-start;
align-items: flex-end;
}
.agment-head-name {
font-size: 20px;
color: #02120f;
font-weight: 600;
}
.agment-head-phone {
font-size: 18px;
margin-left: 16px;
}
.agment-hospital {
color: #89888b;
font-size: 16px;
margin-top: 14px;
line-height: 24px;
}
.agment-hospital-ks {
margin-top: 8px;
}
.agment-head-title {
font-size: 14px;
color: #02120f;
margin-top: 19px;
}
.agment-head-priority {
padding-top: 20px;
display: flex;
justify-content: space-between;
align-items: center;
.item {
width: 42px;
height: 32px;
border: 1px solid #d9d9d9;
border-radius: 8px;
text-align: center;
line-height: 32px;
cursor: pointer;
}
.active {
color: #fff;
background: #0d9078;
border: none;
}
}
.agment-left-button {
margin-top: 34px;
display: flex;
justify-content: space-around;
}
/deep/.fc-timegrid-event {
border-radius: 1px !important;
}
/deep/thead .fc-scroller-harness {
background: #fcfbff;
}
/deep/.fc-col-header-cell-cushion {
color: #333;
height: 45px;
line-height: 45px;
}
/deep/.fc .fc-highlight {
background: transparent;
}
/deep/.fc-header-toolbar {
position: absolute;
right: 0;
top: 25px;
width: 20%;
display: flex;
}
/deep/.fc-toolbar-title {
font-size: 6px;
}
/deep/.fc-button-primary {
background: #fff;
color: #02120f;
border-color: #d9d9d9;
border-radius: 8px;
padding: 1.3px 5px;
}
/deep/.fc-button-primary:hover {
background: #fff;
color: #02120f;
}
<template>
<div>
<span>{{ schedulingTypeValue }}</span>
<span>{{ schedulingType }}</span>
<div
style="
width: 100%;
height: auto;
position: relative;
display: flex;
justifycontent: space-between;
"
>
<div class="agment-box">
<FullCalendar :options="calendarOptions" />
</div>
<div class="agment-box-left">
<div class="agment-left-con">
<div class="agment-head">
<div class="agment-head-name">
纵横
</div>
<div class="agment-head-phone">
1897653426
</div>
</div>
<div class="agment-hospital">
上海瑞金医院
</div>
<div class="agment-hospital agment-hospital-ks">
普外科
</div>
</div>
<div style="margin-top: 24px">
<p class="agment-head-title">
选择匹配优先级
</p>
<div class="agment-head-priority">
<!-- <el-button type="primary" plain style="color:#FFF;background:#0D9078">1</el-button>
<el-button type="primary" plain style="color:#FFF;background:#0D9078">2</el-button>
<el-button type="primary" plain style="color:#FFF;background:#0D9078">3</el-button>
<el-button type="primary" plain style="color:#FFF;background:#0D9078">4</el-button>
<el-button type="primary" plain style="color:#FFF;background:#0D9078">5</el-button> -->
<p class="item active">
1
</p>
<p class="item">
2
</p>
<p class="item">
3
</p>
<p class="item">
4
</p>
<p class="item">
5
</p>
</div>
</div>
<div class="agment-left-button">
<el-button
type="primary"
round
style="width: 110px"
>
重置
</el-button>
<el-button
type="primary"
round
style="width: 110px"
>
保存
</el-button>
</div>
</div>
</div>
</template>
<script>
// import '@fullcalendar/core/vdom'
import FullCalendar from '@fullcalendar/vue';
import dayGridPlugin from '@fullcalendar/daygrid';
import timeGridPlugin from '@fullcalendar/timegrid';
import interactionPlugin from '@fullcalendar/interaction';
export default {
name: 'Index',
components: {
FullCalendar,
},
props: {
schedulingTypeValue: {
type: Object,
......@@ -20,14 +99,222 @@
},
},
data() {
return {};
return {
listDate: [],
nextBtn: 0,
calendarOptions: {
// 引入的插件,比如fullcalendar/daygrid,fullcalendar/timegrid引入后才可显示月,周,日
plugins: [dayGridPlugin, interactionPlugin, timeGridPlugin],
initialView: 'timeGridWeek', // 默认为那个视图(月:dayGridMonth,周:timeGridWeek,日:timeGridDay)
selectable: true,
selectMirror: true,
selectAllow: this.selectAllow,
selectOverlap: false,
select: this.selectInfo,
selectMinDistance: 0,
eventResize: this.eventResize,
eventDragStop: this.eventDrop,
editable: true,
overlap: false,
defaultDate: new Date(),
datesSet: this.handleDatesSet,
// unselect:this.unSelectInfo,
events: [
{
title: '黄娇变电站3020开关综合检修',
start: '2021-10-18 09:30:00',
end: '2021-10-18 12:30:00',
color: '#FFEDE9',
editable: false,
}, // 可以拖动但不能缩放,但在周、日视图中是可以进行缩放的
// {
// title : '黄娇变电站3020开关综合检修',
// start : '2021-10-19 00:30',
// end : '2021-10-19 04:30',
// color:'#5580EE',
// editable: true
// }, //可以拖动、缩放
// {
// title : '准备公司资料',
// start : '2021-10-21 04:00',
// end : '2021-10-21 07:00',
// color: '#EDB378',
// editable: true,
// // overlap: true,
// // display: 'background',
// },
// {
// title : '准备公司资料',
// start: '2021-10-23 04:00',
// end: '2021-10-23 05:00',
// overlap: false,
// // display: 'background',
// color: '#797979'
// }
// 背景色 (添加相同时间的背景色时颜色会重叠) 一点要初始化日期时间 initialDate: '2020-07-10',
],
header: {
center: 'month,agendaFourDay', // buttons for switching between views
},
views: {
agendaFourDay: {
type: 'agenda',
duration: { days: 4 },
buttonText: '4 day',
},
},
firstDay: new Date().getDay(), // 设置一周中显示的第一天是哪天,周日是0,周一是1,类推
locale: 'zh-cn', // 切换语言,当前为中文
eventColor: '#fff', // 全部日历日程背景色3BB2E3
eventBackgroundColor: '#3788d8',
// themeSystem: 'bootstrap', // 主题色(本地测试未能生效)
// initialDate: moment().format('YYYY-MM-DD'), // 自定义设置背景颜色时一定要初始化日期时间
timeGridEventMinHeight: '40', // 设置事件的最小高度
aspectRatio: 1.35, // 设置日历单元格宽度与高度的比例。
// displayEventTime: false, // 是否显示时间
allDaySlot: false, // 周,日视图时,all-day 不显示
eventLimit: true, // 设置月日程,与all-day slot的最大显示数量,超过的通过弹窗显示
customButtons: {
myCustomButton: {
text: '本周',
},
},
headerToolbar: {
// 日历头部按钮位置
left: '',
center: 'prev myCustomButton next',
right: '',
},
footerToolbar: {
start: 'nni',
},
buttonText: {
// today: '今天',
// month: '月',
// week: '周',
// day: '日'
},
expandRows: true,
slotMinWidth: 50,
slotDuration: '00:30:00',
slotMinTime: '09:30',
slotMaxTime: '19:30',
slotLabelInterval: '',
dateClick: this.dateClick,
scrollTime: false,
slotLabelFormat: {
hour: 'numeric',
minute: '2-digit',
meridiem: 'short',
hour12: false, // 设置时间为24小时
},
eventLimitNum: {
// 事件显示数量限制(本地测试未能生效)
dayGrid: {
eventLimit: 5,
},
timeGrid: {
eventLimit: 4, // adjust to 6 only for timeGridWeek/timeGridDay
},
},
eventClick: this.handleEventClick,
},
workingTicketVisible: false, // 工作表票详情页面
};
},
watch: {},
created() {
console.log(this.schedulingTypeValue, this.schedulingType);
mounted() {
// this.handleEventClick();
},
methods: {
/**
* 点击日历日程事件
*
* info: 事件信息
* event是日程(事件)对象
* jsEvent是个javascript事件
* view是当前视图对象。
*/
handleDatesSet(dataInfo) {
console.log(dataInfo);
},
prevCustom(mouseEvent, htmlElement) {
alert(1234);
console.log(mouseEvent, htmlElement, 'mouseEvent, htmlElement');
// this.defaultDate=;
},
eventResize(event) {
const index = this.getIdDeleteData(event.event.id);
const oldData = this.calendarOptions.events;
const keyAll = Object.keys(oldData[index]);
const dataObj = {};
keyAll.forEach((item) => {
dataObj[item] = event.event[item];
});
oldData.splice(index, 1, dataObj);
this.getHandleTime(dataObj);
},
handleEventClick(event) {
const index = this.getIdDeleteData(event.event.id);
return this.calendarOptions.events.splice(index, 1);
// alert("你要取消日期吗");
},
unSelectInfo(info) {
console.log(info, '0000');
console.log(99);
},
selectInfo(info) {
const id = (this.calendarOptions.events.length + 1) * 10;
info.id = id;
const keyAll = ['end', 'endStr', 'id', 'start', 'startStr'];
const dataObj = {};
keyAll.forEach((item) => {
dataObj[item] = info[item];
});
this.calendarOptions.events.push(dataObj);
console.log(this.calendarOptions.events, '10000');
},
selectAllow(info) {
const currentDate = new Date();
const start = info.start;
const end = info.end;
return start <= end && start >= currentDate;
},
getIdDeleteData(eventId) {
// 删除现有排班
const data = this.calendarOptions.events;
const index = data.findIndex((event) => event.id == eventId);
return index;
},
getHandleTime(info) {
// 对于排班交叉部分处理
const infoStart = new Date(info.start).getTime();
const infoEnd = new Date(info.end).getTime();
let indexObj = false;
const data = this.calendarOptions.events;
const newDate = [];
data.forEach((item) => {
const d = new Date(item.end).getTime();
const s = new Date(item.start).getTime();
if (s > infoStart && infoEnd >= d) {
indexObj = true;
} else if (s > infoStart && infoEnd >= s) {
indexObj = true;
} else {
const id = (newDate.length + 1) * 10;
item.id = id;
newDate.push(item);
}
});
this.calendarOptions.events = newDate;
console.log(this.calendarOptions.events.length, 'len', indexObj);
},
dateClick(info) {
console.log(info, 'info');
},
},
methods: {},
};
</script>
<style></style>
<style lang="scss" scoped>
@import 'index';
</style>
......@@ -90,7 +90,7 @@
查询
</el-button>
</div>
<div class="synchro-btn-icon">
<el-button
class="synchro-btn"
......@@ -168,7 +168,6 @@
workInStep,
getLevel,
} from '@/api/serviceSchedule';
import { SERVICESCHEDUle_TABLE } from '@/utils/GeneralData/serviceSchedule-table';
import TableServiceSchedule from '@/components/list/table-serviceSchedule';
import NewScheduling from '../diagnosis-admin/modal/newScheduling.vue';
export default {
......@@ -227,7 +226,6 @@
},
},
ScheduleListShow: true,
showTableData: SERVICESCHEDUle_TABLE,
tableData: [],
loading: false,
newCreateList: [],
......@@ -282,14 +280,12 @@
const params = {
departmentId: this.searchParam.departmentId || null,
workStatus: String(this.searchParam.ScheduleStatus) || null,
startTime:
this.searchParam.createRangeTime.length > 0
? this.searchParam.createRangeTime[0]
: null,
endTime:
this.searchParam.createRangeTime.length > 0
? this.searchParam.createRangeTime[1]
: null,
startTime: this.searchParam.createRangeTime
? this.searchParam.createRangeTime[0]
: null,
endTime: this.searchParam.createRangeTime
? this.searchParam.createRangeTime[1]
: null,
condition: this.searchParam.idNamePhone || null,
level: this.searchParam.createType || null,
sort: this.searchParam.sort || null,
......@@ -329,7 +325,7 @@
switchOpen: val.switchStatus ? '1' : '2',
}).then((res) => {
if (res.code === '000000') {
this.search();
// this.search();
}
});
},
......@@ -396,56 +392,58 @@
width: 100%;
padding: 0 14px;
.serviceSchedule-containerInfo {
position: relative;
min-width: 1200px;
background: #ffffff;
// height: 73px;
position: relative;
border-radius: 8px;
display: flex;
align-items: center;
justify-content: space-between;
padding: 21px 18px 20px 18px;
.serviceSchedule-containerInfo-left{
padding: 21px 18px 10px 18px;
.serviceSchedule-containerInfo-left {
display: flex;
align-items: center;
flex-wrap: wrap;
flex-wrap: wrap;
.serviceSchedule-cascader {
margin-right: 15px;
}
.select-first {
margin-right: 15px;
}
.serviceSchedule-status {
margin-right: 15px;
}
.serviceSchedule-time {
max-width: 270px;
height: 32px;
background: #ffffff;
border-radius: 16px;
border: 1px solid rgba(0, 0, 0, 0.15);
margin-right: 15px;
}
.serviceSchedule-idNamePhone {
width: 320px;
margin-right: 15px;
}
.submit-btn {
// width: 70px;
height: 32px;
background: #0d9078;
border-radius: 16px;
display: flex;
align-items: center;
}
margin-right: 15px;
margin-bottom: 10px;
}
.select-first {
margin-right: 15px;
margin-bottom: 10px;
}
.serviceSchedule-status {
margin-right: 15px;
margin-bottom: 10px;
}
.serviceSchedule-time {
max-width: 270px;
height: 32px;
background: #ffffff;
border-radius: 16px;
border: 1px solid rgba(0, 0, 0, 0.15);
margin-right: 15px;
margin-bottom: 10px;
}
.serviceSchedule-idNamePhone {
width: 320px;
margin-right: 15px;
margin-bottom: 10px;
}
.submit-btn {
height: 32px;
background: #0d9078;
border-radius: 16px;
display: flex;
align-items: center;
margin-bottom: 10px;
}
}
.synchro-btn-icon {
display: flex;
align-items: center;
justify-content: center;
// position: absolute;
// right: 20px;
margin-bottom: 10px;
.synchro-btn {
width: 110px;
height: 32px;
......@@ -468,7 +466,7 @@
}
}
.serviceSchedule-table {
min-width: 1200px;
// min-width: 1200px;
padding-top: 15px;
}
}
......@@ -494,12 +492,11 @@
width: 100%;
padding: 0 14px;
.serviceSchedule-containerInfo {
background: #ffffff;
border-radius: 8px;
height: 100%;
display: flex;
align-items: center;
padding: 21px 18px 20px 18px;
//padding: 21px 18px 20px 18px;
}
}
}
......
......@@ -1039,6 +1039,55 @@
dependencies:
"@fortawesome/fontawesome-common-types" "^0.2.36"
"@fullcalendar/common@~5.10.0":
version "5.10.0"
resolved "http://192.168.110.93:4873/@fullcalendar%2fcommon/-/common-5.10.0.tgz#8b30f3e77691eb70befb25a0edf3d9abec3a853e"
integrity sha1-izDz53aR63C++yWg7fPZq+w6hT4=
dependencies:
tslib "^2.1.0"
"@fullcalendar/core@~5.10.0":
version "5.10.0"
resolved "http://192.168.110.93:4873/@fullcalendar%2fcore/-/core-5.10.0.tgz#5e8f46618bf45ddfb16827e68fe11dbd655d529f"
integrity sha1-Xo9GYYv0Xd+xaCfmj+EdvWVdUp8=
dependencies:
"@fullcalendar/common" "~5.10.0"
preact "^10.0.5"
tslib "^2.1.0"
"@fullcalendar/daygrid@^5.10.0", "@fullcalendar/daygrid@~5.10.0":
version "5.10.0"
resolved "http://192.168.110.93:4873/@fullcalendar%2fdaygrid/-/daygrid-5.10.0.tgz#1dffcb6884859f0048755a428ff911906150a1af"
integrity sha1-Hf/LaISFnwBIdVpCj/kRkGFQoa8=
dependencies:
"@fullcalendar/common" "~5.10.0"
tslib "^2.1.0"
"@fullcalendar/interaction@^5.10.0":
version "5.10.0"
resolved "http://192.168.110.93:4873/@fullcalendar%2finteraction/-/interaction-5.10.0.tgz#047622f903f13a89fd146878137d66eecf1acc62"
integrity sha1-BHYi+QPxOon9FGh4E31m7s8azGI=
dependencies:
"@fullcalendar/common" "~5.10.0"
tslib "^2.1.0"
"@fullcalendar/timegrid@^5.10.0":
version "5.10.0"
resolved "http://192.168.110.93:4873/@fullcalendar%2ftimegrid/-/timegrid-5.10.0.tgz#7177914bdc5a6c58ec4af851520b12eb8c480141"
integrity sha1-cXeRS9xabFjsSvhRUgsS64xIAUE=
dependencies:
"@fullcalendar/common" "~5.10.0"
"@fullcalendar/daygrid" "~5.10.0"
tslib "^2.1.0"
"@fullcalendar/vue@^5.10.0":
version "5.10.0"
resolved "http://192.168.110.93:4873/@fullcalendar%2fvue/-/vue-5.10.0.tgz#e0b8ddce92b06457f05410c0e18fa1b1745f22ab"
integrity sha1-4LjdzpKwZFfwVBDA4Y+hsXRfIqs=
dependencies:
"@fullcalendar/core" "~5.10.0"
tslib "^2.1.0"
"@gar/promisify@^1.0.1":
version "1.1.2"
resolved "http://192.168.110.93:4873/@gar%2fpromisify/-/promisify-1.1.2.tgz#30aa825f11d438671d585bd44e7fd564535fc210"
......@@ -10439,6 +10488,11 @@ pre-commit@^1.2.2:
spawn-sync "^1.0.15"
which "1.2.x"
preact@^10.0.5:
version "10.5.15"
resolved "http://192.168.110.93:4873/preact/-/preact-10.5.15.tgz#6df94d8afecf3f9e10a742fd8c362ddab464225f"
integrity sha1-bflNiv7PP54Qp0L9jDYt2rRkIl8=
prelude-ls@~1.1.2:
version "1.1.2"
resolved "http://192.168.110.93:4873/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54"
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册