From 702b348e837f260a9050aed51c897d7baae1b5ca Mon Sep 17 00:00:00 2001
From: kaeery <3491123437@qq.com>
Date: Tue, 25 Feb 2025 18:09:05 +0800
Subject: [PATCH] =?UTF-8?q?=E3=80=90=E6=8B=9B=E7=94=9F=E8=80=81=E5=B8=88?=
=?UTF-8?q?=E3=80=91=20=E6=96=B0=E5=A2=9E#=20=E8=B7=9F=E8=BF=9B=E5=88=97?=
=?UTF-8?q?=E8=A1=A8?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/App.vue | 2 +-
src/bundle/pages/complete_add/index.vue | 141 ++++++++++++++++++
src/bundle/pages/progress_add/index.vue | 112 ++++++++++++++
src/components/design-input-field.vue | 19 ++-
src/components/design-map-field.vue | 15 +-
src/components/design-multiselect-field.vue | 86 +++++++++++
src/components/design-picker-field.vue | 16 +-
src/components/design-radio-field.vue | 17 ++-
src/components/design-search.vue | 14 +-
src/components/design-select-field.vue | 19 ++-
src/components/design-switch-field.vue | 88 +++++++++++
src/components/design-textarea-field.vue | 22 ++-
.../widgets/recruitsale/clue-card.vue | 98 ++++++++++++
src/main.ts | 4 +
src/pages.json | 18 +++
src/pages/recruitsale/home/index.vue | 81 ++++++++++
src/static/iconfont/iconfont.css | 14 +-
tailwind.config.js | 3 +-
18 files changed, 746 insertions(+), 23 deletions(-)
create mode 100644 src/bundle/pages/complete_add/index.vue
create mode 100644 src/bundle/pages/progress_add/index.vue
create mode 100644 src/components/design-multiselect-field.vue
create mode 100644 src/components/design-switch-field.vue
create mode 100644 src/components/widgets/recruitsale/clue-card.vue
create mode 100644 src/pages/recruitsale/home/index.vue
diff --git a/src/App.vue b/src/App.vue
index 8ffe091..e16cffa 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -13,7 +13,7 @@ import { getAllDict } from '@/hooks/useDictOptions'
const appStore = useAppStore()
const userStore = useUserStore()
-getAllDict()
+// getAllDict()
onLaunch(async () => {
appStore.getSystemInfoFn()
diff --git a/src/bundle/pages/complete_add/index.vue b/src/bundle/pages/complete_add/index.vue
new file mode 100644
index 0000000..8a61ad1
--- /dev/null
+++ b/src/bundle/pages/complete_add/index.vue
@@ -0,0 +1,141 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 提交
+
+
+
+
+
+
+
+
diff --git a/src/bundle/pages/progress_add/index.vue b/src/bundle/pages/progress_add/index.vue
new file mode 100644
index 0000000..932b5fb
--- /dev/null
+++ b/src/bundle/pages/progress_add/index.vue
@@ -0,0 +1,112 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 提交
+
+
+
+
+
+
+
+
diff --git a/src/components/design-input-field.vue b/src/components/design-input-field.vue
index 6e156c0..b2b088e 100644
--- a/src/components/design-input-field.vue
+++ b/src/components/design-input-field.vue
@@ -7,7 +7,9 @@
-->
- {{ label }}
+
+ {{ label }}
+
+
+
diff --git a/src/components/design-picker-field.vue b/src/components/design-picker-field.vue
index 63255db..b3fc8bf 100644
--- a/src/components/design-picker-field.vue
+++ b/src/components/design-picker-field.vue
@@ -7,7 +7,9 @@
-->
- {{ label }}
+
+ {{ label }}
+
{{ selectName || placeholder }}
@@ -61,6 +63,10 @@ const props = defineProps({
disabled: {
type: Boolean,
default: false
+ },
+ labelWidth: {
+ type: Number,
+ default: 120
}
})
const picker = ref()
@@ -69,6 +75,12 @@ const selectName = ref('')
const emit = defineEmits(['update:modelValue'])
const defaultIndex = ref([0])
const isSetValue = computed(() => selectName.value.length === 0)
+const labelStyle = computed(() => {
+ const { labelWidth } = props
+ return {
+ width: `${labelWidth * 2}rpx`
+ }
+})
const toggleShow = () => {
if (props.disabled) return
@@ -100,7 +112,7 @@ defineExpose({
border-bottom: 1px solid $gray-3;
.field {
- width: 240rpx;
+ // width: 240rpx;
}
.placeholder {
flex: 1;
diff --git a/src/components/design-radio-field.vue b/src/components/design-radio-field.vue
index d68c855..f219942 100644
--- a/src/components/design-radio-field.vue
+++ b/src/components/design-radio-field.vue
@@ -1,6 +1,6 @@
- {{ label }}
+ {{ label }}
+
+
diff --git a/src/components/design-textarea-field.vue b/src/components/design-textarea-field.vue
index a53ca5b..f865cec 100644
--- a/src/components/design-textarea-field.vue
+++ b/src/components/design-textarea-field.vue
@@ -7,7 +7,9 @@
-->
- {{ label }}
+
+ {{ label }}
+
@@ -93,7 +107,7 @@ watch(
border-bottom: 1px solid $gray-3;
padding: 24rpx 32rpx 24rpx 32rpx;
.field {
- width: 240rpx;
+ // width: 240rpx;
}
.wrapper,
.textarea {
diff --git a/src/components/widgets/recruitsale/clue-card.vue b/src/components/widgets/recruitsale/clue-card.vue
new file mode 100644
index 0000000..a59eb7b
--- /dev/null
+++ b/src/components/widgets/recruitsale/clue-card.vue
@@ -0,0 +1,98 @@
+
+
+
+
+
+ 韩梅梅
+
+ 18138952909
+
+
+
+
+
+
+
+
+
+
+
+ 待电销老师重新跟进
+
+
+ 基本情况
+
+
+ 学生爸爸接电话,学生高三毕业,300多分,家长不清楚学生收到录取通知,家长说学生不读书了,我让家长先问问学生对未来的规划先和学生沟通一下,家长同意我们加他微信发专业资料给他看看,可以在微信上问问学生具体情况。推荐3+2,给家长发一下学校简介和专业资料。
+
+
+
+
+
+
+
+ 电销老师
+ 王五
+
+
+ 状态
+ 账号不存在
+
+
+ 备注
+
+ 已交一部分定位金
+
+
+ 修改
+
+
+
+
+ 成交时间
+ 2025-02-10 16:04:00
+
+
+
+
+
+ 领取
+
+ 添加进展
+
+ 转化完成
+
+
+
+
+
+
+
diff --git a/src/main.ts b/src/main.ts
index 936b51f..713d257 100644
--- a/src/main.ts
+++ b/src/main.ts
@@ -29,6 +29,8 @@ import TProfile from './components/design-profile.vue'
import TTable from './components/design-table.vue'
import TDateTimePicker from './components/datetime-picker.vue'
import TFeedBack from './components/design-feedback.vue'
+import TMultiSelect from './components/design-multiselect-field.vue'
+import TSwitchField from './components/design-switch-field.vue'
export function createApp() {
const app = createSSRApp(App)
@@ -56,6 +58,8 @@ export function createApp() {
app.component('TTable', TTable)
app.component('TDateTimePicker', TDateTimePicker)
app.component('TFeedBack', TFeedBack)
+ app.component('TMultiSelect', TMultiSelect)
+ app.component('TSwitchField', TSwitchField)
return {
app
}
diff --git a/src/pages.json b/src/pages.json
index 22c9846..464c4d4 100644
--- a/src/pages.json
+++ b/src/pages.json
@@ -1,5 +1,11 @@
{
"pages": [
+ {
+ "path": "pages/recruitsale/home/index",
+ "style": {
+ "navigationBarTitleText": ""
+ }
+ },
{
"path": "pages/telesale/home/index",
"style": {
@@ -102,6 +108,18 @@
{
"root": "bundle",
"pages": [
+ {
+ "path": "pages/complete_add/index",
+ "style": {
+ "navigationBarTitleText": "转化完成"
+ }
+ },
+ {
+ "path": "pages/progress_add/index",
+ "style": {
+ "navigationBarTitleText": "添加进展"
+ }
+ },
{
"path": "pages/follow_edit/index",
"style": {
diff --git a/src/pages/recruitsale/home/index.vue b/src/pages/recruitsale/home/index.vue
new file mode 100644
index 0000000..2956790
--- /dev/null
+++ b/src/pages/recruitsale/home/index.vue
@@ -0,0 +1,81 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/static/iconfont/iconfont.css b/src/static/iconfont/iconfont.css
index e2a309a..30c6f8e 100644
--- a/src/static/iconfont/iconfont.css
+++ b/src/static/iconfont/iconfont.css
@@ -1,8 +1,8 @@
@font-face {
font-family: 'iconfont'; /* Project id 4837700 */
- src: url('//at.alicdn.com/t/c/font_4837700_qu0wamoi86a.woff2?t=1740458346519') format('woff2'),
- url('//at.alicdn.com/t/c/font_4837700_qu0wamoi86a.woff?t=1740458346519') format('woff'),
- url('//at.alicdn.com/t/c/font_4837700_qu0wamoi86a.ttf?t=1740458346519') format('truetype');
+ src: url('//at.alicdn.com/t/c/font_4837700_qvo1iou9n4.woff2?t=1740471403087') format('woff2'),
+ url('//at.alicdn.com/t/c/font_4837700_qvo1iou9n4.woff?t=1740471403087') format('woff'),
+ url('//at.alicdn.com/t/c/font_4837700_qvo1iou9n4.ttf?t=1740471403087') format('truetype');
}
.iconfont {
@@ -13,6 +13,14 @@
-moz-osx-font-smoothing: grayscale;
}
+.icon-edit:before {
+ content: '\e636';
+}
+
+.icon-warning:before {
+ content: '\e676';
+}
+
.icon-copy:before {
content: '\eb4e';
}
diff --git a/tailwind.config.js b/tailwind.config.js
index 73c5ec2..d137fc0 100644
--- a/tailwind.config.js
+++ b/tailwind.config.js
@@ -30,7 +30,8 @@ module.exports = {
gray3: '#F8F8F8',
lightblack: '#3D3D3D',
border: '#F1F1F1',
- border2: '#F3F3F3'
+ border2: '#F3F3F3',
+ blue2: '#EEF6FF'
},
fontSize: {
xs: '24rpx',