abilityqualityvideo

This commit is contained in:
shijing 2022-06-06 17:04:02 +08:00
parent 70d3fc1470
commit b5a532e126
5 changed files with 381 additions and 101 deletions

View File

@ -82,8 +82,11 @@
</el-table-column> </el-table-column>
<el-table-column label="备案城市"> <el-table-column label="备案城市">
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="scope.row.province_name" v-html="showlight(scope.row.province_name)"></span> <span v-if="scope.row.province_name"></span>
<span v-if="scope.row.city_name" v-html="showlight(scope.row.city_name)"></span> <span v-if="scope.row.city_name" ></span>
<span v-if="scope.row.citys_" v-for="item in scope.row.citys_">
{{item.name}}
</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="所属单位"> <el-table-column label="所属单位">

View File

@ -124,21 +124,14 @@
<el-tag type="danger" effect="plain" v-else>未确认</el-tag> <el-tag type="danger" effect="plain" v-else>未确认</el-tag>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="报送文件"> <el-table-column label="文件">
<template slot-scope="scope" v-if="scope.row.files"> <template slot-scope="scope">
<el-link <el-link v-if="scope.row.file_" :href="scope.row.file_.file" target="_blank" type="primary">
v-if="scope.row.files.length > 1" {{scope.row.file_.name}}
@click="handleRecord({ action: 'view', record: scope.row })" </el-link>
> <el-link v-if="scope.row.value1" :href="scope.row.value1.file_" target="_blank" type="primary">
<span style="color: red">{{ scope.row.files.length }}</span> <span v-if="scope.row.value1.file_"> {{scope.row.value1.file_.name}}</span>
个文件 </el-link>
</el-link
>
<div v-else v-for="item in scope.row.files_" v-bind:key="item.id">
<el-link :href="item.path" target="_blank" type="primary">
{{item.name }}
</el-link>
</div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作人"> <el-table-column label="操作人">
@ -153,10 +146,15 @@
<el-table-column <el-table-column
align="center" align="center"
label="操作" label="操作"
width="60px"
fixed="right" fixed="right"
> >
<template slot-scope="scope"> <template slot-scope="scope">
<!-- <el-link
type="primary"
size="small"
@click="handleDetail( scope.row.id )"
>操作记录
</el-link>-->
<el-link <el-link
v-if="!scope.row.confirmed" v-if="!scope.row.confirmed"
type="danger" type="danger"
@ -174,7 +172,7 @@
:limit.sync="listQuery.page_size" :limit.sync="listQuery.page_size"
@pagination="getList" @pagination="getList"
/> />
<el-drawer <!-- <el-drawer
title="记录" title="记录"
:visible.sync="drawer" :visible.sync="drawer"
:with-header="false" :with-header="false"
@ -186,7 +184,7 @@
@handleDo="handleDo" @handleDo="handleDo"
v-if="drawer" v-if="drawer"
></recorddo> ></recorddo>
</el-drawer> </el-drawer>-->
</el-card> </el-card>
<el-dialog <el-dialog
:visible.sync="dialogVisibleAbility" :visible.sync="dialogVisibleAbility"
@ -195,7 +193,7 @@
<el-form <el-form
ref="abilityForm" ref="abilityForm"
:model="abilityForm" :model="abilityForm"
label-width="80px" label-width="120px"
label-position="right" label-position="right"
:rules="rule" :rules="rule"
> >
@ -231,7 +229,6 @@
<el-upload <el-upload
ref="upload" ref="upload"
:action="upUrl" :action="upUrl"
:on-preview="handlePreview"
:on-success="handleUpSuccess" :on-success="handleUpSuccess"
:on-remove="handleRemove" :on-remove="handleRemove"
:headers="upHeaders" :headers="upHeaders"
@ -242,10 +239,30 @@
<el-button size="small" type="primary">上传文件</el-button> <el-button size="small" type="primary">上传文件</el-button>
</el-upload> </el-upload>
</el-form-item> </el-form-item>
<el-form-item label="新增数量"> <el-row>
<el-input-number v-model="abilityForm.num" :min="1" label="新增数量"></el-input-number> <el-col :span="12">
</el-form-item> <el-form-item label="对象数量">
<el-input-number v-model="abilityForm.num" :min="1" label="新增对象数量"></el-input-number>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="方法标准数量">
<el-input-number v-model="abilityForm.num3" :min="1" label="新增方法标准数量"></el-input-number>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="参数数量">
<el-input-number v-model="abilityForm.num2" :min="1" label="新增参数数量"></el-input-number>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="产品标准数量">
<el-input-number v-model="abilityForm.num4" :min="1" label="新增产品标准数量"></el-input-number>
</el-form-item>
</el-col>
</el-row>
</el-form> </el-form>
<div style="text-align: right"> <div style="text-align: right">
<el-button type="danger" @click="dialogVisibleAbility = false">取消</el-button> <el-button type="danger" @click="dialogVisibleAbility = false">取消</el-button>
@ -300,6 +317,14 @@
<el-form-item label="等级" v-if="qualiForm.type==='OTHER'"> <el-form-item label="等级" v-if="qualiForm.type==='OTHER'">
<el-input v-model="qualiForm.level" placeholder="等级"/> <el-input v-model="qualiForm.level" placeholder="等级"/>
</el-form-item> </el-form-item>
<el-form-item label="有效期">
<el-date-picker
v-model="qualiForm.end_date"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择有效期">
</el-date-picker>
</el-form-item>
<el-form-item label="资质范围"> <el-form-item label="资质范围">
<el-input <el-input
type="textarea" type="textarea"
@ -371,6 +396,42 @@
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="资质文件" prop="file">
<el-upload
ref="upload"
:action="upUrl"
accept=".zip,.pdf,.jpg"
:on-success="handleUpSuccessQuality"
:on-remove="handleRemoveQuality"
:headers="upHeaders"
:file-list="fileLista"
:limit="1"
>
<el-button size="small" type="primary">上传文件</el-button>
<span class="el-upload__tip">
可上传压缩包.zip,图片.jpg.png等文件
</span>
</el-upload>
</el-form-item>
<!--<el-form-item label="资质文件">
<el-upload
ref="upload"
:action="upUrl"
:before-upload="beforeUpload"
:on-success="handleUpSuccessQuality"
:headers="upHeaders"
:on-remove="handleRemoveQuality"
:file-list="qualiForm.file"
multiple
:limit="1"
accept=".ppt,.pdf,.word.doc,.docx,.xls,.xlsx"
>
<el-button size="small" type="primary">上传文件</el-button>
<span class="el-upload__tip">
可上传多个pdf,word,ppt,excel,图片文件,单文件大小不超过50M
</span>
</el-upload>
</el-form-item>-->
</el-form> </el-form>
<div style="text-align: right"> <div style="text-align: right">
<el-button type="danger" @click="dialogVisible = false">取消</el-button> <el-button type="danger" @click="dialogVisible = false">取消</el-button>
@ -447,6 +508,14 @@
<el-form-item label="等级" v-if="qualiForm.type==='OTHER'"> <el-form-item label="等级" v-if="qualiForm.type==='OTHER'">
<el-input v-model="qualiForm.level" placeholder="等级"/> <el-input v-model="qualiForm.level" placeholder="等级"/>
</el-form-item> </el-form-item>
<el-form-item label="有效期">
<el-date-picker
v-model="qualiForm.end_date"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择有效期">
</el-date-picker>
</el-form-item>
<el-form-item label="资质范围"> <el-form-item label="资质范围">
<el-input <el-input
type="textarea" type="textarea"
@ -463,17 +532,34 @@
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item label="备案城市" v-if="qualiForm.type==='OTHER'"> <el-form-item label="备案城市" v-if="qualiForm.type==='OTHER'">
<el-input v-model="qualiForm.citys" disabled placeholder="备案城市"/> <el-input v-model="citysName" disabled placeholder="备案城市"/>
<!--<span v-for="item in qualiForm.citys" :key="item.id">{{item.name}}</span>--> <!--<span v-for="item in qualiForm.citys" :key="item.id">{{item.name}}</span>-->
</el-form-item> </el-form-item>
<el-form-item label="所在省" v-if="qualiForm.grade===20"> <el-form-item label="所在省" v-if="qualiForm.grade===20">
<el-input v-model="qualiForm.province_name" disabled placeholder="所在省"/> <el-input v-model="province_name" disabled placeholder="所在省"/>
<!--{{ formData.province_name }}--> <!--{{ formData.province_name }}-->
</el-form-item> </el-form-item>
<el-form-item label="所在市" v-if="qualiForm.grade===30"> <el-form-item label="所在市" v-if="qualiForm.grade===30">
<el-input v-model="qualiForm.city_name" disabled placeholder="所在市"/> <el-input v-model="city_name" disabled placeholder="所在市"/>
<!--{{ formData.city_name }}--> <!--{{ formData.city_name }}-->
</el-form-item> </el-form-item>
<el-form-item label="资质文件" prop="file">
<el-upload
ref="upload"
:action="upUrl"
accept=".zip,.pdf,.jpg"
:on-success="handleUpSuccessQuality"
:on-remove="handleRemoveQuality"
:headers="upHeaders"
:file-list="fileLista"
:limit="1"
>
<el-button size="small" type="primary">上传文件</el-button>
<span class="el-upload__tip">
可上传压缩包.zip,图片.jpg.png等文件
</span>
</el-upload>
</el-form-item>
</el-form> </el-form>
<div style="text-align: right"> <div style="text-align: right">
<el-button type="danger" @click="dialogVisibleQuliEdit = false">取消</el-button> <el-button type="danger" @click="dialogVisibleQuliEdit = false">取消</el-button>
@ -505,6 +591,28 @@
<el-button type="primary" @click="submitEditSever('severForm')">确认</el-button> <el-button type="primary" @click="submitEditSever('severForm')">确认</el-button>
</div> </div>
</el-dialog> </el-dialog>
<el-drawer
title="操作记录"
:visible.sync="drawer"
:with-header="false"
size="40%"
>
<el-table
:data="recordData"
border
fit
stripe
highlight-current-row
>
<el-table-column type="index" width="50"/>
<el-table-column label="字段代码" prop="field">
</el-table-column>
<el-table-column label="初始值" prop="value1">
</el-table-column>
<el-table-column label="更改值" prop="value2">
</el-table-column>
</el-table>
</el-drawer>
</div> </div>
</template> </template>
@ -520,7 +628,8 @@
createAbility, createAbility,
updateService, updateService,
provinceLists, provinceLists,
cityLists cityLists,
qactionItem
} from "@/api/ability"; } from "@/api/ability";
import {getDictList} from "@/api/dict"; import {getDictList} from "@/api/dict";
import {genTree} from "@/utils"; import {genTree} from "@/utils";
@ -577,19 +686,26 @@
qualiForm: { qualiForm: {
name: "", name: "",
type: "", type: "",
grade: null, grade: "",
scope: "", scope: "",
level: "", level: "",
province: "", province: "",
city: "", city: "",
description: "", description: "",
end_date: "",
citys: [], citys: [],
}, },
citysName:'',
city_name:'',
province_name:'',
abilityForm: { abilityForm: {
atype: '', atype: '',
afield: '', afield: '',
file: '', file: '',
num: '', num: '',
num2: '',
num3: '',
num4: '',
qtask: '', qtask: '',
}, },
rule: { rule: {
@ -641,8 +757,8 @@
getDictList({type__code: "field_type", is_used: true}).then((res) => { getDictList({type__code: "field_type", is_used: true}).then((res) => {
this.afieldOptions = genTree(res.data); this.afieldOptions = genTree(res.data);
}); });
getDictList({type__code: "quality_type", is_used: true}).then((res) => { getDictList({type__code: "quality_type", is_used: true}).then((res1) => {
this.atypeOptions = genTree(res.data); this.atypeOptions = genTree(res1.data);
}); });
}, },
getProvince() { getProvince() {
@ -675,19 +791,20 @@
this.cityOptions = res.data.results; this.cityOptions = res.data.results;
}) })
}, },
handlePreview(file) {
if ("url" in file) {
window.open(file.url);
} else {
window.open(file.response.data.path);
}
},
handleUpSuccess(res, file, filelist) { handleUpSuccess(res, file, filelist) {
this.abilityForm.file = res.data.id; this.abilityForm.file = res.data.id;
}, },
handleRemove(file, filelist) { handleRemove(file, filelist) {
this.abilityForm.file = null; this.abilityForm.file = null;
}, },
handleUpSuccessQuality(res, file, filelist) {
this.qualiForm.file = res.data.id;
},
//删除资质文件
handleRemoveQuality(file, filelist) {
this.qualiForm.file = null;
},
checkPermission, checkPermission,
getTableList() { getTableList() {
this.listLoading = true; this.listLoading = true;
@ -776,26 +893,31 @@
}, },
//编辑资质 //编辑资质
handleEdit(row) { handleEdit(row) {
this.city_name = '';
this.province_name = '';
this.citysName = '';
this.showForm = true; this.showForm = true;
this.qualiForm.id = row.id; this.qualiForm.id =row.id?row.id:'';
this.qualiForm.name = row.name; this.qualiForm.name = row.name?row.name:'';
this.qualiForm.type = row.type; this.qualiForm.type = row.type?row.type:'';
this.qualiForm.grade = row.grade; this.qualiForm.grade = row.grade?row.grade:'';
this.qualiForm.scope = row.scope; this.qualiForm.scope = row.scope?row.scope:'';
this.qualiForm.level = row.level; this.qualiForm.level = row.level?row.level:'';
this.qualiForm.province_name = row.province_name?row.province_name:''; this.qualiForm.province = row.province?row.province:'';
this.qualiForm.city_name = row.city_name?row.city_name:''; this.qualiForm.end_date = row.end_date?row.end_date:'';
this.qualiForm.description = row.description; this.province_name = row.province_name?row.province_name:'';
this.qualiForm.citys = null; this.qualiForm.city = row.city?row.city:'';
this.qualiForm.file = row.file?row.file:'';
this.city_name = row.city_name?row.city_name:'';
this.qualiForm.description = row.description?row.description:'';
this.qualiForm.citys = row.citys?row.citys:[];
if(row.citys_&&row.citys_.length>0){ if(row.citys_&&row.citys_.length>0){
let citys = ''; let citys = '';
row.citys_.forEach(item=>{ row.citys_.forEach(item=>{
citys = citys+item.name; citys = citys+item.name;
}) });
this.qualiForm.citys = citys; this.citysName = citys;
} }
}, },
//新增能力 //新增能力
abilityCreate() { abilityCreate() {
@ -808,10 +930,24 @@
if (valid) { if (valid) {
let obj = new Object(); let obj = new Object();
obj.qtask = that.qtask; obj.qtask = that.qtask;
obj.value2 = that.qualiForm;
if (obj.value2.grade === '') { let value2 = new Object();
obj.value2.grade = null; for (let [key, value] of Object.entries(that.qualiForm)) {
console.log(key,value);
if(value!==''&&value!==null&&value!==undefined){
value2[key] = value;
}
} }
value2.citys.forEach((item,index)=>{
value2.citys[index] = parseInt(item);
});
obj.value2 = value2;
debugger;
console.log(obj);
console.log(obj.value2);
console.log(obj.value2.citys);
debugger;
const isEdit = that.dialogType === "edit"; const isEdit = that.dialogType === "edit";
if (isEdit) { if (isEdit) {
updateQuali(obj).then((res) => { updateQuali(obj).then((res) => {
@ -855,6 +991,13 @@
} }
}); });
}, },
/* handleDetail(id){
let that = this;
that.drawer = true;
qactionItem(id).then(res=>{
that.recordData = res.data.update_detail;
})
},*/
//删除操作 //删除操作
handleDelete(id) { handleDelete(id) {
let that = this; let that = this;

View File

@ -178,8 +178,11 @@
</el-table-column> </el-table-column>
<el-table-column label="文件"> <el-table-column label="文件">
<template slot-scope="scope"> <template slot-scope="scope">
<el-link v-if="scope.row.file" :href="scope.row.file" target="_blank" type="primary"> <el-link v-if="scope.row.file_" :href="scope.row.file_.file" target="_blank" type="primary">
{{scope.row.name}} {{scope.row.file_.name}}
</el-link>
<el-link v-if="scope.row.value1" :href="scope.row.value1.file_" target="_blank" type="primary">
<span v-if="scope.row.value1.file_"> {{scope.row.value1.file_.name}}</span>
</el-link> </el-link>
</template> </template>
</el-table-column> </el-table-column>
@ -243,8 +246,8 @@
<p style="font-size: 20px;font-weight: bold;">新增能力</p> <p style="font-size: 20px;font-weight: bold;">新增能力</p>
<p><span style="display: inline-block;width: 100px;font-weight: bold;">能力类型 </span>{{atype_name}}</p> <p><span style="display: inline-block;width: 100px;font-weight: bold;">能力类型 </span>{{atype_name}}</p>
<p><span style="display: inline-block;width: 100px;font-weight: bold;">能力领域</span>{{afield_name}}</p> <p><span style="display: inline-block;width: 100px;font-weight: bold;">能力领域</span>{{afield_name}}</p>
<p><span style="display: inline-block;width: 100px;font-weight: bold;">上传文件</span>{{showData.data.file}}</p> <p><span style="display: inline-block;width: 100px;font-weight: bold;">上传文件</span>{{showData.data.file_.name}}</p>
<el-link :href="showData.data.file" target="_blank" type="primary">{{showData.data.file}}</el-link> <el-link :href="showData.data.file_.file" target="_blank" type="primary">{{showData.data.file_.name}}</el-link>
<el-divider></el-divider> <el-divider></el-divider>
<el-button <el-button
v-if="actionType==='confirm'" v-if="actionType==='confirm'"

View File

@ -21,6 +21,9 @@
<el-form-item label="二级等级" v-if="data.type==='OTHER'"> <el-form-item label="二级等级" v-if="data.type==='OTHER'">
{{ data.level }} {{ data.level }}
</el-form-item> </el-form-item>
<el-form-item label="有效期">
{{data.end_date}}
</el-form-item>
<el-form-item label="资质范围"> <el-form-item label="资质范围">
{{data.scope}} {{data.scope}}
</el-form-item> </el-form-item>
@ -37,8 +40,13 @@
<el-form-item label="所在市" v-if="data.grade==30"> <el-form-item label="所在市" v-if="data.grade==30">
{{ data.city_name }} {{ data.city_name }}
</el-form-item> </el-form-item>
<el-form-item label="上传文件" v-if="data.file_">
{{data.file_.name}}
</el-form-item>
<el-link v-if="data.file_" :href="data.file_.file" target="_blank" type="primary">{{data.file_.name}}</el-link>
</el-form> </el-form>
<div v-if="showData.type==='quali:update'"> <div v-if="showData.type==='quali:update'">
<p style="font-size: 20px; margin: 8px 0;">原始数据</p>
<el-form <el-form
label-width="100px" label-width="100px"
label-position="left" label-position="left"
@ -57,6 +65,9 @@
<el-form-item label="二级等级" v-if="formData.type==='OTHER'"> <el-form-item label="二级等级" v-if="formData.type==='OTHER'">
{{ formData.level }} {{ formData.level }}
</el-form-item> </el-form-item>
<el-form-item label="有效期">
{{ formData.end_date}}
</el-form-item>
<el-form-item label="资质范围"> <el-form-item label="资质范围">
{{formData.scope}} {{formData.scope}}
</el-form-item> </el-form-item>
@ -64,7 +75,7 @@
{{formData.description}} {{formData.description}}
</el-form-item> </el-form-item>
<el-form-item label="备案城市" v-if="formData.type==='OTHER'"> <el-form-item label="备案城市" v-if="formData.type==='OTHER'">
<span v-for="item in data.value2.citys_" :key="item.id">{{item.name}}</span> <span v-for="item in formData.citys_" :key="item.id">{{item.name}}</span>
</el-form-item> </el-form-item>
<el-form-item label="所在省" v-if="formData.grade===20"> <el-form-item label="所在省" v-if="formData.grade===20">
{{ formData.province_name }} {{ formData.province_name }}
@ -72,8 +83,13 @@
<el-form-item label="所在市" v-if="formData.grade===30"> <el-form-item label="所在市" v-if="formData.grade===30">
{{ formData.city_name }} {{ formData.city_name }}
</el-form-item> </el-form-item>
<el-form-item label="上传文件" v-if="formData.file_">
{{formData.file_.name}}
</el-form-item>
<el-link v-if="formData.file_" :href="formData.file_.file" target="_blank" type="primary">{{formData.file_.name}}</el-link>
</el-form> </el-form>
<el-divider></el-divider> <el-divider></el-divider>
<p style="font-size: 20px; margin: 8px 0;"> 更改后数据</p>
<el-form <el-form
label-width="100px" label-width="100px"
label-position="left" label-position="left"
@ -95,11 +111,14 @@
<el-form-item label="资质范围"> <el-form-item label="资质范围">
<span :class="setClass('scope')"> {{ formData2.scope }}</span> <span :class="setClass('scope')"> {{ formData2.scope }}</span>
</el-form-item> </el-form-item>
<el-form-item label="有效期">
<span :class="setClass('end_date')"> {{ formData2.end_date}}</span>
</el-form-item>
<el-form-item label="描述"> <el-form-item label="描述">
<span :class="setClass('description')"> {{ formData2.description }}</span> <span :class="setClass('description')"> {{ formData2.description }}</span>
</el-form-item> </el-form-item>
<el-form-item label="备案城市" v-if="formData2.type==='OTHER'"> <el-form-item label="备案城市" v-if="formData2.type==='OTHER'">
<span :class="setClass('citys')" v-for="item in data.value2.citys_" :key="item.id">{{item.name}}</span> <span :class="setClass('citys')" v-for="item in formData2.citys_" :key="item.id">{{item.name}}</span>
<!--<span :class="setClass('citys')"> {{ formData2.province_name}}{{ formData2.city_name }}</span>--> <!--<span :class="setClass('citys')"> {{ formData2.province_name}}{{ formData2.city_name }}</span>-->
</el-form-item> </el-form-item>
<el-form-item label="所在省" v-if="formData2.grade===20"> <el-form-item label="所在省" v-if="formData2.grade===20">
@ -108,7 +127,10 @@
<el-form-item label="所在市" v-if="formData.grade===30"> <el-form-item label="所在市" v-if="formData.grade===30">
<span :class="setClass('city')"> {{ formData2.city_name }}</span> <span :class="setClass('city')"> {{ formData2.city_name }}</span>
</el-form-item> </el-form-item>
<el-form-item label="上传文件" v-if="formData2.file_">
{{formData2.file_.name}}
</el-form-item>
<el-link v-if="formData2.file_" :href="formData2.file_.file" target="_blank" type="primary">{{formData2.file_.name}}</el-link>
</el-form> </el-form>
</div> </div>
<el-divider></el-divider> <el-divider></el-divider>

View File

@ -1,32 +1,120 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<el-card class="filterTop"> <el-row :gutter="6">
<el-button type="primary" icon="el-icon-plus" @click="handleAddVideo" <el-col :xs="24" :md="6">
>新增</el-button <el-card >
> <div slot="header" class="clearfix">
<el-input <span>视频分类</span>
v-model="listQuery.search" </div>
placeholder="关键字" <el-tree
style="width: 300px" ref="tree"
class="filter-item" v-loading="treeLoding"
@keyup.enter.native="handleFilter" class="filter-tree"
/> :data="typeOptions"
<el-button default-expand-all
class="filter-item" highlight-current
type="primary" :expand-on-click-node="false"
icon="el-icon-search" style="margin-top: 10px;max-height:650px;overflow-y: auto;"
@click="handleFilter" @node-click="handleOrgClick"
>搜索</el-button />
> </el-card>
<el-button </el-col>
class="filter-item" <el-col :xs="24" :md="18">
type="primary" <el-card class="filterTop">
icon="el-icon-refresh-left" <el-button type="primary" icon="el-icon-plus" @click="handleAddVideo"
@click="resetFilter" >新增</el-button
>重置</el-button >
> <el-input
</el-card> v-model="listQuery.search"
<el-card style="margin-top: 10px"> placeholder="关键字"
style="width: 300px"
class="filter-item"
@keyup.enter.native="handleFilter"
/>
<el-button
class="filter-item"
type="primary"
icon="el-icon-search"
@click="handleFilter"
>搜索</el-button
>
<el-button
class="filter-item"
type="primary"
icon="el-icon-refresh-left"
@click="resetFilter"
>重置</el-button
>
</el-card>
<el-card style="margin-top: 6px">
<el-table
v-loading="listLoading"
:data="
videoList.results.filter(
(data) =>
!search ||
data.name.toLowerCase().includes(search.toLowerCase()) ||
data.category_name.toLowerCase().includes(search.toLowerCase())
)
"
border
fit
stripe
highlight-current-row
:height="tableHeight"
>
<el-table-column type="index" width="50" />
<el-table-column label="名称" prop="name"></el-table-column>
<el-table-column label="描述" prop="description"></el-table-column>
<el-table-column label="视频类别">
<template slot-scope="scope">{{ showTypeOptions[scope.row.category] }}</template>
</el-table-column>
<el-table-column label="创建时间" prop="create_time"></el-table-column>
<el-table-column label="封面地址" prop="coverurl">
<template #default="scope">
<el-image
style="width: 100px; height: 60px"
:src="scope.row.coverurl"
fit="contain "></el-image>
<!--:style="{height: leftHeight+'px'}"-->
</template>
</el-table-column>
<el-table-column
align="center"
label="操作"
width="200px"
fixed="right"
>
<template slot-scope="scope">
<el-button
:disabled="!checkPermission(['video_update'])"
type="primary"
size="small"
icon="el-icon-edit"
@click="handleEdit(scope)"
/>
<el-button
:disabled="!checkPermission(['video_delete'])"
type="danger"
size="small"
icon="el-icon-delete"
@click="handleDelete(scope)"
/>
</template>
</el-table-column>
</el-table>
<Pagination
v-show="videoList.count > 0"
:total="videoList.count"
:page.sync="listQuery.page"
:limit.sync="listQuery.page_size"
@pagination="getList"
/>
</el-card>
</el-col>
</el-row>
<!--<el-card style="margin-top: 10px">
<el-table <el-table
v-loading="listLoading" v-loading="listLoading"
:data=" :data="
@ -82,7 +170,7 @@
:limit.sync="listQuery.page_size" :limit.sync="listQuery.page_size"
@pagination="getList" @pagination="getList"
/> />
</el-card> </el-card>-->
<el-dialog <el-dialog
:visible.sync="dialogVisible" :visible.sync="dialogVisible"
:title="dialogType === 'edit' ? '编辑视频信息' : '新增视频信息'" :title="dialogType === 'edit' ? '编辑视频信息' : '新增视频信息'"
@ -104,13 +192,14 @@
<el-cascader <el-cascader
v-model="VideoContent.category" v-model="VideoContent.category"
:options="typeOptions" :options="typeOptions"
:props="{ emitPath: false }" :props="{ emitPath: false,checkStrictly: true }"
clearable clearable
style="width: 100%" style="width: 100%"
></el-cascader> ></el-cascader>
</el-form-item> </el-form-item>
<el-form-item label="排序"> <el-form-item label="排序">
<el-input-number style="width: 100%;" v-model="VideoContent.sort_str" :step="1" :min="0" step-strictly placeholder="排序"></el-input-number> <el-input v-model="VideoContent.sort_str" placeholder="排序" />
<!--<el-input-number style="width: 100%;" v-model="VideoContent.sort_str" :step="1" :min="0" step-strictly placeholder="排序"></el-input-number>-->
</el-form-item> </el-form-item>
<form ref="vcExample" v-if="dialogType === 'new'"> <form ref="vcExample" v-if="dialogType === 'new'">
<input <input
@ -221,10 +310,10 @@ import {
import Pagination from "@/components/Pagination"; // secondary package based on el-pagination import Pagination from "@/components/Pagination"; // secondary package based on el-pagination
import { getDictList, getDictTypeList } from "@/api/dict"; import { getDictList, getDictTypeList } from "@/api/dict";
import TcVod from "vod-js-sdk-v6"; import TcVod from "vod-js-sdk-v6";
import checkPermission from "@/utils/permission"; import checkPermission from "@/utils/permission";
import { genTree } from "@/utils"; import { genTree } from "@/utils";
import Treeselect from "@riophae/vue-treeselect";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
const defaultVideo = { const defaultVideo = {
name: "", name: "",
description: "", description: "",
@ -234,7 +323,7 @@ const defaultVideo = {
}; };
export default { export default {
components: { Pagination }, components: { Pagination,Treeselect },
data() { data() {
return { return {
@ -268,10 +357,20 @@ export default {
50:'内 审', 51:'管 评',52:'人 员', 53:'设 备', 50:'内 审', 51:'管 评',52:'人 员', 53:'设 备',
54:'方法的验证和确认',55:'测量不确定度', 54:'方法的验证和确认',55:'测量不确定度',
56:'抽 样',57:'安全&风险',58:'管理体系'}, 56:'抽 样',57:'安全&风险',58:'管理体系'},
showTypeOptions:{},
}; };
}, },
computed: {}, computed: {},
created(){
getDictList({ type__code: "data_video" }).then((res) => {
let resData = res.data;
let obj = new Object();
resData.forEach(item=>{
obj[item.id] = item.name;
})
this.showTypeOptions = obj;
});
},
mounted() { mounted() {
let height1 = document.getElementsByClassName('app-main')[0].clientHeight; let height1 = document.getElementsByClassName('app-main')[0].clientHeight;
this.tableHeight = height1-120; this.tableHeight = height1-120;
@ -294,22 +393,32 @@ export default {
//视频类型 //视频类型
getTypeAll() { getTypeAll() {
getDictList({ type__code: "data_video" }).then((res) => { getDictList({ type__code: "data_video" }).then((res) => {
let resData = res.data;
let obj = new Object();
resData.forEach(item=>{
obj[item.id] = item.name;
})
this.showTypeOptions = obj;
this.typeOptions = genTree(res.data); this.typeOptions = genTree(res.data);
}); });
}, },
//筛选 //筛选
filterTag(value, row) { filterTag(value, row) {
debugger;
console.log(value)
console.log(row)
return row.category === value; return row.category === value;
}, },
handleOrgClick(obj, node, vue) {
debugger;
this.listQuery.page = 1;
this.listQuery.category = obj.id;
this.getList();
},
handleFilter(){ handleFilter(){
this.getList(); this.getList();
}, },
resetFilter(){ resetFilter(){
this.listQuery.search = ''; this.listQuery.search = '';
this.listQuery.category = '';
this.getList(); this.getList();
}, },
/*弹出弹窗 */ /*弹出弹窗 */