YangJian0701 2 年之前
父节点
当前提交
94b1fdea85
共有 2 个文件被更改,包括 261 次插入37 次删除
  1. 1 1
      src/components/files.vue
  2. 260 36
      src/views/ValidationTemplate/index.vue

+ 1 - 1
src/components/files.vue

@@ -5,7 +5,7 @@
 				<img src="@/assets/img/flies.png" alt="" srcset="">
 				<div>点击虚线框内,<span style="color: #409EFF;">上传文件</span></div>
 			</div>
-			<input type="file" accept="application/pdf" @change="files"
+			<input type="file" accept="application/.doc*.docx" @change="files"
 				style="position: absolute;left: 0;top: 0;width: 100%;height: 100%;opacity:0;cursor: pointer;">
 		</div>
 	</div>

+ 260 - 36
src/views/ValidationTemplate/index.vue

@@ -68,16 +68,16 @@
 				</div>
 				<el-drawer title="标签列表" :visible.sync="Drawer1" direction="rtl" :append-to-body="true" ref="drawer" size="70%">
 					<div class="demo-drawers">
-						<el-button type="primary" icon="el-icon-plus" @click="NewinnerDrawer">添加标签</el-button>
+						<el-button type="primary" icon="el-icon-plus" @click="hedEdit('add')">添加标签</el-button>
 						<div style="margin-top: 10px;">
-							<el-table :data="tagTableData" border size="mini" @sort-change="sortchange">
-								<el-table-column align="left">
-								    <template slot="header">
+							<el-table :data="tagTableData" border size="mini">
+								<el-table-column align="left" width="80px">
+								    <template #header>
 										<div style="display: flex;align-items: center;">
 											<div style="margin-right:10px;">排序</div>
-											<div style="display: flex;align-items: center;flex-direction: column;justify-content: center;">
-												<i :class="pages2.T_sort==0?'icon-bg-on':'icon-bg-off'" class="el-icon-caret-top" style="margin-bottom: -4px;font-size: 14px;"></i>
-												<i :class="pages2.T_sort==1?'icon-bg-on':'icon-bg-off'" class="el-icon-caret-bottom" style="margin-top: -4px;font-size: 14px;"></i>
+											<div @click="sortchange(pages2.T_sort,'sort')" style="display: flex;align-items: center;flex-direction: column;justify-content: center;cursor: pointer;">
+												<i :class="{'icon-bg-on':pages2.T_sort==0,'icon-bg-off':pages2.T_sort==1}" class="el-icon-caret-top" style="margin-bottom: -4px;font-size: 14px;"></i>
+												<i :class="{'icon-bg-on':pages2.T_sort==1,'icon-bg-off':pages2.T_sort==0}" class="el-icon-caret-bottom" style="margin-top: -4px;font-size: 14px;"></i>
 											</div>
 										</div>
 									</template>
@@ -85,13 +85,13 @@
 										<span>{{ scope.row.T_sort }}</span>
 								    </template>
 								</el-table-column>
-								<el-table-column align="left">
-								    <template slot="header">
+								<el-table-column align="left" width="120px">
+								    <template #header>
 										<div style="display: flex;align-items: center;">
 											<div style="margin-right:10px;">验证流程</div>
-											<div style="display: flex;align-items: center;flex-direction: column;justify-content: center;">
-												<i :class="pages2.T_flow_sort==0?'icon-bg-on':'icon-bg-off'" class="el-icon-caret-top" style="margin-bottom: -4px;font-size: 14px;"></i>
-												<i :class="pages2.T_flow_sort==1?'icon-bg-on':'icon-bg-off'" class="el-icon-caret-bottom" style="margin-top: -4px;font-size: 14px;"></i>
+											<div @click.stop="sortchange(pages2.T_flow_sort,'fsort')" style="display: flex;align-items: center;flex-direction: column;justify-content: center;cursor: pointer;">
+												<i :class="{'icon-bg-on':pages2.T_flow_sort==0,'icon-bg-off':pages2.T_flow_sort==1}" class="el-icon-caret-top" style="margin-bottom: -4px;font-size: 14px;"></i>
+												<i :class="{'icon-bg-on':pages2.T_flow_sort==1,'icon-bg-off':pages2.T_flow_sort==0}" class="el-icon-caret-bottom" style="margin-top: -4px;font-size: 14px;"></i>
 											</div>
 										</div>
 									</template>
@@ -99,7 +99,7 @@
 										<span>{{ scope.row.T_flow_sort }}</span>
 								    </template>
 								</el-table-column>
-								<el-table-column label="标签名称" width="300" :show-overflow-tooltip="true">
+								<el-table-column label="标签名称" width="200" :show-overflow-tooltip="true">
 									<template slot-scope="scope">
 										<span>{{ scope.row.T_name }}</span>
 									</template>
@@ -116,21 +116,93 @@
 								</el-table-column>
 								<el-table-column label="操作">
 									<template slot-scope="scope">
-										<el-dropdown @command="commands($event,scope.row)">
-											<div class="el-dropdown-link dropdown-links" style="">
-												<el-button type="primary" plain size="mini">更多操作</el-button>
-											</div>
-											<el-dropdown-menu slot="dropdown">
-												<el-dropdown-item command="a">编辑</el-dropdown-item>
-												<el-dropdown-item command="c">删除</el-dropdown-item>
-											</el-dropdown-menu>
-										</el-dropdown>
+										<div style="display: flex;">
+											<el-button size="small" @click="hedEdit(scope.row,'edit')">编辑</el-button>
+											<el-button size="small" @click="hedDel(scope.row)">删除</el-button>
+										</div>
 									</template>
 								</el-table-column>
 							</el-table>
 						</div>
+						<el-drawer :title="titles" :append-to-body="true" :visible.sync="innerDrawer2">
+							<!-- 时间流程按钮后的编辑 -->
+							<div style="padding: 20px;">
+								<el-form :model="form" :rules="rules" ref="ruleForm">
+									<el-form-item label="数据类型" label-width="80px" prop="T_label">
+										<el-select v-model="form.T_label" placeholder="请选择数据类型">
+											<el-option label="文本" value="1"></el-option>
+											<el-option label="数量" value="2"></el-option>
+											<el-option label="设备多选" value="3"></el-option>
+											<el-option label="设备单选" value="4"></el-option>
+											<el-option label="分割线" value="7"></el-option>
+											<el-option label="当期时间(开始与结束时间)" value="9"></el-option>
+											<el-option label="图片" value="10"></el-option>
+											<el-option label="CAD" value="11"></el-option>
+											<el-option label="截止时间" value="12"></el-option>
+										</el-select>
+									</el-form-item>
+									<el-form-item label="来源" label-width="80px" prop="T_source">
+										<el-select v-model="form.T_source" placeholder="请选择来源">
+											<el-option label="方案" value="1"></el-option>
+											<el-option label="报告" value="2"></el-option>
+											<el-option label="数据编辑" value="3"></el-option>
+										</el-select>
+									</el-form-item>
+									<el-form-item label="标签名称" label-width="80px" prop="T_name">
+										<el-input v-model="form.T_name" autocomplete="off"></el-input>
+									</el-form-item>
+									<el-form-item label="标签" label-width="80px" prop="T_field">
+										<el-input v-model="form.T_field" autocomplete="off"></el-input>
+									</el-form-item>
+									<el-form-item label="排序" label-width="80px" prop="T_sort">
+										<el-input v-model="form.T_sort" autocomplete="off"></el-input>
+									</el-form-item>
+									<el-form-item label="描述" label-width="80px" prop="T_text">
+										<files @pdfvalue="fliValue"></files>
+										<div style="margin-top: 5px;">
+											<div v-if="form.T_text!=''" style="height: 20px;color: #409EFF;display: flex;align-items: center;">
+												<i class="el-icon-circle-check"></i><span style="font-size: 12px;padding-left: 1px;">已经上传文件,点击虚线框内可更换</span>
+											</div>
+											<div v-else style="height: 20px;color: #C0C4CC;display: flex;align-items: center;">
+												<i class="el-icon-circle-close"></i><span style="font-size: 12px;padding-left: 1px;">还未上传文件,点击虚线框内可上传</span>
+											</div>
+										</div>
+									</el-form-item>
+									<el-divider>验证流程</el-divider>
+									<el-form-item label="排序" label-width="80px" prop="T_flow_sort">
+										<el-input v-model="form.T_flow_sort" autocomplete="off"></el-input>
+									</el-form-item>
+									<el-form-item label="最大时间" label-width="80px" prop="T_max_time">
+										<el-input v-model="form.T_max_time" autocomplete="off"></el-input>
+									</el-form-item>
+									<el-form-item label="最小时间" label-width="80px" prop="T_min_time">
+										<el-input v-model="form.T_min_time" autocomplete="off"></el-input>
+									</el-form-item>
+									<el-form-item label-width="80px">
+										<el-button type="primary"  @click="submitForm('ruleForm')">
+											确 定
+										</el-button>
+										<el-button @click="innerDrawer2=false">取 消</el-button>
+									</el-form-item>
+								</el-form>
+							</div>
+						</el-drawer>
 					</div>
 				</el-drawer>
+				<el-drawer title="报告" :visible.sync="Drawer2" direction="rtl" :append-to-body="true" ref="drawer">
+					<div class="drawer-upload">
+						<el-upload
+						  class="upload-demo"
+						  drag
+						  action="http://coldverifylocal.coldbaozhida.com/GenerateReport/upload"
+						  multiple>
+						  <i class="el-icon-upload"></i>
+						  <div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
+						  <div class="el-upload__tip" slot="tip">只能上传jpg/png文件,且不超过500kb</div>
+						</el-upload>
+					</div>
+				</el-drawer>	
+				
 			</div>
 		</el-drawer>
 	</div>
@@ -145,17 +217,84 @@
 		TempClassDel,
 		TempAdd,
 		TempDel,
-		Map_List
+		Map_List,
+		Map_Del,
+		Map_Add,
+		Map_Up
 	} from '@/api/ValidationTemplate'
+	import files from "@/components/files"
 	export default {
 		name: 'ValidationTemplate',
+		components:{files},
 		data() {
 			return {
 				Drawer1:false,
+				innerDrawer2:false,
+				titles: '',
+				form: { //新增编辑的提交参数
+					T_VerifyTemplate_id:'',
+					T_source: '',//来源 0-所有 1-方案 2-报告
+					T_label: '',//数据类型
+					T_name: '',//标签名称
+					T_field: '',//标签
+					T_text: '',//描述图片路径
+					T_sort: '',//排序
+					T_flow_sort:'',//验证流程排序
+					T_max_time:'',//最小时间
+					T_min_time:'',//最大时间
+				},
+				rules: {
+					T_source: [{
+						required: true,
+						message: '请选择来源',
+						trigger: 'blur'
+					}, ],
+					T_label: [{
+						required: true,
+						message: '请选择数据类型',
+						trigger: 'blur'
+					}],
+					T_name: [{
+						required: true,
+						message: '请输入标签名称',
+						trigger: 'blur'
+					}, ],
+					T_field: [{
+						required: true,
+						message: '请输入标签',
+						trigger: 'blur'
+					}],
+					T_text: [{
+						required: true,
+						message: '请上传资源文件',
+						trigger: 'blur'
+					}, ],
+					T_sort: [{
+						required: true,
+						message: '请输入排序',
+						trigger: 'blur'
+					}],
+					T_flow_sort: [{
+						required: true,
+						message: '请输入验证流程排序',
+						trigger: 'blur'
+					}],
+					T_max_time: [{
+						required: true,
+						message: '请输入最大时间',
+						trigger: 'blur'
+					}],
+					T_min_time: [{
+						required: true,
+						message: '请输入最小时间',
+						trigger: 'blur'
+					}],
+				},
+				Drawer2:false,
 				tagTableData:[],
 				pages2:{//标签列表参数
 					T_VerifyTemplate_id:'',
-					T_sort:1,//0 升序 1 降序
+					T_sort:0,//0 升序 1 降序
 					T_flow_sort:0,//0 升序 1 降序
 				},
 				
@@ -178,25 +317,106 @@
 				tempTableData:[]
 			}
 		},
+		watch:{
+			Drawer1(newVal){
+				newVal ? '' : this.pages2.T_flow_sort=0;this.pages2.T_sort=0
+			}
+		},
 		mounted() {
 			this.getTempApi()
 		},
 		methods: {
-			sortchange(e){
-				if(e.order=='descending'){//降序
-					if(e.column.label=='排序'){
-						this.pages2.T_sort = 1
-					}else{//其他按照验证流程处理
-						this.pages2.T_flow_sort = 1
+			fliValue(e){
+				console.log('上传成功',e)
+			},
+			//提交标签
+			submitForm(formName){
+				this.$refs[formName].validate((valid) => {
+					if (valid) {
+						if(this.titles == '编辑标签'){//编辑标签
+							console.log('编辑',this.form)	
+							this.setMapupApi()
+						}else{//新增标签
+							this.setMapaddApi()
+							console.log('新增',this.form)	
+						}
+					} else {
+						return false;
 					}
-				}else{//其他一律按照升序
-					if(e.column.label=='排序'){
-						this.pages2.T_sort = 0
-					}else{//其他按照验证流程处理
-						this.pages2.T_flow_sort = 0
+				});
+			},
+			//标签编辑
+			hedEdit(e,differ){
+				if(this.$refs.ruleForm!=undefined){
+					this.$refs.ruleForm.clearValidate()
+				}
+				this.innerDrawer2 = true
+				if(differ=='edit'){//编辑
+					this.titles = '编辑标签'
+					Object.keys(this.form).forEach(key => {
+						if(key=='T_source' || key=='T_label'){
+							this.form[key] = JSON.stringify(e[key])
+						}else{
+							this.form[key] = e[key]
+						}
+					})
+				}else{//添加
+					this.titles = '新增标签'
+					Object.keys(this.form).forEach(key => {
+						this.form[key] = ''
+					})
+				}
+				this.form.T_VerifyTemplate_id = this.pages2.T_VerifyTemplate_id
+				console.log('显示',this.form)
+			},
+			//标签编辑api
+			setMapupApi(){
+				Map_Up(this.form).then(res=>{
+					if(res.data.Code==200){
+						this.$message.success('编辑标签成功')
+						this.innerDrawer2 = false
 					}
+				})
+			},
+			//标签添加api
+			setMapaddApi(){
+				Map_Add(this.form).then(res=>{
+					if(res.data.Code==200){
+						this.$message.success('新增标签成功')
+						this.innerDrawer2 = false
+						this.getmapListApi()
+					}
+				})
+			},
+			//标签删除
+			hedDel(e){
+				console.log('删除',e)
+				this.$confirm('此操作将永久删除该模板, 是否继续?', '提示', {
+					confirmButtonText: '立即删除',
+					cancelButtonText: '取消',
+					type: 'warning',
+					center: true
+				}).then(() => {
+					Map_Del({T_id: e.T_id}).then(res=>{
+						if(res.data.Code==200){
+							this.$message.success('删除成功!')
+							this.getmapListApi()
+						}
+					})
+				}).catch(() => {
+					this.$message({
+						type: 'info',
+						message: '已取消删除'
+					});
+				});
+			},
+			sortchange(e,so){
+				if(so=='fsort'){//点击的降序
+					e==0?this.pages2.T_flow_sort=1:this.pages2.T_flow_sort=0
+				}else{//点击的升序
+					e==0?this.pages2.T_sort=1:this.pages2.T_sort=0
 				}
-				console.log('排序',this.pages2)
+				this.getmapListApi()
 			},
 			//添加标签
 			NewinnerDrawer(){
@@ -212,6 +432,7 @@
 			//报告
 			handleReport(e){
 				console.log('报告',e)
+				this.Drawer2 = true
 			},
 			//方案
 			handleScheme(e){
@@ -392,6 +613,9 @@
 </script>
 
 <style lang="scss" scoped>
+	.drawer-upload{
+		padding: 20px;
+	}
 	.demo-drawers {
 		padding: 20px;
 	}