Browse Source

档案门类 / 岗位管理

master
xuhuajiao 2 years ago
parent
commit
b8b07fea39
  1. 105
      src/assets/styles/mixin.scss
  2. 286
      src/assets/styles/yxk-admin.scss
  3. 35
      src/views/components/category/PreviewForm.vue
  4. 88
      src/views/components/category/SettingForm.vue
  5. 96
      src/views/system/archivesCategory/descriptionPreview/index.vue
  6. 2
      src/views/system/archivesCategory/fileNoFormat/module/form.vue
  7. 3
      src/views/system/archivesCategory/listBrowsing/module/form.vue
  8. 37
      src/views/system/job/index.vue
  9. 24
      src/views/system/job/module/form.vue
  10. 8
      src/views/system/job/module/header.vue

105
src/assets/styles/mixin.scss

@ -492,7 +492,6 @@
[data-theme="light"] & { [data-theme="light"] & {
border-color:#D6D8DD; border-color:#D6D8DD;
background-color: #E6E7E9; background-color: #E6E7E9;
&::after{ &::after{
border-color:#D1D3D7; border-color:#D1D3D7;
} }
@ -512,7 +511,6 @@
background-color: #0348F3; background-color: #0348F3;
// border-color:#D6D8DD; // border-color:#D6D8DD;
// background-color: #D6D8DD; // background-color: #D6D8DD;
&::after{ &::after{
border-color: #fff; border-color: #fff;
} }
@ -747,6 +745,7 @@
color: #fff; color: #fff;
border-radius: 4px; border-radius: 4px;
margin-right: 20px; margin-right: 20px;
border: none;
} }
[data-theme="light"] & { [data-theme="light"] & {
color: #0C0E1E; color: #0C0E1E;
@ -758,3 +757,105 @@
margin-top: -20px; margin-top: -20px;
} }
} }
@mixin des-title{
[data-theme="dark"] & {
padding-left: 46px;
p{
position: absolute;
left: 46px;
top: 0;
background-image: -webkit-gradient(
linear,
0 0,
0 bottom,
from(rgba(255, 255, 255, 1)),
to(rgba(46, 143, 237, 1))
);
background-clip: text;
-webkit-text-fill-color: transparent;
z-index: 2;
i{
-webkit-text-fill-color: #fff;
}
}
&::before {
top: 0;
width: 93px;
height: 28px;
background: url(~@/assets/images/des_title.png) no-repeat;
background-size: contain;
}
}
[data-theme="light"] & {
padding-left: 8px;
p{
color: #000;
i{
-webkit-text-fill-color: #9098A4;
}
}
&::before {
top: 50%;
width: 3px;
height: 14px;
margin-top: -7px;
background-color: #0348F3;
}
}
}
@mixin des-fields{
[data-theme="dark"] & {
color: #3a99fd;
border: 1px solid #339cff;
&:hover,
&.fields-active {
color: #fff;
background-color: #339cff;
}
}
[data-theme="light"] & {
color: #545B65;
border: 1px solid #E6E8ED;
&:hover,
&.fields-active {
color: #0348F3;
background-color: #E8F2FF;
}
}
}
@mixin des-preview-label{
font-weight: normal;
[data-theme="dark"] & {
color: #3a99fd;
}
}
@mixin des-preview-input-num{
[data-theme="dark"] & {
margin-right: 24px !important;
}
[data-theme="light"] & {
margin-right: 10px !important;
}
}
@mixin des-preview-input-cont{
[data-theme="dark"] & {
margin-right: 10px !important;
width: 50px !important;
.el-input__inner{
width: 50px !important;
}
}
[data-theme="light"] & {
margin-right: 6px !important;
width: 40px !important;
.el-input__inner{
width: 40px !important;
}
}
}

286
src/assets/styles/yxk-admin.scss

