Commit aac8907b authored by jiaxu.yan's avatar jiaxu.yan

fix: 70583 70569 70568 70566 70578 70570 70558

parent 6f282e40
...@@ -77,6 +77,7 @@ tsno ...@@ -77,6 +77,7 @@ tsno
tuijian tuijian
unmatch unmatch
userinfo userinfo
varibles
vnode vnode
vnodes vnodes
vuedraggable vuedraggable
......
query GetSuiteList($offset: Int = 0, $limit: Int = 20, $search: String = "") { fragment CaseListItem on CaseCustomItemRep {
suiteList: getUserCustomCaseSuiteList( count
list: resultList {
id
serialNumber
name
description: caseDesc
remediation
submitUserName
submitTime
canModify
needDevice: isBind
classifyName
operatingSystemName
riskLevelName
testMethodName
}
}
# 查询用例列表
query GetCaseList(
$suiteId: ID
$offset: Int = 0
$limit: Int = 50
$search: String = ""
) {
caseList: getAllCaseList(
teamId: "team_items;1" teamId: "team_items;1"
search: {offset: {offset: $offset, limit: $limit}, searchField: "name", search: $search} suiteId: $suiteId
offset: { offset: $offset, limit: $limit }
search: {
retrieveData: [{ RetrieveColumn: "allName", RetrieveValue: $search }]
sortData: [{ SortColumn: "serialNumber", SortOrder: ASC }]
}
) { ) {
count ...CaseListItem
list: resultList { }
id }
name
lawType: layType fragment ProjectBasicObject on Project {
style id
descriptionInfo name
canModify description
caseCount status
updateTime }
createTime # 新建文件检测项目
createUser mutation NewFileTestProject(
createUserId $name: String!
$lawId: ID!
$principalUserId: ID!
$systemTypeId: ID!
$systemTypeName: String!
$systemId: ID!
$fileList: [ID!]!
) {
projectMutation: teamProject(id: "team_items;1") {
project: createProject(
input: {
testMethod: File
name: $name
lawId: $lawId
principalUserId: $principalUserId
autoPartsId: $systemTypeId
systemId: $systemId
systemType: $systemTypeName
fileList: $fileList
}
) {
...ProjectBasicObject
} }
} }
} }
...@@ -197,3 +197,15 @@ export function getBySubtaskId(data) { ...@@ -197,3 +197,15 @@ export function getBySubtaskId(data) {
data data
}) })
} }
/**
* 下载pdf
*/
export function pdfDownload(data) {
return request({
url: '/pdf/download',
method: 'post',
data
})
}
...@@ -709,3 +709,11 @@ ...@@ -709,3 +709,11 @@
width: 120px !important; width: 120px !important;
// text-align: center !important; // text-align: center !important;
} }
.passed{
.el-form-item__label{
margin-left: -10px;
}
}
.el-progress{
display: flex;
}
...@@ -168,6 +168,7 @@ export default { ...@@ -168,6 +168,7 @@ export default {
if (res.code === 200) { if (res.code === 200) {
// const Image = process.env.VUE_APP_IMAGE_API + res.url // const Image = process.env.VUE_APP_IMAGE_API + res.url
this.uploadList.push({ name: res.originalFilename, url: res.url }) this.uploadList.push({ name: res.originalFilename, url: res.url })
console.log(this.uploadList);
this.uploadedSuccessfully() this.uploadedSuccessfully()
} else { } else {
this.number-- this.number--
......
...@@ -155,6 +155,7 @@ export default { ...@@ -155,6 +155,7 @@ export default {
watch: { watch: {
fileName(newValue) { fileName(newValue) {
this.model.fileName = newValue this.model.fileName = newValue
this.model.enterpriseName = this.enterpriseName
}, },
'dialogManger.dialogEditId'(newValue) { 'dialogManger.dialogEditId'(newValue) {
this.model.fetch( this.model.fetch(
...@@ -165,9 +166,6 @@ export default { ...@@ -165,9 +166,6 @@ export default {
) )
} }
}, },
mounted() {
this.model.enterpriseName = this.enterpriseName
},
created() { created() {
this.model.taskId = this.$route.query.taskId this.model.taskId = this.$route.query.taskId
}, },
...@@ -201,6 +199,9 @@ export default { ...@@ -201,6 +199,9 @@ export default {
}) })
this.$emit('handleSave', res.data) this.$emit('handleSave', res.data)
this.$modal.msgSuccess('提交文件成功') this.$modal.msgSuccess('提交文件成功')
this.$nextTick(() => {
this.$refs.fileRef.clearValidate()
})
}, },
errors => {} errors => {}
) )
......
...@@ -198,7 +198,7 @@ ...@@ -198,7 +198,7 @@
</div> </div>
</el-form-item> </el-form-item>
<el-form-item <el-form-item
class="right-content-item" class="right-content-item passed"
label="审查结果" label="审查结果"
prop="passed" prop="passed"
> >
...@@ -211,23 +211,33 @@ ...@@ -211,23 +211,33 @@
<el-row> <el-row>
<el-col :span="8"> <el-col :span="8">
<div> <div>
文件名称 <el-form-item
<el-autocomplete prop="fileName"
v-model="form.fileName" label-suffix=" "
style="width: 100%" label="文件名称"
:fetch-suggestions="querySearch" >
placeholder="请输入文件名称" <el-autocomplete
@select="querySelect" v-model="form.fileName"
></el-autocomplete> style="width: 100%"
:fetch-suggestions="querySearch"
placeholder="请输入文件名称"
@select="querySelect"
></el-autocomplete>
</el-form-item>
</div> </div>
</el-col> </el-col>
<el-col :span="8" :offset="1"> <el-col :span="8" :offset="1">
<div> <div>
章节条目或范围 <el-form-item
<el-input prop="catalogue"
v-model="form.catalogue" label-suffix=" "
placeholder="请输入具体章节条目或范围" label="章节条目或范围"
/> >
<el-input
v-model="form.catalogue"
placeholder="请输入具体章节条目或范围"
/>
</el-form-item>
</div> </div>
</el-col> </el-col>
</el-row> </el-row>
...@@ -340,7 +350,19 @@ export default { ...@@ -340,7 +350,19 @@ export default {
checked: false, checked: false,
detailsList: [], detailsList: [],
rules: { rules: {
passed: [{ required: true, message: '请选择审查结果', trigger: 'blur' }] passed: [
{ required: true, message: '请选择审查结果', trigger: 'blur' }
],
fileName: [
{ required: true, message: '请输入文件名称', trigger: 'blur' }
],
catalogue: [
{
required: true,
message: '请输入具体章节条目或范围',
trigger: 'blur'
}
]
}, },
changeTask: [], changeTask: [],
changeTaskDetails: [], changeTaskDetails: [],
......
...@@ -41,6 +41,7 @@ ...@@ -41,6 +41,7 @@
<!-- table部分 --> <!-- table部分 -->
<div class="pdf-box"> <div class="pdf-box">
<iframe <iframe
v-loading="loading"
:src="fileUrl" :src="fileUrl"
frameborder="0" frameborder="0"
style="width: 100%; height: 100%" style="width: 100%; height: 100%"
...@@ -50,7 +51,7 @@ ...@@ -50,7 +51,7 @@
</template> </template>
<script> <script>
import { getTaskById } from '@/api/task/task' import { getTaskById, pdfDownload } from '@/api/task/task'
import routerMixins from '@/mixins/router' import routerMixins from '@/mixins/router'
export default { export default {
mixins: [routerMixins], mixins: [routerMixins],
...@@ -59,14 +60,26 @@ export default { ...@@ -59,14 +60,26 @@ export default {
task: {}, task: {},
taskId: 1, taskId: 1,
view: '', view: '',
fileUrl: fileUrl: '',
'http://storage.xuetangx.com/public_assets/xuetangx/PDF/PlayerAPI_v1.0.6.pdf' loading: false
} }
}, },
async mounted() { async mounted() {
this.loading = true
if (this.$route.query.id) { if (this.$route.query.id) {
this.taskId = this.$route.query.id this.taskId = this.$route.query.id
this.getTaskDetail() await this.getTaskDetail()
pdfDownload({
taskId: this.$route.query.id,
type: 1
}).then(res => {
this.fileUrl =
process.env.VUE_APP_IMAGE_API +
'/vehicle-quality-review-oss/' +
res.data
this.loading = false
})
} }
this.view = this.$route.query.view this.view = this.$route.query.view
}, },
......
...@@ -155,6 +155,7 @@ export default { ...@@ -155,6 +155,7 @@ export default {
watch: { watch: {
fileName(newValue) { fileName(newValue) {
this.model.fileName = newValue this.model.fileName = newValue
this.model.enterpriseName = this.enterpriseName
}, },
'dialogManger.dialogEditId'(newValue) { 'dialogManger.dialogEditId'(newValue) {
this.model.fetch( this.model.fetch(
...@@ -165,9 +166,6 @@ export default { ...@@ -165,9 +166,6 @@ export default {
) )
} }
}, },
mounted() {
this.model.enterpriseName = this.enterpriseName
},
created() { created() {
this.model.taskId = this.$route.query.taskId this.model.taskId = this.$route.query.taskId
}, },
...@@ -201,6 +199,9 @@ export default { ...@@ -201,6 +199,9 @@ export default {
}) })
this.$emit('handleSave', res.data) this.$emit('handleSave', res.data)
this.$modal.msgSuccess('提交文件成功') this.$modal.msgSuccess('提交文件成功')
this.$nextTick(() => {
this.$refs.fileRef.clearValidate()
})
}, },
errors => {} errors => {}
) )
......
...@@ -208,7 +208,7 @@ ...@@ -208,7 +208,7 @@
</div> </div>
</el-form-item> </el-form-item>
<el-form-item <el-form-item
class="right-content-item" class="right-content-item passed"
label="审查结果" label="审查结果"
prop="passed" prop="passed"
> >
...@@ -221,23 +221,33 @@ ...@@ -221,23 +221,33 @@
<el-row> <el-row>
<el-col :span="8"> <el-col :span="8">
<div> <div>
文件名称 <el-form-item
<el-autocomplete prop="fileName"
v-model="form.fileName" label-suffix=" "
style="width: 100%" label="文件名称"
:fetch-suggestions="querySearch" >
placeholder="请输入文件名称" <el-autocomplete
@select="querySelect" v-model="form.fileName"
></el-autocomplete> style="width: 100%"
:fetch-suggestions="querySearch"
placeholder="请输入文件名称"
@select="querySelect"
></el-autocomplete>
</el-form-item>
</div> </div>
</el-col> </el-col>
<el-col :span="8" :offset="1"> <el-col :span="8" :offset="1">
<div> <div>
章节条目或范围 <el-form-item
<el-input prop="catalogue"
v-model="form.catalogue" label-suffix=" "
placeholder="请输入具体章节条目或范围" label="章节条目或范围"
/> >
<el-input
v-model="form.catalogue"
placeholder="请输入具体章节条目或范围"
/>
</el-form-item>
</div> </div>
</el-col> </el-col>
</el-row> </el-row>
...@@ -350,7 +360,19 @@ export default { ...@@ -350,7 +360,19 @@ export default {
checked: false, checked: false,
detailsList: [], detailsList: [],
rules: { rules: {
passed: [{ required: true, message: '请选择审查结果', trigger: 'blur' }] passed: [
{ required: true, message: '请选择审查结果', trigger: 'blur' }
],
fileName: [
{ required: true, message: '请输入文件名称', trigger: 'blur' }
],
catalogue: [
{
required: true,
message: '请输入具体章节条目或范围',
trigger: 'blur'
}
]
}, },
// TODO 删除 // TODO 删除
checkedTwo: false, checkedTwo: false,
......
...@@ -140,7 +140,7 @@ export default { ...@@ -140,7 +140,7 @@ export default {
this.handleClose() this.handleClose()
}, },
errors => { errors => {
this.handleClose() // this.handleClose()
} }
) )
} else { } else {
......
...@@ -8,12 +8,13 @@ ...@@ -8,12 +8,13 @@
style="width: 100%; height: 100%" style="width: 100%; height: 100%"
></iframe ></iframe
>Ï >Ï
<el-button @click="newFileTest">新建任务</el-button>
</div> </div>
</page-standard> </page-standard>
</template> </template>
<script> <script>
import { GetSuiteList } from '@/api/graphql/client.graphql' import { NewFileTestProject } from '@/api/graphql/client.graphql'
export default { export default {
name: 'Index', name: 'Index',
data() { data() {
...@@ -27,11 +28,20 @@ export default { ...@@ -27,11 +28,20 @@ export default {
this.getSuiteList() this.getSuiteList()
}, },
methods: { methods: {
getSuiteList() { newFileTest() {
this.$apollo this.$apollo
.query({ .mutate({
fetchPolicy: 'no-cache', // fetchPolicy: 'no-cache',
query: GetSuiteList mutation: NewFileTestProject,
variables: {
name: 'test106',
lawId: 'law_items;106',
principalUserId: 'user_items;2',
systemTypeId: 'autoParts;1',
systemTypeName: 'Linux',
systemId: 'system;1',
fileList: ['file_management_items;2']
}
}) })
.then(res => { .then(res => {
console.log(res) console.log(res)
......
...@@ -24,7 +24,7 @@ ...@@ -24,7 +24,7 @@
v-for="(item, key) in standardList" v-for="(item, key) in standardList"
:key="key" :key="key"
:value="item.id" :value="item.id"
:label="item.standardNo + item.name" :label="item.standardNo + ' ' + item.name"
></el-option> ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment