清单模板
This commit is contained in:
parent
ba8c71e056
commit
ad395c2649
|
@ -63,6 +63,7 @@
|
|||
</el-table>
|
||||
</el-card>
|
||||
<el-dialog
|
||||
v-if="dialogVisible"
|
||||
:visible.sync="dialogVisible"
|
||||
:title="dialogType === 'edit' ? '编辑资料' : '新增资料'"
|
||||
>
|
||||
|
@ -94,6 +95,21 @@
|
|||
placeholder="详情"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="模板" prop="template">
|
||||
<el-upload
|
||||
ref="upload"
|
||||
:action="upUrl"
|
||||
:on-preview="handlePreview"
|
||||
:on-success="handleUpSuccess"
|
||||
:on-remove="handleRemove"
|
||||
:headers="upHeaders"
|
||||
:file-list="fileList"
|
||||
:limit="1"
|
||||
accept=".doc,.docx,.xls,.xlsx,.ppt,.pptx"
|
||||
>
|
||||
<el-button size="small" type="primary">上传文件</el-button>
|
||||
</el-upload>
|
||||
</el-form-item>
|
||||
<el-form-item label="排序" prop="sort">
|
||||
<el-input-number
|
||||
v-model="Content.sortnum"
|
||||
|
@ -129,16 +145,22 @@ import Pagination from "@/components/Pagination"; // secondary package based on
|
|||
import Treeselect from "@riophae/vue-treeselect";
|
||||
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
|
||||
import { getDictList, getDictTypeList } from "@/api/dict";
|
||||
import { upUrl, upHeaders } from "@/api/file";
|
||||
const defaultContent = {
|
||||
name: "",
|
||||
desc: "",
|
||||
sortnum:1,
|
||||
type: null,
|
||||
can_doself: false,
|
||||
template: null
|
||||
};
|
||||
export default {
|
||||
components: { Pagination, Treeselect },
|
||||
data() {
|
||||
return {
|
||||
upHeaders: upHeaders(),
|
||||
upUrl: upUrl(),
|
||||
fileList:[],
|
||||
Content: defaultContent,
|
||||
contentList: [],
|
||||
typeOptions: [],
|
||||
|
@ -163,6 +185,19 @@ export default {
|
|||
this.getTypeAll();
|
||||
},
|
||||
methods: {
|
||||
handlePreview(file) {
|
||||
if ("url" in file) {
|
||||
window.open(file.url);
|
||||
} else {
|
||||
window.open(file.response.data.path);
|
||||
}
|
||||
},
|
||||
handleUpSuccess(res, file, filelist) {
|
||||
this.Content.template = res.data.path;
|
||||
},
|
||||
handleRemove(file, filelist){
|
||||
this.Content.template = null;
|
||||
},
|
||||
checkPermission,
|
||||
|
||||
filterNode(value, data) {
|
||||
|
@ -193,6 +228,7 @@ export default {
|
|||
this.Content = Object.assign({}, defaultContent);
|
||||
this.dialogType = "new";
|
||||
this.dialogVisible = true;
|
||||
this.fileList=[]
|
||||
this.$nextTick(() => {
|
||||
this.$refs["Form"].clearValidate();
|
||||
});
|
||||
|
@ -201,6 +237,14 @@ export default {
|
|||
this.Content = Object.assign({}, scope.row); // copy obj
|
||||
this.dialogType = "edit";
|
||||
this.dialogVisible = true;
|
||||
if (this.Content.template) {
|
||||
this.fileList = [
|
||||
{
|
||||
name:'清单模板',
|
||||
url: this.Content.template,
|
||||
},
|
||||
];
|
||||
}
|
||||
this.$nextTick(() => {
|
||||
this.$refs["Form"].clearValidate();
|
||||
});
|
||||
|
|
|
@ -15,6 +15,9 @@
|
|||
<el-form-item label="所属任务" v-if="record.task_">
|
||||
{{ record.task_.name }}/{{ record.task_.end_date }}
|
||||
</el-form-item>
|
||||
<el-form-item label="清单模板" v-if="record.content_.template">
|
||||
<el-link :href="record.content_.template" type="primary">模板下载</el-link>
|
||||
</el-form-item>
|
||||
<el-form-item label="报送要求/备注" v-if="record.task_">
|
||||
<span v-if="data.action != 'update'">{{
|
||||
record.note
|
||||
|
|
|
@ -25,7 +25,7 @@ class ContentSerializer(serializers.ModelSerializer):
|
|||
class ContentListSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = Content
|
||||
fields = ['name', 'desc', 'id']
|
||||
fields = ['name', 'desc', 'id', 'template']
|
||||
|
||||
class TaskCreateUpdateSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
|
@ -38,6 +38,7 @@ class TaskListSerializer(serializers.ModelSerializer):
|
|||
fields = ['name', 'end_date', 'note', 'state', 'id']
|
||||
|
||||
class RecordSerializer(serializers.ModelSerializer):
|
||||
content_ = ContentListSerializer(source='content', read_only=True)
|
||||
task_ = TaskListSerializer(source='task', read_only=True)
|
||||
belong_dept_ = OrganizationSimpleSerializer(source='belong_dept', read_only=True)
|
||||
files_ = FileSimpleSerializer(source='files', many=True, read_only=True)
|
||||
|
|
|
@ -307,7 +307,7 @@ class UserViewSet(PageOrNot, ModelViewSet):
|
|||
'id': user.id,
|
||||
'username': user.username,
|
||||
'name': user.name,
|
||||
'dept': user.dept.pk,
|
||||
'dept': user.dept.pk if user.dept else '',
|
||||
'dept_name':user.dept.name if user.dept else '',
|
||||
'roles': user.roles.all().values_list('name', flat=True),
|
||||
# 'avatar': request._request._current_scheme_host + '/media/' + str(user.image),
|
||||
|
|
Loading…
Reference in New Issue