hcj 2 months ago
parent c7e3f0db08
commit fc5f33924f
  1. 2
      README.md
  2. 9
      src/views/components/CrowdsourceAudit.vue
  3. 20
      src/views/components/TaskInfo.vue
  4. 1
      src/views/system/user/index.vue
  5. 85
      src/views/trainService/signlist.vue

@ -7,6 +7,8 @@ git clone https://gitee.com/y_project/RuoYi-Vue
# 进入项目目录 # 进入项目目录
cd ruoyi-ui cd ruoyi-ui
### node版本需求 16.15.0
# 安装依赖 # 安装依赖
npm install npm install

@ -123,7 +123,8 @@
</el-col> </el-col>
</el-row> </el-row>
<div style="display: flex; justify-content: center"> <div style="display: flex; justify-content: center">
<el-button type="primary" @click="audit(1)" style="padding: 10px !important; margin-right: 30px !important">审核通过</el-button> <el-button type="primary" @click="audit(1)"
style="padding: 10px !important; margin-right: 30px !important">审核通过</el-button>
<el-button type="danger" @click="audit(2)" style="padding: 10px !important">审核不通过</el-button> <el-button type="danger" @click="audit(2)" style="padding: 10px !important">审核不通过</el-button>
</div> </div>
</el-form> </el-form>
@ -165,6 +166,7 @@ export default {
form: {}, form: {},
task: {}, task: {},
rules: {}, rules: {},
base: process.env.VUE_APP_BASE_API,
levelMap: levelMap levelMap: levelMap
} }
@ -199,7 +201,7 @@ export default {
}, },
uploaddivClick(it) { uploaddivClick(it) {
if (it) { if (it) {
window.location.href=it window.location.href = this.base + it
} }
} }
}, },
@ -212,10 +214,12 @@ export default {
.pagedesc>>>.el-descriptions-item__label { .pagedesc>>>.el-descriptions-item__label {
width: 120px !important; width: 120px !important;
} }
.dialogax>>>.el-dialog__body { .dialogax>>>.el-dialog__body {
height: 600px; height: 600px;
overflow-y: auto; overflow-y: auto;
} }
.uploaddiv { .uploaddiv {
display: flex; display: flex;
align-items: center; align-items: center;
@ -223,6 +227,7 @@ export default {
cursor: pointer; cursor: pointer;
margin-right: 10px; margin-right: 10px;
} }
.uploaddiv img { .uploaddiv img {
width: 15px; width: 15px;
margin-right: 5px; margin-right: 5px;

@ -116,7 +116,8 @@
<div class="toptitle">{{ task.projectName }}</div> <div class="toptitle">{{ task.projectName }}</div>
<div class="topstatus"> <div class="topstatus">
<audit-status :status="task.status"></audit-status> <audit-status :status="task.status"></audit-status>
<el-tag style="margin-left: 10px" size="small" effect="plain"><test-type :type="task.testType"></test-type></el-tag> <el-tag style="margin-left: 10px" size="small" effect="plain"><test-type
:type="task.testType"></test-type></el-tag>
</div> </div>
</div> </div>
<div class="topright"> <div class="topright">
@ -129,7 +130,9 @@
<div class="topstatus"> <div class="topstatus">
<process-status :processStatus="task.processStatus" /> <process-status :processStatus="task.processStatus" />
<!-- <el-tag style="margin-left: 10px" size="small" effect="plain"><test-type :type="task.testType"></test-type></el-tag> --> <!-- <el-tag style="margin-left: 10px" size="small" effect="plain"><test-type :type="task.testType"></test-type></el-tag> -->
<el-tag style="margin-left: 10px" size="small" effect="plain" v-for="it in findLabelValueByProp(tasktypelist, task.testType, 'dictValue', 'dictLabel').split(',')" :key="it"> <el-tag style="margin-left: 10px" size="small" effect="plain"
v-for="it in findLabelValueByProp(tasktypelist, task.testType, 'dictValue', 'dictLabel').split(',')"
:key="it">
{{ it }} {{ it }}
</el-tag> </el-tag>
</div> </div>
@ -240,6 +243,7 @@ export default {
data() { data() {
return { return {
task: {}, task: {},
base: process.env.VUE_APP_BASE_API,
levelMap: levelMap levelMap: levelMap
}; };
}, },
@ -252,7 +256,7 @@ export default {
}, },
uploaddivClick(it) { uploaddivClick(it) {
if (it) { if (it) {
window.location.href=it window.location.href = this.base + it
} }
} }
}, },
@ -267,12 +271,15 @@ export default {
cursor: pointer; cursor: pointer;
margin-right: 10px; margin-right: 10px;
} }
.uploaddiv img { .uploaddiv img {
width: 15px; width: 15px;
margin-right: 5px; margin-right: 5px;
} }
.taskinfo { .taskinfo {
width: 100%; width: 100%;
// padding: 20px; // padding: 20px;
// box-shadow: 0px 2px 8px 0px rgba(54, 61, 67, 0.3); // box-shadow: 0px 2px 8px 0px rgba(54, 61, 67, 0.3);
.modeltitel { .modeltitel {
@ -282,6 +289,7 @@ export default {
font-size: 20px; font-size: 20px;
font-weight: 700; font-weight: 700;
color: #333333; color: #333333;
.line { .line {
width: 5px; width: 5px;
height: 25px; height: 25px;
@ -289,13 +297,16 @@ export default {
margin-right: 10px; margin-right: 10px;
} }
} }
.taskinfotop { .taskinfotop {
width: 100%; width: 100%;
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: space-between; justify-content: space-between;
.topleft { .topleft {
padding: 20px 0; padding: 20px 0;
.toptitle { .toptitle {
font-size: 18px; font-size: 18px;
font-weight: 700; font-weight: 700;
@ -303,17 +314,20 @@ export default {
margin-bottom: 10px; margin-bottom: 10px;
} }
} }
.topright { .topright {
font-size: 18px; font-size: 18px;
font-weight: 700; font-weight: 700;
color: rgb(253, 70, 26); color: rgb(253, 70, 26);
} }
} }
.contentinfo { .contentinfo {
font-size: 16px; font-size: 16px;
color: rgb(128, 128, 128); color: rgb(128, 128, 128);
display: flex; display: flex;
margin-bottom: 10px; margin-bottom: 10px;
.lefttext { .lefttext {
min-width: 100px; min-width: 100px;
} }

@ -313,6 +313,7 @@ export default {
} }
], ],
phonenumber: [ phonenumber: [
{ required: true, message: "手机号码不能为空", trigger: "blur" },
{ {
pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
message: "请输入正确的手机号码", message: "请输入正确的手机号码",

@ -143,7 +143,8 @@
<el-form v-else :model="form" :rules="rules" ref="form" label-width="120px" inline> <el-form v-else :model="form" :rules="rules" ref="form" label-width="120px" inline>
<!-- 类型 --> <!-- 类型 -->
<el-form-item label="培训班类型" prop="classType"> <el-form-item label="培训班类型" prop="classType">
<el-select v-model="form.classType" @change="classTypeChange"> <el-select v-model="form.classType" @change="classTypeChange" :disabled="classTypeDisabled"
key="class-type">
<el-option label="校企合作班" :value="0"></el-option> <el-option label="校企合作班" :value="0"></el-option>
<el-option label="线下培训进阶班" :value="1"></el-option> <el-option label="线下培训进阶班" :value="1"></el-option>
<el-option label="可靠性人才培训班" :value="2"></el-option> <el-option label="可靠性人才培训班" :value="2"></el-option>
@ -164,7 +165,8 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="班级代号" prop="trainClassCode" v-if="form.classType == 0"> <el-form-item label="班级代号" prop="trainClassCode" v-if="form.classType == 0">
<el-input v-model="form.trainClassCode" placeholder="请输入班级代号" clearable size="small" /> <el-input v-model="form.trainClassCode" placeholder="请输入班级代号" key="class-code" clearable
size="small" />
</el-form-item> </el-form-item>
<el-form-item label="班级名称" prop="trainClassName"> <el-form-item label="班级名称" prop="trainClassName">
@ -345,6 +347,7 @@ export default {
// Json // Json
signTable: false, signTable: false,
activeRowId: '', activeRowId: '',
classTypeDisabled: true
} }
}, },
@ -360,7 +363,81 @@ export default {
this.$refs.jsontool.formatCode() this.$refs.jsontool.formatCode()
} else { } else {
this.$refs.jsontool.jsonData = this.$refs.jsontool.jsonData =
'[{"name":"姓名","type":"input","key":"name","value":""},{"title":"在校职务","type":"input","key":"title","value":""},{"mobile":"手机号","type":"input","key":"mobile","value":""},{"college":"院校全称","type":"input","key":"college","value":""},{"address":"院校所在地址","type":"input","key":"address","value":""},{"payType":"培训付款方式","type":"radio","key":"payType","value":["公对公转账,请于报到前提供截图","现场支付(公务卡、微信、支付宝、现金)"]},{"sex":"性别","type":"radio","key":"sex","value":["男","女"]},{"hotel":"是否需要统一安排住宿","type":"radio","key":"hotel","value":["大床房(付房费全额)","标间(独立居住、付全额房费)","标间(拼房、付房费一半),无指定合住人员","标间(拼房、付房费一半),指定合住人员","其他,请说明,包括非指定日期的订房","无须订房,自行安排"]},{"addWeixin":"是否添加业务负责人微信","type":"radio","key":"addWeixin","value":["是","否"]},{"suggestion":"针对此次培训,您还有什么建议","type":"textarea","key":"suggestion","value":""}]' `
[
{
"name":"姓名",
"type":"input",
"key":"name",
"value":""
},
{
"title":"在校职务",
"type":"input",
"key":"title",
"value":""
},
{
"mobile":"手机号",
"type":"input",
"key":"mobile",
"value":""
},
{
"college":"院校全称",
"type":"input",
"key":"college",
"value":""
},
{
"address":"院校所在地址",
"type":"input",
"key":"address",
"value":""
},
{
"payType":"培训付款方式",
"type":"radio",
"key":"payType",
"value":[
"公对公转账,请于报到前提供截图",
"现场支付(公务卡、微信、支付宝、现金)"]
},
{
"sex":"性别",
"type":"radio",
"key":"sex",
"value":[
"男",
"女"]
},
{
"hotel":"是否需要统一安排住宿",
"type":"radio",
"key":"hotel",
"value":[
"大床房(付房费全额)",
"标间(独立居住、付全额房费)",
"标间(拼房、付房费一半),无指定合住人员",
"标间(拼房、付房费一半),指定合住人员",
"其他,请说明,包括非指定日期的订房",
"无须订房,自行安排"]
},
{
"addWeixin":"是否添加业务负责人微信",
"type":"radio",
"key":"addWeixin",
"value":[
"是",
"否"]
},
{
"suggestion":"针对此次培训,您还有什么建议",
"type":"textarea",
"key":"suggestion",
"value":""
}]
`
this.$refs.jsontool.formatCode() this.$refs.jsontool.formatCode()
} }
this.$refs.jsontool.formatCode() this.$refs.jsontool.formatCode()
@ -429,6 +506,7 @@ export default {
async modify(row) { async modify(row) {
this.title = '修改班级' this.title = '修改班级'
this.form = JSON.parse(JSON.stringify(row)) this.form = JSON.parse(JSON.stringify(row))
// this.classTypeDisabled = true
// 线 // 线
if (row.classType == 4) { if (row.classType == 4) {
this.rules.trainStartTime = [] this.rules.trainStartTime = []
@ -532,6 +610,7 @@ export default {
}, },
// //
colsedia() { colsedia() {
// this.classTypeDisabled = false
this.$refs['form']?.resetFields() this.$refs['form']?.resetFields()
this.$refs['copyClassForm']?.resetFields() this.$refs['copyClassForm']?.resetFields()
this.copyClassForm = { this.copyClassForm = {

Loading…
Cancel
Save