|
|
@@ -1,40 +1,165 @@
|
|
|
+// 主容器样式
|
|
|
.questionAnswerInfo {
|
|
|
width: 100%;
|
|
|
height: 100%;
|
|
|
background: #FFFFFF;
|
|
|
border-radius: @border-radius-base;
|
|
|
+
|
|
|
+ // 内容区域
|
|
|
+ &-content {
|
|
|
+ width: 100%;
|
|
|
+ height: 100%;
|
|
|
+ background: #FFFFFF;
|
|
|
+ padding: 20px;
|
|
|
+
|
|
|
+ // 标题样式
|
|
|
+ &-title {
|
|
|
+ width: 100%;
|
|
|
+ max-width: 646px;
|
|
|
+ height: 48px;
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
-.questionAnswerInfo-content {
|
|
|
- width: 100%;
|
|
|
- height: 100%;
|
|
|
- background: #FFFFFF;
|
|
|
- padding: 20px;
|
|
|
+// 通用布局样式
|
|
|
+.flex {
|
|
|
+ &-center {
|
|
|
+ &-container {
|
|
|
+ display: flex;
|
|
|
+ justify-content: center;
|
|
|
+ align-items: center;
|
|
|
+ background: #f5f5f5;
|
|
|
+ width: 100%;
|
|
|
+ height: 100%;
|
|
|
+ }
|
|
|
+
|
|
|
+ display: flex;
|
|
|
+ justify-content: center;
|
|
|
+ align-items: center;
|
|
|
+
|
|
|
+ &-top {
|
|
|
+ display: flex;
|
|
|
+ justify-content: center;
|
|
|
+ align-items: center;
|
|
|
+ padding-top: 50px;
|
|
|
+ font-size: 16px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ &-between {
|
|
|
+ display: flex;
|
|
|
+ justify-content: space-between;
|
|
|
+ align-items: center;
|
|
|
+ }
|
|
|
+
|
|
|
+ &-end {
|
|
|
+ display: flex;
|
|
|
+ justify-content: flex-end;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
-// 统一的表单控件样式
|
|
|
-.questionAnswerInfo-content-title {
|
|
|
- width: 100%;
|
|
|
- max-width: 646px;
|
|
|
- height: 48px;
|
|
|
+// 按钮样式
|
|
|
+.btn {
|
|
|
+ &-cancel {
|
|
|
+ background: #f5f5f5;
|
|
|
+ border: none;
|
|
|
+ color: #000000;
|
|
|
+ transition: all 0.3s ease;
|
|
|
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
|
|
|
+
|
|
|
+ &:hover {
|
|
|
+ background: #e8e8e8;
|
|
|
+ color: #000000;
|
|
|
+ box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
|
|
|
+ transform: translateY(-1px);
|
|
|
+ }
|
|
|
+
|
|
|
+ &:active {
|
|
|
+ background: #dcdcdc;
|
|
|
+ color: #000000;
|
|
|
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
|
|
|
+ transform: translateY(0);
|
|
|
+ }
|
|
|
+
|
|
|
+ &:focus {
|
|
|
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ &-back {
|
|
|
+ background: #ffffff;
|
|
|
+ border: 1px solid #d9d9d9;
|
|
|
+ color: #595959;
|
|
|
+ transition: all 0.3s ease;
|
|
|
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
|
|
|
+
|
|
|
+ &:hover {
|
|
|
+ background: #fafafa;
|
|
|
+ border-color: #40a9ff;
|
|
|
+ color: #40a9ff;
|
|
|
+ box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
|
|
|
+ transform: translateY(-1px);
|
|
|
+ }
|
|
|
+
|
|
|
+ &:active {
|
|
|
+ background: #f0f0f0;
|
|
|
+ border-color: #1890ff;
|
|
|
+ color: #1890ff;
|
|
|
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
|
|
|
+ transform: translateY(0);
|
|
|
+ }
|
|
|
+
|
|
|
+ &:focus {
|
|
|
+ border-color: #40a9ff;
|
|
|
+ box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
-// 标题文本样式
|
|
|
-.section-title {
|
|
|
- font-size: 16px;
|
|
|
- font-weight: 500;
|
|
|
- color: #262626;
|
|
|
- margin-bottom: 16px;
|
|
|
+// 表单样式
|
|
|
+.form {
|
|
|
+ &-control {
|
|
|
+ &-width {
|
|
|
+ width: 100%;
|
|
|
+ max-width: 646px;
|
|
|
+ }
|
|
|
+
|
|
|
+ &-height {
|
|
|
+ height: 48px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ &-input {
|
|
|
+ &-large {
|
|
|
+ width: 100%;
|
|
|
+ max-width: 646px;
|
|
|
+ padding: 8px;
|
|
|
+ }
|
|
|
+
|
|
|
+ &-number-small {
|
|
|
+ margin: 0 16px;
|
|
|
+ width: 100px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ &-textarea {
|
|
|
+ &-large {
|
|
|
+ height: 120px;
|
|
|
+ resize: none;
|
|
|
+ width: 100%;
|
|
|
+ max-width: 646px;
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
-// 链接样式
|
|
|
-.link-more-settings {
|
|
|
- color: @primary-color;
|
|
|
- cursor: pointer;
|
|
|
- text-decoration: none;
|
|
|
+// 文本区域样式
|
|
|
+.textarea {
|
|
|
+ &-full-width {
|
|
|
+ width: 100%;
|
|
|
+ }
|
|
|
|
|
|
- &:hover {
|
|
|
- text-decoration: underline;
|
|
|
+ &-fixed-height {
|
|
|
+ height: 300px;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -45,7 +170,6 @@
|
|
|
h4 {
|
|
|
margin-bottom: 16px;
|
|
|
color: #262626;
|
|
|
- // font-weight: 600;
|
|
|
}
|
|
|
|
|
|
.question-item {
|
|
|
@@ -57,7 +181,6 @@
|
|
|
|
|
|
label {
|
|
|
min-width: 60px;
|
|
|
- // font-weight: 500;
|
|
|
color: #595959;
|
|
|
flex-shrink: 0;
|
|
|
}
|
|
|
@@ -90,24 +213,6 @@
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-// 通用样式类
|
|
|
-.form-control-width {
|
|
|
- width: 100%;
|
|
|
- max-width: 646px;
|
|
|
-}
|
|
|
-
|
|
|
-.form-control-height {
|
|
|
- height: 48px;
|
|
|
-}
|
|
|
-
|
|
|
-.textarea-full-width {
|
|
|
- width: 100%;
|
|
|
-}
|
|
|
-
|
|
|
-.textarea-fixed-height {
|
|
|
- height: 300px;
|
|
|
-}
|
|
|
-
|
|
|
// 问题输入框样式(保留向后兼容)
|
|
|
.question-input {
|
|
|
width: 100%;
|
|
|
@@ -116,121 +221,127 @@
|
|
|
margin-left: 20px;
|
|
|
}
|
|
|
|
|
|
-// 按钮样式
|
|
|
-.btn-cancel {
|
|
|
- background: #f5f5f5;
|
|
|
- border: none;
|
|
|
- color: #000000;
|
|
|
- transition: all 0.3s ease;
|
|
|
- box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
|
|
|
-
|
|
|
- &:hover {
|
|
|
- background: #e8e8e8;
|
|
|
- color: #000000;
|
|
|
- box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
|
|
|
- transform: translateY(-1px);
|
|
|
- }
|
|
|
-
|
|
|
- &:active {
|
|
|
- background: #dcdcdc;
|
|
|
- color: #000000;
|
|
|
- box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
|
|
|
- transform: translateY(0);
|
|
|
- }
|
|
|
-
|
|
|
- &:focus {
|
|
|
- box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
|
|
|
- }
|
|
|
+// 标题和链接样式
|
|
|
+.section-title {
|
|
|
+ font-size: 16px;
|
|
|
+ font-weight: 500;
|
|
|
+ color: #262626;
|
|
|
+ margin-bottom: 16px;
|
|
|
}
|
|
|
|
|
|
-.btn-back {
|
|
|
- background: #ffffff;
|
|
|
- border: 1px solid #d9d9d9;
|
|
|
- color: #595959;
|
|
|
- transition: all 0.3s ease;
|
|
|
- box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
|
|
|
+.link-more-settings {
|
|
|
+ color: @primary-color;
|
|
|
+ cursor: pointer;
|
|
|
+ text-decoration: none;
|
|
|
|
|
|
&:hover {
|
|
|
- background: #fafafa;
|
|
|
- border-color: #40a9ff;
|
|
|
- color: #40a9ff;
|
|
|
- box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
|
|
|
- transform: translateY(-1px);
|
|
|
- }
|
|
|
-
|
|
|
- &:active {
|
|
|
- background: #f0f0f0;
|
|
|
- border-color: #1890ff;
|
|
|
- color: #1890ff;
|
|
|
- box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
|
|
|
- transform: translateY(0);
|
|
|
- }
|
|
|
-
|
|
|
- &:focus {
|
|
|
- border-color: #40a9ff;
|
|
|
- box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2);
|
|
|
+ text-decoration: underline;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-// 容器样式
|
|
|
-.flex-center-container {
|
|
|
- display: flex;
|
|
|
- justify-content: center;
|
|
|
- align-items: center;
|
|
|
- background: #f5f5f5;
|
|
|
+// Prompt编辑器布局样式
|
|
|
+.prompt {
|
|
|
width: 100%;
|
|
|
height: 100%;
|
|
|
-}
|
|
|
-
|
|
|
-// Flex布局样式
|
|
|
-.flex-end {
|
|
|
display: flex;
|
|
|
- justify-content: flex-end;
|
|
|
-}
|
|
|
+ flex-direction: column;
|
|
|
+ // 滚动条
|
|
|
+ overflow-y: auto;
|
|
|
|
|
|
-.flex-between {
|
|
|
- display: flex;
|
|
|
- justify-content: space-between;
|
|
|
- align-items: center;
|
|
|
-}
|
|
|
-
|
|
|
-.flex-center {
|
|
|
- display: flex;
|
|
|
- justify-content: center;
|
|
|
- align-items: center;
|
|
|
-}
|
|
|
-
|
|
|
-.flex-center-top {
|
|
|
- display: flex;
|
|
|
- justify-content: center;
|
|
|
- align-items: center;
|
|
|
- padding-top: 50px;
|
|
|
- font-size: 16px;
|
|
|
-}
|
|
|
-
|
|
|
-// 表单控件样式
|
|
|
-.form-input-large {
|
|
|
- width: 100%;
|
|
|
- max-width: 646px;
|
|
|
- padding: 8px;
|
|
|
-}
|
|
|
-
|
|
|
-.form-textarea-large {
|
|
|
- height: 120px;
|
|
|
- resize: none;
|
|
|
- width: 100%;
|
|
|
- max-width: 646px;
|
|
|
-}
|
|
|
-
|
|
|
-.form-input-number-small {
|
|
|
- margin: 0 16px;
|
|
|
- width: 100px;
|
|
|
-}
|
|
|
+ // 提示词模板显示区域
|
|
|
+ &-info {
|
|
|
+ border-bottom: 1px solid #e9ecef;
|
|
|
+ padding: 16px 20px;
|
|
|
+ display: flex;
|
|
|
+ justify-content: space-between;
|
|
|
+ align-items: flex-start;
|
|
|
+
|
|
|
+ &-text {
|
|
|
+ // 说明文本
|
|
|
+
|
|
|
+ .variable-highlight {
|
|
|
+ color: #1890ff;
|
|
|
+ font-weight: 600;
|
|
|
+ padding: 2px 6px;
|
|
|
+ border-radius: 4px;
|
|
|
+ font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;
|
|
|
+ margin: 0 2px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 插入按钮
|
|
|
+ .variable-insert-buttons {
|
|
|
+ display: flex;
|
|
|
+ gap: 8px;
|
|
|
+ align-items: center;
|
|
|
+
|
|
|
+ .insert-variable-btn {
|
|
|
+ color: #1890ff;
|
|
|
+ padding: 6px 12px;
|
|
|
+ border-radius: 6px;
|
|
|
+ transition: all 0.2s ease;
|
|
|
+ font-size: 13px;
|
|
|
+ height: auto;
|
|
|
+ border: 1px solid transparent;
|
|
|
+
|
|
|
+ &:hover {
|
|
|
+ background: rgba(24, 144, 255, 0.1);
|
|
|
+ color: #40a9ff;
|
|
|
+ border-color: rgba(24, 144, 255, 0.2);
|
|
|
+ }
|
|
|
+
|
|
|
+ .variable-highlight {
|
|
|
+ color: #1890ff;
|
|
|
+ font-weight: 600;
|
|
|
+ font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
-// 布局样式
|
|
|
-.full-size {
|
|
|
- width: 100%;
|
|
|
- height: 100%;
|
|
|
+ // 提示词编辑区域
|
|
|
+ &-editor-area {
|
|
|
+ flex: 1;
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
+
|
|
|
+ .ant-form-item {
|
|
|
+ margin-bottom: 0;
|
|
|
+ height: 100%;
|
|
|
+
|
|
|
+ .ant-form-item-control {
|
|
|
+ height: 100%;
|
|
|
+
|
|
|
+ .ant-form-item-control-input {
|
|
|
+ height: 100%;
|
|
|
+
|
|
|
+ .ant-form-item-control-input-content {
|
|
|
+ height: 100%;
|
|
|
+
|
|
|
+ .ant-input {
|
|
|
+ height: 100%;
|
|
|
+ border: 1px solid #d9d9d9;
|
|
|
+ border-radius: 8px;
|
|
|
+ padding: 16px;
|
|
|
+ font-size: 14px;
|
|
|
+ line-height: 1.6;
|
|
|
+ resize: none;
|
|
|
+
|
|
|
+ &:focus {
|
|
|
+ border-color: #1890ff;
|
|
|
+ box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2);
|
|
|
+ }
|
|
|
+
|
|
|
+ &::placeholder {
|
|
|
+ color: #bfbfbf;
|
|
|
+ font-style: italic;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
.half-width {
|
|
|
@@ -238,25 +349,41 @@
|
|
|
height: 100%;
|
|
|
}
|
|
|
|
|
|
-.padding-top-10 {
|
|
|
- padding-top: 10px;
|
|
|
-}
|
|
|
-
|
|
|
-.padding-top-20 {
|
|
|
- padding-top: 20px;
|
|
|
-}
|
|
|
-
|
|
|
-.padding-bottom-10 {
|
|
|
- padding-bottom: 10px;
|
|
|
+// 间距样式
|
|
|
+.padding {
|
|
|
+ &-top {
|
|
|
+ &-10 {
|
|
|
+ padding-top: 10px;
|
|
|
+ }
|
|
|
+
|
|
|
+ &-20 {
|
|
|
+ padding-top: 20px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ &-bottom {
|
|
|
+ &-10 {
|
|
|
+ padding-bottom: 10px;
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
// 响应式设计
|
|
|
@media (max-width: 768px) {
|
|
|
- .questionAnswerInfo-content-title,
|
|
|
- .form-control-width,
|
|
|
- .form-input-large,
|
|
|
- .form-textarea-large {
|
|
|
- max-width: 100%;
|
|
|
+ .questionAnswerInfo {
|
|
|
+ &-content {
|
|
|
+ &-title {
|
|
|
+ max-width: 100%;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .form {
|
|
|
+ &-control-width,
|
|
|
+ &-input-large,
|
|
|
+ &-textarea-large {
|
|
|
+ max-width: 100%;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
.question-input {
|
|
|
@@ -292,13 +419,17 @@
|
|
|
}
|
|
|
|
|
|
@media (max-width: 480px) {
|
|
|
- .questionAnswerInfo-content {
|
|
|
- padding: 16px;
|
|
|
+ .questionAnswerInfo {
|
|
|
+ &-content {
|
|
|
+ padding: 16px;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
- .form-input-large,
|
|
|
- .form-textarea-large {
|
|
|
- padding: 6px;
|
|
|
+ .form {
|
|
|
+ &-input-large,
|
|
|
+ &-textarea-large {
|
|
|
+ padding: 6px;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
.preset-questions {
|
|
|
@@ -311,5 +442,3 @@
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
-// 移除重复的 Ant Design 组件样式,使用全局样式
|