@ -909,146 +909,225 @@
// 著录界面表单 // 著录界面表单
.des-form{ .des-form{
.el-form-item__label{
font-weight: normal;
color: $desPreviewColor;
// .el-form-item__label{
// font-weight: normal;
// color: $desPreviewColor;
// }
// .el-input__inner{
// // color: $desPreviewColor;
// // background: #021941 !important;
// @include input_style;
// border: none;
// &::placeholder{
// color: $desPreviewColor !important;
// }
// &::-webkit-input-placeholder{
// color: $desPreviewColor !important;
// }
// }
// .el-input.is-disabled .el-input__inner{
// color: $desPreviewColor !important;
// border: none;
// background-color: #02255f!important;
// }
// .el-input__icon{
// color: $desPreviewColor !important;
// }
// .checkbox-item{
// height: 36px;
// line-height: 36px;
// // text-align: right;
// .el-form-item__content{
// margin-left: 0 !important;
// }
// .el-checkbox__input.is-disabled .el-checkbox__inner{
// // background-color: transparent;
// // border-color: $mainColor;
// @include checkbox-disabled-style;
// // &::after{
// // border-color: $desPreviewColor;
// // }
// }
// span{
// color: $desPreviewColor;
// }
// }
// .input-num{
// display: flex;
// justify-content: flex-end;
// .el-input__inner{
// width: 50px;
// }
// .el-form-item__content{
// display: flex;
// justify-content: flex-start;
// margin-left: 0 !important;
// .el-input,
// .el-input-number--small{
// width: 60px;
// }
// .el-input-number.is-controls-right {
// .el-input-number__decrease,
// .el-input-number__increase{
// display: none;
// }
// .el-input__inner{
// padding-left: 0;
// padding-right: 0;
// }
// }
// }
// span{
// color: $desPreviewColor;
// line-height: 36px;
// }
// }
} }
.el-input__inner{
color: $desPreviewColor;
background: #021941 !important;
border: none;
&::placeholder{
color: $desPreviewColor !important;
// 提示框-dialog
.tip-dialog{
.el-dialog{
width: 504px;
.setting-dialog{
padding: 0 10px;
} }
&::-webkit-input-placeholder{
color: $desPreviewColor !important;
.tip-content{
padding-left: 34px;
font-size: 14px;
line-height: 24px;
color: #0C0E1E;
background: url("~@/assets/images/icon/tip-icon.png") no-repeat left top;
background-size: 24px 24px;
span{
font-size: 12px;
color: #ED4A41;
} }
} }
.el-input.is-disabled .el-input__inner{
color: $desPreviewColor !important;
border: none;
background-color: #02255f!important;
} }
.el-input__icon{
color: $desPreviewColor !important;
.dialog-footer{
margin-top: 27px;
}
}
.tip-middle-dialog{
.el-dialog{
width: 708px;
}
}
// 门类-字段管理
.field-setting-dialog,
.edit-form-dialog{
.el-dialog{
width: 536px;
.el-dialog__body {
.el-form-item{
&:nth-child(odd){
margin-right: 0;
} }
.checkbox-item{
height: 36px;
line-height: 36px;
text-align: right;
.el-form-item__content{ .el-form-item__content{
margin-left: 0 !important;
// width: 264px;
.el-input__inner,
.el-textarea__inner{
width: 264px;
}
}
}
}
}
.des-form{
// width: 100% !important;
// margin-top: 0 !important;
// padding: 20px 38px 0 20px !important;
// background-color: transparent !important;
// .el-form-item__content,
// .el-select,
// .el-input__inner{
// width: 264px;
// }
.checkbox-item{
height: 33px;
line-height: 33px;
.el-checkbox__inner{
border-color: #D6D8DD;
}
.el-checkbox__input.is-checked .el-checkbox__inner{
border-color: #0348f3;
background-color: #0348f3;
&::after{
border-color: #fff;
}
} }
.el-checkbox__input.is-disabled .el-checkbox__inner { .el-checkbox__input.is-disabled .el-checkbox__inner {
background-color: transparent;
border-color: $mainColor;
border-color: #D6D8DD;
background-color:#f5f7fa;
&::after{ &::after{
border-color: $desPreviewColor;
border-color: #fff;
} }
} }
span{ span{
color: $desPreviewColor;
font-weight: bold;
color: #0C0E1E;
} }
} }
.input-num{
display: flex;
justify-content: flex-end;
.el-input__inner{
width: 50px;
}
} }
.des-form{
.input-num{
.el-form-item__content{ .el-form-item__content{
display: flex; display: flex;
justify-content: flex-start; justify-content: flex-start;
margin-left: 0 !important;
width: 50px !important;
.el-input, .el-input,
.el-input-number--small{
width: 60px;
}
.el-input-number--small,
.el-input-number.is-controls-right { .el-input-number.is-controls-right {
width: 50px !important;
margin-right: 10px;
.el-input__inner{
width: 50px !important;
padding-left: 5px;
padding-right: 5px;
text-align: center;
}
.el-input-number__decrease, .el-input-number__decrease,
.el-input-number__increase{ .el-input-number__increase{
display: none; display: none;
} }
.el-input__inner{
padding-left: 0;
padding-right: 0;
}
} }
} }
span{
color: $desPreviewColor;
line-height: 36px;
}
} }
} }
// 提示框-dialog
.tip-dialog{
.el-dialog{
width: 504px;
.setting-dialog{
padding: 0 10px;
.des-preview-left{
.el-form-item__label{
@include des-preview-label;
} }
.tip-content{
padding-left: 34px;
font-size: 14px;
line-height: 24px;
color: #0C0E1E;
background: url("~@/assets/images/icon/tip-icon.png") no-repeat left top;
background-size: 24px 24px;
.el-form-item__content{
span{ span{
font-size: 12px;
color: #ED4A41;
}
@include des-preview-label;
} }
} }
.dialog-footer{
margin-top: 27px;
}
}
.tip-middle-dialog{
.el-dialog{
width: 708px;
.el-input__inner{
@include category-info-text;
} }
} }
.field-setting-dialog{
.preview-dialog{
.el-dialog{ .el-dialog{
width: 536px;
}
.des-form{
width: 100% !important;
margin-top: 0 !important;
padding: 20px 38px 0 20px !important;
background-color: transparent !important;
.el-select,
.el-input__inner{
width: 100% !important;
width: 758px !important;
.preview-content{
max-height: calc(100vh - 330px) !important;
overflow: hidden !important;
overflow-y: auto !important;
border: none !important;
.el-form-item__label{
color: #0C0E1E !important;
} }
.input-num{
.el-input{
margin-right: 10px !important;
} }
.dialog-footer{
margin-top: 10px !important;
} }
} }
} }
// .preview-dialog{ // .preview-dialog{
// .el-dialog{
// width: 680px !important;
// .preview-content{
// max-height: calc(100vh - 330px) !important;
// overflow: hidden !important;
// overflow-y: auto !important;
// border: none !important;
// .el-textarea__inner{
// border: 1px solid $mainColor !important;
// background-color: transparent !important;
// }
// }
// .el-dialog__header{
// width: 420px !important;
// }
// }
// }
// .preview-dialog{
// .el-dialog__body{ // .el-dialog__body{
// padding: 30px 0 !important; // padding: 30px 0 !important;
// } // }
@ -1686,3 +1765,14 @@ input[type ='number'] {
flex-grow: 1; flex-grow: 1;
} }
} }
.addEdit-category-form{
.setting-dialog{
.el-form{
max-height: 600px;
padding-right: 10px;
overflow: hidden;
overflow-y: scroll;
}
}
}

