style(richedit): 格式化 DetailDrawer 组件代码并优化禁用状态样式
优化代码格式,包括换行和缩进,使代码更易读 添加禁用状态下的文本颜色和光标样式,提升用户体验
This commit is contained in:
parent
98e7dfa169
commit
44a856ec25
|
|
@ -1,5 +1,6 @@
|
|||
<template>
|
||||
<div :class="[isMobileByWidth() ? 'drawer-container-mobile' : 'drawer-container', { 'drawer-container-100': isFull }]">
|
||||
<div
|
||||
:class="[isMobileByWidth() ? 'drawer-container-mobile' : 'drawer-container', { 'drawer-container-100': isFull }]">
|
||||
<el-drawer v-model="model" :modal="false" size="100%" :lock-scroll="false" modal-class="modal-class">
|
||||
<template #header>
|
||||
<div class="drawer-header">
|
||||
|
|
@ -20,48 +21,35 @@
|
|||
v-if="!form.deleted && (data.status == 0 || data.status == 1 || data.status == -1)"
|
||||
@click="doDeleteNewsFn(data)">删除</el-button> -->
|
||||
<div v-if="Session.get('userInfoLocal').userType == '00'">
|
||||
<el-button type="text" v-if="!form.deleted && (data.status == 1 || data.status == -1)" @click="handleEditStatus(!readOnly)">{{
|
||||
<el-button type="text" v-if="!form.deleted && (data.status == 1 || data.status == -1)"
|
||||
@click="handleEditStatus(!readOnly)">{{
|
||||
readOnly ? '编辑' : '浏览'
|
||||
}}</el-button>
|
||||
|
||||
<el-button
|
||||
type="text"
|
||||
style="color: #ff1818"
|
||||
<el-button type="text" style="color: #ff1818"
|
||||
v-if="!form.deleted && (data.status == 0 || data.status == 1 || data.status == -1)"
|
||||
@click="doDeleteNewsFn(data)"
|
||||
>删除</el-button
|
||||
>
|
||||
@click="doDeleteNewsFn(data)">删除</el-button>
|
||||
</div>
|
||||
|
||||
<div v-if="Session.get('userInfoLocal').userType == '02'">
|
||||
<el-button
|
||||
type="text"
|
||||
<el-button type="text"
|
||||
v-if="!form.deleted && (data.status == 0 || data.status == 1 || data.status == 3)"
|
||||
@click="handleEditStatus(!readOnly)"
|
||||
>{{ readOnly ? '编辑' : '浏览' }}</el-button
|
||||
>
|
||||
@click="handleEditStatus(!readOnly)">{{ readOnly ? '编辑' : '浏览' }}</el-button>
|
||||
|
||||
<el-button
|
||||
type="text"
|
||||
style="color: #ff1818"
|
||||
<el-button type="text" style="color: #ff1818"
|
||||
v-if="!form.deleted && (data.status == 0 || data.status == 1)"
|
||||
@click="doDeleteNewsFn(data)"
|
||||
>删除</el-button
|
||||
>
|
||||
@click="doDeleteNewsFn(data)">删除</el-button>
|
||||
</div>
|
||||
|
||||
<div v-if="Session.get('userInfoLocal').userType == '01'">
|
||||
<el-button type="text" v-if="!form.deleted && data.status == 4" @click="handleEditStatus(!readOnly)">{{
|
||||
<el-button type="text" v-if="!form.deleted && data.status == 4"
|
||||
@click="handleEditStatus(!readOnly)">{{
|
||||
readOnly ? '编辑' : '浏览'
|
||||
}}</el-button>
|
||||
|
||||
<el-button
|
||||
type="text"
|
||||
style="color: #ff1818"
|
||||
<el-button type="text" style="color: #ff1818"
|
||||
v-if="!form.deleted && (data.status == 0 || data.status == 1)"
|
||||
@click="doDeleteNewsFn(data)"
|
||||
>删除</el-button
|
||||
>
|
||||
@click="doDeleteNewsFn(data)">删除</el-button>
|
||||
</div>
|
||||
|
||||
<el-button type="text" @click="clickFull" v-if="!isMobileByWidth()">
|
||||
|
|
@ -80,70 +68,53 @@
|
|||
<div class="step_bk">
|
||||
<div v-if="readOnly || type === 1">
|
||||
<strong>报道时间:</strong>
|
||||
<span style="color: #0888d7">{{ data.publishTime && formatDate(new Date(data.publishTime), 'YYYY年mm月dd日 HH:MM') }}</span>
|
||||
<span style="color: #0888d7">{{ data.publishTime && formatDate(new Date(data.publishTime),
|
||||
'YYYY年mm月dd日 HH:MM') }}</span>
|
||||
</div>
|
||||
<el-form-item label="标题" style="margin-top: 20px" prop="title" label-width="52">
|
||||
<!-- v-if="!readOnly" -->
|
||||
<div style="display: flex; width: 800px; align-items: center">
|
||||
<el-input
|
||||
placeholder="输入文章标题"
|
||||
v-model="form.title"
|
||||
:max="titleTextMax"
|
||||
:maxlength="titleTextMax"
|
||||
@input="inputChange"
|
||||
:disabled="readOnly"
|
||||
></el-input>
|
||||
<text style="margin-left: 10px; color: #b3b3b3"> {{ titleTextNum }}/{{ titleTextMax }}</text>
|
||||
<el-input placeholder="输入文章标题" v-model="form.title" :max="titleTextMax"
|
||||
:maxlength="titleTextMax" @input="inputChange" :disabled="readOnly"></el-input>
|
||||
<text style="margin-left: 10px; color: #b3b3b3"> {{ titleTextNum }}/{{ titleTextMax
|
||||
}}</text>
|
||||
<icon_ai v-if="form.titleTranslated"></icon_ai>
|
||||
</div>
|
||||
<!-- <div v-else>
|
||||
{{ form.title }}
|
||||
</div> -->
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item prop="summary" label="摘要" label-width="52">
|
||||
<el-input
|
||||
v-model="form.summary"
|
||||
show-word-limit
|
||||
maxlength="300"
|
||||
style="margin-top: 10px"
|
||||
:rows="5"
|
||||
type="textarea"
|
||||
placeholder="请输入摘要内容"
|
||||
max="300"
|
||||
:disabled="readOnly"
|
||||
/>
|
||||
<!-- v-if="!readOnly" -->
|
||||
<el-input v-model="form.summary" show-word-limit maxlength="300" style="margin-top: 10px"
|
||||
:rows="5" type="textarea" placeholder="请输入摘要内容" max="300" :disabled="readOnly" />
|
||||
<!-- <text v-else style="line-height: 20px;"> {{ form.summary }}</text> -->
|
||||
</el-form-item>
|
||||
</div>
|
||||
|
||||
<div class="step_bk">
|
||||
<el-form-item label="媒体来源:" prop="tagSourceSelect">
|
||||
<el-select :disabled="readOnly" v-model="form.tagSourceSelect" filterable placeholder="选择媒体来源" size="large" style="width: 240px">
|
||||
<el-option v-for="item in tagSourceList" :key="item.id" :label="item.name" :value="item.id" />
|
||||
<el-select :disabled="readOnly" v-model="form.tagSourceSelect" filterable
|
||||
placeholder="选择媒体来源" size="large" style="width: 240px">
|
||||
<el-option v-for="item in tagSourceList" :key="item.id" :label="item.name"
|
||||
:value="item.id" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="概念标签:" prop="tagDiySelect">
|
||||
<el-select
|
||||
:disabled="readOnly"
|
||||
v-model="form.tagDiySelect"
|
||||
filterable
|
||||
multiple
|
||||
placeholder="选择概念标签"
|
||||
size="large"
|
||||
style="width: 240px"
|
||||
>
|
||||
<el-option v-for="item in tagDiyList" :key="item.id" :label="item.name" :value="item.id" />
|
||||
<el-select :disabled="readOnly" v-model="form.tagDiySelect" filterable multiple
|
||||
placeholder="选择概念标签" size="large" style="width: 240px">
|
||||
<el-option v-for="item in tagDiyList" :key="item.id" :label="item.name"
|
||||
:value="item.id" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="行业分类:" prop="industrySelect">
|
||||
<el-select
|
||||
:disabled="readOnly"
|
||||
v-model="form.industrySelect"
|
||||
filterable
|
||||
multiple
|
||||
placeholder="选择行业分类"
|
||||
size="large"
|
||||
style="width: 240px"
|
||||
>
|
||||
<el-option v-for="item in industryList" :key="item.id" :label="item.name" :value="item.id" />
|
||||
<el-select :disabled="readOnly" v-model="form.industrySelect" filterable multiple
|
||||
placeholder="选择行业分类" size="large" style="width: 240px">
|
||||
<el-option v-for="item in industryList" :key="item.id" :label="item.name"
|
||||
:value="item.id" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
|
|
@ -152,7 +123,8 @@
|
|||
</el-form-item>
|
||||
|
||||
<el-form-item label="潜在独家:" prop="industrySelect">
|
||||
<el-radio-group v-model="form.exclusive" size="large" style="width: 240px" :disabled="readOnly">
|
||||
<el-radio-group v-model="form.exclusive" size="large" style="width: 240px"
|
||||
:disabled="readOnly">
|
||||
<el-radio :label="1">是</el-radio>
|
||||
<el-radio :label="0">否</el-radio>
|
||||
</el-radio-group>
|
||||
|
|
@ -160,37 +132,35 @@
|
|||
</div>
|
||||
|
||||
<div class="step_bk" style="position: relative">
|
||||
<icon_ai v-if="form.contentTranslated" style="position: absolute; right: 50px; top: 20px; z-index: 9999"> </icon_ai>
|
||||
<icon_ai v-if="form.contentTranslated"
|
||||
style="position: absolute; right: 50px; top: 20px; z-index: 9999">
|
||||
</icon_ai>
|
||||
<editorBox :ueditorData="form.content" @changeMsg="changeMsg" :readOnly="readOnly"></editorBox>
|
||||
<translate v-if="form.newsInfoId && !isMobileByWidth()" :infoData="form" :key="form.id"> </translate>
|
||||
<translateMobile v-else-if="form.newsInfoId && isMobileByWidth()" :infoData="form" :key="form.id"> </translateMobile>
|
||||
<translate v-if="form.newsInfoId && !isMobileByWidth()" :infoData="form" :key="form.id">
|
||||
</translate>
|
||||
<translateMobile v-else-if="form.newsInfoId && isMobileByWidth()" :infoData="form"
|
||||
:key="form.id">
|
||||
</translateMobile>
|
||||
</div>
|
||||
|
||||
<el-collapse accordion expand-icon-position="left" style="margin-top: 10px; padding: 0 30px; border-top: 0">
|
||||
<el-collapse accordion expand-icon-position="left"
|
||||
style="margin-top: 10px; padding: 0 30px; border-top: 0">
|
||||
<el-collapse-item name="1">
|
||||
<template #title="{ isActive }">
|
||||
<div :class="['title-wrapper', { 'is-active': isActive }]">
|
||||
<text style="font-size: 16px; font-weight: bold">编辑审核备注</text>
|
||||
</div>
|
||||
</template>
|
||||
<el-input
|
||||
v-model="form.revision"
|
||||
show-word-limit
|
||||
maxlength="300"
|
||||
style="margin-top: 10px"
|
||||
:rows="5"
|
||||
type="textarea"
|
||||
placeholder="请输入编辑审核备注"
|
||||
max="300"
|
||||
:disabled="readOnly"
|
||||
/>
|
||||
<el-input v-model="form.revision" show-word-limit maxlength="300" style="margin-top: 10px"
|
||||
:rows="5" type="textarea" placeholder="请输入编辑审核备注" max="300" :disabled="readOnly" />
|
||||
</el-collapse-item>
|
||||
</el-collapse>
|
||||
</div>
|
||||
</el-form>
|
||||
|
||||
<template #footer>
|
||||
<div v-if="!readOnly" style="padding: 10px; display: flex; float: right; gap: 10px; padding-right: 40px">
|
||||
<div v-if="!readOnly"
|
||||
style="padding: 10px; display: flex; float: right; gap: 10px; padding-right: 40px">
|
||||
<el-button @click="submit(1, false)">{{ isMobileByWidth() ? '保存并反馈' : '保存' }}</el-button>
|
||||
|
||||
<!-- <div v-if="Session.get('userInfoLocal').userType == '00'">
|
||||
|
|
@ -200,60 +170,39 @@
|
|||
|
||||
<el-button
|
||||
v-if="data?.status == 2 && !form.deleted && Session.get('userInfoLocal').userType == '01'"
|
||||
type="primary"
|
||||
style="margin-right: 30px; margin-bottom: 20px"
|
||||
@click="doNewsPublishFn(data, 1)"
|
||||
>撤稿</el-button
|
||||
>
|
||||
type="primary" style="margin-right: 30px; margin-bottom: 20px"
|
||||
@click="doNewsPublishFn(data, 1)">撤稿</el-button>
|
||||
|
||||
<el-button
|
||||
type="primary"
|
||||
@click="doNewCheckFn(data)"
|
||||
v-if="data?.status != 2 && !form.deleted && Session.get('userInfoLocal').userType == '02'"
|
||||
>复审</el-button
|
||||
>
|
||||
<el-button type="primary" @click="doNewCheckFn(data)"
|
||||
v-if="data?.status != 2 && !form.deleted && Session.get('userInfoLocal').userType == '02'">复审</el-button>
|
||||
|
||||
<el-button
|
||||
type="primary"
|
||||
@click="submit(0, false)"
|
||||
v-if="
|
||||
<el-button type="primary" @click="submit(0, false)" v-if="
|
||||
data?.status != 2 &&
|
||||
data?.status != -1 &&
|
||||
!form.deleted &&
|
||||
Session.get('userInfoLocal').userType != '02' &&
|
||||
Session.get('userInfoLocal').userType == '01'
|
||||
"
|
||||
>
|
||||
">
|
||||
<text>发布</text>
|
||||
</el-button>
|
||||
|
||||
<el-button
|
||||
type="primary"
|
||||
@click="doApprovalFn(0, false)"
|
||||
v-if="data?.status != 2 && (data?.status == -1 || data?.status == 1) && !form.deleted && Session.get('userInfoLocal').userType != '02'"
|
||||
>
|
||||
<el-button type="primary" @click="doApprovalFn(0, false)"
|
||||
v-if="data?.status != 2 && (data?.status == -1 || data?.status == 1) && !form.deleted && Session.get('userInfoLocal').userType != '02'">
|
||||
<text v-if="Session.get('userInfoLocal').userType == '00'">送审</text>
|
||||
</el-button>
|
||||
|
||||
<el-button
|
||||
type="danger"
|
||||
<el-button type="danger"
|
||||
v-if="Session.get('userInfoLocal').userType == '02' && (data?.status == 3 || data?.status == 4)"
|
||||
@click="doNewReturnFn(data)"
|
||||
>退改</el-button
|
||||
>
|
||||
@click="doNewReturnFn(data)">退改</el-button>
|
||||
|
||||
<el-button type="danger" v-if="Session.get('userInfoLocal').userType == '01' && data?.status == 4" @click="doNewReturnFn(data)"
|
||||
>退改</el-button
|
||||
>
|
||||
<el-button type="danger" v-if="Session.get('userInfoLocal').userType == '01' && data?.status == 4"
|
||||
@click="doNewReturnFn(data)">退改</el-button>
|
||||
</div>
|
||||
<div v-else>
|
||||
<el-button
|
||||
v-if="data?.status == 2 && !form.deleted && Session.get('userInfoLocal').userType == '01'"
|
||||
type="primary"
|
||||
style="margin-right: 30px; margin-bottom: 20px"
|
||||
@click="doNewsPublishFn(data, 1)"
|
||||
>撤稿</el-button
|
||||
>
|
||||
type="primary" style="margin-right: 30px; margin-bottom: 20px"
|
||||
@click="doNewsPublishFn(data, 1)">撤稿</el-button>
|
||||
</div>
|
||||
</template>
|
||||
</el-drawer>
|
||||
|
|
@ -292,7 +241,7 @@ const emit = defineEmits(['doNewsPublishFn', 'handleEditStatus', 'doDeleteNewsFn
|
|||
const props = defineProps({
|
||||
data: {
|
||||
type: Object,
|
||||
default: () => {},
|
||||
default: () => { },
|
||||
},
|
||||
readOnly: {
|
||||
type: Boolean,
|
||||
|
|
@ -598,7 +547,7 @@ async function submit(type, doNotBack, isShowTips = true) {
|
|||
goBack();
|
||||
}
|
||||
})
|
||||
.catch(() => {});
|
||||
.catch(() => { });
|
||||
} else if (type == 1) {
|
||||
console.log('🚀 ~ submit ~ isShowTips:', isShowTips);
|
||||
|
||||
|
|
@ -802,7 +751,7 @@ async function doApprovalFn() {
|
|||
goBack();
|
||||
}
|
||||
})
|
||||
.catch(() => {});
|
||||
.catch(() => { });
|
||||
}
|
||||
</script>
|
||||
|
||||
|
|
@ -846,4 +795,24 @@ async function doApprovalFn() {
|
|||
align-items: center;
|
||||
}
|
||||
}
|
||||
|
||||
:deep(.el-input.is-disabled .el-input__inner) {
|
||||
-webkit-text-fill-color: rgb(76, 76, 76);
|
||||
cursor: not-allowed;
|
||||
}
|
||||
|
||||
:deep(.el-textarea.is-disabled .el-textarea__inner) {
|
||||
-webkit-text-fill-color: rgb(76, 76, 76);
|
||||
cursor: not-allowed;
|
||||
}
|
||||
|
||||
:deep(.el-select__wrapper.is-disabled) {
|
||||
-webkit-text-fill-color: rgb(76, 76, 76);
|
||||
cursor: not-allowed;
|
||||
}
|
||||
|
||||
:deep(.editor-disable .w-e-text-container) {
|
||||
-webkit-text-fill-color: rgb(76, 76, 76);
|
||||
cursor: not-allowed;
|
||||
}
|
||||
</style>
|
||||
|
|
|
|||
Loading…
Reference in New Issue