35
src/views/components/category/PreviewForm.vue

@ -1,6 +1,6 @@
<template> <template>
<div class="preview-content right-preview"> <div class="preview-content right-preview">
<el-form ref="addOrUpdateForm" :model="addOrUpdateForm" :rules="rules" :validate-on-rule-change="false" label-width="120px">
<el-form ref="addOrUpdateForm" :model="addOrUpdateForm" :rules="rules" :validate-on-rule-change="false" label-width="125px">
<el-row :gutter="4" style="padding:0 20px"> <el-row :gutter="4" style="padding:0 20px">
<draggable v-bind="{draggable:'.drag-item',animation:500}" :disabled="!isDraggable" @update="datadragEnd"> <draggable v-bind="{draggable:'.drag-item',animation:500}" :disabled="!isDraggable" @update="datadragEnd">
<el-col v-for="(item,index) in formPreviewData" v-show="item.fieldName !== 'barcode'" :key="index" :class="['drag-item',item.fieldName === 'barcode'? 'barcode-input':'']" :span="item.isLine || item.fieldName === 'barcode' ? 24 : 12"> <el-col v-for="(item,index) in formPreviewData" v-show="item.fieldName !== 'barcode'" :key="index" :class="['drag-item',item.fieldName === 'barcode'? 'barcode-input':'']" :span="item.isLine || item.fieldName === 'barcode' ? 24 : 12">
@ -453,14 +453,25 @@ export default {
} }
</script> </script>
<style rel="stylesheet/scss" lang="scss" scoped>
<style lang="scss" scoped>
@import "~@/assets/styles/mixin.scss";
@import "~@/assets/styles/variables.scss";
@mixin preview-border-style{
[data-theme="dark"] & {
border: 1px solid #3a99fd;
}
[data-theme="light"] & {
border: 1px solid #EDEFF3;
}
}
.preview-content { .preview-content {
padding: 20px 0 0 0 !important; padding: 20px 0 0 0 !important;
margin-top: 0 !important; margin-top: 0 !important;
border-radius: 4px; border-radius: 4px;
border: 1px solid #3a99fd;
margin: 0 auto; margin: 0 auto;
@include preview-border-style;
.el-row { .el-row {
margin-left: 0 !important; margin-left: 0 !important;
margin-right: 0 !important; margin-right: 0 !important;
@ -469,22 +480,28 @@ export default {
padding-left: 0 !important; padding-left: 0 !important;
padding-right: 0 !important; padding-right: 0 !important;
} }
::v-deep .el-input__inner {
::v-deep .el-form-item__label{
@include tree_font_color;
}
::v-deep .el-input__inner,
::v-deep .vue-treeselect__control,
::v-deep .el-textarea__inner {
width: 100%; width: 100%;
background-color: transparent;
@include input_style;
} }
::v-deep .el-input__prefix { ::v-deep .el-input__prefix {
text-align: right; text-align: right;
right: 5px !important; right: 5px !important;
color: #339cff;
@include tree_font_color;
} }
.input-popover { .input-popover {
::v-deep .el-input__suffix { ::v-deep .el-input__suffix {
// right: 10px;
color: #339cff;
@include tree_font_color;
} }
} }
::v-deep .el-date-editor { ::v-deep .el-date-editor {
width: 196px;
width: 225px;
.el-input__inner { .el-input__inner {
padding-left: 15px; padding-left: 15px;
} }

88
src/views/components/category/SettingForm.vue

@ -1,54 +1,60 @@
<template> <template>
<div class="des-form"> <div class="des-form">
<el-row>
<el-form ref="form" :model="form" :rules="rules" :hide-required-asterisk="isDisabled" size="small" label-width="80px"> <el-form ref="form" :model="form" :rules="rules" :hide-required-asterisk="isDisabled" size="small" label-width="80px">
<el-row>
<el-col :span="16"> <el-col :span="16">
<el-form-item v-if="!isDisabled" label="中文名称" prop="fieldCnName">
<el-form-item label="字段名称" prop="fieldCnName">
<el-input v-model="form.fieldCnName" :disabled="isDisabled" /> <el-input v-model="form.fieldCnName" :disabled="isDisabled" />
</el-form-item> </el-form-item>
<el-form-item v-if="!isDisabled" label="字段标识" prop="fieldName" class="inline-error-item" :inline-message="true">
<el-input v-if="isDisabled" v-model="form.fieldName" readonly />
<el-form-item label="字段标识" prop="fieldName" class="inline-error-item" :inline-message="true">
<el-input v-if="isDisabled" v-model="form.fieldName" disabled />
<el-input v-else v-model="form.fieldName" :disabled="!isAdd" /> <el-input v-else v-model="form.fieldName" :disabled="!isAdd" />
</el-form-item> </el-form-item>
<el-form-item label="字段类型" prop="isDataType"> <el-form-item label="字段类型" prop="isDataType">
<el-input v-if="isDisabled" v-model="form.isDataTypeTxt" readonly />
<el-input v-if="isDisabled" v-model="form.isDataTypeTxt" disabled />
<el-select v-else v-model="form.isDataType" placeholder="" :disabled="!isAdd"> <el-select v-else v-model="form.isDataType" placeholder="" :disabled="!isAdd">
<el-option v-for="item in dataTypeOptions" :key="item.value" :label="item.label" :value="item.value" /> <el-option v-for="item in dataTypeOptions" :key="item.value" :label="item.label" :value="item.value" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="字段长度" prop="isColumnLength"> <el-form-item label="字段长度" prop="isColumnLength">
<el-input v-if="isDisabled" v-model="form.isColumnLength" type="number" placeholder="" readonly />
<el-input v-if="isDisabled" v-model="form.isColumnLength" type="number" placeholder="" disabled />
<el-input v-else v-model.number="form.isColumnLength" type="number" placeholder="" :disabled="!isAdd" /> <el-input v-else v-model.number="form.isColumnLength" type="number" placeholder="" :disabled="!isAdd" />
</el-form-item> </el-form-item>
<el-form-item label="著录形式" prop="isInputClass"> <el-form-item label="著录形式" prop="isInputClass">
<el-input v-if="isDisabled" v-model="form.isInputClassTxt" readonly />
<el-input v-if="isDisabled" v-model="form.isInputClassTxt" disabled />
<el-select v-else v-model="form.isInputClass" placeholder="" @change="selectInputClass"> <el-select v-else v-model="form.isInputClass" placeholder="" @change="selectInputClass">
<el-option v-for="item in inputClassOptions" :key="item.value" :label="item.label" :value="item.value" /> <el-option v-for="item in inputClassOptions" :key="item.value" :label="item.label" :value="item.value" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="对应字典" prop="dictionaryConfigId">
<el-input v-if="isDisabled" v-model="form.dictionaryConfigId.dicName" readonly />
<el-form-item label="对应数据" prop="dictionaryConfigId">
<el-input v-if="isDisabled" v-model="form.dictionaryConfigId.dicName" disabled />
<!-- @change="selectDictionary" --> <!-- @change="selectDictionary" -->
<el-select v-else v-model="form.dictionaryConfigId.id" placeholder="" value-key="id" :disabled="form.isInputClass !== 'select' && form.isInputClass !== 'popover'">
<div v-else class="dictionary-selected">
<el-select v-model="form.dictionaryConfigId.type" class="dictionary-left" placeholder="" value-key="id" :disabled="form.isInputClass !== 'select' && form.isInputClass !== 'popover'">
<el-option v-for="item in dataOptions" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
<el-select v-model="form.dictionaryConfigId.id" class="dictionary-right" placeholder="" value-key="id" :disabled="form.dictionaryConfigId.type !== 'dictionary'">
<el-option v-for="item in dictionaryData" :key="item.id" :label="item.dicName" :value="item.id" /> <el-option v-for="item in dictionaryData" :key="item.id" :label="item.dicName" :value="item.id" />
</el-select> </el-select>
</div>
</el-form-item> </el-form-item>
<el-form-item label="显示长度" prop="editLength"> <el-form-item label="显示长度" prop="editLength">
<!-- :min="46" :max="510" --> <!-- :min="46" :max="510" -->
<el-input v-model="form.editLength" type="number" :readonly="isDisabled" @keyup.enter.native="changEditLength" @blur="changEditLength" />
<el-input v-model="form.editLength" type="number" :disabled="isDisabled" @keyup.enter.native="changEditLength" @blur="changEditLength" />
</el-form-item> </el-form-item>
<el-form-item label="默认值" prop="isDefaultValue"> <el-form-item label="默认值" prop="isDefaultValue">
<el-input v-model="form.isDefaultValue" :readonly="isDisabled" />
<el-input v-model="form.isDefaultValue" :disabled="isDisabled" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item class="checkbox-item"> <el-form-item class="checkbox-item">
<span>显示一整行</span>
<span>整行显示</span>
<el-checkbox v-model="form.isLine" name="isLine" :disabled="isDisabled" @change="changeIsLine" /> <el-checkbox v-model="form.isLine" name="isLine" :disabled="isDisabled" @change="changeIsLine" />
</el-form-item> </el-form-item>
<el-form-item class="checkbox-item"> <el-form-item class="checkbox-item">
@ -69,17 +75,17 @@
</el-form-item> </el-form-item>
<el-form-item class="checkbox-item"> <el-form-item class="checkbox-item">
<span>自动补零</span> <span>自动补零</span>
<el-checkbox v-model="form.isFilling" name="isFilling" :disabled="isDisabled" @change="changeSupplement" />
<el-checkbox v-model="form.isFilling" name="isFilling" :disabled="isDisabled || form.isInputClass !=='number'" @change="changeSupplement" />
</el-form-item> </el-form-item>
<el-form-item class="input-num" label="位数" prop="fillingDigit"> <el-form-item class="input-num" label="位数" prop="fillingDigit">
<el-input v-if="isDisabled || !form.isFilling" v-model="form.fillingDigit" readonly />
<el-input v-if="isDisabled || !form.isFilling" v-model="form.fillingDigit" disabled />
<!-- <el-input v-model="form.fillingDigit" type="number" :min="1" :disabled="isDisabled || !form.isSupplement" /> --> <!-- <el-input v-model="form.fillingDigit" type="number" :min="1" :disabled="isDisabled || !form.isSupplement" /> -->
<el-input-number v-else v-model="form.fillingDigit" controls-position="right" :min="1" :disabled="isDisabled || !form.isFilling" /> <el-input-number v-else v-model="form.fillingDigit" controls-position="right" :min="1" :disabled="isDisabled || !form.isFilling" />
<span></span> <span></span>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-form>
</el-row> </el-row>
</el-form>
</div> </div>
</template> </template>
@ -128,8 +134,8 @@ export default {
} }
// //
var checkEditLength = (rule, value, callback) => { var checkEditLength = (rule, value, callback) => {
if (this.form.editLength && this.form.editLength > 510) {
callback(new Error('显示长度最大510'))
if (this.form.editLength && this.form.editLength > 578) {
callback(new Error('显示长度最大578'))
} else if (this.form.editLength && this.form.editLength < 46) { } else if (this.form.editLength && this.form.editLength < 46) {
callback(new Error('显示长度最小46')) callback(new Error('显示长度最小46'))
} else { } else {
@ -187,7 +193,8 @@ export default {
return { return {
form: { form: {
dictionaryConfigId: { dictionaryConfigId: {
id: null
id: null,
type: null
} }
}, },
rules: getRules(), rules: getRules(),
@ -206,7 +213,12 @@ export default {
{ value: 'textarea', label: '文本域' } { value: 'textarea', label: '文本域' }
], ],
// //
dictionaryData: []
dictionaryData: [],
dataOptions: [
{ value: 'group', label: '全宗' },
{ value: 'classify', label: '档案分类' },
{ value: 'dictionary', label: '字典' }
]
// dictionaryId: null // dictionaryId: null
} }
}, },
@ -300,7 +312,7 @@ export default {
// this.$message.error('46') // this.$message.error('46')
// this.form.editLength = 46 // this.form.editLength = 46
// } // }
if (value > 200) {
if (value > 225) {
this.form.isLine = true this.form.isLine = true
} }
// if (value > 510) { // if (value > 510) {
@ -310,8 +322,8 @@ export default {
}, },
changeIsLine() { changeIsLine() {
if (!this.form.isLine) { if (!this.form.isLine) {
if (this.form.editLength > 200) {
this.form.editLength = 200
if (this.form.editLength > 225) {
this.form.editLength = 225
} }
} }
}, },
@ -396,17 +408,21 @@ export default {
} }
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
// .des-form {
// width: 536px;
// padding: 20px 38px 20px 20px;
// margin-top: 30px;
// border-radius: 4px;
// background-color: #02255f;
// ::v-deep .el-checkbox,
// ::v-deep .el-checkbox__input,
// ::v-deep .el-checkbox__input.is-disabled .el-checkbox__inner,
// ::v-deep .el-checkbox__inner::after {
// cursor: default;
// }
// }
.dictionary-selected{
display: flex;
justify-content: space-between;
width: 264px;
.dictionary-left{
width: 104px;
::v-deep .el-input__inner{
width: 104px !important;
}
}
.dictionary-right{
width: 150px;
::v-deep .el-input__inner{
width: 150px !important;
}
}
}
</style> </style>

96
src/views/system/archivesCategory/descriptionPreview/index.vue

@ -25,8 +25,8 @@
</ul> </ul>
</el-collapse-transition> </el-collapse-transition>
<div class="des-set-btn"> <div class="des-set-btn">
<el-button type="primary" icon="el-icon-edit" @click="settingForm">修改</el-button>
<el-button class="des-set-sort" type="primary" icon="iconfont icon-paixu-fanbai" @click="previewFormVisible = true">排序</el-button>
<el-button type="primary" icon="iconfont icon-bianji" @click="settingForm">编辑</el-button>
<el-button class="des-set-sort" type="primary" icon="iconfont icon-paixu" @click="previewFormVisible = true">排序</el-button>
</div> </div>
<SettingForm :is-disabled="true" :is-add="false" :this-fields="thisFields" /> <SettingForm :is-disabled="true" :is-add="false" :this-fields="thisFields" />
</div> </div>
@ -39,8 +39,6 @@
<!-- 修改字段 --> <!-- 修改字段 -->
<el-dialog class="edit-form-dialog" :visible="settingFormVisible" :before-close="handleClose" :close-on-click-modal="false" title="修改字段"> <el-dialog class="edit-form-dialog" :visible="settingFormVisible" :before-close="handleClose" :close-on-click-modal="false" title="修改字段">
<span class="dialog-right-top" />
<span class="dialog-left-bottom" />
<div class="setting-dialog"> <div class="setting-dialog">
<SettingForm ref="editForm" :is-disabled="false" :is-add="false" :this-fields="editField" /> <SettingForm ref="editForm" :is-disabled="false" :is-add="false" :this-fields="editField" />
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
@ -50,9 +48,7 @@
</el-dialog> </el-dialog>
<!-- 界面字段预览排序 --> <!-- 界面字段预览排序 -->
<el-dialog class="preview-dialog" :visible="previewFormVisible" :before-close="handleClose" :close-on-click-modal="false" :destroy-on-close="true" title="修改排序">
<span class="dialog-right-top" />
<span class="dialog-left-bottom" />
<el-dialog class="preview-dialog sort-dialog" :visible="previewFormVisible" :before-close="handleClose" :close-on-click-modal="false" :destroy-on-close="true" title="著录界面排序">
<div class="setting-dialog"> <div class="setting-dialog">
<i class="drag-tip">提示使用鼠标拖动调整顺序</i> <i class="drag-tip">提示使用鼠标拖动调整顺序</i>
<!-- <PreviewForm :is-disabled="true" :all-fields-data="allFieldsData" .sync/> --> <!-- <PreviewForm :is-disabled="true" :all-fields-data="allFieldsData" .sync/> -->
@ -187,12 +183,15 @@ export default {
} }
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
@import "~@/assets/styles/mixin.scss";
@import "~@/assets/styles/variables.scss";
@mixin main-padding{ @mixin main-padding{
[data-theme="dark"] & { [data-theme="dark"] & {
padding: 0 20px 20px 20px; padding: 0 20px 20px 20px;
} }
[data-theme="light"] & { [data-theme="light"] & {
padding: 20px;
padding: 20px 0;
} }
} }
.category-main { .category-main {
@ -207,36 +206,49 @@ export default {
} }
.des-preview-left { .des-preview-left {
flex: 1; flex: 1;
.des-form{
::v-deep .input-num{
display: flex;
justify-content: flex-end;
text-align: right;
@include des-preview-input-num;
.el-form-item__content{
margin-left: 0 !important;
.el-input,
.el-input-number--small,
.el-input-number.is-controls-right {
padding-left: 2px;
padding-right: 2px;
@include des-preview-input-cont;
}
}
}
}
::v-deep .el-col-8{
text-align: right;
}
::v-deep .checkbox-item{
.el-form-item__content{
margin-left: 0 !important;
}
}
} }
.des-title { .des-title {
position: relative; position: relative;
height: 28px; height: 28px;
margin-bottom: 10px; margin-bottom: 10px;
padding-left: 46px;
font-size: 14px; font-size: 14px;
font-weight: bold; font-weight: bold;
color: #fff; color: #fff;
cursor: pointer; cursor: pointer;
@include des-title;
p { p {
position: absolute;
left: 46px;
top: 0;
line-height: 28px; line-height: 28px;
background-image: -webkit-gradient(
linear,
0 0,
0 bottom,
from(rgba(255, 255, 255, 1)),
to(rgba(46, 143, 237, 1))
);
background-clip: text;
-webkit-text-fill-color: transparent;
z-index: 2;
i { i {
font-size: 16px; font-size: 16px;
margin-left: 6px; margin-left: 6px;
background-image: none; background-image: none;
-webkit-text-fill-color: #fff;
transition: all ease-in 0.5s; transition: all ease-in 0.5s;
&.arrow-up { &.arrow-up {
transform: rotate(180deg); transform: rotate(180deg);
@ -247,28 +259,22 @@ export default {
content: ""; content: "";
position: absolute; position: absolute;
left: 0; left: 0;
top: 0;
width: 93px;
height: 28px;
background: url(~@/assets/images/des_title.png) no-repeat;
background-size: contain;
z-index: 1; z-index: 1;
} }
} }
.des-fields { .des-fields {
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
margin-bottom: 30px;
margin-bottom: 20px;
margin-left: 1px; margin-left: 1px;
li { li {
width: 116px;
width: 100px;
height: 40px; height: 40px;
line-height: 40px; line-height: 40px;
margin: -1px 0 0 -1px; margin: -1px 0 0 -1px;
font-size: 14px; font-size: 14px;
text-align: center; text-align: center;
color: #3a99fd;
border: 1px solid #339cff;
@include des-fields;
cursor: pointer; cursor: pointer;
p { p {
overflow: hidden; overflow: hidden;
@ -277,41 +283,27 @@ export default {
-webkit-box-orient: vertical; -webkit-box-orient: vertical;
-webkit-line-clamp: 1; -webkit-line-clamp: 1;
} }
&:hover,
&.fields-active {
color: #fff;
background-color: #339cff;
}
} }
} }
.des-set-btn { .des-set-btn {
display: flex;
justify-content: flex-end;
text-align: right; text-align: right;
margin-bottom: 20px;
.el-button { .el-button {
background-color: #3a99fd;
display: block;
@include elButton-style;
} }
.des-set-sort { .des-set-sort {
::v-deep .iconfont { ::v-deep .iconfont {
line-height: 0 !important; line-height: 0 !important;
} }
::v-deep span {
margin-left: 5px;
}
} }
} }
.des-preview-right { .des-preview-right {
width: 690px;
width: 758px;
margin-left: 20px; margin-left: 20px;
} }
.edit-form-dialog {
::v-deep .el-dialog {
.el-input.is-disabled .el-input__inner {
color: #fff;
}
.el-input-number.is-controls-right {
margin-right: 10px;
}
}
}
} }
</style> </style>

2
src/views/system/archivesCategory/fileNoFormat/module/form.vue

@ -1,5 +1,5 @@
<template> <template>
<el-dialog :close-on-click-modal="false" :visible.sync="cuDialogVisible" :title="title">
<el-dialog class="addEdit-category-form" :close-on-click-modal="false" :visible.sync="cuDialogVisible" :title="title">
<div class="setting-dialog"> <div class="setting-dialog">
<el-form ref="formData" :model="formData" size="small" label-width="90px"> <el-form ref="formData" :model="formData" size="small" label-width="90px">
<el-row v-for="(item) in formData.fields" :key="item.id"> <el-row v-for="(item) in formData.fields" :key="item.id">

3
src/views/system/archivesCategory/listBrowsing/module/form.vue

@ -1,5 +1,5 @@
<template> <template>
<el-dialog :close-on-click-modal="false" :visible.sync="cuDialogVisible" :title="title">
<el-dialog class="addEdit-category-form" :close-on-click-modal="false" :visible.sync="cuDialogVisible" :title="title">
<div class="setting-dialog"> <div class="setting-dialog">
<el-form ref="formData" :model="formData" size="small" label-width="95px"> <el-form ref="formData" :model="formData" size="small" label-width="95px">
<el-row v-for="(item, index) in formData.fields" :key="item.id"> <el-row v-for="(item, index) in formData.fields" :key="item.id">
@ -93,4 +93,5 @@ export default {
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
</style> </style>

37
src/views/system/job/index.vue

@ -1,49 +1,24 @@
<template> <template>
<div>
<div class="app-container row-container">
<!--工具栏--> <!--工具栏-->
<div class="head-container"> <div class="head-container">
<eHeader :dict="dict" :permission="permission" /> <eHeader :dict="dict" :permission="permission" />
<crudOperation :permission="permission" /> <crudOperation :permission="permission" />
</div> </div>
<!--表格渲染--> <!--表格渲染-->
<div class="app-container container-wrap" style="margin-top:0;min-height: calc(100vh - 292px);">
<div class="container-wrap">
<span class="right-top-line" /> <span class="right-top-line" />
<span class="left-bottom-line" /> <span class="left-bottom-line" />
<el-table ref="table" v-loading="crud.loading" :data="crud.data" style="width: 100%;" @selection-change="crud.selectionChangeHandler"> <el-table ref="table" v-loading="crud.loading" :data="crud.data" style="width: 100%;" @selection-change="crud.selectionChangeHandler">
<el-table-column type="selection" align="center" width="55" /> <el-table-column type="selection" align="center" width="55" />
<el-table-column prop="name" label="名称" />
<el-table-column prop="name" label="岗位名称" />
<el-table-column prop="remark" label="描述信息" />
<el-table-column prop="jobSort" label="排序"> <el-table-column prop="jobSort" label="排序">
<template slot-scope="scope"> <template slot-scope="scope">
{{ scope.row.jobSort }} {{ scope.row.jobSort }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="status" label="状态" align="center">
<template slot-scope="scope">
<el-switch
v-model="scope.row.enabled"
active-color="#409EFF"
inactive-color="#F56C6C"
@change="changeEnabled(scope.row, scope.row.enabled)"
/>
</template>
</el-table-column>
<el-table-column prop="createTime" label="创建日期" /> <el-table-column prop="createTime" label="创建日期" />
<!-- 编辑与删除 -->
<el-table-column
v-if="checkPer(['admin','job:edit','job:del'])"
label="操作"
width="130px"
align="center"
fixed="right"
>
<template slot-scope="scope">
<udOperation
:data="scope.row"
:permission="permission"
/>
</template>
</el-table-column>
</el-table> </el-table>
<!--分页组件--> <!--分页组件-->
<pagination /> <pagination />
@ -60,10 +35,10 @@ import eForm from './module/form'
import CRUD, { presenter } from '@crud/crud' import CRUD, { presenter } from '@crud/crud'
import crudOperation from '@crud/CRUD.operation' import crudOperation from '@crud/CRUD.operation'
import pagination from '@crud/Pagination' import pagination from '@crud/Pagination'
import udOperation from '@crud/UD.operation'
// import udOperation from '@crud/UD.operation'
export default { export default {
name: 'Job', name: 'Job',
components: { eHeader, eForm, crudOperation, pagination, udOperation },
components: { eHeader, eForm, crudOperation, pagination },
cruds() { cruds() {
return CRUD({ return CRUD({
title: '岗位', title: '岗位',

24
src/views/system/job/module/form.vue

@ -13,16 +13,16 @@
ref="form" ref="form"
:model="form" :model="form"
:rules="rules" :rules="rules"
inline
size="small" size="small"
label-width="80px" label-width="80px"
> >
<el-form-item <el-form-item
label="名称"
label="岗位名称"
prop="name" prop="name"
> >
<el-input <el-input
v-model="form.name" v-model="form.name"
style="width: 370px;"
/> />
</el-form-item> </el-form-item>
<el-form-item <el-form-item
@ -34,22 +34,10 @@
:min="0" :min="0"
:max="999" :max="999"
controls-position="right" controls-position="right"
style="width: 370px;"
/> />
</el-form-item> </el-form-item>
<el-form-item
v-if="form.pid !== 0"
label="状态"
prop="enabled"
>
<el-radio
v-for="item in jobStatus"
:key="item.id"
v-model="form.enabled"
:label="item.value === 'true'"
>
{{ item.label }}
</el-radio>
<el-form-item label="描述信息" prop="description">
<el-input v-model="form.description" style="width: 586px;" rows="5" type="textarea" />
</el-form-item> </el-form-item>
</el-form> </el-form>
<div <div
@ -67,7 +55,7 @@
type="primary" type="primary"
@click="crud.submitCU" @click="crud.submitCU"
> >
</el-button> </el-button>
</div> </div>
</div> </div>
@ -81,7 +69,7 @@ const defaultForm = {
id: null, id: null,
name: '', name: '',
jobSort: 999, jobSort: 999,
enabled: true
description: null
} }
export default { export default {
mixins: [form(defaultForm)], mixins: [form(defaultForm)],

8
src/views/system/job/module/header.vue

@ -4,11 +4,11 @@
class="head-search" class="head-search"
> >
<el-input v-model="query.name" clearable size="small" placeholder="输入岗位名称搜索" prefix-icon="el-icon-search" style="width: 200px;" class="filter-item" @keyup.enter.native="crud.toQuery" /> <el-input v-model="query.name" clearable size="small" placeholder="输入岗位名称搜索" prefix-icon="el-icon-search" style="width: 200px;" class="filter-item" @keyup.enter.native="crud.toQuery" />
<date-range-picker v-model="query.createTime" class="date-item" />
<!-- <date-range-picker v-model="query.createTime" class="date-item" />
<el-select v-model="query.enabled" clearable size="small" placeholder="状态" class="filter-item" style="width: 100px" @change="crud.toQuery"> <el-select v-model="query.enabled" clearable size="small" placeholder="状态" class="filter-item" style="width: 100px" @change="crud.toQuery">
<i slot="prefix" class="iconfont icon-zhuangtai-fanbai" /> <i slot="prefix" class="iconfont icon-zhuangtai-fanbai" />
<el-option v-for="item in dict.dict.job_status" :key="item.value" :label="item.label" :value="item.value" /> <el-option v-for="item in dict.dict.job_status" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
</el-select> -->
<rrOperation /> <rrOperation />
</div> </div>
</template> </template>
@ -16,9 +16,9 @@
<script> <script>
import { header } from '@crud/crud' import { header } from '@crud/crud'
import rrOperation from '@crud/RR.operation' import rrOperation from '@crud/RR.operation'
import DateRangePicker from '@/components/DateRangePicker'
// import DateRangePicker from '@/components/DateRangePicker'
export default { export default {
components: { rrOperation, DateRangePicker },
components: { rrOperation },
mixins: [header()], mixins: [header()],
props: { props: {
dict: { dict: {

Loading…
Cancel
Save